diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md deleted file mode 100644 index 1934b2e8de..0000000000 --- a/.github/copilot-instructions.md +++ /dev/null @@ -1,243 +0,0 @@ ---- -applyTo: "keyboards/**" -excludeAgent: - - "coding-agent" ---- -# GitHub Copilot Instructions for QMK Pull Request Review -This document provides automated review guidance based on the [QMK PR Checklist](https://docs.qmk.fm/pr_checklist) and it is intended only for use by GitHub Copilot code-review agent during pull request reviews. - -> **Scope**: This review applies **only to changes within the `keyboards/` folder**. Changes outside `keyboards/` (e.g., core code, quantum, platforms, drivers) must be flagged and deferred to a QMK Collaborator — do not review them. - -## General PR Requirements - -### Branch and Submission Standards -- **Source Branch Policy**: Verify PR is NOT submitted from submitter's own `master` branch - - Flag if submitter is using their own `master` branch as source - - Suggest using feature branches instead for cleaner fork management -- **Target Branch Policy**: - - **New keyboard additions** → `master` branch (new folders under `keyboards/`) - - **All other changes** → `develop` branch: - - Keyboard updates, refactors, or moves - - Core code changes - - Data-driven configuration migrations - - Any modifications to existing keyboards -- **PR Scope**: PRs should contain the smallest set of modifications for a single change - - Flag PRs that modify multiple keyboards simultaneously - - Suggest splitting large PRs into focused, incremental changes -- **Merge Conflicts**: Check for unresolved merge conflicts - -### File Naming and Structure -- **Lowercase Requirement**: All new directories and filenames must be lowercase - - Exception: Upstream sources with original uppercase (LUFA, ChibiOS) - - Exception: Core files with valid justification - - **Reject**: Board designer preference for uppercase is NOT valid justification - -### License Headers -- **Required**: Valid license headers on all `*.c` and `*.h` files -- **Recommended**: GPL2/GPL3 for consistency -- **Format**: Check for proper GPL2+ header or SPDX identifier - ```c - // Copyright 2024 Your Name (@yourgithub) - // SPDX-License-Identifier: GPL-2.0-or-later - ``` -- **Exception**: Simple assignment-only `rules.mk` files don't need headers -- **Flag**: Missing or ambiguous license headers (blocks merge) - ---- - -## Keymap PR Reviews - -**Scope**: These rules apply to files within `keyboards/*/keymaps/*` subdirectories. - -### Note on Non-Default Keymaps -- Any keymap folder named something other than `default` (e.g., `default_clueboard`, `via`) is a non-default keymap -- **Do not review the content** of non-default keymaps — flag their presence and note that a QMK Collaborator must review them - -### Keymap Code Standards -- **Includes**: `#include QMK_KEYBOARD_H` preferred over specific board files -- **Enums**: Suggest using layer enums instead of `#define`s for layers (soft suggestion only) -- **Custom Keycodes**: First entry must be `QK_USER` -- **VIA**: Keymaps should NOT enable VIA - - VIA keymaps belong in [VIA QMK Userspace](https://github.com/the-via/qmk_userspace_via) - ---- - -## Keyboard PR Reviews - -**Scope**: These rules apply to keyboard-level files in `keyboards/*` directories, excluding files within the `keymaps/` subdirectories. This includes: -- `info.json` or `keyboard.json` (keyboard root or variant level) -- `readme.md` (keyboard level) -- `rules.mk` (keyboard level) -- `config.h` (keyboard level, not keymap level) -- `.c` and `.h` files -- Hardware configuration files (`halconf.h`, `mcuconf.h`, `chconf.h`) - -### Branch Targeting -- **New Keyboards**: Target `master` branch - - New additions to `keyboards/` folder submit to `master` -- **Keyboard Moves**: Must target `develop` branch - - Check `data/mappings/keyboard_aliases.hjson` is updated for moves -- **Keyboard Updates/Refactors**: Must target `develop` to reduce merge conflicts -- **Data Driven Migration**: Must target `develop` - -### info.json and keyboard.json Requirements -- **Schema Validation**: Verify that `info.json` and `keyboard.json` files are valid JSON (no syntax errors, no trailing commas, properly closed brackets) -- **Mandatory Elements**: - - `url` field is present and begins with `http://` or `https://` - - `maintainer` field is present and non-empty - - `usb.vid` and `usb.pid` fields are present and match the `0x` hexadecimal format (e.g. `"vid": "0x1234"`, `"pid": "0xFEED"`) - - `usb.device_version` field is present - - Each key entry in every `layout` array must include a `"matrix"` property (e.g. `{"label": "L01", "matrix": [0, 0], "x": 0, "y": 0}`) - - Microcontroller and bootloader specified - - Diode direction (if not using direct pins) -- **Layout Naming**: - - Single layout: Must be named `LAYOUT` or match `LAYOUT_*` pattern - - Multiple layouts: Must include `LAYOUT_all` plus at least one alternate name - -### readme.md Requirements -- **Template**: Must follow [official template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md) -- **Flash Command**: Present with `:flash` at end -- **Hardware Link**: Valid availability link (unless handwired) - - Private groupbuys acceptable - - Open-source should link to files -- **Reset Instructions**: Bootloader reset instructions must be present (non-empty) -- **Images**: A keyboard image is preferred but not mandatory - - If present, images must not be hosted in the repository - - If an imgur URL is used, it must link directly to the image (i.e. `https://i.imgur.com/.`), not the preview page (i.e. not `https://imgur.com/`) - -### rules.mk Standards -- **Removed Items**: - - Size comments like `(-/+size)` - -### config.h Standards (Keyboard Level) -- **Prohibited**: - - `#define DESCRIPTION` - - Comment blocks explaining features - - Commented-out unused defines - - `#include "config_common.h"` -- **No Vial**: Vial-related files/changes not accepted - -### Keyboard Implementation Files - -#### `.c` -- **Advanced Code Flag**: ⚠️ If a `.c` file is present in the PR, flag it as possible advanced code requiring QMK Collaborator review - -#### `.h` -- **Include**: `#include "quantum.h"` at top -- **Layout Macros**: If `LAYOUT` macros are present, suggest moving them to `info.json` or `keyboard.json` - -### Default Keymap Standards - -**Scope**: These rules specifically apply to files within `keyboards/*/keymaps/default/` directories. - -- **Pristine Requirement**: Bare minimum clean slate - - ⚠️ If `keymap.c` contains anything beyond the `keymaps[]` array, or if the `default` keymap folder contains additional `.c` or `.h` files, flag this as possible advanced code requiring QMK Collaborator review -- **Removed Examples**: Delete `QMKBEST`/`QMKURL` macros -- **Tri Layer**: Use Tri Layer feature instead of manual `layer_on/off()` + `update_tri_layer()` -- **Encoder Map**: Use encoder map feature, `encoder_update_user()` may not be present -- **No VIA**: Default keymap should not enable VIA - -### Prohibited Files -- **No VIA JSON**: Belongs in [VIA Keyboard Repo](https://github.com/the-via/keyboards) -- **No KLE JSON**: Not used within QMK -- **Single Keyboard Per PR**: A PR must not modify more than one `keyboards//` directory - - Flag PRs that touch multiple top-level keyboard folders (e.g., both `keyboards/mykeyboard1/` and `keyboards/mykeyboard2/`) — each keyboard must be a separate PR -- **No Cross-Keyboard Sources**: Don't include files from other keyboard vendors - - Exception: Core files (e.g., `drivers/sensors/pmw3360.c`) - - Use of vendor-specific code (e.g., `wilba_tech/wt_main.c`) only when keyboard exists in the same enclosing vendor folder (e.g. a `wilba_tech` keyboard) - ---- - -## Review Response Templates - -### For source master branch usage: -``` -⚠️ This PR appears to be submitted from your own `master` branch. For future PRs, we recommend using feature branches instead of committing to your `master`. This makes it easier to keep your fork updated and manage multiple PRs. - -See: [Best Practices: Your Fork's Master](https://docs.qmk.fm/newbs_git_using_your_master_branch) -``` - -### For incorrect target branch: -``` -❌ This PR targets the wrong branch: -- **New keyboard additions** should target `master` -- **Keyboard updates/refactors/moves** should target `develop` - -Please change the target branch accordingly. -``` - -### For missing license headers: -``` -❌ Missing GPL-compatible license headers on the following files: -- [list files] - -Please add GPL2+ headers (GPL2/GPL3 recommended). Example: -\`\`\`c -// Copyright 2024 Your Name (@yourgithub) -// SPDX-License-Identifier: GPL-2.0-or-later -\`\`\` -``` - -### For non-lowercase filenames: -``` -❌ The following files/directories must be lowercase: -- [list files] - -Exception: Only valid if from upstream sources (LUFA, ChibiOS) or justified by core consistency. -``` - -### For config.h violations: -``` -⚠️ Found prohibited config.h elements: -- [list specific issues: `#define DESCRIPTION`, `#include "config_common.h"`, comment blocks, commented-out defines] - -Please remove these and refer to [Data Driven Configuration](https://docs.qmk.fm/data_driven_config). -``` - -### For info.json or keyboard.json issues: -``` -⚠️ info.json or keyboard.json needs attention: -- [list missing mandatory fields] -- Please run: \`qmk format-json -i path/to/info.json\` (or keyboard.json) -- Validate with: \`qmk lint -kb \` -``` - -### For non-pristine default keymap: -``` -⚠️ Default keymap requires collaborator review: -The default `keymap.c` contains code beyond the `keymaps[]` array. The following was detected: -- [describe: extra functions/definitions in keymap.c, or additional .c/.h files in the default keymap folder] - -A QMK Collaborator must review this before merging. -``` - -### For non-default keymaps: -``` -⚠️ Non-default keymap detected: `keyboards/[path]/keymaps/[name]/` - -This keymap requires a QMK Collaborator to review its content. No automated review of its code was performed. -``` - -### For `.c` detected: -``` -⚠️ `.c` file detected: `keyboards/[path]/[keyboard].c` - -This file may contain advanced hardware configuration. A QMK Collaborator must review this before merging. -``` - ---- - -## Constraints and Conduct - -- **Scope**: Only review changes within the `keyboards/` folder. Flag any changes outside `keyboards/` and defer to a QMK Collaborator without reviewing them. -- Focus reviews on **objective checklist items** that can be automatically verified -- Flag **definite violations** with ❌ -- Suggest improvements for **recommendations** with ⚠️ -- **Provide specific file/line references** when flagging issues -- **Link to relevant QMK documentation** for each issue -- **Prioritize blocking issues** (license, merge conflicts, branch policy) -- **Be constructive**: Suggest fixes, not just problems -- **Do not review non-default keymaps** — flag their presence and defer to a QMK Collaborator -- **Do not review `.c` content in detail** — flag its presence and defer to a QMK Collaborator - -This is meant as a **first-pass review** to catch common issues before human review. Complex architectural decisions, code quality, and subjective assessments still require human QMK Collaborator review. diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index fc22217d2e..cdf6349878 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -25,7 +25,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 with: fetch-depth: 1 persist-credentials: false diff --git a/.github/workflows/auto_approve.yml b/.github/workflows/auto_approve.yml index a68d7c63ed..d526db397c 100644 --- a/.github/workflows/auto_approve.yml +++ b/.github/workflows/auto_approve.yml @@ -4,7 +4,7 @@ permissions: {} on: schedule: - - cron: "*/30 * * * *" + - cron: "*/5 * * * *" jobs: automatic_approve: diff --git a/.github/workflows/auto_tag.yml b/.github/workflows/auto_tag.yml index 25acdc6147..a2c6a104a8 100644 --- a/.github/workflows/auto_tag.yml +++ b/.github/workflows/auto_tag.yml @@ -28,7 +28,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 with: fetch-depth: 0 diff --git a/.github/workflows/bootstrap_testing.yml b/.github/workflows/bootstrap_testing.yml deleted file mode 100644 index 76aa29e83f..0000000000 --- a/.github/workflows/bootstrap_testing.yml +++ /dev/null @@ -1,289 +0,0 @@ -name: Bootstrap Script Testing - -on: - push: - branches: [master, develop, xap] - paths: - - 'util/env-bootstrap.sh' - - '.github/workflows/bootstrap_testing.yml' - pull_request: - paths: - - 'util/env-bootstrap.sh' - - '.github/workflows/bootstrap_testing.yml' - workflow_dispatch: - -permissions: - contents: read - -jobs: - prep: - runs-on: ubuntu-latest - - outputs: - any_changed: ${{ steps.file_changes.outputs.any_changed }} - - steps: - - name: Get changed files - id: file_changes - if: ${{ github.event_name == 'pull_request' }} - uses: tj-actions/changed-files@v47 - with: - use_rest_api: true - files: | - util/env-bootstrap.sh - .github/workflows/bootstrap_testing.yml - - bootstrap-test-linux: - name: Bootstrap (Linux) - - needs: prep - if: ${{ github.event_name != 'pull_request' || needs.prep.outputs.any_changed == 'true' }} - - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - distribution: - # Ubuntu/Debian based - - debian:11 - - debian:12 - - debian:13 - - ubuntu:22.04 - - ubuntu:24.04 - - ubuntu:26.04 - - # RHEL/CentOS/Fedora based - - fedora:42 - - fedora:43 - - fedora:44 - - rockylinux:8 - - rockylinux:9 - - rockylinux/rockylinux:10 - - almalinux:8 - - almalinux:9 - - almalinux:10 - - # OpenSUSE based (we skip Tumbleweed as it has issues with package mirrors regularly being out of date) - - opensuse/leap:latest - - # Gentoo-based - - gentoo/stage3:latest - - # Arch based - - archlinux:latest - - cachyos/cachyos:latest - - manjarolinux/base:latest - - container: - image: ${{ matrix.distribution }} - options: --privileged - - steps: - - name: Install base dependencies - run: | - # Attempt to run the package installation up to 10 times to mitigate transient network issues - for n in $(seq 1 10); do - { - echo "Attempt #$n of 10 to install base dependencies:" - case "${{ matrix.distribution }}" in - *ubuntu*|*debian*) - apt-get update - apt-get install -y sudo git passwd - ;; - *fedora*|*rockylinux*|*almalinux*) - dnf install -y sudo git passwd findutils # findutils=xargs - ;; - *suse*) - zypper --non-interactive refresh - zypper --non-interactive install sudo git shadow findutils tar # findutils=xargs - ;; - *gentoo*) - emaint sync - emerge --noreplace --ask=n sudo dev-vcs/git shadow findutils # findutils=xargs - ;; - *archlinux*|*cachyos*|*manjaro*) - pacman -Syu --noconfirm - pacman -S --noconfirm sudo git - ;; - esac - } && break || sleep 10 - done - - # Fix PAM configuration for sudo in containers - # Fix /etc/shadow permissions - common issue in container environments - chmod 640 /etc/shadow || chmod 400 /etc/shadow || true - - # Disable problematic PAM modules that commonly fail in RHEL-like containers - sed -i 's/^session.*pam_systemd.so/#&/' /etc/pam.d/sudo || true - sed -i 's/^session.*pam_loginuid.so/#&/' /etc/pam.d/sudo || true - - # Ensure proper sudoers configuration - echo 'Defaults !requiretty' >> /etc/sudoers - echo 'Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"' >> /etc/sudoers - - - name: Checkout repository - uses: actions/checkout@v7 - with: - fetch-depth: 1 - submodules: recursive - path: qmk_firmware - - - name: Create test user - run: | - # Create a test user for the bootstrap script - useradd -m -s /bin/bash -U testuser - echo 'testuser:testpassword' | chpasswd || true - - # Configure passwordless sudo - echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # some distros complain about root not being in sudoers - echo "testuser ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers - - # Test sudo functionality - sudo -u testuser whoami || echo "Sudo test failed, but continuing..." - - - name: Move QMK repository to test user home - run: | - # Add upstream remote to the cloned repository so `qmk doctor` doesn't flag a warning - git -C qmk_firmware remote add upstream https://github.com/qmk/qmk_firmware.git - # Move the QMK repository to the test user's home directory - mv qmk_firmware /home/testuser/qmk_firmware - chown -R testuser:testuser /home/testuser/qmk_firmware - - - name: Run bootstrap script - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - # Ensure the bootstrap script can access sudo - sudo -u testuser --preserve-env=GITHUB_TOKEN bash -c " - export CONFIRM=1 - export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - cd /home/testuser - bash /home/testuser/qmk_firmware/util/env-bootstrap.sh - " - - - name: Install dependencies - run: | - sudo -u testuser bash -c " - /home/testuser/.local/share/uv/tools/qmk/bin/python -m pip install -r /home/testuser/qmk_firmware/requirements.txt - " - - - name: Test QMK CLI - run: | - sudo -u testuser bash -c " - export PATH=/home/testuser/.local/bin:\$PATH - cd /home/testuser - qmk setup -y -H /home/testuser/qmk_firmware # setup implies doctor, no need to run it separately - cd /home/testuser/qmk_firmware - qmk mass-compile -j $(nproc) -e DUMP_CI_METADATA=yes -f 'keyboard_name==*onekey*' -km reset -p || touch .failed # Compile a bunch of different platforms - " - - cd /home/testuser/qmk_firmware - ./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true - [ ! -e .failed ] || exit 1 - - bootstrap-test-macos: - name: Bootstrap (macOS) - - needs: prep - if: ${{ github.event_name != 'pull_request' || needs.prep.outputs.any_changed == 'true' }} - - strategy: - fail-fast: false - matrix: - os: - - macos-14 # Apple Silicon ARM64 - - macos-15 # Apple Silicon ARM64 - - macos-15-intel # Intel x64 - - macos-26 # Apple Silicon ARM64 - - runs-on: ${{ matrix.os }} - - steps: - - name: Checkout repository - uses: actions/checkout@v7 - with: - fetch-depth: 1 - submodules: recursive - - - name: Run bootstrap script - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - # Add upstream remote to the cloned repository so `qmk doctor` doesn't flag a warning - git remote add upstream https://github.com/qmk/qmk_firmware.git - # Run the bootstrap script - export CONFIRM=1 - sh ./util/env-bootstrap.sh - - - name: Install dependencies - run: | - $HOME/.local/share/uv/tools/qmk/bin/python -m pip install -r requirements.txt - - - name: Test QMK CLI - run: | - # Add QMK CLI to PATH (bootstrap script installs it to ~/.local/bin on macOS) - export PATH="$HOME/.local/bin:$PATH" - qmk setup -y -H . # setup implies doctor, no need to run it separately - qmk mass-compile -j $(sysctl -n hw.ncpu) -e DUMP_CI_METADATA=yes -f 'keyboard_name==*onekey*' -km reset || touch .failed # Compile a bunch of different platforms - - ./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true - [ ! -e .failed ] || exit 1 - - bootstrap-test-windows: - name: Bootstrap (Windows) - - needs: prep - if: ${{ github.event_name != 'pull_request' || needs.prep.outputs.any_changed == 'true' }} - - strategy: - fail-fast: false - matrix: - msys-variant: - - mingw64 - - clang64 - - ucrt64 - - runs-on: windows-latest - defaults: - run: - shell: msys2 {0} - - steps: - - name: Install MSYS2 - uses: msys2/setup-msys2@v2 - with: - msystem: ${{ matrix.msys-variant }} - pacboy: >- - git: - - - name: Checkout repository - uses: actions/checkout@v7 - with: - fetch-depth: 1 - submodules: recursive - - - name: Run bootstrap script - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - # Add upstream remote to the cloned repository so `qmk doctor` doesn't flag a warning - git remote add upstream https://github.com/qmk/qmk_firmware.git - # Run the bootstrap script - export CONFIRM=1 - sh ./util/env-bootstrap.sh - - - name: Install dependencies - run: | - /opt/uv/tools/qmk/Scripts/python -m pip install -r requirements.txt - - - name: Test QMK CLI - run: | - # Add QMK CLI to PATH (bootstrap script installs it to /opt/uv/tools/bin on Windows MSYS2) - export PATH="/opt/uv/tools/bin:$PATH" - qmk setup -y -H . # setup implies doctor, no need to run it separately - qmk mass-compile -j $(nproc) -e DUMP_CI_METADATA=yes -f 'keyboard_name==*onekey*' -km reset || touch .failed # Compile a bunch of different platforms - - ./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true - [ ! -e .failed ] || exit 1 - diff --git a/.github/workflows/ci_build_major_branch.yml b/.github/workflows/ci_build_major_branch.yml index 7a287c0f6b..6cefd58901 100644 --- a/.github/workflows/ci_build_major_branch.yml +++ b/.github/workflows/ci_build_major_branch.yml @@ -32,36 +32,29 @@ jobs: container: ghcr.io/qmk/qmk_cli outputs: - keymaps: ${{ steps.generate_slice_length.outputs.keymaps }} slice_length: ${{ steps.generate_slice_length.outputs.slice_length }} steps: + - name: Install prerequisites + run: | + apt-get update + apt-get install -y jq + - name: Disable safe.directory check run: | git config --global --add safe.directory '*' - name: Checkout QMK Firmware - uses: actions/checkout@v7 - - - name: Install dependencies - run: pip3 install -r requirements-dev.txt + uses: actions/checkout@v5 - name: Determine concurrency id: generate_slice_length - shell: 'bash {0}' run: | - targets=() - target_count=0 - for target in "default" "xap"; do - count=$(qmk find -km $target 2>/dev/null | wc -l) - if [ $count -gt 0 ]; then - target_count=$(($target_count + $count)) - targets+=($target) - fi - done - keymaps=$(jq -c -n '$ARGS.positional' --args "${targets[@]}") + target_count=$( { + qmk find -km default 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 - echo "keymaps=$keymaps" >> $GITHUB_OUTPUT echo "slice_length=$slice_length" >> $GITHUB_OUTPUT build_targets: @@ -70,7 +63,7 @@ jobs: strategy: fail-fast: false matrix: - keymap: ${{ fromJson(needs.determine_concurrency.outputs.keymaps) }} + keymap: [default, xap] uses: ./.github/workflows/ci_build_major_branch_keymap.yml with: branch: ${{ inputs.branch || github.ref_name }} @@ -89,12 +82,12 @@ jobs: git config --global --add safe.directory '*' - name: Checkout QMK Firmware - uses: actions/checkout@v7 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Download firmwares - uses: actions/download-artifact@v8 + uses: actions/download-artifact@v6 with: pattern: firmware-* path: . @@ -132,7 +125,14 @@ jobs: 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: ./.failed + - name: Fail build if needed + if: steps.check_failure_marker.outputs.files_exists == 'true' run: | # Exit with failure if the compilation stage failed - [ ! -e .failed ] || exit 1 + exit 1 diff --git a/.github/workflows/ci_build_major_branch_keymap.yml b/.github/workflows/ci_build_major_branch_keymap.yml index 2beebc604c..f5533cf07a 100644 --- a/.github/workflows/ci_build_major_branch_keymap.yml +++ b/.github/workflows/ci_build_major_branch_keymap.yml @@ -27,29 +27,30 @@ jobs: targets: ${{ steps.generate_targets.outputs.targets }} steps: + - name: Install prerequisites + run: | + apt-get update + apt-get install -y jq + - name: Disable safe.directory check run: | git config --global --add safe.directory '*' - name: Checkout QMK Firmware - uses: actions/checkout@v7 - - - name: Install dependencies - run: pip3 install -r requirements-dev.txt + uses: actions/checkout@v5 - name: Generate build targets - shell: 'bash {0}' id: generate_targets run: | { # Intentionally use `shuf` here so that we share manufacturers across all build groups -- some have a lot of ARM-based boards which inherently take longer counter=0 echo -n '{' - qmk find -km ${{ inputs.keymap }} 2>/dev/null | sort | uniq | shuf --random-source=<(openssl enc -aes-256-ctr -pass pass:qmk -nosalt /dev/null) | xargs -L${{ inputs.slice_length }} | while IFS=$'\n' read target ; do + qmk find -km ${{ inputs.keymap }} 2>/dev/null | sort | uniq | shuf | xargs -L${{ inputs.slice_length }} | while IFS=$'\n' read target ; do if [ $counter -gt 0 ]; then echo -n ',' fi counter=$((counter+1)) - printf "\"group-%02d\":{" $counter + printf "\"group %02d\":{" $counter echo -n '"targets":"' echo $target | tr ' ' '\n' | sort | uniq | xargs echo -n echo -n '"}' @@ -61,7 +62,7 @@ jobs: echo "targets=$(jq -c 'keys' targets.json)" >> $GITHUB_OUTPUT - name: Upload targets json - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@v5 with: name: targets-${{ inputs.keymap }} path: targets.json @@ -73,76 +74,45 @@ jobs: container: ghcr.io/qmk/qmk_cli continue-on-error: true - env: - CCACHE_CONFIGPATH: ~/.cache - strategy: matrix: target: ${{ fromJson(needs.generate_targets.outputs.targets) }} steps: + - name: Install prerequisites + run: | + apt-get update + apt-get install -y jq + - name: Disable safe.directory check run: | git config --global --add safe.directory '*' - name: Checkout QMK Firmware - uses: actions/checkout@v7 - with: - submodules: recursive - - - name: Install dependencies - run: pip3 install -r requirements-dev.txt + uses: actions/checkout@v5 - name: Get target definitions - uses: actions/download-artifact@v8 + uses: actions/download-artifact@v6 with: name: targets-${{ inputs.keymap }} path: . + - name: Deploy submodules + run: | + qmk git-submodule -f + - name: Dump targets run: | jq -r '.["${{ matrix.target }}"].targets' targets.json | tr ' ' '\n' | sort - - name: Restore Cache - id: cache - uses: actions/cache/restore@v6 - with: - path: ${{ env.CCACHE_CONFIGPATH }} - key: compile-${{ inputs.keymap }}-${{ matrix.target }} - - name: Build targets continue-on-error: true run: | - targets=$(jq -r '.["${{ matrix.target }}"].targets' targets.json | tr ' ' '\n' | sort) - if [ -z "${targets}" ]; then - echo "Zero build targets detected" - exit 0 - fi - qmk mass-compile -t -j $(nproc) -e DUMP_CI_METADATA=yes -e USE_CCACHE=yes $targets || touch .failed - - - name: Dump ccache stats - run: | - ccache -s - - # Delete the old cache on hit to emulate a cache update. See https://github.com/actions/cache/issues/342. - - name: Delete old cache - env: - GH_TOKEN: ${{ github.token }} - if: steps.cache.outputs.cache-hit - run: | - count=$(gh cache list --ref ${{ github.ref }} --key ${{ steps.cache.outputs.cache-primary-key }} --json id | jq length) - if [ $count -gt 0 ]; then - gh cache delete --ref ${{ github.ref }} ${{ steps.cache.outputs.cache-primary-key }} - fi - - - name: Save Cache - uses: actions/cache/save@v6 - with: - path: ${{ env.CCACHE_CONFIGPATH }} - key: compile-${{ inputs.keymap }}-${{ matrix.target }} + export NCPUS=$(( $(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -1 )) + qmk mass-compile -t -j $NCPUS -e DUMP_CI_METADATA=yes $(jq -r '.["${{ matrix.target }}"].targets' targets.json) || touch .failed - name: Upload binaries - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@v5 with: name: firmware-${{ inputs.keymap }}-${{ matrix.target }} if-no-files-found: ignore @@ -166,17 +136,17 @@ jobs: steps: - name: Checkout QMK Firmware - uses: actions/checkout@v7 + uses: actions/checkout@v5 - name: Download firmwares - uses: actions/download-artifact@v8 + uses: actions/download-artifact@v6 with: pattern: firmware-${{ inputs.keymap }}-* path: . merge-multiple: true - name: Upload all firmwares - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@v5 with: name: firmware-${{ inputs.keymap }} if-no-files-found: ignore @@ -195,7 +165,7 @@ jobs: truncate --size='<960K' $GITHUB_STEP_SUMMARY || true - name: Delete temporary build artifacts - uses: geekyeggo/delete-artifact@v6 + uses: geekyeggo/delete-artifact@v5 with: name: | firmware-${{ inputs.keymap }}-* diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 8e68113fb9..fc24c6b366 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -24,12 +24,11 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 with: submodules: recursive - name: Install dependencies run: pip3 install -r requirements-dev.txt - - name: Run tests run: qmk pytest diff --git a/.github/workflows/develop_docs.yml b/.github/workflows/develop_docs.yml deleted file mode 100644 index c1091ccbc2..0000000000 --- a/.github/workflows/develop_docs.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Generate Develop Docs - -permissions: - contents: write - -on: - push: - branches: - - develop - paths: - - 'builddefs/docsgen/**' - - 'tmk_core/**' - - 'quantum/**' - - 'platforms/**' - - 'docs/**' - - '.github/workflows/docs.yml' - -jobs: - generate: - runs-on: ubuntu-latest - - steps: - - name: Deploy Develop - if: ${{ github.repository == 'qmk/qmk_firmware' }} - uses: actions/github-script@v9 - with: - github-token: ${{ secrets.QMK_BOT_TOKEN }} - script: | - const result = await github.rest.actions.createWorkflowDispatch({ - owner: 'qmk', - repo: 'qmk_docs_devel', - workflow_id: 'develop.yml', - ref: 'main', - }) diff --git a/.github/workflows/develop_update.yml b/.github/workflows/develop_update.yml index f13f2f9467..5c046b8f64 100644 --- a/.github/workflows/develop_update.yml +++ b/.github/workflows/develop_update.yml @@ -15,7 +15,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 with: token: ${{ secrets.QMK_BOT_TOKEN }} fetch-depth: 0 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index fdf6612eb5..fe5d6027e2 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -30,15 +30,14 @@ jobs: container: ghcr.io/qmk/qmk_cli steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 with: fetch-depth: 1 - name: Install dependencies - run: pip3 install -r requirements-dev.txt - - - name: Install nvm run: | + apt-get update && apt-get install -y rsync doxygen + # install nvm touch $HOME/.bashrc wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash @@ -57,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.9.0 + uses: JamesIves/github-pages-deploy-action@v4.7.4 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages diff --git a/.github/workflows/feature_branch_update.yml b/.github/workflows/feature_branch_update.yml index 78a32d7607..fc33f883a8 100644 --- a/.github/workflows/feature_branch_update.yml +++ b/.github/workflows/feature_branch_update.yml @@ -21,7 +21,7 @@ jobs: - riot steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 with: token: ${{ secrets.QMK_BOT_TOKEN }} fetch-depth: 0 diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 1fd93f3138..be6617e2b2 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -26,7 +26,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 with: fetch-depth: 0 diff --git a/.github/workflows/format_push.yml b/.github/workflows/format_push.yml index 2a6b5d7408..74a42669d6 100644 --- a/.github/workflows/format_push.yml +++ b/.github/workflows/format_push.yml @@ -19,7 +19,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 with: fetch-depth: 0 @@ -47,7 +47,7 @@ jobs: git config user.email 'hello@qmk.fm' - name: Create Pull Request - uses: peter-evans/create-pull-request@v8 + uses: peter-evans/create-pull-request@v7 if: ${{ github.repository == 'qmk/qmk_firmware'}} with: token: ${{ secrets.QMK_BOT_TOKEN }} diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index f442bf3f71..0e9f29908e 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -10,4 +10,4 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@v7 + - uses: actions/labeler@v6 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 317c8cabeb..7d4ff0a977 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -18,7 +18,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 with: fetch-depth: 0 @@ -31,7 +31,7 @@ jobs: with: use_rest_api: true - - name: Print git info + - name: Print info run: | git rev-parse --short HEAD echo ${{ github.event.pull_request.base.sha }} @@ -57,7 +57,7 @@ jobs: if [[ $KEYMAP_ONLY -gt 0 ]]; then echo "linting ${KB}" - qmk lint --strict --keyboard ${KB} && qmk info -l --keyboard ${KB} + qmk lint --keyboard ${KB} && qmk info -l --keyboard ${KB} exit_code=$(($exit_code + $?)) fi done @@ -78,21 +78,10 @@ jobs: fi exit $exit_code - - name: Reset git repo + - name: Verify keyboard aliases if: always() shell: 'bash {0}' run: | git reset --hard git clean -xfd - - - name: Verify keyboard targets - if: always() - shell: 'bash {0}' - run: | - qmk ci-validate-keyboard-targets - - - name: Verify keyboard aliases - if: always() - shell: 'bash {0}' - run: | qmk ci-validate-aliases diff --git a/.github/workflows/regen.yml b/.github/workflows/regen.yml index edc8a7e319..06759102cc 100644 --- a/.github/workflows/regen.yml +++ b/.github/workflows/regen.yml @@ -8,9 +8,6 @@ on: paths: - 'data/constants/**' - 'lib/python/**' - - 'quantum/rgblight/rgblight_breathe_table.h' - - 'quantum/keycodes.h' - - 'quantum/keymap_extras/**' jobs: regen: @@ -22,10 +19,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v7 - - - name: Install dependencies - run: pip3 install -r requirements-dev.txt + - uses: actions/checkout@v5 - name: Run qmk generators run: | diff --git a/.github/workflows/regen_push.yml b/.github/workflows/regen_push.yml index a638aa545d..4798e86c59 100644 --- a/.github/workflows/regen_push.yml +++ b/.github/workflows/regen_push.yml @@ -19,10 +19,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v7 - - - name: Install dependencies - run: pip3 install -r requirements-dev.txt + - uses: actions/checkout@v5 - name: Run qmk generators run: | @@ -37,7 +34,7 @@ jobs: git config user.email 'hello@qmk.fm' - name: Create Pull Request - uses: peter-evans/create-pull-request@v8 + uses: peter-evans/create-pull-request@v7 if: ${{ github.repository == 'qmk/qmk_firmware'}} with: token: ${{ secrets.QMK_BOT_TOKEN }} diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index a06d38d825..7ab9969242 100644 --- a/.github/workflows/unit_test.yml +++ b/.github/workflows/unit_test.yml @@ -11,7 +11,6 @@ on: pull_request: paths: - 'builddefs/**' - - '!builddefs/docsgen/**' - 'quantum/**' - 'platforms/**' - 'tmk_core/**' @@ -27,12 +26,10 @@ jobs: container: ghcr.io/qmk/qmk_cli steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v5 with: submodules: recursive - - name: Install dependencies run: pip3 install -r requirements-dev.txt - - name: Run tests - run: qmk test-c -j $(nproc) + run: qmk test-c diff --git a/.gitignore b/.gitignore index e9aaf0b27b..6ec26d3876 100644 --- a/.gitignore +++ b/.gitignore @@ -65,8 +65,6 @@ cmake-build-debug CMakeLists.txt *.pdf *.zip -.env -.envrc # Let these ones be user specific, since we have so many different configurations *.code-workspace diff --git a/Makefile b/Makefile index 2dbb085f96..5bb4f0d8eb 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -ifneq ($(VERBOSE),true) +ifndef VERBOSE .SILENT: endif @@ -38,17 +38,14 @@ $(info QMK Firmware $(QMK_VERSION)) endif endif +# Try to determine userspace from qmk config, if set. +ifeq ($(QMK_USERSPACE),) + QMK_USERSPACE = $(shell qmk config -ro user.overlay_dir | cut -d= -f2 | sed -e 's@^None$$@@g') +endif + # Determine which qmk cli to use QMK_BIN := qmk -# Try to determine userspace from qmk config, if set. Handle direct query on qmk_cli>=1.1.7 -# falling back to legacy method of only supporting user.overlay_dir config -# sort is used to buffer 'qmk env' output and avoid BrokenPipeError errors -export override QMK_USERSPACE := $(shell \ - $(QMK_BIN) env | sort | grep -q QMK_USERSPACE \ - && $(QMK_BIN) env QMK_USERSPACE \ - || $(QMK_BIN) config -ro user.overlay_dir | cut -d= -f2 | sed -e 's@^None$$@@g') - # avoid 'Entering|Leaving directory' messages MAKEFLAGS += --no-print-directory @@ -118,7 +115,7 @@ endef TRY_TO_MATCH_RULE_FROM_LIST = $(eval $(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER,$1))$(RULE_FOUND) # As TRY_TO_MATCH_RULE_FROM_LIST_HELPER, but with additional -# resolution of keyboard_aliases.hjson for provided rule +# resolution of keyboard_aliases.hjson for provided rule define TRY_TO_MATCH_RULE_FROM_LIST_HELPER_KB # Split on ":", padding with empty strings to avoid indexing issues TOKEN1:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[0])" $$(RULE)) @@ -193,9 +190,41 @@ endef # Parses a rule in the format : # the keyboard is already known when entering this function define PARSE_KEYBOARD + # If we want to compile the default subproject, then we need to + # include the correct makefile to determine the actual name of it CURRENT_KB := $1 - KEYMAPS := $(shell $(QMK_BIN) list-keymaps --keyboard $1) + # 5/4/3/2/1 + KEYBOARD_FOLDER_PATH_1 := $$(CURRENT_KB) + KEYBOARD_FOLDER_PATH_2 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_1))) + KEYBOARD_FOLDER_PATH_3 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_2))) + KEYBOARD_FOLDER_PATH_4 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_3))) + KEYBOARD_FOLDER_PATH_5 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_4))) + + KEYMAPS := + # get a list of all keymaps + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.))) + + ifneq ($(QMK_USERSPACE),) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.))) + KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.))) + endif + + KEYBOARD_LAYOUTS := $(shell $(QMK_BIN) list-layouts --keyboard $1) + LAYOUT_KEYMAPS := + $$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/layouts/*/$$(LAYOUT)/*/.))))) + ifneq ($(QMK_USERSPACE),) + $$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/layouts/$$(LAYOUT)/*/.))))) + endif + + KEYMAPS := $$(sort $$(KEYMAPS) $$(LAYOUT_KEYMAPS)) # if the rule after removing the start of it is empty (we haven't specified a kemap or target) # compile all the keymaps @@ -300,7 +329,6 @@ endef define BUILD_TEST TEST_PATH := $1 TEST_NAME := $$(notdir $$(TEST_PATH)) - TEST_ID := $$(patsubst ./tests/%,%,$$(TEST_PATH)) TEST_FULL_NAME := $$(subst /,_,$$(patsubst $$(ROOT_DIR)tests/%,%,$$(TEST_PATH))) MAKE_TARGET := $2 COMMAND := $1 @@ -314,7 +342,7 @@ define BUILD_TEST TEST_MSG := $$(MSG_TEST) $$(TEST_FULL_NAME)_COMMAND := \ printf "$$(TEST_MSG)\n"; \ - $$(TEST_EXECUTABLE) --gtest_color=$$(COLOR); \ + $$(TEST_EXECUTABLE); \ if [ $$$$? -gt 0 ]; \ then error_occurred=1; \ fi; \ @@ -452,17 +480,16 @@ distclean_userspace: clean endif # Extra targets for formatting and/or pytest, running within the qmk/qmk_cli container to match GHA. +CONTAINER_PREAMBLE := export HOME="/tmp"; export PATH="/tmp/.local/bin:\$$PATH"; python3 -m pip install --upgrade pip; python3 -m pip install -r requirements-dev.txt + .PHONY: format-core format-core: - RUNTIME=docker ./util/docker_cmd.sh qmk format-c --core-only -a - RUNTIME=docker ./util/docker_cmd.sh qmk format-python -a + RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk format-c --core-only -a && qmk format-python -a" .PHONY: pytest pytest: - RUNTIME=docker ./util/docker_cmd.sh qmk pytest + RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk pytest" .PHONY: format-and-pytest format-and-pytest: - RUNTIME=docker ./util/docker_cmd.sh qmk format-c --core-only -a - RUNTIME=docker ./util/docker_cmd.sh qmk format-python -a - RUNTIME=docker ./util/docker_cmd.sh qmk pytest + RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk format-c --core-only -a && qmk format-python -a && qmk pytest" diff --git a/builddefs/build_json.mk b/builddefs/build_json.mk new file mode 100644 index 0000000000..e9d1420f36 --- /dev/null +++ b/builddefs/build_json.mk @@ -0,0 +1,36 @@ +# Look for a json keymap file +ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.json)","") + KEYMAP_JSON := $(MAIN_KEYMAP_PATH_5)/keymap.json + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_5) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.json)","") + KEYMAP_JSON := $(MAIN_KEYMAP_PATH_4)/keymap.json + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_4) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.json)","") + KEYMAP_JSON := $(MAIN_KEYMAP_PATH_3)/keymap.json + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_3) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.json)","") + KEYMAP_JSON := $(MAIN_KEYMAP_PATH_2)/keymap.json + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_2) +else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","") + KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json + KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_1) +endif + +ifneq ($(QMK_USERSPACE),) + ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.json)","") + KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.json + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1) + endif +endif diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index 50411e952a..640dedc31e 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -4,7 +4,7 @@ # responsible for determining which folder is being used and doing the # corresponding environment setup. -ifneq ($(VERBOSE),true) +ifndef VERBOSE .SILENT: endif @@ -138,12 +138,75 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_5)/keyboard.json)","") DD_CONFIG_FILES += $(KEYBOARD_PATH_5)/keyboard.json endif +MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP) +MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP) +MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP) +MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP) +MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP) + # Pull in rules from DD keyboard config INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/info_rules.mk) include $(INFO_RULES_MK) -include $(BUILDDEFS_PATH)/locate_keymap.mk --include $(KEYMAP_PATH)/rules.mk +# Check for keymap.json first, so we can regenerate keymap.c +include $(BUILDDEFS_PATH)/build_json.mk + +# Pull in keymap level rules.mk +ifeq ("$(wildcard $(KEYMAP_PATH))", "") + # Look through the possible keymap folders until we find a matching keymap.c + ifneq ($(QMK_USERSPACE),) + ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4) + else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.c)","") + -include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/rules.mk + KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.c + KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5) + endif + endif + ifeq ($(KEYMAP_PATH),) + ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_1)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_2)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_3)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_4)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_5)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) + else ifneq ($(LAYOUTS),) + # If we haven't found a keymap yet fall back to community layouts + include $(BUILDDEFS_PATH)/build_layout.mk + else ifeq ("$(wildcard $(KEYMAP_JSON_PATH))", "") # Not finding keymap.c is fine if we found a keymap.json + $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) + # this state should never be reached + endif + endif +endif # Have we found a keymap.json? ifneq ("$(wildcard $(KEYMAP_JSON))", "") @@ -154,9 +217,16 @@ ifneq ("$(wildcard $(KEYMAP_JSON))", "") OPT_DEFS += -DOTHER_KEYMAP_C=\"$(OTHER_KEYMAP_C)\" endif + KEYMAP_PATH := $(KEYMAP_JSON_PATH) + KEYMAP_C := $(INTERMEDIATE_OUTPUT)/src/keymap.c KEYMAP_H := $(INTERMEDIATE_OUTPUT)/src/config.h + ifeq ($(OTHER_KEYMAP_C),) + # Load the keymap-level rules.mk if exists (and we havent already loaded it for keymap.c) + -include $(KEYMAP_PATH)/rules.mk + endif + # Load any rules.mk content from keymap.json INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --output $(INTERMEDIATE_OUTPUT)/src/rules.mk $(KEYMAP_JSON)) include $(INFO_RULES_MK) @@ -185,13 +255,6 @@ endif COMMUNITY_RULES_MK = $(shell $(QMK_BIN) generate-community-modules-rules-mk -kb $(KEYBOARD) --quiet --escape --output $(INTERMEDIATE_OUTPUT)/src/community_rules.mk $(KEYMAP_JSON)) include $(COMMUNITY_RULES_MK) -ifneq ($(COMMUNITY_MODULES),) - -$(INTERMEDIATE_OUTPUT)/src/community_config.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES) - @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) - $(eval CMD=$(QMK_BIN) generate-community-config-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_config.h $(KEYMAP_JSON)) - @$(BUILD_CMD) - $(INTERMEDIATE_OUTPUT)/src/community_modules.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) $(eval CMD=$(QMK_BIN) generate-community-modules-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(KEYMAP_JSON)) @@ -222,17 +285,9 @@ $(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc: $(KEYMAP_JSON) $(DD $(eval CMD=$(QMK_BIN) generate-rgb-matrix-community-modules-inc -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc $(KEYMAP_JSON)) @$(BUILD_CMD) -$(INTERMEDIATE_OUTPUT)/src/split_transaction_id_community_modules.inc: $(KEYMAP_JSON) $(DD_CONFIG_FILES) - @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) - $(eval CMD=$(QMK_BIN) generate-split-transaction-id-community-modules-inc -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/split_transaction_id_community_modules.inc $(KEYMAP_JSON)) - @$(BUILD_CMD) - -COMMUNITY_CONFIG_H = $(INTERMEDIATE_OUTPUT)/src/community_config.h SRC += $(INTERMEDIATE_OUTPUT)/src/community_modules.c -generated-files: $(INTERMEDIATE_OUTPUT)/src/community_config.h $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(INTERMEDIATE_OUTPUT)/src/community_modules.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h $(INTERMEDIATE_OUTPUT)/src/led_matrix_community_modules.inc $(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc $(INTERMEDIATE_OUTPUT)/src/split_transaction_id_community_modules.inc - -endif +generated-files: $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(INTERMEDIATE_OUTPUT)/src/community_modules.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h $(INTERMEDIATE_OUTPUT)/src/led_matrix_community_modules.inc $(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc include $(BUILDDEFS_PATH)/converters.mk @@ -331,10 +386,6 @@ define config_h_community_module_appender endef $(foreach module,$(COMMUNITY_MODULE_PATHS),$(eval $(call config_h_community_module_appender,$(module)))) -ifneq ($(COMMUNITY_CONFIG_H),) - CONFIG_H += $(COMMUNITY_CONFIG_H) -endif - ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","") CONFIG_H += $(KEYBOARD_PATH_5)/config.h endif @@ -419,10 +470,8 @@ ifneq ($(wildcard $(QMK_USERSPACE)),) endif # If the equivalent users directory exists in userspace, use that in preference to anything currently in the main repo -ifneq ($(QMK_USERSPACE),) - ifneq ($(wildcard $(QMK_USERSPACE)/$(USER_PATH)),) - USER_PATH := $(QMK_USERSPACE)/$(USER_PATH) - endif +ifneq ($(wildcard $(QMK_USERSPACE)/$(USER_PATH)),) + USER_PATH := $(QMK_USERSPACE)/$(USER_PATH) endif # Pull in user level rules.mk diff --git a/builddefs/build_layout.mk b/builddefs/build_layout.mk new file mode 100644 index 0000000000..9ff99cc221 --- /dev/null +++ b/builddefs/build_layout.mk @@ -0,0 +1,36 @@ +LAYOUTS_PATH := layouts +LAYOUTS_REPOS := $(patsubst %/,%,$(sort $(dir $(wildcard $(LAYOUTS_PATH)/*/)))) + +ifneq ($(QMK_USERSPACE),) + LAYOUTS_REPOS += $(patsubst %/,%,$(QMK_USERSPACE)/$(LAYOUTS_PATH)) +endif + +define SEARCH_LAYOUTS_REPO + LAYOUT_KEYMAP_PATH := $$(LAYOUTS_REPO)/$$(LAYOUT)/$$(KEYMAP) + LAYOUT_KEYMAP_JSON := $$(LAYOUT_KEYMAP_PATH)/keymap.json + LAYOUT_KEYMAP_C := $$(LAYOUT_KEYMAP_PATH)/keymap.c + ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_JSON))","") + -include $$(LAYOUT_KEYMAP_PATH)/rules.mk + KEYMAP_JSON := $$(LAYOUT_KEYMAP_JSON) + KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH) + else ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_C))","") + -include $$(LAYOUT_KEYMAP_PATH)/rules.mk + KEYMAP_C := $$(LAYOUT_KEYMAP_C) + KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH) + endif +endef + +define SEARCH_LAYOUTS + $$(foreach LAYOUTS_REPO,$$(LAYOUTS_REPOS),$$(eval $$(call SEARCH_LAYOUTS_REPO))) +endef + +ifneq ($(FORCE_LAYOUT),) + ifneq (,$(findstring $(FORCE_LAYOUT),$(LAYOUTS))) + $(info Forcing layout: $(FORCE_LAYOUT)) + LAYOUTS := $(FORCE_LAYOUT) + else + $(call CATASTROPHIC_ERROR,Invalid layout,Forced layout does not exist) + endif +endif + +$(foreach LAYOUT,$(LAYOUTS),$(eval $(call SEARCH_LAYOUTS))) diff --git a/builddefs/build_test.mk b/builddefs/build_test.mk index 1f1a9fbea8..ccdad1b4e7 100644 --- a/builddefs/build_test.mk +++ b/builddefs/build_test.mk @@ -1,4 +1,4 @@ -ifneq ($(VERBOSE),true) +ifndef VERBOSE .SILENT: endif diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index b7cb2193fa..1da13997b5 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -125,7 +125,7 @@ ifeq ($(strip $(MOUSEKEY_ENABLE)), yes) MOUSE_ENABLE := yes endif -VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick azoteq_iqs5xx cirque_pinnacle_i2c cirque_pinnacle_spi paw3204 paw3222 pmw3320 pmw3325 pmw3360 pmw3389 pimoroni_trackball custom +VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick azoteq_iqs5xx cirque_pinnacle_i2c cirque_pinnacle_spi paw3204 pmw3320 pmw3360 pmw3389 pimoroni_trackball custom ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) ifeq ($(filter $(POINTING_DEVICE_DRIVER),$(VALID_POINTING_DEVICE_DRIVER_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid POINTING_DEVICE_DRIVER,POINTING_DEVICE_DRIVER="$(POINTING_DEVICE_DRIVER)" is not a valid pointing device type) @@ -157,10 +157,6 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) SRC += drivers/sensors/cirque_pinnacle.c SRC += drivers/sensors/cirque_pinnacle_gestures.c SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c - else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), paw3222) - SPI_DRIVER_REQUIRED = yes - else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), pmw3325) - SPI_DRIVER_REQUIRED = yes else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), pimoroni_trackball) I2C_DRIVER_REQUIRED = yes else ifneq ($(filter $(strip $(POINTING_DEVICE_DRIVER)),pmw3360 pmw3389),) diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index 282cc6c656..d6f91b10e4 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -50,19 +50,15 @@ ifeq ($(strip $(DEBUG_ENABLE)),yes) CFLAGS += -ggdb3 CXXFLAGS += -ggdb3 ASFLAGS += -ggdb3 +# Create a map file when debugging + LDFLAGS += -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref endif -# Create a map file to see what was compiled and where, unless disabled -# (e.g. test builds, which use the host linker — Apple's ld does not accept -# -Map=/--cref). -ifneq ($(strip $(CREATE_MAP)), no) -LDFLAGS += -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -endif #---------------- C Compiler Options ---------------- ifeq ($(strip $(LTO_ENABLE)), yes) - CDEFS += -flto=auto + CDEFS += -flto CDEFS += -DLTO_ENABLE endif @@ -70,14 +66,12 @@ CFLAGS += $(CDEFS) CFLAGS += -O$(OPT) # add color ifeq ($(COLOR),true) - CFLAGS+= -fdiagnostics-color=always -else - CFLAGS+= -fdiagnostics-color=never +ifeq ("$(shell echo "int main(){}" | $(CC) -fdiagnostics-color -x c - -o /dev/null 2>&1)", "") + CFLAGS+= -fdiagnostics-color +endif endif CFLAGS += -Wall CFLAGS += -Wstrict-prototypes -CFLAGS += $(call cc-option,-Wunused-but-set-variable=1,-Wunused-but-set-variable) -CFLAGS += $(call cc-option,-Wunused-but-set-parameter=1,-Wunused-but-set-parameter) ifneq ($(strip $(ALLOW_WARNINGS)), yes) CFLAGS += -Werror endif @@ -95,8 +89,7 @@ CXXFLAGS += -O$(OPT) CXXFLAGS += -w CXXFLAGS += -Wall CXXFLAGS += -Wundef -CXXFLAGS += $(call cc-option,-Wunused-but-set-variable=1,-Wunused-but-set-variable) -CXXFLAGS += $(call cc-option,-Wunused-but-set-parameter=1,-Wunused-but-set-parameter) + ifneq ($(strip $(ALLOW_WARNINGS)), yes) CXXFLAGS += -Werror endif diff --git a/builddefs/docsgen/package.json b/builddefs/docsgen/package.json index 17912e652d..b6c56f3448 100644 --- a/builddefs/docsgen/package.json +++ b/builddefs/docsgen/package.json @@ -1,8 +1,10 @@ { "license": "GPL-2.0-or-later", "devDependencies": { - "vitepress": "^1.6.4", - "vitepress-plugin-tabs": "^0.8.0" + "vite": "^5.4.21", + "vitepress": "^1.1.0", + "vitepress-plugin-tabs": "^0.5.0", + "vue": "^3.4.24" }, "scripts": { "docs:dev": "vitepress dev --host 0.0.0.0", diff --git a/builddefs/docsgen/yarn.lock b/builddefs/docsgen/yarn.lock index 58ad99aa23..e5eaaa2c8f 100644 --- a/builddefs/docsgen/yarn.lock +++ b/builddefs/docsgen/yarn.lock @@ -2,206 +2,181 @@ # yarn lockfile v1 -"@algolia/abtesting@1.15.2": - version "1.15.2" - resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.15.2.tgz#5c5e52daba3cf80d92eaf683c781e7f86d3b51b6" - integrity sha512-rF7vRVE61E0QORw8e2NNdnttcl3jmFMWS9B4hhdga12COe+lMa26bQLfcBn/Nbp9/AF/8gXdaRCPsVns3CnjsA== +"@algolia/autocomplete-core@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7" + integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw== dependencies: - "@algolia/client-common" "5.49.2" - "@algolia/requester-browser-xhr" "5.49.2" - "@algolia/requester-fetch" "5.49.2" - "@algolia/requester-node-http" "5.49.2" + "@algolia/autocomplete-plugin-algolia-insights" "1.9.3" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/autocomplete-core@1.17.7": - version "1.17.7" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz#2c410baa94a47c5c5f56ed712bb4a00ebe24088b" - integrity sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q== +"@algolia/autocomplete-plugin-algolia-insights@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz#9b7f8641052c8ead6d66c1623d444cbe19dde587" + integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg== dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.17.7" - "@algolia/autocomplete-shared" "1.17.7" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/autocomplete-plugin-algolia-insights@1.17.7": - version "1.17.7" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz#7d2b105f84e7dd8f0370aa4c4ab3b704e6760d82" - integrity sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A== +"@algolia/autocomplete-preset-algolia@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da" + integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== dependencies: - "@algolia/autocomplete-shared" "1.17.7" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/autocomplete-preset-algolia@1.17.7": - version "1.17.7" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz#c9badc0d73d62db5bf565d839d94ec0034680ae9" - integrity sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA== +"@algolia/autocomplete-shared@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa" + integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== + +"@algolia/cache-browser-local-storage@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz#0cc26b96085e1115dac5fcb9d826651ba57faabc" + integrity sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg== dependencies: - "@algolia/autocomplete-shared" "1.17.7" + "@algolia/cache-common" "4.23.3" -"@algolia/autocomplete-shared@1.17.7": - version "1.17.7" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz#105e84ad9d1a31d3fb86ba20dc890eefe1a313a0" - integrity sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg== +"@algolia/cache-common@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.23.3.tgz#3bec79092d512a96c9bfbdeec7cff4ad36367166" + integrity sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A== -"@algolia/client-abtesting@5.49.2": - version "5.49.2" - resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.49.2.tgz#0c7f46ba2789e30db53eb31f816aa31fe1ec750e" - integrity sha512-XyvKCm0RRmovMI/ChaAVjTwpZhXdbgt3iZofK914HeEHLqD1MUFFVLz7M0+Ou7F56UkHXwRbpHwb9xBDNopprQ== +"@algolia/cache-in-memory@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz#3945f87cd21ffa2bec23890c85305b6b11192423" + integrity sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg== dependencies: - "@algolia/client-common" "5.49.2" - "@algolia/requester-browser-xhr" "5.49.2" - "@algolia/requester-fetch" "5.49.2" - "@algolia/requester-node-http" "5.49.2" + "@algolia/cache-common" "4.23.3" -"@algolia/client-analytics@5.49.2": - version "5.49.2" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.49.2.tgz#d1eee1df4a7d50c05cd0448589b34d5e3b058237" - integrity sha512-jq/3qvtmj3NijZlhq7A1B0Cl41GfaBpjJxcwukGsYds6aMSCWrEAJ9pUqw/C9B3hAmILYKl7Ljz3N9SFvekD3Q== +"@algolia/client-account@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.23.3.tgz#8751bbf636e6741c95e7c778488dee3ee430ac6f" + integrity sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA== dependencies: - "@algolia/client-common" "5.49.2" - "@algolia/requester-browser-xhr" "5.49.2" - "@algolia/requester-fetch" "5.49.2" - "@algolia/requester-node-http" "5.49.2" + "@algolia/client-common" "4.23.3" + "@algolia/client-search" "4.23.3" + "@algolia/transporter" "4.23.3" -"@algolia/client-common@5.49.2": - version "5.49.2" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.49.2.tgz#cb93f1ea9a60f7ffec65474e075afb52900f2434" - integrity sha512-bn0biLequn3epobCfjUqCxlIlurLr4RHu7RaE4trgN+RDcUq6HCVC3/yqq1hwbNYpVtulnTOJzcaxYlSr1fnuw== - -"@algolia/client-insights@5.49.2": - version "5.49.2" - resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.49.2.tgz#fdbd2be74bfe805cddf249f67f95f65323c5f5dd" - integrity sha512-z14wfFs1T3eeYbCArC8pvntAWsPo9f6hnUGoj8IoRUJTwgJiiySECkm8bmmV47/x0oGHfsVn3kBdjMX0yq0sNA== +"@algolia/client-analytics@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.23.3.tgz#f88710885278fe6fb6964384af59004a5a6f161d" + integrity sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA== dependencies: - "@algolia/client-common" "5.49.2" - "@algolia/requester-browser-xhr" "5.49.2" - "@algolia/requester-fetch" "5.49.2" - "@algolia/requester-node-http" "5.49.2" + "@algolia/client-common" "4.23.3" + "@algolia/client-search" "4.23.3" + "@algolia/requester-common" "4.23.3" + "@algolia/transporter" "4.23.3" -"@algolia/client-personalization@5.49.2": - version "5.49.2" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.49.2.tgz#3b8fc9eb85b24dbcb2ee80dae9af91bd12490148" - integrity sha512-GpRf7yuuAX93+Qt0JGEJZwgtL0MFdjFO9n7dn8s2pA9mTjzl0Sc5+uTk1VPbIAuf7xhCP9Mve+URGb6J+EYxgA== +"@algolia/client-common@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.23.3.tgz#891116aa0db75055a7ecc107649f7f0965774704" + integrity sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw== dependencies: - "@algolia/client-common" "5.49.2" - "@algolia/requester-browser-xhr" "5.49.2" - "@algolia/requester-fetch" "5.49.2" - "@algolia/requester-node-http" "5.49.2" + "@algolia/requester-common" "4.23.3" + "@algolia/transporter" "4.23.3" -"@algolia/client-query-suggestions@5.49.2": - version "5.49.2" - resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.49.2.tgz#e5d9ed73fe5f0afc8feddfc68d4691d5963e8c57" - integrity sha512-HZwApmNkp0DiAjZcLYdQLddcG4Agb88OkojiAHGgcm5DVXobT5uSZ9lmyrbw/tmQBJwgu2CNw4zTyXoIB7YbPA== +"@algolia/client-personalization@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.23.3.tgz#35fa8e5699b0295fbc400a8eb211dc711e5909db" + integrity sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g== dependencies: - "@algolia/client-common" "5.49.2" - "@algolia/requester-browser-xhr" "5.49.2" - "@algolia/requester-fetch" "5.49.2" - "@algolia/requester-node-http" "5.49.2" + "@algolia/client-common" "4.23.3" + "@algolia/requester-common" "4.23.3" + "@algolia/transporter" "4.23.3" -"@algolia/client-search@5.49.2": - version "5.49.2" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.49.2.tgz#3c823ffaf333ce70fedfb3d45361661c8b227806" - integrity sha512-y1IOpG6OSmTpGg/CT0YBb/EAhR2nsC18QWp9Jy8HO9iGySpcwaTvs5kHa17daP3BMTwWyaX9/1tDTDQshZzXdg== +"@algolia/client-search@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.23.3.tgz#a3486e6af13a231ec4ab43a915a1f318787b937f" + integrity sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw== dependencies: - "@algolia/client-common" "5.49.2" - "@algolia/requester-browser-xhr" "5.49.2" - "@algolia/requester-fetch" "5.49.2" - "@algolia/requester-node-http" "5.49.2" + "@algolia/client-common" "4.23.3" + "@algolia/requester-common" "4.23.3" + "@algolia/transporter" "4.23.3" -"@algolia/ingestion@1.49.2": - version "1.49.2" - resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.49.2.tgz#99626cd9b11925e1aae5db59836821d2e7e2c892" - integrity sha512-YYJRjaZ2bqk923HxE4um7j/Cm3/xoSkF2HC2ZweOF8cXL3sqnlndSUYmCaxHFjNPWLaSHk2IfssX6J/tdKTULw== +"@algolia/logger-common@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.23.3.tgz#35c6d833cbf41e853a4f36ba37c6e5864920bfe9" + integrity sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g== + +"@algolia/logger-console@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.23.3.tgz#30f916781826c4db5f51fcd9a8a264a06e136985" + integrity sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A== dependencies: - "@algolia/client-common" "5.49.2" - "@algolia/requester-browser-xhr" "5.49.2" - "@algolia/requester-fetch" "5.49.2" - "@algolia/requester-node-http" "5.49.2" + "@algolia/logger-common" "4.23.3" -"@algolia/monitoring@1.49.2": - version "1.49.2" - resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.49.2.tgz#5c550df1b073de97e3d38a2e8d50f17e90badc52" - integrity sha512-9WgH+Dha39EQQyGKCHlGYnxW/7W19DIrEbCEbnzwAMpGAv1yTWCHMPXHxYa+LcL3eCp2V/5idD1zHNlIKmHRHg== +"@algolia/recommend@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-4.23.3.tgz#53d4f194d22d9c72dc05f3f7514c5878f87c5890" + integrity sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w== dependencies: - "@algolia/client-common" "5.49.2" - "@algolia/requester-browser-xhr" "5.49.2" - "@algolia/requester-fetch" "5.49.2" - "@algolia/requester-node-http" "5.49.2" + "@algolia/cache-browser-local-storage" "4.23.3" + "@algolia/cache-common" "4.23.3" + "@algolia/cache-in-memory" "4.23.3" + "@algolia/client-common" "4.23.3" + "@algolia/client-search" "4.23.3" + "@algolia/logger-common" "4.23.3" + "@algolia/logger-console" "4.23.3" + "@algolia/requester-browser-xhr" "4.23.3" + "@algolia/requester-common" "4.23.3" + "@algolia/requester-node-http" "4.23.3" + "@algolia/transporter" "4.23.3" -"@algolia/recommend@5.49.2": - version "5.49.2" - resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.49.2.tgz#ace9e988141dd627f7ac3a0e38d9e254bb006490" - integrity sha512-K7Gp5u+JtVYgaVpBxF5rGiM+Ia8SsMdcAJMTDV93rwh00DKNllC19o1g+PwrDjDvyXNrnTEbofzbTs2GLfFyKA== +"@algolia/requester-browser-xhr@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz#9e47e76f60d540acc8b27b4ebc7a80d1b41938b9" + integrity sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw== dependencies: - "@algolia/client-common" "5.49.2" - "@algolia/requester-browser-xhr" "5.49.2" - "@algolia/requester-fetch" "5.49.2" - "@algolia/requester-node-http" "5.49.2" + "@algolia/requester-common" "4.23.3" -"@algolia/requester-browser-xhr@5.49.2": - version "5.49.2" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.49.2.tgz#4493ed41dc84948693b34174ccc08ac5dfabd3dd" - integrity sha512-3UhYCcWX6fbtN8ABcxZlhaQEwXFh3CsFtARyyadQShHMPe3mJV9Wel4FpJTa+seugRkbezFz0tt6aPTZSYTBuA== +"@algolia/requester-common@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.23.3.tgz#7dbae896e41adfaaf1d1fa5f317f83a99afb04b3" + integrity sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw== + +"@algolia/requester-node-http@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz#c9f94a5cb96a15f48cea338ab6ef16bbd0ff989f" + integrity sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA== dependencies: - "@algolia/client-common" "5.49.2" + "@algolia/requester-common" "4.23.3" -"@algolia/requester-fetch@5.49.2": - version "5.49.2" - resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.49.2.tgz#fd64e1ec726ffb63dce22112354119125c67a27e" - integrity sha512-G94VKSGbsr+WjsDDOBe5QDQ82QYgxvpxRGJfCHZBnYKYsy/jv9qGIDb93biza+LJWizQBUtDj7bZzp3QZyzhPQ== +"@algolia/transporter@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.23.3.tgz#545b045b67db3850ddf0bbecbc6c84ff1f3398b7" + integrity sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ== dependencies: - "@algolia/client-common" "5.49.2" + "@algolia/cache-common" "4.23.3" + "@algolia/logger-common" "4.23.3" + "@algolia/requester-common" "4.23.3" -"@algolia/requester-node-http@5.49.2": - version "5.49.2" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.49.2.tgz#ac71c6502b8ba8760d22afd3f38620934a28a68f" - integrity sha512-UuihBGHafG/ENsrcTGAn5rsOffrCIRuHMOsD85fZGLEY92ate+BMTUqxz60dv5zerh8ZumN4bRm8eW2z9L11jA== +"@babel/parser@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" + integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== + +"@docsearch/css@3.6.0", "@docsearch/css@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.6.0.tgz#0e9f56f704b3a34d044d15fd9962ebc1536ba4fb" + integrity sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ== + +"@docsearch/js@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.6.0.tgz#f9e46943449b9092d874944f7a80bcc071004cfb" + integrity sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ== dependencies: - "@algolia/client-common" "5.49.2" - -"@babel/helper-string-parser@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" - integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== - -"@babel/helper-validator-identifier@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" - integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== - -"@babel/parser@^7.29.0": - version "7.29.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.0.tgz#669ef345add7d057e92b7ed15f0bac07611831b6" - integrity sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww== - dependencies: - "@babel/types" "^7.29.0" - -"@babel/types@^7.29.0": - version "7.29.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.0.tgz#9f5b1e838c446e72cf3cd4b918152b8c605e37c7" - integrity sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.28.5" - -"@docsearch/css@3.8.2": - version "3.8.2" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.8.2.tgz#7973ceb6892c30f154ba254cd05c562257a44977" - integrity sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ== - -"@docsearch/js@3.8.2": - version "3.8.2" - resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.8.2.tgz#bdcfc9837700eb38453b88e211ab5cc5a3813cc6" - integrity sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ== - dependencies: - "@docsearch/react" "3.8.2" + "@docsearch/react" "3.6.0" preact "^10.0.0" -"@docsearch/react@3.8.2": - version "3.8.2" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.8.2.tgz#7b11d39b61c976c0aa9fbde66e6b73b30f3acd42" - integrity sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg== +"@docsearch/react@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.6.0.tgz#b4f25228ecb7fc473741aefac592121e86dd2958" + integrity sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w== dependencies: - "@algolia/autocomplete-core" "1.17.7" - "@algolia/autocomplete-preset-algolia" "1.17.7" - "@docsearch/css" "3.8.2" - algoliasearch "^5.14.2" + "@algolia/autocomplete-core" "1.9.3" + "@algolia/autocomplete-preset-algolia" "1.9.3" + "@docsearch/css" "3.6.0" + algoliasearch "^4.19.1" "@esbuild/aix-ppc64@0.21.5": version "0.21.5" @@ -318,485 +293,316 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== -"@iconify-json/simple-icons@^1.2.21": - version "1.2.73" - resolved "https://registry.yarnpkg.com/@iconify-json/simple-icons/-/simple-icons-1.2.73.tgz#65772d358fc25aa1ea97b98101c61170c3ef27e7" - integrity sha512-nQZTwul4c2zBqH/aLP4zMOiElj93T6HawbrP+sFQKpxmBdS5x1duCK3cAnkj6dntHz84EYkzaQRM83V2pj4qxA== - dependencies: - "@iconify/types" "*" +"@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@iconify/types@*": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57" - integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg== +"@rollup/rollup-android-arm-eabi@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz#d4dd60da0075a6ce9a6c76d71b8204f3e1822285" + integrity sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA== -"@jridgewell/sourcemap-codec@^1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" - integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== +"@rollup/rollup-android-arm64@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz#25c4d33259a7a2ccd2f52a5ffcc0bb3ab3f0729d" + integrity sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g== -"@rollup/rollup-android-arm-eabi@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz#a6742c74c7d9d6d604ef8a48f99326b4ecda3d82" - integrity sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg== +"@rollup/rollup-darwin-arm64@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz#d137dff254b19163a6b52ac083a71cd055dae844" + integrity sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g== -"@rollup/rollup-android-arm64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz#97247be098de4df0c11971089fd2edf80a5da8cf" - integrity sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q== +"@rollup/rollup-darwin-x64@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz#58ff20b5dacb797d3adca19f02a21c532f9d55bf" + integrity sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ== -"@rollup/rollup-darwin-arm64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz#674852cf14cf11b8056e0b1a2f4e872b523576cf" - integrity sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg== +"@rollup/rollup-freebsd-arm64@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz#96ce1a241c591ec3e068f4af765d94eddb24e60c" + integrity sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew== -"@rollup/rollup-darwin-x64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz#36dfd7ed0aaf4d9d89d9ef983af72632455b0246" - integrity sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w== +"@rollup/rollup-freebsd-x64@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz#e59e7ede505be41f0b4311b0b943f8eb44938467" + integrity sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA== -"@rollup/rollup-freebsd-arm64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz#2f87c2074b4220260fdb52a9996246edfc633c22" - integrity sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA== +"@rollup/rollup-linux-arm-gnueabihf@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz#e455ca6e4ff35bd46d62201c153352e717000a7b" + integrity sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw== -"@rollup/rollup-freebsd-x64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz#9b5a26522a38a95dc06616d1939d4d9a76937803" - integrity sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg== +"@rollup/rollup-linux-arm-musleabihf@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz#bc1a93d807d19e70b1e343a5bfea43723bcd6327" + integrity sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg== -"@rollup/rollup-linux-arm-gnueabihf@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz#86aa4859385a8734235b5e40a48e52d770758c3a" - integrity sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw== +"@rollup/rollup-linux-arm64-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz#f38bf843f1dc3d5de680caf31084008846e3efae" + integrity sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA== -"@rollup/rollup-linux-arm-musleabihf@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz#cbe70e56e6ece8dac83eb773b624fc9e5a460976" - integrity sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA== +"@rollup/rollup-linux-arm64-musl@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz#b3987a96c18b7287129cf735be2dbf83e94d9d05" + integrity sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g== -"@rollup/rollup-linux-arm64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz#d14992a2e653bc3263d284bc6579b7a2890e1c45" - integrity sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA== +"@rollup/rollup-linux-loongarch64-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz#0f0324044e71c4f02e9f49e7ec4e347b655b34ee" + integrity sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ== -"@rollup/rollup-linux-arm64-musl@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz#2fdd1ddc434ea90aeaa0851d2044789b4d07f6da" - integrity sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA== +"@rollup/rollup-linux-powerpc64le-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz#809479f27f1fd5b4eecd2aa732132ad952d454ba" + integrity sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ== -"@rollup/rollup-linux-loong64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz#8a181e6f89f969f21666a743cd411416c80099e7" - integrity sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg== +"@rollup/rollup-linux-riscv64-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz#7bc75c4f22db04d3c972f83431739cfa41c6a36e" + integrity sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw== -"@rollup/rollup-linux-loong64-musl@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz#904125af2babc395f8061daa27b5af1f4e3f2f78" - integrity sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q== +"@rollup/rollup-linux-s390x-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz#cfe8052345c55864d83ae343362cf1912480170e" + integrity sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ== -"@rollup/rollup-linux-ppc64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz#a57970ac6864c9a3447411a658224bdcf948be22" - integrity sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA== +"@rollup/rollup-linux-x64-gnu@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz#c6b048f1e25f3fea5b4bd246232f4d07a159c5a0" + integrity sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g== -"@rollup/rollup-linux-ppc64-musl@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz#bb84de5b26870567a4267666e08891e80bb56a63" - integrity sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA== +"@rollup/rollup-linux-x64-musl@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz#615273ac52d1a201f4de191cbd3389016a9d7d80" + integrity sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA== -"@rollup/rollup-linux-riscv64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz#72d00d2c7fb375ce3564e759db33f17a35bffab9" - integrity sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg== +"@rollup/rollup-win32-arm64-msvc@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz#32ed85810c1b831c648eca999d68f01255b30691" + integrity sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw== -"@rollup/rollup-linux-riscv64-musl@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz#4c166ef58e718f9245bd31873384ba15a5c1a883" - integrity sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg== +"@rollup/rollup-win32-ia32-msvc@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz#d47effada68bcbfdccd30c4a788d42e4542ff4d3" + integrity sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ== -"@rollup/rollup-linux-s390x-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz#bb5025cde9a61db478c2ca7215808ad3bce73a09" - integrity sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w== +"@rollup/rollup-win32-x64-msvc@4.31.0": + version "4.31.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz#7a2d89a82cf0388d60304964217dd7beac6de645" + integrity sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw== -"@rollup/rollup-linux-x64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz#9b66b1f9cd95c6624c788f021c756269ffed1552" - integrity sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg== - -"@rollup/rollup-linux-x64-musl@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz#b007ca255dc7166017d57d7d2451963f0bd23fd9" - integrity sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg== - -"@rollup/rollup-openbsd-x64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz#e8b357b2d1aa2c8d76a98f5f0d889eabe93f4ef9" - integrity sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ== - -"@rollup/rollup-openharmony-arm64@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz#96c2e3f4aacd3d921981329831ff8dde492204dc" - integrity sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA== - -"@rollup/rollup-win32-arm64-msvc@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz#2d865149d706d938df8b4b8f117e69a77646d581" - integrity sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A== - -"@rollup/rollup-win32-ia32-msvc@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz#abe1593be0fa92325e9971c8da429c5e05b92c36" - integrity sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA== - -"@rollup/rollup-win32-x64-gnu@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz#c4af3e9518c9a5cd4b1c163dc81d0ad4d82e7eab" - integrity sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA== - -"@rollup/rollup-win32-x64-msvc@4.59.0": - version "4.59.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz#4584a8a87b29188a4c1fe987a9fcf701e256d86c" - integrity sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA== - -"@shikijs/core@2.5.0", "@shikijs/core@^2.1.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-2.5.0.tgz#e14d33961dfa3141393d4a76fc8923d0d1c4b62f" - integrity sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg== - dependencies: - "@shikijs/engine-javascript" "2.5.0" - "@shikijs/engine-oniguruma" "2.5.0" - "@shikijs/types" "2.5.0" - "@shikijs/vscode-textmate" "^10.0.2" - "@types/hast" "^3.0.4" - hast-util-to-html "^9.0.4" - -"@shikijs/engine-javascript@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@shikijs/engine-javascript/-/engine-javascript-2.5.0.tgz#e045c6ecfbda6c99137547b0a482e0b87f1053fc" - integrity sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w== - dependencies: - "@shikijs/types" "2.5.0" - "@shikijs/vscode-textmate" "^10.0.2" - oniguruma-to-es "^3.1.0" - -"@shikijs/engine-oniguruma@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@shikijs/engine-oniguruma/-/engine-oniguruma-2.5.0.tgz#230de5693cc1da6c9d59c7ad83593c2027274817" - integrity sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw== - dependencies: - "@shikijs/types" "2.5.0" - "@shikijs/vscode-textmate" "^10.0.2" - -"@shikijs/langs@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@shikijs/langs/-/langs-2.5.0.tgz#97ab50c495922cc1ca06e192985b28dc73de5d50" - integrity sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w== - dependencies: - "@shikijs/types" "2.5.0" - -"@shikijs/themes@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@shikijs/themes/-/themes-2.5.0.tgz#8c6aecf73f5455681c8bec15797cf678162896cb" - integrity sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw== - dependencies: - "@shikijs/types" "2.5.0" - -"@shikijs/transformers@^2.1.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@shikijs/transformers/-/transformers-2.5.0.tgz#190c84786ff06c417580ab79177338a947168c55" - integrity sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg== - dependencies: - "@shikijs/core" "2.5.0" - "@shikijs/types" "2.5.0" - -"@shikijs/types@2.5.0", "@shikijs/types@^2.1.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@shikijs/types/-/types-2.5.0.tgz#e949c7384802703a48b9d6425dd41673c164df69" - integrity sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw== - dependencies: - "@shikijs/vscode-textmate" "^10.0.2" - "@types/hast" "^3.0.4" - -"@shikijs/vscode-textmate@^10.0.2": - version "10.0.2" - resolved "https://registry.yarnpkg.com/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz#a90ab31d0cc1dfb54c66a69e515bf624fa7b2224" - integrity sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg== - -"@types/estree@1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" - integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== - -"@types/hast@^3.0.0", "@types/hast@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" - integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== - dependencies: - "@types/unist" "*" - -"@types/linkify-it@^5": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-5.0.0.tgz#21413001973106cda1c3a9b91eedd4ccd5469d76" - integrity sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q== - -"@types/markdown-it@^14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-14.1.2.tgz#57f2532a0800067d9b934f3521429a2e8bfb4c61" - integrity sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog== - dependencies: - "@types/linkify-it" "^5" - "@types/mdurl" "^2" - -"@types/mdast@^4.0.0": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" - integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== - dependencies: - "@types/unist" "*" - -"@types/mdurl@^2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-2.0.0.tgz#d43878b5b20222682163ae6f897b20447233bdfd" - integrity sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg== - -"@types/unist@*", "@types/unist@^3.0.0": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" - integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== - -"@types/web-bluetooth@^0.0.21": - version "0.0.21" - resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz#525433c784aed9b457aaa0ee3d92aeb71f346b63" - integrity sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA== - -"@ungap/structured-clone@^1.0.0": +"@shikijs/core@1.3.0", "@shikijs/core@^1.3.0": version "1.3.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" - integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== + resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-1.3.0.tgz#5b93b51ddb8def1e3a1543107f9b5b0540f716f6" + integrity sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA== -"@vitejs/plugin-vue@^5.2.1": - version "5.2.4" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz#9e8a512eb174bfc2a333ba959bbf9de428d89ad8" - integrity sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA== - -"@vue/compiler-core@3.5.30": - version "3.5.30" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.30.tgz#0f984da9207f24f9ddfb700052a43247a953fd9a" - integrity sha512-s3DfdZkcu/qExZ+td75015ljzHc6vE+30cFMGRPROYjqkroYI5NV2X1yAMX9UeyBNWB9MxCfPcsjpLS11nzkkw== +"@shikijs/transformers@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@shikijs/transformers/-/transformers-1.3.0.tgz#b03c5733ef61e25e4f53666bf11889f8876f34e9" + integrity sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA== dependencies: - "@babel/parser" "^7.29.0" - "@vue/shared" "3.5.30" - entities "^7.0.1" + shiki "1.3.0" + +"@types/estree@1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + +"@types/linkify-it@*": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.5.tgz#1e78a3ac2428e6d7e6c05c1665c242023a4601d8" + integrity sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw== + +"@types/markdown-it@^14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-14.0.1.tgz#3d3fdf9dba83b69edececc070d39ec72b84270a7" + integrity sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ== + dependencies: + "@types/linkify-it" "*" + "@types/mdurl" "*" + +"@types/mdurl@*": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.5.tgz#3e0d2db570e9fb6ccb2dc8fde0be1d79ac810d39" + integrity sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA== + +"@types/web-bluetooth@^0.0.20": + version "0.0.20" + resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz#f066abfcd1cbe66267cdbbf0de010d8a41b41597" + integrity sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow== + +"@vitejs/plugin-vue@^5.0.4": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz#508d6a0f2440f86945835d903fcc0d95d1bb8a37" + integrity sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ== + +"@vue/compiler-core@3.4.24": + version "3.4.24" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.24.tgz#6b4a5ffddcd874a692f2acfa68981201bcd7096b" + integrity sha512-vbW/tgbwJYj62N/Ww99x0zhFTkZDTcGh3uwJEuadZ/nF9/xuFMC4693P9r+3sxGXISABpDKvffY5ApH9pmdd1A== + dependencies: + "@babel/parser" "^7.24.4" + "@vue/shared" "3.4.24" + entities "^4.5.0" estree-walker "^2.0.2" - source-map-js "^1.2.1" + source-map-js "^1.2.0" -"@vue/compiler-dom@3.5.30": - version "3.5.30" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.30.tgz#a38dbdd520479244c8b673123b4bd06a82e733ee" - integrity sha512-eCFYESUEVYHhiMuK4SQTldO3RYxyMR/UQL4KdGD1Yrkfdx4m/HYuZ9jSfPdA+nWJY34VWndiYdW/wZXyiPEB9g== +"@vue/compiler-dom@3.4.24": + version "3.4.24" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.24.tgz#b7335a49f095b6d35e48b6f7be8da513c1fa52b8" + integrity sha512-4XgABML/4cNndVsQndG6BbGN7+EoisDwi3oXNovqL/4jdNhwvP8/rfRMTb6FxkxIxUUtg6AI1/qZvwfSjxJiWA== dependencies: - "@vue/compiler-core" "3.5.30" - "@vue/shared" "3.5.30" + "@vue/compiler-core" "3.4.24" + "@vue/shared" "3.4.24" -"@vue/compiler-sfc@3.5.30": - version "3.5.30" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.30.tgz#5c716d844f240154263e99b25fba6e1802c0c8c6" - integrity sha512-LqmFPDn89dtU9vI3wHJnwaV6GfTRD87AjWpTWpyrdVOObVtjIuSeZr181z5C4PmVx/V3j2p+0f7edFKGRMpQ5A== +"@vue/compiler-sfc@3.4.24": + version "3.4.24" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.24.tgz#2872e353147ce2a145169a33ddd4d68dc95c3a18" + integrity sha512-nRAlJUK02FTWfA2nuvNBAqsDZuERGFgxZ8sGH62XgFSvMxO2URblzulExsmj4gFZ8e+VAyDooU9oAoXfEDNxTA== dependencies: - "@babel/parser" "^7.29.0" - "@vue/compiler-core" "3.5.30" - "@vue/compiler-dom" "3.5.30" - "@vue/compiler-ssr" "3.5.30" - "@vue/shared" "3.5.30" + "@babel/parser" "^7.24.4" + "@vue/compiler-core" "3.4.24" + "@vue/compiler-dom" "3.4.24" + "@vue/compiler-ssr" "3.4.24" + "@vue/shared" "3.4.24" estree-walker "^2.0.2" - magic-string "^0.30.21" - postcss "^8.5.8" - source-map-js "^1.2.1" + magic-string "^0.30.10" + postcss "^8.4.38" + source-map-js "^1.2.0" -"@vue/compiler-ssr@3.5.30": - version "3.5.30" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.5.30.tgz#e9b407d7e56be1e307a7621f2e8d2501267ff1d0" - integrity sha512-NsYK6OMTnx109PSL2IAyf62JP6EUdk4Dmj6AkWcJGBvN0dQoMYtVekAmdqgTtWQgEJo+Okstbf/1p7qZr5H+bA== +"@vue/compiler-ssr@3.4.24": + version "3.4.24" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.24.tgz#0d11fe54dabd17cbd6393a16bf7f785da1cfab46" + integrity sha512-ZsAtr4fhaUFnVcDqwW3bYCSDwq+9Gk69q2r/7dAHDrOMw41kylaMgOP4zRnn6GIEJkQznKgrMOGPMFnLB52RbQ== dependencies: - "@vue/compiler-dom" "3.5.30" - "@vue/shared" "3.5.30" + "@vue/compiler-dom" "3.4.24" + "@vue/shared" "3.4.24" -"@vue/devtools-api@^7.7.0": - version "7.7.9" - resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-7.7.9.tgz#999dbea50da6b00cf59a1336f11fdc2b43d9e063" - integrity sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g== +"@vue/devtools-api@^7.0.27": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-7.1.2.tgz#8808b0f008842b756bf1e9c30788837abb62ab3a" + integrity sha512-AKd49cN3BdRgttmX5Aw8op7sx6jmaPwaILcDjaa05UKc1yIHDYST7P8yGZs6zd2pKFETAQz40gmyG7+b57slsQ== dependencies: - "@vue/devtools-kit" "^7.7.9" + "@vue/devtools-kit" "^7.1.2" -"@vue/devtools-kit@^7.7.9": - version "7.7.9" - resolved "https://registry.yarnpkg.com/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz#bc218a815616e8987df7ab3e10fc1fb3b8706c58" - integrity sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA== +"@vue/devtools-kit@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@vue/devtools-kit/-/devtools-kit-7.1.2.tgz#dfb7306edf895dadc556dd5f0c516809c2f94826" + integrity sha512-UTrcUSOhlI9eXqbPMHUWwA6NQiiPT3onzXsVk2JHGR8ZFFSkzsWTTpHyVA1woG8zvgu2HNV/wigW2k87p858zw== dependencies: - "@vue/devtools-shared" "^7.7.9" - birpc "^2.3.0" + "@vue/devtools-shared" "^7.1.2" hookable "^5.5.3" mitt "^3.0.1" perfect-debounce "^1.0.0" speakingurl "^14.0.1" - superjson "^2.2.2" -"@vue/devtools-shared@^7.7.9": - version "7.7.9" - resolved "https://registry.yarnpkg.com/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz#fa4c096b744927081a7dda5fcf05f34b1ae6ca14" - integrity sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA== +"@vue/devtools-shared@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@vue/devtools-shared/-/devtools-shared-7.1.2.tgz#7b1c1de10bab4756f271c377370a62833b4ee94b" + integrity sha512-r9cUf93VMhKSsxF2/cBbf6Lm1nRBx+r1pRuji5CiAf3JIPYPOjeEqJ13OuwP1fauYh1tyBFcCxt3eJPvHT59gg== dependencies: - rfdc "^1.4.1" + rfdc "^1.3.1" -"@vue/reactivity@3.5.30": - version "3.5.30" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.5.30.tgz#1ff13f7d570b16b4f009f007772c7b71be1dd09d" - integrity sha512-179YNgKATuwj9gB+66snskRDOitDiuOZqkYia7mHKJaidOMo/WJxHKF8DuGc4V4XbYTJANlfEKb0yxTQotnx4Q== +"@vue/reactivity@3.4.24": + version "3.4.24" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.24.tgz#150584316ca2acc4ed19a24f9f29863c3a17a7b2" + integrity sha512-nup3fSYg4i4LtNvu9slF/HF/0dkMQYfepUdORBcMSsankzRPzE7ypAFurpwyRBfU1i7Dn1kcwpYsE1wETSh91g== dependencies: - "@vue/shared" "3.5.30" + "@vue/shared" "3.4.24" -"@vue/runtime-core@3.5.30": - version "3.5.30" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.5.30.tgz#abe448b25e88f583b1847323a2f19f5e4a21837d" - integrity sha512-e0Z+8PQsUTdwV8TtEsLzUM7SzC7lQwYKePydb7K2ZnmS6jjND+WJXkmmfh/swYzRyfP1EY3fpdesyYoymCzYfg== +"@vue/runtime-core@3.4.24": + version "3.4.24" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.24.tgz#066c544dc59a07a96c12874a57b750c239124874" + integrity sha512-c7iMfj6cJMeAG3s5yOn9Rc5D9e2/wIuaozmGf/ICGCY3KV5H7mbTVdvEkd4ZshTq7RUZqj2k7LMJWVx+EBiY1g== dependencies: - "@vue/reactivity" "3.5.30" - "@vue/shared" "3.5.30" + "@vue/reactivity" "3.4.24" + "@vue/shared" "3.4.24" -"@vue/runtime-dom@3.5.30": - version "3.5.30" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.5.30.tgz#41d1b6424b754300f735c2ecb1a7457b4125dab3" - integrity sha512-2UIGakjU4WSQ0T4iwDEW0W7vQj6n7AFn7taqZ9Cvm0Q/RA2FFOziLESrDL4GmtI1wV3jXg5nMoJSYO66egDUBw== +"@vue/runtime-dom@3.4.24": + version "3.4.24" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.24.tgz#4f8e7acbe1e8ffa7c55af1366e4438729ebe9b20" + integrity sha512-uXKzuh/Emfad2Y7Qm0ABsLZZV6H3mAJ5ZVqmAOlrNQRf+T5mxpPGZBfec1hkP41t6h6FwF6RSGCs/gd8WbuySQ== dependencies: - "@vue/reactivity" "3.5.30" - "@vue/runtime-core" "3.5.30" - "@vue/shared" "3.5.30" - csstype "^3.2.3" + "@vue/runtime-core" "3.4.24" + "@vue/shared" "3.4.24" + csstype "^3.1.3" -"@vue/server-renderer@3.5.30": - version "3.5.30" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.5.30.tgz#116515063d609d3ceca1170f3b09122f24f187b5" - integrity sha512-v+R34icapydRwbZRD0sXwtHqrQJv38JuMB4JxbOxd8NEpGLny7cncMp53W9UH/zo4j8eDHjQ1dEJXwzFQknjtQ== +"@vue/server-renderer@3.4.24": + version "3.4.24" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.24.tgz#80dd546f8d6a9f5c4f8b68083fe9cc2d62299332" + integrity sha512-H+DLK4sQF6sRgzKyofmlEVBIV/9KrQU6HIV7nt6yIwSGGKvSwlV8pqJlebUKLpbXaNHugdSfAbP6YmXF69lxow== dependencies: - "@vue/compiler-ssr" "3.5.30" - "@vue/shared" "3.5.30" + "@vue/compiler-ssr" "3.4.24" + "@vue/shared" "3.4.24" -"@vue/shared@3.5.30", "@vue/shared@^3.5.13": - version "3.5.30" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.5.30.tgz#5d7a0d3ca151647484303fd9f057e2e13ecb80ef" - integrity sha512-YXgQ7JjaO18NeK2K9VTbDHaFy62WrObMa6XERNfNOkAhD1F1oDSf3ZJ7K6GqabZ0BvSDHajp8qfS5Sa2I9n8uQ== +"@vue/shared@3.4.24": + version "3.4.24" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.24.tgz#278ac71f492b392b9b17fe8fc7d324db1a8842db" + integrity sha512-BW4tajrJBM9AGAknnyEw5tO2xTmnqgup0VTnDAMcxYmqOX0RG0b9aSUGAbEKolD91tdwpA6oCwbltoJoNzpItw== -"@vueuse/core@12.8.2", "@vueuse/core@^12.4.0": - version "12.8.2" - resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-12.8.2.tgz#007c6dd29a7d1f6933e916e7a2f8ef3c3f968eaa" - integrity sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ== +"@vueuse/core@10.9.0", "@vueuse/core@^10.9.0": + version "10.9.0" + resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-10.9.0.tgz#7d779a95cf0189de176fee63cee4ba44b3c85d64" + integrity sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg== dependencies: - "@types/web-bluetooth" "^0.0.21" - "@vueuse/metadata" "12.8.2" - "@vueuse/shared" "12.8.2" - vue "^3.5.13" + "@types/web-bluetooth" "^0.0.20" + "@vueuse/metadata" "10.9.0" + "@vueuse/shared" "10.9.0" + vue-demi ">=0.14.7" -"@vueuse/integrations@^12.4.0": - version "12.8.2" - resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-12.8.2.tgz#d04f33d86fe985c9a27c98addcfde9f30f2db1df" - integrity sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g== +"@vueuse/integrations@^10.9.0": + version "10.9.0" + resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-10.9.0.tgz#2b1a9556215ad3c1f96d39cbfbef102cf6e0ec05" + integrity sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q== dependencies: - "@vueuse/core" "12.8.2" - "@vueuse/shared" "12.8.2" - vue "^3.5.13" + "@vueuse/core" "10.9.0" + "@vueuse/shared" "10.9.0" + vue-demi ">=0.14.7" -"@vueuse/metadata@12.8.2": - version "12.8.2" - resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-12.8.2.tgz#6cb3a4e97cdcf528329eebc1bda73cd7f64318d3" - integrity sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A== +"@vueuse/metadata@10.9.0": + version "10.9.0" + resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.9.0.tgz#769a1a9db65daac15cf98084cbf7819ed3758620" + integrity sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA== -"@vueuse/shared@12.8.2": - version "12.8.2" - resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-12.8.2.tgz#b9e4611d0603629c8e151f982459da394e22f930" - integrity sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w== +"@vueuse/shared@10.9.0": + version "10.9.0" + resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.9.0.tgz#13af2a348de15d07b7be2fd0c7fc9853a69d8fe0" + integrity sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw== dependencies: - vue "^3.5.13" + vue-demi ">=0.14.7" -algoliasearch@^5.14.2: - version "5.49.2" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.49.2.tgz#af1a0db7c8a36f93473399da918fe6d7799660b6" - integrity sha512-1K0wtDaRONwfhL4h8bbJ9qTjmY6rhGgRvvagXkMBsAOMNr+3Q2SffHECh9DIuNVrMA1JwA0zCwhyepgBZVakng== +algoliasearch@^4.19.1: + version "4.23.3" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.23.3.tgz#e09011d0a3b0651444916a3e6bbcba064ec44b60" + integrity sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg== dependencies: - "@algolia/abtesting" "1.15.2" - "@algolia/client-abtesting" "5.49.2" - "@algolia/client-analytics" "5.49.2" - "@algolia/client-common" "5.49.2" - "@algolia/client-insights" "5.49.2" - "@algolia/client-personalization" "5.49.2" - "@algolia/client-query-suggestions" "5.49.2" - "@algolia/client-search" "5.49.2" - "@algolia/ingestion" "1.49.2" - "@algolia/monitoring" "1.49.2" - "@algolia/recommend" "5.49.2" - "@algolia/requester-browser-xhr" "5.49.2" - "@algolia/requester-fetch" "5.49.2" - "@algolia/requester-node-http" "5.49.2" + "@algolia/cache-browser-local-storage" "4.23.3" + "@algolia/cache-common" "4.23.3" + "@algolia/cache-in-memory" "4.23.3" + "@algolia/client-account" "4.23.3" + "@algolia/client-analytics" "4.23.3" + "@algolia/client-common" "4.23.3" + "@algolia/client-personalization" "4.23.3" + "@algolia/client-search" "4.23.3" + "@algolia/logger-common" "4.23.3" + "@algolia/logger-console" "4.23.3" + "@algolia/recommend" "4.23.3" + "@algolia/requester-browser-xhr" "4.23.3" + "@algolia/requester-common" "4.23.3" + "@algolia/requester-node-http" "4.23.3" + "@algolia/transporter" "4.23.3" -birpc@^2.3.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/birpc/-/birpc-2.9.0.tgz#b59550897e4cd96a223e2a6c1475b572236ed145" - integrity sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw== +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== -ccount@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" - integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== - -character-entities-html4@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" - integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== - -character-entities-legacy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" - integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== - -comma-separated-tokens@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" - integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== - -copy-anything@^4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-4.0.5.tgz#16cabafd1ea4bb327a540b750f2b4df522825aea" - integrity sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA== - dependencies: - is-what "^5.2.0" - -csstype@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" - integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== - -dequal@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -devlop@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" - integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== - dependencies: - dequal "^2.0.0" - -emoji-regex-xs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz#e8af22e5d9dbd7f7f22d280af3d19d2aab5b0724" - integrity sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg== - -entities@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-7.0.1.tgz#26e8a88889db63417dcb9a1e79a3f1bc92b5976b" - integrity sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA== +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== esbuild@^0.21.3: version "0.21.5" @@ -832,139 +638,49 @@ estree-walker@^2.0.2: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== -focus-trap@^7.6.4: - version "7.8.0" - resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.8.0.tgz#b1d9463fa42b93ad7a5223d750493a6c09b672a8" - integrity sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA== +focus-trap@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.5.4.tgz#6c4e342fe1dae6add9c2aa332a6e7a0bbd495ba2" + integrity sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w== dependencies: - tabbable "^6.4.0" + tabbable "^6.2.0" fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -hast-util-to-html@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz#ccc673a55bb8e85775b08ac28380f72d47167005" - integrity sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw== - dependencies: - "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" - ccount "^2.0.0" - comma-separated-tokens "^2.0.0" - hast-util-whitespace "^3.0.0" - html-void-elements "^3.0.0" - mdast-util-to-hast "^13.0.0" - property-information "^7.0.0" - space-separated-tokens "^2.0.0" - stringify-entities "^4.0.0" - zwitch "^2.0.4" - -hast-util-whitespace@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" - integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== - dependencies: - "@types/hast" "^3.0.0" - hookable@^5.5.3: version "5.5.3" resolved "https://registry.yarnpkg.com/hookable/-/hookable-5.5.3.tgz#6cfc358984a1ef991e2518cb9ed4a778bbd3215d" integrity sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ== -html-void-elements@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7" - integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== - -is-what@^5.2.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-5.5.0.tgz#a3031815757cfe1f03fed990bf6355a2d3f628c4" - integrity sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw== - -magic-string@^0.30.21: - version "0.30.21" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.21.tgz#56763ec09a0fa8091df27879fd94d19078c00d91" - integrity sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== +magic-string@^0.30.10: + version "0.30.10" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e" + integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== dependencies: - "@jridgewell/sourcemap-codec" "^1.5.5" + "@jridgewell/sourcemap-codec" "^1.4.15" mark.js@8.11.1: version "8.11.1" resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5" integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ== -mdast-util-to-hast@^13.0.0: - version "13.2.1" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz#d7ff84ca499a57e2c060ae67548ad950e689a053" - integrity sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA== - dependencies: - "@types/hast" "^3.0.0" - "@types/mdast" "^4.0.0" - "@ungap/structured-clone" "^1.0.0" - devlop "^1.0.0" - micromark-util-sanitize-uri "^2.0.0" - trim-lines "^3.0.0" - unist-util-position "^5.0.0" - unist-util-visit "^5.0.0" - vfile "^6.0.0" - -micromark-util-character@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" - integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== - dependencies: - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" - -micromark-util-encode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" - integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== - -micromark-util-sanitize-uri@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" - integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== - dependencies: - micromark-util-character "^2.0.0" - micromark-util-encode "^2.0.0" - micromark-util-symbol "^2.0.0" - -micromark-util-symbol@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" - integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== - -micromark-util-types@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" - integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== - -minisearch@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-7.2.0.tgz#3dc30e41e9464b3836553b6d969b656614f8f359" - integrity sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg== +minisearch@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.3.0.tgz#985a2f1ca3c73c2d65af94f0616bfe57164b0b6b" + integrity sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ== mitt@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1" integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== -nanoid@^3.3.16: - version "3.3.16" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.16.tgz#a04d8ec4b1f10009d2d533947aefe4293737816c" - integrity sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q== - -oniguruma-to-es@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz#480e4bac4d3bc9439ac0d2124f0725e7a0d76d17" - integrity sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ== - dependencies: - emoji-regex-xs "^1.0.0" - regex "^6.0.1" - regex-recursion "^6.0.2" +nanoid@^3.3.8: + version "3.3.8" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" + integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== perfect-debounce@^1.0.0: version "1.0.0" @@ -976,192 +692,81 @@ picocolors@^1.1.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -postcss@^8.4.43, postcss@^8.5.8: - version "8.5.25" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.25.tgz#5012a598eaaa897f21bbe8553be3cb7bd2bd78cb" - integrity sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw== +postcss@^8.4.38, postcss@^8.4.43: + version "8.5.1" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.1.tgz#e2272a1f8a807fafa413218245630b5db10a3214" + integrity sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ== dependencies: - nanoid "^3.3.16" + nanoid "^3.3.8" picocolors "^1.1.1" source-map-js "^1.2.1" preact@^10.0.0: - version "10.29.0" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.29.0.tgz#a6e5858670b659c4d471c6fea232233e03b403e8" - integrity sha512-wSAGyk2bYR1c7t3SZ3jHcM6xy0lcBcDel6lODcs9ME6Th++Dx2KU+6D3HD8wMMKGA8Wpw7OMd3/4RGzYRpzwRg== + version "10.20.2" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.20.2.tgz#0b343299a8c020562311cc25db93b3d832ec5e71" + integrity sha512-S1d1ernz3KQ+Y2awUxKakpfOg2CEmJmwOP+6igPx6dgr6pgDvenqYviyokWso2rhHvGtTlWWnJDa7RaPbQerTg== -property-information@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d" - integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ== - -regex-recursion@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/regex-recursion/-/regex-recursion-6.0.2.tgz#a0b1977a74c87f073377b938dbedfab2ea582b33" - integrity sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg== - dependencies: - regex-utilities "^2.3.0" - -regex-utilities@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/regex-utilities/-/regex-utilities-2.3.0.tgz#87163512a15dce2908cf079c8960d5158ff43280" - integrity sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng== - -regex@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/regex/-/regex-6.1.0.tgz#d7ce98f8ee32da7497c13f6601fca2bc4a6a7803" - integrity sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg== - dependencies: - regex-utilities "^2.3.0" - -rfdc@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" - integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== +rfdc@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== rollup@^4.20.0: - version "4.59.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.59.0.tgz#cf74edac17c1486f562d728a4d923a694abdf06f" - integrity sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg== + version "4.31.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.31.0.tgz#b84af969a0292cb047dce2c0ec5413a9457597a4" + integrity sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw== dependencies: - "@types/estree" "1.0.8" + "@types/estree" "1.0.6" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.59.0" - "@rollup/rollup-android-arm64" "4.59.0" - "@rollup/rollup-darwin-arm64" "4.59.0" - "@rollup/rollup-darwin-x64" "4.59.0" - "@rollup/rollup-freebsd-arm64" "4.59.0" - "@rollup/rollup-freebsd-x64" "4.59.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.59.0" - "@rollup/rollup-linux-arm-musleabihf" "4.59.0" - "@rollup/rollup-linux-arm64-gnu" "4.59.0" - "@rollup/rollup-linux-arm64-musl" "4.59.0" - "@rollup/rollup-linux-loong64-gnu" "4.59.0" - "@rollup/rollup-linux-loong64-musl" "4.59.0" - "@rollup/rollup-linux-ppc64-gnu" "4.59.0" - "@rollup/rollup-linux-ppc64-musl" "4.59.0" - "@rollup/rollup-linux-riscv64-gnu" "4.59.0" - "@rollup/rollup-linux-riscv64-musl" "4.59.0" - "@rollup/rollup-linux-s390x-gnu" "4.59.0" - "@rollup/rollup-linux-x64-gnu" "4.59.0" - "@rollup/rollup-linux-x64-musl" "4.59.0" - "@rollup/rollup-openbsd-x64" "4.59.0" - "@rollup/rollup-openharmony-arm64" "4.59.0" - "@rollup/rollup-win32-arm64-msvc" "4.59.0" - "@rollup/rollup-win32-ia32-msvc" "4.59.0" - "@rollup/rollup-win32-x64-gnu" "4.59.0" - "@rollup/rollup-win32-x64-msvc" "4.59.0" + "@rollup/rollup-android-arm-eabi" "4.31.0" + "@rollup/rollup-android-arm64" "4.31.0" + "@rollup/rollup-darwin-arm64" "4.31.0" + "@rollup/rollup-darwin-x64" "4.31.0" + "@rollup/rollup-freebsd-arm64" "4.31.0" + "@rollup/rollup-freebsd-x64" "4.31.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.31.0" + "@rollup/rollup-linux-arm-musleabihf" "4.31.0" + "@rollup/rollup-linux-arm64-gnu" "4.31.0" + "@rollup/rollup-linux-arm64-musl" "4.31.0" + "@rollup/rollup-linux-loongarch64-gnu" "4.31.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.31.0" + "@rollup/rollup-linux-riscv64-gnu" "4.31.0" + "@rollup/rollup-linux-s390x-gnu" "4.31.0" + "@rollup/rollup-linux-x64-gnu" "4.31.0" + "@rollup/rollup-linux-x64-musl" "4.31.0" + "@rollup/rollup-win32-arm64-msvc" "4.31.0" + "@rollup/rollup-win32-ia32-msvc" "4.31.0" + "@rollup/rollup-win32-x64-msvc" "4.31.0" fsevents "~2.3.2" -shiki@^2.1.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-2.5.0.tgz#09d01ebf3b0b06580431ce3ddc023320442cf223" - integrity sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ== +shiki@1.3.0, shiki@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-1.3.0.tgz#3eda35cb49f6f0a98525e9da48fc072e6c655a3f" + integrity sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww== dependencies: - "@shikijs/core" "2.5.0" - "@shikijs/engine-javascript" "2.5.0" - "@shikijs/engine-oniguruma" "2.5.0" - "@shikijs/langs" "2.5.0" - "@shikijs/themes" "2.5.0" - "@shikijs/types" "2.5.0" - "@shikijs/vscode-textmate" "^10.0.2" - "@types/hast" "^3.0.4" + "@shikijs/core" "1.3.0" + +source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== source-map-js@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== -space-separated-tokens@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" - integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== - speakingurl@^14.0.1: version "14.0.1" resolved "https://registry.yarnpkg.com/speakingurl/-/speakingurl-14.0.1.tgz#f37ec8ddc4ab98e9600c1c9ec324a8c48d772a53" integrity sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ== -stringify-entities@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.4.tgz#b3b79ef5f277cc4ac73caeb0236c5ba939b3a4f3" - integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== - dependencies: - character-entities-html4 "^2.0.0" - character-entities-legacy "^3.0.0" +tabbable@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" + integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== -superjson@^2.2.2: - version "2.2.6" - resolved "https://registry.yarnpkg.com/superjson/-/superjson-2.2.6.tgz#a223a3a988172a5f9656e2063fe5f733af40d099" - integrity sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA== - dependencies: - copy-anything "^4" - -tabbable@^6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.4.0.tgz#36eb7a06d80b3924a22095daf45740dea3bf5581" - integrity sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg== - -trim-lines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" - integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== - -unist-util-is@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.1.tgz#d0a3f86f2dd0db7acd7d8c2478080b5c67f9c6a9" - integrity sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-position@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" - integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-stringify-position@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" - integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== - dependencies: - "@types/unist" "^3.0.0" - -unist-util-visit-parents@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz#777df7fb98652ce16b4b7cd999d0a1a40efa3a02" - integrity sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - -unist-util-visit@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.1.0.tgz#9a2a28b0aa76a15e0da70a08a5863a2f060e2468" - integrity sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg== - dependencies: - "@types/unist" "^3.0.0" - unist-util-is "^6.0.0" - unist-util-visit-parents "^6.0.0" - -vfile-message@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.3.tgz#87b44dddd7b70f0641c2e3ed0864ba73e2ea8df4" - integrity sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw== - dependencies: - "@types/unist" "^3.0.0" - unist-util-stringify-position "^4.0.0" - -vfile@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.3.tgz#3652ab1c496531852bf55a6bac57af981ebc38ab" - integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== - dependencies: - "@types/unist" "^3.0.0" - vfile-message "^4.0.0" - -vite@^5.4.14: +vite@^5.2.9, vite@^5.4.21: version "5.4.21" resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.21.tgz#84a4f7c5d860b071676d39ba513c0d598fdc7027" integrity sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw== @@ -1172,47 +777,44 @@ vite@^5.4.14: optionalDependencies: fsevents "~2.3.3" -vitepress-plugin-tabs@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/vitepress-plugin-tabs/-/vitepress-plugin-tabs-0.8.0.tgz#4509330ccc0cb04a4aca0f43160108270a21d143" - integrity sha512-86FWHAuS9XCyTMDpMd5MELwp3bQyITDf/+IdZ20+iYbB8TIR8yoCp08PkDHxi4WWSVsCZ3n1uUIC7YCVhMsI3A== +vitepress-plugin-tabs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/vitepress-plugin-tabs/-/vitepress-plugin-tabs-0.5.0.tgz#2b193a72ed36b9fcd63e3907d3044fe7b6cf3e4e" + integrity sha512-SIhFWwGsUkTByfc2b279ray/E0Jt8vDTsM1LiHxmCOBAEMmvzIBZSuYYT1DpdDTiS3SuJieBheJkYnwCq/yD9A== -vitepress@^1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.6.4.tgz#1b6c68fede541a3f401a66263dce0c985e2d8d92" - integrity sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg== +vitepress@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.1.3.tgz#ded22392f5274680aaba8bb81dd4fb1c4741c02e" + integrity sha512-hGrIYN0w9IHWs0NQSnlMjKV/v/HLfD+Ywv5QdvCSkiT32mpNOOwUrZjnqZv/JL/WBPpUc94eghTUvmipxw0xrA== dependencies: - "@docsearch/css" "3.8.2" - "@docsearch/js" "3.8.2" - "@iconify-json/simple-icons" "^1.2.21" - "@shikijs/core" "^2.1.0" - "@shikijs/transformers" "^2.1.0" - "@shikijs/types" "^2.1.0" - "@types/markdown-it" "^14.1.2" - "@vitejs/plugin-vue" "^5.2.1" - "@vue/devtools-api" "^7.7.0" - "@vue/shared" "^3.5.13" - "@vueuse/core" "^12.4.0" - "@vueuse/integrations" "^12.4.0" - focus-trap "^7.6.4" + "@docsearch/css" "^3.6.0" + "@docsearch/js" "^3.6.0" + "@shikijs/core" "^1.3.0" + "@shikijs/transformers" "^1.3.0" + "@types/markdown-it" "^14.0.1" + "@vitejs/plugin-vue" "^5.0.4" + "@vue/devtools-api" "^7.0.27" + "@vueuse/core" "^10.9.0" + "@vueuse/integrations" "^10.9.0" + focus-trap "^7.5.4" mark.js "8.11.1" - minisearch "^7.1.1" - shiki "^2.1.0" - vite "^5.4.14" - vue "^3.5.13" + minisearch "^6.3.0" + shiki "^1.3.0" + vite "^5.2.9" + vue "^3.4.23" -vue@^3.5.13: - version "3.5.30" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.5.30.tgz#66df25e9795af3e5522b36f24f3d290fde83f8a0" - integrity sha512-hTHLc6VNZyzzEH/l7PFGjpcTvUgiaPK5mdLkbjrTeWSRcEfxFrv56g/XckIYlE9ckuobsdwqd5mk2g1sBkMewg== +vue-demi@>=0.14.7: + version "0.14.7" + resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.7.tgz#8317536b3ef74c5b09f268f7782e70194567d8f2" + integrity sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA== + +vue@^3.4.23, vue@^3.4.24: + version "3.4.24" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.24.tgz#f269549939a6c092480f018aa0bd886ba64f4c6f" + integrity sha512-NPdx7dLGyHmKHGRRU5bMRYVE+rechR+KDU5R2tSTNG36PuMwbfAJ+amEvOAw7BPfZp5sQulNELSLm5YUkau+Sg== dependencies: - "@vue/compiler-dom" "3.5.30" - "@vue/compiler-sfc" "3.5.30" - "@vue/runtime-dom" "3.5.30" - "@vue/server-renderer" "3.5.30" - "@vue/shared" "3.5.30" - -zwitch@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== + "@vue/compiler-dom" "3.4.24" + "@vue/compiler-sfc" "3.4.24" + "@vue/runtime-dom" "3.4.24" + "@vue/server-renderer" "3.4.24" + "@vue/shared" "3.4.24" diff --git a/builddefs/locate_keymap.mk b/builddefs/locate_keymap.mk deleted file mode 100644 index 3e95424a6c..0000000000 --- a/builddefs/locate_keymap.mk +++ /dev/null @@ -1,64 +0,0 @@ -MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP) -MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP) -MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP) -MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP) -MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP) - -POTENTIAL_KEYMAP_PATHS += $(MAIN_KEYMAP_PATH_1) -POTENTIAL_KEYMAP_PATHS += $(MAIN_KEYMAP_PATH_2) -POTENTIAL_KEYMAP_PATHS += $(MAIN_KEYMAP_PATH_3) -POTENTIAL_KEYMAP_PATHS += $(MAIN_KEYMAP_PATH_4) -POTENTIAL_KEYMAP_PATHS += $(MAIN_KEYMAP_PATH_5) - -ifneq ($(QMK_USERSPACE),) - POTENTIAL_KEYMAP_PATHS += $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1) - POTENTIAL_KEYMAP_PATHS += $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2) - POTENTIAL_KEYMAP_PATHS += $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3) - POTENTIAL_KEYMAP_PATHS += $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4) - POTENTIAL_KEYMAP_PATHS += $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5) -endif - -define SEARCH_POTENTIAL_LOCATION - POTENTIAL_DIR := $1 - ifeq ("$$(wildcard $$(KEYMAP_PATH))", "") - POTENTIAL_KEYMAP_JSON := $$(POTENTIAL_DIR)/keymap.json - POTENTIAL_KEYMAP_C := $$(POTENTIAL_DIR)/keymap.c - ifneq ("$$(wildcard $$(POTENTIAL_KEYMAP_JSON))","") - KEYMAP_JSON := $$(POTENTIAL_KEYMAP_JSON) - KEYMAP_PATH := $$(POTENTIAL_DIR) - endif - ifneq ("$$(wildcard $$(POTENTIAL_KEYMAP_C))","") - KEYMAP_C := $$(POTENTIAL_KEYMAP_C) - KEYMAP_PATH := $$(POTENTIAL_DIR) - endif - endif -endef - -$(foreach KM_DIR,$(POTENTIAL_KEYMAP_PATHS),$(eval $(call SEARCH_POTENTIAL_LOCATION, $(KM_DIR)))) - -LAYOUTS_PATH := layouts -LAYOUTS_REPOS := $(patsubst %/,%,$(sort $(dir $(wildcard $(LAYOUTS_PATH)/*/)))) - -ifneq ($(QMK_USERSPACE),) - LAYOUTS_REPOS += $(patsubst %/,%,$(QMK_USERSPACE)/$(LAYOUTS_PATH)) -endif - -define SEARCH_LAYOUTS - $$(foreach LAYOUTS_REPO,$$(LAYOUTS_REPOS),$$(eval $$(call SEARCH_POTENTIAL_LOCATION,$$(LAYOUTS_REPO)/$$(LAYOUT)/$$(KEYMAP)))) -endef - -ifneq ($(FORCE_LAYOUT),) - ifneq (,$(findstring $(FORCE_LAYOUT),$(LAYOUTS))) - $(info Forcing layout: $(FORCE_LAYOUT)) - LAYOUTS := $(FORCE_LAYOUT) - else - $(call CATASTROPHIC_ERROR,Invalid layout,Forced layout does not exist) - endif -endif - -$(foreach LAYOUT,$(LAYOUTS),$(eval $(call SEARCH_LAYOUTS))) - -ifeq ("$$(wildcard $$(KEYMAP_PATH))", "") - $(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap) - # this state should never be reached -endif diff --git a/builddefs/message.mk b/builddefs/message.mk index 16cfc07b0c..7c8f87f990 100644 --- a/builddefs/message.mk +++ b/builddefs/message.mk @@ -77,13 +77,13 @@ define GENERATE_MSG_MAKE_KB endef MSG_MAKE_KB = $(eval $(call GENERATE_MSG_MAKE_KB))$(MSG_MAKE_KB_ACTUAL) define GENERATE_MSG_MAKE_TEST - MSG_MAKE_TEST_ACTUAL := Making test $(BOLD)$(TEST_ID)$(NO_COLOR) + MSG_MAKE_TEST_ACTUAL := Making test $(BOLD)$(TEST_NAME)$(NO_COLOR) ifneq ($$(MAKE_TARGET),) MSG_MAKE_TEST_ACTUAL += with target $(BOLD)$$(MAKE_TARGET)$(NO_COLOR) endif endef MSG_MAKE_TEST = $(eval $(call GENERATE_MSG_MAKE_TEST))$(MSG_MAKE_TEST_ACTUAL) -MSG_TEST = Testing $(BOLD)$(TEST_ID)$(NO_COLOR) +MSG_TEST = Testing $(BOLD)$(TEST_NAME)$(NO_COLOR) define GENERATE_MSG_AVAILABLE_KEYMAPS MSG_AVAILABLE_KEYMAPS_ACTUAL := Available keymaps for $(BOLD)$$(CURRENT_KB)$(NO_COLOR): endef diff --git a/builddefs/support.mk b/builddefs/support.mk index de1d3fd5c4..7ef7b9b041 100644 --- a/builddefs/support.mk +++ b/builddefs/support.mk @@ -4,7 +4,7 @@ # $(2) = option to use if $(1) is not supported # $(3) = additional arguments to pass to the compiler during the test, but aren't contained in the output cc-option = $(shell \ - if { echo 'int main(){return 0;}' | $(CC) $(1) $(3) -Wl,--unresolved-symbols=ignore-all -o /dev/null -x c /dev/null >/dev/null 2>&1; }; \ + if { echo 'int main(){return 0;}' | $(CC) $(1) $(3) -o /dev/null -x c /dev/null >/dev/null 2>&1; }; \ then echo "$(1)"; else echo "$(2)"; fi) # Helper to pass comma character to make functions (use with `$(,)` to pass in `$(call ...)` arguments) diff --git a/data/constants/keycodes/keycodes_0.0.1_audio.hjson b/data/constants/keycodes/keycodes_0.0.1_audio.hjson index 01a7ebaf33..e1d3ac3a0f 100644 --- a/data/constants/keycodes/keycodes_0.0.1_audio.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_audio.hjson @@ -3,7 +3,6 @@ "0x7480": { "group": "audio", "key": "QK_AUDIO_ON", - "label": "Audio On", "aliases": [ "AU_ON" ] @@ -11,7 +10,6 @@ "0x7481": { "group": "audio", "key": "QK_AUDIO_OFF", - "label": "Audio Off", "aliases": [ "AU_OFF" ] @@ -19,7 +17,6 @@ "0x7482": { "group": "audio", "key": "QK_AUDIO_TOGGLE", - "label": "Toggle Audio", "aliases": [ "AU_TOGG" ] @@ -28,7 +25,6 @@ "0x748A": { "group": "audio", "key": "QK_AUDIO_CLICKY_TOGGLE", - "label": "Toggle Audio Clicky", "aliases": [ "CK_TOGG" ] @@ -36,7 +32,6 @@ "0x748B": { "group": "audio", "key": "QK_AUDIO_CLICKY_ON", - "label": "Audio Clicky On", "aliases": [ "CK_ON" ] @@ -44,7 +39,6 @@ "0x748C": { "group": "audio", "key": "QK_AUDIO_CLICKY_OFF", - "label": "Audio Clicky Off", "aliases": [ "CK_OFF" ] @@ -52,7 +46,6 @@ "0x748D": { "group": "audio", "key": "QK_AUDIO_CLICKY_UP", - "label": "Audio Clicky Up", "aliases": [ "CK_UP" ] @@ -60,7 +53,6 @@ "0x748E": { "group": "audio", "key": "QK_AUDIO_CLICKY_DOWN", - "label": "Audio Clicky Down", "aliases": [ "CK_DOWN" ] @@ -68,7 +60,6 @@ "0x748F": { "group": "audio", "key": "QK_AUDIO_CLICKY_RESET", - "label": "Audio Clicky Reset", "aliases": [ "CK_RST" ] @@ -77,7 +68,6 @@ "0x7490": { "group": "audio", "key": "QK_MUSIC_ON", - "label": "Music On", "aliases": [ "MU_ON" ] @@ -85,7 +75,6 @@ "0x7491": { "group": "audio", "key": "QK_MUSIC_OFF", - "label": "Music Off", "aliases": [ "MU_OFF" ] @@ -93,7 +82,6 @@ "0x7492": { "group": "audio", "key": "QK_MUSIC_TOGGLE", - "label": "Toggle Music", "aliases": [ "MU_TOGG" ] @@ -101,7 +89,6 @@ "0x7493": { "group": "audio", "key": "QK_MUSIC_MODE_NEXT", - "label": "Music Next", "aliases": [ "MU_NEXT" ] @@ -110,7 +97,6 @@ "0x7494": { "group": "audio", "key": "QK_AUDIO_VOICE_NEXT", - "label": "Audio Voice Next", "aliases": [ "AU_NEXT" ] @@ -118,7 +104,6 @@ "0x7495": { "group": "audio", "key": "QK_AUDIO_VOICE_PREVIOUS", - "label": "Audio Voice Previous", "aliases": [ "AU_PREV" ] diff --git a/data/constants/keycodes/keycodes_0.0.1_basic.hjson b/data/constants/keycodes/keycodes_0.0.1_basic.hjson index 7dcf4a3783..66aba7b1fc 100644 --- a/data/constants/keycodes/keycodes_0.0.1_basic.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_basic.hjson @@ -3,7 +3,7 @@ "0x0000": { "group": "internal", "key": "KC_NO", - "label": "N/A", + "label": "", "aliases": [ "XXXXXXX" ] @@ -11,7 +11,7 @@ "0x0001": { "group": "internal", "key": "KC_TRANSPARENT", - "label": "Transparent", + "label": "", "aliases": [ "_______", "KC_TRNS" @@ -634,7 +634,7 @@ "0x0065": { "group": "basic", "key": "KC_APPLICATION", - "label": "App", + "label": "Application", "aliases": [ "KC_APP" ] @@ -642,7 +642,7 @@ "0x0066": { "group": "basic", "key": "KC_KB_POWER", - "label": "Power" + "label": "Application" }, "0x0067": { "group": "basic", @@ -1068,7 +1068,7 @@ "0x00A5": { "group": "system", "key": "KC_SYSTEM_POWER", - "label": "Power", + "label": "System Power Down", "aliases": [ "KC_PWR" ] @@ -1076,7 +1076,7 @@ "0x00A6": { "group": "system", "key": "KC_SYSTEM_SLEEP", - "label": "Sleep", + "label": "System Sleep", "aliases": [ "KC_SLEP" ] @@ -1084,7 +1084,7 @@ "0x00A7": { "group": "system", "key": "KC_SYSTEM_WAKE", - "label": "Wake", + "label": "System Wake", "aliases": [ "KC_WAKE" ] @@ -1140,7 +1140,7 @@ "0x00AE": { "group": "media", "key": "KC_MEDIA_PLAY_PAUSE", - "label": "Play/Pause", + "label": "Play/Pause Track", "aliases": [ "KC_MPLY" ] @@ -1148,7 +1148,7 @@ "0x00AF": { "group": "media", "key": "KC_MEDIA_SELECT", - "label": "Media", + "label": "Launch Player", "aliases": [ "KC_MSEL" ] @@ -1164,12 +1164,12 @@ "0x00B1": { "group": "media", "key": "KC_MAIL", - "label": "Mail", + "label": "Launch Mail" }, "0x00B2": { "group": "media", "key": "KC_CALCULATOR", - "label": "Calculator", + "label": "Launch Calculator", "aliases": [ "KC_CALC" ] @@ -1177,7 +1177,7 @@ "0x00B3": { "group": "media", "key": "KC_MY_COMPUTER", - "label": "My Computer", + "label": "Launch My Computer", "aliases": [ "KC_MYCM" ] @@ -1185,7 +1185,7 @@ "0x00B4": { "group": "media", "key": "KC_WWW_SEARCH", - "label": "Search", + "label": "Browser Search", "aliases": [ "KC_WSCH" ] @@ -1193,7 +1193,7 @@ "0x00B5": { "group": "media", "key": "KC_WWW_HOME", - "label": "Home", + "label": "Browser Home", "aliases": [ "KC_WHOM" ] @@ -1201,7 +1201,7 @@ "0x00B6": { "group": "media", "key": "KC_WWW_BACK", - "label": "Back", + "label": "Browser Back", "aliases": [ "KC_WBAK" ] @@ -1209,7 +1209,7 @@ "0x00B7": { "group": "media", "key": "KC_WWW_FORWARD", - "label": "Forward", + "label": "Browser Forward", "aliases": [ "KC_WFWD" ] @@ -1217,7 +1217,7 @@ "0x00B8": { "group": "media", "key": "KC_WWW_STOP", - "label": "Stop", + "label": "Browser Stop", "aliases": [ "KC_WSTP" ] @@ -1225,7 +1225,7 @@ "0x00B9": { "group": "media", "key": "KC_WWW_REFRESH", - "label": "Refresh", + "label": "Browser Refresh", "aliases": [ "KC_WREF" ] @@ -1233,7 +1233,7 @@ "0x00BA": { "group": "media", "key": "KC_WWW_FAVORITES", - "label": "Favorites", + "label": "Browser Favorites", "aliases": [ "KC_WFAV" ] @@ -1241,7 +1241,7 @@ "0x00BB": { "group": "media", "key": "KC_MEDIA_FAST_FORWARD", - "label": "Fast Forward", + "label": "Next Track", "aliases": [ "KC_MFFD" ] @@ -1249,7 +1249,7 @@ "0x00BC": { "group": "media", "key": "KC_MEDIA_REWIND", - "label": "Rewind", + "label": "Previous Track", "aliases": [ "KC_MRWD" ] @@ -1273,7 +1273,7 @@ "0x00BF": { "group": "media", "key": "KC_CONTROL_PANEL", - "label": "Control Panel", + "label": "Open Control Panel", "aliases": [ "KC_CPNL" ] @@ -1281,7 +1281,7 @@ "0x00C0": { "group": "media", "key": "KC_ASSISTANT", - "label": "Assistant", + "label": "Launch Assistant", "aliases": [ "KC_ASST" ] diff --git a/data/constants/keycodes/keycodes_0.0.1_joystick.hjson b/data/constants/keycodes/keycodes_0.0.1_joystick.hjson index 3e5f99c93d..b851d72eef 100644 --- a/data/constants/keycodes/keycodes_0.0.1_joystick.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_joystick.hjson @@ -3,7 +3,6 @@ "0x7400": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_0", - "label": "Button 0", "aliases": [ "JS_0" ] @@ -11,7 +10,6 @@ "0x7401": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_1", - "label": "Button 1", "aliases": [ "JS_1" ] @@ -19,7 +17,6 @@ "0x7402": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_2", - "label": "Button 2", "aliases": [ "JS_2" ] @@ -27,7 +24,6 @@ "0x7403": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_3", - "label": "Button 3", "aliases": [ "JS_3" ] @@ -35,7 +31,6 @@ "0x7404": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_4", - "label": "Button 4", "aliases": [ "JS_4" ] @@ -43,7 +38,6 @@ "0x7405": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_5", - "label": "Button 5", "aliases": [ "JS_5" ] @@ -51,7 +45,6 @@ "0x7406": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_6", - "label": "Button 6", "aliases": [ "JS_6" ] @@ -59,7 +52,6 @@ "0x7407": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_7", - "label": "Button 7", "aliases": [ "JS_7" ] @@ -67,7 +59,6 @@ "0x7408": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_8", - "label": "Button 8", "aliases": [ "JS_8" ] @@ -75,7 +66,6 @@ "0x7409": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_9", - "label": "Button 9", "aliases": [ "JS_9" ] @@ -83,7 +73,6 @@ "0x740A": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_10", - "label": "Button 10", "aliases": [ "JS_10" ] @@ -91,7 +80,6 @@ "0x740B": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_11", - "label": "Button 11", "aliases": [ "JS_11" ] @@ -99,7 +87,6 @@ "0x740C": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_12", - "label": "Button 12", "aliases": [ "JS_12" ] @@ -107,7 +94,6 @@ "0x740D": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_13", - "label": "Button 13", "aliases": [ "JS_13" ] @@ -115,7 +101,6 @@ "0x740E": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_14", - "label": "Button 14", "aliases": [ "JS_14" ] @@ -123,7 +108,6 @@ "0x740F": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_15", - "label": "Button 15", "aliases": [ "JS_15" ] @@ -131,7 +115,6 @@ "0x7410": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_16", - "label": "Button 16", "aliases": [ "JS_16" ] @@ -139,7 +122,6 @@ "0x7411": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_17", - "label": "Button 17", "aliases": [ "JS_17" ] @@ -147,7 +129,6 @@ "0x7412": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_18", - "label": "Button 18", "aliases": [ "JS_18" ] @@ -155,7 +136,6 @@ "0x7413": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_19", - "label": "Button 19", "aliases": [ "JS_19" ] @@ -163,7 +143,6 @@ "0x7414": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_20", - "label": "Button 20", "aliases": [ "JS_20" ] @@ -171,7 +150,6 @@ "0x7415": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_21", - "label": "Button 21", "aliases": [ "JS_21" ] @@ -179,7 +157,6 @@ "0x7416": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_22", - "label": "Button 22", "aliases": [ "JS_22" ] @@ -187,7 +164,6 @@ "0x7417": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_23", - "label": "Button 23", "aliases": [ "JS_23" ] @@ -195,7 +171,6 @@ "0x7418": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_24", - "label": "Button 24", "aliases": [ "JS_24" ] @@ -203,7 +178,6 @@ "0x7419": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_25", - "label": "Button 25", "aliases": [ "JS_25" ] @@ -211,7 +185,6 @@ "0x741A": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_26", - "label": "Button 26", "aliases": [ "JS_26" ] @@ -219,7 +192,6 @@ "0x741B": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_27", - "label": "Button 27", "aliases": [ "JS_27" ] @@ -227,7 +199,6 @@ "0x741C": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_28", - "label": "Button 28", "aliases": [ "JS_28" ] @@ -235,7 +206,6 @@ "0x741D": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_29", - "label": "Button 29", "aliases": [ "JS_29" ] @@ -243,7 +213,6 @@ "0x741E": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_30", - "label": "Button 30", "aliases": [ "JS_30" ] @@ -251,7 +220,6 @@ "0x741F": { "group": "joystick", "key": "QK_JOYSTICK_BUTTON_31", - "label": "Button 31", "aliases": [ "JS_31" ] diff --git a/data/constants/keycodes/keycodes_0.0.1_lighting.hjson b/data/constants/keycodes/keycodes_0.0.1_lighting.hjson index 5e377b02f5..77275cec29 100644 --- a/data/constants/keycodes/keycodes_0.0.1_lighting.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_lighting.hjson @@ -3,7 +3,6 @@ "0x7800": { "group": "backlight", "key": "QK_BACKLIGHT_ON", - "label": "Backlight On", "aliases": [ "BL_ON" ] @@ -11,7 +10,6 @@ "0x7801": { "group": "backlight", "key": "QK_BACKLIGHT_OFF", - "label": "Backlight Off", "aliases": [ "BL_OFF" ] @@ -19,7 +17,6 @@ "0x7802": { "group": "backlight", "key": "QK_BACKLIGHT_TOGGLE", - "label": "Toggle Backlight", "aliases": [ "BL_TOGG" ] @@ -27,7 +24,6 @@ "0x7803": { "group": "backlight", "key": "QK_BACKLIGHT_DOWN", - "label": "Backlight Down", "aliases": [ "BL_DOWN" ] @@ -35,7 +31,6 @@ "0x7804": { "group": "backlight", "key": "QK_BACKLIGHT_UP", - "label": "Backlight Up", "aliases": [ "BL_UP" ] @@ -43,7 +38,6 @@ "0x7805": { "group": "backlight", "key": "QK_BACKLIGHT_STEP", - "label": "Backlight Step", "aliases": [ "BL_STEP" ] @@ -51,7 +45,6 @@ "0x7806": { "group": "backlight", "key": "QK_BACKLIGHT_TOGGLE_BREATHING", - "label": "Toggle Breathing", "aliases": [ "BL_BRTG" ] diff --git a/data/constants/keycodes/keycodes_0.0.1_macro.hjson b/data/constants/keycodes/keycodes_0.0.1_macro.hjson index 2d7d83d2e6..409853fed9 100644 --- a/data/constants/keycodes/keycodes_0.0.1_macro.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_macro.hjson @@ -1,9 +1,9 @@ { "keycodes": { + "0x7700": { "group": "macro", "key": "QK_MACRO_0", - "label": "Macro 0", "aliases": [ "MC_0" ] @@ -11,7 +11,6 @@ "0x7701": { "group": "macro", "key": "QK_MACRO_1", - "label": "Macro 1", "aliases": [ "MC_1" ] @@ -19,7 +18,6 @@ "0x7702": { "group": "macro", "key": "QK_MACRO_2", - "label": "Macro 2", "aliases": [ "MC_2" ] @@ -27,7 +25,6 @@ "0x7703": { "group": "macro", "key": "QK_MACRO_3", - "label": "Macro 3", "aliases": [ "MC_3" ] @@ -35,7 +32,6 @@ "0x7704": { "group": "macro", "key": "QK_MACRO_4", - "label": "Macro 4", "aliases": [ "MC_4" ] @@ -43,7 +39,6 @@ "0x7705": { "group": "macro", "key": "QK_MACRO_5", - "label": "Macro 5", "aliases": [ "MC_5" ] @@ -51,7 +46,6 @@ "0x7706": { "group": "macro", "key": "QK_MACRO_6", - "label": "Macro 6", "aliases": [ "MC_6" ] @@ -59,7 +53,6 @@ "0x7707": { "group": "macro", "key": "QK_MACRO_7", - "label": "Macro 7", "aliases": [ "MC_7" ] @@ -67,7 +60,6 @@ "0x7708": { "group": "macro", "key": "QK_MACRO_8", - "label": "Macro 8", "aliases": [ "MC_8" ] @@ -75,7 +67,6 @@ "0x7709": { "group": "macro", "key": "QK_MACRO_9", - "label": "Macro 9", "aliases": [ "MC_9" ] @@ -83,7 +74,6 @@ "0x770A": { "group": "macro", "key": "QK_MACRO_10", - "label": "Macro 10", "aliases": [ "MC_10" ] @@ -91,7 +81,6 @@ "0x770B": { "group": "macro", "key": "QK_MACRO_11", - "label": "Macro 11", "aliases": [ "MC_11" ] @@ -99,7 +88,6 @@ "0x770C": { "group": "macro", "key": "QK_MACRO_12", - "label": "Macro 12", "aliases": [ "MC_12" ] @@ -107,7 +95,6 @@ "0x770D": { "group": "macro", "key": "QK_MACRO_13", - "label": "Macro 13", "aliases": [ "MC_13" ] @@ -115,7 +102,6 @@ "0x770E": { "group": "macro", "key": "QK_MACRO_14", - "label": "Macro 14", "aliases": [ "MC_14" ] @@ -123,7 +109,6 @@ "0x770F": { "group": "macro", "key": "QK_MACRO_15", - "label": "Macro 15", "aliases": [ "MC_15" ] @@ -131,7 +116,6 @@ "0x7710": { "group": "macro", "key": "QK_MACRO_16", - "label": "Macro 16", "aliases": [ "MC_16" ] @@ -139,7 +123,6 @@ "0x7711": { "group": "macro", "key": "QK_MACRO_17", - "label": "Macro 17", "aliases": [ "MC_17" ] @@ -147,7 +130,6 @@ "0x7712": { "group": "macro", "key": "QK_MACRO_18", - "label": "Macro 18", "aliases": [ "MC_18" ] @@ -155,7 +137,6 @@ "0x7713": { "group": "macro", "key": "QK_MACRO_19", - "label": "Macro 19", "aliases": [ "MC_19" ] @@ -163,7 +144,6 @@ "0x7714": { "group": "macro", "key": "QK_MACRO_20", - "label": "Macro 20", "aliases": [ "MC_20" ] @@ -171,7 +151,6 @@ "0x7715": { "group": "macro", "key": "QK_MACRO_21", - "label": "Macro 21", "aliases": [ "MC_21" ] @@ -179,7 +158,6 @@ "0x7716": { "group": "macro", "key": "QK_MACRO_22", - "label": "Macro 22", "aliases": [ "MC_22" ] @@ -187,7 +165,6 @@ "0x7717": { "group": "macro", "key": "QK_MACRO_23", - "label": "Macro 23", "aliases": [ "MC_23" ] @@ -195,7 +172,6 @@ "0x7718": { "group": "macro", "key": "QK_MACRO_24", - "label": "Macro 24", "aliases": [ "MC_24" ] @@ -203,7 +179,6 @@ "0x7719": { "group": "macro", "key": "QK_MACRO_25", - "label": "Macro 25", "aliases": [ "MC_25" ] @@ -211,7 +186,6 @@ "0x771A": { "group": "macro", "key": "QK_MACRO_26", - "label": "Macro 26", "aliases": [ "MC_26" ] @@ -219,7 +193,6 @@ "0x771B": { "group": "macro", "key": "QK_MACRO_27", - "label": "Macro 27", "aliases": [ "MC_27" ] @@ -227,7 +200,6 @@ "0x771C": { "group": "macro", "key": "QK_MACRO_28", - "label": "Macro 28", "aliases": [ "MC_28" ] @@ -235,7 +207,6 @@ "0x771D": { "group": "macro", "key": "QK_MACRO_29", - "label": "Macro 29", "aliases": [ "MC_29" ] @@ -243,7 +214,6 @@ "0x771E": { "group": "macro", "key": "QK_MACRO_30", - "label": "Macro 30", "aliases": [ "MC_30" ] @@ -251,7 +221,6 @@ "0x771F": { "group": "macro", "key": "QK_MACRO_31", - "label": "Macro 31", "aliases": [ "MC_31" ] diff --git a/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson b/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson index 14d734bdd9..7d031728a6 100644 --- a/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson @@ -3,7 +3,6 @@ "0x7440": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_1", - "label": "Button 1", "aliases": [ "PB_1" ] @@ -11,7 +10,6 @@ "0x7441": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_2", - "label": "Button 2", "aliases": [ "PB_2" ] @@ -19,7 +17,6 @@ "0x7442": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_3", - "label": "Button 3", "aliases": [ "PB_3" ] @@ -27,7 +24,6 @@ "0x7443": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_4", - "label": "Button 4", "aliases": [ "PB_4" ] @@ -35,7 +31,6 @@ "0x7444": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_5", - "label": "Button 5", "aliases": [ "PB_5" ] @@ -43,7 +38,6 @@ "0x7445": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_6", - "label": "Button 6", "aliases": [ "PB_6" ] @@ -51,7 +45,6 @@ "0x7446": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_7", - "label": "Button 7", "aliases": [ "PB_7" ] @@ -59,7 +52,6 @@ "0x7447": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_8", - "label": "Button 8", "aliases": [ "PB_8" ] @@ -67,7 +59,6 @@ "0x7448": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_9", - "label": "Button 9", "aliases": [ "PB_9" ] @@ -75,7 +66,6 @@ "0x7449": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_10", - "label": "Button 10", "aliases": [ "PB_10" ] @@ -83,7 +73,6 @@ "0x744A": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_11", - "label": "Button 11", "aliases": [ "PB_11" ] @@ -91,7 +80,6 @@ "0x744B": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_12", - "label": "Button 12", "aliases": [ "PB_12" ] @@ -99,7 +87,6 @@ "0x744C": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_13", - "label": "Button 13", "aliases": [ "PB_13" ] @@ -107,7 +94,6 @@ "0x744D": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_14", - "label": "Button 14", "aliases": [ "PB_14" ] @@ -115,7 +101,6 @@ "0x744E": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_15", - "label": "Button 15", "aliases": [ "PB_15" ] @@ -123,7 +108,6 @@ "0x744F": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_16", - "label": "Button 16", "aliases": [ "PB_16" ] @@ -131,7 +115,6 @@ "0x7450": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_17", - "label": "Button 17", "aliases": [ "PB_17" ] @@ -139,7 +122,6 @@ "0x7451": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_18", - "label": "Button 18", "aliases": [ "PB_18" ] @@ -147,7 +129,6 @@ "0x7452": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_19", - "label": "Button 19", "aliases": [ "PB_19" ] @@ -155,7 +136,6 @@ "0x7453": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_20", - "label": "Button 20", "aliases": [ "PB_20" ] @@ -163,7 +143,6 @@ "0x7454": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_21", - "label": "Button 21", "aliases": [ "PB_21" ] @@ -171,7 +150,6 @@ "0x7455": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_22", - "label": "Button 22", "aliases": [ "PB_22" ] @@ -179,7 +157,6 @@ "0x7456": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_23", - "label": "Button 23", "aliases": [ "PB_23" ] @@ -187,7 +164,6 @@ "0x7457": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_24", - "label": "Button 24", "aliases": [ "PB_24" ] @@ -195,7 +171,6 @@ "0x7458": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_25", - "label": "Button 25", "aliases": [ "PB_25" ] @@ -203,7 +178,6 @@ "0x7459": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_26", - "label": "Button 26", "aliases": [ "PB_26" ] @@ -211,7 +185,6 @@ "0x745A": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_27", - "label": "Button 27", "aliases": [ "PB_27" ] @@ -219,7 +192,6 @@ "0x745B": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_28", - "label": "Button 28", "aliases": [ "PB_28" ] @@ -227,7 +199,6 @@ "0x745C": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_29", - "label": "Button 29", "aliases": [ "PB_29" ] @@ -235,7 +206,6 @@ "0x745D": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_30", - "label": "Button 30", "aliases": [ "PB_30" ] @@ -243,7 +213,6 @@ "0x745E": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_31", - "label": "Button 31", "aliases": [ "PB_31" ] @@ -251,7 +220,6 @@ "0x745F": { "group": "programmable_button", "key": "QK_PROGRAMMABLE_BUTTON_32", - "label": "Button 32", "aliases": [ "PB_32" ] diff --git a/data/constants/keycodes/keycodes_0.0.1_quantum.hjson b/data/constants/keycodes/keycodes_0.0.1_quantum.hjson index f6c646d367..a623bd678d 100644 --- a/data/constants/keycodes/keycodes_0.0.1_quantum.hjson +++ b/data/constants/keycodes/keycodes_0.0.1_quantum.hjson @@ -3,7 +3,6 @@ "0x7C00": { "group": "quantum", "key": "QK_BOOTLOADER", - "label": "Bootloader", "aliases": [ "QK_BOOT" ] @@ -11,7 +10,6 @@ "0x7C01": { "group": "quantum", "key": "QK_REBOOT", - "label": "Reboot", "aliases": [ "QK_RBT" ] @@ -19,7 +17,6 @@ "0x7C02": { "group": "quantum", "key": "QK_DEBUG_TOGGLE", - "label": "Toggle Debug", "aliases": [ "DB_TOGG" ] @@ -27,21 +24,18 @@ "0x7C03": { "group": "quantum", "key": "QK_CLEAR_EEPROM", - "label": "Clear EEPROM", "aliases": [ "EE_CLR" ] }, "0x7C04": { "group": "quantum", - "key": "QK_MAKE", - "label": "Make" + "key": "QK_MAKE" }, "0x7C10": { "group": "quantum", "key": "QK_AUTO_SHIFT_DOWN", - "label": "Auto Shift Down", "aliases": [ "AS_DOWN" ] @@ -49,7 +43,6 @@ "0x7C11": { "group": "quantum", "key": "QK_AUTO_SHIFT_UP", - "label": "Auto Shift Up", "aliases": [ "AS_UP" ] @@ -57,7 +50,6 @@ "0x7C12": { "group": "quantum", "key": "QK_AUTO_SHIFT_REPORT", - "label": "Auto Shift Report", "aliases": [ "AS_RPT" ] @@ -65,7 +57,6 @@ "0x7C13": { "group": "quantum", "key": "QK_AUTO_SHIFT_ON", - "label": "Auto Shift On", "aliases": [ "AS_ON" ] @@ -73,7 +64,6 @@ "0x7C14": { "group": "quantum", "key": "QK_AUTO_SHIFT_OFF", - "label": "Auto Shift Off", "aliases": [ "AS_OFF" ] @@ -81,7 +71,6 @@ "0x7C15": { "group": "quantum", "key": "QK_AUTO_SHIFT_TOGGLE", - "label": "Toggle Auto Shift", "aliases": [ "AS_TOGG" ] @@ -90,7 +79,6 @@ "0x7C16": { "group": "quantum", "key": "QK_GRAVE_ESCAPE", - "label": "Grave Esc", "aliases": [ "QK_GESC" ] @@ -107,7 +95,6 @@ "0x7C18": { "group": "quantum", "key": "QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPEN", - "label": "LCtl/(", "aliases": [ "SC_LCPO" ] @@ -115,7 +102,6 @@ "0x7C19": { "group": "quantum", "key": "QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSE", - "label": "RCtl/)", "aliases": [ "SC_RCPC" ] @@ -123,7 +109,6 @@ "0x7C1A": { "group": "quantum", "key": "QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN", - "label": "LSft/)", "aliases": [ "SC_LSPO" ] @@ -131,7 +116,6 @@ "0x7C1B": { "group": "quantum", "key": "QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSE", - "label": "RSft/)", "aliases": [ "SC_RSPC" ] @@ -139,7 +123,6 @@ "0x7C1C": { "group": "quantum", "key": "QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPEN", - "label": "LAlt/(", "aliases": [ "SC_LAPO" ] @@ -147,7 +130,6 @@ "0x7C1D": { "group": "quantum", "key": "QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSE", - "label": "RAlt/)", "aliases": [ "SC_RAPC" ] @@ -155,7 +137,6 @@ "0x7C1E": { "group": "quantum", "key": "QK_SPACE_CADET_RIGHT_SHIFT_ENTER", - "label": "RSft/Ent", "aliases": [ "SC_SENT" ] @@ -186,7 +167,6 @@ "0x7C30": { "group": "quantum", "key": "QK_UNICODE_MODE_NEXT", - "label": "Unicode Mode Next", "aliases": [ "UC_NEXT" ] @@ -194,7 +174,6 @@ "0x7C31": { "group": "quantum", "key": "QK_UNICODE_MODE_PREVIOUS", - "label": "Unicode Mode Previous", "aliases": [ "UC_PREV" ] @@ -202,7 +181,6 @@ "0x7C32": { "group": "quantum", "key": "QK_UNICODE_MODE_MACOS", - "label": "Unicode Mode macOS", "aliases": [ "UC_MAC" ] @@ -210,7 +188,6 @@ "0x7C33": { "group": "quantum", "key": "QK_UNICODE_MODE_LINUX", - "label": "Unicode Mode Linux", "aliases": [ "UC_LINX" ] @@ -218,7 +195,6 @@ "0x7C34": { "group": "quantum", "key": "QK_UNICODE_MODE_WINDOWS", - "label": "Unicode Mode Windows", "aliases": [ "UC_WIN" ] @@ -226,7 +202,6 @@ "0x7C35": { "group": "quantum", "key": "QK_UNICODE_MODE_BSD", - "label": "Unicode Mode BSD", "aliases": [ "UC_BSD" ] @@ -234,7 +209,6 @@ "0x7C36": { "group": "quantum", "key": "QK_UNICODE_MODE_WINCOMPOSE", - "label": "Unicode Mode WinCompose", "aliases": [ "UC_WINC" ] @@ -242,7 +216,6 @@ "0x7C37": { "group": "quantum", "key": "QK_UNICODE_MODE_EMACS", - "label": "Unicode Mode emacs", "aliases": [ "UC_EMAC" ] @@ -251,7 +224,6 @@ "0x7C40": { "group": "quantum", "key": "QK_HAPTIC_ON", - "label": "Haptic On", "aliases": [ "HF_ON" ] @@ -259,7 +231,6 @@ "0x7C41": { "group": "quantum", "key": "QK_HAPTIC_OFF", - "label": "Haptic Off", "aliases": [ "HF_OFF" ] @@ -267,7 +238,6 @@ "0x7C42": { "group": "quantum", "key": "QK_HAPTIC_TOGGLE", - "label": "Toggle Haptic", "aliases": [ "HF_TOGG" ] @@ -275,7 +245,6 @@ "0x7C43": { "group": "quantum", "key": "QK_HAPTIC_RESET", - "label": "Haptic Reset", "aliases": [ "HF_RST" ] @@ -283,7 +252,6 @@ "0x7C44": { "group": "quantum", "key": "QK_HAPTIC_FEEDBACK_TOGGLE", - "label": "Toggle Haptic Feedback", "aliases": [ "HF_FDBK" ] @@ -291,7 +259,6 @@ "0x7C45": { "group": "quantum", "key": "QK_HAPTIC_BUZZ_TOGGLE", - "label": "Toggle Haptic Buzz", "aliases": [ "HF_BUZZ" ] @@ -299,7 +266,6 @@ "0x7C46": { "group": "quantum", "key": "QK_HAPTIC_MODE_NEXT", - "label": "Haptic Mode Next", "aliases": [ "HF_NEXT" ] @@ -307,7 +273,6 @@ "0x7C47": { "group": "quantum", "key": "QK_HAPTIC_MODE_PREVIOUS", - "label": "Haptic Mode Previous", "aliases": [ "HF_PREV" ] @@ -315,7 +280,6 @@ "0x7C48": { "group": "quantum", "key": "QK_HAPTIC_CONTINUOUS_TOGGLE", - "label": "Toggle Haptic Continuous", "aliases": [ "HF_CONT" ] @@ -323,7 +287,6 @@ "0x7C49": { "group": "quantum", "key": "QK_HAPTIC_CONTINUOUS_UP", - "label": "Haptic Continuous Up", "aliases": [ "HF_CONU" ] @@ -331,7 +294,6 @@ "0x7C4A": { "group": "quantum", "key": "QK_HAPTIC_CONTINUOUS_DOWN", - "label": "Haptic Continuous Down", "aliases": [ "HF_COND" ] @@ -339,7 +301,6 @@ "0x7C4B": { "group": "quantum", "key": "QK_HAPTIC_DWELL_UP", - "label": "Haptic Dwell Up", "aliases": [ "HF_DWLU" ] @@ -347,7 +308,6 @@ "0x7C4C": { "group": "quantum", "key": "QK_HAPTIC_DWELL_DOWN", - "label": "Haptic Dwell Down", "aliases": [ "HF_DWLD" ] @@ -356,7 +316,6 @@ "0x7C50": { "group": "quantum", "key": "QK_COMBO_ON", - "label": "Combo On", "aliases": [ "CM_ON" ] @@ -364,7 +323,6 @@ "0x7C51": { "group": "quantum", "key": "QK_COMBO_OFF", - "label": "Combo Off", "aliases": [ "CM_OFF" ] @@ -372,7 +330,6 @@ "0x7C52": { "group": "quantum", "key": "QK_COMBO_TOGGLE", - "label": "Toggle Combo", "aliases": [ "CM_TOGG" ] @@ -381,7 +338,6 @@ "0x7C53": { "group": "quantum", "key": "QK_DYNAMIC_MACRO_RECORD_START_1", - "label": "Dynamic Macro Record 1", "aliases": [ "DM_REC1" ] @@ -389,7 +345,6 @@ "0x7C54": { "group": "quantum", "key": "QK_DYNAMIC_MACRO_RECORD_START_2", - "label": "Dynamic Macro Record 2", "aliases": [ "DM_REC2" ] @@ -397,7 +352,6 @@ "0x7C55": { "group": "quantum", "key": "QK_DYNAMIC_MACRO_RECORD_STOP", - "label": "Dynamic Macro Stop Recording", "aliases": [ "DM_RSTP" ] @@ -405,7 +359,6 @@ "0x7C56": { "group": "quantum", "key": "QK_DYNAMIC_MACRO_PLAY_1", - "label": "Dynamic Macro Play 1", "aliases": [ "DM_PLY1" ] @@ -413,7 +366,6 @@ "0x7C57": { "group": "quantum", "key": "QK_DYNAMIC_MACRO_PLAY_2", - "label": "Dynamic Macro Play 2", "aliases": [ "DM_PLY2" ] @@ -422,7 +374,6 @@ "0x7C58": { "group": "quantum", "key": "QK_LEADER", - "label": "Leader", "aliases": [ "QK_LEAD" ] @@ -430,14 +381,12 @@ "0x7C59": { "group": "quantum", - "key": "QK_LOCK", - "label": "Lock" + "key": "QK_LOCK" }, "0x7C5A": { "group": "quantum", "key": "QK_ONE_SHOT_ON", - "label": "One Shot On", "aliases": [ "OS_ON" ] @@ -445,7 +394,6 @@ "0x7C5B": { "group": "quantum", "key": "QK_ONE_SHOT_OFF", - "label": "One Shot Off", "aliases": [ "OS_OFF" ] @@ -453,7 +401,6 @@ "0x7C5C": { "group": "quantum", "key": "QK_ONE_SHOT_TOGGLE", - "label": "Toggle One Shot", "aliases": [ "OS_TOGG" ] @@ -462,7 +409,6 @@ "0x7C5D": { "group": "quantum", "key": "QK_KEY_OVERRIDE_TOGGLE", - "label": "Toggle Key Overrides", "aliases": [ "KO_TOGG" ] @@ -470,7 +416,6 @@ "0x7C5E": { "group": "quantum", "key": "QK_KEY_OVERRIDE_ON", - "label": "Key Overrides On", "aliases": [ "KO_ON" ] @@ -478,7 +423,6 @@ "0x7C5F": { "group": "quantum", "key": "QK_KEY_OVERRIDE_OFF", - "label": "Key Overrides Off", "aliases": [ "KO_OFF" ] @@ -487,7 +431,6 @@ "0x7C60": { "group": "quantum", "key": "QK_SECURE_LOCK", - "label": "Lock", "aliases": [ "SE_LOCK" ] @@ -495,7 +438,6 @@ "0x7C61": { "group": "quantum", "key": "QK_SECURE_UNLOCK", - "label": "Unlock", "aliases": [ "SE_UNLK" ] @@ -503,7 +445,6 @@ "0x7C62": { "group": "quantum", "key": "QK_SECURE_TOGGLE", - "label": "Toggle Lock", "aliases": [ "SE_TOGG" ] @@ -511,7 +452,6 @@ "0x7C63": { "group": "quantum", "key": "QK_SECURE_REQUEST", - "label": "Request Unlock", "aliases": [ "SE_REQ" ] @@ -520,7 +460,6 @@ "0x7C70": { "group": "quantum", "key": "QK_DYNAMIC_TAPPING_TERM_PRINT", - "label": "Print Dynamic Tapping Term", "aliases": [ "DT_PRNT" ] @@ -528,7 +467,6 @@ "0x7C71": { "group": "quantum", "key": "QK_DYNAMIC_TAPPING_TERM_UP", - "label": "Dynamic Tapping Term Up", "aliases": [ "DT_UP" ] @@ -536,7 +474,6 @@ "0x7C72": { "group": "quantum", "key": "QK_DYNAMIC_TAPPING_TERM_DOWN", - "label": "Dynamic Tapping Term Down", "aliases": [ "DT_DOWN" ] @@ -545,7 +482,6 @@ "0x7C73": { "group": "quantum", "key": "QK_CAPS_WORD_TOGGLE", - "label": "Toggle Caps Word", "aliases": [ "CW_TOGG" ] @@ -554,7 +490,6 @@ "0x7C74": { "group": "quantum", "key": "QK_AUTOCORRECT_ON", - "label": "Autocorrect On", "aliases": [ "AC_ON" ] @@ -562,7 +497,6 @@ "0x7C75": { "group": "quantum", "key": "QK_AUTOCORRECT_OFF", - "label": "Autocorrect Off", "aliases": [ "AC_OFF" ] @@ -570,7 +504,6 @@ "0x7C76": { "group": "quantum", "key": "QK_AUTOCORRECT_TOGGLE", - "label": "Toggle Autocorrect", "aliases": [ "AC_TOGG" ] diff --git a/data/constants/keycodes/keycodes_0.0.2_basic.hjson b/data/constants/keycodes/keycodes_0.0.2_basic.hjson index 0e9338101e..d9cefe7e93 100644 --- a/data/constants/keycodes/keycodes_0.0.2_basic.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_basic.hjson @@ -3,7 +3,7 @@ "0x00C1": { "group": "media", "key": "KC_MISSION_CONTROL", - "label": "Mission Control", + "label": "Open Mission Control", "aliases": [ "KC_MCTL" ] @@ -11,7 +11,7 @@ "0x00C2": { "group": "media", "key": "KC_LAUNCHPAD", - "label": "Launchpad", + "label": "Open Launchpad", "aliases": [ "KC_LPAD" ] diff --git a/data/constants/keycodes/keycodes_0.0.2_kb.hjson b/data/constants/keycodes/keycodes_0.0.2_kb.hjson index b617671650..28c4a8e8be 100644 --- a/data/constants/keycodes/keycodes_0.0.2_kb.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_kb.hjson @@ -2,163 +2,131 @@ "keycodes": { "0x7E00": { "group": "kb", - "key": "QK_KB_0", - "label": "Keyboard 0" + "key": "QK_KB_0" }, "0x7E01": { "group": "kb", - "key": "QK_KB_1", - "label": "Keyboard 1" + "key": "QK_KB_1" }, "0x7E02": { "group": "kb", - "key": "QK_KB_2", - "label": "Keyboard 2" + "key": "QK_KB_2" }, "0x7E03": { "group": "kb", - "key": "QK_KB_3", - "label": "Keyboard 3" + "key": "QK_KB_3" }, "0x7E04": { "group": "kb", - "key": "QK_KB_4", - "label": "Keyboard 4" + "key": "QK_KB_4" }, "0x7E05": { "group": "kb", - "key": "QK_KB_5", - "label": "Keyboard 5" + "key": "QK_KB_5" }, "0x7E06": { "group": "kb", - "key": "QK_KB_6", - "label": "Keyboard 6" + "key": "QK_KB_6" }, "0x7E07": { "group": "kb", - "key": "QK_KB_7", - "label": "Keyboard 7" + "key": "QK_KB_7" }, "0x7E08": { "group": "kb", - "key": "QK_KB_8", - "label": "Keyboard 8" + "key": "QK_KB_8" }, "0x7E09": { "group": "kb", - "key": "QK_KB_9", - "label": "Keyboard 9" + "key": "QK_KB_9" }, "0x7E0A": { "group": "kb", - "key": "QK_KB_10", - "label": "Keyboard 10" + "key": "QK_KB_10" }, "0x7E0B": { "group": "kb", - "key": "QK_KB_11", - "label": "Keyboard 11" + "key": "QK_KB_11" }, "0x7E0C": { "group": "kb", - "key": "QK_KB_12", - "label": "Keyboard 12" + "key": "QK_KB_12" }, "0x7E0D": { "group": "kb", - "key": "QK_KB_13", - "label": "Keyboard 13" + "key": "QK_KB_13" }, "0x7E0E": { "group": "kb", - "key": "QK_KB_14", - "label": "Keyboard 14" + "key": "QK_KB_14" }, "0x7E0F": { "group": "kb", - "key": "QK_KB_15", - "label": "Keyboard 15" + "key": "QK_KB_15" }, "0x7E10": { "group": "kb", - "key": "QK_KB_16", - "label": "Keyboard 16" + "key": "QK_KB_16" }, "0x7E11": { "group": "kb", - "key": "QK_KB_17", - "label": "Keyboard 17" + "key": "QK_KB_17" }, "0x7E12": { "group": "kb", - "key": "QK_KB_18", - "label": "Keyboard 18" + "key": "QK_KB_18" }, "0x7E13": { "group": "kb", - "key": "QK_KB_19", - "label": "Keyboard 19" + "key": "QK_KB_19" }, "0x7E14": { "group": "kb", - "key": "QK_KB_20", - "label": "Keyboard 20" + "key": "QK_KB_20" }, "0x7E15": { "group": "kb", - "key": "QK_KB_21", - "label": "Keyboard 21" + "key": "QK_KB_21" }, "0x7E16": { "group": "kb", - "key": "QK_KB_22", - "label": "Keyboard 22" + "key": "QK_KB_22" }, "0x7E17": { "group": "kb", - "key": "QK_KB_23", - "label": "Keyboard 23" + "key": "QK_KB_23" }, "0x7E18": { "group": "kb", - "key": "QK_KB_24", - "label": "Keyboard 24" + "key": "QK_KB_24" }, "0x7E19": { "group": "kb", - "key": "QK_KB_25", - "label": "Keyboard 25" + "key": "QK_KB_25" }, "0x7E1A": { "group": "kb", - "key": "QK_KB_26", - "label": "Keyboard 26" + "key": "QK_KB_26" }, "0x7E1B": { "group": "kb", - "key": "QK_KB_27", - "label": "Keyboard 27" + "key": "QK_KB_27" }, "0x7E1C": { "group": "kb", - "key": "QK_KB_28", - "label": "Keyboard 28" + "key": "QK_KB_28" }, "0x7E1D": { "group": "kb", - "key": "QK_KB_29", - "label": "Keyboard 29" + "key": "QK_KB_29" }, "0x7E1E": { "group": "kb", - "key": "QK_KB_30", - "label": "Keyboard 30" + "key": "QK_KB_30" }, "0x7E1F": { "group": "kb", - "key": "QK_KB_31", - "label": "Keyboard 31" + "key": "QK_KB_31" } } } diff --git a/data/constants/keycodes/keycodes_0.0.2_magic.hjson b/data/constants/keycodes/keycodes_0.0.2_magic.hjson index 895ce9819a..2fc8ba038d 100644 --- a/data/constants/keycodes/keycodes_0.0.2_magic.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_magic.hjson @@ -5,7 +5,6 @@ "0x7000": { "group": "magic", "key": "QK_MAGIC_SWAP_CONTROL_CAPS_LOCK", - "label": "Swap LCtl⇄Caps", "aliases": [ "CL_SWAP" ] @@ -13,7 +12,6 @@ "0x7001": { "group": "magic", "key": "QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK", - "label": "Unswap LCtl⇄Caps", "aliases": [ "CL_NORM" ] @@ -21,7 +19,6 @@ "0x7002": { "group": "magic", "key": "QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK", - "label": "Toggle LCtl⇄Caps", "aliases": [ "CL_TOGG" ] @@ -29,7 +26,6 @@ "0x7003": { "group": "magic", "key": "QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF", - "label": "Caps≠LCtl", "aliases": [ "CL_CAPS" ] @@ -37,7 +33,6 @@ "0x7004": { "group": "magic", "key": "QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON", - "label": "Caps=LCtl", "aliases": [ "CL_CTRL" ] @@ -45,7 +40,6 @@ "0x7005": { "group": "magic", "key": "QK_MAGIC_SWAP_LALT_LGUI", - "label": "Swap LAlt⇄LGUI", "aliases": [ "AG_LSWP" ] @@ -53,7 +47,6 @@ "0x7006": { "group": "magic", "key": "QK_MAGIC_UNSWAP_LALT_LGUI", - "label": "Unswap LAlt⇄LGUI", "aliases": [ "AG_LNRM" ] @@ -61,7 +54,6 @@ "0x7007": { "group": "magic", "key": "QK_MAGIC_SWAP_RALT_RGUI", - "label": "Swap RAlt⇄RGUI", "aliases": [ "AG_RSWP" ] @@ -69,7 +61,6 @@ "0x7008": { "group": "magic", "key": "QK_MAGIC_UNSWAP_RALT_RGUI", - "label": "Unswap RAlt⇄RGUI", "aliases": [ "AG_RNRM" ] @@ -77,7 +68,6 @@ "0x7009": { "group": "magic", "key": "QK_MAGIC_GUI_ON", - "label": "GUI On", "aliases": [ "GU_ON" ] @@ -85,7 +75,6 @@ "0x700A": { "group": "magic", "key": "QK_MAGIC_GUI_OFF", - "label": "GUI Off", "aliases": [ "GU_OFF" ] @@ -93,7 +82,6 @@ "0x700B": { "group": "magic", "key": "QK_MAGIC_TOGGLE_GUI", - "label": "Toggle GUI", "aliases": [ "GU_TOGG" ] @@ -101,7 +89,6 @@ "0x700C": { "group": "magic", "key": "QK_MAGIC_SWAP_GRAVE_ESC", - "label": "Swap `⇄Esc", "aliases": [ "GE_SWAP" ] @@ -109,7 +96,6 @@ "0x700D": { "group": "magic", "key": "QK_MAGIC_UNSWAP_GRAVE_ESC", - "label": "Unswap `⇄Esc", "aliases": [ "GE_NORM" ] @@ -117,7 +103,6 @@ "0x700E": { "group": "magic", "key": "QK_MAGIC_SWAP_BACKSLASH_BACKSPACE", - "label": "Swap \\⇄Bspc", "aliases": [ "BS_SWAP" ] @@ -125,7 +110,6 @@ "0x700F": { "group": "magic", "key": "QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE", - "label": "Unswap \\⇄Bspc", "aliases": [ "BS_NORM" ] @@ -133,7 +117,6 @@ "0x7010": { "group": "magic", "key": "QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE", - "label": "Toggle \\⇄Bspc", "aliases": [ "BS_TOGG" ] @@ -141,7 +124,6 @@ "0x7011": { "group": "magic", "key": "QK_MAGIC_NKRO_ON", - "label": "NKRO On", "aliases": [ "NK_ON" ] @@ -149,7 +131,6 @@ "0x7012": { "group": "magic", "key": "QK_MAGIC_NKRO_OFF", - "label": "NKRO Off", "aliases": [ "NK_OFF" ] @@ -157,7 +138,6 @@ "0x7013": { "group": "magic", "key": "QK_MAGIC_TOGGLE_NKRO", - "label": "Toggle NKRO", "aliases": [ "NK_TOGG" ] @@ -165,7 +145,6 @@ "0x7014": { "group": "magic", "key": "QK_MAGIC_SWAP_ALT_GUI", - "label": "Swap Alt⇄GUI", "aliases": [ "AG_SWAP" ] @@ -173,7 +152,6 @@ "0x7015": { "group": "magic", "key": "QK_MAGIC_UNSWAP_ALT_GUI", - "label": "Unswap Alt⇄GUI", "aliases": [ "AG_NORM" ] @@ -181,7 +159,6 @@ "0x7016": { "group": "magic", "key": "QK_MAGIC_TOGGLE_ALT_GUI", - "label": "Toggle Alt⇄GUI", "aliases": [ "AG_TOGG" ] @@ -189,7 +166,6 @@ "0x7017": { "group": "magic", "key": "QK_MAGIC_SWAP_LCTL_LGUI", - "label": "Swap LCtl⇄LGUI", "aliases": [ "CG_LSWP" ] @@ -197,7 +173,6 @@ "0x7018": { "group": "magic", "key": "QK_MAGIC_UNSWAP_LCTL_LGUI", - "label": "Unswap LCtl⇄LGUI", "aliases": [ "CG_LNRM" ] @@ -205,7 +180,6 @@ "0x7019": { "group": "magic", "key": "QK_MAGIC_SWAP_RCTL_RGUI", - "label": "Swap RCtl⇄RGUI", "aliases": [ "CG_RSWP" ] @@ -213,7 +187,6 @@ "0x701A": { "group": "magic", "key": "QK_MAGIC_UNSWAP_RCTL_RGUI", - "label": "Unswap RCtl⇄RGUI", "aliases": [ "CG_RNRM" ] @@ -221,7 +194,6 @@ "0x701B": { "group": "magic", "key": "QK_MAGIC_SWAP_CTL_GUI", - "label": "Swap Ctl⇄GUI", "aliases": [ "CG_SWAP" ] @@ -229,7 +201,6 @@ "0x701C": { "group": "magic", "key": "QK_MAGIC_UNSWAP_CTL_GUI", - "label": "Unswap Ctl⇄GUI", "aliases": [ "CG_NORM" ] @@ -237,7 +208,6 @@ "0x701D": { "group": "magic", "key": "QK_MAGIC_TOGGLE_CTL_GUI", - "label": "Toggle Ctl⇄GUI", "aliases": [ "CG_TOGG" ] @@ -245,7 +215,6 @@ "0x701E": { "group": "magic", "key": "QK_MAGIC_EE_HANDS_LEFT", - "label": "EE Hands Left", "aliases": [ "EH_LEFT" ] @@ -253,7 +222,6 @@ "0x701F": { "group": "magic", "key": "QK_MAGIC_EE_HANDS_RIGHT", - "label": "EE Hands Right", "aliases": [ "EH_RGHT" ] @@ -261,7 +229,6 @@ "0x7020": { "group": "magic", "key": "QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK", - "label": "Swap Esc⇄Caps", "aliases": [ "EC_SWAP" ] @@ -269,7 +236,6 @@ "0x7021": { "group": "magic", "key": "QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK", - "label": "Unswap Esc⇄Caps", "aliases": [ "EC_NORM" ] @@ -277,7 +243,6 @@ "0x7022": { "group": "magic", "key": "QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK", - "label": "Toggle Esc⇄Caps", "aliases": [ "EC_TOGG" ] diff --git a/data/constants/keycodes/keycodes_0.0.2_midi.hjson b/data/constants/keycodes/keycodes_0.0.2_midi.hjson index 79459fec58..ddf79be96c 100644 --- a/data/constants/keycodes/keycodes_0.0.2_midi.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_midi.hjson @@ -5,7 +5,6 @@ "0x7100": { "group": "midi", "key": "QK_MIDI_ON", - "label": "MIDI On", "aliases": [ "MI_ON" ] @@ -13,7 +12,6 @@ "0x7101": { "group": "midi", "key": "QK_MIDI_OFF", - "label": "MIDI Off", "aliases": [ "MI_OFF" ] @@ -21,7 +19,6 @@ "0x7102": { "group": "midi", "key": "QK_MIDI_TOGGLE", - "label": "Toggle MIDI", "aliases": [ "MI_TOGG" ] @@ -29,7 +26,6 @@ "0x7103": { "group": "midi", "key": "QK_MIDI_NOTE_C_0", - "label": "C₀", "aliases": [ "MI_C" ] @@ -37,7 +33,6 @@ "0x7104": { "group": "midi", "key": "QK_MIDI_NOTE_C_SHARP_0", - "label": "C♯₀", "aliases": [ "MI_Cs", "MI_Db" @@ -46,7 +41,6 @@ "0x7105": { "group": "midi", "key": "QK_MIDI_NOTE_D_0", - "label": "D₀", "aliases": [ "MI_D" ] @@ -54,7 +48,6 @@ "0x7106": { "group": "midi", "key": "QK_MIDI_NOTE_D_SHARP_0", - "label": "D♯₀", "aliases": [ "MI_Ds", "MI_Eb" @@ -63,7 +56,6 @@ "0x7107": { "group": "midi", "key": "QK_MIDI_NOTE_E_0", - "label": "E₀", "aliases": [ "MI_E" ] @@ -71,7 +63,6 @@ "0x7108": { "group": "midi", "key": "QK_MIDI_NOTE_F_0", - "label": "F₀", "aliases": [ "MI_F" ] @@ -79,7 +70,6 @@ "0x7109": { "group": "midi", "key": "QK_MIDI_NOTE_F_SHARP_0", - "label": "F♯₀", "aliases": [ "MI_Fs", "MI_Gb" @@ -88,7 +78,6 @@ "0x710A": { "group": "midi", "key": "QK_MIDI_NOTE_G_0", - "label": "G₀", "aliases": [ "MI_G" ] @@ -96,7 +85,6 @@ "0x710B": { "group": "midi", "key": "QK_MIDI_NOTE_G_SHARP_0", - "label": "G♯₀", "aliases": [ "MI_Gs", "MI_Ab" @@ -105,7 +93,6 @@ "0x710C": { "group": "midi", "key": "QK_MIDI_NOTE_A_0", - "label": "A₀", "aliases": [ "MI_A" ] @@ -113,7 +100,6 @@ "0x710D": { "group": "midi", "key": "QK_MIDI_NOTE_A_SHARP_0", - "label": "A♯₀", "aliases": [ "MI_As", "MI_Bb" @@ -122,7 +108,6 @@ "0x710E": { "group": "midi", "key": "QK_MIDI_NOTE_B_0", - "label": "B₀", "aliases": [ "MI_B" ] @@ -130,7 +115,6 @@ "0x710F": { "group": "midi", "key": "QK_MIDI_NOTE_C_1", - "label": "C₁", "aliases": [ "MI_C1" ] @@ -138,7 +122,6 @@ "0x7110": { "group": "midi", "key": "QK_MIDI_NOTE_C_SHARP_1", - "label": "C♯₁", "aliases": [ "MI_Cs1", "MI_Db1" @@ -147,7 +130,6 @@ "0x7111": { "group": "midi", "key": "QK_MIDI_NOTE_D_1", - "label": "D₁", "aliases": [ "MI_D1" ] @@ -155,7 +137,6 @@ "0x7112": { "group": "midi", "key": "QK_MIDI_NOTE_D_SHARP_1", - "label": "D♯₁", "aliases": [ "MI_Ds1", "MI_Eb1" @@ -164,7 +145,6 @@ "0x7113": { "group": "midi", "key": "QK_MIDI_NOTE_E_1", - "label": "E₁", "aliases": [ "MI_E1" ] @@ -172,7 +152,6 @@ "0x7114": { "group": "midi", "key": "QK_MIDI_NOTE_F_1", - "label": "F₁", "aliases": [ "MI_F1" ] @@ -180,7 +159,6 @@ "0x7115": { "group": "midi", "key": "QK_MIDI_NOTE_F_SHARP_1", - "label": "F♯₁", "aliases": [ "MI_Fs1", "MI_Gb1" @@ -189,7 +167,6 @@ "0x7116": { "group": "midi", "key": "QK_MIDI_NOTE_G_1", - "label": "G₁", "aliases": [ "MI_G1" ] @@ -197,7 +174,6 @@ "0x7117": { "group": "midi", "key": "QK_MIDI_NOTE_G_SHARP_1", - "label": "G♯₁", "aliases": [ "MI_Gs1", "MI_Ab1" @@ -206,7 +182,6 @@ "0x7118": { "group": "midi", "key": "QK_MIDI_NOTE_A_1", - "label": "A₁", "aliases": [ "MI_A1" ] @@ -214,7 +189,6 @@ "0x7119": { "group": "midi", "key": "QK_MIDI_NOTE_A_SHARP_1", - "label": "A♯₁", "aliases": [ "MI_As1", "MI_Bb1" @@ -223,7 +197,6 @@ "0x711A": { "group": "midi", "key": "QK_MIDI_NOTE_B_1", - "label": "B₁", "aliases": [ "MI_B1" ] @@ -231,7 +204,6 @@ "0x711B": { "group": "midi", "key": "QK_MIDI_NOTE_C_2", - "label": "C₂", "aliases": [ "MI_C2" ] @@ -239,7 +211,6 @@ "0x711C": { "group": "midi", "key": "QK_MIDI_NOTE_C_SHARP_2", - "label": "C♯₂", "aliases": [ "MI_Cs2", "MI_Db2" @@ -248,7 +219,6 @@ "0x711D": { "group": "midi", "key": "QK_MIDI_NOTE_D_2", - "label": "D₂", "aliases": [ "MI_D2" ] @@ -256,7 +226,6 @@ "0x711E": { "group": "midi", "key": "QK_MIDI_NOTE_D_SHARP_2", - "label": "D♯₂", "aliases": [ "MI_Ds2", "MI_Eb2" @@ -265,7 +234,6 @@ "0x711F": { "group": "midi", "key": "QK_MIDI_NOTE_E_2", - "label": "E₂", "aliases": [ "MI_E2" ] @@ -273,7 +241,6 @@ "0x7120": { "group": "midi", "key": "QK_MIDI_NOTE_F_2", - "label": "F₂", "aliases": [ "MI_F2" ] @@ -281,7 +248,6 @@ "0x7121": { "group": "midi", "key": "QK_MIDI_NOTE_F_SHARP_2", - "label": "F♯₂", "aliases": [ "MI_Fs2", "MI_Gb2" @@ -290,7 +256,6 @@ "0x7122": { "group": "midi", "key": "QK_MIDI_NOTE_G_2", - "label": "G₂", "aliases": [ "MI_G2" ] @@ -298,7 +263,6 @@ "0x7123": { "group": "midi", "key": "QK_MIDI_NOTE_G_SHARP_2", - "label": "G♯₂", "aliases": [ "MI_Gs2", "MI_Ab2" @@ -307,7 +271,6 @@ "0x7124": { "group": "midi", "key": "QK_MIDI_NOTE_A_2", - "label": "A₂", "aliases": [ "MI_A2" ] @@ -315,7 +278,6 @@ "0x7125": { "group": "midi", "key": "QK_MIDI_NOTE_A_SHARP_2", - "label": "A♯₂", "aliases": [ "MI_As2", "MI_Bb2" @@ -324,7 +286,6 @@ "0x7126": { "group": "midi", "key": "QK_MIDI_NOTE_B_2", - "label": "B₂", "aliases": [ "MI_B2" ] @@ -332,7 +293,6 @@ "0x7127": { "group": "midi", "key": "QK_MIDI_NOTE_C_3", - "label": "C₃", "aliases": [ "MI_C3" ] @@ -340,7 +300,6 @@ "0x7128": { "group": "midi", "key": "QK_MIDI_NOTE_C_SHARP_3", - "label": "C♯₃", "aliases": [ "MI_Cs3", "MI_Db3" @@ -349,7 +308,6 @@ "0x7129": { "group": "midi", "key": "QK_MIDI_NOTE_D_3", - "label": "D₃", "aliases": [ "MI_D3" ] @@ -357,7 +315,6 @@ "0x712A": { "group": "midi", "key": "QK_MIDI_NOTE_D_SHARP_3", - "label": "D♯₃", "aliases": [ "MI_Ds3", "MI_Eb3" @@ -366,7 +323,6 @@ "0x712B": { "group": "midi", "key": "QK_MIDI_NOTE_E_3", - "label": "E₃", "aliases": [ "MI_E3" ] @@ -374,7 +330,6 @@ "0x712C": { "group": "midi", "key": "QK_MIDI_NOTE_F_3", - "label": "F₃", "aliases": [ "MI_F3" ] @@ -382,7 +337,6 @@ "0x712D": { "group": "midi", "key": "QK_MIDI_NOTE_F_SHARP_3", - "label": "F♯₃", "aliases": [ "MI_Fs3", "MI_Gb3" @@ -391,7 +345,6 @@ "0x712E": { "group": "midi", "key": "QK_MIDI_NOTE_G_3", - "label": "G₃", "aliases": [ "MI_G3" ] @@ -399,7 +352,6 @@ "0x712F": { "group": "midi", "key": "QK_MIDI_NOTE_G_SHARP_3", - "label": "G♯₃", "aliases": [ "MI_Gs3", "MI_Ab3" @@ -408,7 +360,6 @@ "0x7130": { "group": "midi", "key": "QK_MIDI_NOTE_A_3", - "label": "A₃", "aliases": [ "MI_A3" ] @@ -416,7 +367,6 @@ "0x7131": { "group": "midi", "key": "QK_MIDI_NOTE_A_SHARP_3", - "label": "A♯₃", "aliases": [ "MI_As3", "MI_Bb3" @@ -425,7 +375,6 @@ "0x7132": { "group": "midi", "key": "QK_MIDI_NOTE_B_3", - "label": "B₃", "aliases": [ "MI_B3" ] @@ -433,7 +382,6 @@ "0x7133": { "group": "midi", "key": "QK_MIDI_NOTE_C_4", - "label": "C₄", "aliases": [ "MI_C4" ] @@ -441,7 +389,6 @@ "0x7134": { "group": "midi", "key": "QK_MIDI_NOTE_C_SHARP_4", - "label": "C♯₄", "aliases": [ "MI_Cs4", "MI_Db4" @@ -450,7 +397,6 @@ "0x7135": { "group": "midi", "key": "QK_MIDI_NOTE_D_4", - "label": "D₄", "aliases": [ "MI_D4" ] @@ -458,7 +404,6 @@ "0x7136": { "group": "midi", "key": "QK_MIDI_NOTE_D_SHARP_4", - "label": "D♯₄", "aliases": [ "MI_Ds4", "MI_Eb4" @@ -467,7 +412,6 @@ "0x7137": { "group": "midi", "key": "QK_MIDI_NOTE_E_4", - "label": "E₄", "aliases": [ "MI_E4" ] @@ -475,7 +419,6 @@ "0x7138": { "group": "midi", "key": "QK_MIDI_NOTE_F_4", - "label": "F₄", "aliases": [ "MI_F4" ] @@ -483,7 +426,6 @@ "0x7139": { "group": "midi", "key": "QK_MIDI_NOTE_F_SHARP_4", - "label": "F♯₄", "aliases": [ "MI_Fs4", "MI_Gb4" @@ -492,7 +434,6 @@ "0x713A": { "group": "midi", "key": "QK_MIDI_NOTE_G_4", - "label": "G₄", "aliases": [ "MI_G4" ] @@ -500,7 +441,6 @@ "0x713B": { "group": "midi", "key": "QK_MIDI_NOTE_G_SHARP_4", - "label": "G♯₄", "aliases": [ "MI_Gs4", "MI_Ab4" @@ -509,7 +449,6 @@ "0x713C": { "group": "midi", "key": "QK_MIDI_NOTE_A_4", - "label": "A₄", "aliases": [ "MI_A4" ] @@ -517,7 +456,6 @@ "0x713D": { "group": "midi", "key": "QK_MIDI_NOTE_A_SHARP_4", - "label": "A♯₄", "aliases": [ "MI_As4", "MI_Bb4" @@ -526,7 +464,6 @@ "0x713E": { "group": "midi", "key": "QK_MIDI_NOTE_B_4", - "label": "B₄", "aliases": [ "MI_B4" ] @@ -534,7 +471,6 @@ "0x713F": { "group": "midi", "key": "QK_MIDI_NOTE_C_5", - "label": "C₅", "aliases": [ "MI_C5" ] @@ -542,7 +478,6 @@ "0x7140": { "group": "midi", "key": "QK_MIDI_NOTE_C_SHARP_5", - "label": "C♯₅", "aliases": [ "MI_Cs5", "MI_Db5" @@ -551,7 +486,6 @@ "0x7141": { "group": "midi", "key": "QK_MIDI_NOTE_D_5", - "label": "D₅", "aliases": [ "MI_D5" ] @@ -559,7 +493,6 @@ "0x7142": { "group": "midi", "key": "QK_MIDI_NOTE_D_SHARP_5", - "label": "D♯₅", "aliases": [ "MI_Ds5", "MI_Eb5" @@ -568,7 +501,6 @@ "0x7143": { "group": "midi", "key": "QK_MIDI_NOTE_E_5", - "label": "E₅", "aliases": [ "MI_E5" ] @@ -576,7 +508,6 @@ "0x7144": { "group": "midi", "key": "QK_MIDI_NOTE_F_5", - "label": "F₅", "aliases": [ "MI_F5" ] @@ -584,7 +515,6 @@ "0x7145": { "group": "midi", "key": "QK_MIDI_NOTE_F_SHARP_5", - "label": "F♯₅", "aliases": [ "MI_Fs5", "MI_Gb5" @@ -593,7 +523,6 @@ "0x7146": { "group": "midi", "key": "QK_MIDI_NOTE_G_5", - "label": "G₅", "aliases": [ "MI_G5" ] @@ -601,7 +530,6 @@ "0x7147": { "group": "midi", "key": "QK_MIDI_NOTE_G_SHARP_5", - "label": "G♯₅", "aliases": [ "MI_Gs5", "MI_Ab5" @@ -610,7 +538,6 @@ "0x7148": { "group": "midi", "key": "QK_MIDI_NOTE_A_5", - "label": "A₅", "aliases": [ "MI_A5" ] @@ -618,7 +545,6 @@ "0x7149": { "group": "midi", "key": "QK_MIDI_NOTE_A_SHARP_5", - "label": "A♯₅", "aliases": [ "MI_As5", "MI_Bb5" @@ -627,7 +553,6 @@ "0x714A": { "group": "midi", "key": "QK_MIDI_NOTE_B_5", - "label": "B₅", "aliases": [ "MI_B5" ] @@ -635,7 +560,6 @@ "0x714B": { "group": "midi", "key": "QK_MIDI_OCTAVE_N2", - "label": "Octave -2", "aliases": [ "MI_OCN2" ] @@ -643,7 +567,6 @@ "0x714C": { "group": "midi", "key": "QK_MIDI_OCTAVE_N1", - "label": "Octave -1", "aliases": [ "MI_OCN1" ] @@ -651,7 +574,6 @@ "0x714D": { "group": "midi", "key": "QK_MIDI_OCTAVE_0", - "label": "Octave 0", "aliases": [ "MI_OC0" ] @@ -659,7 +581,6 @@ "0x714E": { "group": "midi", "key": "QK_MIDI_OCTAVE_1", - "label": "Octave 1", "aliases": [ "MI_OC1" ] @@ -667,7 +588,6 @@ "0x714F": { "group": "midi", "key": "QK_MIDI_OCTAVE_2", - "label": "Octave 2", "aliases": [ "MI_OC2" ] @@ -675,7 +595,6 @@ "0x7150": { "group": "midi", "key": "QK_MIDI_OCTAVE_3", - "label": "Octave 3", "aliases": [ "MI_OC3" ] @@ -683,7 +602,6 @@ "0x7151": { "group": "midi", "key": "QK_MIDI_OCTAVE_4", - "label": "Octave 4", "aliases": [ "MI_OC4" ] @@ -691,7 +609,6 @@ "0x7152": { "group": "midi", "key": "QK_MIDI_OCTAVE_5", - "label": "Octave 5", "aliases": [ "MI_OC5" ] @@ -699,7 +616,6 @@ "0x7153": { "group": "midi", "key": "QK_MIDI_OCTAVE_6", - "label": "Octave 6", "aliases": [ "MI_OC6" ] @@ -707,7 +623,6 @@ "0x7154": { "group": "midi", "key": "QK_MIDI_OCTAVE_7", - "label": "Octave 7", "aliases": [ "MI_OC7" ] @@ -715,7 +630,6 @@ "0x7155": { "group": "midi", "key": "QK_MIDI_OCTAVE_DOWN", - "label": "Octave Down", "aliases": [ "MI_OCTD" ] @@ -723,7 +637,6 @@ "0x7156": { "group": "midi", "key": "QK_MIDI_OCTAVE_UP", - "label": "Octave Up", "aliases": [ "MI_OCTU" ] @@ -731,7 +644,6 @@ "0x7157": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_N6", - "label": "Transpose -6", "aliases": [ "MI_TRN6" ] @@ -739,7 +651,6 @@ "0x7158": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_N5", - "label": "Transpose -5", "aliases": [ "MI_TRN5" ] @@ -747,7 +658,6 @@ "0x7159": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_N4", - "label": "Transpose -4", "aliases": [ "MI_TRN4" ] @@ -755,7 +665,6 @@ "0x715A": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_N3", - "label": "Transpose -3", "aliases": [ "MI_TRN3" ] @@ -763,7 +672,6 @@ "0x715B": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_N2", - "label": "Transpose -2", "aliases": [ "MI_TRN2" ] @@ -771,7 +679,6 @@ "0x715C": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_N1", - "label": "Transpose -1", "aliases": [ "MI_TRN1" ] @@ -779,7 +686,6 @@ "0x715D": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_0", - "label": "Transpose 0", "aliases": [ "MI_TR0" ] @@ -787,7 +693,6 @@ "0x715E": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_1", - "label": "Transpose +1", "aliases": [ "MI_TR1" ] @@ -795,7 +700,6 @@ "0x715F": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_2", - "label": "Transpose +2", "aliases": [ "MI_TR2" ] @@ -803,7 +707,6 @@ "0x7160": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_3", - "label": "Transpose +3", "aliases": [ "MI_TR3" ] @@ -811,7 +714,6 @@ "0x7161": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_4", - "label": "Transpose +4", "aliases": [ "MI_TR4" ] @@ -819,7 +721,6 @@ "0x7162": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_5", - "label": "Transpose +5", "aliases": [ "MI_TR5" ] @@ -827,7 +728,6 @@ "0x7163": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_6", - "label": "Transpose +6", "aliases": [ "MI_TR6" ] @@ -835,7 +735,6 @@ "0x7164": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_DOWN", - "label": "Transpose Down", "aliases": [ "MI_TRSD" ] @@ -843,7 +742,6 @@ "0x7165": { "group": "midi", "key": "QK_MIDI_TRANSPOSE_UP", - "label": "Transpose Up", "aliases": [ "MI_TRSU" ] @@ -851,7 +749,6 @@ "0x7166": { "group": "midi", "key": "QK_MIDI_VELOCITY_0", - "label": "Velocity 0", "aliases": [ "MI_VL0" ] @@ -859,7 +756,6 @@ "0x7167": { "group": "midi", "key": "QK_MIDI_VELOCITY_1", - "label": "Velocity 1", "aliases": [ "MI_VL1" ] @@ -867,7 +763,6 @@ "0x7168": { "group": "midi", "key": "QK_MIDI_VELOCITY_2", - "label": "Velocity 2", "aliases": [ "MI_VL2" ] @@ -875,7 +770,6 @@ "0x7169": { "group": "midi", "key": "QK_MIDI_VELOCITY_3", - "label": "Velocity 3", "aliases": [ "MI_VL3" ] @@ -883,7 +777,6 @@ "0x716A": { "group": "midi", "key": "QK_MIDI_VELOCITY_4", - "label": "Velocity 4", "aliases": [ "MI_VL4" ] @@ -891,7 +784,6 @@ "0x716B": { "group": "midi", "key": "QK_MIDI_VELOCITY_5", - "label": "Velocity 5", "aliases": [ "MI_VL5" ] @@ -899,7 +791,6 @@ "0x716C": { "group": "midi", "key": "QK_MIDI_VELOCITY_6", - "label": "Velocity 6", "aliases": [ "MI_VL6" ] @@ -907,7 +798,6 @@ "0x716D": { "group": "midi", "key": "QK_MIDI_VELOCITY_7", - "label": "Velocity 7", "aliases": [ "MI_VL7" ] @@ -915,7 +805,6 @@ "0x716E": { "group": "midi", "key": "QK_MIDI_VELOCITY_8", - "label": "Velocity 8", "aliases": [ "MI_VL8" ] @@ -923,7 +812,6 @@ "0x716F": { "group": "midi", "key": "QK_MIDI_VELOCITY_9", - "label": "Velocity 9", "aliases": [ "MI_VL9" ] @@ -931,7 +819,6 @@ "0x7170": { "group": "midi", "key": "QK_MIDI_VELOCITY_10", - "label": "Velocity 10", "aliases": [ "MI_VL10" ] @@ -939,7 +826,6 @@ "0x7171": { "group": "midi", "key": "QK_MIDI_VELOCITY_DOWN", - "label": "Velocity Down", "aliases": [ "MI_VELD" ] @@ -947,7 +833,6 @@ "0x7172": { "group": "midi", "key": "QK_MIDI_VELOCITY_UP", - "label": "Velocity Up", "aliases": [ "MI_VELU" ] @@ -955,7 +840,6 @@ "0x7173": { "group": "midi", "key": "QK_MIDI_CHANNEL_1", - "label": "Channel 1", "aliases": [ "MI_CH1" ] @@ -963,7 +847,6 @@ "0x7174": { "group": "midi", "key": "QK_MIDI_CHANNEL_2", - "label": "Channel 2", "aliases": [ "MI_CH2" ] @@ -971,7 +854,6 @@ "0x7175": { "group": "midi", "key": "QK_MIDI_CHANNEL_3", - "label": "Channel 3", "aliases": [ "MI_CH3" ] @@ -979,7 +861,6 @@ "0x7176": { "group": "midi", "key": "QK_MIDI_CHANNEL_4", - "label": "Channel 4", "aliases": [ "MI_CH4" ] @@ -987,7 +868,6 @@ "0x7177": { "group": "midi", "key": "QK_MIDI_CHANNEL_5", - "label": "Channel 5", "aliases": [ "MI_CH5" ] @@ -995,7 +875,6 @@ "0x7178": { "group": "midi", "key": "QK_MIDI_CHANNEL_6", - "label": "Channel 6", "aliases": [ "MI_CH6" ] @@ -1003,7 +882,6 @@ "0x7179": { "group": "midi", "key": "QK_MIDI_CHANNEL_7", - "label": "Channel 7", "aliases": [ "MI_CH7" ] @@ -1011,7 +889,6 @@ "0x717A": { "group": "midi", "key": "QK_MIDI_CHANNEL_8", - "label": "Channel 8", "aliases": [ "MI_CH8" ] @@ -1019,7 +896,6 @@ "0x717B": { "group": "midi", "key": "QK_MIDI_CHANNEL_9", - "label": "Channel 9", "aliases": [ "MI_CH9" ] @@ -1027,7 +903,6 @@ "0x717C": { "group": "midi", "key": "QK_MIDI_CHANNEL_10", - "label": "Channel 10", "aliases": [ "MI_CH10" ] @@ -1035,7 +910,6 @@ "0x717D": { "group": "midi", "key": "QK_MIDI_CHANNEL_11", - "label": "Channel 11", "aliases": [ "MI_CH11" ] @@ -1043,7 +917,6 @@ "0x717E": { "group": "midi", "key": "QK_MIDI_CHANNEL_12", - "label": "Channel 12", "aliases": [ "MI_CH12" ] @@ -1051,7 +924,6 @@ "0x717F": { "group": "midi", "key": "QK_MIDI_CHANNEL_13", - "label": "Channel 13", "aliases": [ "MI_CH13" ] @@ -1059,7 +931,6 @@ "0x7180": { "group": "midi", "key": "QK_MIDI_CHANNEL_14", - "label": "Channel 14", "aliases": [ "MI_CH14" ] @@ -1067,7 +938,6 @@ "0x7181": { "group": "midi", "key": "QK_MIDI_CHANNEL_15", - "label": "Channel 15", "aliases": [ "MI_CH15" ] @@ -1075,7 +945,6 @@ "0x7182": { "group": "midi", "key": "QK_MIDI_CHANNEL_16", - "label": "Channel 16", "aliases": [ "MI_CH16" ] @@ -1083,7 +952,6 @@ "0x7183": { "group": "midi", "key": "QK_MIDI_CHANNEL_DOWN", - "label": "Channel Down", "aliases": [ "MI_CHND" ] @@ -1091,7 +959,6 @@ "0x7184": { "group": "midi", "key": "QK_MIDI_CHANNEL_UP", - "label": "Channel Up", "aliases": [ "MI_CHNU" ] @@ -1099,7 +966,6 @@ "0x7185": { "group": "midi", "key": "QK_MIDI_ALL_NOTES_OFF", - "label": "All Notes Off", "aliases": [ "MI_AOFF" ] @@ -1107,7 +973,6 @@ "0x7186": { "group": "midi", "key": "QK_MIDI_SUSTAIN", - "label": "Sustain", "aliases": [ "MI_SUST" ] @@ -1115,7 +980,6 @@ "0x7187": { "group": "midi", "key": "QK_MIDI_PORTAMENTO", - "label": "Portamento", "aliases": [ "MI_PORT" ] @@ -1123,7 +987,6 @@ "0x7188": { "group": "midi", "key": "QK_MIDI_SOSTENUTO", - "label": "Sostenuto", "aliases": [ "MI_SOST" ] @@ -1131,7 +994,6 @@ "0x7189": { "group": "midi", "key": "QK_MIDI_SOFT", - "label": "Soft Pedal", "aliases": [ "MI_SOFT" ] @@ -1139,7 +1001,6 @@ "0x718A": { "group": "midi", "key": "QK_MIDI_LEGATO", - "label": "Legato", "aliases": [ "MI_LEG" ] @@ -1147,7 +1008,6 @@ "0x718B": { "group": "midi", "key": "QK_MIDI_MODULATION", - "label": "Modulation", "aliases": [ "MI_MOD" ] @@ -1155,7 +1015,6 @@ "0x718C": { "group": "midi", "key": "QK_MIDI_MODULATION_SPEED_DOWN", - "label": "Modulation Speed Down", "aliases": [ "MI_MODD" ] @@ -1163,7 +1022,6 @@ "0x718D": { "group": "midi", "key": "QK_MIDI_MODULATION_SPEED_UP", - "label": "Modulation Speed Up", "aliases": [ "MI_MODU" ] @@ -1171,7 +1029,6 @@ "0x718E": { "group": "midi", "key": "QK_MIDI_PITCH_BEND_DOWN", - "label": "Pitch Bend Down", "aliases": [ "MI_BNDD" ] @@ -1179,7 +1036,6 @@ "0x718F": { "group": "midi", "key": "QK_MIDI_PITCH_BEND_UP", - "label": "Pitch Bend Up", "aliases": [ "MI_BNDU" ] diff --git a/data/constants/keycodes/keycodes_0.0.2_quantum.hjson b/data/constants/keycodes/keycodes_0.0.2_quantum.hjson index 8bedec7d6c..960afa4e51 100644 --- a/data/constants/keycodes/keycodes_0.0.2_quantum.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_quantum.hjson @@ -3,7 +3,6 @@ "0x7C77": { "group": "quantum", "key": "QK_TRI_LAYER_LOWER", - "label": "Lower", "aliases": [ "TL_LOWR" ] @@ -11,7 +10,6 @@ "0x7C78": { "group": "quantum", "key": "QK_TRI_LAYER_UPPER", - "label": "Upper", "aliases": [ "TL_UPPR" ] diff --git a/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson b/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson index ef07ce9e09..445a2c9328 100644 --- a/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson @@ -5,7 +5,6 @@ "0x7200": { "group": "sequencer", "key": "QK_SEQUENCER_ON", - "label": "Sequencer On", "aliases": [ "SQ_ON" ] @@ -13,7 +12,6 @@ "0x7201": { "group": "sequencer", "key": "QK_SEQUENCER_OFF", - "label": "Sequencer Off", "aliases": [ "SQ_OFF" ] @@ -21,7 +19,6 @@ "0x7202": { "group": "sequencer", "key": "QK_SEQUENCER_TOGGLE", - "label": "Toggle Sequencer", "aliases": [ "SQ_TOGG" ] @@ -29,7 +26,6 @@ "0x7203": { "group": "sequencer", "key": "QK_SEQUENCER_TEMPO_DOWN", - "label": "Tempo Down", "aliases": [ "SQ_TMPD" ] @@ -37,7 +33,6 @@ "0x7204": { "group": "sequencer", "key": "QK_SEQUENCER_TEMPO_UP", - "label": "Tempo Up", "aliases": [ "SQ_TMPU" ] @@ -45,7 +40,6 @@ "0x7205": { "group": "sequencer", "key": "QK_SEQUENCER_RESOLUTION_DOWN", - "label": "Resolution Down", "aliases": [ "SQ_RESD" ] @@ -53,7 +47,6 @@ "0x7206": { "group": "sequencer", "key": "QK_SEQUENCER_RESOLUTION_UP", - "label": "Resolution Up", "aliases": [ "SQ_RESU" ] @@ -61,7 +54,6 @@ "0x7207": { "group": "sequencer", "key": "QK_SEQUENCER_STEPS_ALL", - "label": "All Steps", "aliases": [ "SQ_SALL" ] @@ -69,7 +61,6 @@ "0x7208": { "group": "sequencer", "key": "QK_SEQUENCER_STEPS_CLEAR", - "label": "Clear Steps", "aliases": [ "SQ_SCLR" ] diff --git a/data/constants/keycodes/keycodes_0.0.2_swap_hands.hjson b/data/constants/keycodes/keycodes_0.0.2_swap_hands.hjson index 4b67c7a128..ddaa2c76b9 100644 --- a/data/constants/keycodes/keycodes_0.0.2_swap_hands.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_swap_hands.hjson @@ -3,7 +3,6 @@ "0x56F0": { "group": "swap_hands", "key": "QK_SWAP_HANDS_TOGGLE", - "label": "Toggle Swap Hands", "aliases": [ "SH_TOGG" ] @@ -11,7 +10,6 @@ "0x56F1": { "group": "swap_hands", "key": "QK_SWAP_HANDS_TAP_TOGGLE", - "label": "Swap Hands Tap Toggle", "aliases": [ "SH_TT" ] @@ -19,7 +17,6 @@ "0x56F2": { "group": "swap_hands", "key": "QK_SWAP_HANDS_MOMENTARY_ON", - "label": "Swap Hands Momentary On", "aliases": [ "SH_MON" ] @@ -27,7 +24,6 @@ "0x56F3": { "group": "swap_hands", "key": "QK_SWAP_HANDS_MOMENTARY_OFF", - "label": "Swap Hands Momentary Off", "aliases": [ "SH_MOFF" ] @@ -35,7 +31,6 @@ "0x56F4": { "group": "swap_hands", "key": "QK_SWAP_HANDS_OFF", - "label": "Unswap Hands", "aliases": [ "SH_OFF" ] @@ -43,7 +38,6 @@ "0x56F5": { "group": "swap_hands", "key": "QK_SWAP_HANDS_ON", - "label": "Swap Hands", "aliases": [ "SH_ON" ] @@ -51,7 +45,6 @@ "0x56F6": { "group": "swap_hands", "key": "QK_SWAP_HANDS_ONE_SHOT", - "label": "Swap Hands One Shot", "aliases": [ "SH_OS" ] diff --git a/data/constants/keycodes/keycodes_0.0.2_user.hjson b/data/constants/keycodes/keycodes_0.0.2_user.hjson index cfc5a538ee..a30e8e8eed 100644 --- a/data/constants/keycodes/keycodes_0.0.2_user.hjson +++ b/data/constants/keycodes/keycodes_0.0.2_user.hjson @@ -2,163 +2,131 @@ "keycodes": { "0x7E40": { "group": "user", - "key": "QK_USER_0", - "label": "User 0" + "key": "QK_USER_0" }, "0x7E41": { "group": "user", - "key": "QK_USER_1", - "label": "User 1" + "key": "QK_USER_1" }, "0x7E42": { "group": "user", - "key": "QK_USER_2", - "label": "User 2" + "key": "QK_USER_2" }, "0x7E43": { "group": "user", - "key": "QK_USER_3", - "label": "User 3" + "key": "QK_USER_3" }, "0x7E44": { "group": "user", - "key": "QK_USER_4", - "label": "User 4" + "key": "QK_USER_4" }, "0x7E45": { "group": "user", - "key": "QK_USER_5", - "label": "User 5" + "key": "QK_USER_5" }, "0x7E46": { "group": "user", - "key": "QK_USER_6", - "label": "User 6" + "key": "QK_USER_6" }, "0x7E47": { "group": "user", - "key": "QK_USER_7", - "label": "User 7" + "key": "QK_USER_7" }, "0x7E48": { "group": "user", - "key": "QK_USER_8", - "label": "User 8" + "key": "QK_USER_8" }, "0x7E49": { "group": "user", - "key": "QK_USER_9", - "label": "User 9" + "key": "QK_USER_9" }, "0x7E4A": { "group": "user", - "key": "QK_USER_10", - "label": "User 10" + "key": "QK_USER_10" }, "0x7E4B": { "group": "user", - "key": "QK_USER_11", - "label": "User 11" + "key": "QK_USER_11" }, "0x7E4C": { "group": "user", - "key": "QK_USER_12", - "label": "User 12" + "key": "QK_USER_12" }, "0x7E4D": { "group": "user", - "key": "QK_USER_13", - "label": "User 13" + "key": "QK_USER_13" }, "0x7E4E": { "group": "user", - "key": "QK_USER_14", - "label": "User 14" + "key": "QK_USER_14" }, "0x7E4F": { "group": "user", - "key": "QK_USER_15", - "label": "User 15" + "key": "QK_USER_15" }, "0x7E50": { "group": "user", - "key": "QK_USER_16", - "label": "User 16" + "key": "QK_USER_16" }, "0x7E51": { "group": "user", - "key": "QK_USER_17", - "label": "User 17" + "key": "QK_USER_17" }, "0x7E52": { "group": "user", - "key": "QK_USER_18", - "label": "User 18" + "key": "QK_USER_18" }, "0x7E53": { "group": "user", - "key": "QK_USER_19", - "label": "User 19" + "key": "QK_USER_19" }, "0x7E54": { "group": "user", - "key": "QK_USER_20", - "label": "User 20" + "key": "QK_USER_20" }, "0x7E55": { "group": "user", - "key": "QK_USER_21", - "label": "User 21" + "key": "QK_USER_21" }, "0x7E56": { "group": "user", - "key": "QK_USER_22", - "label": "User 22" + "key": "QK_USER_22" }, "0x7E57": { "group": "user", - "key": "QK_USER_23", - "label": "User 23" + "key": "QK_USER_23" }, "0x7E58": { "group": "user", - "key": "QK_USER_24", - "label": "User 24" + "key": "QK_USER_24" }, "0x7E59": { "group": "user", - "key": "QK_USER_25", - "label": "User 25" + "key": "QK_USER_25" }, "0x7E5A": { "group": "user", - "key": "QK_USER_26", - "label": "User 26" + "key": "QK_USER_26" }, "0x7E5B": { "group": "user", - "key": "QK_USER_27", - "label": "User 27" + "key": "QK_USER_27" }, "0x7E5C": { "group": "user", - "key": "QK_USER_28", - "label": "User 28" + "key": "QK_USER_28" }, "0x7E5D": { "group": "user", - "key": "QK_USER_29", - "label": "User 29" + "key": "QK_USER_29" }, "0x7E5E": { "group": "user", - "key": "QK_USER_30", - "label": "User 30" + "key": "QK_USER_30" }, "0x7E5F": { "group": "user", - "key": "QK_USER_31", - "label": "User 31" + "key": "QK_USER_31" } } } diff --git a/data/constants/keycodes/keycodes_0.0.3_quantum.hjson b/data/constants/keycodes/keycodes_0.0.3_quantum.hjson index e591677504..23a3c9b06d 100644 --- a/data/constants/keycodes/keycodes_0.0.3_quantum.hjson +++ b/data/constants/keycodes/keycodes_0.0.3_quantum.hjson @@ -3,7 +3,6 @@ "0x7C79": { "group": "quantum", "key": "QK_REPEAT_KEY", - "label": "Repeat", "aliases": [ "QK_REP" ] @@ -11,7 +10,6 @@ "0x7C7A": { "group": "quantum", "key": "QK_ALT_REPEAT_KEY", - "label": "Repeat Alternate", "aliases": [ "QK_AREP" ] diff --git a/data/constants/keycodes/keycodes_0.0.4_lighting.hjson b/data/constants/keycodes/keycodes_0.0.4_lighting.hjson index 479020666a..b341c664bd 100644 --- a/data/constants/keycodes/keycodes_0.0.4_lighting.hjson +++ b/data/constants/keycodes/keycodes_0.0.4_lighting.hjson @@ -3,7 +3,6 @@ "0x7810": { "group": "led_matrix", "key": "QK_LED_MATRIX_ON", - "label": "LED Matrix On", "aliases": [ "LM_ON" ] @@ -11,7 +10,6 @@ "0x7811": { "group": "led_matrix", "key": "QK_LED_MATRIX_OFF", - "label": "LED Matrix Off", "aliases": [ "LM_OFF" ] @@ -19,7 +17,6 @@ "0x7812": { "group": "led_matrix", "key": "QK_LED_MATRIX_TOGGLE", - "label": "Toggle LED Matrix", "aliases": [ "LM_TOGG" ] @@ -27,7 +24,6 @@ "0x7813": { "group": "led_matrix", "key": "QK_LED_MATRIX_MODE_NEXT", - "label": "LED Matrix Next", "aliases": [ "LM_NEXT" ] @@ -35,7 +31,6 @@ "0x7814": { "group": "led_matrix", "key": "QK_LED_MATRIX_MODE_PREVIOUS", - "label": "LED Matrix Previous", "aliases": [ "LM_PREV" ] @@ -43,7 +38,6 @@ "0x7815": { "group": "led_matrix", "key": "QK_LED_MATRIX_BRIGHTNESS_UP", - "label": "LED Matrix Brightness Up", "aliases": [ "LM_BRIU" ] @@ -51,7 +45,6 @@ "0x7816": { "group": "led_matrix", "key": "QK_LED_MATRIX_BRIGHTNESS_DOWN", - "label": "LED Matrix Brightness Down", "aliases": [ "LM_BRID" ] @@ -59,7 +52,6 @@ "0x7817": { "group": "led_matrix", "key": "QK_LED_MATRIX_SPEED_UP", - "label": "LED Matrix Speed Up", "aliases": [ "LM_SPDU" ] @@ -67,7 +59,6 @@ "0x7818": { "group": "led_matrix", "key": "QK_LED_MATRIX_SPEED_DOWN", - "label": "LED Matrix Speed Down", "aliases": [ "LM_SPDD" ] @@ -76,7 +67,6 @@ "0x7820": { "group": "underglow", "key": "QK_UNDERGLOW_TOGGLE", - "label": "Toggle RGB Underglow", "aliases": [ "UG_TOGG" ] @@ -84,7 +74,6 @@ "0x7821": { "group": "underglow", "key": "QK_UNDERGLOW_MODE_NEXT", - "label": "RGB Underglow Next", "aliases": [ "!reset!", "UG_NEXT" @@ -93,7 +82,6 @@ "0x7822": { "group": "underglow", "key": "QK_UNDERGLOW_MODE_PREVIOUS", - "label": "RGB Underglow Previous", "aliases": [ "!reset!", "UG_PREV" @@ -102,7 +90,6 @@ "0x7823": { "group": "underglow", "key": "QK_UNDERGLOW_HUE_UP", - "label": "RGB Underglow Hue Up", "aliases": [ "UG_HUEU" ] @@ -110,7 +97,6 @@ "0x7824": { "group": "underglow", "key": "QK_UNDERGLOW_HUE_DOWN", - "label": "RGB Underglow Hue Down", "aliases": [ "UG_HUED" ] @@ -118,7 +104,6 @@ "0x7825": { "group": "underglow", "key": "QK_UNDERGLOW_SATURATION_UP", - "label": "RGB Underglow Saturation Up", "aliases": [ "UG_SATU" ] @@ -126,7 +111,6 @@ "0x7826": { "group": "underglow", "key": "QK_UNDERGLOW_SATURATION_DOWN", - "label": "RGB Underglow Saturation Down", "aliases": [ "UG_SATD" ] @@ -134,7 +118,6 @@ "0x7827": { "group": "underglow", "key": "QK_UNDERGLOW_VALUE_UP", - "label": "RGB Underglow Value Up", "aliases": [ "UG_VALU" ] @@ -142,7 +125,6 @@ "0x7828": { "group": "underglow", "key": "QK_UNDERGLOW_VALUE_DOWN", - "label": "RGB Underglow Value Down", "aliases": [ "UG_VALD" ] @@ -150,7 +132,6 @@ "0x7829": { "group": "underglow", "key": "QK_UNDERGLOW_SPEED_UP", - "label": "RGB Underglow Speed Up", "aliases": [ "UG_SPDU" ] @@ -158,7 +139,6 @@ "0x782A": { "group": "underglow", "key": "QK_UNDERGLOW_SPEED_DOWN", - "label": "RGB Underglow Speed Down", "aliases": [ "UG_SPDD" ] @@ -167,7 +147,6 @@ "0x7840": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_ON", - "label": "RGB Matrix On", "aliases": [ "RM_ON" ] @@ -175,7 +154,6 @@ "0x7841": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_OFF", - "label": "RGB Matrix Off" "aliases": [ "RM_OFF" ] @@ -183,7 +161,6 @@ "0x7842": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_TOGGLE", - "label": "Toggle RGB Matrix", "aliases": [ "RM_TOGG" ] @@ -191,7 +168,6 @@ "0x7843": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_MODE_NEXT", - "label": "RGB Matrix Next", "aliases": [ "RM_NEXT" ] @@ -199,7 +175,6 @@ "0x7844": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_MODE_PREVIOUS", - "label": "RGB Matrix Previous", "aliases": [ "RM_PREV" ] @@ -207,7 +182,6 @@ "0x7845": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_HUE_UP", - "label": "RGB Matrix Hue Up", "aliases": [ "RM_HUEU" ] @@ -215,7 +189,6 @@ "0x7846": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_HUE_DOWN", - "label": "RGB Matrix Hue Down", "aliases": [ "RM_HUED" ] @@ -223,7 +196,6 @@ "0x7847": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_SATURATION_UP", - "label": "RGB Matrix Saturation Up", "aliases": [ "RM_SATU" ] @@ -231,7 +203,6 @@ "0x7848": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_SATURATION_DOWN", - "label": "RGB Matrix Saturation Down", "aliases": [ "RM_SATD" ] @@ -239,7 +210,6 @@ "0x7849": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_VALUE_UP", - "label": "RGB Matrix Value Up", "aliases": [ "RM_VALU" ] @@ -247,7 +217,6 @@ "0x784A": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_VALUE_DOWN", - "label": "RGB Matrix Value Down", "aliases": [ "RM_VALD" ] @@ -255,7 +224,6 @@ "0x784B": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_SPEED_UP", - "label": "RGB Matrix Speed Up", "aliases": [ "RM_SPDU" ] @@ -263,7 +231,6 @@ "0x784C": { "group": "rgb_matrix", "key": "QK_RGB_MATRIX_SPEED_DOWN", - "label": "RGB Matrix Speed Down", "aliases": [ "RM_SPDD" ] diff --git a/data/constants/keycodes/keycodes_0.0.5_basic.hjson b/data/constants/keycodes/keycodes_0.0.5_basic.hjson index 40ce772acf..79b6bf6596 100644 --- a/data/constants/keycodes/keycodes_0.0.5_basic.hjson +++ b/data/constants/keycodes/keycodes_0.0.5_basic.hjson @@ -3,7 +3,7 @@ "0x00CD": { "group": "mouse", "key": "QK_MOUSE_CURSOR_UP", - "label": "Mouse Up", + "label": "Mouse cursor up", "aliases": [ "!reset!", "MS_UP" @@ -12,7 +12,7 @@ "0x00CE": { "group": "mouse", "key": "QK_MOUSE_CURSOR_DOWN", - "label": "Mouse Down", + "label": "Mouse cursor down", "aliases": [ "!reset!", "MS_DOWN" @@ -21,7 +21,7 @@ "0x00CF": { "group": "mouse", "key": "QK_MOUSE_CURSOR_LEFT", - "label": "Mouse Left", + "label": "Mouse cursor left", "aliases": [ "!reset!", "MS_LEFT" @@ -30,7 +30,7 @@ "0x00D0": { "group": "mouse", "key": "QK_MOUSE_CURSOR_RIGHT", - "label": "Mouse Right", + "label": "Mouse cursor right", "aliases": [ "!reset!", "MS_RGHT" @@ -39,7 +39,7 @@ "0x00D1": { "group": "mouse", "key": "QK_MOUSE_BUTTON_1", - "label": "Mouse Button 1", + "label": "Mouse button 1", "aliases": [ "!reset!", "MS_BTN1" @@ -48,7 +48,7 @@ "0x00D2": { "group": "mouse", "key": "QK_MOUSE_BUTTON_2", - "label": "Mouse Button 2", + "label": "Mouse button 2", "aliases": [ "!reset!", "MS_BTN2" @@ -57,7 +57,7 @@ "0x00D3": { "group": "mouse", "key": "QK_MOUSE_BUTTON_3", - "label": "Mouse Button 3", + "label": "Mouse button 3", "aliases": [ "!reset!", "MS_BTN3" @@ -66,7 +66,7 @@ "0x00D4": { "group": "mouse", "key": "QK_MOUSE_BUTTON_4", - "label": "Mouse Button 4", + "label": "Mouse button 4", "aliases": [ "!reset!", "MS_BTN4" @@ -75,7 +75,7 @@ "0x00D5": { "group": "mouse", "key": "QK_MOUSE_BUTTON_5", - "label": "Mouse Button 5", + "label": "Mouse button 5", "aliases": [ "!reset!", "MS_BTN5" @@ -84,7 +84,7 @@ "0x00D6": { "group": "mouse", "key": "QK_MOUSE_BUTTON_6", - "label": "Mouse Button 6", + "label": "Mouse button 6", "aliases": [ "!reset!", "MS_BTN6" @@ -93,7 +93,7 @@ "0x00D7": { "group": "mouse", "key": "QK_MOUSE_BUTTON_7", - "label": "Mouse Button 7", + "label": "Mouse button 7", "aliases": [ "!reset!", "MS_BTN7" @@ -102,7 +102,7 @@ "0x00D8": { "group": "mouse", "key": "QK_MOUSE_BUTTON_8", - "label": "Mouse Button 8", + "label": "Mouse button 8", "aliases": [ "!reset!", "MS_BTN8" @@ -111,7 +111,7 @@ "0x00D9": { "group": "mouse", "key": "QK_MOUSE_WHEEL_UP", - "label": "Mouse Wheel Up", + "label": "Mouse wheel up", "aliases": [ "!reset!", "MS_WHLU" @@ -120,7 +120,7 @@ "0x00DA": { "group": "mouse", "key": "QK_MOUSE_WHEEL_DOWN", - "label": "Mouse Wheel Down", + "label": "Mouse wheel down", "aliases": [ "!reset!", "MS_WHLD" @@ -129,7 +129,7 @@ "0x00DB": { "group": "mouse", "key": "QK_MOUSE_WHEEL_LEFT", - "label": "Mouse Wheel Left", + "label": "Mouse wheel left", "aliases": [ "!reset!", "MS_WHLL" @@ -138,7 +138,7 @@ "0x00DC": { "group": "mouse", "key": "QK_MOUSE_WHEEL_RIGHT", - "label": "Mouse Wheel Right", + "label": "Mouse wheel right", "aliases": [ "!reset!", "MS_WHLR" @@ -147,7 +147,7 @@ "0x00DD": { "group": "mouse", "key": "QK_MOUSE_ACCELERATION_0", - "label": "Acceleration 0", + "label": "Set mouse acceleration to 0", "aliases": [ "!reset!", "MS_ACL0" @@ -156,7 +156,7 @@ "0x00DE": { "group": "mouse", "key": "QK_MOUSE_ACCELERATION_1", - "label": "Acceleration 1", + "label": "Set mouse acceleration to 1", "aliases": [ "!reset!", "MS_ACL1" @@ -165,7 +165,7 @@ "0x00DF": { "group": "mouse", "key": "QK_MOUSE_ACCELERATION_2", - "label": "Acceleration 2", + "label": "Set mouse acceleration to 2", "aliases": [ "!reset!", "MS_ACL2" diff --git a/data/constants/keycodes/keycodes_0.0.6_connection.hjson b/data/constants/keycodes/keycodes_0.0.6_connection.hjson index e5fab9bd5a..9be1106825 100644 --- a/data/constants/keycodes/keycodes_0.0.6_connection.hjson +++ b/data/constants/keycodes/keycodes_0.0.6_connection.hjson @@ -8,7 +8,6 @@ "0x7780": { "group": "connection", "key": "QK_OUTPUT_AUTO", - "label": "Output Auto", "aliases": [ "OU_AUTO" ] @@ -16,7 +15,6 @@ "0x7781": { "group": "connection", "key": "QK_OUTPUT_NEXT", - "label": "Next Output", "aliases": [ "OU_NEXT" ] @@ -24,7 +22,6 @@ "0x7782": { "group": "connection", "key": "QK_OUTPUT_PREV", - "label": "Previous Output", "aliases": [ "OU_PREV" ] @@ -32,7 +29,6 @@ "0x7783": { "group": "connection", "key": "QK_OUTPUT_NONE", - "label": "None", "aliases": [ "OU_NONE" ] @@ -40,7 +36,6 @@ "0x7784": { "group": "connection", "key": "QK_OUTPUT_USB", - "label": "USB", "aliases": [ "OU_USB" ] @@ -48,7 +43,6 @@ "0x7785": { "group": "connection", "key": "QK_OUTPUT_2P4GHZ", - "label": "2.4GHz", "aliases": [ "OU_2P4G" ] @@ -56,7 +50,6 @@ "0x7786": { "group": "connection", "key": "QK_OUTPUT_BLUETOOTH", - "label": "Bluetooth", "aliases": [ "OU_BT" ] @@ -65,7 +58,6 @@ "0x7790": { "group": "connection", "key": "QK_BLUETOOTH_PROFILE_NEXT", - "label": "Bluetooth Profile Next", "aliases": [ "BT_NEXT" ] @@ -73,7 +65,6 @@ "0x7791": { "group": "connection", "key": "QK_BLUETOOTH_PROFILE_PREV", - "label": "Bluetooth Profile Previous", "aliases": [ "BT_PREV" ] @@ -81,7 +72,6 @@ "0x7792": { "group": "connection", "key": "QK_BLUETOOTH_UNPAIR", - "label": "Unpair", "aliases": [ "BT_UNPR" ] @@ -89,7 +79,6 @@ "0x7793": { "group": "connection", "key": "QK_BLUETOOTH_PROFILE1", - "label": "Bluetooth Profile 1", "aliases": [ "BT_PRF1" ] @@ -97,7 +86,6 @@ "0x7794": { "group": "connection", "key": "QK_BLUETOOTH_PROFILE2", - "label": "Bluetooth Profile 2", "aliases": [ "BT_PRF2" ] @@ -105,7 +93,6 @@ "0x7795": { "group": "connection", "key": "QK_BLUETOOTH_PROFILE3", - "label": "Bluetooth Profile 3", "aliases": [ "BT_PRF3" ] @@ -113,7 +100,6 @@ "0x7796": { "group": "connection", "key": "QK_BLUETOOTH_PROFILE4", - "label": "Bluetooth Profile 4", "aliases": [ "BT_PRF4" ] @@ -121,7 +107,6 @@ "0x7797": { "group": "connection", "key": "QK_BLUETOOTH_PROFILE5", - "label": "Bluetooth Profile 5", "aliases": [ "BT_PRF5" ] diff --git a/data/constants/keycodes/keycodes_0.0.6_quantum.hjson b/data/constants/keycodes/keycodes_0.0.6_quantum.hjson index 1dead0588b..be3285f9e4 100644 --- a/data/constants/keycodes/keycodes_0.0.6_quantum.hjson +++ b/data/constants/keycodes/keycodes_0.0.6_quantum.hjson @@ -6,7 +6,6 @@ "0x7C7B": { "group": "quantum", "key": "QK_LAYER_LOCK", - "label": "Layer Lock", "aliases": [ "QK_LLCK" ] diff --git a/data/constants/keycodes/keycodes_0.0.8.hjson b/data/constants/keycodes/keycodes_0.0.8.hjson deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/data/constants/keycodes/keycodes_0.0.8_lighting.hjson b/data/constants/keycodes/keycodes_0.0.8_lighting.hjson deleted file mode 100644 index fa7227235e..0000000000 --- a/data/constants/keycodes/keycodes_0.0.8_lighting.hjson +++ /dev/null @@ -1,37 +0,0 @@ -{ - "keycodes": { - "0x7819": { - "group": "led_matrix", - "key": "QK_LED_MATRIX_FLAG_NEXT", - "label": "LED Matrix Flag Next", - "aliases": [ - "LM_FLGN" - ] - }, - "0x781A": { - "group": "led_matrix", - "key": "QK_LED_MATRIX_FLAG_PREVIOUS", - "label": "LED Matrix Flag Previous", - "aliases": [ - "LM_FLGP" - ] - }, - - "0x784D": { - "group": "rgb_matrix", - "key": "QK_RGB_MATRIX_FLAG_NEXT", - "label": "RGB Matrix Flag Next", - "aliases": [ - "RM_FLGN" - ] - }, - "0x784E": { - "group": "rgb_matrix", - "key": "QK_RGB_MATRIX_FLAG_PREVIOUS", - "label": "RGB Matrix Flag Previous", - "aliases": [ - "RM_FLGP" - ] - } - } -} diff --git a/data/constants/module_hooks/1.1.2.hjson b/data/constants/module_hooks/1.1.2.hjson deleted file mode 100644 index 3d4d100f83..0000000000 --- a/data/constants/module_hooks/1.1.2.hjson +++ /dev/null @@ -1,3 +0,0 @@ -{ - // This version exists to signify addition of split data sync support. -} diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index e86932e9dd..4c53aa4339 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -19,8 +19,6 @@ // Audio "AUDIO_DEFAULT_ON": {"info_key": "audio.default.on", "value_type": "bool"}, "AUDIO_DEFAULT_CLICKY_ON": {"info_key": "audio.default.clicky", "value_type": "bool"}, - "AUDIO_PIN": {"info_key": "audio.pins.0"}, - "AUDIO_PIN_ALT": {"info_key": "audio.pins.1"}, "AUDIO_POWER_CONTROL_PIN": {"info_key": "audio.power_control.pin"}, "AUDIO_POWER_CONTROL_PIN_ON_STATE": {"info_key": "audio.power_control.on_state", "value_type": "int" }, "AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "flag"}, @@ -100,7 +98,6 @@ // LED Matrix "LED_MATRIX_CENTER": {"info_key": "led_matrix.center_point", "value_type": "array.int"}, - "LED_MATRIX_FLAG_STEPS": {"info_key": "led_matrix.flag_steps", "value_type": "array.int"}, "LED_MATRIX_KEYRELEASES": {"info_key": "led_matrix.react_on_keyup", "value_type": "flag"}, "LED_MATRIX_LED_FLUSH_LIMIT": {"info_key": "led_matrix.led_flush_limit", "value_type": "int"}, "LED_MATRIX_LED_PROCESS_LIMIT": {"info_key": "led_matrix.led_process_limit", "value_type": "int", "to_json": false}, @@ -114,7 +111,6 @@ "LED_MATRIX_DEFAULT_ON": {"info_key": "led_matrix.default.on", "value_type": "bool"}, "LED_MATRIX_DEFAULT_VAL": {"info_key": "led_matrix.default.val", "value_type": "int"}, "LED_MATRIX_DEFAULT_SPD": {"info_key": "led_matrix.default.speed", "value_type": "int"}, - "LED_MATRIX_DEFAULT_FLAGS": {"info_key": "led_matrix.default.flags", "value_type": "int"}, // Locking Switch "LOCKING_SUPPORT_ENABLE": {"info_key": "qmk.locking.enabled", "value_type": "flag"}, @@ -151,7 +147,6 @@ // RGB Matrix "RGB_MATRIX_CENTER": {"info_key": "rgb_matrix.center_point", "value_type": "array.int"}, - "RGB_MATRIX_FLAG_STEPS": {"info_key": "rgb_matrix.flag_steps", "value_type": "array.int"}, "RGB_MATRIX_HUE_STEP": {"info_key": "rgb_matrix.hue_steps", "value_type": "int"}, "RGB_MATRIX_KEYRELEASES": {"info_key": "rgb_matrix.react_on_keyup", "value_type": "flag"}, "RGB_MATRIX_LED_FLUSH_LIMIT": {"info_key": "rgb_matrix.led_flush_limit", "value_type": "int"}, @@ -169,7 +164,6 @@ "RGB_MATRIX_DEFAULT_SAT": {"info_key": "rgb_matrix.default.sat", "value_type": "int"}, "RGB_MATRIX_DEFAULT_VAL": {"info_key": "rgb_matrix.default.val", "value_type": "int"}, "RGB_MATRIX_DEFAULT_SPD": {"info_key": "rgb_matrix.default.speed", "value_type": "int"}, - "RGB_MATRIX_DEFAULT_FLAGS": {"info_key": "rgb_matrix.default.flags", "value_type": "int"}, // RGBLight "RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"}, @@ -198,7 +192,7 @@ // Split Keyboard "SOFT_SERIAL_PIN": {"info_key": "split.serial.pin"}, - "SELECT_SOFT_SERIAL_SPEED": {"info_key": "split.serial.speed", "value_type": "int"}, + "SELECT_SOFT_SERIAL_SPEED": {"info_key": "split.serial.speed"}, "SPLIT_HAND_MATRIX_GRID": {"info_key": "split.handedness.matrix_grid", "value_type": "array", "to_c": false}, "SPLIT_HAND_PIN": {"info_key": "split.handedness.pin"}, "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "flag"}, @@ -226,9 +220,6 @@ "PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "flag"}, "RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "flag"}, "RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "flag"}, - "SPECULATIVE_HOLD": {"info_key": "tapping.speculative_hold", "value_type": "flag"}, - "SPECULATIVE_HOLD_FLOW_TERM": {"info_key": "tapping.speculative_hold_flow_term", "value_type": "int"}, - "SPECULATIVE_HOLD_ONE_KEY": {"info_key": "tapping.speculative_hold_one_key", "value_type": "flag"}, "TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"}, "TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"}, "TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"}, @@ -273,9 +264,9 @@ "PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str", "deprecated": true, "replace_with": "`keyboard_name` in info.json"}, "PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.pid` in info.json"}, "VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.vid` in info.json"}, + "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "flag", "deprecated": true, "replace_with": "`host.default.nkro` in info.json"}, // Items we want flagged in lint - "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "flag", "invalid": true, "replace_with": "`host.default.nkro` in info.json"}, "VIAL_KEYBOARD_UID": {"info_key": "_invalid.vial_uid", "invalid": true}, "VIAL_UNLOCK_COMBO_COLS": {"info_key": "_invalid.vial_unlock_cols", "invalid": true}, "VIAL_UNLOCK_COMBO_ROWS": {"info_key": "_invalid.vial_unlock_rows", "invalid": true} diff --git a/data/mappings/info_defaults.hjson b/data/mappings/info_defaults.hjson index fd59dacac0..b33cb4fa1f 100644 --- a/data/mappings/info_defaults.hjson +++ b/data/mappings/info_defaults.hjson @@ -11,9 +11,6 @@ "on_state": 1 }, "debounce": 5, - "dynamic_keymap": { - "layer_count": 4 - }, "features": { "command": false, "console": false @@ -26,8 +23,7 @@ "animation": "solid", "on": true, "val": 255, - "speed": 128, - "flags": 255 + "speed": 128 }, "led_flush_limit": 16, "max_brightness": 255, @@ -57,8 +53,7 @@ "hue": 0, "sat": 255, "val": 255, - "speed": 128, - "flags": 255 + "speed": 128 }, "hue_steps": 8, "led_flush_limit": 16, diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 71a7e880a3..3978235e20 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -1620,11 +1620,8 @@ "0_sixty": { "target": "0_sixty/base" }, - "0xcb/splaytoraid/32u4": { - "target": "0xcb/splaytoraid" - }, - "0xcb/splaytoraid/rp2040_ce": { - "target": "0xcb/splaytoraid" + "0xcb/splaytoraid": { + "target": "0xcb/splaytoraid/rp2040_ce" }, "1upkeyboards/pi40": { "target": "1upkeyboards/pi40/mit_v1_0" @@ -1635,24 +1632,12 @@ "1upkeyboards/sweet16": { "target": "1upkeyboards/sweet16/v1" }, - "1upkeyboards/sweet16v2/kb2040": { - "target": "1upkeyboards/sweet16v2" - }, - "1upkeyboards/sweet16v2/pro_micro": { - "target": "1upkeyboards/sweet16v2" - }, "25keys/aleth42": { "target": "25keys/aleth42/rev1" }, "25keys/zinc": { "target": "25keys/zinc/rev1" }, - "40percentclub/gherkin/kb2040": { - "target": "40percentclub/gherkin" - }, - "40percentclub/gherkin/pro_micro": { - "target": "40percentclub/gherkin" - }, "40percentclub/i75": { "target": "40percentclub/i75/promicro" }, @@ -1750,7 +1735,7 @@ "target": "durgod/dgk6x/galaxy" }, "durgod/venus": { - "target": "durgod/dgk6x/venus_ansi" + "target": "durgod/dgk6x/venus" }, "dztech/tofu/ii": { "target": "dztech/tofu/ii/v1" diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index ef2b4802a4..93b1c82b1c 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -46,8 +46,7 @@ "manufacturer": {"$ref": "./definitions.jsonschema#/text_identifier"}, "url": { "type": "string", - "format": "uri", - "minLength": 1 + "format": "uri" }, "development_board": { "type": "string", @@ -334,17 +333,6 @@ } } }, - "dynamic_keymap": { - "type": "object", - "properties": { - "eeprom_max_addr": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "layer_count": { - "type": "integer", - "minimum": 1, - "maximum": 32 - } - } - }, "eeprom": { "properties": { "driver": {"type": "string"}, @@ -555,8 +543,7 @@ "on": {"type": "boolean"}, "animation": {"type": "string"}, "val": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "flags": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} + "speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} } }, "driver": { @@ -584,11 +571,6 @@ "maxItems": 2, "items": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} }, - "flag_steps": { - "type": "array", - "minItems": 1, - "items": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} - }, "max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, "timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}, "val_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"}, @@ -644,8 +626,7 @@ "hue": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, "sat": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, "val": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, - "flags": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} + "speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} } }, "driver": { @@ -675,11 +656,6 @@ "maxItems": 2, "items": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} }, - "flag_steps": { - "type": "array", - "minItems": 1, - "items": {"$ref": "./definitions.jsonschema#/unsigned_int_8"} - }, "max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}, "timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}, "hue_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"}, @@ -993,7 +969,6 @@ "type": "object", "properties": { "chordal_hold": {"type": "boolean"}, - "flow_tap_term": {"$ref": "./definitions.jsonschema#/unsigned_int"}, "force_hold": {"type": "boolean"}, "force_hold_per_key": {"type": "boolean"}, "ignore_mod_tap_interrupt": {"type": "boolean"}, @@ -1003,9 +978,6 @@ "permissive_hold_per_key": {"type": "boolean"}, "retro": {"type": "boolean"}, "retro_per_key": {"type": "boolean"}, - "speculative_hold": {"type": "boolean"}, - "speculative_hold_flow_term": {"$ref": "./definitions.jsonschema#/unsigned_int"}, - "speculative_hold_one_key": {"type": "boolean"}, "term": {"$ref": "./definitions.jsonschema#/unsigned_int"}, "term_per_key": {"type": "boolean"}, "toggle": {"$ref": "./definitions.jsonschema#/unsigned_int"} diff --git a/data/schemas/keymap.jsonschema b/data/schemas/keymap.jsonschema index 71b39fc7c4..99aeaa6b6c 100644 --- a/data/schemas/keymap.jsonschema +++ b/data/schemas/keymap.jsonschema @@ -35,17 +35,6 @@ } } }, - "dip_switches": { - "type": "array", - "items": { - "type": "object", - "required": ["on", "off"], - "properties": { - "on": {"type": "string"}, - "off": {"type": "string"} - } - } - }, "macros": { "type": "array", "items": { diff --git a/docs/ChangeLog/20251130.md b/docs/ChangeLog/20251130.md deleted file mode 100644 index b86d630fa8..0000000000 --- a/docs/ChangeLog/20251130.md +++ /dev/null @@ -1,190 +0,0 @@ -# QMK Breaking Changes - 2025 Nov 30 Changelog - -## Notable Features {#notable-features} - -### Speculative Hold option for mod-taps: hold mods instantly while unsettled [#25572](https://github.com/qmk/qmk_firmware/pull/25572) - -Speculative Hold makes mod-tap keys more responsive by applying the modifier instantly on keydown, before the tap-hold decision is made. This is especially useful for actions like Shift+click and Ctrl+scroll wheel with an external mouse, which can feel laggy with standard mod-taps. - -The firmware holds the modifier speculatively. Once the key's behavior is settled: - -* If held, the modifier remains active as expected until the key is released. -* If tapped, the speculative modifier is canceled just before the tapping keycode is sent. - -Speculative Hold applies the modifier early but does not change the underlying tap-hold decision logic. Speculative Hold is compatible to use in combination with any other tap-hold options. - -see the [Speculative Hold](../tap_hold#speculative-hold) documentation for more information. - -## Changes Requiring User Action - -### Updated Keyboard Codebases - -| Old Keyboard Name | New Keyboard Name | -|----------------------------------|-------------------------| -| 0xcb/splaytoraid/32u4 | 0xcb/splaytoraid | -| 0xcb/splaytoraid/rp2040_ce | 0xcb/splaytoraid | -| 1upkeyboards/sweet16v2/kb2040 | 1upkeyboards/sweet16v2 | -| 1upkeyboards/sweet16v2/pro_micro | 1upkeyboards/sweet16v2 | -| 40percentclub/gherkin/kb2040 | 40percentclub/gherkin | -| 40percentclub/gherkin/pro_micro | 40percentclub/gherkin | -| durgod/dgk6x/venus | durgod/dgk6x/venus_ansi | - -### Reduce tap dance memory usage, move state out of data [#25415](https://github.com/qmk/qmk_firmware/pull/25415) - -The tap dance state has been separated from the action structure. Custom tap dance functions now receive the state as a separate parameter instead of accessing it through `action->state`. - -If your keymap uses custom tap dance functions that access the tap dance state, you need to update your code. - -* You can't use `action->state`. Instead you need to call `tap_dance_state_t *tap_dance_get_state(uint8_t tap_dance_idx)` to get the state. -* You now get a pointer to the state, so use `->` notation rather than `.` notation to get fields from it. - -### Before: -```c -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - tap_dance_action_t *action; - - switch (keycode) { - case TD(CT_CLN): - action = tap_dance_get(QK_TAP_DANCE_GET_INDEX(keycode)); - if (!record->event.pressed && action->state.count && !action->state.finished) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; - tap_code16(tap_hold->tap); - } - - } - return true; -} -``` -### After: -```c -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - tap_dance_action_t *action; - tap_dance_state_t* state; - switch (keycode) { - case TD(CT_CLN): - action = tap_dance_get(QK_TAP_DANCE_GET_INDEX(keycode)); - state = tap_dance_get_state(QK_TAP_DANCE_GET_INDEX(keycode)); - if (!record->event.pressed && state != NULL && state->count && !state->finished) { - tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; - tap_code16(tap_hold->tap); - } - } - return true; -} -``` - -## Deprecation Notices - -In line with the [notice period](../support_deprecation_policy#how-much-advance-notice-will-be-given), deprecation notices for larger items are listed here. - -### Remove override of QK_{LED,RGB}_MATRIX_TOGGLE keycode [#25672](https://github.com/qmk/qmk_firmware/pull/25672) - -[#24649](https://github.com/qmk/qmk_firmware/pull/24649) implemented genetic behavior, including keycodes, to cycle flags. - -Any overriding of existing keycodes that duplicate this behavior will be removed to ensure consistency with core functionality. - -## Full changelist - -Core: -* suspend: suppress wake up keypress ([#23389](https://github.com/qmk/qmk_firmware/pull/23389)) -* [Feature Improvement]add option to keep layer state when recording dynamic macros ([#24418](https://github.com/qmk/qmk_firmware/pull/24418)) -* Add generic handling to cycle LED/RGB Matrix flags ([#24649](https://github.com/qmk/qmk_firmware/pull/24649)) -* Implement `mod_t` packed struct ([#25168](https://github.com/qmk/qmk_firmware/pull/25168)) -* Implement minimal connection update logic ([#25334](https://github.com/qmk/qmk_firmware/pull/25334)) -* Reduce tap dance memory usage, move state out of data ([#25415](https://github.com/qmk/qmk_firmware/pull/25415)) -* Refactor debounce algorithm with static allocation ([#25515](https://github.com/qmk/qmk_firmware/pull/25515)) -* Restructure Pixel Rain interval code ([#25516](https://github.com/qmk/qmk_firmware/pull/25516)) -* Guard remapping logic with MAGIC_ENABLE ([#25537](https://github.com/qmk/qmk_firmware/pull/25537)) -* Update default OLED font ([#25565](https://github.com/qmk/qmk_firmware/pull/25565)) -* Speculative Hold option for mod-taps: hold mods instantly while unsettled. ([#25572](https://github.com/qmk/qmk_firmware/pull/25572)) -* Simplify hue calculation in raindrops animation ([#25587](https://github.com/qmk/qmk_firmware/pull/25587)) -* Simplify tap_code16_delay ([#25595](https://github.com/qmk/qmk_firmware/pull/25595)) -* Debounce: Deprecate num_rows parameter ([#25632](https://github.com/qmk/qmk_firmware/pull/25632)) -* Add I2C Transmit and Receive function ([#25637](https://github.com/qmk/qmk_firmware/pull/25637)) -* [QP] Minor cleanup and support for RGB888 surface ([#25706](https://github.com/qmk/qmk_firmware/pull/25706)) -* Restrict mouse timer activation to movement keycodes ([#25716](https://github.com/qmk/qmk_firmware/pull/25716)) -* Update STM32F446 default HSE to 8MHz ([#25717](https://github.com/qmk/qmk_firmware/pull/25717)) -* making flowtap timer public so it can be used easily with combos ([#25731](https://github.com/qmk/qmk_firmware/pull/25731)) -* Add PixArt PAW-3222 mouse sensor driver ([#25763](https://github.com/qmk/qmk_firmware/pull/25763)) -* Merge upstream uf2conv changes ([#25786](https://github.com/qmk/qmk_firmware/pull/25786)) -* Partially skip generating community modules when none enabled ([#25819](https://github.com/qmk/qmk_firmware/pull/25819)) - -CLI: -* Generate default encoder resolution for sparse config ([#25247](https://github.com/qmk/qmk_firmware/pull/25247)) -* Add DIP Switch map support to keymap.json ([#25431](https://github.com/qmk/qmk_firmware/pull/25431)) -* Add return code to `qmk userspace-doctor` ([#25775](https://github.com/qmk/qmk_firmware/pull/25775)) -* Better defaulting of `{RGB,LED}_MATRIX_DEFAULT_FLAGS` ([#25785](https://github.com/qmk/qmk_firmware/pull/25785)) -* add BCD versions of QMK Version ([#25804](https://github.com/qmk/qmk_firmware/pull/25804)) -* Lint error on missing keyboard readme ([#25814](https://github.com/qmk/qmk_firmware/pull/25814)) - -Submodule updates: -* Update ChibiOS-Contrib. ([#25751](https://github.com/qmk/qmk_firmware/pull/25751)) - -Keyboards: -* `atreus`: restore intended matrix implementations ([#24082](https://github.com/qmk/qmk_firmware/pull/24082)) -* add SteelSeries prime, a stripped down prime+ ([#24719](https://github.com/qmk/qmk_firmware/pull/24719)) -* Add new macropad Sharkropad ([#24961](https://github.com/qmk/qmk_firmware/pull/24961)) -* Addition of the D60B tsangan pcb ([#25245](https://github.com/qmk/qmk_firmware/pull/25245)) -* Migrate `eeconfig_init_kb` implementations to config ([#25422](https://github.com/qmk/qmk_firmware/pull/25422)) -* Generate `CUSTOM_MATRIX = lite` without `matrix_pins.custom` ([#25453](https://github.com/qmk/qmk_firmware/pull/25453)) -* Add classic48 keyboard ([#25492](https://github.com/qmk/qmk_firmware/pull/25492)) -* add durgod venus iso support ([#25526](https://github.com/qmk/qmk_firmware/pull/25526)) -* Migrate `g_led_config` to DD (0-9, A) ([#25558](https://github.com/qmk/qmk_firmware/pull/25558)) -* Migrate `g_led_config` to DD (B, C) ([#25559](https://github.com/qmk/qmk_firmware/pull/25559)) -* Migrate `g_led_config` to DD (D) ([#25560](https://github.com/qmk/qmk_firmware/pull/25560)) -* Migrate `g_led_config` to DD (E, F) ([#25561](https://github.com/qmk/qmk_firmware/pull/25561)) -* Remove duplication of RP2040 config defaults ([#25563](https://github.com/qmk/qmk_firmware/pull/25563)) -* Refactor 40percentclub/ut47 ([#25571](https://github.com/qmk/qmk_firmware/pull/25571)) -* E7-V2 Implementation ([#25594](https://github.com/qmk/qmk_firmware/pull/25594)) -* Migrate `g_led_config` to DD (G) ([#25598](https://github.com/qmk/qmk_firmware/pull/25598)) -* Migrate `g_led_config` to DD (H) ([#25599](https://github.com/qmk/qmk_firmware/pull/25599)) -* Migrate `g_led_config` to DD (I) ([#25600](https://github.com/qmk/qmk_firmware/pull/25600)) -* Migrate `g_led_config` to DD (JK1) ([#25601](https://github.com/qmk/qmk_firmware/pull/25601)) -* Migrate `g_led_config` to DD (K2) ([#25602](https://github.com/qmk/qmk_firmware/pull/25602)) -* Migrate `g_led_config` to DD (K3) ([#25603](https://github.com/qmk/qmk_firmware/pull/25603)) -* Migrate `g_led_config` to DD (K4) ([#25605](https://github.com/qmk/qmk_firmware/pull/25605)) -* Migrate `g_led_config` to DD (K5) ([#25606](https://github.com/qmk/qmk_firmware/pull/25606)) -* Migrate `g_led_config` to DD (K6) ([#25607](https://github.com/qmk/qmk_firmware/pull/25607)) -* Refactor `40percentclub/gherkin` ([#25608](https://github.com/qmk/qmk_firmware/pull/25608)) -* Refactor `0xcb/splaytoraid` ([#25609](https://github.com/qmk/qmk_firmware/pull/25609)) -* Refactor `1upkeyboards/sweet16v2` ([#25610](https://github.com/qmk/qmk_firmware/pull/25610)) -* Migrate `g_led_config` to DD (K7) ([#25616](https://github.com/qmk/qmk_firmware/pull/25616)) -* Migrate `g_led_config` to DD (L) ([#25617](https://github.com/qmk/qmk_firmware/pull/25617)) -* Migrate `g_led_config` to DD (M1) ([#25618](https://github.com/qmk/qmk_firmware/pull/25618)) -* Migrate `g_led_config` to DD (M2) ([#25619](https://github.com/qmk/qmk_firmware/pull/25619)) -* Migrate `g_led_config` to DD (M3) ([#25620](https://github.com/qmk/qmk_firmware/pull/25620)) -* Migrate `g_led_config` to DD (NO) ([#25621](https://github.com/qmk/qmk_firmware/pull/25621)) -* Migrate `g_led_config` to DD (P) ([#25622](https://github.com/qmk/qmk_firmware/pull/25622)) -* Migrate `g_led_config` to DD (QR) ([#25623](https://github.com/qmk/qmk_firmware/pull/25623)) -* Migrate `g_led_config` to DD (S) ([#25624](https://github.com/qmk/qmk_firmware/pull/25624)) -* Migrate `g_led_config` to DD (TUW) ([#25625](https://github.com/qmk/qmk_firmware/pull/25625)) -* Remove idobao *_DISABLE_UNDERGLOW behaviour ([#25638](https://github.com/qmk/qmk_firmware/pull/25638)) -* Migrate `g_led_config` to DD (YZ) ([#25650](https://github.com/qmk/qmk_firmware/pull/25650)) -* Tidy Keebio keyboards ([#25653](https://github.com/qmk/qmk_firmware/pull/25653)) -* Remove encoder resolution where duplicating defaults ([#25654](https://github.com/qmk/qmk_firmware/pull/25654)) -* Custom oled fonts cleanup ([#25665](https://github.com/qmk/qmk_firmware/pull/25665)) -* Binepad KnobX1 - refactor `x1_layer_led` function as weak ([#25668](https://github.com/qmk/qmk_firmware/pull/25668)) -* Add DD {LED,RGB}_MATRIX_DEFAULT_FLAGS support ([#25671](https://github.com/qmk/qmk_firmware/pull/25671)) -* keyboards: Add Royal Kludge RK61 ([#25694](https://github.com/qmk/qmk_firmware/pull/25694)) -* Add TRKeyboard TRK2 keyboard ([#25754](https://github.com/qmk/qmk_firmware/pull/25754)) - -Keyboard fixes: -* Fixup `kprepublic/bm60hsrgb/rev2` ([#25644](https://github.com/qmk/qmk_firmware/pull/25644)) -* Fixup `kprepublic/bm60hsrgb_iso/rev2` ([#25648](https://github.com/qmk/qmk_firmware/pull/25648)) -* Fixup `kprepublic/bm60hsrgb_poker/rev2` ([#25649](https://github.com/qmk/qmk_firmware/pull/25649)) -* Fixup `rgbkb/pan` ([#25678](https://github.com/qmk/qmk_firmware/pull/25678)) -* Align use of keymap level `_kb` callbacks ([#25774](https://github.com/qmk/qmk_firmware/pull/25774)) - -Others: -* Rework converter docs ([#18314](https://github.com/qmk/qmk_firmware/pull/18314)) -* Update USBaspLoader ISP instructions ([#25590](https://github.com/qmk/qmk_firmware/pull/25590)) -* Add LED/RGB Matrix flags API docs ([#25673](https://github.com/qmk/qmk_firmware/pull/25673)) - -Bugs: -* Fix single key combos activating only once ([#25198](https://github.com/qmk/qmk_firmware/pull/25198)) -* Fix RGB matrix not syncing and turning off properly on timeout ([#25467](https://github.com/qmk/qmk_firmware/pull/25467)) -* Fix drv haptics docs by using the correct function name ([#25733](https://github.com/qmk/qmk_firmware/pull/25733)) -* Fix Magic GUI masking logic ([#25780](https://github.com/qmk/qmk_firmware/pull/25780)) -* Fix Speculative Hold to enable also right-handed RSFT, RCTL by default. ([#25797](https://github.com/qmk/qmk_firmware/pull/25797)) -* Fix community layout keymap discovery ([#25802](https://github.com/qmk/qmk_firmware/pull/25802)) -* Fix preference of output file for 'qmk generate-autocorrect-data' ([#25818](https://github.com/qmk/qmk_firmware/pull/25818)) diff --git a/docs/ChangeLog/20260222.md b/docs/ChangeLog/20260222.md deleted file mode 100644 index 462c9e6521..0000000000 --- a/docs/ChangeLog/20260222.md +++ /dev/null @@ -1,75 +0,0 @@ -# QMK Breaking Changes - 2026 Feb 22 Changelog - -## Deprecation Notices - -### Removal of deprecated GPIO defines ([#26028](https://github.com/qmk/qmk_firmware/pull/26028)) - -QMK has long used Arduino-style GPIO naming conventions. This has been confusing for users, as over time they've had new variations added, as well as users mistakenly thinking that QMK supports the rest of the Arduino ecosystem. - -The decision was made to rename the GPIO manipulation functions with ones matching QMK Firmware's code styling. - -Previous backwards compatibility has now been removed. see the [GPIO Control](../drivers/gpio#macros) documentation for more information. - -### Removal of deprecated isLeftHand ([25897](https://github.com/qmk/qmk_firmware/pull/25897)) - -Users should migrate to `is_keyboard_left()` found in `split_util.h` instead. For example: - -```diff -oled_rotation_t oled_init_user(oled_rotation_t rotation) { -- return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0; -+ return is_keyboard_left() ? OLED_ROTATION_180 : OLED_ROTATION_0; -} -``` - -The deprecated variable `isLeftHand` will be removed in a future breaking changes cycle. - -## Full changelist - -Core: -* Refactor Makefile logic for locating keymaps ([#25808](https://github.com/qmk/qmk_firmware/pull/25808)) -* Move shutdown delay to audio feature ([#25859](https://github.com/qmk/qmk_firmware/pull/25859)) -* Refactor core use of deprecated `isLeftHand` ([#25888](https://github.com/qmk/qmk_firmware/pull/25888)) -* Allow custom data sync for community modules ([#25955](https://github.com/qmk/qmk_firmware/pull/25955)) -* Remove an unreachable break statement ([#26006](https://github.com/qmk/qmk_firmware/pull/26006)) -* Remove duplicate host.h ([#26007](https://github.com/qmk/qmk_firmware/pull/26007)) -* Remove redundant EEPROM update ([#26008](https://github.com/qmk/qmk_firmware/pull/26008)) -* Remove redundant unsigned comparison in apa102_set_brightness ([#26010](https://github.com/qmk/qmk_firmware/pull/26010)) -* Remove unused headers ([#26011](https://github.com/qmk/qmk_firmware/pull/26011)) -* Return INVALID_DEFERRED_TOKEN on allocation failure ([#26012](https://github.com/qmk/qmk_firmware/pull/26012)) -* Remove deprecated GPIO defines ([#26028](https://github.com/qmk/qmk_firmware/pull/26028)) - -CLI: -* Enforce EOL when formatting files ([#24989](https://github.com/qmk/qmk_firmware/pull/24989)) -* Allow keymap.json to disable config flags ([#25502](https://github.com/qmk/qmk_firmware/pull/25502)) -* Remove unused `qmk.keymap.write_file`/`qmk.keymap.write_json` ([#25854](https://github.com/qmk/qmk_firmware/pull/25854)) -* Include userspace version (QMK_USERSPACE_VERSION) in version.h ([#25882](https://github.com/qmk/qmk_firmware/pull/25882)) -* Lint out-of-bounds bootmagic config ([#25899](https://github.com/qmk/qmk_firmware/pull/25899)) -* Report permission issues in `qmk doctor` ([#25931](https://github.com/qmk/qmk_firmware/pull/25931)) -* Minor alignment of CLI formatting commands ([#25946](https://github.com/qmk/qmk_firmware/pull/25946)) -* Update lint to validate keymap names ([#25969](https://github.com/qmk/qmk_firmware/pull/25969)) -* Add 'none of the above' to `new-keyboard` dev board prompt ([#25998](https://github.com/qmk/qmk_firmware/pull/25998)) -* Remove `config_h_features` from generated `info.json` ([#26024](https://github.com/qmk/qmk_firmware/pull/26024)) -* Promote duplication of defaults check to error ([#26025](https://github.com/qmk/qmk_firmware/pull/26025)) - -Keyboards: -* Add Soldered Macro Pad ([#25834](https://github.com/qmk/qmk_firmware/pull/25834)) -* Remove redundant URLs from `.json` ([#25856](https://github.com/qmk/qmk_firmware/pull/25856)) -* Guard encoder behaviour on `projectcain/vault*` ([#25864](https://github.com/qmk/qmk_firmware/pull/25864)) -* Refactor keyboard/keymap use of deprecated `isLeftHand` ([#25891](https://github.com/qmk/qmk_firmware/pull/25891)) -* Remove some unnecessary matrix externs ([#25975](https://github.com/qmk/qmk_firmware/pull/25975)) -* Migrate ROW_SHIFTER to core MATRIX_ROW_SHIFTER ([#25977](https://github.com/qmk/qmk_firmware/pull/25977)) - -Keyboard fixes: -* Fix out-of-bounds bootmagic config ([#25898](https://github.com/qmk/qmk_firmware/pull/25898)) -* Fix incorrect `matrix_scan_custom` implementations ([#25999](https://github.com/qmk/qmk_firmware/pull/25999)) - -Others: -* Add missing labels to DD keycode definitions ([#25503](https://github.com/qmk/qmk_firmware/pull/25503)) -* Copilot instructions for pull requests ([#25857](https://github.com/qmk/qmk_firmware/pull/25857)) - -Bugs: -* Fix flash wear leveling sector calculation ([#24776](https://github.com/qmk/qmk_firmware/pull/24776)) -* [Bugfix] WS2812 indexing in split boards ([#25407](https://github.com/qmk/qmk_firmware/pull/25407)) -* Correctly resolve keyboard alias during 'qmk new-keymap' ([#25570](https://github.com/qmk/qmk_firmware/pull/25570)) -* Fixes for is31fl3729 LED matrix driver off-by-one errors ([#25902](https://github.com/qmk/qmk_firmware/pull/25902)) -* Match Key override index type to bounds type to prevent overflow ([#25939](https://github.com/qmk/qmk_firmware/pull/25939)) diff --git a/docs/ChangeLog/20260531.md b/docs/ChangeLog/20260531.md deleted file mode 100644 index fc173bf581..0000000000 --- a/docs/ChangeLog/20260531.md +++ /dev/null @@ -1,122 +0,0 @@ -# QMK Breaking Changes - 2026 May 31 Changelog - -## Notable Changes {#notable-changes} - -## Deprecation Notices - -In line with the [notice period](../support_deprecation_policy#how-much-advance-notice-will-be-given), deprecation notices for larger items are listed here. - -### Removal of deprecated isLeftHand ([25897](https://github.com/qmk/qmk_firmware/pull/25897)) - -Users must migrate to `is_keyboard_left()` found in `split_util.h` instead. For example: - -```diff -oled_rotation_t oled_init_user(oled_rotation_t rotation) { -- return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0; -+ return is_keyboard_left() ? OLED_ROTATION_180 : OLED_ROTATION_0; -} -``` - -### Removal of `usb.force_nkro`/`FORCE_NKRO` ([#25262](https://github.com/qmk/qmk_firmware/pull/25262)) - -Unpicking the assumption that only USB can do NKRO, forcing of NKRO on every boot has been deprecated. As this setting persists, it produces unnecessary user confusion when the various NKRO keycodes (for example `NK_TOGG`) do not behave as expected. - -The new defaults can be configured in the following ways: - -:::::tabs - -==== keyboard.json - -```json [keyboard.json] -{ - "host": { // [!code focus] - "default": { // [!code focus] - "nkro": true // [!code focus] - } // [!code focus] - } // [!code focus] -} - -``` - -==== keymap.json - -```json [keymap.json] -{ - "config": { - "host": { // [!code focus] - "default": { // [!code focus] - "nkro": true // [!code focus] - } // [!code focus] - } // [!code focus] - } -} - -``` - -==== config.h - -```c [config.h] -#pragma once - -#define NKRO_DEFAULT_ON true // [!code focus] -``` - -::::: - -## Full changelist - -Core: -* Remove deprecated `isLeftHand` ([#25897](https://github.com/qmk/qmk_firmware/pull/25897)) -* Either output Unicode or insert in Leader sequence ([#25940](https://github.com/qmk/qmk_firmware/pull/25940)) -* Add resolution information to digitizer ([#25958](https://github.com/qmk/qmk_firmware/pull/25958)) -* Always generate .map files. ([#25961](https://github.com/qmk/qmk_firmware/pull/25961)) -* Add an `mcu_reset` impl for the kiibohd bootloader. ([#25963](https://github.com/qmk/qmk_firmware/pull/25963)) -* VIA v13 ([#26001](https://github.com/qmk/qmk_firmware/pull/26001)) -* Added PixArt PMW-3325 mouse sensor driver ([#26065](https://github.com/qmk/qmk_firmware/pull/26065)) -* Update WL backing store from 16 to 32-bit for AT32 ([#26066](https://github.com/qmk/qmk_firmware/pull/26066)) -* Refactor Pixel Fractal effect ([#26071](https://github.com/qmk/qmk_firmware/pull/26071)) -* Minor combo code optimisation ([#26073](https://github.com/qmk/qmk_firmware/pull/26073)) -* Options to constrain Speculative Hold: `SPECULATIVE_HOLD_ONE_KEY` and `SPECULATIVE_HOLD_FLOW_TERM`. ([#26099](https://github.com/qmk/qmk_firmware/pull/26099)) -* Add includes for std::setw ([#26153](https://github.com/qmk/qmk_firmware/pull/26153)) -* Bind gtest colour to QMKs 'COLOR' variable ([#26159](https://github.com/qmk/qmk_firmware/pull/26159)) -* Print correct test names ([#26160](https://github.com/qmk/qmk_firmware/pull/26160)) -* Ignore Uninteresting test warnings during test teardown ([#26161](https://github.com/qmk/qmk_firmware/pull/26161)) -* Remove FORCE_NKRO ([#26206](https://github.com/qmk/qmk_firmware/pull/26206)) - -CLI: -* Update lint to check all keymaps within the repo ([#25970](https://github.com/qmk/qmk_firmware/pull/25970)) -* Fail when a duplicate module name is detected ([#26238](https://github.com/qmk/qmk_firmware/pull/26238)) - -Submodule updates: -* Update ChibiOS, ChibiOS-Contrib. ([#25730](https://github.com/qmk/qmk_firmware/pull/25730)) -* Revert "Update ChibiOS, ChibiOS-Contrib." ([#26074](https://github.com/qmk/qmk_firmware/pull/26074)) -* ChibiOS, ChibiOS-Contrib updates (redux) ([#26079](https://github.com/qmk/qmk_firmware/pull/26079)) -* Bump googletest to v1.16.0 ([#26154](https://github.com/qmk/qmk_firmware/pull/26154)) - -Keyboards: -* Require "url" field to not be empty ([#25152](https://github.com/qmk/qmk_firmware/pull/25152)) -* Add nomis/rpi_pico_25x1 macropad ([#25346](https://github.com/qmk/qmk_firmware/pull/25346)) -* Remove override of QK_{LED,RGB}_MATRIX_TOGGLE keycode ([#25672](https://github.com/qmk/qmk_firmware/pull/25672)) -* Add reverse layout to SouthPad v2 ([#25707](https://github.com/qmk/qmk_firmware/pull/25707)) -* Adding Handwired Bouvet Macropad ([#26040](https://github.com/qmk/qmk_firmware/pull/26040)) -* Remove blockader user keymap ([#26075](https://github.com/qmk/qmk_firmware/pull/26075)) -* Remove deprecated audio pin defines ([#26111](https://github.com/qmk/qmk_firmware/pull/26111)) -* Remove `OLED_DISPLAY_128X32` config ([#26190](https://github.com/qmk/qmk_firmware/pull/26190)) -* Migrate SPLIT_OLED_ENABLE ([#26194](https://github.com/qmk/qmk_firmware/pull/26194)) -* Add API version assertion for split_data_sync module ([#26237](https://github.com/qmk/qmk_firmware/pull/26237)) - -Others: -* Bump vitepress to 1.6.4 ([#26067](https://github.com/qmk/qmk_firmware/pull/26067)) -* Add usage clarifications to docs/features/unicode.md ([#26156](https://github.com/qmk/qmk_firmware/pull/26156)) - -Bugs: -* Fix `USER_PRINT` stripping out `uprintf` ([#25919](https://github.com/qmk/qmk_firmware/pull/25919)) -* Fix possible repeat key infinite recursion ([#25926](https://github.com/qmk/qmk_firmware/pull/25926)) -* Fix `cc-option` on arm-none-eabi-gcc ([#26114](https://github.com/qmk/qmk_firmware/pull/26114)) -* Fix color diagnostics for arm-none-eabi-gcc ([#26115](https://github.com/qmk/qmk_firmware/pull/26115)) -* Mask out active mods when unregistering after retro tapping ([#26127](https://github.com/qmk/qmk_firmware/pull/26127)) -* fix `make test:all` failures seen on macOS Tahoe ([#26136](https://github.com/qmk/qmk_firmware/pull/26136)) -* Add workaround for undefined reference to weak function under mingw ([#26167](https://github.com/qmk/qmk_firmware/pull/26167)) -* fix(ws2812-pwm): allow WS2812_PWM_TICK_FREQUENCY override ([#26186](https://github.com/qmk/qmk_firmware/pull/26186)) -* Clip mouse report values to the logical range from the USB descriptor. ([#26195](https://github.com/qmk/qmk_firmware/pull/26195)) -* Align Mouse USB descriptor ([#26230](https://github.com/qmk/qmk_firmware/pull/26230)) diff --git a/docs/_sidebar.json b/docs/_sidebar.json index 357574fe7e..d237b0e1d0 100644 --- a/docs/_sidebar.json +++ b/docs/_sidebar.json @@ -214,7 +214,7 @@ { "text": "My Pull Request Was Flagged", "link": "/breaking_changes_instructions" }, { "text": "Most Recent ChangeLog", - "link": "/ChangeLog/20260531" + "link": "/ChangeLog/20250831" }, { "text": "Past Breaking Changes", "link": "/breaking_changes_history" }, { "text": "Deprecation Policy", "link": "/support_deprecation_policy" } diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md index 3b169498b8..1e9335d8bc 100644 --- a/docs/breaking_changes.md +++ b/docs/breaking_changes.md @@ -10,25 +10,25 @@ Practically, this means QMK merges the `develop` branch into the `master` branch ## What has been included in past Breaking Changes? -* [2026 May 31](ChangeLog/20260531) -* [2026 Feb 22](ChangeLog/20260222) -* [2025 Nov 30](ChangeLog/20251130) +* [2025 Aug 31](ChangeLog/20250831) +* [2025 May 25](ChangeLog/20250525) +* [2025 Feb 23](ChangeLog/20250223) * [Older Breaking Changes](breaking_changes_history) ## When is the next Breaking Change? -The next Breaking Change is scheduled for Aug 30, 2026. +The next Breaking Change is scheduled for November 30, 2025. ### Important Dates -* 2025 May 31 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. -* 2026 Aug 2 - `develop` closed to new PRs. -* 2026 Aug 2 - Call for testers. -* 2026 Aug 16 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes -* 2026 Aug 23 - `develop` is locked, only critical bugfix PRs merged. -* 2026 Aug 28 - `master` is locked, no PRs merged. -* 2026 Aug 30 - Merge `develop` to `master`. -* 2026 Aug 30 - `master` is unlocked. PRs can be merged again. +* 2025 Aug 31 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions. +* 2025 Nov 2 - `develop` closed to new PRs. +* 2025 Nov 2 - Call for testers. +* 2025 Nov 16 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes +* 2025 Nov 23 - `develop` is locked, only critical bugfix PRs merged. +* 2025 Nov 28 - `master` is locked, no PRs merged. +* 2025 Nov 30 - Merge `develop` to `master`. +* 2025 Nov 30 - `master` is unlocked. PRs can be merged again. ## What changes will be included? diff --git a/docs/breaking_changes_history.md b/docs/breaking_changes_history.md index f313ea6328..29ceb09db7 100644 --- a/docs/breaking_changes_history.md +++ b/docs/breaking_changes_history.md @@ -2,9 +2,6 @@ This page links to all previous changelogs from the QMK Breaking Changes process. -* [2026 May 31](ChangeLog/20260531) - version 0.33.0 -* [2026 Feb 22](ChangeLog/20260222) - version 0.32.0 -* [2025 Nov 30](ChangeLog/20251130) - version 0.31.0 * [2025 Aug 31](ChangeLog/20250831) - version 0.30.0 * [2025 May 25](ChangeLog/20250525) - version 0.29.0 * [2025 Feb 23](ChangeLog/20250223) - version 0.28.0 diff --git a/docs/cli.md b/docs/cli.md index 9df83e7c92..ab25a480ab 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -4,18 +4,47 @@ The QMK CLI (command line interface) makes building and working with QMK keyboards easier. We have provided a number of commands to simplify and streamline tasks such as obtaining and compiling the QMK firmware, creating keymaps, and more. -### Installation {#installation} +### Requirements {#requirements} -The recommended way to install the QMK CLI and all necessary dependencies (toolchains, flashing utilities, udev rules on Linux) is to use the bootstrapper script: +QMK requires Python 3.9 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI. + +### Install Using Homebrew (macOS, some Linux) {#install-using-homebrew} + +If you have installed [Homebrew](https://brew.sh) you can tap and install QMK: ``` -curl -fsSL https://install.qmk.fm | sh +brew install qmk/qmk/qmk +export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware` +qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment ``` -For more options, run: +### Install Using uv {#install-using-uv} + +If you have installed [uv](https://docs.astral.sh/uv/), the QMK CLI can be installed and managed as a uv tool: ``` -curl -fsSL https://install.qmk.fm | sh -s -- --help +uv tool install qmk +export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware` +qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment ``` -For detailed setup instructions, see [Setting Up Your QMK Environment](newbs_getting_started#set-up-your-environment). +This installation can be updated via `uv tool upgrade qmk`. See [Upgrading tools](https://docs.astral.sh/uv/guides/tools/#upgrading-tools) for more information. + +### Install Using pip {#install-using-easy_install-or-pip} + +If your system is not listed above you can install QMK manually. First ensure that you have Python 3.9 (or later) installed and have installed pip. Then install QMK with this command: + +``` +python3 -m pip install qmk +export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware` +qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment +``` + +### Packaging For Other Operating Systems {#packaging-for-other-operating-systems} + +We are looking for people to create and maintain a `qmk` package for more operating systems. If you would like to create a package for your OS please follow these guidelines: + +* Follow best practices for your OS when they conflict with these guidelines + * Document why in a comment when you do deviate +* Install using a virtualenv +* Instruct the user to set the environment variable `QMK_HOME` to have the firmware source checked out somewhere other than `~/qmk_firmware`. diff --git a/docs/cli_development.md b/docs/cli_development.md index 1328072a89..74ac53d327 100644 --- a/docs/cli_development.md +++ b/docs/cli_development.md @@ -12,11 +12,11 @@ If you intend to maintain keyboards and/or contribute to QMK, you can enable the `qmk config user.developer=True` -This will allow you to see all available subcommands. - -::: tip -If you installed QMK using the bootstrapper (`curl -fsSL https://install.qmk.fm | sh`), the development requirements are already installed. -::: +This will allow you to see all available subcommands. +**Note:** You will have to install additional requirements: +``` +python3 -m pip install -r requirements-dev.txt +``` # Subcommands diff --git a/docs/compatible_microcontrollers.md b/docs/compatible_microcontrollers.md index 6d1ed2e51a..f148c39191 100644 --- a/docs/compatible_microcontrollers.md +++ b/docs/compatible_microcontrollers.md @@ -6,7 +6,7 @@ Features within QMK may or may not be compatible with every microcontroller. ## Atmel AVR -The following use [LUFA](https://github.com/abcminiuser/lufa) as the USB stack: +The following use [LUFA](https://www.fourwalledcubicle.com/LUFA.php) as the USB stack: * [ATmega16U2](https://www.microchip.com/wwwproducts/en/ATmega16U2) / [ATmega32U2](https://www.microchip.com/wwwproducts/en/ATmega32U2) * [ATmega16U4](https://www.microchip.com/wwwproducts/en/ATmega16U4) / [ATmega32U4](https://www.microchip.com/wwwproducts/en/ATmega32U4) diff --git a/docs/config_options.md b/docs/config_options.md index 95cc89eaa7..91c17cf09d 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -74,6 +74,24 @@ This is a C header file that is one of the first things included, and will persi * pins mapped to rows and columns, from left to right. Defines a matrix where each switch is connected to a separate pin and ground. * `#define AUDIO_VOICES` * turns on the alternate audio voices (to cycle through) +* `#define C4_AUDIO` + * enables audio on pin C4 + * Deprecated. Use `#define AUDIO_PIN C4` +* `#define C5_AUDIO` + * enables audio on pin C5 + * Deprecated. Use `#define AUDIO_PIN C5` +* `#define C6_AUDIO` + * enables audio on pin C6 + * Deprecated. Use `#define AUDIO_PIN C6` +* `#define B5_AUDIO` + * enables audio on pin B5 (duophony is enabled if one of B pins is enabled along with one of C pins) + * Deprecated. Use `#define AUDIO_PIN B5`, or use `#define AUDIO_PIN_ALT B5` if a `C` pin is enabled with `AUDIO_PIN` +* `#define B6_AUDIO` + * enables audio on pin B6 (duophony is enabled if one of B pins is enabled along with one of C pins) + * Deprecated. Use `#define AUDIO_PIN B6`, or use `#define AUDIO_PIN_ALT B6` if a `C` pin is enabled with `AUDIO_PIN` +* `#define B7_AUDIO` + * enables audio on pin B7 (duophony is enabled if one of B pins is enabled along with one of C pins) + * Deprecated. Use `#define AUDIO_PIN B7`, or use `#define AUDIO_PIN_ALT B7` if a `C` pin is enabled with `AUDIO_PIN` * `#define BACKLIGHT_PIN B7` * pin of the backlight * `#define BACKLIGHT_LEVELS 3` diff --git a/docs/contributing.md b/docs/contributing.md index 8bbfc742e2..70a00b706d 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -19,11 +19,11 @@ Please keep these things in mind: * Everyone involved with QMK is donating their time and energy. We don't get paid to work on or answer questions about QMK. * Try to ask your question so it's as easy to answer as possible. If you're not sure how to do that these are some good guides: * https://opensource.com/life/16/10/how-ask-technical-questions - * ([mirror](https://github.com/selfteaching/How-To-Ask-Questions-The-Smart-Way)) + * http://www.catb.org/esr/faqs/smart-questions.html # Project Overview -QMK is largely written in C, with specific features and parts written in C++. It targets embedded processors found in keyboards, particularly AVR ([LUFA](https://github.com/abcminiuser/lufa)) and ARM ([ChibiOS](https://www.chibios.org)). If you are already well versed in Arduino programming you'll find a lot of the concepts and limitations familiar. Prior experience with Arduino is not required to successfully contribute to QMK. +QMK is largely written in C, with specific features and parts written in C++. It targets embedded processors found in keyboards, particularly AVR ([LUFA](https://www.fourwalledcubicle.com/LUFA.php)) and ARM ([ChibiOS](https://www.chibios.org)). If you are already well versed in Arduino programming you'll find a lot of the concepts and limitations familiar. Prior experience with Arduino is not required to successfully contribute to QMK. diff --git a/docs/custom_matrix.md b/docs/custom_matrix.md index 294b88bb0b..ef206944e1 100644 --- a/docs/custom_matrix.md +++ b/docs/custom_matrix.md @@ -74,7 +74,7 @@ void matrix_init(void) { // TODO: initialize hardware and global matrix state here // Unless hardware debouncing - Init the configured debounce routine - debounce_init(); + debounce_init(MATRIX_ROWS); // This *must* be called for correct keyboard behavior matrix_init_kb(); @@ -86,7 +86,7 @@ uint8_t matrix_scan(void) { // TODO: add matrix scanning routine here // Unless hardware debouncing - use the configured debounce routine - changed = debounce(raw_matrix, matrix, changed); + changed = debounce(raw_matrix, matrix, MATRIX_ROWS, changed); // This *must* be called for correct keyboard behavior matrix_scan_kb(); diff --git a/docs/documentation_best_practices.md b/docs/documentation_best_practices.md index f84f106c61..bc64472e24 100644 --- a/docs/documentation_best_practices.md +++ b/docs/documentation_best_practices.md @@ -14,10 +14,6 @@ Example: This page covers my super cool feature. You can use this feature to make coffee, squeeze fresh oj, and have an egg mcmuffin and hashbrowns delivered from your local macca's by drone. ``` -# Paragraphs - -Do not use hard line breaks within the raw Markdown for each paragraph. These are optional in Markdown, and have no effect on the rendered output. This means each raw paragraph will be a single long line in your editor (best viewed with line wrapping enabled). - # Headings Your page should generally have multiple "H1" headings. Only H1 and H2 headings will included in the Table of Contents, so plan them out appropriately. Excess width should be avoided in H1 and H2 headings to prevent the Table of Contents from getting too wide. diff --git a/docs/driver_installation_zadig.md b/docs/driver_installation_zadig.md index 13b445b9b6..6fbcfa3bff 100644 --- a/docs/driver_installation_zadig.md +++ b/docs/driver_installation_zadig.md @@ -4,7 +4,7 @@ QMK presents itself to the host as a regular HID keyboard device, and as such re There are two notable exceptions: the Caterina bootloader, usually seen on Pro Micros, and the HalfKay bootloader shipped with PJRC Teensys, appear as a serial port and a generic HID device respectively, and so do not require a driver. -We recommend the use of the [Zadig](https://zadig.akeo.ie/) utility. If you have set up the development environment with MSYS2, the QMK CLI installation script will have already installed the drivers for you. +We recommend the use of the [Zadig](https://zadig.akeo.ie/) utility. If you have set up the development environment with MSYS2, the `qmk_install.sh` script will have already installed the drivers for you. ## Installation diff --git a/docs/drivers/i2c.md b/docs/drivers/i2c.md index 75823c682b..ad74d0e481 100644 --- a/docs/drivers/i2c.md +++ b/docs/drivers/i2c.md @@ -221,31 +221,6 @@ Receive multiple bytes from the selected I2C device. --- -### `i2c_status_t i2c_transmit_and_receive(uint8_t address, const uint8_t* tx_data, uint16_t tx_length, uint8_t* rx_data, uint16_t rx_length, uint16_t timeout)` {#api-i2c-transmit-and-receive} - -Send and receive multiple bytes from the selected I2C device. - -#### Arguments {#api-i2c-transmit-and-receive-arguments} - - - `uint8_t address` - The 7-bit I2C address of the device. - - `const uint8_t* tx_data` - A pointer to the data to transmit. - - `uint16_t tx_length` - The number of bytes to write. Take care not to overrun the length of `tx_data`. - - `uint8_t* rx_data` - A pointer to a buffer to read into. - - `uint16_t rx_length` - The number of bytes to read. Take care not to overrun the length of `data`. - - `uint16_t timeout` - The time in milliseconds to wait for a response from the target device. - -#### Return Value {#api-i2c-transmit-and-receive-return} - -`I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. - ---- - ### `i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout)` {#api-i2c-write-register} Write to a register with an 8-bit address on the I2C device. diff --git a/docs/drivers/ws2812.md b/docs/drivers/ws2812.md index 1d70113897..0c26ec6248 100644 --- a/docs/drivers/ws2812.md +++ b/docs/drivers/ws2812.md @@ -292,7 +292,7 @@ Set the color of a single LED. This function does not immediately update the LED --- -### `void ws2812_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-ws2812-set-color-all} +### `void ws812_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-ws2812-set-color-all} Set the color of all LEDs. diff --git a/docs/faq_build.md b/docs/faq_build.md index 5348db1dca..54ed576c70 100644 --- a/docs/faq_build.md +++ b/docs/faq_build.md @@ -19,10 +19,13 @@ Note that running `make` with `sudo` is generally ***not*** a good idea, and you ### Linux `udev` Rules {#linux-udev-rules} -On Linux, you'll need proper privileges to communicate with the bootloader device. You can either use `sudo` when flashing firmware (not recommended), or install the udev rules from the [qmk_udev](https://github.com/qmk/qmk_udev) repository by running: +On Linux, you'll need proper privileges to communicate with the bootloader device. You can either use `sudo` when flashing firmware (not recommended), or place [this file](https://github.com/qmk/qmk_firmware/tree/master/util/udev/50-qmk.rules) into `/etc/udev/rules.d/`. + +Once added, run the following: ``` -util/install_udev.sh +sudo udevadm control --reload-rules +sudo udevadm trigger ``` **Note:** With older versions of ModemManager (< 1.12), filtering only works when not in strict mode. The following commands can update that setting: @@ -41,7 +44,7 @@ Pro Micro (Atmega32u4), make sure to include `CONFIG_USB_ACM=y`. Other devices m Issues encountered when flashing keyboards on Windows are most often due to having the wrong drivers installed for the bootloader, or none at all. -Re-running the QMK installation script (`curl -fsSL https://install.qmk.fm | sh`) or reinstalling the QMK Toolbox may fix the issue. Alternatively, you can download and run the [`qmk_driver_installer`](https://github.com/qmk/qmk_driver_installer) package manually. +Re-running the QMK installation script (`./util/qmk_install.sh` from the `qmk_firmware` directory in MSYS2 or WSL) or reinstalling the QMK Toolbox may fix the issue. Alternatively, you can download and run the [`qmk_driver_installer`](https://github.com/qmk/qmk_driver_installer) package manually. If that doesn't work, then you may need to download and run Zadig. See [Bootloader Driver Installation with Zadig](driver_installation_zadig) for more detailed information. diff --git a/docs/feature_converters.md b/docs/feature_converters.md index 4e0a23752c..06cc7b3a11 100644 --- a/docs/feature_converters.md +++ b/docs/feature_converters.md @@ -2,22 +2,8 @@ This page documents the automated process for converting keyboards to use drop-in replacement controllers. This process is designed to be easy to use and can be completed in a few simple steps. -You can generate the firmware by appending `-e CONVERT_TO=` to your compile/flash command. For example: - -```sh -qmk flash -c -kb keebio/bdn9/rev1 -km default -e CONVERT_TO=proton_c -``` - -You can also configure this within your [keymap](#keymap) to accomplish the same thing. - -::: tip -If you get build errors, you will need to convert the keyboard's code to be [compatible](#keyboard-req) with the converter feature, or provide additional [keymap](#keymap-add) configuration. -::: - ## Supported Converters -Each converter category is broken down by its declared `pin compatibility`. This ensures that only valid combinations are attempted. - The following converters are available at this time: | From | To | @@ -42,56 +28,86 @@ The following converters are available at this time: | `elite_c` | `helios` | | `elite_c` | `liatris` | -## Configuration -Configuring a converter to use can be done by adding one of the following lines to your keymaps's configuration: +## Overview -:::::tabs +Each converter category is broken down by its declared `pin compatibility`. This ensures that only valid combinations are attempted. You can generate the firmware by appending `-e CONVERT_TO=` to your compile/flash command. For example: -==== keymap.json - -```json [keymap.json] -{ - "version": 1, - "keyboard": "keebio/bdn9/rev1", - "keymap": "keebio_bdn9_rev1_layout_2025-05-20", - "converter": "proton_c", // [!code focus] - "layout": "LAYOUT", -} +```sh +qmk flash -c -kb keebio/bdn9/rev1 -km default -e CONVERT_TO=proton_c ``` -==== rules.mk - -```makefile -CONVERT_TO = proton_c -``` - -::::: +You can also add the same `CONVERT_TO=` to your keymap's `rules.mk`, which will accomplish the same thing. ::: tip -If you get build errors, you will need to convert the keyboard's code to be [compatible](#keyboard-req) with the converter feature, or provide additional [keymap](#keymap-add) configuration. +If you get errors about `PORTB/DDRB`, etc not being defined, you'll need to convert the keyboard's code to use the [GPIO Controls](drivers/gpio) that will work for both ARM and AVR. This shouldn't affect the AVR builds at all. ::: -## Pro Micro Converters +### Conditional Configuration -If a board currently supported by QMK uses a [Pro Micro](https://www.sparkfun.com/products/12640) (or compatible board), the supported alternative controllers are: +Once a converter is enabled, it exposes the `CONVERT_TO_` flag that you can use in your code with `#ifdef`s, For example: -| Device | Target | CLI Argument | `rules.mk` | Condition | -|------------------------------------------------------------------------------------------|-------------------|---------------------------------|------------------------------|-------------------------------------| -| [Proton C](https://qmk.fm/proton-c/) | `proton_c` | `-e CONVERT_TO=proton_c` | `CONVERT_TO=proton_c` | `#ifdef CONVERT_TO_PROTON_C` | -| [Adafruit KB2040](https://learn.adafruit.com/adafruit-kb2040) | `kb2040` | `-e CONVERT_TO=kb2040` | `CONVERT_TO=kb2040` | `#ifdef CONVERT_TO_KB2040` | -| [SparkFun Pro Micro - RP2040](https://www.sparkfun.com/products/18288) | `sparkfun_pm2040` | `-e CONVERT_TO=sparkfun_pm2040` | `CONVERT_TO=sparkfun_pm2040` | `#ifdef CONVERT_TO_SPARKFUN_PM2040` | -| [Blok](https://boardsource.xyz/store/628b95b494dfa308a6581622) | `blok` | `-e CONVERT_TO=blok` | `CONVERT_TO=blok` | `#ifdef CONVERT_TO_BLOK` | -| [Bit-C PRO](https://nullbits.co/bit-c-pro) | `bit_c_pro` | `-e CONVERT_TO=bit_c_pro` | `CONVERT_TO=bit_c_pro` | `#ifdef CONVERT_TO_BIT_C_PRO` | -| [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` | -| [customMK Bonsai C4](https://shop.custommk.com/products/bonsai-c4-microcontroller-board) | `bonsai_c4` | `-e CONVERT_TO=bonsai_c4` | `CONVERT_TO=bonsai_c4` | `#ifdef CONVERT_TO_BONSAI_C4` | -| [RP2040 Community Edition](#rp2040_ce) | `rp2040_ce` | `-e CONVERT_TO=rp2040_ce` | `CONVERT_TO=rp2040_ce` | `#ifdef CONVERT_TO_RP2040_CE` | -| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | -| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` | -| [Liatris](https://splitkb.com/products/liatris) | `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` | -| [Imera](https://splitkb.com/products/imera) | `imera` | `-e CONVERT_TO=imera` | `CONVERT_TO=imera` | `#ifdef CONVERT_TO_IMERA` | -| [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` | -| [Svlinky](https://github.com/sadekbaroudi/svlinky) | `svlinky` | `-e CONVERT_TO=svlinky` | `CONVERT_TO=svlinky` | `#ifdef CONVERT_TO_SVLINKY` | +```c +#ifdef CONVERT_TO_PROTON_C + // Proton C code +#else + // Pro Micro code +#endif +``` + +### Pin Compatibility + +To ensure compatibility, provide validation, and enable future workflows, a keyboard should declare its `pin compatibility`. For legacy reasons, this is currently assumed to be `promicro`. The following pin compatibility interfaces are currently defined: + +| Pin Compatibility | Notes | +|-------------------|-----------------------------------| +| `promicro` | Includes RX/TX LEDs | +| `elite_c` | Includes bottom row pins, no LEDs | + +To declare the base for conversions, add this line to your keyboard's `rules.mk`: + +```makefile +PIN_COMPATIBLE = elite_c +``` + +## Pro Micro + +If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.com/products/12640) (or compatible board), the supported alternative controllers are: + +| Device | Target | +|------------------------------------------------------------------------------------------|-------------------| +| [Proton C](https://qmk.fm/proton-c/) | `proton_c` | +| [Adafruit KB2040](https://learn.adafruit.com/adafruit-kb2040) | `kb2040` | +| [SparkFun Pro Micro - RP2040](https://www.sparkfun.com/products/18288) | `sparkfun_pm2040` | +| [Blok](https://boardsource.xyz/store/628b95b494dfa308a6581622) | `blok` | +| [Bit-C PRO](https://nullbits.co/bit-c-pro) | `bit_c_pro` | +| [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` | +| [customMK Bonsai C4](https://shop.custommk.com/products/bonsai-c4-microcontroller-board) | `bonsai_c4` | +| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | +| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` | +| [Liatris](https://splitkb.com/products/liatris) | `liatris` | +| [Imera](https://splitkb.com/products/imera) | `imera` | +| [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` | +| [Svlinky](https://github.com/sadekbaroudi/svlinky) | `svlinky` | + +Converter summary: + +| Target | Argument | `rules.mk` | Condition | +|-------------------|---------------------------------|------------------------------|-------------------------------------| +| `proton_c` | `-e CONVERT_TO=proton_c` | `CONVERT_TO=proton_c` | `#ifdef CONVERT_TO_PROTON_C` | +| `kb2040` | `-e CONVERT_TO=kb2040` | `CONVERT_TO=kb2040` | `#ifdef CONVERT_TO_KB2040` | +| `sparkfun_pm2040` | `-e CONVERT_TO=sparkfun_pm2040` | `CONVERT_TO=sparkfun_pm2040` | `#ifdef CONVERT_TO_SPARKFUN_PM2040` | +| `blok` | `-e CONVERT_TO=blok` | `CONVERT_TO=blok` | `#ifdef CONVERT_TO_BLOK` | +| `bit_c_pro` | `-e CONVERT_TO=bit_c_pro` | `CONVERT_TO=bit_c_pro` | `#ifdef CONVERT_TO_BIT_C_PRO` | +| `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` | +| `bonsai_c4` | `-e CONVERT_TO=bonsai_c4` | `CONVERT_TO=bonsai_c4` | `#ifdef CONVERT_TO_BONSAI_C4` | +| `rp2040_ce` | `-e CONVERT_TO=rp2040_ce` | `CONVERT_TO=rp2040_ce` | `#ifdef CONVERT_TO_RP2040_CE` | +| `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | +| `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` | +| `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` | +| `imera` | `-e CONVERT_TO=imera` | `CONVERT_TO=imera` | `#ifdef CONVERT_TO_IMERA` | +| `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` | +| `svlinky` | `-e CONVERT_TO=svlinky` | `CONVERT_TO=svlinky` | `#ifdef CONVERT_TO_SVLINKY` | ### Proton C {#proton_c} @@ -103,26 +119,26 @@ The Proton C only has one on-board LED (C13), and by default, the TXLED (D5) is The following defaults are based on what has been implemented for STM32 boards. -| Feature | Notes | -|--------------------------------------------|----------------------------------------------------------------------------------------------------------------| -| [Audio](features/audio) | Enabled | -| [RGB Lighting](features/rgblight) | Disabled | +| Feature | Notes | +|----------------------------------------------|------------------------------------------------------------------------------------------------------------------| +| [Audio](features/audio) | Enabled | +| [RGB Lighting](features/rgblight) | Disabled | | [Backlight](features/backlight) | Forces [task driven PWM](features/backlight#software-pwm-driver) until ARM can provide automatic configuration | -| USB Host (e.g. USB-USB converter) | Not supported (USB host code is AVR specific and is not currently supported on ARM) | -| [Split keyboards](features/split_keyboard) | Partial - heavily dependent on enabled features | +| USB Host (e.g. USB-USB converter) | Not supported (USB host code is AVR specific and is not currently supported on ARM) | +| [Split keyboards](features/split_keyboard) | Partial - heavily dependent on enabled features | ### Adafruit KB2040 {#kb2040} The following defaults are based on what has been implemented for [RP2040](platformdev_rp2040) boards. -| Feature | Notes | -|--------------------------------------------|----------------------------------------------------------------------------------------------------------------| -| [RGB Lighting](features/rgblight) | Enabled via `PIO` vendor driver | +| Feature | Notes | +|----------------------------------------------|------------------------------------------------------------------------------------------------------------------| +| [RGB Lighting](features/rgblight) | Enabled via `PIO` vendor driver | | [Backlight](features/backlight) | Forces [task driven PWM](features/backlight#software-pwm-driver) until ARM can provide automatic configuration | -| USB Host (e.g. USB-USB converter) | Not supported (USB host code is AVR specific and is not currently supported on ARM) | -| [Split keyboards](features/split_keyboard) | Partial via `PIO` vendor driver - heavily dependent on enabled features | +| USB Host (e.g. USB-USB converter) | Not supported (USB host code is AVR specific and is not currently supported on ARM) | +| [Split keyboards](features/split_keyboard) | Partial via `PIO` vendor driver - heavily dependent on enabled features | -### SparkFun Pro Micro - RP2040, Blok, Bit-C PRO and Michi {#sparkfun_pm2040} +### SparkFun Pro Micro - RP2040, Blok, Bit-C PRO and Michi {#sparkfun_pm2040 } Feature set is identical to [Adafruit KB2040](#kb2040). @@ -161,193 +177,31 @@ Feature set is identical to [Adafruit KB2040](#kb2040). VBUS detection is enable Feature set is a pro micro equivalent of the [RP2040 Community Edition](#rp2040_ce), except that two of the analog GPIO have been replaced with digital only GPIO. These two were moved to the FPC connector to support the [VIK specification](https://github.com/sadekbaroudi/vik). This means that if you are expecting analog support on all 4 pins as provided on a RP2040 Community Edition pinout, you will not have that. Please see the [Svlinky github page](https://github.com/sadekbaroudi/svlinky) for more details. -## Elite-C Converters +## Elite-C -If a board currently supported by QMK uses an [Elite-C](https://keeb.io/products/elite-c-low-profile-version-usb-c-pro-micro-replacement-atmega32u4), the supported alternative controllers are: +If a board currently supported in QMK uses an [Elite-C](https://keeb.io/products/elite-c-low-profile-version-usb-c-pro-micro-replacement-atmega32u4), the supported alternative controllers are: -| Device | Target | CLI Argument | `rules.mk` | Condition | -|----------------------------------------------------------------------------------|-------------|---------------------------|------------------------|-------------------------------| -| [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` | -| [RP2040 Community Edition](#rp2040_ce_elite) | `rp2040_ce` | `-e CONVERT_TO=rp2040_ce` | `CONVERT_TO=rp2040_ce` | `#ifdef CONVERT_TO_RP2040_CE` | -| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | -| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` | -| [Liatris](https://splitkb.com/products/liatris) | `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` | +| Device | Target | +|----------------------------------------------------------------------------------|-------------------| +| [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` | +| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | +| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` | +| [Liatris](https://splitkb.com/products/liatris) | `liatris` | -### STeMCell {#stemcell_elite} +Converter summary: + +| Target | Argument | `rules.mk` | Condition | +|-------------------|---------------------------------|------------------------------|-------------------------------------| +| `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` | +| `rp2040_ce` | `-e CONVERT_TO=rp2040_ce` | `CONVERT_TO=rp2040_ce` | `#ifdef CONVERT_TO_RP2040_CE` | +| `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | +| `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` | +| `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` | + +### STeMCell {#stemcell}_elite Identical to [Pro Micro - STeMCell](#stemcell) with support for the additional bottom row of pins. ### RP2040 Community Edition {#rp2040_ce_elite} Identical to [Pro Micro - RP2040 Community Edition](#rp2040_ce) with support for the additional bottom row of pins. - -## Advanced Topics - -### Keyboard Configuration - -To configure a keyboard to allow the converter feature, add the following line to your keyboard's `.json` configuration: - -```json [keyboard.json] -{ - "maintainer": "QMK", - "development_board": "promicro", // [!code focus] - "diode_direction": "COL2ROW", -} -``` - -See the [pin compatibility](#pin_compatible) for more information. - -#### Additional Requirements {#keyboard-req} - -Keyboards must use the platform agnostic abstractions provided by QMK. This includes: - -* Use of [GPIO Controls](drivers/gpio). - -### Additional Keymap Configuration {#keymap-add} - -While effort has been made to make converters as compatible as possible, sometimes additional platform specific configuration is required. - -For example, enabling hardware peripherals by adding a keymap level `mcuconf.h` with something like the following: -```c -#pragma once - -#include_next - -#undef RP_SIO_USE_UART0 -#define RP_SIO_USE_UART0 TRUE -``` - -You can find details on how to configure drivers on their respective pages. - -Alternatively, you may have to disable incompatible features. For example: - -:::::tabs - -==== keymap.json - -```json [keymap.json] -{ - "version": 1, - "keyboard": "keebio/bdn9/rev1", - "keymap": "keebio_bdn9_rev1_layout_2025-05-20", - "converter": "proton_c", - "config": { // [!code focus] - "features": { // [!code focus] - "audio": false // [!code focus] - } - } - "layout": "LAYOUT", -} -``` - -==== rules.mk - -```makefile -AUDIO_ENABLE = no -``` - -::::: - -### Conditional Configuration - -Once a converter is enabled, it exposes the `CONVERT_TO_` flag that you can use in your code with `#ifdef`s, For example: - -```c -#ifdef CONVERT_TO_PROTON_C - // Proton C code -#else - // Pro Micro code -#endif -``` - -### Pin Compatibility {#pin_compatible} - -To ensure compatibility, provide validation, and power future workflows, a keyboard should declare its `pin compatibility`. This ensures that only valid combinations are attempted. - -::: tip Note -This will already be configured for you if are using the `promicro` development board preset. -::: - -To declare the base interface for conversions, add the following line to your keyboard's configuration: - -```json [keyboard.json] -{ - "maintainer": "QMK", - "development_board": "elite_c", // [!code focus] - "pin_compatible": "elite_c", // [!code focus] - "diode_direction": "COL2ROW", -} -``` - -The above example, configures a keyboard for a default of `elite_c` while allowing any of the `elite_c` converter targets. - -The framework then allows mapping of pins from `` to converter ``. - -::: warning -Mapped pins should adhere strictly to the defined interface, any extras present on the hardware should be ignored. -::: - -#### Available Pin Compatibility - -:::::tabs - -==== promicro - -![promicro](/pin_compatible_promicro.svg) - - - -::: info Notes: -Includes LEDs - these may be mapped to unused/unavailable pins when not present. -::: - -==== elite_c - -![elite_c](/pin_compatible_elite_c.svg) - - - -::: info Notes: -Includes bottom row pins, no LEDs. -::: - -::::: diff --git a/docs/feature_eeprom.md b/docs/feature_eeprom.md index 5cdd6d9981..7d40e81f5a 100644 --- a/docs/feature_eeprom.md +++ b/docs/feature_eeprom.md @@ -1,20 +1,14 @@ # Persistent Configuration (EEPROM) -This allows you to configure persistent settings for your keyboard. These settings are stored in the EEPROM of your controller, and are retained even after power loss. - -Keep in mind that EEPROM has a limited number of writes. While this is very high, it's not the only thing writing to the EEPROM, and if you write too often, you can potentially drastically shorten the life of your MCU. - -::: tip -If you don't understand the examples, then you may want to avoid using this feature, as it is rather complicated. -::: - -## Basic - -The settings can be read with `eeconfig_read_kb` and `eeconfig_read_user`, and can be written to using `eeconfig_update_kb` and `eeconfig_update_user`. This is useful for features that you want to be able to toggle (like toggling rgb layer indication). Additionally, you can use `eeconfig_init_kb` and `eeconfig_init_user` to set the default values for the EEPROM. +This allows you to configure persistent settings for your keyboard. These settings are stored in the EEPROM of your controller, and are retained even after power loss. The settings can be read with `eeconfig_read_kb` and `eeconfig_read_user`, and can be written to using `eeconfig_update_kb` and `eeconfig_update_user`. This is useful for features that you want to be able to toggle (like toggling rgb layer indication). Additionally, you can use `eeconfig_init_kb` and `eeconfig_init_user` to set the default values for the EEPROM. The complicated part here, is that there are a bunch of ways that you can store and access data via EEPROM, and there is no "correct" way to do this. However, you only have a DWORD (4 bytes) for each function. -### Example Implementation +Keep in mind that EEPROM has a limited number of writes. While this is very high, it's not the only thing writing to the EEPROM, and if you write too often, you can potentially drastically shorten the life of your MCU. + +* If you don't understand the example, then you may want to avoid using this feature, as it is rather complicated. + +## Example Implementation This is an example of how to add settings, and read and write it. We're using the user keymap for the example here. This is a complex function, and has a lot going on. In fact, it uses a lot of the above functions to work! @@ -132,111 +126,9 @@ void eeconfig_init_user(void) { // EEPROM is getting reset! And you're done. The RGB layer indication will only work if you want it to. And it will be saved, even after unplugging the board. And if you use any of the RGB codes, it will disable the layer indication, so that it stays on the mode and color that you set it to. -### Basic API +## 'EECONFIG' Function Documentation * Keyboard/Revision: `void eeconfig_init_kb(void)`, `uint32_t eeconfig_read_kb(void)` and `void eeconfig_update_kb(uint32_t val)` * Keymap: `void eeconfig_init_user(void)`, `uint32_t eeconfig_read_user(void)` and `void eeconfig_update_user(uint32_t val)` The `val` is the value of the data that you want to write to EEPROM. And the `eeconfig_read_*` function return a 32 bit (DWORD) value from the EEPROM. - -## Datablock {#datablock} - -An extended form exists that allows larger blocks of data to be allocated. - -::: info -When using datablock, the [basic API](#eeconfig-function-documentation) is unavailable. -::: - -:::::tabs - -==== keyboard - -In `config.h`, define the size required, and optionally a version number: - -| Define | Default | Description | -|------------------------------|---------------------------|------------------------------------------------------------------| -| `EECONFIG_KB_DATA_SIZE` | `0` | Size in bytes for the persistent block of data | -| `EECONFIG_KB_DATA_VERSION` | `EECONFIG_KB_DATA_SIZE` | Version number that can be incremented to invalidate stored data | - -Which exposes the following API: - -```c -bool eeconfig_is_kb_datablock_valid(void); -uint32_t eeconfig_read_kb_datablock(void *data, uint32_t offset, uint32_t length) __attribute__((nonnull)); -uint32_t eeconfig_update_kb_datablock(const void *data, uint32_t offset, uint32_t length) __attribute__((nonnull)); -void eeconfig_init_kb_datablock(void); -# define eeconfig_read_kb_datablock_field(__object, __field) eeconfig_read_kb_datablock(&(__object.__field), offsetof(typeof(__object), __field), sizeof(__object.__field)) -# define eeconfig_update_kb_datablock_field(__object, __field) eeconfig_update_kb_datablock(&(__object.__field), offsetof(typeof(__object), __field), sizeof(__object.__field)) -``` - -==== keymap - -In `config.h`, define the size required, and optionally a version number: - -| Define | Default | Description | -|------------------------------|---------------------------|------------------------------------------------------------------| -| `EECONFIG_USER_DATA_SIZE` | `0` | Size in bytes for the persistent block of data | -| `EECONFIG_USER_DATA_VERSION` | `EECONFIG_USER_DATA_SIZE` | Version number that can be incremented to invalidate stored data | - -Which exposes the following API: - -```c -bool eeconfig_is_user_datablock_valid(void); -uint32_t eeconfig_read_user_datablock(void *data, uint32_t offset, uint32_t length) __attribute__((nonnull)); -uint32_t eeconfig_update_user_datablock(const void *data, uint32_t offset, uint32_t length) __attribute__((nonnull)); -void eeconfig_init_user_datablock(void); -# define eeconfig_read_user_datablock_field(__object, __field) eeconfig_read_user_datablock(&(__object.__field), offsetof(typeof(__object), __field), sizeof(__object.__field)) -# define eeconfig_update_user_datablock_field(__object, __field) eeconfig_update_user_datablock(&(__object.__field), offsetof(typeof(__object), __field), sizeof(__object.__field)) -``` - -::::: - -### Example - -This is an example of how to add settings, and read and write it. We're using the user keymap for the example here. - -In your `config.h` add: - -```c -#define EECONFIG_USER_DATA_SIZE 8 -``` - -In your keymap.c file, add: - -```c -#include "debug.h" -#include "timer.h" -#include "eeconfig.h" - -typedef struct my_config_t { - uint64_t data; -} my_config_t; - -static my_config_t config; - -void keyboard_post_init_user(void) { - if (!eeconfig_is_user_datablock_valid()) { - eeconfig_init_user_datablock(); - } - - eeconfig_read_user_datablock(&config, 0, sizeof(my_config_t)); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (!record->event.pressed) { - config.data += 1; - eeconfig_update_user_datablock(&config, 0, sizeof(my_config_t)); - } - - return true; -} - -void housekeeping_task_user(void) { - static uint32_t last_sync = 0; - if (timer_elapsed32(last_sync) > 1000) { - last_sync = timer_read32(); - - dprintf("Config: %ld\n", config.data); - } -} -``` diff --git a/docs/feature_layers.md b/docs/feature_layers.md index 83337d6dbb..8e6510ca2a 100644 --- a/docs/feature_layers.md +++ b/docs/feature_layers.md @@ -16,8 +16,7 @@ These functions allow you to activate layers in various ways. Note that layers a * `OSL(layer)` - momentarily activates *layer* until the next key is pressed. See [One Shot Keys](one_shot_keys) for details and additional functionality. * `TG(layer)` - toggles *layer*, activating it if it's inactive and vice versa * `TO(layer)` - activates *layer* and de-activates all other layers (except your default layer). This function is special, because instead of just adding/removing one layer to your active layer stack, it will completely replace your current active layers, uniquely allowing you to replace higher layers with a lower one. This is activated on keydown (as soon as the key is pressed). -* `TT(layer)` - Layer Tap-Toggle. If you hold the key down, *layer* is activated, and then is de-activated when you let go (like `MO`). If you repeatedly tap it, the layer will be toggled on or off (like `TG`). It needs 5 taps by default, but you can change this by defining `TAPPING_TOGGLE` -- for example, `#define TAPPING_TOGGLE 2` to toggle on just two taps. - * Note: toggling behavior requires that [Quick Tap](tap_hold#quick-tap-term) is enabled (`QUICK_TAP_TERM` not set to `0`), or if `QUICK_TAP_TERM_PER_KEY` is defined, that `get_quick_tap_term()` returns a non-zero value for the `TT` key. +* `TT(layer)` - Layer Tap-Toggle. If you hold the key down, *layer* is activated, and then is de-activated when you let go (like `MO`). If you repeatedly tap it, the layer will be toggled on or off (like `TG`). It needs 5 taps by default, but you can change this by defining `TAPPING_TOGGLE` -- for example, `#define TAPPING_TOGGLE 2` to toggle on just two taps. See also the [Layer Lock key](features/layer_lock), which locks the highest active layer until pressed again. @@ -52,7 +51,7 @@ Sometimes you need more than one base layer. For example, if you want to switch ### Advanced Users {#advanced-users} -Once you have a good feel for how layers work and what you can do, you can get more creative. The rules listed in the beginner section will help you be successful by avoiding some of the trickier details but they can be constraining, especially for ultra-compact keyboard users. Understanding how layers work will allow you to use them in more advanced ways. +Once you have a good feel for how layers work and what you can do, you can get more creative. The rules listed in the beginner section will help you be successful by avoiding some of the tricker details but they can be constraining, especially for ultra-compact keyboard users. Understanding how layers work will allow you to use them in more advanced ways. Layers stack on top of each other in numerical order. When determining what a keypress does, QMK scans the layers from the top down, stopping when it reaches the first active layer that is not set to `KC_TRNS`. As a result if you activate a layer that is numerically lower than your current layer, and your current layer (or another layer that is active and higher than your target layer) has something other than `KC_TRNS`, that is the key that will be sent, not the key on the layer you just activated. This is the cause of most people's "why doesn't my layer get switched" problem. diff --git a/docs/features/community_modules.md b/docs/features/community_modules.md index 2b0086134b..eff07c939a 100644 --- a/docs/features/community_modules.md +++ b/docs/features/community_modules.md @@ -95,10 +95,6 @@ The use of `features` matches the definition normally provided within `keyboard. The `keycodes` array allows a module to provide new keycodes (as well as corresponding aliases) to a keymap. -### `config.h` - -This file will be automatically added to the build as if it were present in the keyboard or keymap. - ### `rules.mk` / `post_rules.mk` These two files follows standard QMK build system logic, allowing for `Makefile`-style customisation as if it were present in the keyboard or keymap. @@ -135,10 +131,6 @@ This file defines LED matrix effects in the same form as used with `led_matrix_k This file defines RGB matrix effects in the same form as used with `rgb_matrix_kb.inc` and `rgb_matrix_user.inc` (see [Custom RGB Matrix Effects](rgb_matrix#custom-rgb-matrix-effects)). Effect mode names are prepended with `RGB_MATRIX_COMMUNITY_MODULE_`. -### Custom split keyboard data sync - -Defines follow the convention, `SPLIT_TRANSACTION_IDS_MODULE_` (see [Custom data sync](split_keyboard#custom-data-sync)). - ### Compatible APIs Community Modules may provide specializations for the following APIs: diff --git a/docs/features/dynamic_macros.md b/docs/features/dynamic_macros.md index fa7373a4bd..a642ced43e 100644 --- a/docs/features/dynamic_macros.md +++ b/docs/features/dynamic_macros.md @@ -32,13 +32,12 @@ For the details about the internals of the dynamic macros, please read the comme There are a number of options added that should allow some additional degree of customization -|Define |Default |Description | -|------------------------------------------|----------------|-----------------------------------------------------------------------------------------------------------------| -|`DYNAMIC_MACRO_SIZE` |128 |Sets the amount of memory that Dynamic Macros can use. This is a limited resource, dependent on the controller. | -|`DYNAMIC_MACRO_USER_CALL` |*Not defined* |Defining this falls back to using the user `keymap.c` file to trigger the macro behavior. | -|`DYNAMIC_MACRO_NO_NESTING` |*Not Defined* |Defining this disables the ability to call a macro from another macro (nested macros). | -|`DYNAMIC_MACRO_DELAY` |*Not Defined* |Sets the waiting time (ms unit) when sending each key. | -|`DYNAMIC_MACRO_KEEP_ORIGINAL_LAYER_STATE` |*Not Defined* |Defining this keeps the layer state when starting to record a macro | +|Define |Default |Description | +|----------------------------|----------------|-----------------------------------------------------------------------------------------------------------------| +|`DYNAMIC_MACRO_SIZE` |128 |Sets the amount of memory that Dynamic Macros can use. This is a limited resource, dependent on the controller. | +|`DYNAMIC_MACRO_USER_CALL` |*Not defined* |Defining this falls back to using the user `keymap.c` file to trigger the macro behavior. | +|`DYNAMIC_MACRO_NO_NESTING` |*Not Defined* |Defining this disables the ability to call a macro from another macro (nested macros). | +|`DYNAMIC_MACRO_DELAY` |*Not Defined* |Sets the waiting time (ms unit) when sending each key. | If the LEDs start blinking during the recording with each keypress, it means there is no more space for the macro in the macro buffer. To fit the macro in, either make the other macro shorter (they share the same buffer) or increase the buffer size by adding the `DYNAMIC_MACRO_SIZE` define in your `config.h` (default value: 128; please read the comments for it in the header). diff --git a/docs/features/grave_esc.md b/docs/features/grave_esc.md index 9d4438dd62..09d098ee4e 100644 --- a/docs/features/grave_esc.md +++ b/docs/features/grave_esc.md @@ -8,7 +8,7 @@ Replace the `KC_GRV` key in your keymap (usually to the left of the `1` key) wit ## What Your OS Sees -If Mary presses `QK_GESC` on her keyboard, the OS will see an `KC_ESC` character. Now if Mary holds Shift down and presses `QK_GESC` it will output `~`, or a shifted backtick. Now if she holds GUI/CMD/WIN, it will output a simple ` character. +If Mary presses `QK_GESC` on her keyboard, the OS will see an KC_ESC character. Now if Mary holds Shift down and presses `QK_GESC` it will output `~`, or a shifted backtick. Now if she holds GUI/CMD/WIN, it will output a simple ` character. ## Keycodes diff --git a/docs/features/haptic_feedback.md b/docs/features/haptic_feedback.md index d380b1b999..08e66ea8e1 100644 --- a/docs/features/haptic_feedback.md +++ b/docs/features/haptic_feedback.md @@ -121,7 +121,7 @@ Linear resonant actuators (LRA, also know as a linear vibrator) works different #### DRV2605L waveform library -DRV2605L comes with preloaded library of various waveform sequences that can be called and played. If writing a macro, these waveforms can be played using `drv2605l_pulse(*sequence name or number*)` after adding `#include "drv2605l.h"`. +DRV2605L comes with preloaded library of various waveform sequences that can be called and played. If writing a macro, these waveforms can be played using `DRV_pulse(*sequence name or number*)` List of waveform sequences from the datasheet: diff --git a/docs/features/key_overrides.md b/docs/features/key_overrides.md index a4c9ed98e9..e83f0295ab 100644 --- a/docs/features/key_overrides.md +++ b/docs/features/key_overrides.md @@ -14,7 +14,7 @@ You can use key overrides in a similar way to momentary layer/fn keys to activat To enable this feature, you need to add `KEY_OVERRIDE_ENABLE = yes` to your `rules.mk`. -Then, in your `keymap.c` file, you'll need to define the `key_overrides` config. See below for more details. +Then, in your `keymap.c` file, you'll need to define the array `key_overrides`, which defines all key overrides to be used. Each override is a value of type `key_override_t`. The array `key_overrides`contains pointers to `key_override_t` values (`const key_override_t **`). ## Creating Key Overrides {#creating-key-overrides} @@ -47,17 +47,6 @@ const key_override_t *key_overrides[] = { }; ``` -This second example inverts or swaps semicolon and colon on ANSI and many other layouts. That means pressing the key alone sends `shift` + `semicolon` giving `colon` (`S(KP_SCLN)` aka `KC_COLN`), but when pressing the key with shift, the shift modifier is suppressed (see `suppressed_mods` below), sending only `semicolon` (`KC_SCLN`): - -```c -const key_override_t semicolon_colon_key_override = ko_make_basic(MOD_MASK_SHIFT, KC_COLN, KC_SCLN); - -// This globally defines all key overrides to be used -const key_override_t *key_overrides[] = { - &semicolon_colon_key_override -}; -``` - ## Intermediate Difficulty Examples {#intermediate-difficulty-examples} ### Media Controls & Screen Brightness {#media-controls-amp-screen-brightness} diff --git a/docs/features/led_matrix.md b/docs/features/led_matrix.md index f14fb47d62..28d24bc400 100644 --- a/docs/features/led_matrix.md +++ b/docs/features/led_matrix.md @@ -88,8 +88,6 @@ As mentioned earlier, the center of the keyboard by default is expected to be `{ |`QK_LED_MATRIX_BRIGHTNESS_DOWN`|`LM_BRID`|Decrease the brightness level | |`QK_LED_MATRIX_SPEED_UP` |`LM_SPDU`|Increase the animation speed | |`QK_LED_MATRIX_SPEED_DOWN` |`LM_SPDD`|Decrease the animation speed | -|`QK_LED_MATRIX_FLAG_NEXT` |`LM_FLGN`|Cycle through flags | -|`QK_LED_MATRIX_FLAG_PREVIOUS` |`LM_FLGP`|Cycle through flags in reverse | ## LED Matrix Effects {#led-matrix-effects} @@ -255,7 +253,6 @@ const char* effect_name = led_matrix_get_mode_name(led_matrix_get_mode()); #define LED_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL // Sets the default LED flags, if none has been set #define LED_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR -#define LED_MATRIX_FLAG_STEPS { LED_FLAG_ALL, LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER, LED_FLAG_NONE } // Sets the flags which can be cycled through. ``` ## EEPROM storage {#eeprom-storage} @@ -508,62 +505,6 @@ The current effect speed, from 0 to 255. --- -### `void led_matrix_set_flags(led_flags_t flags)` {#api-led-matrix-set-flags} - -Set the global effect flags. - -#### Arguments {#api-led-matrix-set-flags-arguments} - - - `led_flags_t flags` - The [flags](#flags) value to set. - ---- - -### `void led_matrix_set_flags_noeeprom(led_flags_t flags)` {#api-led-matrix-set-flags-noeeprom} - -Set the global effect flags. New state is not written to EEPROM. - -#### Arguments {#api-led-matrix-set-flags-noeeprom-arguments} - - - `led_flags_t flags` - The [flags](#flags) value to set. - ---- - -### `void led_matrix_flags_step(void)` {#api-led-matrix-flags-step} - -Move to the next flag combination. - ---- - -### `void led_matrix_flags_step_noeeprom(void)` {#api-led-matrix-flags-step-noeeprom} - -Move to the next flag combination. New state is not written to EEPROM. - ---- - -### `void led_matrix_flags_step_reverse(void)` {#api-led-matrix-flags-step-reverse} - -Move to the previous flag combination. - ---- - -### `void led_matrix_flags_step_reverse_noeeprom(void)` {#api-led-matrix-flags-step-reverse-noeeprom} - -Move to the previous flag combination. New state is not written to EEPROM. - ---- - -### `uint8_t led_matrix_get_flags(void)` {#api-led-matrix-get-flags} - -Get the current global effect flags. - -#### Return Value {#api-led-matrix-get-flags-return} - -The current effect [flags](#flags). - ---- - ### `void led_matrix_reload_from_eeprom(void)` {#api-led-matrix-reload-from-eeprom} Reload the effect configuration (enabled, mode and brightness) from EEPROM. diff --git a/docs/features/mouse_keys.md b/docs/features/mouse_keys.md index bb340f58e6..86b50fa9c8 100644 --- a/docs/features/mouse_keys.md +++ b/docs/features/mouse_keys.md @@ -77,7 +77,6 @@ Tips: * For smoother cursor movements, lower the value of `MOUSEKEY_INTERVAL`. If the refresh rate of your display is 60Hz, you could set it to `16` (1/60). As this raises the cursor speed significantly, you may want to lower `MOUSEKEY_MAX_SPEED`. * Setting `MOUSEKEY_TIME_TO_MAX` or `MOUSEKEY_WHEEL_TIME_TO_MAX` to `0` will disable acceleration for the cursor or scrolling respectively. This way you can make one of them constant while keeping the other accelerated, which is not possible in constant speed mode. * Setting `MOUSEKEY_WHEEL_INTERVAL` too low will make scrolling too fast. Setting it too high will make scrolling too slow when the wheel key is held down. -* `MS_ACL0`, `MS_ACL1` and `MS_ACL2` change the cursor and scroll speed to 1/4, 1/2, and the maximum speed, respectively. Cursor acceleration uses the same algorithm as the X Window System MouseKeysAccel feature. You can read more about it [on Wikipedia](https://en.wikipedia.org/wiki/Mouse_keys). diff --git a/docs/features/os_detection.md b/docs/features/os_detection.md index ee85d83bc2..880e88d4b9 100644 --- a/docs/features/os_detection.md +++ b/docs/features/os_detection.md @@ -136,19 +136,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { print_stored_setups(); } return false; - default: - return true; // Process all other keycodes normally } } ``` -Add both `STORE_SETUPS` and `PRINT_SETUPS` to your keyboard's keymap. Connect the keyboard to the device where the OS was not recognised, and press the `STORE_SETUPS` key to capture and store the fingerprint. On your development computer, run one of the suggested [console debugging tools](/faq_debug#debugging-tools), connect the keyboard, and press the `PRINT_SETUPS` key. The console should display multiple lines of data from the most recent `STORE_SETUPS` run. +Then please open an issue on Github with this information and tell what OS was not detected correctly and if you have any intermediate devices between keyboard and your computer. -Open an issue on GitHub and paste the console output into the issue. Also tell us which OS (including the version, if possible) was not detected correctly and whether any intermediate devices, such as a USB hub, were used between the keyboard and the target device. - -::: tip -If `STORE_SETUPS` has not been used previously, `PRINT_SETUPS` will report whatever values are already present in the controller's EEPROM. These may appear as random numbers. -::: ## Credits diff --git a/docs/features/pointing_device.md b/docs/features/pointing_device.md index 8319db7823..d6dcddcdf0 100644 --- a/docs/features/pointing_device.md +++ b/docs/features/pointing_device.md @@ -267,23 +267,6 @@ The paw 3204 sensor uses a serial type protocol for communication, and requires The CPI range is 400-1600, with supported values of (400, 500, 600, 800, 1000, 1200 and 1600). Defaults to 1000 CPI. -### PAW-3222 Sensor - -To use the PAW-3222 sensor, add this to your `rules.mk`: - -```make -POINTING_DEVICE_DRIVER = paw3222 -``` - -The following pins must be defined in `config.h`: - -| Setting (`config.h`) | Description | Default | -| --------------------- | ------------------------------------------------------------------ | ---------------------------- | -| `PAW3222_CS_PIN` | (Required) The pin connected to the chip select pin of the sensor. | `POINTING_DEVICE_CS_PIN` | -| `PAW3222_SPI_DIVISOR` | (Required) The SPI clock divisor. This is dependent on your MCU. | _not defined_ | - -The CPI range is up to 4,000. Defaults to 1,000 CPI. - ### Pimoroni Trackball To use the Pimoroni Trackball module, add this to your `rules.mk`: @@ -320,23 +303,6 @@ The PMW3320 sensor uses a serial type protocol for communication, and requires a The CPI range is 500-3500, in increments of 250. Defaults to 1000 CPI. -### PMW-3325 Sensor - -To use the PMW-3325 sensor, add this to your `rules.mk`: - -```make -POINTING_DEVICE_DRIVER = pmw3325 -``` - -The following pins must be defined in `config.h`: - -| Setting (`config.h`) | Description | Default | -| --------------------- | ------------------------------------------------------------------ | ---------------------------- | -| `PMW3325_CS_PIN` | (Required) The pin connected to the chip select pin of the sensor. | `POINTING_DEVICE_CS_PIN` | -| `PMW3325_SPI_DIVISOR` | (Required) The SPI clock divisor. This is dependent on your MCU. | _not defined_ | - -The CPI range is 100-5000, in increments of 100. Defaults to 2000 CPI. - ### PMW 3360 and PMW 3389 Sensor This drivers supports both the PMW 3360 and PMW 3389 sensor as well as multiple sensors of the same type _per_ controller, so 2 can be attached at the same side for split keyboards (or unsplit keyboards). diff --git a/docs/features/rawhid.md b/docs/features/rawhid.md index ee57d19bc7..c3ecfbe099 100644 --- a/docs/features/rawhid.md +++ b/docs/features/rawhid.md @@ -28,14 +28,10 @@ To send data to the keyboard, you must first find a library for communicating wi * **Node.js:** [node-hid](https://github.com/node-hid/node-hid) * **C/C++:** [hidapi](https://github.com/libusb/hidapi) * **Java:** [purejavahidapi](https://github.com/nyholku/purejavahidapi) and [hid4java](https://github.com/gary-rowe/hid4java) -* **Python:** [hid](https://pypi.org/project/hid/) and [pywinusb](https://pypi.org/project/pywinusb) +* **Python:** [pyhidapi](https://pypi.org/project/hid/) and [pywinusb](https://pypi.org/project/pywinusb) Please refer to these libraries' own documentation for instructions on usage. Remember to close the device once you are finished with it! -::: tip -The `hid` package is installed with `pip install hid` and imported as `import hid`. Avoid installing the unrelated `pyhidapi` package from PyPI, which is a different, unmaintained project despite the similar name. -::: - Next, you will need to know the USB Vendor and Product IDs of the device. These can easily be found by looking at your keyboard's `info.json`, under the `usb` object (alternatively, you can also use Device Manager on Windows, System Information on macOS, or `lsusb` on Linux). For example, the Vendor ID for the Planck Rev 6 is `0x03A8`, and the Product ID is `0xA4F9`. It's also a good idea to narrow down the list of potential HID devices the library may give you by filtering on the usage page and usage ID, to avoid accidentally opening the interface on the same device for the keyboard, or mouse, or media keys, etc. @@ -76,7 +72,7 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { } ``` -On the host side (here we are using Python and the `hid` package), the HID device is opened by enumerating the interfaces on the USB device, then filtering on the usage page and usage ID. Then, a report containing a single ASCII "A" (hex `0x41`) is constructed and sent. +On the host side (here we are using Python and the `pyhidapi` library), the HID device is opened by enumerating the interfaces on the USB device, then filtering on the usage page and usage ID. Then, a report containing a single ASCII "A" (hex `0x41`) is constructed and sent. For demonstration purposes, the manufacturer and product strings of the device, along with the request and response, are also printed. diff --git a/docs/features/rgb_matrix.md b/docs/features/rgb_matrix.md index 36680f24a2..95ee4c4896 100644 --- a/docs/features/rgb_matrix.md +++ b/docs/features/rgb_matrix.md @@ -96,8 +96,6 @@ As mentioned earlier, the center of the keyboard by default is expected to be `{ |`QK_RGB_MATRIX_VALUE_DOWN` |`RM_VALD`|Decrease the brightness level | |`QK_RGB_MATRIX_SPEED_UP` |`RM_SPDU`|Increase the animation speed | |`QK_RGB_MATRIX_SPEED_DOWN` |`RM_SPDD`|Decrease the animation speed | -|`QK_RGB_MATRIX_FLAG_NEXT` |`RM_FLGN`|Cycle through flags | -|`QK_RGB_MATRIX_FLAG_PREVIOUS` |`RM_FLGP`|Cycle through flags in reverse | ## RGB Matrix Effects {#rgb-matrix-effects} @@ -411,7 +409,6 @@ const char* effect_name = rgb_matrix_get_mode_name(rgb_matrix_get_mode()); #define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR #define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards -#define RGB_MATRIX_FLAG_STEPS { LED_FLAG_ALL, LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER, LED_FLAG_UNDERGLOW, LED_FLAG_NONE } // Sets the flags which can be cycled through. ``` ## EEPROM storage {#eeprom-storage} @@ -855,62 +852,6 @@ The current effect speed, from 0 to 255. --- -### `void rgb_matrix_set_flags(led_flags_t flags)` {#api-rgb-matrix-set-flags} - -Set the global effect flags. - -#### Arguments {#api-rgb-matrix-set-flags-arguments} - - - `led_flags_t flags` - The [flags](#flags) value to set. - ---- - -### `void rgb_matrix_set_flags_noeeprom(led_flags_t flags)` {#api-rgb-matrix-set-flags-noeeprom} - -Set the global effect flags. New state is not written to EEPROM. - -#### Arguments {#api-rgb-matrix-set-flags-noeeprom-arguments} - - - `led_flags_t flags` - The [flags](#flags) value to set. - ---- - -### `void rgb_matrix_flags_step(void)` {#api-rgb-matrix-flags-step} - -Move to the next flag combination. - ---- - -### `void rgb_matrix_flags_step_noeeprom(void)` {#api-rgb-matrix-flags-step-noeeprom} - -Move to the next flag combination. New state is not written to EEPROM. - ---- - -### `void rgb_matrix_flags_step_reverse(void)` {#api-rgb-matrix-flags-step-reverse} - -Move to the previous flag combination. - ---- - -### `void rgb_matrix_flags_step_reverse_noeeprom(void)` {#api-rgb-matrix-flags-step-reverse-noeeprom} - -Move to the previous flag combination. New state is not written to EEPROM. - ---- - -### `uint8_t rgb_matrix_get_flags(void)` {#api-rgb-matrix-get-flags} - -Get the current global effect flags. - -#### Return Value {#api-rgb-matrix-get-flags-return} - -The current effect [flags](#flags). - ---- - ### `void rgb_matrix_sethsv(uint8_t h, uint8_t s, uint8_t v)` {#api-rgb-matrix-sethsv} Set the global effect hue, saturation, and value (brightness). diff --git a/docs/features/tap_dance.md b/docs/features/tap_dance.md index 6c880f9dc3..d533e41aaa 100644 --- a/docs/features/tap_dance.md +++ b/docs/features/tap_dance.md @@ -40,10 +40,6 @@ Similar to the first option, the second and third option are good for simple lay For more complicated cases, like blink the LEDs, fiddle with the backlighting, and so on, use the fourth or fifth option. Examples of each are listed below. -::: tip -If too many tap dances are active at the same time, later ones won't have any effect. You need to increase `TAP_DANCE_MAX_SIMULTANEOUS` by adding `#define TAP_DANCE_MAX_SIMULTANEOUS 5` (or higher) to your keymap's `config.h` file if you expect that users may hold down many tap dance keys simultaneously. By default, only 3 tap dance keys can be used together at the same time. -::: - ## Implementation Details {#implementation} Well, that's the bulk of it! You should now be able to work through the examples below, and to develop your own Tap Dance functionality. But if you want a deeper understanding of what's going on behind the scenes, then read on for the explanation of how it all works! @@ -213,13 +209,11 @@ tap_dance_action_t tap_dance_actions[] = { bool process_record_user(uint16_t keycode, keyrecord_t *record) { tap_dance_action_t *action; - tap_dance_state_t* state; switch (keycode) { - case TD(CT_CLN): - action = tap_dance_get(QK_TAP_DANCE_GET_INDEX(keycode)); - state = tap_dance_get_state(QK_TAP_DANCE_GET_INDEX(keycode)); - if (!record->event.pressed && state != NULL && state->count && !state->finished) { + case TD(CT_CLN): // list all tap dance keycodes with tap-hold configurations + action = &tap_dance_actions[QK_TAP_DANCE_GET_INDEX(keycode)]; + if (!record->event.pressed && action->state.count && !action->state.finished) { tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; tap_code16(tap_hold->tap); } @@ -375,10 +369,6 @@ In this configuration "hold" takes place **after** tap dance timeout. To achieve Tap dance can be used to emulate `MT()` and `LT()` behavior when the tapped code is not a basic keycode. This is useful to send tapped keycodes that normally require `Shift`, such as parentheses or curly braces—or other modified keycodes, such as `Control + X`. -::: tip -For simply sending a non-basic keycode on tap while functioning as a modifier or layer switch on hold, a simpler (and often superior) alternative is to use a Mod-Tap or Layer-Tap key and intercept its tap function in `process_record_user()`. This avoids the complexity of Tap Dance, and allows the key to benefit from advanced Tap-Hold options. See [Intercepting Mod-Taps](../mod_tap#intercepting-mod-taps) for details. -::: - Below your layers and custom keycodes, add the following: ```c diff --git a/docs/features/unicode.md b/docs/features/unicode.md index a19f11a52e..7ed178c30d 100644 --- a/docs/features/unicode.md +++ b/docs/features/unicode.md @@ -8,9 +8,9 @@ There are some limitations to this feature. Because there is no "standard" metho ## Usage {#usage} -The core Unicode API can be used purely programmatically. However, there are also additional subsystems which build on top of it and come with keycodes to make things easier. See [below](#input-subsystems) for more details. +The core Unicode API can be used purely programmatically. However, there are also additional subsystems which build on top of it and come with keycodes to make things easier. See below for more details. -To start, add the following to your keymap's `rules.mk`: +Add the following to your keymap's `rules.mk`: ```make UNICODE_COMMON = yes @@ -18,25 +18,22 @@ UNICODE_COMMON = yes ## Basic Configuration {#basic-configuration} -The following options can be set or overridden in your `config.h`: +Add the following to your `config.h`: |Define |Default |Description | |------------------------|------------------|--------------------------------------------------------------------------------| |`UNICODE_KEY_MAC` |`KC_LEFT_ALT` |The key to hold when beginning a Unicode sequence with the macOS input mode | |`UNICODE_KEY_LNX` |`LCTL(LSFT(KC_U))`|The key to tap when beginning a Unicode sequence with the Linux input mode | |`UNICODE_KEY_WINC` |`KC_RIGHT_ALT` |The key to hold when beginning a Unicode sequence with the WinCompose input mode| -|`UNICODE_SELECTED_MODES`|*n/a* |A comma separated list of input modes for cycling through | +|`UNICODE_SELECTED_MODES`|`-1` |A comma separated list of input modes for cycling through | |`UNICODE_CYCLE_PERSIST` |`true` |Whether to persist the current Unicode input mode to EEPROM | |`UNICODE_TYPE_DELAY` |`10` |The amount of time to wait, in milliseconds, between Unicode sequence keystrokes| -The default values work well for most use cases, so users usually only need to define `UNICODE_SELECTED_MODES` to set their desired input modes. -However, if you plan on switching input modes manually (see [keycodes](#keycodes) below) and don't plan on cycling through them, this definition can be omitted. - ### Audio Feedback {#audio-feedback} If you have the [Audio](audio) feature enabled on your board, you can configure it to play sounds when the input mode is changed. -Add one or more of the following definitions to your `config.h`: +Add the following to your `config.h`: |Define |Default|Description | |-------------------|-------|-----------------------------------------------------------| diff --git a/docs/flashing.md b/docs/flashing.md index 35c7911ec8..29dc780aaf 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -217,8 +217,8 @@ To generate this bootloader, use the `bootloader` target, eg. `make planck/rev4: Compatible flashers: -* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI) -* [hid_bootloader_cli](https://github.com/qmk/lufa/tree/master/Bootloaders/HID/HostLoaderApp) / `:qmk-hid` target in QMK (recommended command line) +* TBD + * Currently, you need to either use the [Python script](https://github.com/qmk/lufa/tree/master/Bootloaders/HID/HostLoaderApp_python), or compile [`hid_bootloader_cli`](https://github.com/qmk/lufa/tree/master/Bootloaders/HID/HostLoaderApp), from the LUFA repo. Homebrew may (will) have support for this directly (via `brew install qmk/qmk/hid_bootloader_cli`). Flashing sequence: diff --git a/docs/getting_started_make_guide.md b/docs/getting_started_make_guide.md index c615b6ecab..54f915e444 100644 --- a/docs/getting_started_make_guide.md +++ b/docs/getting_started_make_guide.md @@ -91,7 +91,7 @@ Enables your LED to breath while your computer is sleeping. Timer1 is being used `NKRO_ENABLE` -This allows the keyboard to tell the host OS that up to 248 keys are held down at once (default without NKRO is 6). NKRO is off by default, even if `NKRO_ENABLE` is set. NKRO can be toggled by binding `NK_TOGG` to a key and then hitting the key. +This allows the keyboard to tell the host OS that up to 248 keys are held down at once (default without NKRO is 6). NKRO is off by default, even if `NKRO_ENABLE` is set. NKRO can be forced by adding `#define FORCE_NKRO` to your config.h or by binding `MAGIC_TOGGLE_NKRO` to a key and then hitting the key. `BACKLIGHT_ENABLE` diff --git a/docs/isp_flashing_guide.md b/docs/isp_flashing_guide.md index 1eaec3b59d..6f3f0a8f7d 100644 --- a/docs/isp_flashing_guide.md +++ b/docs/isp_flashing_guide.md @@ -220,18 +220,14 @@ This bootloader is primarily for keyboards originally designed for the PS2AVRGB USBaspLoader is a bootloader based on V-USB that emulates a hardware USBasp device. It runs on ATmega32A and ATmega328P MCUs. -Precompiled `.hex` files are generally not available, but you can compile it yourself by setting up the QMK environment and cloning the appropriate branch of Coseyfannitutti's USBaspLoader fork: +Precompiled `.hex` files are generally not available, but you can compile it yourself by setting up the QMK environment and following Coseyfannitutti's guide for the appropriate MCU: -|MCU |Low |High |Extended|USB ID | -|-----------------------------------------------------------------------------|------|------|--------|-----------| -|[ATmega32A](https://github.com/coseyfannitutti/USBaspLoader/tree/atmega32a) |`0x1F`|`0xC0`|*n/a* |`16C0:05DC`| -|[ATmega328P](https://github.com/coseyfannitutti/USBaspLoader/tree/atmega328p)|`0xD7`|`0xD0`|`0x04` |`16C0:05DC`| +|MCU |Low |High |Extended|USB ID | +|-------------------------------------------------------------------------------------|------|------|--------|-----------| +|[ATmega32A](https://github.com/coseyfannitutti/discipline/tree/master/doc/bootloader)|`0x1F`|`0xC0`|*n/a* |`16C0:05DC`| +|[ATmega328P](https://github.com/coseyfannitutti/discipad/tree/master/doc/bootloader) |`0xD7`|`0xD0`|`0x04` |`16C0:05DC`| -From there, simply `cd` to the `firmware/` directory and run `make`, which should produce a file called `main.hex`. - -:::tip -Some boards may have their own specialized build of this bootloader in a separate repository. This will usually be linked to in the board's readme. -::: +Note that some boards may have their own specialized build of this bootloader in a separate repository. This will usually be linked to in the board's readme. ## Flashing the Bootloader diff --git a/docs/keycodes.md b/docs/keycodes.md index 9c918b7676..c540a7ce7f 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -433,8 +433,6 @@ See also: [LED Matrix](features/led_matrix) |`QK_LED_MATRIX_BRIGHTNESS_DOWN`|`LM_BRID`|Decrease the brightness level | |`QK_LED_MATRIX_SPEED_UP` |`LM_SPDU`|Increase the animation speed | |`QK_LED_MATRIX_SPEED_DOWN` |`LM_SPDD`|Decrease the animation speed | -|`QK_LED_MATRIX_FLAG_NEXT` |`LM_FLGN`|Cycle through flags | -|`QK_LED_MATRIX_FLAG_PREVIOUS` |`LM_FLGP`|Cycle through flags in reverse | ## Magic Keycodes {#magic-keycodes} @@ -785,8 +783,6 @@ See also: [RGB Matrix](features/rgb_matrix) |`QK_RGB_MATRIX_VALUE_DOWN` |`RM_VALD`|Decrease the brightness level | |`QK_RGB_MATRIX_SPEED_UP` |`RM_SPDU`|Increase the animation speed | |`QK_RGB_MATRIX_SPEED_DOWN` |`RM_SPDD`|Decrease the animation speed | -|`QK_RGB_MATRIX_FLAG_NEXT` |`RM_FLGN`|Cycle through flags | -|`QK_RGB_MATRIX_FLAG_PREVIOUS` |`RM_FLGP`|Cycle through flags in reverse | ## US ANSI Shifted Symbols {#us-ansi-shifted-symbols} diff --git a/docs/license_violations.md b/docs/license_violations.md index 390280dfe9..0b152f6960 100644 --- a/docs/license_violations.md +++ b/docs/license_violations.md @@ -33,13 +33,11 @@ If you own a board from one of the following vendors already, consider asking th | iLovBee | Official 30-day copyright source code request issued Sep 11 2024 due to deception on PR, no response received. Ambiguity on PRs -- marketing says wireless, PR author said wired-only, then included wireless code anyway. Seemingly intentionally deceptive. | | KiiBOOM | Seems to use the same OEM as Epomaker, same problems. | | kprepublic | Makes no attempt to release source code, all boards in QMK are reverse-engineered, created, and supported by the community. New board variants magically appear without telling customers they're incompatible with existing QMK versions, in some cases bricking boards or requiring ISP flashing. | -| Lofree | Selling tri-mode boards based on QMK without sources, just `via.json` provided. | | Luminkey | Selling tri-mode boards based on QMK without sources, just `via.json` provided. | | Meletrix | Selling tri-mode boards based on QMK without sources, just `via.json` provided. | | mmd / Smartmmd / i-game.tech | Ambiguity on PRs -- marketing says wireless, PR author said wired-only, then included wireless code anyway. Seemingly intentionally deceptive. | | MyKeyClub | Community-supported JRIS75, vendor was contacted by community members and refused to cooperate. | | owlab | Selling wired based on QMK without sources, just `via.json` provided. Ambiguous as to whether or not wireless firmware is based on QMK, given that their configuration tool looks very similar to VIA. | -| PMO Lab | Selling tri-mode boards based on QMK without sources, just `via.json` provided. | | pressplayid | Selling wired and tri-mode boards based on QMK without sources, just `via.json` provided | | qwertykeys | Selling wired and tri-mode boards based on QMK without sources, just `via.json` provided. | | Redragon | Selling tri-mode boards based on QMK without sources, attempted upstreaming crippled firmware without wireless. | diff --git a/docs/mod_tap.md b/docs/mod_tap.md index efd5018f66..67922c0915 100644 --- a/docs/mod_tap.md +++ b/docs/mod_tap.md @@ -72,11 +72,9 @@ It can also be mitigated by increasing [`TAP_CODE_DELAY`](config_options#behavio ## Intercepting Mod-Taps -This technique works for both Mod-Tap (`MT`) and Layer-Tap (`LT`) keys. - ### Changing tap function -The basic keycode limitation with Mod-Tap and Layer-Tap can be worked around by intercepting it in `process_record_user`. For example, shifted keycode `KC_DQUO` cannot be used with `MT()` because it is a 16-bit keycode alias of `LSFT(KC_QUOT)`. Modifiers on `KC_DQUO` will be masked by `MT()`. But the following custom code can be used to intercept the "tap" function to manually send `KC_DQUO`: +The basic keycode limitation with Mod-Tap can be worked around by intercepting it in `process_record_user`. For example, shifted keycode `KC_DQUO` cannot be used with `MT()` because it is a 16-bit keycode alias of `LSFT(KC_QUOT)`. Modifiers on `KC_DQUO` will be masked by `MT()`. But the following custom code can be used to intercept the "tap" function to manually send `KC_DQUO`: ```c bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/docs/newbs_getting_started.md b/docs/newbs_getting_started.md index f86da40af6..1d2b60781b 100644 --- a/docs/newbs_getting_started.md +++ b/docs/newbs_getting_started.md @@ -50,66 +50,90 @@ You will need to install [MSYS2](https://www.msys2.org). Once installed, close a Install the QMK CLI by running: ```sh -curl -fsSL https://install.qmk.fm | sh +pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-python-qmk ``` :::: ==== macOS +QMK maintains a Homebrew tap and formula which will automatically install the CLI and all necessary dependencies. + #### Prerequisites You will need to install Homebrew. Follow the instructions on https://brew.sh. +::: tip +If you are using an Apple Silicon machine, the installation process will take significantly longer because GitHub actions do not have native runners to build binary packages for the ARM and AVR toolchains. +::: + #### Installation Install the QMK CLI by running: ```sh -curl -fsSL https://install.qmk.fm | sh +brew install qmk/qmk/qmk ``` ==== Linux/WSL -#### Installation - -::: info -Many Linux distributions are supported, but not all. Mainstream distributions will have best success -- if possible, choose either Debian or its derivatives (such as Ubuntu, or Mint), CentOS or its derivatives (such as Fedora, or Rocky Linux), and Arch or its derivatives (such as Manjaro, or CachyOS). - -**The standard QMK build environment installed below does not support `musl`-based Linux distributions.** -::: - -Install the QMK CLI by running: - -```sh -curl -fsSL https://install.qmk.fm | sh -``` - ::: tip **Note for WSL users**: By default, the installation process will clone the QMK repository into your WSL home directory, but if you have cloned manually, ensure that it is located inside the WSL instance instead of the Windows filesystem (ie. not in `/mnt`), as accessing it is currently [extremely slow](https://github.com/microsoft/WSL/issues/4197). ::: -::: warning -Any QMK packages provided by your distribution's package manager are almost certainly out of date. It is strongly suggested the installation script above is used instead. -::: +#### Prerequisites + +You will need to install Git and Python. It's very likely that you already have both, but if not, one of the following commands should install them: + +* Debian / Ubuntu / Devuan: `sudo apt install -y git python3-pip` +* Fedora / Red Hat / CentOS: `sudo yum -y install git python3-pip` +* Arch / Manjaro: `sudo pacman --needed --noconfirm -S git python-pip libffi` +* Void: `sudo xbps-install -y git python3-pip` +* Solus: `sudo eopkg -y install git python3` +* Sabayon: `sudo equo install dev-vcs/git dev-python/pip` +* Gentoo: `sudo emerge dev-vcs/git dev-python/pip` + +#### Installation + +Install the QMK CLI by running: + +```sh +python3 -m pip install --user qmk +``` + +Alternatively, install the QMK CLI as a [uv](https://docs.astral.sh/uv/) managed tool, kept isolated in a virtual environment (requires uv to be installed): + +```sh +uv tool install qmk +``` + +#### Community Packages + +These packages are maintained by community members, so may not be up to date or completely functional. If you encounter problems, please report them to their respective maintainers. + +On Arch-based distros you can install the CLI from the official repositories (NOTE: at the time of writing this package marks some dependencies as optional that should not be): + +```sh +sudo pacman -S qmk +``` + +You can also try the `qmk-git` package from AUR: + +```sh +yay -S qmk-git +``` ==== FreeBSD #### Installation -::: warning -FreeBSD support is provided on a best-effort basis by the community instead of the QMK maintainers. It is strongly suggested that you use either Windows, macOS, or a supported distribution of Linux instead. -::: - Install the FreeBSD package for QMK CLI by running: ```sh pkg install -g "py*-qmk" ``` -::: info NOTE -Remember to follow the instructions printed at the end of installation (use `pkg info -Dg "py*-qmk"` to show them again). -::: +NOTE: remember to follow the instructions printed at the end of installation (use `pkg info -Dg "py*-qmk"` to show them again). ::::: diff --git a/docs/public/pin_compatible_elite_c.svg b/docs/public/pin_compatible_elite_c.svg deleted file mode 100644 index cf85449dab..0000000000 --- a/docs/public/pin_compatible_elite_c.svg +++ /dev/null @@ -1,61 +0,0 @@ -pinsBDCFF75710D3D2D1D0D4C6D7E6B4B5F4F5F6F7B1B3B2B6 diff --git a/docs/public/pin_compatible_promicro.svg b/docs/public/pin_compatible_promicro.svg deleted file mode 100644 index 46299f4f60..0000000000 --- a/docs/public/pin_compatible_promicro.svg +++ /dev/null @@ -1,61 +0,0 @@ -pinsLEDsB0D5D3D2D1D0D4C6D7E6B4B5F4F5F6F7B1B3B2B6 diff --git a/docs/quantum_painter.md b/docs/quantum_painter.md index fbc72cb053..bbe8944516 100644 --- a/docs/quantum_painter.md +++ b/docs/quantum_painter.md @@ -534,8 +534,6 @@ QUANTUM_PAINTER_DRIVERS += surface Creating a surface in firmware can then be done with the following APIs: ```c -// 24bpp RGB888 surface: -painter_device_t qp_make_rgb888_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); // 16bpp RGB565 surface: painter_device_t qp_make_rgb565_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); // 1bpp monochrome surface: diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index 301e4b12dd..84377ef36c 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -327,21 +327,6 @@ Configures the [LED Indicators](features/led_indicators) feature. * `scroll_lock` Pin * The GPIO pin connected to the Scroll Lock LED. -## (Custom) Keycodes {#keycodes} - -Defines [custom keycodes](custom_quantum_functions#definining-a-new-keycode) for use within keymaps. - -* `keycodes` Array: Object - * A list of keycode objects. - * `key` String Required - * The enum name of the custom keycode. - * Example: `LAYER_CHANGE_BEEP_ON` - * `label` String - * A short description of the custom keycode. - * `aliases` Array: String - * A list of shortened names for the custom keycode. - * Example: `["LCBON", "LCB_ON"]` - ## Layouts {#layouts} The `layouts` portion of the dictionary contains several nested dictionaries. The outer layer consists of QMK layout names, for example `LAYOUT_60_ansi` or `LAYOUT_60_iso`. @@ -430,9 +415,6 @@ Configures the [LED Matrix](features/led_matrix) feature. * `center_point` Array: Number * The centroid (geometric center) of the LEDs. Used for certain effects. * Default: `[112, 32]` - * `flag_steps` Array: Number - * A list of flag bitfields that can be cycled through. - * Default: `[255, 5, 0]` * `default` * `animation` String * The default effect. Must be one of `led_matrix.animations` @@ -446,9 +428,6 @@ Configures the [LED Matrix](features/led_matrix) feature. * `speed` Number * The default animation speed. * Default: `128` - * `flags` Number - * The default LED flags. - * Default: `255` * `driver` String Required * The driver to use. Must be one of `custom`, `is31fl3218`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`. * `layout` Array: Object Required @@ -528,7 +507,7 @@ Configures the [LED Matrix](features/led_matrix) feature. * The amount of time to wait between row/col selection and col/row pin reading, in microseconds. * Default: `30` (30 µs) * `masked` Boolean - * Whether unconfigured intersections should be ignored. + * Whether configured intersections should be ignored. * Default: `false` * `rows` Array: Pin * A list of GPIO pins connected to the matrix rows. @@ -681,9 +660,6 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. * `center_point` Array: Number * The centroid (geometric center) of the LEDs. Used for certain effects. * Default: `[112, 32]` - * `flag_steps` Array: Number - * A list of flag bitfields that can be cycled through. - * Default: `[255, 5, 2, 0]` * `default` * `animation` String * The default effect. Must be one of `rgb_matrix.animations` @@ -703,9 +679,6 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. * `speed` Number * The default animation speed. * Default: `128` - * `flags` Number - * The default LED flags. - * Default: `255` * `driver` String Required * The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3236`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`. * `hue_steps` Number diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md index 3eed847f07..458b442d59 100644 --- a/docs/squeezing_avr.md +++ b/docs/squeezing_avr.md @@ -87,6 +87,26 @@ Or if you're not using layers at all, you can outright remove the functionality #define NO_ACTION_LAYER ``` +## Magic Functions + +There are two `__attribute__ ((weak))` placeholder functions available to customize magic keycodes. If you are not using that feature to swap keycodes, such as backslash with backspace, add the following to your `keymap.c` or user space code: +```c +#ifndef MAGIC_ENABLE +uint16_t keycode_config(uint16_t keycode) { + return keycode; +} +#endif +``` +Likewise, if you are not using magic keycodes to swap modifiers, such as Control with GUI, add the following to your `keymap.c` or user space code: +```c +#ifndef MAGIC_ENABLE +uint8_t mod_config(uint8_t mod) { + return mod; +} +#endif +``` +Both of them will overwrite the placeholder functions with a simple return statement to reduce firmware size. + ## OLED tweaks One place you can save a bunch of space here is by not using `sprintf` or `snprintf`. This function call takes up ~1.5kB of firmware space, and can be rewritten. For instance, WPM uses this a lot. diff --git a/docs/tap_hold.md b/docs/tap_hold.md index 13e2f0b367..bc2c505040 100644 --- a/docs/tap_hold.md +++ b/docs/tap_hold.md @@ -1,12 +1,8 @@ # Tap-Hold Configuration Options -These options let you modify the behavior of the tap-hold keys, applying primarily to Mod-Tap `MT` and Layer-Tap `LT` keys. They also affect layer tap-toggle `TT`, one-shot `OSM`, `OSL`, and Swap Hands `SH_T`, `SH_TT` keys. - While Tap-Hold options are fantastic, they are not without their issues. We have tried to configure them with reasonable defaults, but that may still cause issues for some people. -::: info -Besides the tapping term, tap-hold options do **not** apply to Tap Dance keys. Tap Dance implements a separate, simpler decision logic to track when keys are tapped vs. held, and it does not support advanced tap-hold configurations like Permissive Hold, Chordal Hold, etc. -::: +These options let you modify the behavior of the tap-hold keys. ## Tapping Term @@ -152,25 +148,6 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { The reason is that `TAPPING_TERM` is a macro that expands to a constant integer and thus cannot be changed at runtime, whereas `g_tapping_term` is a variable whose value can be changed at runtime. If you want, you can temporarily enable `DYNAMIC_TAPPING_TERM_ENABLE` to find a suitable tapping term value and then disable that feature and revert back to using the classic syntax for per-key tapping term settings. In case you need to access the tapping term from elsewhere in your code, you can use the `GET_TAPPING_TERM(keycode, record)` macro. This macro will expand to whatever is the appropriate access pattern given the current configuration. -## Configuring Home Row Mods - -"Home row mods" (HRMs) is a popular layout technique where modifiers are placed as Mod-Tap keys on the home row (A, S, D, F and J, K, L, ;, supposing QWERTY layout). This reduces hand movement and can increase comfort. However, because these keys are also used for fast typing, they are prone to accidental modifier triggers (when rolling keys) or accidental typed letters (when trying to use a modifier). - -There is no single perfect configuration for home row mods, as it depends heavily on your typing speed and habits. However, a good starting point in QMK is (added in your `config.h`): - -```c -#define TAPPING_TERM 250 -#define PERMISSIVE_HOLD // Triggers mod if you tap another key while holding. -#define CHORDAL_HOLD // Constrains holds to opposite-hand combinations. -// Consider also: -// #define FLOW_TAP_TERM 150 // Disables holds when typing quickly. -``` - -See [Permissive Hold](#permissive-hold), [Chordal Hold](#chordal-hold), and [Flow Tap](#flow-tap) below for details on what they do and how to fine-tune them. - -Additionally, [Speculative Hold](#speculative-hold) is useful to eliminate lag when combining a home row mod with mouse clicks (e.g., Shift + Click), as standard mod-tap keys do not send the modifier until the tap-hold decision is finalized. - - ## Tap-Or-Hold Decision Modes The code which decides between the tap and hold actions of dual-role keys supports three different modes, in increasing order of preference for the hold action: @@ -627,20 +604,6 @@ Or if the two keys are on opposite hands and the `PERMISSIVE_HOLD` option is enabled, this will produce `C` with `SFT_T(KC_A)` settled as held when that `KC_C` is released. -As an exception to the opposite hands rule, Chordal Hold supports combining -multiple same-side modifiers within the tapping term. This is useful for -multi-mod hotkeys like Ctrl + Shift + V. For instance with Chordal Hold together -with either Permissive Hold or Hold On Other Key Press, the following input -results in Ctrl + Shift + V being sent, supposing `J` and `K` are on the right -hand side and `V` is on the left hand side: - -- `SFT_T(KC_J)` Down -- `CTL_T(KC_K)` Down -- `KC_V` Down -- `KC_V` Up -- `SFT_T(KC_J)` Up -- `CTL_T(KC_K)` Up - ### Chordal Hold Handedness Determining whether keys are on the same or opposite hands involves defining the @@ -816,62 +779,6 @@ Do not use `MOD_xxx` constants like `MOD_LSFT` or `MOD_RALT`, since they're 5-bi [Auto Shift](features/auto_shift) has its own version of `retro tapping` called `retro shift`. It is extremely similar to `retro tapping`, but holding the key past `AUTO_SHIFT_TIMEOUT` results in the value it sends being shifted. Other configurations also affect it differently; see [here](features/auto_shift#retro-shift) for more information. -## Speculative Hold - -Speculative Hold makes mod-tap keys more responsive by applying the modifier instantly on keydown, before the tap-hold decision is made. This is especially useful for actions like Shift+Click with a mouse, which can feel laggy with standard mod-taps. - -The firmware holds the modifier speculatively. Once the key's behavior is settled: - -* If held, the modifier remains active as expected until the key is released. -* If tapped, the speculative modifier is canceled just before the tapping keycode is sent. - -Speculative Hold applies the modifier early but does not change the underlying tap-hold decision logic. Speculative Hold is compatible to use in combination with any other tap-hold options. - -To enable Speculative Hold, add the following to your `config.h`: - -```c -#define SPECULATIVE_HOLD -``` - -By default, Speculative Hold applies to mod-taps using Shift, Ctrl, or Shift + Ctrl. You can override this behavior by defining the `get_speculative_hold()` callback in your keymap, for instance: - -```c -bool get_speculative_hold(uint16_t keycode, keyrecord_t* record) { - switch (keycode) { // These keys may be speculatively held. - case LCTL_T(KC_ESC): - case LSFT_T(KC_Z): - case RSFT_T(KC_SLSH): - return true; - } - return false; // Disable otherwise. -} -``` - -Some operating systems or applications assign actions to tapping a modifier key by itself, e.g., tapping GUI to open a start menu. Because Speculative Hold sends a lone modifier key press in some cases, it can falsely trigger these actions (known as the "flashing mods" problem). How such an input is handled depends on the OS and application, so unfortunately, there is no universal solution. - -To mitigate this issue, you can set `DUMMY_MOD_NEUTRALIZER_KEYCODE` (and optionally `MODS_TO_NEUTRALIZE`) in your `config.h`, as described above for [Retro Tapping](#retro-tapping). - -You can further prevent flashing mods by restricting when Speculative Hold is allowed to trigger. There are several options for this: - -* Constrain Speculative Hold to one key at a time. Add to your config.h: - - ```c - #define SPECULATIVE_HOLD_ONE_KEY - ``` - - With this option, Speculative Hold does not apply when any mods are already active. Mod combinations across multiple keys can still be made after the mod-tap keys settle. - -* Disable Speculative Hold during the flow of fast typing. Add to your config.h: - - ```c - #define SPECULATIVE_HOLD_FLOW_TERM 200 - ``` - - This value specifies a duration in milliseconds. Speculative Hold does not apply if a key is pressed within this threshold of the previous key. The effect is similar to [Flow Tap](#flow-tap); however, `SPECULATIVE_HOLD_FLOW_TERM` only restricts when speculation is allowed, without affecting how the key settles. - -* Use the Flow Tap option. In the fast flow of typing, the mod-tap key is immediately settled, and therefore no speculation occurs. See [Flow Tap](#flow-tap) for details. - - ## Why do we include the key record for the per key functions? One thing that you may notice is that we include the key record for all of the "per key" functions, and may be wondering why we do that. @@ -880,4 +787,4 @@ Well, it's simple really: customization. But specifically, it depends on how you ## Why are there no `*_kb` or `*_user` functions?! -Unlike many of the other functions here, there isn't a need (or even reason) to have a quantum- or keyboard-level function. Only user-level functions are useful here, so there is no need to mark them as such. +Unlike many of the other functions here, there isn't a need (or even reason) to have a quantum- or keyboard-level function. Only user-level functions are useful here, so there is no need to mark them as such. \ No newline at end of file diff --git a/drivers/bluetooth/bluefruit_le.cpp b/drivers/bluetooth/bluefruit_le.cpp index bb5014360c..5fdd104dcf 100644 --- a/drivers/bluetooth/bluefruit_le.cpp +++ b/drivers/bluetooth/bluefruit_le.cpp @@ -364,7 +364,7 @@ static bool read_response(char *resp, uint16_t resplen, bool verbose) { } static bool at_command(const char *cmd, char *resp, uint16_t resplen, bool verbose, uint16_t timeout) { - const char *end = cmd + strlen(cmd); + const char * end = cmd + strlen(cmd); struct sdep_msg msg; if (verbose) { diff --git a/drivers/bluetooth/ringbuffer.hpp b/drivers/bluetooth/ringbuffer.hpp index ea0c564ec9..70a3c4881d 100644 --- a/drivers/bluetooth/ringbuffer.hpp +++ b/drivers/bluetooth/ringbuffer.hpp @@ -2,68 +2,65 @@ // A simple ringbuffer holding Size elements of type T template class RingBuffer { - protected: - T buf_[Size]; - uint8_t head_{0}, tail_{0}; + protected: + T buf_[Size]; + uint8_t head_{0}, tail_{0}; + public: + inline uint8_t nextPosition(uint8_t position) { + return (position + 1) % Size; + } - public: - inline uint8_t nextPosition(uint8_t position) { - return (position + 1) % Size; + inline uint8_t prevPosition(uint8_t position) { + if (position == 0) { + return Size - 1; + } + return position - 1; + } + + inline bool enqueue(const T &item) { + static_assert(Size > 1, "RingBuffer size must be > 1"); + uint8_t next = nextPosition(head_); + if (next == tail_) { + // Full + return false; } - inline uint8_t prevPosition(uint8_t position) { - if (position == 0) { - return Size - 1; - } - return position - 1; + buf_[head_] = item; + head_ = next; + return true; + } + + inline bool get(T &dest, bool commit = true) { + auto tail = tail_; + if (tail == head_) { + // No more data + return false; } - inline bool enqueue(const T &item) { - static_assert(Size > 1, "RingBuffer size must be > 1"); - uint8_t next = nextPosition(head_); - if (next == tail_) { - // Full - return false; - } + dest = buf_[tail]; + tail = nextPosition(tail); - buf_[head_] = item; - head_ = next; - return true; + if (commit) { + tail_ = tail; } + return true; + } - inline bool get(T &dest, bool commit = true) { - auto tail = tail_; - if (tail == head_) { - // No more data - return false; - } + inline bool empty() const { return head_ == tail_; } - dest = buf_[tail]; - tail = nextPosition(tail); - - if (commit) { - tail_ = tail; - } - return true; + inline uint8_t size() const { + int diff = head_ - tail_; + if (diff >= 0) { + return diff; } + return Size + diff; + } - inline bool empty() const { - return head_ == tail_; - } + inline T& front() { + return buf_[tail_]; + } - inline uint8_t size() const { - int diff = head_ - tail_; - if (diff >= 0) { - return diff; - } - return Size + diff; - } - - inline T &front() { - return buf_[tail_]; - } - - inline bool peek(T &item) { - return get(item, false); - } + inline bool peek(T &item) { + return get(item, false); + } }; diff --git a/drivers/eeprom/eeprom_i2c.c b/drivers/eeprom/eeprom_i2c.c index 8c6c16d810..d29aff5f85 100644 --- a/drivers/eeprom/eeprom_i2c.c +++ b/drivers/eeprom/eeprom_i2c.c @@ -104,7 +104,7 @@ void eeprom_read_block(void *buf, const void *addr, size_t len) { void eeprom_write_block(const void *buf, void *addr, size_t len) { uint8_t complete_packet[EXTERNAL_EEPROM_ADDRESS_SIZE + EXTERNAL_EEPROM_PAGE_SIZE]; - uint8_t *read_buf = (uint8_t *)buf; + uint8_t * read_buf = (uint8_t *)buf; uintptr_t target_addr = (uintptr_t)addr; #if defined(EXTERNAL_EEPROM_WP_PIN) diff --git a/drivers/eeprom/eeprom_spi.c b/drivers/eeprom/eeprom_spi.c index 9e85286403..14f0afa68b 100644 --- a/drivers/eeprom/eeprom_spi.c +++ b/drivers/eeprom/eeprom_spi.c @@ -154,7 +154,7 @@ void eeprom_read_block(void *buf, const void *addr, size_t len) { void eeprom_write_block(const void *buf, void *addr, size_t len) { bool res; - uint8_t *read_buf = (uint8_t *)buf; + uint8_t * read_buf = (uint8_t *)buf; uintptr_t target_addr = (uintptr_t)addr; while (len > 0) { diff --git a/drivers/encoder/encoder_quadrature.c b/drivers/encoder/encoder_quadrature.c index b3aeb136b2..086f500391 100644 --- a/drivers/encoder/encoder_quadrature.c +++ b/drivers/encoder/encoder_quadrature.c @@ -27,6 +27,8 @@ # define ENCODER_DEFAULT_PIN_API_IMPL #endif +extern volatile bool isLeftHand; + __attribute__((weak)) void encoder_quadrature_init_pin(uint8_t index, bool pad_b); __attribute__((weak)) uint8_t encoder_quadrature_read_pin(uint8_t index, bool pad_b); @@ -106,12 +108,12 @@ void encoder_quadrature_post_init(void) { void encoder_driver_init(void) { #ifdef SPLIT_KEYBOARD - thisHand = is_keyboard_left() ? 0 : NUM_ENCODERS_LEFT; + thisHand = isLeftHand ? 0 : NUM_ENCODERS_LEFT; thatHand = NUM_ENCODERS_LEFT - thisHand; - thisCount = is_keyboard_left() ? NUM_ENCODERS_LEFT : NUM_ENCODERS_RIGHT; - thatCount = is_keyboard_left() ? NUM_ENCODERS_RIGHT : NUM_ENCODERS_LEFT; + thisCount = isLeftHand ? NUM_ENCODERS_LEFT : NUM_ENCODERS_RIGHT; + thatCount = isLeftHand ? NUM_ENCODERS_RIGHT : NUM_ENCODERS_LEFT; #else // SPLIT_KEYBOARD - thisCount = NUM_ENCODERS; + thisCount = NUM_ENCODERS; #endif #ifdef ENCODER_TESTS @@ -131,7 +133,7 @@ void encoder_driver_init(void) { #if defined(SPLIT_KEYBOARD) && defined(ENCODER_A_PINS_RIGHT) && defined(ENCODER_B_PINS_RIGHT) // Re-initialise the pads if it's the right-hand side - if (!is_keyboard_left()) { + if (!isLeftHand) { const pin_t encoders_pad_a_right[] = ENCODER_A_PINS_RIGHT; const pin_t encoders_pad_b_right[] = ENCODER_B_PINS_RIGHT; for (uint8_t i = 0; i < thisCount; i++) { diff --git a/drivers/flash/flash_spi.c b/drivers/flash/flash_spi.c index 5816a896fe..7226773ff4 100644 --- a/drivers/flash/flash_spi.c +++ b/drivers/flash/flash_spi.c @@ -291,7 +291,7 @@ flash_status_t flash_erase_block(uint32_t addr) { flash_status_t flash_read_range(uint32_t addr, void *buf, size_t len) { flash_status_t response = FLASH_STATUS_SUCCESS; - uint8_t *read_buf = (uint8_t *)buf; + uint8_t * read_buf = (uint8_t *)buf; /* Wait for the write-in-progress bit to be cleared. */ response = spi_flash_wait_while_busy(); @@ -322,7 +322,7 @@ flash_status_t flash_read_range(uint32_t addr, void *buf, size_t len) { flash_status_t flash_write_range(uint32_t addr, const void *buf, size_t len) { flash_status_t response = FLASH_STATUS_SUCCESS; - uint8_t *write_buf = (uint8_t *)buf; + uint8_t * write_buf = (uint8_t *)buf; while (len > 0) { uint32_t page_offset = addr % EXTERNAL_FLASH_PAGE_SIZE; diff --git a/drivers/haptic/solenoid.h b/drivers/haptic/solenoid.h index 3d8a4c732d..17f5345bc6 100644 --- a/drivers/haptic/solenoid.h +++ b/drivers/haptic/solenoid.h @@ -47,7 +47,8 @@ #ifndef SOLENOID_PINS # ifdef SOLENOID_PIN -# define SOLENOID_PINS {SOLENOID_PIN} +# define SOLENOID_PINS \ + { SOLENOID_PIN } # else # error SOLENOID_PINS array not defined # endif diff --git a/drivers/i2c_master.h b/drivers/i2c_master.h index 5f6094bc81..dbe1cd42fa 100644 --- a/drivers/i2c_master.h +++ b/drivers/i2c_master.h @@ -72,21 +72,6 @@ i2c_status_t i2c_transmit_P(uint8_t address, const uint8_t* data, uint16_t lengt */ i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout); -/** - * \brief Send multiple bytes and then receive multiple bytes from the selected I2C device. - * - * \param address The 7-bit I2C address of the device. - * \param tx_data A pointer to the data to transmit. - * \param tx_length The number of bytes to write. Take care not to overrun the length of `tx_data`. - * \param rx_data A pointer to a buffer to read into. - * \param rx_length The number of bytes to read. Take care not to overrun the length of `rx_data`. - * \param timeout The time in milliseconds to wait for a response from the target device. - * - * \return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. - */ - -i2c_status_t i2c_transmit_and_receive(uint8_t address, const uint8_t* tx_data, uint16_t tx_length, uint8_t* rx_data, uint16_t rx_length, uint16_t timeout); - /** * \brief Write to a register with an 8-bit address on the I2C device. * diff --git a/drivers/lcd/st7565.c b/drivers/lcd/st7565.c index 3ce40bc852..f24bb78048 100644 --- a/drivers/lcd/st7565.c +++ b/drivers/lcd/st7565.c @@ -70,7 +70,7 @@ along with this program. If not, see . // parts of the display unusable or don't get cleared correctly // and also allows for drawing & inverting uint8_t st7565_buffer[ST7565_MATRIX_SIZE]; -uint8_t *st7565_cursor; +uint8_t * st7565_cursor; ST7565_BLOCK_TYPE st7565_dirty = 0; bool st7565_initialized = false; bool st7565_active = false; diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c index ead8a11afc..6a13153374 100644 --- a/drivers/led/apa102.c +++ b/drivers/led/apa102.c @@ -145,6 +145,8 @@ void apa102_flush(void) { void apa102_set_brightness(uint8_t brightness) { if (brightness > APA102_MAX_BRIGHTNESS) { apa102_led_brightness = APA102_MAX_BRIGHTNESS; + } else if (brightness < 0) { + apa102_led_brightness = 0; } else { apa102_led_brightness = brightness; } diff --git a/drivers/led/issi/is31fl3729-mono.c b/drivers/led/issi/is31fl3729-mono.c index 668a5b3ca2..13d5146877 100644 --- a/drivers/led/issi/is31fl3729-mono.c +++ b/drivers/led/issi/is31fl3729-mono.c @@ -107,7 +107,7 @@ void is31fl3729_write_pwm_buffer(uint8_t index) { // Transmit PWM registers in 11 transfers of 13 bytes. // Iterate over the pwm_buffer contents at 13 byte intervals. - for (uint8_t i = 0; i < IS31FL3729_PWM_REGISTER_COUNT; i += 13) { + for (uint8_t i = 0; i <= IS31FL3729_PWM_REGISTER_COUNT; i += 13) { #if IS31FL3729_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3729_I2C_PERSISTENCE; j++) { if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3729_REG_PWM + i, driver_buffers[index].pwm_buffer + i, 13, IS31FL3729_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; @@ -182,7 +182,7 @@ void is31fl3729_set_scaling_register(uint8_t index, uint8_t value) { // need to do a bit of checking here since 3729 scaling is per CS pin. // not the usual per single LED key as per other ISSI drivers // only enable them, since they should be default disabled - int cs_value = (led.v & 0x0F); + int cs_value = (led.v & 0x0F) - 1; driver_buffers[led.driver].scaling_buffer[cs_value] = value; driver_buffers[led.driver].scaling_buffer_dirty = true; diff --git a/drivers/led/issi/is31fl3729.c b/drivers/led/issi/is31fl3729.c index 231d2b00c3..80acb22fa2 100644 --- a/drivers/led/issi/is31fl3729.c +++ b/drivers/led/issi/is31fl3729.c @@ -107,7 +107,7 @@ void is31fl3729_write_pwm_buffer(uint8_t index) { // Transmit PWM registers in 11 transfers of 13 bytes. // Iterate over the pwm_buffer contents at 13 byte intervals. - for (uint8_t i = 0; i < IS31FL3729_PWM_REGISTER_COUNT; i += 13) { + for (uint8_t i = 0; i <= IS31FL3729_PWM_REGISTER_COUNT; i += 13) { #if IS31FL3729_I2C_PERSISTENCE > 0 for (uint8_t j = 0; j < IS31FL3729_I2C_PERSISTENCE; j++) { if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3729_REG_PWM + i, driver_buffers[index].pwm_buffer + i, 13, IS31FL3729_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; @@ -184,9 +184,9 @@ void is31fl3729_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, // need to do a bit of checking here since 3729 scaling is per CS pin. // not the usual per RGB key as per other ISSI drivers // only enable them, since they should be default disabled - int cs_red = (led.r & 0x0F); - int cs_green = (led.g & 0x0F); - int cs_blue = (led.b & 0x0F); + int cs_red = (led.r & 0x0F) - 1; + int cs_green = (led.g & 0x0F) - 1; + int cs_blue = (led.b & 0x0F) - 1; driver_buffers[led.driver].scaling_buffer[cs_red] = red; driver_buffers[led.driver].scaling_buffer[cs_green] = green; diff --git a/drivers/led/snled27351-mono.c b/drivers/led/snled27351-mono.c index 723e5d138e..d87b856db6 100644 --- a/drivers/led/snled27351-mono.c +++ b/drivers/led/snled27351-mono.c @@ -34,7 +34,8 @@ #endif #ifndef SNLED27351_CURRENT_TUNE -# define SNLED27351_CURRENT_TUNE {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF} +# define SNLED27351_CURRENT_TUNE \ + { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } #endif const uint8_t i2c_addresses[SNLED27351_DRIVER_COUNT] = { diff --git a/drivers/led/snled27351.c b/drivers/led/snled27351.c index f446cca97f..8ebf681bdb 100644 --- a/drivers/led/snled27351.c +++ b/drivers/led/snled27351.c @@ -34,7 +34,8 @@ #endif #ifndef SNLED27351_CURRENT_TUNE -# define SNLED27351_CURRENT_TUNE {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF} +# define SNLED27351_CURRENT_TUNE \ + { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } #endif const uint8_t i2c_addresses[SNLED27351_DRIVER_COUNT] = { diff --git a/drivers/oled/glcdfont.c b/drivers/oled/glcdfont.c index 4099389691..0e201d71ee 100644 --- a/drivers/oled/glcdfont.c +++ b/drivers/oled/glcdfont.c @@ -1,256 +1,16 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later WITH BSD-2-Clause - #include "progmem.h" -/** - * QMK 6x8 Font for LCD and OLED displays - * - * Derived from the first half of the Adafruit GFX Library font: - * https://github.com/adafruit/Adafruit-GFX-Library - * - * The first 128 characters match that of code page 437, the character set used by the original IBM PC, which includes all printable ASCII characters. - * Each byte represents a column of 8 pixels, with the least significant bit being the top of the glyph. - * - * A large 21x3 character QMK Firmware logo is encoded from 0x80-0x94, 0xA0-0xB4, and 0xC0-0xD4. - * 2x2 character OS logos for Apple, Windows, Linux and Android are encoded from 0x95-0x9C and 0xB5-0xBC. - */ +// Helidox 8x6 font with QMK Firmware Logo +// Online editor: http://teripom.x0.com/ + static const unsigned char font[] PROGMEM = { - 0x07, 0x08, 0x7F, 0x08, 0x07, 0x00, // 0x00 NUL / Ψ - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, // 0x01 SOH / ☺︎ - 0xC1, 0x94, 0xB0, 0x94, 0xC1, 0x00, // 0x02 STX / ☻ - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, // 0x03 ETX / ♥︎ - 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, // 0x04 EOT / ♦︎ - 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, // 0x05 ENQ / ♣︎ - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, // 0x06 ACK / ♠︎ - 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, // 0x07 BEL / • - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, // 0x08 BS / ◘ - 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, // 0x09 HT / ○ - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, // 0x0A LF / ◙ - 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, // 0x0B VT / ♂︎ - 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, // 0x0C FF / ♀︎ - 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, // 0x0D CR / ♪ - 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, // 0x0E SO / ♫ - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, // 0x0F SI / ☼ - - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, // 0x10 DLE / ► - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, // 0x11 DC1 / ◄ - 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, // 0x12 DC2 / ↕︎ - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, // 0x13 DC3 / ‼︎ - 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, // 0x14 DC4 / ¶ - 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, // 0x15 NAK / § - 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, // 0x16 SYN / ▬ - 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, // 0x17 ETB / ↨ - 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, // 0x18 CAN / ↑ - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, // 0x19 EM / ↓ - 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, // 0x1A SUB / → - 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, // 0x1B ESC / ← - 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, // 0x1C FS / ∟ - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, // 0x1D GS / ↔︎ - 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, // 0x1E RS / ▲ - 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, // 0x1F US / ▼ - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 Space - 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, // 0x21 ! - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, // 0x22 " - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, // 0x23 # - 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, // 0x24 $ - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, // 0x25 % - 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, // 0x26 & - 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, // 0x27 ' - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, // 0x28 ( - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, // 0x29 ) - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, // 0x2A * - 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, // 0x2B + - 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, // 0x2C , - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, // 0x2D - - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, // 0x2E . - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, // 0x2F / - - 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, // 0x30 0 - 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, // 0x31 1 - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, // 0x32 2 - 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, // 0x33 3 - 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, // 0x34 4 - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, // 0x35 5 - 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, // 0x36 6 - 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, // 0x37 7 - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x38 8 - 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, // 0x39 9 - 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, // 0x3A : - 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, // 0x3B ; - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x3C < - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, // 0x3D = - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, // 0x3E > - 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, // 0x3F ? - - 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, // 0x40 @ - 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, // 0x41 A - 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, // 0x42 B - 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, // 0x43 C - 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x44 D - 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, // 0x45 E - 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, // 0x46 F - 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, // 0x47 G - 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, // 0x48 H - 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, // 0x49 I - 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, // 0x4A J - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, // 0x4B K - 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x4C L - 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, // 0x4D M - 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, // 0x4E N - 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, // 0x4F O - - 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, // 0x50 P - 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, // 0x51 Q - 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, // 0x52 R - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, // 0x53 S - 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, // 0x54 T - 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, // 0x55 U - 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, // 0x56 V - 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, // 0x57 W - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, // 0x58 X - 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, // 0x59 Y - 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, // 0x5A Z - 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, // 0x5B [ - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, // 0x5C Backslash - 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, // 0x5D ] - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, // 0x5E ^ - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, // 0x5F _ - - 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, // 0x60 ` - 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, // 0x61 a - 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, // 0x62 b - 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, // 0x63 c - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, // 0x64 d - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, // 0x65 e - 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, // 0x66 f - 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00, // 0x67 g - 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x68 h - 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, // 0x69 i - 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, // 0x6A j - 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, // 0x6B k - 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, // 0x6C l - 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, // 0x6D m - 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, // 0x6E n - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, // 0x6F o - - 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, // 0x70 p - 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, // 0x71 q - 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, // 0x72 r - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, // 0x73 s - 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, // 0x74 t - 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, // 0x75 u - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, // 0x76 v - 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, // 0x77 w - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, // 0x78 x - 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, // 0x79 y - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, // 0x7A z - 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, // 0x7B { - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, // 0x7C | - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, // 0x7D } - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, // 0x7E ~ - 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, // 0x7F DEL / ⌂ - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 QMK Logo Top 1 - 0x00, 0x00, 0x80, 0x80, 0xE0, 0xF0, // 0x81 QMK Logo Top 2 - 0xF0, 0xFC, 0x70, 0xFC, 0xF0, 0x7C, // 0x82 QMK Logo Top 3 - 0xF0, 0xFC, 0x70, 0xFC, 0xF0, 0xF0, // 0x83 QMK Logo Top 4 - 0xE0, 0x80, 0x80, 0x00, 0x00, 0x00, // 0x84 QMK Logo Top 5 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x85 QMK Logo Top 6 - 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, // 0x86 QMK Logo Top 7 - 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, // 0x87 QMK Logo Top 8 - 0x00, 0x80, 0x80, 0x00, 0x80, 0x80, // 0x88 QMK Logo Top 9 - 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, // 0x89 QMK Logo Top 10 - 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, // 0x8A QMK Logo Top 11 - 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, // 0x8B QMK Logo Top 12 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8C QMK Logo Top 13 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8D QMK Logo Top 14 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8E QMK Logo Top 15 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x8F QMK Logo Top 16 - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x90 QMK Logo Top 17 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x91 QMK Logo Top 18 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x92 QMK Logo Top 19 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x93 QMK Logo Top 20 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x94 QMK Logo Top 21 - 0x00, 0xC0, 0xF0, 0xF8, 0xFC, 0x3E, // 0x95 Apple Logo TL - 0x1E, 0x06, 0x01, 0x00, 0x00, 0x00, // 0x96 Apple Logo TR - 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, // 0x97 Windows Logo TL - 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, // 0x98 Windows Logo TR - 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, // 0x99 Linux Logo TL - 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, // 0x9A Linux Logo TR - 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, // 0x9B Android Logo TL - 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, // 0x9C Android Logo TR - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9D - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9E - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x9F - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xA0 QMK Logo Middle 1 - 0x00, 0x00, 0xAA, 0xAA, 0xFF, 0xFF, // 0xA1 QMK Logo Middle 2 - 0xFF, 0xFF, 0xE0, 0xDF, 0xDF, 0x00, // 0xA2 QMK Logo Middle 3 - 0xDF, 0xDF, 0xE0, 0xFF, 0xFF, 0xFF, // 0xA3 QMK Logo Middle 4 - 0xFF, 0xAA, 0xAA, 0x00, 0x00, 0x00, // 0xA4 QMK Logo Middle 5 - 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7F, // 0xA5 QMK Logo Middle 6 - 0xC1, 0xC1, 0xC1, 0x7F, 0x3E, 0x00, // 0xA6 QMK Logo Middle 7 - 0xFF, 0xFF, 0x0F, 0x3C, 0x78, 0x3C, // 0xA7 QMK Logo Middle 8 - 0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, // 0xA8 QMK Logo Middle 9 - 0x1C, 0x3E, 0x77, 0xE3, 0xC1, 0x00, // 0xA9 QMK Logo Middle 10 - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, // 0xAA QMK Logo Middle 11 - 0x19, 0x19, 0x19, 0x00, 0xFD, 0xFD, // 0xAB QMK Logo Middle 12 - 0x00, 0xFE, 0xFC, 0x06, 0x06, 0x00, // 0xAC QMK Logo Middle 13 - 0xFE, 0xFC, 0x06, 0x06, 0xFC, 0xFC, // 0xAD QMK Logo Middle 14 - 0x06, 0x06, 0xFE, 0xFC, 0x00, 0x1E, // 0xAE QMK Logo Middle 15 - 0x7C, 0xE0, 0x78, 0x0C, 0x78, 0xE0, // 0xAF QMK Logo Middle 16 - - 0x7C, 0x1E, 0x00, 0x64, 0xF6, 0x92, // 0xB0 QMK Logo Middle 17 - 0x92, 0x7E, 0xFC, 0x00, 0xFE, 0xFC, // 0xB1 QMK Logo Middle 18 - 0x06, 0x06, 0x00, 0x3C, 0x7E, 0xD2, // 0xB2 QMK Logo Middle 19 - 0xD2, 0xDE, 0x4C, 0x00, 0x00, 0x00, // 0xB3 QMK Logo Middle 20 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xB4 QMK Logo Middle 21 - 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3C, // 0xB5 Apple Logo BL - 0x78, 0x70, 0x60, 0x00, 0x00, 0x00, // 0xB6 Apple Logo BR - 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, // 0xB7 Windows Logo BL - 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, // 0xB8 Windows Logo BR - 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, // 0xB9 Linux Logo BL - 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, // 0xBA Linux Logo BR - 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, // 0xBB Android Logo BL - 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, // 0xBC Android Logo BR - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBD - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBE - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xBF - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC0 QMK Logo Bottom 1 - 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, // 0xC1 QMK Logo Bottom 2 - 0x07, 0x1F, 0x07, 0x1F, 0x07, 0x1F, // 0xC2 QMK Logo Bottom 3 - 0x07, 0x1F, 0x07, 0x1F, 0x07, 0x07, // 0xC3 QMK Logo Bottom 4 - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC4 QMK Logo Bottom 5 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC5 QMK Logo Bottom 6 - 0x00, 0x00, 0x01, 0x03, 0x02, 0x00, // 0xC6 QMK Logo Bottom 7 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC7 QMK Logo Bottom 8 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC8 QMK Logo Bottom 9 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC9 QMK Logo Bottom 10 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xCA QMK Logo Bottom 11 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xCB QMK Logo Bottom 12 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xCC QMK Logo Bottom 13 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xCD QMK Logo Bottom 14 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xCE QMK Logo Bottom 15 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xCF QMK Logo Bottom 16 - - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD0 QMK Logo Bottom 17 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD1 QMK Logo Bottom 18 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD2 QMK Logo Bottom 19 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD3 QMK Logo Bottom 10 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD4 QMK Logo Bottom 21 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD5 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD6 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD7 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD8 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD9 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDA - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDB - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDC - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDD - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xDE - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0xDF + 0x07, 0x08, 0x7F, 0x08, 0x07, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0x3F, 0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0xF0, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF8, 0xFC, 0x3E, + 0x1E, 0x06, 0x01, 0x00, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xDF, 0xBF, 0xBF, 0x00, 0xBF, 0xBF, 0xDF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x49, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x60, 0x60, 0xE0, 0xBF, 0x1F, 0x00, 0x7F, 0x7F, 0x07, 0x1E, 0x38, 0x1E, 0x07, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x0E, 0x1F, 0x3B, 0x71, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x0C, 0x0C, 0x0C, 0x00, 0x7E, 0x7E, 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x7E, 0x7E, 0x03, 0x03, 0x7F, 0x7E, 0x00, 0x0F, + 0x3E, 0x70, 0x3C, 0x06, 0x3C, 0x70, 0x3E, 0x0F, 0x00, 0x32, 0x7B, 0x49, 0x49, 0x3F, 0x7E, 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x00, 0x1E, 0x3F, 0x69, 0x69, 0x6F, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3C, 0x78, 0x70, 0x60, 0x00, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x7E, 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x07, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; diff --git a/drivers/oled/oled_driver.c b/drivers/oled/oled_driver.c index a7a78bf3c1..7e46bcb3f7 100644 --- a/drivers/oled/oled_driver.c +++ b/drivers/oled/oled_driver.c @@ -146,7 +146,7 @@ along with this program. If not, see . // parts of the display unusable or don't get cleared correctly // and also allows for drawing & inverting uint8_t oled_buffer[OLED_MATRIX_SIZE]; -uint8_t *oled_cursor; +uint8_t * oled_cursor; OLED_BLOCK_TYPE oled_dirty = 0; bool oled_initialized = false; bool oled_active = false; @@ -301,18 +301,24 @@ bool oled_init(oled_rotation_t rotation) { oled_driver_init(); static const uint8_t PROGMEM display_setup1[] = { - I2C_CMD, DISPLAY_OFF, DISPLAY_CLOCK, OLED_DISPLAY_CLOCK, MULTIPLEX_RATIO, + I2C_CMD, + DISPLAY_OFF, + DISPLAY_CLOCK, + OLED_DISPLAY_CLOCK, + MULTIPLEX_RATIO, #if OLED_IC_COM_PINS_ARE_COLUMNS OLED_DISPLAY_WIDTH - 1, #else OLED_DISPLAY_HEIGHT - 1, #endif #if OLED_IC == OLED_IC_SH1107 - SH1107_DISPLAY_START_LINE, 0x00, + SH1107_DISPLAY_START_LINE, + 0x00, #else DISPLAY_START_LINE | 0x00, #endif - CHARGE_PUMP, 0x14, + CHARGE_PUMP, + 0x14, #if OLED_IC_HAS_HORIZONTAL_MODE // MEMORY_MODE is unsupported on SH1106 (Page Addressing only) MEMORY_MODE, diff --git a/drivers/oled/oled_driver.h b/drivers/oled/oled_driver.h index 36fe8c195c..c3db7e6d97 100644 --- a/drivers/oled/oled_driver.h +++ b/drivers/oled/oled_driver.h @@ -53,10 +53,12 @@ along with this program. If not, see . // For 90 degree rotation, we map our internal matrix to oled matrix using fixed arrays // The OLED writes to it's memory horizontally, starting top left, but our memory starts bottom left in this mode # ifndef OLED_SOURCE_MAP -# define OLED_SOURCE_MAP {0, 8, 16, 24, 32, 40, 48, 56} +# define OLED_SOURCE_MAP \ + { 0, 8, 16, 24, 32, 40, 48, 56 } # endif # ifndef OLED_TARGET_MAP -# define OLED_TARGET_MAP {56, 48, 40, 32, 24, 16, 8, 0} +# define OLED_TARGET_MAP \ + { 56, 48, 40, 32, 24, 16, 8, 0 } # endif // If OLED_BLOCK_TYPE is uint32_t, these tables would look like: // #define OLED_SOURCE_MAP { 32, 40, 48, 56 } @@ -95,10 +97,12 @@ along with this program. If not, see . # endif # ifndef OLED_SOURCE_MAP -# define OLED_SOURCE_MAP {0, 8, 16, 24} +# define OLED_SOURCE_MAP \ + { 0, 8, 16, 24 } # endif # ifndef OLED_TARGET_MAP -# define OLED_TARGET_MAP {24, 16, 8, 0} +# define OLED_TARGET_MAP \ + { 24, 16, 8, 0 } # endif #elif defined(OLED_DISPLAY_64X48) @@ -128,10 +132,12 @@ along with this program. If not, see . # endif # ifndef OLED_SOURCE_MAP -# define OLED_SOURCE_MAP {0, 8} +# define OLED_SOURCE_MAP \ + { 0, 8 } # endif # ifndef OLED_TARGET_MAP -# define OLED_TARGET_MAP {8, 0} +# define OLED_TARGET_MAP \ + { 8, 0 } # endif #elif defined(OLED_DISPLAY_64X128) @@ -164,10 +170,12 @@ along with this program. If not, see . # endif # ifndef OLED_SOURCE_MAP -# define OLED_SOURCE_MAP {0, 8, 16, 24, 32, 40, 48, 56} +# define OLED_SOURCE_MAP \ + { 0, 8, 16, 24, 32, 40, 48, 56 } # endif # ifndef OLED_TARGET_MAP -# define OLED_TARGET_MAP {56, 48, 40, 32, 24, 16, 8, 0} +# define OLED_TARGET_MAP \ + { 56, 48, 40, 32, 24, 16, 8, 0 } # endif #elif defined(OLED_DISPLAY_128X128) @@ -200,10 +208,12 @@ along with this program. If not, see . // For 90 degree rotation, we map our internal matrix to oled matrix using fixed arrays // The OLED writes to it's memory horizontally, starting top left, but our memory starts bottom left in this mode # ifndef OLED_SOURCE_MAP -# define OLED_SOURCE_MAP {0, 8, 16, 24, 32, 40, 48, 56} +# define OLED_SOURCE_MAP \ + { 0, 8, 16, 24, 32, 40, 48, 56 } # endif # ifndef OLED_TARGET_MAP -# define OLED_TARGET_MAP {56, 48, 40, 32, 24, 16, 8, 0} +# define OLED_TARGET_MAP \ + { 56, 48, 40, 32, 24, 16, 8, 0 } # endif #else // defined(OLED_DISPLAY_128X64) // Default 128x32 @@ -232,10 +242,12 @@ along with this program. If not, see . // For 90 degree rotation, we map our internal matrix to oled matrix using fixed arrays // The OLED writes to it's memory horizontally, starting top left, but our memory starts bottom left in this mode # ifndef OLED_SOURCE_MAP -# define OLED_SOURCE_MAP {0, 8, 16, 24} +# define OLED_SOURCE_MAP \ + { 0, 8, 16, 24 } # endif # ifndef OLED_TARGET_MAP -# define OLED_TARGET_MAP {24, 16, 8, 0} +# define OLED_TARGET_MAP \ + { 24, 16, 8, 0 } # endif // If OLED_BLOCK_TYPE is uint8_t, these tables would look like: // #define OLED_SOURCE_MAP { 0, 8, 16, 24, 32, 40, 48, 56 } diff --git a/drivers/painter/comms/qp_comms_i2c.c b/drivers/painter/comms/qp_comms_i2c.c index f4b8fd833e..f093c87ee4 100644 --- a/drivers/painter/comms/qp_comms_i2c.c +++ b/drivers/painter/comms/qp_comms_i2c.c @@ -10,7 +10,7 @@ // Helpers static uint32_t qp_comms_i2c_send_raw(painter_device_t device, const void *data, uint32_t byte_count) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; qp_comms_i2c_config_t *comms_config = (qp_comms_i2c_config_t *)driver->comms_config; i2c_status_t res = i2c_transmit(comms_config->chip_address << 1, data, byte_count, I2C_TIMEOUT); if (res < 0) { diff --git a/drivers/painter/comms/qp_comms_spi.c b/drivers/painter/comms/qp_comms_spi.c index 6227d7d656..31b68dfdf6 100644 --- a/drivers/painter/comms/qp_comms_spi.c +++ b/drivers/painter/comms/qp_comms_spi.c @@ -10,7 +10,7 @@ // Base SPI support bool qp_comms_spi_init(painter_device_t device) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_config_t *comms_config = (qp_comms_spi_config_t *)driver->comms_config; // Initialize the SPI peripheral @@ -24,7 +24,7 @@ bool qp_comms_spi_init(painter_device_t device) { } bool qp_comms_spi_start(painter_device_t device) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_config_t *comms_config = (qp_comms_spi_config_t *)driver->comms_config; return spi_start(comms_config->chip_select_pin, comms_config->lsb_first, comms_config->mode, comms_config->divisor); @@ -36,7 +36,7 @@ uint32_t qp_comms_spi_send_data(painter_device_t device, const void *data, uint3 const uint32_t max_msg_length = 1024; while (bytes_remaining > 0) { - uint32_t bytes_this_loop = MIN(bytes_remaining, max_msg_length); + uint32_t bytes_this_loop = QP_MIN(bytes_remaining, max_msg_length); spi_transmit(p, bytes_this_loop); p += bytes_this_loop; bytes_remaining -= bytes_this_loop; @@ -46,7 +46,7 @@ uint32_t qp_comms_spi_send_data(painter_device_t device, const void *data, uint3 } bool qp_comms_spi_stop(painter_device_t device) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_config_t *comms_config = (qp_comms_spi_config_t *)driver->comms_config; spi_stop(); gpio_write_pin_high(comms_config->chip_select_pin); @@ -70,7 +70,7 @@ bool qp_comms_spi_dc_reset_init(painter_device_t device) { return false; } - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config; // Set up D/C as output low, if specified @@ -92,14 +92,14 @@ bool qp_comms_spi_dc_reset_init(painter_device_t device) { } uint32_t qp_comms_spi_dc_reset_send_data(painter_device_t device, const void *data, uint32_t byte_count) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config; gpio_write_pin_high(comms_config->dc_pin); return qp_comms_spi_send_data(device, data, byte_count); } bool qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config; gpio_write_pin_low(comms_config->dc_pin); spi_write(cmd); @@ -107,7 +107,7 @@ bool qp_comms_spi_dc_reset_send_command(painter_device_t device, uint8_t cmd) { } bool qp_comms_spi_dc_reset_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config; for (size_t i = 0; i < sequence_len;) { uint8_t command = sequence[i]; diff --git a/drivers/painter/generic/qp_surface.h b/drivers/painter/generic/qp_surface.h index f602a8770b..a291793649 100644 --- a/drivers/painter/generic/qp_surface.h +++ b/drivers/painter/generic/qp_surface.h @@ -50,16 +50,6 @@ painter_device_t qp_make_rgb565_surface(uint16_t panel_width, uint16_t panel_hei */ painter_device_t qp_make_mono1bpp_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); -/** - * Factory method for an RGB888 surface (aka framebuffer). - * - * @param panel_width[in] the width of the display panel - * @param panel_height[in] the height of the display panel - * @param buffer[in] pointer to a preallocated uint8_t buffer of size `SURFACE_REQUIRED_BUFFER_BYTE_SIZE(panel_width, panel_height, 16)` - * @return the device handle used with all drawing routines in Quantum Painter - */ -painter_device_t qp_make_rgb888_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); - /** * Helper method to draw the contents of the framebuffer to the target device. * diff --git a/drivers/painter/generic/qp_surface_common.c b/drivers/painter/generic/qp_surface_common.c index 5eb84616e6..2da96c73ac 100644 --- a/drivers/painter/generic/qp_surface_common.c +++ b/drivers/painter/generic/qp_surface_common.c @@ -53,7 +53,7 @@ void qp_surface_update_dirty(surface_dirty_data_t *dirty, uint16_t x, uint16_t y // Driver vtable bool qp_surface_init(painter_device_t device, painter_rotation_t rotation) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; surface_painter_device_t *surface = (surface_painter_device_t *)driver; memset(surface->buffer, 0, SURFACE_REQUIRED_BUFFER_BYTE_SIZE(driver->panel_width, driver->panel_height, driver->native_bits_per_pixel)); @@ -78,7 +78,7 @@ bool qp_surface_clear(painter_device_t device) { } bool qp_surface_flush(painter_device_t device) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; surface_painter_device_t *surface = (surface_painter_device_t *)driver; surface->dirty.l = surface->dirty.t = UINT16_MAX; surface->dirty.r = surface->dirty.b = 0; @@ -87,7 +87,7 @@ bool qp_surface_flush(painter_device_t device) { } bool qp_surface_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; surface_painter_device_t *surface = (surface_painter_device_t *)driver; // Set the viewport locations @@ -106,9 +106,9 @@ bool qp_surface_viewport(painter_device_t device, uint16_t left, uint16_t top, u // Drawing routine to copy out the dirty region and send it to another device bool qp_surface_draw(painter_device_t surface, painter_device_t target, uint16_t x, uint16_t y, bool entire_surface) { - painter_driver_t *surface_driver = (painter_driver_t *)surface; + painter_driver_t * surface_driver = (painter_driver_t *)surface; surface_painter_device_t *surface_handle = (surface_painter_device_t *)surface_driver; - painter_driver_t *target_driver = (painter_driver_t *)target; + painter_driver_t * target_driver = (painter_driver_t *)target; // If we're not dirty... we're done. if (!surface_handle->dirty.is_dirty) { diff --git a/drivers/painter/generic/qp_surface_internal.h b/drivers/painter/generic/qp_surface_internal.h index 0b4d32fa34..71f82e924d 100644 --- a/drivers/painter/generic/qp_surface_internal.h +++ b/drivers/painter/generic/qp_surface_internal.h @@ -42,10 +42,9 @@ typedef struct surface_painter_device_t { // The target buffer union { - void *buffer; - uint8_t *u8buffer; + void * buffer; + uint8_t * u8buffer; uint16_t *u16buffer; - rgb_t *rgbbuffer; }; // Manually manage the viewport for streaming pixel data to the display diff --git a/drivers/painter/generic/qp_surface_mono1bpp.c b/drivers/painter/generic/qp_surface_mono1bpp.c index e8011163e4..c66b56519d 100644 --- a/drivers/painter/generic/qp_surface_mono1bpp.c +++ b/drivers/painter/generic/qp_surface_mono1bpp.c @@ -55,7 +55,7 @@ static inline void stream_pixdata_mono1bpp(surface_painter_device_t *surface, co // Stream pixel data to the current write position in GRAM static bool qp_surface_pixdata_mono1bpp(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; surface_painter_device_t *surface = (surface_painter_device_t *)driver; stream_pixdata_mono1bpp(surface, (const uint8_t *)pixel_data, native_pixel_count); return true; diff --git a/drivers/painter/generic/qp_surface_rgb565.c b/drivers/painter/generic/qp_surface_rgb565.c index 8da63b14b3..c5b351311a 100644 --- a/drivers/painter/generic/qp_surface_rgb565.c +++ b/drivers/painter/generic/qp_surface_rgb565.c @@ -43,7 +43,7 @@ static inline void stream_pixdata_rgb565(surface_painter_device_t *surface, cons // Stream pixel data to the current write position in GRAM static bool qp_surface_pixdata_rgb565(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; surface_painter_device_t *surface = (surface_painter_device_t *)driver; stream_pixdata_rgb565(surface, (const uint16_t *)pixel_data, native_pixel_count); return true; @@ -52,7 +52,7 @@ static bool qp_surface_pixdata_rgb565(painter_device_t device, const void *pixel // Pixel colour conversion static bool qp_surface_palette_convert_rgb565_swapped(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { for (int16_t i = 0; i < palette_size; ++i) { - rgb_t rgb = hsv_to_rgb_nocie(palette[i].hsv888); + rgb_t rgb = hsv_to_rgb_nocie((hsv_t){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3); palette[i].rgb565 = __builtin_bswap16(rgb565); } diff --git a/drivers/painter/generic/qp_surface_rgb888.c b/drivers/painter/generic/qp_surface_rgb888.c deleted file mode 100644 index 2c04136c36..0000000000 --- a/drivers/painter/generic/qp_surface_rgb888.c +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright 2022 Nick Brassel (@tzarc) -// SPDX-License-Identifier: GPL-2.0-or-later - -#ifdef QUANTUM_PAINTER_SURFACE_ENABLE - -# include "color.h" -# include "qp_draw.h" -# include "qp_surface_internal.h" -# include "qp_comms_dummy.h" - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Surface driver impl: rgb888 - -static inline void setpixel_rgb888(surface_painter_device_t *surface, uint16_t x, uint16_t y, rgb_t rgb888) { - uint16_t w = surface->base.panel_width; - uint16_t h = surface->base.panel_height; - - // Drop out if it's off-screen - if (x >= w || y >= h) { - return; - } - - // Skip messing with the dirty info if the original value already matches - if (memcmp(&surface->rgbbuffer[y * w + x], &rgb888, sizeof(rgb_t)) != 0) { - // Update the dirty region - qp_surface_update_dirty(&surface->dirty, x, y); - - // Update the pixel data in the buffer - surface->rgbbuffer[y * w + x] = rgb888; - } -} - -static inline void append_pixel_rgb888(surface_painter_device_t *surface, rgb_t rgb888) { - setpixel_rgb888(surface, surface->viewport.pixdata_x, surface->viewport.pixdata_y, rgb888); - qp_surface_increment_pixdata_location(&surface->viewport); -} - -static inline void stream_pixdata_rgb888(surface_painter_device_t *surface, const rgb_t *data, uint32_t native_pixel_count) { - for (uint32_t pixel_counter = 0; pixel_counter < native_pixel_count; ++pixel_counter) { - append_pixel_rgb888(surface, data[pixel_counter]); - } -} - -// Stream pixel data to the current write position in GRAM -static bool qp_surface_pixdata_rgb888(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count) { - painter_driver_t *driver = (painter_driver_t *)device; - surface_painter_device_t *surface = (surface_painter_device_t *)driver; - stream_pixdata_rgb888(surface, (const rgb_t *)pixel_data, native_pixel_count); - return true; -} - -// Pixel colour conversion -static bool qp_surface_palette_convert_rgb888(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { - for (int16_t i = 0; i < palette_size; ++i) { - palette[i].rgb888 = hsv_to_rgb_nocie(palette[i].hsv888); - } - return true; -} - -// Append pixels to the target location, keyed by the pixel index -static bool qp_surface_append_pixels_rgb888(painter_device_t device, uint8_t *target_buffer, qp_pixel_t *palette, uint32_t pixel_offset, uint32_t pixel_count, uint8_t *palette_indices) { - rgb_t *buf = (rgb_t *)target_buffer; - for (uint32_t i = 0; i < pixel_count; ++i) { - buf[pixel_offset + i] = palette[palette_indices[i]].rgb888; - } - return true; -} - -static bool rgb888_target_pixdata_transfer(painter_driver_t *surface_driver, painter_driver_t *target_driver, uint16_t x, uint16_t y, bool entire_surface) { - surface_painter_device_t *surface_handle = (surface_painter_device_t *)surface_driver; - - uint16_t l = entire_surface ? 0 : surface_handle->dirty.l; - uint16_t t = entire_surface ? 0 : surface_handle->dirty.t; - uint16_t r = entire_surface ? (surface_handle->base.panel_width - 1) : surface_handle->dirty.r; - uint16_t b = entire_surface ? (surface_handle->base.panel_height - 1) : surface_handle->dirty.b; - - // Set the target drawing area - bool ok = qp_viewport((painter_device_t)target_driver, x + l, y + t, x + r, y + b); - if (!ok) { - qp_dprintf("rgb888_target_pixdata_transfer: fail (could not set target viewport)\n"); - return false; - } - - // Housekeeping of the amount of pixels to transfer - uint32_t total_pixel_count = (8 * QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE) / surface_driver->native_bits_per_pixel; - uint32_t pixel_counter = 0; - rgb_t *target_buffer = (rgb_t *)qp_internal_global_pixdata_buffer; - - // Fill the global pixdata area so that we can start transferring to the panel - for (uint16_t y = t; y <= b; ++y) { - for (uint16_t x = l; x <= r; ++x) { - // Update the target buffer - target_buffer[pixel_counter++] = surface_handle->rgbbuffer[y * surface_handle->base.panel_width + x]; - - // If we've accumulated enough data, send it - if (pixel_counter == total_pixel_count) { - ok = qp_pixdata((painter_device_t)target_driver, qp_internal_global_pixdata_buffer, pixel_counter); - if (!ok) { - qp_dprintf("rgb888_target_pixdata_transfer: fail (could not stream pixdata to target)\n"); - return false; - } - // Reset the counter - pixel_counter = 0; - } - } - } - - // If there's any leftover data, send it - if (pixel_counter > 0) { - ok = qp_pixdata((painter_device_t)target_driver, qp_internal_global_pixdata_buffer, pixel_counter); - if (!ok) { - qp_dprintf("rgb888_target_pixdata_transfer: fail (could not stream pixdata to target)\n"); - return false; - } - } - - return true; -} - -static bool qp_surface_append_pixdata_rgb888(painter_device_t device, uint8_t *target_buffer, uint32_t pixdata_offset, uint8_t pixdata_byte) { - target_buffer[pixdata_offset] = pixdata_byte; - return true; -} - -const surface_painter_driver_vtable_t rgb888_surface_driver_vtable = { - .base = - { - .init = qp_surface_init, - .power = qp_surface_power, - .clear = qp_surface_clear, - .flush = qp_surface_flush, - .pixdata = qp_surface_pixdata_rgb888, - .viewport = qp_surface_viewport, - .palette_convert = qp_surface_palette_convert_rgb888, - .append_pixels = qp_surface_append_pixels_rgb888, - .append_pixdata = qp_surface_append_pixdata_rgb888, - }, - .target_pixdata_transfer = rgb888_target_pixdata_transfer, -}; - -SURFACE_FACTORY_FUNCTION_IMPL(qp_make_rgb888_surface, rgb888_surface_driver_vtable, 24); - -#endif // QUANTUM_PAINTER_SURFACE_ENABLE diff --git a/drivers/painter/ili9xxx/qp_ili9486.c b/drivers/painter/ili9xxx/qp_ili9486.c index 27fcd49873..df2d084aa3 100644 --- a/drivers/painter/ili9xxx/qp_ili9486.c +++ b/drivers/painter/ili9xxx/qp_ili9486.c @@ -72,7 +72,7 @@ bool qp_ili9486_init(painter_device_t device, painter_rotation_t rotation) { // waveshare variant needs some tweaks due to shift registers static bool qp_comms_spi_dc_reset_send_command_odd_cs_pulse(painter_device_t device, uint8_t cmd) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config; gpio_write_pin_low(comms_config->spi_config.chip_select_pin); @@ -83,7 +83,7 @@ static bool qp_comms_spi_dc_reset_send_command_odd_cs_pulse(painter_device_t dev } static uint32_t qp_comms_spi_send_data_odd_cs_pulse(painter_device_t device, const void *data, uint32_t byte_count) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config; uint32_t bytes_remaining = byte_count; @@ -92,7 +92,7 @@ static uint32_t qp_comms_spi_send_data_odd_cs_pulse(painter_device_t device, con gpio_write_pin_high(comms_config->dc_pin); while (bytes_remaining > 0) { - uint32_t bytes_this_loop = MIN(bytes_remaining, max_msg_length); + uint32_t bytes_this_loop = QP_MIN(bytes_remaining, max_msg_length); bool odd_bytes = bytes_this_loop & 1; // send data @@ -113,7 +113,7 @@ static uint32_t qp_comms_spi_send_data_odd_cs_pulse(painter_device_t device, con } static uint32_t qp_ili9486_send_data_toggling(painter_device_t device, const uint8_t *data, uint32_t byte_count) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; qp_comms_spi_dc_reset_config_t *comms_config = (qp_comms_spi_dc_reset_config_t *)driver->comms_config; uint32_t ret; @@ -147,7 +147,7 @@ static bool qp_comms_spi_send_command_sequence_odd_cs_pulse(painter_device_t dev } static bool qp_ili9486_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; tft_panel_dc_reset_painter_driver_vtable_t *vtable = (tft_panel_dc_reset_painter_driver_vtable_t *)driver->driver_vtable; // Fix up the drawing location if required diff --git a/drivers/painter/ld7032/qp_ld7032.c b/drivers/painter/ld7032/qp_ld7032.c index e0f3af5efb..d73430cc75 100644 --- a/drivers/painter/ld7032/qp_ld7032.c +++ b/drivers/painter/ld7032/qp_ld7032.c @@ -62,7 +62,7 @@ uint32_t ld7032_comms_i2c_send_command_and_databuf(painter_device_t device, uint // Power control bool qp_ld7032_power(painter_device_t device, bool power_on) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)driver->comms_vtable; comms_vtable->send_command_data(device, LD7032_DISP_ON_OFF, power_on ? 0x01 : 0x00); @@ -83,7 +83,7 @@ bool qp_ld7032_clear(painter_device_t device) { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void ld7032_flush_0(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer, bool inverted) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)driver->comms_vtable; int x_start = dirty->l >> 3; @@ -115,7 +115,7 @@ void ld7032_flush_0(painter_device_t device, surface_dirty_data_t *dirty, const } void ld7032_flush_90(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer, bool inverted) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)driver->comms_vtable; int x_start = dirty->t >> 3; @@ -252,7 +252,7 @@ __attribute__((weak)) bool qp_ld7032_init(painter_device_t device, painter_rotat break; } - painter_driver_t *pdriver = (painter_driver_t *)device; + painter_driver_t * pdriver = (painter_driver_t *)device; ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)pdriver->comms_vtable; if (!comms_vtable->send_command_data(device, LD7032_WRITE_DIRECTION, write_direction)) { diff --git a/drivers/painter/oled_panel/qp_oled_panel.c b/drivers/painter/oled_panel/qp_oled_panel.c index 4fd2c5bd80..eefee3f13f 100644 --- a/drivers/painter/oled_panel/qp_oled_panel.c +++ b/drivers/painter/oled_panel/qp_oled_panel.c @@ -12,7 +12,7 @@ // Power control bool qp_oled_panel_power(painter_device_t device, bool power_on) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; oled_panel_painter_driver_vtable_t *vtable = (oled_panel_painter_driver_vtable_t *)driver->driver_vtable; qp_comms_command(device, power_on ? vtable->opcodes.display_on : vtable->opcodes.display_off); return true; @@ -59,7 +59,7 @@ bool qp_oled_panel_passthru_append_pixdata(painter_device_t device, uint8_t *tar //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void qp_oled_panel_page_column_flush_rot0(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; oled_panel_painter_driver_vtable_t *vtable = (oled_panel_painter_driver_vtable_t *)driver->driver_vtable; // TODO: account for offset_x/y in base driver @@ -92,7 +92,7 @@ void qp_oled_panel_page_column_flush_rot0(painter_device_t device, surface_dirty } void qp_oled_panel_page_column_flush_rot90(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; oled_panel_painter_driver_vtable_t *vtable = (oled_panel_painter_driver_vtable_t *)driver->driver_vtable; // TODO: account for offset_x/y in base driver @@ -126,7 +126,7 @@ void qp_oled_panel_page_column_flush_rot90(painter_device_t device, surface_dirt } void qp_oled_panel_page_column_flush_rot180(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; oled_panel_painter_driver_vtable_t *vtable = (oled_panel_painter_driver_vtable_t *)driver->driver_vtable; // TODO: account for offset_x/y in base driver @@ -161,7 +161,7 @@ void qp_oled_panel_page_column_flush_rot180(painter_device_t device, surface_dir } void qp_oled_panel_page_column_flush_rot270(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; oled_panel_painter_driver_vtable_t *vtable = (oled_panel_painter_driver_vtable_t *)driver->driver_vtable; // TODO: account for offset_x/y in base driver diff --git a/drivers/painter/tft_panel/qp_tft_panel.c b/drivers/painter/tft_panel/qp_tft_panel.c index 3de0d62c72..c8e33343d4 100644 --- a/drivers/painter/tft_panel/qp_tft_panel.c +++ b/drivers/painter/tft_panel/qp_tft_panel.c @@ -12,7 +12,7 @@ // Power control bool qp_tft_panel_power(painter_device_t device, bool power_on) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; tft_panel_dc_reset_painter_driver_vtable_t *vtable = (tft_panel_dc_reset_painter_driver_vtable_t *)driver->driver_vtable; qp_comms_command(device, power_on ? vtable->opcodes.display_on : vtable->opcodes.display_off); return true; @@ -33,7 +33,7 @@ bool qp_tft_panel_flush(painter_device_t device) { // Viewport to draw to bool qp_tft_panel_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; tft_panel_dc_reset_painter_driver_vtable_t *vtable = (tft_panel_dc_reset_painter_driver_vtable_t *)driver->driver_vtable; // Fix up the drawing location if required @@ -90,7 +90,7 @@ bool qp_tft_panel_pixdata(painter_device_t device, const void *pixel_data, uint3 bool qp_tft_panel_palette_convert_rgb565_swapped(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { for (int16_t i = 0; i < palette_size; ++i) { - rgb_t rgb = hsv_to_rgb_nocie(palette[i].hsv888); + rgb_t rgb = hsv_to_rgb_nocie((hsv_t){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3); palette[i].rgb565 = __builtin_bswap16(rgb565); } @@ -99,7 +99,10 @@ bool qp_tft_panel_palette_convert_rgb565_swapped(painter_device_t device, int16_ bool qp_tft_panel_palette_convert_rgb888(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { for (int16_t i = 0; i < palette_size; ++i) { - palette[i].rgb888 = hsv_to_rgb_nocie(palette[i].hsv888); + rgb_t rgb = hsv_to_rgb_nocie((hsv_t){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); + palette[i].rgb888.r = rgb.r; + palette[i].rgb888.g = rgb.g; + palette[i].rgb888.b = rgb.b; } return true; } diff --git a/drivers/ps2/ps2_mouse.c b/drivers/ps2/ps2_mouse.c index 65a8a4f4d0..ef1a0e26f9 100644 --- a/drivers/ps2/ps2_mouse.c +++ b/drivers/ps2/ps2_mouse.c @@ -97,11 +97,12 @@ void ps2_mouse_task(void) { mouse_report.x = ps2_host_recv_response(); mouse_report.y = ps2_host_recv_response(); # ifdef PS2_MOUSE_ENABLE_SCROLLING - mouse_report.v = -(ps2_host_recv_response() & PS2_MOUSE_SCROLL_MASK); + mouse_report.v = -(ps2_host_recv_response() & PS2_MOUSE_SCROLL_MASK); # endif } else { if (debug_mouse) print("ps2_mouse: fail to get mouse packet\n"); - // Continue processing anyway to ensure mouse button state is still updated + /* return here to avoid updating the mouse button state */ + return; } #endif diff --git a/drivers/sensors/cirque_pinnacle.c b/drivers/sensors/cirque_pinnacle.c index 113f1231e3..45072ae874 100644 --- a/drivers/sensors/cirque_pinnacle.c +++ b/drivers/sensors/cirque_pinnacle.c @@ -477,9 +477,9 @@ report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) { if (touchData.valid) { mouse_report.buttons = touchData.buttons; - mouse_report.x = CONSTRAIN_HID_XY(touchData.xDelta); - mouse_report.y = CONSTRAIN_HID_XY(touchData.yDelta); - mouse_report.v = touchData.wheelCount; + mouse_report.x = CONSTRAIN_HID_XY(touchData.xDelta); + mouse_report.y = CONSTRAIN_HID_XY(touchData.yDelta); + mouse_report.v = touchData.wheelCount; } return mouse_report; } diff --git a/drivers/sensors/paw3222.c b/drivers/sensors/paw3222.c deleted file mode 100644 index 57f89a12d6..0000000000 --- a/drivers/sensors/paw3222.c +++ /dev/null @@ -1,174 +0,0 @@ -/* Copyright 2024 Colin Lam (Ploopy Corporation) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "paw3222.h" -#include "wait.h" -#include "gpio.h" -#include "spi_master.h" -#include "pointing_device_internal.h" - -#define MSB1 0x80 -#define MSB0 0x7F - -const pointing_device_driver_t paw3222_pointing_device_driver = { - .init = paw3222_init, - .get_report = paw3222_get_report, - .set_cpi = paw3222_set_cpi, - .get_cpi = paw3222_get_cpi, -}; - -// Convert a 12-bit twos complement binary-represented number into a -// signed 12-bit integer. -static int16_t convert_twoscomp_12(uint16_t data) { - if ((data & 0x800) == 0x800) - return -2048 + (data & 0x7FF); - else - return data; -} - -void paw3222_write(uint8_t reg_addr, uint8_t data) { - spi_start(PAW3222_CS_PIN, false, 3, PAW3222_SPI_DIVISOR); - wait_us(1); // Tncs_lead - spi_write(reg_addr | MSB1); - spi_write(data); - wait_us(1); // Tncs_lag - spi_stop(); -} - -uint8_t paw3222_read(uint8_t reg_addr) { - spi_start(PAW3222_CS_PIN, false, 3, PAW3222_SPI_DIVISOR); - wait_us(1); // Tncs_lead - spi_write(reg_addr & MSB0); - wait_us(10); // Tprep_rd - uint8_t data = spi_read(); - wait_us(1); // Tncs_lag - spi_stop(); - - return data; -} - -bool paw3222_init(void) { - gpio_set_pin_output(PAW3222_CS_PIN); - - // CS must be kept low at power-up stage for at least 1ms - gpio_write_pin_low(PAW3222_CS_PIN); - wait_ms(10); - gpio_write_pin_high(PAW3222_CS_PIN); - - spi_init(); - - // reboot - paw3222_write(0x06, 0x80); - wait_ms(50); - - if (!paw3222_check_signature()) { - return false; - } - - // initialize - paw3222_write(0x09, 0x5A); - paw3222_write(0x0D, 0x23); - paw3222_write(0x0E, 0x24); - paw3222_write(0x19, 0x1C); - paw3222_write(0x05, 0xA1); - paw3222_write(0x2B, 0x6D); - paw3222_write(0x30, 0x2E); - paw3222_write(0x5C, 0xDF); - paw3222_write(0x7F, 0x01); - paw3222_write(0x06, 0x14); - paw3222_write(0x31, 0x25); - paw3222_write(0x34, 0xC4); - paw3222_write(0x36, 0xCC); - paw3222_write(0x37, 0x42); - paw3222_write(0x38, 0x01); - paw3222_write(0x3A, 0x76); - paw3222_write(0x3B, 0x34); - paw3222_write(0x42, 0x39); - paw3222_write(0x43, 0xF2); - paw3222_write(0x44, 0x39); - paw3222_write(0x45, 0xF0); - paw3222_write(0x46, 0x12); - paw3222_write(0x47, 0x39); - paw3222_write(0x48, 0xE3); - paw3222_write(0x49, 0x48); - paw3222_write(0x4A, 0xD3); - paw3222_write(0x4B, 0x98); - paw3222_write(0x64, 0x46); - paw3222_write(0x71, 0x28); - paw3222_write(0x72, 0x28); - paw3222_write(0x7F, 0x00); - paw3222_write(0x09, 0x00); - - // read a burst, then discard - paw3222_read_burst(); - - return true; -} - -report_paw3222_t paw3222_read_burst(void) { - report_paw3222_t report = {0}; - - uint8_t motion = paw3222_read(0x02); - if ((motion & MSB1) == MSB1) { - // Motion detected - uint16_t dx = (uint16_t)paw3222_read(0x03); - uint16_t dy = (uint16_t)paw3222_read(0x04); - uint16_t dxy_hi = (uint16_t)paw3222_read(0x12); - - dx = dx | ((dxy_hi & 0xF0) << 4); - dy = dy | ((dxy_hi & 0x0F) << 8); - - report.dx = convert_twoscomp_12(dx); - report.dy = convert_twoscomp_12(dy); - } - - return report; -} - -void paw3222_set_cpi(uint16_t cpi) { - uint16_t cpival = (cpi) < (480) ? (480) : ((cpi) > (4020) ? (4020) : (cpi)); - uint8_t cpival_x = (cpival + (30 / 2)) / 30; - uint8_t cpival_y = (cpival + (29 / 2)) / 29; - - paw3222_write(0x09, 0x5A); - paw3222_write(0x0D, cpival_x); - paw3222_write(0x0E, cpival_y); - paw3222_write(0x09, 0x00); -} - -uint16_t paw3222_get_cpi(void) { - uint8_t cpival = paw3222_read(0x0D); - return (uint16_t)(cpival * 30); -} - -report_mouse_t paw3222_get_report(report_mouse_t mouse_report) { - report_paw3222_t data = paw3222_read_burst(); - - if (data.dx != 0 || data.dy != 0) { - pd_dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy); - mouse_report.x = CONSTRAIN_HID_XY(data.dx); - mouse_report.y = CONSTRAIN_HID_XY(data.dy); - } - - return mouse_report; -} - -bool paw3222_check_signature(void) { - uint8_t checkval_1 = paw3222_read(0x00); - uint8_t checkval_2 = paw3222_read(0x01); - - return (checkval_1 == 0x30 && checkval_2 == 0x02); -} diff --git a/drivers/sensors/paw3222.h b/drivers/sensors/paw3222.h deleted file mode 100644 index 8dbf6a38bb..0000000000 --- a/drivers/sensors/paw3222.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2024 Colin Lam (Ploopy Corporation) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include -#include -#include "pointing_device.h" - -#ifndef PAW3222_CS_PIN -# ifdef POINTING_DEVICE_CS_PIN -# define PAW3222_CS_PIN POINTING_DEVICE_CS_PIN -# else -# error "No chip select pin defined -- missing POINTING_DEVICE_CS_PIN or PAW3222_CS_PIN define" -# endif -#endif - -#ifndef PAW3222_SPI_DIVISOR -# error "No PAW3222 SPI divisor defined -- missing PAW3222_SPI_DIVISOR" -#endif - -typedef struct { - int16_t dx; - int16_t dy; -} report_paw3222_t; - -extern const pointing_device_driver_t paw3222_pointing_device_driver; - -bool paw3222_init(void); -report_paw3222_t paw3222_read_burst(void); -void paw3222_set_cpi(uint16_t cpi); -uint16_t paw3222_get_cpi(void); -report_mouse_t paw3222_get_report(report_mouse_t mouse_report); -bool paw3222_check_signature(void); diff --git a/drivers/sensors/pmw3320.c b/drivers/sensors/pmw3320.c index 22fb5a2b9f..db74540ec1 100644 --- a/drivers/sensors/pmw3320.c +++ b/drivers/sensors/pmw3320.c @@ -23,7 +23,7 @@ #include "gpio.h" #include "pointing_device_internal.h" -const pointing_device_driver_t pmw3320_pointing_device_driver = { +const pointing_device_driver_t pmw3320_pointing_device_drivera = { .init = pmw3320_init, .get_report = pmw3320_get_report, .set_cpi = pmw3320_set_cpi, diff --git a/drivers/sensors/pmw3325.c b/drivers/sensors/pmw3325.c deleted file mode 100644 index 96f2288824..0000000000 --- a/drivers/sensors/pmw3325.c +++ /dev/null @@ -1,173 +0,0 @@ -// Copyright 2024 Colin Lam (Ploopy Corporation) -// Copyright 2026 HorrorTroll -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "pmw3325.h" -#include "wait.h" -#include "gpio.h" -#include "spi_master.h" -#include "pointing_device_internal.h" - -#define MSB1 0x80 -#define MSB0 0x7F - -const pointing_device_driver_t pmw3325_pointing_device_driver = { - .init = pmw3325_init, - .get_report = pmw3325_get_report, - .set_cpi = pmw3325_set_cpi, - .get_cpi = pmw3325_get_cpi, -}; - -// Convert a 16-bit twos complement binary-represented number into a -// signed 16-bit integer. -static int16_t convert_twoscomp_16(uint8_t high, uint8_t low) { - uint16_t data = (high << 8) | low; - - if ((data & 0x8000) == 0x8000) { - return -32768 + (data & 0x7FFF); - } else { - return data; - } -} - -void pmw3325_write(uint8_t reg_addr, uint8_t data) { - spi_start(PMW3325_CS_PIN, false, 3, PMW3325_SPI_DIVISOR); - wait_us(1); // tNCS_SCLK - spi_write(reg_addr | MSB1); - wait_us(180); // tSRAD - spi_write(data); - wait_us(1); // tSCLK_NCS - spi_stop(); - wait_us(20); // tSRR -} - -uint8_t pmw3325_read(uint8_t reg_addr) { - spi_start(PMW3325_CS_PIN, false, 3, PMW3325_SPI_DIVISOR); - wait_us(1); // tNCS_SCLK - spi_write(reg_addr & MSB0); - wait_us(180); // tSRAD - uint8_t data = spi_read(); - wait_us(1); // tSCLK_NCS - spi_stop(); - wait_us(20); // tSRR - - return data; -} - -bool pmw3325_init(void) { - wait_ms(50); - gpio_set_pin_output(PMW3325_CS_PIN); - - // CS must be kept high at power-up stage for at least 1ms - gpio_write_pin_low(PMW3325_CS_PIN); - wait_ms(10); - gpio_write_pin_high(PMW3325_CS_PIN); - - spi_init(); - - // reboot - pmw3325_write(0x3A, 0x5A); - wait_ms(10); - - pmw3325_write(0x18, 0x39); - - if (!pmw3325_check_signature()) { - return false; - } - - // read a burst, then discard - pmw3325_read(0x02); - pmw3325_read(0x03); - pmw3325_read(0x04); - pmw3325_read(0x05); - pmw3325_read(0x06); - - // initialize - pmw3325_write(0x78, 0x80); - pmw3325_write(0x79, 0x80); - pmw3325_write(0x14, 0x80); - pmw3325_write(0x20, 0x40); - pmw3325_write(0x1A, 0x40); - pmw3325_write(0x47, 0x00); - pmw3325_write(0x48, 0x01); - pmw3325_write(0x60, 0x01); - pmw3325_write(0x69, 0x03); - pmw3325_write(0x1D, 0x90); - pmw3325_write(0x1B, 0x2E); - pmw3325_write(0x24, 0x05); - pmw3325_write(0x56, 0x00); - pmw3325_write(0x2C, 0x8A); - pmw3325_write(0x2D, 0x58); - pmw3325_write(0x40, 0x80); - pmw3325_write(0x7F, 0x01); - pmw3325_write(0x7A, 0x32); - pmw3325_write(0x6A, 0x93); - pmw3325_write(0x6B, 0x68); - pmw3325_write(0x6C, 0x71); - pmw3325_write(0x6D, 0x50); - pmw3325_write(0x7F, 0x00); - pmw3325_write(0x7F, 0x02); - pmw3325_write(0x29, 0x1C); - pmw3325_write(0x2A, 0x1A); - pmw3325_write(0x2B, 0x90); - pmw3325_write(0x40, 0x80); - pmw3325_write(0x7F, 0x00); - return true; -} - -report_pmw3325_t pmw3325_read_burst(void) { - report_pmw3325_t report = {0}; - - uint8_t motion = pmw3325_read(0x02); - if ((motion & MSB1) == MSB1) { - // Motion detected - uint8_t dx_l = pmw3325_read(0x03); - uint8_t dx_h = pmw3325_read(0x04); - uint8_t dy_l = pmw3325_read(0x05); - uint8_t dy_h = pmw3325_read(0x06); - - report.dx = convert_twoscomp_16(dx_h, dx_l); - report.dy = convert_twoscomp_16(dy_h, dy_l); - } - - return report; -} - -static const uint8_t pmw3325_cpi_lut[50] = {0x02, 0x04, 0x06, 0x08, 0x0B, 0x0D, 0x0F, 0x12, 0x14, 0x16, 0x19, 0x1B, 0x1D, 0x20, 0x22, 0x24, 0x27, 0x29, 0x2B, 0x2E, 0x30, 0x32, 0x34, 0x37, 0x39, 0x3B, 0x3E, 0x40, 0x42, 0x45, 0x47, 0x49, 0x4C, 0x4E, 0x50, 0x53, 0x55, 0x57, 0x5A, 0x5C, 0x5E, 0x61, 0x63, 0x65, 0x68, 0x6A, 0x6C, 0x6F, 0x71, 0x73}; - -void pmw3325_set_cpi(uint16_t cpi) { - uint8_t cpival = CONSTRAIN((cpi / PMW3325_CPI_STEP), (PMW3325_CPI_MIN / PMW3325_CPI_STEP), (PMW3325_CPI_MAX / PMW3325_CPI_STEP)) - 1U; - - pmw3325_write(0x1B, pmw3325_cpi_lut[cpival]); -} - -uint16_t pmw3325_get_cpi(void) { - uint8_t cpival = pmw3325_read(0x1B); - - for (uint8_t cpi = 0; cpi < 50; cpi++) { - if (pmw3325_cpi_lut[cpi] == cpival) { - return (cpi + 1) * PMW3325_CPI_STEP; - } - } - - return 0; -} - -report_mouse_t pmw3325_get_report(report_mouse_t mouse_report) { - report_pmw3325_t data = pmw3325_read_burst(); - - if (data.dx != 0 || data.dy != 0) { - pd_dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy); - mouse_report.x = CONSTRAIN_HID_XY(data.dx); - mouse_report.y = CONSTRAIN_HID_XY(data.dy); - } - - return mouse_report; -} - -bool pmw3325_check_signature(void) { - uint8_t checkval_1 = pmw3325_read(0x00); - uint8_t checkval_2 = pmw3325_read(0x3F); - - return (checkval_1 == 0x43 && checkval_2 == 0xBC); -} diff --git a/drivers/sensors/pmw3325.h b/drivers/sensors/pmw3325.h deleted file mode 100644 index 17a965aa19..0000000000 --- a/drivers/sensors/pmw3325.h +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2021 Colin Lam (Ploopy Corporation) -// Copyright 2026 HorrorTroll -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include -#include -#include "pointing_device.h" - -#ifndef PMW3325_CS_PIN -# ifdef POINTING_DEVICE_CS_PIN -# define PMW3325_CS_PIN POINTING_DEVICE_CS_PIN -# else -# error "No chip select pin defined -- missing POINTING_DEVICE_CS_PIN or PMW3325_CS_PIN define" -# endif -#endif - -#ifndef PMW3325_SPI_DIVISOR -# error "No PMW3325 SPI divisor defined -- missing PMW3325_SPI_DIVISOR" -#endif - -typedef struct { - int16_t dx; - int16_t dy; -} report_pmw3325_t; - -extern const pointing_device_driver_t pmw3325_pointing_device_driver; - -bool pmw3325_init(void); -report_pmw3325_t pmw3325_read_burst(void); -void pmw3325_set_cpi(uint16_t cpi); -uint16_t pmw3325_get_cpi(void); -report_mouse_t pmw3325_get_report(report_mouse_t mouse_report); -bool pmw3325_check_signature(void); - -#if !defined(PMW3325_CPI) -# define PMW3325_CPI 2000 -#endif - -#define PMW3325_CPI_MIN 100 -#define PMW3325_CPI_MAX 5000 -#define PMW3325_CPI_STEP 100 -#define CONSTRAIN(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt))) diff --git a/drivers/sensors/pmw33xx_common.h b/drivers/sensors/pmw33xx_common.h index 9433c7811f..ff890f49a9 100644 --- a/drivers/sensors/pmw33xx_common.h +++ b/drivers/sensors/pmw33xx_common.h @@ -72,12 +72,14 @@ STATIC_ASSERT(sizeof((pmw33xx_report_t){0}.motion) == 1, "pmw33xx_report_t.motio # ifndef PMW33XX_CS_PIN # ifdef POINTING_DEVICE_CS_PIN # define PMW33XX_CS_PIN POINTING_DEVICE_CS_PIN -# define PMW33XX_CS_PINS {PMW33XX_CS_PIN} +# define PMW33XX_CS_PINS \ + { PMW33XX_CS_PIN } # else # error "No chip select pin defined -- missing PMW33XX_CS_PIN or PMW33XX_CS_PINS" # endif # else -# define PMW33XX_CS_PINS {PMW33XX_CS_PIN} +# define PMW33XX_CS_PINS \ + { PMW33XX_CS_PIN } # endif #endif @@ -86,7 +88,8 @@ STATIC_ASSERT(sizeof((pmw33xx_report_t){0}.motion) == 1, "pmw33xx_report_t.motio # if !defined(PMW33XX_CS_PIN_RIGHT) # define PMW33XX_CS_PIN_RIGHT PMW33XX_CS_PIN # endif -# define PMW33XX_CS_PINS_RIGHT {PMW33XX_CS_PIN_RIGHT} +# define PMW33XX_CS_PINS_RIGHT \ + { PMW33XX_CS_PIN_RIGHT } #endif // Defines so the old variable names are swapped by the appropiate value on each half diff --git a/keyboards/0xc7/61key/keymaps/default/keymap.c b/keyboards/0xc7/61key/keymaps/default/keymap.c index 8fc3c57ac3..06e39c1baa 100644 --- a/keyboards/0xc7/61key/keymaps/default/keymap.c +++ b/keyboards/0xc7/61key/keymaps/default/keymap.c @@ -31,4 +31,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_DEL, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, QK_LOCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, C(A(KC_DEL)) ) -}; +}; \ No newline at end of file diff --git a/keyboards/0xcb/splaytoraid/32u4/keyboard.json b/keyboards/0xcb/splaytoraid/32u4/keyboard.json new file mode 100644 index 0000000000..7c3f0590a6 --- /dev/null +++ b/keyboards/0xcb/splaytoraid/32u4/keyboard.json @@ -0,0 +1,27 @@ +{ + "development_board": "promicro", + "bootloader": "qmk-dfu", + "matrix_pins": { + "cols": ["F5", "F6", "F7", "F4", "B3", "B1", "B2"], + "rows": ["D3", "D2", "D1", "D4", "D7", "E6", "B4", "C6"] + }, + "diode_direction": "COL2ROW", + "rgb_matrix": { + "animations": { + "band_sat": true, + "band_spiral_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "raindrops": true + } + }, + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B6"} + ] + }, + "ws2812": { + "pin": "D0" + } +} diff --git a/keyboards/0xcb/splaytoraid/keyboard.json b/keyboards/0xcb/splaytoraid/info.json similarity index 72% rename from keyboards/0xcb/splaytoraid/keyboard.json rename to keyboards/0xcb/splaytoraid/info.json index 457cc7a23a..8c32b0dc11 100644 --- a/keyboards/0xcb/splaytoraid/keyboard.json +++ b/keyboards/0xcb/splaytoraid/info.json @@ -2,58 +2,28 @@ "manufacturer": "Freya", "keyboard_name": "splaytoraid", "maintainer": "freya-irl", - "bootloader": "qmk-dfu", + "url": "https://github.com/freya-irl/splaytoraid40", + "usb": { + "device_version": "1.0.0", + "pid": "0xCB00", + "vid": "0x2004" + }, + "features": { + "extrakey": true, + "rgb_matrix": true, + "bootmagic": true, + "console": true, + "mousekey": true, + "nkro": true, + "encoder": true + }, "bootmagic": { "matrix": [1, 0] }, "build": { "lto": true }, - "development_board": "promicro", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "B5", "pin_b": "B6"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["F5", "F6", "F7", "F4", "B3", "B1", "B2"], - "rows": ["D3", "D2", "D1", "D4", "D7", "E6", "B4", "C6"] - }, "rgb_matrix": { - "animations": { - "band_sat": true, - "band_spiral_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "hue_breathing": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_moving_chevron": true, - "raindrops": true, - "solid_reactive": true, - "solid_reactive_simple": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, "default": { "animation": "breathing", "hue": 152, @@ -62,36 +32,27 @@ }, "driver": "ws2812", "layout": [ - {"matrix": [0, 2], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 20, "y": 0, "flags": 4}, - {"matrix": [7, 0], "x": 61, "y": 0, "flags": 4}, - {"matrix": [7, 1], "x": 163, "y": 0, "flags": 4}, - {"matrix": [5, 0], "x": 203, "y": 0, "flags": 4}, - {"matrix": [4, 2], "x": 224, "y": 0, "flags": 4}, - {"matrix": [6, 2], "x": 0, "y": 21, "flags": 4}, - {"matrix": [6, 1], "x": 224, "y": 21, "flags": 4}, - {"matrix": [3, 3], "x": 20, "y": 43, "flags": 4}, - {"matrix": [7, 3], "x": 61, "y": 43, "flags": 4}, - {"matrix": [6, 4], "x": 163, "y": 43, "flags": 4}, - {"matrix": [6, 3], "x": 203, "y": 43, "flags": 4}, - {"matrix": [4, 3], "x": 61, "y": 64, "flags": 4}, - {"matrix": [5, 5], "x": 81, "y": 64, "flags": 4}, - {"matrix": [7, 4], "x": 101, "y": 64, "flags": 4}, - {"matrix": [7, 5], "x": 122, "y": 64, "flags": 4}, - {"matrix": [1, 5], "x": 142, "y": 64, "flags": 4}, - {"matrix": [0, 3], "x": 163, "y": 64, "flags": 4} + {"flags": 4, "matrix": [0, 2], "x": 0, "y": 0}, + {"flags": 4, "matrix": [1, 0], "x": 20, "y": 0}, + {"flags": 4, "matrix": [7, 0], "x": 61, "y": 0}, + {"flags": 4, "matrix": [7, 1], "x": 163, "y": 0}, + {"flags": 4, "matrix": [5, 0], "x": 203, "y": 0}, + {"flags": 4, "matrix": [4, 2], "x": 224, "y": 0}, + {"flags": 4, "matrix": [6, 2], "x": 0, "y": 21}, + {"flags": 4, "matrix": [6, 1], "x": 224, "y": 21}, + {"flags": 4, "matrix": [3, 3], "x": 20, "y": 43}, + {"flags": 4, "matrix": [7, 3], "x": 61, "y": 43}, + {"flags": 4, "matrix": [6, 4], "x": 163, "y": 43}, + {"flags": 4, "matrix": [6, 3], "x": 203, "y": 43}, + {"flags": 4, "matrix": [4, 3], "x": 61, "y": 64}, + {"flags": 4, "matrix": [5, 5], "x": 81, "y": 64}, + {"flags": 4, "matrix": [7, 4], "x": 101, "y": 64}, + {"flags": 4, "matrix": [7, 5], "x": 122, "y": 64}, + {"flags": 4, "matrix": [1, 5], "x": 142, "y": 64}, + {"flags": 4, "matrix": [0, 3], "x": 163, "y": 64} ], "max_brightness": 200 }, - "url": "https://github.com/freya-irl/splaytoraid40", - "usb": { - "device_version": "1.0.0", - "pid": "0xCB00", - "vid": "0x2004" - }, - "ws2812": { - "pin": "D0" - }, "layouts": { "LAYOUT_36": { "layout": [ diff --git a/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c b/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c new file mode 100644 index 0000000000..6a82f2ca74 --- /dev/null +++ b/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c @@ -0,0 +1,49 @@ +// Copyright 2023 Conor Burns (@Conor-Burns) +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_40( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LSFT, KC_ESC, KC_ENT, KC_MPLY, KC_SPC, KC_DEL, KC_RSFT + ), + + [_LOWER] = LAYOUT_40( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT_40( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT_40( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ) +}; + + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LOWER] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, + [_RAISE] = { ENCODER_CCW_CW(UG_VALD, UG_VALU) }, + [_ADJUST] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT) } +}; diff --git a/keyboards/0xcb/splaytoraid/keymaps/default/keymap.json b/keyboards/0xcb/splaytoraid/keymaps/default/keymap.json deleted file mode 100644 index 42bcaf28a1..0000000000 --- a/keyboards/0xcb/splaytoraid/keymaps/default/keymap.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "keyboard": "0xcb/splaytoraid", - "keymap": "default", - "config": { - "features": { - "encoder_map": true - } - }, - "layout": "LAYOUT_40", - "layers": [ - [ - "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", - "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", - "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", - "KC_LSFT", "KC_ESC", "KC_ENT", "KC_MPLY", "KC_SPC", "KC_DEL", "KC_RSFT" - ] - ], - "encoders": [ - [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}] - ] -} diff --git a/keyboards/alatus/keymaps/default/rules.mk b/keyboards/0xcb/splaytoraid/keymaps/default/rules.mk similarity index 100% rename from keyboards/alatus/keymaps/default/rules.mk rename to keyboards/0xcb/splaytoraid/keymaps/default/rules.mk diff --git a/keyboards/0xcb/splaytoraid/readme.md b/keyboards/0xcb/splaytoraid/readme.md index 4fe04c8abd..ab53696c95 100644 --- a/keyboards/0xcb/splaytoraid/readme.md +++ b/keyboards/0xcb/splaytoraid/readme.md @@ -11,10 +11,13 @@ A 40% ergonomic keyboard with a stacked acrylic case and RGB underglow. Make example for this keyboard (after setting up your build environment): make 0xcb/splaytoraid:default + make 0xcb/splaytoraid/32u4:default Flashing example for this keyboard: make 0xcb/splaytoraid:default:flash + make 0xcb/splaytoraid/32u4: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). @@ -26,4 +29,8 @@ Enter the bootloader in 3 ways: * **Physical reset button**: Press the button on the controller (Helios) for more than 500ms or just press it (Pluto) * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -When using an AVR microcontroller with this keyboard, the bootloader is configured to be QMK DFU for compatibility with [0xCB Pluto](https://github.com/0xCB-dev/0xCB-Pluto). If your microcontroller does not use this bootloader, ensure to set this parameter appropriately in your keymap's `rules.mk` file. +Please note that the default bootloader for the `32u4` version is QMK DFU, for compatibility with [0xCB Pluto](https://github.com/0xCB-dev/0xCB-Pluto). Generic Pro Micros often use a different bootloader, such as `caterina`. + +If the incorrect bootloader is specified, bootmagic reset and the `QK_BOOT` keycode will not work. + +To avoid this problem, set the correct bootloader in your custom keymap's `rules.mk` file before compiling, or flash using an appropriate target (ex: `make 0xcb/splaytoraid/32u4:default:avrdude`). See [flashing instructions and bootloader information](https://docs.qmk.fm/#/flashing) for more details. diff --git a/keyboards/0xcb/splaytoraid/rp2040_ce/keyboard.json b/keyboards/0xcb/splaytoraid/rp2040_ce/keyboard.json new file mode 100644 index 0000000000..b5a4f95c69 --- /dev/null +++ b/keyboards/0xcb/splaytoraid/rp2040_ce/keyboard.json @@ -0,0 +1,44 @@ +{ + "development_board": "promicro_rp2040", + "matrix_pins": { + "cols": ["GP28", "GP27", "GP26", "GP29", "GP20", "GP22", "GP23"], + "rows": ["GP0", "GP1", "GP2", "GP4", "GP6", "GP7", "GP8", "GP5"] + }, + "diode_direction": "COL2ROW", + "rgb_matrix": { + "animations": { + "band_sat": true, + "band_spiral_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "hue_breathing": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_moving_chevron": true, + "raindrops": true, + "solid_reactive": true, + "solid_reactive_simple": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + } + }, + "encoder": { + "rotary": [ + {"pin_a": "GP9", "pin_b": "GP21"} + ] + }, + "ws2812": { + "pin": "GP3", + "driver": "vendor" + } +} diff --git a/keyboards/0xcb/splaytoraid/rp2040_ce/readme.md b/keyboards/0xcb/splaytoraid/rp2040_ce/readme.md new file mode 100644 index 0000000000..f6ff200ac3 --- /dev/null +++ b/keyboards/0xcb/splaytoraid/rp2040_ce/readme.md @@ -0,0 +1,3 @@ +# rp2040_ce + +This folder is set as default in the parent rules.mk - it will build firmware compatible with the RP2040 Community Edition. See [here](https://docs.qmk.fm/#/platformdev_rp2040?id=rp2040_ce) for a list. diff --git a/keyboards/0xcb/tutelpad/keymaps/default/keymap.c b/keyboards/0xcb/tutelpad/keymaps/default/keymap.c index 708982c68c..513e7d9f33 100644 --- a/keyboards/0xcb/tutelpad/keymaps/default/keymap.c +++ b/keyboards/0xcb/tutelpad/keymaps/default/keymap.c @@ -26,4 +26,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8 ) -}; +}; \ No newline at end of file diff --git a/keyboards/0xcb/tutelpad/tutelpad.c b/keyboards/0xcb/tutelpad/tutelpad.c index 2e9fb4a0b8..36671d5bd1 100644 --- a/keyboards/0xcb/tutelpad/tutelpad.c +++ b/keyboards/0xcb/tutelpad/tutelpad.c @@ -103,4 +103,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/1upkeyboards/1upslider8/keymaps/default/rules.mk b/keyboards/1upkeyboards/1upslider8/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/1upkeyboards/1upslider8/keymaps/default/rules.mk +++ b/keyboards/1upkeyboards/1upslider8/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi40/config.h b/keyboards/1upkeyboards/pi40/config.h index c906bf30b1..627c0c5ddb 100644 --- a/keyboards/1upkeyboards/pi40/config.h +++ b/keyboards/1upkeyboards/pi40/config.h @@ -3,6 +3,7 @@ #pragma once +#define OLED_DISPLAY_128X32 #define I2C1_SCL_PIN GP17 #define I2C1_SDA_PIN GP16 #define I2C_DRIVER I2CD0 diff --git a/keyboards/1upkeyboards/pi40/halconf.h b/keyboards/1upkeyboards/pi40/halconf.h index a9ea8f9480..39fbe3e88c 100644 --- a/keyboards/1upkeyboards/pi40/halconf.h +++ b/keyboards/1upkeyboards/pi40/halconf.h @@ -4,4 +4,4 @@ #define HAL_USE_I2C TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi40/keymaps/default/rules.mk b/keyboards/1upkeyboards/pi40/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/1upkeyboards/pi40/keymaps/default/rules.mk +++ b/keyboards/1upkeyboards/pi40/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi40/mcuconf.h b/keyboards/1upkeyboards/pi40/mcuconf.h index 98b9a28ab4..df94cb0346 100644 --- a/keyboards/1upkeyboards/pi40/mcuconf.h +++ b/keyboards/1upkeyboards/pi40/mcuconf.h @@ -7,4 +7,4 @@ #undef RP_I2C_USE_I2C0 #undef RP_I2C_USE_I2C1 #define RP_I2C_USE_I2C0 TRUE -#define RP_I2C_USE_I2C1 FALSE +#define RP_I2C_USE_I2C1 FALSE \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi40/pi40.c b/keyboards/1upkeyboards/pi40/pi40.c index 20ef8a76cd..085f0da8f8 100644 --- a/keyboards/1upkeyboards/pi40/pi40.c +++ b/keyboards/1upkeyboards/pi40/pi40.c @@ -287,4 +287,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi50/grid/keyboard.json b/keyboards/1upkeyboards/pi50/grid/keyboard.json index 57f8ea241a..5b23f27277 100644 --- a/keyboards/1upkeyboards/pi50/grid/keyboard.json +++ b/keyboards/1upkeyboards/pi50/grid/keyboard.json @@ -139,4 +139,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi50/halconf.h b/keyboards/1upkeyboards/pi50/halconf.h index 4546b99f1c..d1bdcabdf1 100644 --- a/keyboards/1upkeyboards/pi50/halconf.h +++ b/keyboards/1upkeyboards/pi50/halconf.h @@ -4,4 +4,4 @@ #define HAL_USE_I2C TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi50/keymaps/default/rules.mk b/keyboards/1upkeyboards/pi50/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/1upkeyboards/pi50/keymaps/default/rules.mk +++ b/keyboards/1upkeyboards/pi50/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi50/mcuconf.h b/keyboards/1upkeyboards/pi50/mcuconf.h index 22ca8794dc..71e344bf24 100644 --- a/keyboards/1upkeyboards/pi50/mcuconf.h +++ b/keyboards/1upkeyboards/pi50/mcuconf.h @@ -7,4 +7,4 @@ #undef RP_I2C_USE_I2C0 #undef RP_I2C_USE_I2C1 #define RP_I2C_USE_I2C0 FALSE -#define RP_I2C_USE_I2C1 TRUE +#define RP_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi60/keymaps/default/rules.mk b/keyboards/1upkeyboards/pi60/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/1upkeyboards/pi60/keymaps/default/rules.mk +++ b/keyboards/1upkeyboards/pi60/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/1upkeyboards/readme.md b/keyboards/1upkeyboards/readme.md index d39565636e..de8ae36acb 100644 --- a/keyboards/1upkeyboards/readme.md +++ b/keyboards/1upkeyboards/readme.md @@ -4,4 +4,4 @@ Website: [1UP Keyboards](https://www.1upkeyboards.com/) Discord: [Server Invite](https://discordapp.com/invite/c6SYn8) -YouTube: [skiwithpete](https://www.youtube.com/user/skiwithpete) +YouTube: [skiwithpete](https://www.youtube.com/user/skiwithpete) \ No newline at end of file diff --git a/keyboards/1upkeyboards/super16/keyboard.json b/keyboards/1upkeyboards/super16/keyboard.json index bd8c8fe00d..3b5859474a 100644 --- a/keyboards/1upkeyboards/super16/keyboard.json +++ b/keyboards/1upkeyboards/super16/keyboard.json @@ -74,25 +74,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "ws2812", - "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, 3], "x": 224, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 150, "y": 21, "flags": 4}, - {"matrix": [1, 1], "x": 75, "y": 21, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 43, "flags": 4}, - {"matrix": [2, 1], "x": 75, "y": 43, "flags": 4}, - {"matrix": [2, 2], "x": 150, "y": 43, "flags": 4}, - {"matrix": [2, 3], "x": 224, "y": 43, "flags": 4}, - {"matrix": [3, 3], "x": 224, "y": 64, "flags": 4}, - {"matrix": [3, 2], "x": 150, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 75, "y": 64, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 4} - ] + "driver": "ws2812" }, "features": { "bootmagic": true, diff --git a/keyboards/1upkeyboards/super16/super16.c b/keyboards/1upkeyboards/super16/super16.c new file mode 100644 index 0000000000..a9946c7525 --- /dev/null +++ b/keyboards/1upkeyboards/super16/super16.c @@ -0,0 +1,39 @@ +/* Copyright 2019 MechMerlin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, 1, 2, 3 }, + { 7, 6, 5, 4 }, + { 8, 9, 10, 11 }, + { 15, 14, 13, 12 } +}, { + // LED Index to Physical Position + { 0, 0 }, { 75, 0 }, { 150, 0 }, { 224, 0 }, + { 224, 21 }, { 150, 21 }, { 75, 21 }, { 0, 21 }, + { 0, 43 }, { 75, 43 }, { 150, 43 }, { 224, 43 }, + { 224, 64 }, { 150, 64 }, { 75, 64 }, { 0, 64 }, + +}, { + // LED Index to Flag + 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 4 +} }; +#endif diff --git a/keyboards/1upkeyboards/super16v2/keyboard.json b/keyboards/1upkeyboards/super16v2/keyboard.json index 1fb14d86da..5c5123453c 100644 --- a/keyboards/1upkeyboards/super16v2/keyboard.json +++ b/keyboards/1upkeyboards/super16v2/keyboard.json @@ -46,28 +46,6 @@ "splash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 3], "x": 28, "y": 12, "flags": 4}, - {"matrix": [0, 2], "x": 84, "y": 12, "flags": 4}, - {"matrix": [0, 1], "x": 140, "y": 12, "flags": 4}, - {"matrix": [0, 0], "x": 196, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 28, "y": 28, "flags": 4}, - {"matrix": [1, 2], "x": 84, "y": 28, "flags": 4}, - {"matrix": [1, 1], "x": 140, "y": 28, "flags": 4}, - {"matrix": [1, 0], "x": 196, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 28, "y": 44, "flags": 4}, - {"matrix": [2, 2], "x": 84, "y": 44, "flags": 4}, - {"matrix": [2, 1], "x": 140, "y": 44, "flags": 4}, - {"matrix": [2, 0], "x": 196, "y": 44, "flags": 4}, - {"matrix": [3, 3], "x": 28, "y": 60, "flags": 4}, - {"matrix": [3, 2], "x": 84, "y": 60, "flags": 4}, - {"matrix": [3, 1], "x": 140, "y": 60, "flags": 4}, - {"matrix": [3, 0], "x": 196, "y": 60, "flags": 4}, - {"x": 168, "y": 48, "flags": 2}, - {"x": 168, "y": 16, "flags": 2}, - {"x": 58, "y": 16, "flags": 2}, - {"x": 56, "y": 48, "flags": 2} - ], "sleep": true }, "features": { diff --git a/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c b/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c index 408ea72ea6..ac30909566 100644 --- a/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c @@ -47,4 +47,4 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } return false; -} +} \ No newline at end of file diff --git a/keyboards/mode/m65v2/m65v2.c b/keyboards/1upkeyboards/super16v2/super16v2.c similarity index 51% rename from keyboards/mode/m65v2/m65v2.c rename to keyboards/1upkeyboards/super16v2/super16v2.c index 616a348846..56e5fe7e7f 100644 --- a/keyboards/mode/m65v2/m65v2.c +++ b/keyboards/1upkeyboards/super16v2/super16v2.c @@ -1,4 +1,4 @@ -/* Copyright 2025 Gondolindrim +/* Copyright 2022 MechMerlin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,18 +16,26 @@ #include "quantum.h" -void keyboard_post_init_kb(void) { - led_update_kb(host_keyboard_led_state()); - rgblight_set_effect_range(0, 34); - keyboard_post_init_user(); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - hsv_t current_color = rgblight_get_hsv(); - led_state.caps_lock ? rgblight_sethsv_at(current_color.h, current_color.s, current_color.v, 34) : rgblight_sethsv_at(HSV_OFF, 34); - led_state.caps_lock ? rgblight_sethsv_at(current_color.h, current_color.s, current_color.v, 35) : rgblight_sethsv_at(HSV_OFF, 35); - } - return res; -} +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 3, 2, 1, 0 }, + { 7, 6, 5, 4 }, + { 11, 10, 9, 8 }, + { 15, 14, 13, 12 } +}, { + // LED Index to Physical Position + { 28, 12 }, { 84, 12 }, { 140, 12 }, { 196, 12 }, + { 28, 28 }, { 84, 28 }, { 140, 28 }, { 196, 28 }, + { 28, 44 }, { 84, 44 }, { 140, 44 }, { 196, 44 }, + { 28, 60 }, { 84, 60 }, { 140, 60 }, { 196, 60 }, + { 168, 48 }, { 168, 16 }, { 58, 16 }, { 56, 48 } +}, { + // LED Index to Flag + 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 4, + 2, 2, 2, 2, +} }; +#endif diff --git a/keyboards/keenome_keys/the_grid_v2/keyboard.json b/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json similarity index 55% rename from keyboards/keenome_keys/the_grid_v2/keyboard.json rename to keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json index 69df3ea7f6..40a0ec4039 100644 --- a/keyboards/keenome_keys/the_grid_v2/keyboard.json +++ b/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json @@ -1,113 +1,125 @@ { - "manufacturer": "Keenome Keys", - "keyboard_name": "The Grid v2", - "maintainer": "Keenome Keys", + "manufacturer": "1upkeyboards", + "keyboard_name": "sweet16v2", + "url": "1upkeyboards.com/shop/keyboard-kits/macro-pads/sweet-16-v2-macropad-kit/", + "maintainer": "ziptyze", + "processor": "RP2040", "bootloader": "rp2040", + "board": "GENERIC_RP_RP2040", + "usb": { + "device_version": "1.0.0", + "pid": "0x5518", + "vid": "0x6F75" + }, "features": { "bootmagic": true, + "encoder": true, "extrakey": true, "mousekey": true, - "nkro": true, + "nkro": false, "rgb_matrix": true }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "ws2812": { + "pin": "GP6", + "driver": "vendor" + }, "matrix_pins": { - "direct": [ - ["GP25", "GP24", "GP23", "GP22"], - ["GP21", "GP20", "GP19", "GP18"], - ["GP17", "GP16", "GP15", "GP14"], - ["GP13", "GP12", "GP11", "GP10"] + "cols": ["GP2", "GP9", "GP8", "GP7"], + "rows": ["GP26", "GP1", "GP18", "GP5"] + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 10 + }, + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "GP27", "pin_b": "GP28"}, + {"pin_a": "GP4", "pin_b": "GP3"} ] }, - "processor": "RP2040", "rgb_matrix": { - "animations": { - "alpha_mods": true, + "animmations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, "band_pinwheel_sat": true, "band_pinwheel_val": true, - "band_sat": true, "band_spiral_sat": true, "band_spiral_val": true, - "band_val": true, - "breathing": true, "cycle_all": true, "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, "cycle_out_in": true, "cycle_out_in_dual": true, "cycle_pinwheel": true, "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, "dual_beacon": true, - "flower_blooming": true, - "gradient_left_right": true, - "gradient_up_down": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, "hue_breathing": true, "hue_pendulum": true, "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, + "pixel_rain": true, "pixel_flow": true, "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "riverflow": true, - "solid_multisplash": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, "solid_reactive_cross": true, "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, + "solid_reactive_multinexus": true, "splash": true, - "starlight": true, - "starlight_dual_hue": true, - "starlight_dual_sat": true, - "starlight_smooth": true, - "typing_heatmap": true - }, - "default": { - "animation": "cycle_spiral", - "speed": 32, - "val": 144 + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true }, "driver": "ws2812", "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 75, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 149, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 224, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 149, "y": 21, "flags": 4}, - {"matrix": [1, 1], "x": 75, "y": 21, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 43, "flags": 4}, - {"matrix": [2, 1], "x": 75, "y": 43, "flags": 4}, - {"matrix": [2, 2], "x": 149, "y": 43, "flags": 4}, - {"matrix": [2, 3], "x": 224, "y": 43, "flags": 4}, - {"matrix": [3, 3], "x": 224, "y": 64, "flags": 4}, - {"matrix": [3, 2], "x": 149, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 75, "y": 64, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 4} + {"flags": 4, "matrix": [0, 0], "x": 28, "y": 12}, + {"flags": 4, "matrix": [0, 1], "x": 84, "y": 12}, + {"flags": 4, "matrix": [0, 2], "x": 140, "y": 12}, + {"flags": 4, "matrix": [0, 3], "x": 196, "y": 12}, + {"flags": 2, "x": 196, "y": 17}, + {"flags": 4, "matrix": [1, 3], "x": 196, "y": 28}, + {"flags": 4, "matrix": [1, 2], "x": 140, "y": 28}, + {"flags": 4, "matrix": [1, 1], "x": 84, "y": 28}, + {"flags": 2, "x": 28, "y": 17}, + {"flags": 4, "matrix": [1, 0], "x": 28, "y": 28}, + {"flags": 4, "matrix": [2, 0], "x": 28, "y": 44}, + {"flags": 4, "matrix": [2, 1], "x": 84, "y": 44}, + {"flags": 4, "matrix": [2, 2], "x": 140, "y": 44}, + {"flags": 4, "matrix": [2, 3], "x": 196, "y": 44}, + {"flags": 2, "x": 196, "y": 47}, + {"flags": 4, "matrix": [3, 3], "x": 196, "y": 60}, + {"flags": 4, "matrix": [3, 2], "x": 140, "y": 60}, + {"flags": 4, "matrix": [3, 1], "x": 84, "y": 60}, + {"flags": 2, "x": 28, "y": 47}, + {"flags": 4, "matrix": [3, 0], "x": 28, "y": 60} ], "sleep": true }, - "usb": { - "device_version": "1.0.0", - "pid": "0x0001", - "vid": "0x6167" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP26" - }, + "community_layouts": [ + "ortho_4x4" + ], "layouts": { - "LAYOUT": { + "LAYOUT_ortho_4x4": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/soldered/macro_pad/keymaps/default/keymap.c b/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.c similarity index 57% rename from keyboards/soldered/macro_pad/keymaps/default/keymap.c rename to keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.c index 7dec49cd59..6ccf21e18f 100644 --- a/keyboards/soldered/macro_pad/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2025 Soldered Electronics +/* Copyright 2022 ziptyze * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,20 +16,26 @@ #include QMK_KEYBOARD_H -// Layer 0: media + utilities const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_MPRV, // Previous Track - KC_MNXT, // Next Track - KC_MUTE, // Mute / Unmute - encoder button - KC_MPLY, // Play / Pause - KC_CALC, // Launch Calculator - KC_MAIL // Launch Email client - ) + [0] = LAYOUT_ortho_4x4( + KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PSLS, + MO(1), KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_ortho_4x4( + RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, + RM_NEXT, RM_HUED, RM_SATD, RM_VALD, + RM_SPDD, RM_SPDU, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT + ) }; + #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(RM_VALD, RM_VALU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.json b/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.json deleted file mode 100644 index fd2a0dc766..0000000000 --- a/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "keyboard": "1upkeyboards/sweet16v2", - "keymap": "default", - "coonfig": { - "features": { - "encoder_map": true - } - }, - "layout": "LAYOUT_ortho_4x4", - "layers": [ - [ - "KC_P7", "KC_P8", "KC_P8", "KC_PMNS", - "KC_P4", "KC_P5", "KC_P6", "KC_PPLS", - "KC_P1", "KC_P2", "KC_P3", "KC_PSLS", - "MO(1)", "KC_P0", "KC_PDOT", "KC_PENT" - ], - [ - "RM_TOGG", "RM_HUEU", "RM_SATU", "RM_VALU", - "RM_NEXT", "RM_HUED", "RM_SATD", "RM_VALD", - "RM_SPDD", "RM_SPDU", "_______", "_______", - "_______", "_______", "_______", "QK_BOOT" - ] - ], - "encoders": [ - [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}, {"ccw": "RM_VALD", "cw": "RM_VALU"}], - [{"ccw": "_______", "cw": "_______"}, {"ccw": "_______", "cw": "_______"}] - ] -} diff --git a/keyboards/1upkeyboards/sweet16v2/keyboard.json b/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json similarity index 97% rename from keyboards/1upkeyboards/sweet16v2/keyboard.json rename to keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json index b84a43ff40..d8ff291e69 100644 --- a/keyboards/1upkeyboards/sweet16v2/keyboard.json +++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json @@ -3,7 +3,8 @@ "keyboard_name": "sweet16v2", "url": "1upkeyboards.com/shop/keyboard-kits/macro-pads/sweet-16-v2-macropad-kit/", "maintainer": "ziptyze", - "development_board": "elite_c", + "bootloader": "atmel-dfu", + "processor": "atmega32u4", "usb": { "device_version": "1.0.0", "pid": "0x5518", @@ -14,6 +15,7 @@ "encoder": true, "extrakey": true, "mousekey": true, + "nkro": false, "rgb_matrix": true }, "qmk": { @@ -34,6 +36,7 @@ "layer_count": 10 }, "encoder": { + "enabled": true, "rotary": [ {"pin_a": "F6", "pin_b": "F5"}, {"pin_a": "D4", "pin_b": "D0"} diff --git a/keyboards/1upkeyboards/sweet16v2/readme.md b/keyboards/1upkeyboards/sweet16v2/readme.md index eacaf0d0ce..e3f5859f96 100644 --- a/keyboards/1upkeyboards/sweet16v2/readme.md +++ b/keyboards/1upkeyboards/sweet16v2/readme.md @@ -1,18 +1,26 @@ # sweet16v2 -A 4x4 macropad with per-key RGB lighting and underglow. +A 4x4 macropad with RGB inswitch lighting and underglow. * Keyboard Maintainer: [ziptyze](https://github.com/ziptyze) * Hardware Supported: 1upkeyboards Sweet 16 v2 * Hardware Availability: [1upkeyboards](https://1upkeyboards.com/) -Make example for this keyboard (after setting up your build environment): +Make example for this keyboard using an atmel-based controller (after setting up your build environment): - make 1upkeyboards/sweet16v2:default + make 1upkeyboards/sweet16v2/promicro:default -Flashing example for this keyboard: +Flashing example for this keyboard using an atmel-based controller: - make 1upkeyboards/sweet16v2:default:flash + make 1upkeyboards/sweet16v2/promicro:default:flash + +Make example for this keyboard using an rp2040-based controller (after setting up your build environment): + + make 1upkeyboards/sweet16v2/kb2040:default + +Flashing example for this keyboard using an rp2040-based controller: + + make 1upkeyboards/sweet16v2/kb2040: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). @@ -22,10 +30,10 @@ Enter the bootloader in 3 ways for atmel-based controllers: * **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 +* **Keycode in layout**: Press the key mapped to `RESET` if it is available Enter the bootloader in 2 ways for rp2040-based controllers: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Bootsel button**: Hold the bootsel button on controller and plug in the keyboard +* **Bootsel button**: Hold the bootsel button on controller and plug in the keyboard \ No newline at end of file diff --git a/keyboards/30wer/readme.md b/keyboards/30wer/readme.md index 3759b0e2ce..c9184f726b 100644 --- a/keyboards/30wer/readme.md +++ b/keyboards/30wer/readme.md @@ -13,4 +13,4 @@ Make example for this keyboard (after setting up your build environment): make 30wer: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c index 4964f59217..0fe7cdc247 100644 --- a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c +++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c @@ -72,7 +72,14 @@ __attribute__((weak)) void trackball_check_click(bool pressed, report_mouse_t* m } } -bool process_record_user(uint16_t keycode, keyrecord_t* record) { +bool process_record_kb(uint16_t keycode, keyrecord_t* record) { + if (true) { + xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); + } + + + if (!process_record_user(keycode, record)) { return false; } + /* If Mousekeys is disabled, then use handle the mouse button * keycodes. This makes things simpler, and allows usage of * the keycodes in a consistent manner. But only do this if @@ -88,7 +95,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { } pointing_device_set_report(currentReport); pointing_device_send(); - return false; } #endif diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h index e06c1deb24..d85d4e60a9 100644 --- a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h +++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h @@ -32,4 +32,4 @@ void trackball_register_button(bool pressed, enum mouse_buttons button); float trackball_get_precision(void); void trackball_set_precision(float precision); bool trackball_is_scrolling(void); -void trackball_set_scrolling(bool scroll); +void trackball_set_scrolling(bool scroll); \ No newline at end of file diff --git a/keyboards/40percentclub/gherkin/info.json b/keyboards/40percentclub/gherkin/info.json new file mode 100644 index 0000000000..644001bc05 --- /dev/null +++ b/keyboards/40percentclub/gherkin/info.json @@ -0,0 +1,62 @@ +{ + "keyboard_name": "Gherkin", + "manufacturer": "40 Percent Club", + "maintainer": "qmk", + "usb": { + "vid": "0x4025", + "pid": "0x6060", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "nkro": true, + "backlight": true + }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "community_layouts": ["ortho_3x10"], + "layouts": { + "LAYOUT_ortho_3x10": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [1, 0], "x": 6, "y": 0}, + {"matrix": [1, 1], "x": 7, "y": 0}, + {"matrix": [1, 2], "x": 8, "y": 0}, + {"matrix": [1, 3], "x": 9, "y": 0}, + + {"matrix": [1, 4], "x": 0, "y": 1}, + {"matrix": [1, 5], "x": 1, "y": 1}, + {"matrix": [2, 0], "x": 2, "y": 1}, + {"matrix": [2, 1], "x": 3, "y": 1}, + {"matrix": [2, 2], "x": 4, "y": 1}, + {"matrix": [2, 3], "x": 5, "y": 1}, + {"matrix": [2, 4], "x": 6, "y": 1}, + {"matrix": [2, 5], "x": 7, "y": 1}, + {"matrix": [3, 0], "x": 8, "y": 1}, + {"matrix": [3, 1], "x": 9, "y": 1}, + + {"matrix": [3, 2], "x": 0, "y": 2}, + {"matrix": [3, 3], "x": 1, "y": 2}, + {"matrix": [3, 4], "x": 2, "y": 2}, + {"matrix": [3, 5], "x": 3, "y": 2}, + {"matrix": [4, 0], "x": 4, "y": 2}, + {"matrix": [4, 1], "x": 5, "y": 2}, + {"matrix": [4, 2], "x": 6, "y": 2}, + {"matrix": [4, 3], "x": 7, "y": 2}, + {"matrix": [4, 4], "x": 8, "y": 2}, + {"matrix": [4, 5], "x": 9, "y": 2} + ] + } + } +} diff --git a/keyboards/40percentclub/gherkin/kb2040/keyboard.json b/keyboards/40percentclub/gherkin/kb2040/keyboard.json new file mode 100644 index 0000000000..431ac371ee --- /dev/null +++ b/keyboards/40percentclub/gherkin/kb2040/keyboard.json @@ -0,0 +1,12 @@ +{ + "development_board": "kb2040", + "matrix_pins": { + "cols": ["GP8", "GP7", "GP6", "GP5", "GP4", "GP3"], + "rows": ["GP26", "GP18", "GP20", "GP19", "GP10"] + }, + "diode_direction": "COL2ROW", + "backlight": { + "pin": "GP9", + "driver": "software" + } +} diff --git a/keyboards/40percentclub/gherkin/kb2040/readme.md b/keyboards/40percentclub/gherkin/kb2040/readme.md new file mode 100644 index 0000000000..1fc9e8b18e --- /dev/null +++ b/keyboards/40percentclub/gherkin/kb2040/readme.md @@ -0,0 +1,22 @@ +# Gherkin + +![Gherkin](https://i.imgur.com/XrqqtTq.jpg) +![KB2040](https://cdn-shop.adafruit.com/640x480/5302-12.jpg) + +=== + +A 30 key keyboard with Adafruit's KB2040 as microcontroller. + +* [The original TMK firmware](https://github.com/di0ib/tmk_keyboard/tree/master/keyboard/gherkin) + +Keyboard Maintainer: QMK Community +Hardware Supported: Gherkin PCB & Adafruit KB2040 +Hardware Availability: [Gherkin project on 40% Keyboards](http://www.40percent.club/2016/11/gherkin.html) and [Adafruit KB2040](https://www.adafruit.com/product/5302) + +Make example for this keyboard (after setting up your build environment): + + make 40percentclub/gherkin/kb2040: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). + +Use the KB2040 microcontroller as a drop-in replacement for the Pro Micro in this cute 30% keyboard. diff --git a/keyboards/40percentclub/gherkin/keyboard.json b/keyboards/40percentclub/gherkin/keyboard.json deleted file mode 100644 index 1416997b47..0000000000 --- a/keyboards/40percentclub/gherkin/keyboard.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "manufacturer": "40 Percent Club", - "keyboard_name": "Gherkin", - "maintainer": "qmk", - "backlight": { - "pin": "B5" - }, - "development_board": "promicro", - "diode_direction": "COL2ROW", - "features": { - "backlight": true, - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "indicators": { - "caps_lock": "B0", - "num_lock": "D5", - "on_state": 0 - }, - "matrix_pins": { - "cols": ["B4", "E6", "D7", "C6", "D4", "D0"], - "rows": ["F7", "B1", "B3", "B2", "B6"] - }, - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x6060", - "vid": "0x4025" - }, - "community_layouts": ["ortho_3x10"], - "layouts": { - "LAYOUT_ortho_3x10": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [1, 0], "x": 6, "y": 0}, - {"matrix": [1, 1], "x": 7, "y": 0}, - {"matrix": [1, 2], "x": 8, "y": 0}, - {"matrix": [1, 3], "x": 9, "y": 0}, - {"matrix": [1, 4], "x": 0, "y": 1}, - {"matrix": [1, 5], "x": 1, "y": 1}, - {"matrix": [2, 0], "x": 2, "y": 1}, - {"matrix": [2, 1], "x": 3, "y": 1}, - {"matrix": [2, 2], "x": 4, "y": 1}, - {"matrix": [2, 3], "x": 5, "y": 1}, - {"matrix": [2, 4], "x": 6, "y": 1}, - {"matrix": [2, 5], "x": 7, "y": 1}, - {"matrix": [3, 0], "x": 8, "y": 1}, - {"matrix": [3, 1], "x": 9, "y": 1}, - {"matrix": [3, 2], "x": 0, "y": 2}, - {"matrix": [3, 3], "x": 1, "y": 2}, - {"matrix": [3, 4], "x": 2, "y": 2}, - {"matrix": [3, 5], "x": 3, "y": 2}, - {"matrix": [4, 0], "x": 4, "y": 2}, - {"matrix": [4, 1], "x": 5, "y": 2}, - {"matrix": [4, 2], "x": 6, "y": 2}, - {"matrix": [4, 3], "x": 7, "y": 2}, - {"matrix": [4, 4], "x": 8, "y": 2}, - {"matrix": [4, 5], "x": 9, "y": 2} - ] - } - } -} diff --git a/keyboards/40percentclub/gherkin/keymaps/default/keymap.c b/keyboards/40percentclub/gherkin/keymaps/default/keymap.c new file mode 100644 index 0000000000..8c28b68afa --- /dev/null +++ b/keyboards/40percentclub/gherkin/keymaps/default/keymap.c @@ -0,0 +1,52 @@ +#include QMK_KEYBOARD_H + +#define FN1_SPC LT(1, KC_SPC) +#define FN2_BSPC LT(2, KC_BSPC) +#define FN3_C LT(3, KC_C) +#define FN4_V LT(4, KC_V) +#define FN5_B LT(5, KC_B) +#define CTL_Z CTL_T(KC_Z) +#define ALT_X ALT_T(KC_X) +#define ALT_N ALGR_T(KC_N) +#define CTL_M RCTL_T(KC_M) +#define SFT_ENT RSFT_T(KC_ENT) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_ortho_3x10( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, + CTL_Z, ALT_X, FN3_C, FN4_V, FN2_BSPC,FN1_SPC, FN5_B, ALT_N, CTL_M, SFT_ENT + ), + + [1] = LAYOUT_ortho_3x10( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT_ortho_3x10( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, KC_GRV, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT_ortho_3x10( + _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + KC_TAB, _______, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN, KC_QUOT, + _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [4] = LAYOUT_ortho_3x10( + _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + KC_TAB, _______, _______, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_COLN, KC_DQUO, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END + ), + + [5] = LAYOUT_ortho_3x10( + KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, _______, _______, _______, _______, _______, KC_PSCR, + _______, _______, _______, _______, _______, _______, _______, _______, BL_DOWN, BL_UP, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/40percentclub/gherkin/keymaps/default/keymap.json b/keyboards/40percentclub/gherkin/keymaps/default/keymap.json deleted file mode 100644 index e81a6fd8f5..0000000000 --- a/keyboards/40percentclub/gherkin/keymaps/default/keymap.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "keyboard": "40percentclub/gherkin", - "keymap": "default", - "layout": "LAYOUT_ortho_3x10", - "layers": [ - [ - "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", - "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_ESC", - "CTL_T(KC_Z)", "ALT_T(KC_X)", "LT(3, KC_C)", "LT(4, KC_V)", "LT(2, KC_BSPC)", "LT(1, KC_SPC)", "LT(5, KC_B)", "ALGR_T(KC_N)", "RCTL_T(KC_M)", "RSFT_T(KC_ENT)" - ], - [ - "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", - "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", - "_______", "_______", "_______", "_______", "KC_DEL", "_______", "_______", "_______", "_______", "_______" - ], - [ - "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", - "KC_F11", "KC_F12", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "KC_GRV", - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" - ], - [ - "_______", "_______", "_______", "_______", "_______", "KC_MINS", "KC_EQL", "KC_LBRC", "KC_RBRC", "KC_BSLS", - "KC_TAB", "_______", "_______", "_______", "_______", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_SCLN", "KC_QUOT", - "_______", "_______", "_______", "_______", "_______", "_______", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RGHT" - ], - [ - "_______", "_______", "_______", "_______", "_______", "KC_UNDS", "KC_PLUS", "KC_LCBR", "KC_RCBR", "KC_PIPE", - "KC_TAB", "_______", "_______", "_______", "_______", "KC_LABK", "KC_RABK", "KC_QUES", "KC_COLN", "KC_DQUO", - "_______", "_______", "_______", "_______", "_______", "_______", "KC_HOME", "KC_PGDN", "KC_PGUP", "KC_END" - ], - [ - "KC_CALC", "KC_WHOM", "KC_MAIL", "KC_MYCM", "_______", "_______", "_______", "_______", "_______", "KC_PSCR", - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "BL_DOWN", "BL_UP", - "_______", "_______", "_______", "_______", "QK_BOOT", "_______", "_______", "_______", "_______", "_______" - ] - ] -} diff --git a/keyboards/40percentclub/gherkin/pro_micro/keyboard.json b/keyboards/40percentclub/gherkin/pro_micro/keyboard.json new file mode 100644 index 0000000000..882ea8f72b --- /dev/null +++ b/keyboards/40percentclub/gherkin/pro_micro/keyboard.json @@ -0,0 +1,16 @@ +{ + "development_board": "promicro", + "matrix_pins": { + "cols": ["B4", "E6", "D7", "C6", "D4", "D0"], + "rows": ["F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "COL2ROW", + "indicators": { + "num_lock": "D5", + "caps_lock": "B0", + "on_state": 0 + }, + "backlight": { + "pin": "B5" + } +} diff --git a/keyboards/40percentclub/gherkin/readme.md b/keyboards/40percentclub/gherkin/readme.md index 5ce4d173ca..7404f19819 100644 --- a/keyboards/40percentclub/gherkin/readme.md +++ b/keyboards/40percentclub/gherkin/readme.md @@ -1,27 +1,21 @@ # Gherkin ![Gherkin](https://i.imgur.com/XrqqtTq.jpg) +=== A 30 key keyboard. -* Keyboard Maintainer: QMK Community -* Hardware Supported: Gherkin PCB w/ Pro Micro compatible development board -* Hardware Availability: [Gherkin project on 40% Keyboards](http://www.40percent.club/2016/11/gherkin.html) +* [The original TMK firmware](https://github.com/di0ib/tmk_keyboard/tree/master/keyboard/gherkin) + +Keyboard Maintainer: QMK Community +Hardware Supported: Gherkin PCB +Hardware Availability: [Gherkin project on 40% Keyboards](http://www.40percent.club/2016/11/gherkin.html) Make example for this keyboard (after setting up your build environment): make 40percentclub/gherkin:default -Flashing example for this keyboard: - - make 40percentclub/gherkin: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**: Short the Ground and Reset pins on the microcontroller -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +First pass at adding support for the gherkin keyboard. Compiles but completely +untested. Intended to kick-start development. diff --git a/keyboards/40percentclub/ut47/led_controls.ino b/keyboards/40percentclub/ut47/LED_controls.ino similarity index 100% rename from keyboards/40percentclub/ut47/led_controls.ino rename to keyboards/40percentclub/ut47/LED_controls.ino diff --git a/keyboards/40percentclub/ut47/config.h b/keyboards/40percentclub/ut47/config.h new file mode 100644 index 0000000000..f0182a59f8 --- /dev/null +++ b/keyboards/40percentclub/ut47/config.h @@ -0,0 +1,32 @@ +/* +Copyright 2018 Carlos Filoteo + +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 + + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +#define MATRIX_ROW_PINS { D1, D0, D4, C6 } +#define MATRIX_COL_PINS { D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Enable GNAP matrix serial output */ +#define GNAP_ENABLE diff --git a/keyboards/40percentclub/ut47/keyboard.json b/keyboards/40percentclub/ut47/keyboard.json index 176d2a6b2d..00c8edef69 100644 --- a/keyboards/40percentclub/ut47/keyboard.json +++ b/keyboards/40percentclub/ut47/keyboard.json @@ -22,15 +22,6 @@ "resync": true } }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["D7", "E6", "B4", "B5", "B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"], - "rows": ["D1", "D0", "D4", "C6"] - }, - "keycodes": [ - {"key": "LED_TOG"}, - {"key": "LED_CHG"} - ], "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/40percentclub/ut47/keymaps/default/keymap.c b/keyboards/40percentclub/ut47/keymaps/default/keymap.c index 050cb6d4b3..4a9de82492 100644 --- a/keyboards/40percentclub/ut47/keymaps/default/keymap.c +++ b/keyboards/40percentclub/ut47/keymaps/default/keymap.c @@ -1,10 +1,31 @@ -// Copyright 2018 Carlos Filoteo -// SPDX-License-Identifier: GPL-2.0-or-later +/* Copyright 2018 Carlos Filoteo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include QMK_KEYBOARD_H +#ifdef LED_ENABLE + #include "uart.h" +#endif #define LT3_TAB LT(3, KC_TAB) #define MT_RSFT_ENT MT(MOD_RSFT, KC_ENT) +enum custom_keycodes { + LED_TOG = SAFE_RANGE, + LED_CHG +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base Layer @@ -83,3 +104,32 @@ LAYOUT( /* Tab */ _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT ), }; + +//LED keymap functions + #ifdef LED_ENABLE +void led_chmode(void) { + uart_write(0x65); +} + +void led_toggle(void) { + uart_write(0x64); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch(keycode) { + case LED_TOG: + #ifdef LED_ENABLE + led_toggle(); + #endif + return false; + case LED_CHG: + #ifdef LED_ENABLE + led_chmode(); + #endif + return false; + } + } + return true; +}; +#endif diff --git a/keyboards/40percentclub/ut47/keymaps/rgb/config.h b/keyboards/40percentclub/ut47/keymaps/rgb/config.h index 7a66d80f0e..d48ee2bf3f 100644 --- a/keyboards/40percentclub/ut47/keymaps/rgb/config.h +++ b/keyboards/40percentclub/ut47/keymaps/rgb/config.h @@ -1,7 +1,23 @@ -// Copyright 2018 Carlos Filoteo -// SPDX-License-Identifier: GPL-2.0-or-later +/* Copyright 2018 Carlos Filoteo + * + * 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 + +// place overrides here #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c b/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c index 1250c72f2a..17c0be7772 100644 --- a/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c +++ b/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c @@ -1,10 +1,31 @@ -// Copyright 2018 Carlos Filoteo -// SPDX-License-Identifier: GPL-2.0-or-later +/* Copyright 2018 Carlos Filoteo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include QMK_KEYBOARD_H +#ifdef LED_ENABLE + #include "uart.h" +#endif #define LT3_TAB LT(3, KC_TAB) #define MT_RSFT_ENT MT(MOD_RSFT, KC_ENT) +enum custom_keycodes { + LED_TOG = SAFE_RANGE, + LED_CHG +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( @@ -35,3 +56,32 @@ LAYOUT( /* Tab */ _______, _______, _______, _______, _______, _______, _______, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT ), }; + +//LED keymap functions + #ifdef LED_ENABLE +void led_chmode(void) { + uart_write(0x65); +} + +void led_toggle(void) { + uart_write(0x64); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch(keycode) { + case LED_TOG: + #ifdef LED_ENABLE + led_toggle(); + #endif + return false; + case LED_CHG: + #ifdef LED_ENABLE + led_chmode(); + #endif + return false; + } + } + return true; +}; +#endif diff --git a/keyboards/40percentclub/ut47/led.c b/keyboards/40percentclub/ut47/led.c new file mode 100644 index 0000000000..fa431de760 --- /dev/null +++ b/keyboards/40percentclub/ut47/led.c @@ -0,0 +1,39 @@ +/* +Copyright 2012 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include +#include +#include "led.h" + +bool led_update_kb(led_t led_state) +{ + bool res = led_update_user(led_state); + if (res) { + if (led_state.caps_lock) { + // output low + gpio_set_pin_output(B0); + gpio_write_pin_low(B0); + gpio_set_pin_output(D5); + gpio_write_pin_low(D5); + } else { + // Hi-Z + gpio_set_pin_input(B0); + gpio_set_pin_input(D5); + } + } + return false; +} diff --git a/keyboards/40percentclub/ut47/led_controls.c b/keyboards/40percentclub/ut47/led_controls.c deleted file mode 100644 index 34a0ceb5b7..0000000000 --- a/keyboards/40percentclub/ut47/led_controls.c +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2018 Carlos Filoteo -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H -#include "uart.h" - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - if (led_state.caps_lock) { - // output low - gpio_set_pin_output(B0); - gpio_write_pin_low(B0); - gpio_set_pin_output(D5); - gpio_write_pin_low(D5); - } else { - // Hi-Z - gpio_set_pin_input(B0); - gpio_set_pin_input(D5); - } - } - return false; -} - -void keyboard_post_init_kb(void) { - uart_init(9600); - - keyboard_post_init_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - uart_write((record->event.key.row * 16) + record->event.key.col); - - switch (keycode) { - case LED_TOG: - uart_write(0x64); - return false; - case LED_CHG: - uart_write(0x65); - return false; - } - } - return process_record_user(keycode, record); -} diff --git a/keyboards/40percentclub/ut47/matrix.c b/keyboards/40percentclub/ut47/matrix.c new file mode 100644 index 0000000000..d803f11c5e --- /dev/null +++ b/keyboards/40percentclub/ut47/matrix.c @@ -0,0 +1,194 @@ +/* +Copyright 2018 Carlos Filoteo + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +/* + * scan matrix + */ +#include +#include +#include +#include +#include "print.h" +#include "debug.h" +#include "util.h" +#include "matrix.h" + +#ifndef DEBOUNCE +# define DEBOUNCE 5 +#endif +static uint8_t debouncing = DEBOUNCE; + +/* matrix state(1:on, 0:off) */ +static matrix_row_t matrix[MATRIX_ROWS]; +static matrix_row_t matrix_debouncing[MATRIX_ROWS]; + +static matrix_row_t read_cols(void); +static void init_cols(void); +static void unselect_rows(void); +static void select_row(uint8_t row); + + +inline +uint8_t matrix_rows(void) +{ + return MATRIX_ROWS; +} + +inline +uint8_t matrix_cols(void) +{ + return MATRIX_COLS; +} + +void matrix_init(void) +{ + // initialize row and col + unselect_rows(); + init_cols(); + + // initialize matrix state: all keys off + for (uint8_t i=0; i < MATRIX_ROWS; i++) { + matrix[i] = 0; + matrix_debouncing[i] = 0; + } +} + +uint8_t matrix_scan(void) +{ + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + select_row(i); + _delay_us(30); // without this wait read unstable value. + matrix_row_t cols = read_cols(); + if (matrix_debouncing[i] != cols) { + matrix_debouncing[i] = cols; + if (debouncing) { + dprintf("bounce!: %02X\n", debouncing); + } + debouncing = DEBOUNCE; + } + unselect_rows(); + } + + if (debouncing) { + if (--debouncing) { + _delay_ms(1); + } else { + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + matrix[i] = matrix_debouncing[i]; + } + } + } + + return 1; +} + +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ + return (matrix[row] & ((matrix_row_t)1<The reason this is an "opt-in" feature is to prevent sending serial communication over the pin, in case it ends up being used for something else (like RGB underglow). diff --git a/keyboards/40percentclub/ut47/rules.mk b/keyboards/40percentclub/ut47/rules.mk new file mode 100644 index 0000000000..5480f61b9b --- /dev/null +++ b/keyboards/40percentclub/ut47/rules.mk @@ -0,0 +1,3 @@ +CUSTOM_MATRIX = yes +SRC += matrix.c +UART_DRIVER_REQUIRED = yes diff --git a/keyboards/40percentclub/ut47/ut47.c b/keyboards/40percentclub/ut47/ut47.c new file mode 100644 index 0000000000..867d8c0202 --- /dev/null +++ b/keyboards/40percentclub/ut47/ut47.c @@ -0,0 +1,36 @@ +/* Copyright 2018 Carlos Filoteo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" +#ifdef LED_ENABLE + #include "uart.h" + +void matrix_init_kb(void) { + uart_init(9600); + + matrix_init_user(); +} +#endif + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware + if (record->event.pressed) { + #ifdef LED_ENABLE + uart_write((record->event.key.row*16)+record->event.key.col); + #endif + } + return process_record_user(keycode, record); +} diff --git a/keyboards/4pplet/ibe60/keymaps/default/keymap.c b/keyboards/4pplet/ibe60/keymaps/default/keymap.c index d0c4b7891a..9ec56d4809 100644 --- a/keyboards/4pplet/ibe60/keymaps/default/keymap.c +++ b/keyboards/4pplet/ibe60/keymaps/default/keymap.c @@ -31,4 +31,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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/perk60_iso/rev_a/keyboard.json b/keyboards/4pplet/perk60_iso/rev_a/keyboard.json index 2e50d02a52..8d3a519a87 100644 --- a/keyboards/4pplet/perk60_iso/rev_a/keyboard.json +++ b/keyboards/4pplet/perk60_iso/rev_a/keyboard.json @@ -37,71 +37,7 @@ "default": { "val": 80 }, - "driver": "is31fl3733", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 32, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 65, "y": 0, "flags": 4}, - {"matrix": [1, 2], "x": 81, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 97, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 113, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 129, "y": 0, "flags": 4}, - {"matrix": [1, 4], "x": 145, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 161, "y": 0, "flags": 4}, - {"matrix": [1, 5], "x": 178, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 194, "y": 0, "flags": 4}, - {"matrix": [3, 6], "x": 218, "y": 0, "flags": 1}, - {"matrix": [2, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [3, 0], "x": 24, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 40, "y": 16, "flags": 4}, - {"matrix": [3, 1], "x": 57, "y": 16, "flags": 4}, - {"matrix": [2, 2], "x": 73, "y": 16, "flags": 4}, - {"matrix": [3, 2], "x": 89, "y": 16, "flags": 4}, - {"matrix": [2, 3], "x": 105, "y": 16, "flags": 4}, - {"matrix": [3, 3], "x": 121, "y": 16, "flags": 4}, - {"matrix": [2, 4], "x": 137, "y": 16, "flags": 4}, - {"matrix": [3, 4], "x": 153, "y": 16, "flags": 4}, - {"matrix": [2, 5], "x": 170, "y": 16, "flags": 4}, - {"matrix": [3, 5], "x": 186, "y": 16, "flags": 4}, - {"matrix": [2, 6], "x": 202, "y": 16, "flags": 4}, - {"matrix": [7, 6], "x": 224, "y": 24, "flags": 1}, - {"matrix": [4, 0], "x": 6, "y": 32, "flags": 8}, - {"matrix": [5, 0], "x": 28, "y": 32, "flags": 4}, - {"matrix": [4, 1], "x": 44, "y": 32, "flags": 4}, - {"matrix": [5, 1], "x": 61, "y": 32, "flags": 4}, - {"matrix": [4, 2], "x": 77, "y": 32, "flags": 4}, - {"matrix": [5, 2], "x": 93, "y": 32, "flags": 4}, - {"matrix": [4, 3], "x": 109, "y": 32, "flags": 4}, - {"matrix": [5, 3], "x": 125, "y": 32, "flags": 4}, - {"matrix": [4, 4], "x": 141, "y": 32, "flags": 4}, - {"matrix": [5, 4], "x": 157, "y": 32, "flags": 4}, - {"matrix": [4, 5], "x": 174, "y": 32, "flags": 4}, - {"matrix": [5, 5], "x": 190, "y": 32, "flags": 4}, - {"matrix": [4, 6], "x": 206, "y": 32, "flags": 1}, - {"matrix": [6, 0], "x": 2, "y": 48, "flags": 1}, - {"matrix": [7, 0], "x": 20, "y": 48, "flags": 4}, - {"matrix": [6, 1], "x": 36, "y": 48, "flags": 4}, - {"matrix": [7, 1], "x": 52, "y": 48, "flags": 4}, - {"matrix": [6, 2], "x": 69, "y": 48, "flags": 4}, - {"matrix": [7, 2], "x": 85, "y": 48, "flags": 4}, - {"matrix": [6, 3], "x": 101, "y": 48, "flags": 4}, - {"matrix": [7, 3], "x": 117, "y": 48, "flags": 4}, - {"matrix": [6, 4], "x": 133, "y": 48, "flags": 4}, - {"matrix": [7, 4], "x": 149, "y": 48, "flags": 4}, - {"matrix": [6, 5], "x": 165, "y": 48, "flags": 4}, - {"matrix": [7, 5], "x": 182, "y": 48, "flags": 4}, - {"matrix": [8, 6], "x": 212, "y": 48, "flags": 1}, - {"matrix": [8, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [8, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [9, 0], "x": 42, "y": 64, "flags": 1}, - {"matrix": [8, 3], "x": 103, "y": 64, "flags": 4}, - {"matrix": [9, 3], "x": 163, "y": 64, "flags": 1}, - {"matrix": [9, 4], "x": 184, "y": 64, "flags": 1}, - {"matrix": [8, 5], "x": 204, "y": 64, "flags": 1}, - {"matrix": [9, 5], "x": 224, "y": 64, "flags": 1} - ] + "driver": "is31fl3733" }, "features": { "bootmagic": true, diff --git a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c index 431400a6b8..c4ab064cb2 100644 --- a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c +++ b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c @@ -31,68 +31,99 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { - {0, SW11_CS2, SW10_CS2, SW12_CS2}, // D402 - {0, SW11_CS3, SW10_CS3, SW12_CS3}, // D403 - {0, SW11_CS4, SW10_CS4, SW12_CS4}, // D404 - {0, SW11_CS5, SW10_CS5, SW12_CS5}, // D405 - {0, SW11_CS6, SW10_CS6, SW12_CS6}, // D406 - {0, SW11_CS7, SW10_CS7, SW12_CS7}, // D407 - {0, SW11_CS8, SW10_CS8, SW12_CS8}, // D408 - {0, SW11_CS9, SW10_CS9, SW12_CS9}, // D409 - {0, SW11_CS10, SW10_CS10, SW12_CS10}, // D410 - {0, SW11_CS11, SW10_CS11, SW12_CS11}, // D411 - {0, SW11_CS12, SW10_CS12, SW12_CS12}, // D412 - {0, SW11_CS13, SW10_CS13, SW12_CS13}, // D413 - {0, SW11_CS14, SW10_CS14, SW12_CS14}, // D414 - {0, SW11_CS15, SW10_CS15, SW12_CS15}, // D415 - {0, SW11_CS1, SW10_CS1, SW12_CS1}, // D401 - {0, SW8_CS4, SW7_CS4, SW9_CS4}, // D420 - {0, SW8_CS5, SW7_CS5, SW9_CS5}, // D421 - {0, SW8_CS6, SW7_CS6, SW9_CS6}, // D422 - {0, SW8_CS7, SW7_CS7, SW9_CS7}, // D423 - {0, SW8_CS8, SW7_CS8, SW9_CS8}, // D424 - {0, SW8_CS9, SW7_CS9, SW9_CS9}, // D425 - {0, SW8_CS10, SW7_CS10, SW9_CS10}, // D426 - {0, SW8_CS11, SW7_CS11, SW9_CS11}, // D427 - {0, SW8_CS12, SW7_CS12, SW9_CS12}, // D428 - {0, SW8_CS13, SW7_CS13, SW9_CS13}, // D429 - {0, SW8_CS14, SW7_CS14, SW9_CS14}, // D430 - {0, SW8_CS15, SW7_CS15, SW9_CS15}, // D431 - {0, SW11_CS16, SW10_CS16, SW12_CS16}, // D416 - {0, SW8_CS2, SW7_CS2, SW9_CS2}, // D418 - {0, SW8_CS3, SW7_CS3, SW9_CS3}, // D419 - {0, SW5_CS5, SW4_CS5, SW6_CS5}, // D437 - {0, SW5_CS6, SW4_CS6, SW6_CS6}, // D438 - {0, SW5_CS7, SW4_CS7, SW6_CS7}, // D439 - {0, SW5_CS8, SW4_CS8, SW6_CS8}, // D440 - {0, SW5_CS9, SW4_CS9, SW6_CS9}, // D441 - {0, SW5_CS10, SW4_CS10, SW6_CS10}, // D442 - {0, SW5_CS11, SW4_CS11, SW6_CS11}, // D443 - {0, SW5_CS12, SW4_CS12, SW6_CS12}, // D444 - {0, SW5_CS13, SW4_CS13, SW6_CS13}, // D445 - {0, SW5_CS14, SW4_CS14, SW6_CS14}, // D446 - {0, SW8_CS16, SW7_CS16, SW9_CS16}, // D432 - {0, SW8_CS1, SW7_CS1, SW9_CS1}, // D417 - {0, SW5_CS3, SW4_CS3, SW6_CS3}, // D435 - {0, SW5_CS4, SW4_CS4, SW6_CS4}, // D436 - {0, SW2_CS2, SW1_CS2, SW3_CS2}, // D450 - {0, SW2_CS3, SW1_CS3, SW3_CS3}, // D451 - {0, SW2_CS4, SW1_CS4, SW3_CS4}, // D452 - {0, SW2_CS6, SW1_CS6, SW3_CS6}, // D454 - {0, SW2_CS8, SW1_CS8, SW3_CS8}, // D456 - {0, SW2_CS9, SW1_CS9, SW3_CS9}, // D457 - {0, SW2_CS10, SW1_CS10, SW3_CS10}, // D458 - {0, SW2_CS12, SW1_CS12, SW3_CS12}, // D460 - {0, SW2_CS13, SW1_CS13, SW3_CS13}, // D461 - {0, SW5_CS15, SW4_CS15, SW6_CS15}, // D447 - {0, SW5_CS1, SW4_CS1, SW6_CS1}, // D433 - {0, SW5_CS2, SW4_CS2, SW6_CS2}, // D434 - {0, SW2_CS1, SW1_CS1, SW3_CS1}, // D449 - {0, SW2_CS7, SW1_CS7, SW3_CS7}, // D455 - {0, SW2_CS11, SW1_CS11, SW3_CS11}, // D459 - {0, SW2_CS14, SW1_CS14, SW3_CS14}, // D462 - {0, SW2_CS15, SW1_CS15, SW3_CS15}, // D463 - {0, SW2_CS16, SW1_CS16, SW3_CS16} // D464 + { 0, SW11_CS2, SW10_CS2, SW12_CS2 }, //D402 + { 0, SW11_CS3, SW10_CS3, SW12_CS3 }, //D403 + { 0, SW11_CS4, SW10_CS4, SW12_CS4 }, //D404 + { 0, SW11_CS5, SW10_CS5, SW12_CS5 }, //D405 + { 0, SW11_CS6, SW10_CS6, SW12_CS6 }, //D406 + { 0, SW11_CS7, SW10_CS7, SW12_CS7 }, //D407 + { 0, SW11_CS8, SW10_CS8, SW12_CS8 }, //D408 + { 0, SW11_CS9, SW10_CS9, SW12_CS9 }, //D409 + { 0, SW11_CS10, SW10_CS10, SW12_CS10 }, //D410 + { 0, SW11_CS11, SW10_CS11, SW12_CS11 }, //D411 + { 0, SW11_CS12, SW10_CS12, SW12_CS12 }, //D412 + { 0, SW11_CS13, SW10_CS13, SW12_CS13 }, //D413 + { 0, SW11_CS14, SW10_CS14, SW12_CS14 }, //D414 + { 0, SW11_CS15, SW10_CS15, SW12_CS15 }, //D415 + { 0, SW11_CS1, SW10_CS1, SW12_CS1 }, //D401 + { 0, SW8_CS4, SW7_CS4, SW9_CS4 }, //D420 + { 0, SW8_CS5, SW7_CS5, SW9_CS5 }, //D421 + { 0, SW8_CS6, SW7_CS6, SW9_CS6 }, //D422 + { 0, SW8_CS7, SW7_CS7, SW9_CS7 }, //D423 + { 0, SW8_CS8, SW7_CS8, SW9_CS8 }, //D424 + { 0, SW8_CS9, SW7_CS9, SW9_CS9 }, //D425 + { 0, SW8_CS10, SW7_CS10, SW9_CS10 }, //D426 + { 0, SW8_CS11, SW7_CS11, SW9_CS11 }, //D427 + { 0, SW8_CS12, SW7_CS12, SW9_CS12 }, //D428 + { 0, SW8_CS13, SW7_CS13, SW9_CS13 }, //D429 + { 0, SW8_CS14, SW7_CS14, SW9_CS14 }, //D430 + { 0, SW8_CS15, SW7_CS15, SW9_CS15 }, //D431 + { 0, SW11_CS16, SW10_CS16, SW12_CS16 }, //D416 + { 0, SW8_CS2, SW7_CS2, SW9_CS2 }, //D418 + { 0, SW8_CS3, SW7_CS3, SW9_CS3 }, //D419 + { 0, SW5_CS5, SW4_CS5, SW6_CS5 }, //D437 + { 0, SW5_CS6, SW4_CS6, SW6_CS6 }, //D438 + { 0, SW5_CS7, SW4_CS7, SW6_CS7 }, //D439 + { 0, SW5_CS8, SW4_CS8, SW6_CS8 }, //D440 + { 0, SW5_CS9, SW4_CS9, SW6_CS9 }, //D441 + { 0, SW5_CS10, SW4_CS10, SW6_CS10 }, //D442 + { 0, SW5_CS11, SW4_CS11, SW6_CS11 }, //D443 + { 0, SW5_CS12, SW4_CS12, SW6_CS12 }, //D444 + { 0, SW5_CS13, SW4_CS13, SW6_CS13 }, //D445 + { 0, SW5_CS14, SW4_CS14, SW6_CS14 }, //D446 + { 0, SW8_CS16, SW7_CS16, SW9_CS16 }, //D432 + { 0, SW8_CS1, SW7_CS1, SW9_CS1 }, //D417 + { 0, SW5_CS3, SW4_CS3, SW6_CS3 }, //D435 + { 0, SW5_CS4, SW4_CS4, SW6_CS4 }, //D436 + { 0, SW2_CS2, SW1_CS2, SW3_CS2 }, //D450 + { 0, SW2_CS3, SW1_CS3, SW3_CS3 }, //D451 + { 0, SW2_CS4, SW1_CS4, SW3_CS4 }, //D452 + { 0, SW2_CS6, SW1_CS6, SW3_CS6 }, //D454 + { 0, SW2_CS8, SW1_CS8, SW3_CS8 }, //D456 + { 0, SW2_CS9, SW1_CS9, SW3_CS9 }, //D457 + { 0, SW2_CS10, SW1_CS10, SW3_CS10 }, //D458 + { 0, SW2_CS12, SW1_CS12, SW3_CS12 }, //D460 + { 0, SW2_CS13, SW1_CS13, SW3_CS13 }, //D461 + { 0, SW5_CS15, SW4_CS15, SW6_CS15 }, //D447 + { 0, SW5_CS1, SW4_CS1, SW6_CS1 }, //D433 + { 0, SW5_CS2, SW4_CS2, SW6_CS2 }, //D434 + { 0, SW2_CS1, SW1_CS1, SW3_CS1 }, //D449 + { 0, SW2_CS7, SW1_CS7, SW3_CS7 }, //D455 + { 0, SW2_CS11, SW1_CS11, SW3_CS11 }, //D459 + { 0, SW2_CS14, SW1_CS14, SW3_CS14 }, //D462 + { 0, SW2_CS15, SW1_CS15, SW3_CS15 }, //D463 + { 0, SW2_CS16, SW1_CS16, SW3_CS16 } //D464 +}; + +#define XXX NO_LED +led_config_t g_led_config = { + { + { 0, 2, 4, 6, 8, 10, 12 }, + { 1, 3, 5, 7, 9, 11, XXX }, + { 14, 16, 18, 20, 22, 24, 26 }, + { 15, 17, 19, 21, 23, 25, 13 }, + { 28, 30, 32, 34, 36, 38, 40 }, + { 29, 31, 33, 35, 37, 39, XXX }, + { 41, 43, 45, 47, 49, 51, XXX }, + { 42, 44, 46, 48, 50, 52, 27 }, + { 54, 55, XXX, 57, XXX, 60, 53 }, + { 56, XXX, XXX, 58, 59, 61, XXX }, + + }, { + { 0,0 }, { 16,0 }, { 32,0 }, { 48,0 }, { 65,0 }, { 81,0 }, { 97,0 }, {113,0 }, {129,0 }, {145,0 }, + {161,0 }, {178,0 }, {194,0 }, {218,0 }, { 4,16 }, { 24,16 }, { 40,16 }, { 57,16 }, { 73,16 }, { 89,16 }, + {105,16 }, {121,16 }, {137,16 }, {153,16 }, {170,16 }, {186,16 }, {202,16 }, {224,24 }, { 6,32 }, { 28,32 }, + { 44,32 }, { 61,32 }, { 77,32 }, { 93,32 }, {109,32 }, {125,32 }, {141,32 }, {157,32 }, {174,32 }, {190,32 }, + {206,32 }, { 2,48 }, { 20,48 }, { 36,48 }, { 52,48 }, { 69,48 }, { 85,48 }, {101,48 }, {117,48 }, {133,48 }, + {149,48 }, {165,48 }, {182,48 }, {212,48 }, { 2,64 }, { 22,64 }, { 42,64 }, {103,64 }, {163,64 }, {184,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, + 8, 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, 1, 4, 1, 1, 1, 1 + } }; bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { diff --git a/keyboards/4pplet/waffling60/rev_e_iso/matrix_diagram.md b/keyboards/4pplet/waffling60/rev_e_iso/matrix_diagram.md index 6e5bea9666..9ccedf98e3 100644 --- a/keyboards/4pplet/waffling60/rev_e_iso/matrix_diagram.md +++ b/keyboards/4pplet/waffling60/rev_e_iso/matrix_diagram.md @@ -21,4 +21,4 @@ ┌─────┬───┬───────────────────────────────────────┬───┬─────┐ │40 │41 │46 │4C │4D │ 10u Spacebar └─────┴───┴───────────────────────────────────────┴───┴─────┘ -``` +``` \ No newline at end of file diff --git a/keyboards/7c8/framework/readme.md b/keyboards/7c8/framework/readme.md index 8f6a3b38bc..5f29743aad 100644 --- a/keyboards/7c8/framework/readme.md +++ b/keyboards/7c8/framework/readme.md @@ -27,4 +27,4 @@ Flashing example for this keyboard: make 7c8/framework: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/8pack/readme.md b/keyboards/8pack/readme.md index d2461b9847..9c608e2a59 100644 --- a/keyboards/8pack/readme.md +++ b/keyboards/8pack/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make 8pack: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/9key/readme.md b/keyboards/9key/readme.md index 18b4f727ae..89629cc8c7 100644 --- a/keyboards/9key/readme.md +++ b/keyboards/9key/readme.md @@ -14,4 +14,4 @@ Make example for this keyboard (after setting up your build environment): make 9key:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file diff --git a/keyboards/a_jazz/akc084/keymaps/default/keymap.c b/keyboards/a_jazz/akc084/keymaps/default/keymap.c index 6ea0ca3660..2bd7992707 100644 --- a/keyboards/a_jazz/akc084/keymaps/default/keymap.c +++ b/keyboards/a_jazz/akc084/keymaps/default/keymap.c @@ -40,4 +40,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, GU_TOGG, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/abstract/ellipse/keymaps/default/readme.md b/keyboards/abstract/ellipse/keymaps/default/readme.md index a8ee158339..e14c0c8bd5 100644 --- a/keyboards/abstract/ellipse/keymaps/default/readme.md +++ b/keyboards/abstract/ellipse/keymaps/default/readme.md @@ -3,4 +3,4 @@ This keymap allows for basic testing of the keypad once assembled. Each knob and key outputs a different standard letter keycode, except for the middle knob which changes the hue of the RGB LEDs and when -pressed down turns off the RGB LEDs +pressed down turns off the RGB LEDs \ No newline at end of file diff --git a/keyboards/acheron/apollo/87h/delta/delta.c b/keyboards/acheron/apollo/87h/delta/delta.c index a03bd01ec7..b17fce5c3a 100644 --- a/keyboards/acheron/apollo/87h/delta/delta.c +++ b/keyboards/acheron/apollo/87h/delta/delta.c @@ -21,3 +21,41 @@ void board_init(void) { gpio_set_pin_input(B9); gpio_set_pin_input(B10); } + +led_config_t g_led_config = { { +// { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , NO_LED , 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 , NO_LED , NO_LED , NO_LED , NO_LED }, +// { 63 , NO_LED , 64 , 65 , 66 , 67 , 68 , 69 , 70 , 71 , 72 , 73 , 74 , NO_LED , NO_LED , 75 , NO_LED }, +// { 76 , 77 , 78 , NO_LED , NO_LED , NO_LED , 79 , NO_LED , NO_LED , 80 , 81 , 82 , 83 , NO_LED , 84 , 85 , 86 } +// + { 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , NO_LED , 2 , 1 , 0 }, + { 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 }, + { 49 , 48 , 47 , 46 , 45 , 44 , 43 , 42 , 41 , 40 , 39 , 38 , 37 , 36 , 35 , 34 , 33 }, + { 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , NO_LED , NO_LED , NO_LED , NO_LED }, + { 75 , NO_LED , 74 , 73 , 72 , 71 , 70 , 69 , 68 , 67 , 66 , 65 , 64 , NO_LED , NO_LED , 63 , NO_LED }, + { 76 , 77 , 78 , NO_LED , NO_LED , NO_LED , 79 , NO_LED , NO_LED , 80 , 81 , 82 , 83 , NO_LED , 84 , 85 , 86 } +},{ +// "Fine-tuned" complex configuration + { 210, 0}, { 196, 0}, { 182, 0}, { 168, 0}, { 154, 0}, { 140, 0}, { 140, 0}, { 126, 0}, { 112, 0}, { 98, 0}, { 84, 0}, { 70, 0}, { 56, 0}, { 28, 0}, { 14, 0}, { 0, 0}, + { 0, 45}, { 14, 45}, { 28, 45}, { 42, 45}, { 56, 45}, { 70, 45}, { 84, 45}, { 98, 45}, { 112, 45}, { 126, 45}, { 140, 45}, { 154, 45}, { 168, 45}, { 182, 45}, { 196, 45}, { 210, 45}, { 224, 45}, + { 224, 90}, { 210, 90}, { 196, 90}, { 182, 90}, { 168, 90}, { 154, 90}, { 140, 90}, { 126, 90}, { 112, 90}, { 98, 90}, { 84, 90}, { 70, 90}, { 56, 90}, { 42, 90}, { 28, 90}, { 14, 90}, { 0, 90}, + { 0, 135}, { 14, 135}, { 28, 135}, { 42, 135}, { 56, 135}, { 70, 135}, { 84, 135}, { 98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135}, + { 192, 180}, { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, { 98, 180}, { 84, 180}, { 70, 180}, { 56, 180}, { 42, 180}, { 28, 180}, { 14, 180}, + { 0, 225}, { 14, 225}, { 28, 225}, { 84, 225}, { 126, 225}, { 140, 225}, { 154, 225}, { 168, 225}, { 196, 45}, { 210, 45}, { 224, 90} +// "Stock" simple configuration +// { 224, 0}, { 210, 0}, { 196, 0}, { 182, 0}, { 168, 0}, { 154, 0}, { 140, 0}, { 126, 0}, { 112, 0}, { 98, 0}, { 84, 0}, { 70, 0}, { 56, 0}, { 28, 0}, { 14, 0}, { 0, 0}, +// { 0, 45}, { 14, 45}, { 28, 45}, { 42, 45}, { 56, 45}, { 70, 45}, { 84, 45}, { 98, 45}, { 112, 45}, { 126, 45}, { 140, 45}, { 154, 45}, { 168, 45}, { 182, 45}, { 196, 45}, { 210, 45}, { 224, 45}, +// { 224, 90}, { 210, 90}, { 196, 90}, { 182, 90}, { 168, 90}, { 154, 90}, { 140, 90}, { 126, 90}, { 112, 90}, { 98, 90}, { 84, 90}, { 70, 90}, { 56, 90}, { 42, 90}, { 28, 90}, { 14, 90}, { 0, 90}, +// { 0, 135}, { 14, 135}, { 28, 135}, { 42, 135}, { 56, 135}, { 70, 135}, { 84, 135}, { 98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135}, +// { 224, 180}, { 196, 180}, { 182, 180}, { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, { 98, 180}, { 84, 180}, { 70, 180}, { 56, 180}, { 14, 180}, +// { 0, 225}, { 14, 225}, { 28, 225}, { 84, 225}, { 126, 225}, { 140, 225}, { 154, 225}, { 168, 225}, { 196, 45}, { 210, 45}, { 224, 90} +}, { + 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 , 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 , 1 , + 1 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 1 , 1 , + 1 , 1 , 1 , 4 , 1 , 1 , 1 , 1 , 1 , 1 , 1 +} }; diff --git a/keyboards/acheron/apollo/87h/delta/keyboard.json b/keyboards/acheron/apollo/87h/delta/keyboard.json index d9f6de197a..f5bdf28d96 100644 --- a/keyboards/acheron/apollo/87h/delta/keyboard.json +++ b/keyboards/acheron/apollo/87h/delta/keyboard.json @@ -57,95 +57,6 @@ "val": 60 }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 210, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 196, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 182, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 168, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 154, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 140, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 126, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 98, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 70, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 42, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 56, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 70, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 84, "y": 12, "flags": 4}, - {"matrix": [1, 7], "x": 98, "y": 12, "flags": 4}, - {"matrix": [1, 8], "x": 112, "y": 12, "flags": 4}, - {"matrix": [1, 9], "x": 126, "y": 12, "flags": 4}, - {"matrix": [1, 10], "x": 140, "y": 12, "flags": 4}, - {"matrix": [1, 11], "x": 154, "y": 12, "flags": 4}, - {"matrix": [1, 12], "x": 168, "y": 12, "flags": 4}, - {"matrix": [1, 13], "x": 182, "y": 12, "flags": 4}, - {"matrix": [1, 14], "x": 196, "y": 12, "flags": 4}, - {"matrix": [1, 15], "x": 210, "y": 12, "flags": 4}, - {"matrix": [1, 16], "x": 224, "y": 12, "flags": 4}, - {"matrix": [2, 16], "x": 224, "y": 25, "flags": 4}, - {"matrix": [2, 15], "x": 210, "y": 25, "flags": 4}, - {"matrix": [2, 14], "x": 196, "y": 25, "flags": 4}, - {"matrix": [2, 13], "x": 182, "y": 25, "flags": 4}, - {"matrix": [2, 12], "x": 168, "y": 25, "flags": 4}, - {"matrix": [2, 11], "x": 154, "y": 25, "flags": 4}, - {"matrix": [2, 10], "x": 140, "y": 25, "flags": 4}, - {"matrix": [2, 9], "x": 126, "y": 25, "flags": 4}, - {"matrix": [2, 8], "x": 112, "y": 25, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 25, "flags": 4}, - {"matrix": [2, 6], "x": 84, "y": 25, "flags": 4}, - {"matrix": [2, 5], "x": 70, "y": 25, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 25, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 25, "flags": 4}, - {"matrix": [2, 2], "x": 28, "y": 25, "flags": 4}, - {"matrix": [2, 1], "x": 14, "y": 25, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 14, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 28, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 56, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 70, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 84, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 98, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 112, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 126, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 154, "y": 38, "flags": 4}, - {"matrix": [3, 12], "x": 168, "y": 38, "flags": 1}, - {"matrix": [4, 15], "x": 210, "y": 51, "flags": 1}, - {"matrix": [4, 12], "x": 168, "y": 51, "flags": 4}, - {"matrix": [4, 11], "x": 154, "y": 51, "flags": 4}, - {"matrix": [4, 10], "x": 140, "y": 51, "flags": 4}, - {"matrix": [4, 9], "x": 126, "y": 51, "flags": 4}, - {"matrix": [4, 8], "x": 112, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 98, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 84, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 70, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 56, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 51, "flags": 4}, - {"matrix": [4, 2], "x": 28, "y": 51, "flags": 1}, - {"matrix": [4, 0], "x": 14, "y": 51, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 28, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 84, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 126, "y": 64, "flags": 1}, - {"matrix": [5, 10], "x": 140, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 154, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 168, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 196, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 210, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 1} - ], "sleep": true }, "features": { diff --git a/keyboards/acheron/apollo/87h/gamma/gamma.c b/keyboards/acheron/apollo/87h/gamma/gamma.c index 92c6697a1c..f047db0fea 100644 --- a/keyboards/acheron/apollo/87h/gamma/gamma.c +++ b/keyboards/acheron/apollo/87h/gamma/gamma.c @@ -120,4 +120,27 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW3_CS24, SW3_CS23, SW3_CS22 }, //RIGHT 86 }; + +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 }, + { 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , 41 , 41 , 43 , 44 , 45 , 46 , 47 , 48 }, + { 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , NO_LED , NO_LED , NO_LED }, + { 63 , NO_LED , 64 , 65 , 66 , 67 , 68 , 69 , 70 , 71 , 72 , 73 , 74 , 75 , 49 , 32 }, + { 76 , 77 , 78 , NO_LED , NO_LED , NO_LED , 79 , NO_LED , NO_LED , 80 , 81 , 82 , 83 , 84 , 85 , 86 } +},{ + { 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}, { 210, 0}, { 210, 0}, { 225, 0}, + { 0, 45}, { 15, 45}, { 30, 45}, { 45, 45}, { 60, 45}, { 75, 45}, { 90, 45}, { 105, 45}, { 120, 45}, { 135, 45}, { 150, 45}, { 165, 45}, { 180, 45}, { 210, 45}, { 210, 45}, { 215, 45}, + { 0, 90}, { 15, 90}, { 30, 90}, { 45, 90}, { 60, 90}, { 75, 90}, { 90, 90}, { 105, 90}, { 120, 90}, { 135, 90}, { 150, 90}, { 165, 90}, { 180, 90}, { 195, 90}, { 210, 90}, { 215, 90}, + { 0, 135}, { 15, 135}, { 30, 135}, { 45, 135}, { 60, 135}, { 75, 135}, { 90, 135}, { 105, 135}, { 120, 135}, { 135, 135}, { 150, 135}, { 165, 135}, { 180, 135}, + { 0, 180}, { 30, 180}, { 45, 180}, { 60, 180}, { 75, 180}, { 90, 180}, { 105, 180}, { 120, 180}, { 135, 180}, { 150, 180}, { 165, 180}, { 180, 180}, { 210, 180}, { 225, 45}, { 225, 0}, + { 0, 225}, { 15, 225}, { 30, 225}, { 90, 225}, { 135, 225}, { 150, 225}, { 165, 225}, { 180, 225}, { 195, 225}, { 210, 225}, { 225, 225} +}, { + 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 , 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 , 1 , + 1 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 1 , 1 , 1 , 1 , + 1 , 1 , 1 , 4 , 1 , 1 , 1 , 1 , 1 , 1 , 1 +} }; #endif diff --git a/keyboards/acheron/apollo/87h/gamma/keyboard.json b/keyboards/acheron/apollo/87h/gamma/keyboard.json index 03ba206526..5c2087c968 100644 --- a/keyboards/acheron/apollo/87h/gamma/keyboard.json +++ b/keyboards/acheron/apollo/87h/gamma/keyboard.json @@ -58,95 +58,6 @@ "val": 80 }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 70, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 98, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 126, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 140, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 154, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 168, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 182, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 196, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 210, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 42, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 56, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 70, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 84, "y": 12, "flags": 4}, - {"matrix": [1, 7], "x": 98, "y": 12, "flags": 4}, - {"matrix": [1, 8], "x": 112, "y": 12, "flags": 4}, - {"matrix": [1, 9], "x": 126, "y": 12, "flags": 4}, - {"matrix": [1, 10], "x": 140, "y": 12, "flags": 4}, - {"matrix": [1, 11], "x": 154, "y": 12, "flags": 4}, - {"matrix": [1, 12], "x": 168, "y": 12, "flags": 4}, - {"matrix": [1, 13], "x": 182, "y": 12, "flags": 4}, - {"matrix": [1, 14], "x": 196, "y": 12, "flags": 4}, - {"matrix": [1, 15], "x": 210, "y": 12, "flags": 4}, - {"matrix": [4, 15], "x": 224, "y": 12, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4}, - {"matrix": [2, 1], "x": 14, "y": 25, "flags": 4}, - {"matrix": [2, 2], "x": 28, "y": 25, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 25, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 25, "flags": 4}, - {"matrix": [2, 5], "x": 70, "y": 25, "flags": 4}, - {"matrix": [2, 6], "x": 84, "y": 25, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 25, "flags": 4}, - {"matrix": [2, 8], "x": 112, "y": 25, "flags": 4}, - {"matrix": [2, 9], "x": 126, "y": 25, "flags": 4}, - {"matrix": [2, 10], "x": 140, "y": 25, "flags": 4}, - {"matrix": [2, 11], "x": 154, "y": 25, "flags": 4}, - {"matrix": [2, 12], "x": 168, "y": 25, "flags": 4}, - {"matrix": [2, 13], "x": 182, "y": 25, "flags": 4}, - {"matrix": [2, 14], "x": 196, "y": 25, "flags": 4}, - {"matrix": [2, 15], "x": 210, "y": 25, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 25, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 14, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 28, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 56, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 70, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 84, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 98, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 112, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 126, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 38, "flags": 1}, - {"matrix": [3, 11], "x": 156, "y": 38, "flags": 1}, - {"matrix": [3, 12], "x": 168, "y": 38, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 51, "flags": 4}, - {"matrix": [4, 2], "x": 14, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 28, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 42, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 56, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 70, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 84, "y": 51, "flags": 4}, - {"matrix": [4, 8], "x": 98, "y": 51, "flags": 4}, - {"matrix": [4, 9], "x": 112, "y": 51, "flags": 4}, - {"matrix": [4, 10], "x": 126, "y": 51, "flags": 1}, - {"matrix": [4, 11], "x": 140, "y": 51, "flags": 1}, - {"matrix": [4, 12], "x": 156, "y": 51, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 51, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 28, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 84, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 140, "y": 64, "flags": 1}, - {"matrix": [5, 10], "x": 154, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 168, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 182, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 196, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 210, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 224, "y": 64, "flags": 1} - ], "sleep": true }, "features": { diff --git a/keyboards/acheron/apollo/87htsc/87htsc.c b/keyboards/acheron/apollo/87htsc/87htsc.c index a03bd01ec7..4225c34971 100644 --- a/keyboards/acheron/apollo/87htsc/87htsc.c +++ b/keyboards/acheron/apollo/87htsc/87htsc.c @@ -21,3 +21,27 @@ void board_init(void) { gpio_set_pin_input(B9); gpio_set_pin_input(B10); } + +led_config_t g_led_config = { { + { 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , NO_LED , 2 , 1 , 0 }, + { 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 }, + { 49 , 48 , 47 , 46 , 45 , 44 , 43 , 42 , 41 , 40 , 39 , 38 , 37 , 36 , 35 , 34 , 33 }, + { 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , NO_LED , NO_LED , NO_LED , NO_LED }, + { 75 , NO_LED , 74 , 73 , 72 , 71 , 70 , 69 , 68 , 67 , 66 , 65 , 64 , NO_LED , NO_LED , 63 , NO_LED }, + { 76 , 77 , 78 , NO_LED , NO_LED , NO_LED , 79 , NO_LED , NO_LED , NO_LED , 80 , 81 , 82 , NO_LED , 83 , 84 , 85 } +},{ +// "Fine-tuned" complex configuration + { 210, 0}, { 196, 0}, { 182, 0}, { 168, 0}, { 154, 0}, { 140, 0}, { 140, 0}, { 126, 0}, { 112, 0}, { 98, 0}, { 84, 0}, { 70, 0}, { 56, 0}, { 28, 0}, { 14, 0}, { 0, 0}, + { 0, 45}, { 14, 45}, { 28, 45}, { 42, 45}, { 56, 45}, { 70, 45}, { 84, 45}, { 98, 45}, { 112, 45}, { 126, 45}, { 140, 45}, { 154, 45}, { 168, 45}, { 182, 45}, { 196, 45}, { 210, 45}, { 224, 45}, + { 224, 90}, { 210, 90}, { 196, 90}, { 182, 90}, { 168, 90}, { 154, 90}, { 140, 90}, { 126, 90}, { 112, 90}, { 98, 90}, { 84, 90}, { 70, 90}, { 56, 90}, { 42, 90}, { 28, 90}, { 14, 90}, { 0, 90}, + { 0, 135}, { 14, 135}, { 28, 135}, { 42, 135}, { 56, 135}, { 70, 135}, { 84, 135}, { 98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135}, + { 192, 180}, { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, { 98, 180}, { 84, 180}, { 70, 180}, { 56, 180}, { 42, 180}, { 28, 180}, { 14, 180}, + { 0, 225}, { 14, 225}, { 28, 225}, { 84, 225}, { 140, 225}, { 154, 225}, { 168, 225}, { 196, 225}, { 210, 225}, { 224, 225} +}, { + 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 , 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 , 1 , + 1 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 1 , 1 , + 1 , 1 , 1 , 4 , 1 , 1 , 1 , 1 , 1 , 1 +} }; diff --git a/keyboards/acheron/apollo/87htsc/keyboard.json b/keyboards/acheron/apollo/87htsc/keyboard.json index 957c02c1b6..4b2ff1ad66 100644 --- a/keyboards/acheron/apollo/87htsc/keyboard.json +++ b/keyboards/acheron/apollo/87htsc/keyboard.json @@ -60,94 +60,6 @@ "val": 60 }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 16], "x": 210, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 196, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 182, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 168, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 154, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 140, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 140, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 126, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 98, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 70, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 42, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 56, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 70, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 84, "y": 12, "flags": 4}, - {"matrix": [1, 7], "x": 98, "y": 12, "flags": 4}, - {"matrix": [1, 8], "x": 112, "y": 12, "flags": 4}, - {"matrix": [1, 9], "x": 126, "y": 12, "flags": 4}, - {"matrix": [1, 10], "x": 140, "y": 12, "flags": 4}, - {"matrix": [1, 11], "x": 154, "y": 12, "flags": 4}, - {"matrix": [1, 12], "x": 168, "y": 12, "flags": 4}, - {"matrix": [1, 13], "x": 182, "y": 12, "flags": 4}, - {"matrix": [1, 14], "x": 196, "y": 12, "flags": 4}, - {"matrix": [1, 15], "x": 210, "y": 12, "flags": 4}, - {"matrix": [1, 16], "x": 224, "y": 12, "flags": 4}, - {"matrix": [2, 16], "x": 224, "y": 25, "flags": 4}, - {"matrix": [2, 15], "x": 210, "y": 25, "flags": 4}, - {"matrix": [2, 14], "x": 196, "y": 25, "flags": 4}, - {"matrix": [2, 13], "x": 182, "y": 25, "flags": 4}, - {"matrix": [2, 12], "x": 168, "y": 25, "flags": 4}, - {"matrix": [2, 11], "x": 154, "y": 25, "flags": 4}, - {"matrix": [2, 10], "x": 140, "y": 25, "flags": 4}, - {"matrix": [2, 9], "x": 126, "y": 25, "flags": 4}, - {"matrix": [2, 8], "x": 112, "y": 25, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 25, "flags": 4}, - {"matrix": [2, 6], "x": 84, "y": 25, "flags": 4}, - {"matrix": [2, 5], "x": 70, "y": 25, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 25, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 25, "flags": 4}, - {"matrix": [2, 2], "x": 28, "y": 25, "flags": 4}, - {"matrix": [2, 1], "x": 14, "y": 25, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 14, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 28, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 56, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 70, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 84, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 98, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 112, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 126, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 154, "y": 38, "flags": 4}, - {"matrix": [3, 12], "x": 168, "y": 38, "flags": 1}, - {"matrix": [4, 15], "x": 192, "y": 51, "flags": 1}, - {"matrix": [4, 12], "x": 168, "y": 51, "flags": 4}, - {"matrix": [4, 11], "x": 154, "y": 51, "flags": 4}, - {"matrix": [4, 10], "x": 140, "y": 51, "flags": 4}, - {"matrix": [4, 9], "x": 126, "y": 51, "flags": 4}, - {"matrix": [4, 8], "x": 112, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 98, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 84, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 70, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 56, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 51, "flags": 4}, - {"matrix": [4, 2], "x": 28, "y": 51, "flags": 1}, - {"matrix": [4, 0], "x": 14, "y": 51, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 28, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 84, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 140, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 154, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 168, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 196, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 210, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 1} - ], "sleep": true }, "features": { diff --git a/keyboards/acheron/apollo/88htsc/88htsc.c b/keyboards/acheron/apollo/88htsc/88htsc.c new file mode 100644 index 0000000000..8144fc57bc --- /dev/null +++ b/keyboards/acheron/apollo/88htsc/88htsc.c @@ -0,0 +1,42 @@ +/* + Copyright 2022 Álvaro "Gondolindrim" Volpato + +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" + +led_config_t g_led_config = { { + { 16 , 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 }, + { 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 }, + { 50 , 49 , 48 , 47 , 46 , 45 , 44 , 43 , 42 , 41 , 40 , 39 , 38 , 37 , 36 , 35 , 34 }, + { 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , 63 , NO_LED , NO_LED , NO_LED , NO_LED }, + { 76 , NO_LED , 75 , 74 , 73 , 72 , 71 , 70 , 69 , 68 , 67 , 66 , 65 , NO_LED , NO_LED , 64 , NO_LED }, + { 77 , 78 , 79 , NO_LED , NO_LED , NO_LED , 80 , NO_LED , NO_LED , NO_LED , 81 , 82 , 83 , NO_LED , 84 , 85 , 86 } +},{ +// "Fine-tuned" complex configuration + { 210, 0}, { 196, 0}, { 182, 0}, { 168, 0}, { 154, 0}, { 140, 0}, { 140, 0}, { 126, 0}, { 112, 0}, { 98, 0}, { 84, 0}, { 70, 0}, { 56, 0}, { 45, 0}, { 28, 0}, { 14, 0}, { 0, 0}, + { 0, 45}, { 14, 45}, { 28, 45}, { 42, 45}, { 56, 45}, { 70, 45}, { 84, 45}, { 98, 45}, { 112, 45}, { 126, 45}, { 140, 45}, { 154, 45}, { 168, 45}, { 182, 45}, { 196, 45}, { 210, 45}, { 224, 45}, + { 224, 90}, { 210, 90}, { 196, 90}, { 182, 90}, { 168, 90}, { 154, 90}, { 140, 90}, { 126, 90}, { 112, 90}, { 98, 90}, { 84, 90}, { 70, 90}, { 56, 90}, { 42, 90}, { 28, 90}, { 14, 90}, { 0, 90}, + { 0, 135}, { 14, 135}, { 28, 135}, { 42, 135}, { 56, 135}, { 70, 135}, { 84, 135}, { 98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135}, + { 192, 180}, { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, { 98, 180}, { 84, 180}, { 70, 180}, { 56, 180}, { 42, 180}, { 28, 180}, { 14, 180}, + { 0, 225}, { 14, 225}, { 28, 225}, { 84, 225}, { 140, 225}, { 154, 225}, { 168, 225}, { 196, 45}, { 210, 45}, { 224, 90} +}, { + 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 , 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 , 1 , + 1 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 1 , 1 , + 1 , 1 , 1 , 4 , 1 , 1 , 1 , 1 , 1 , 1 +} }; diff --git a/keyboards/acheron/apollo/88htsc/keyboard.json b/keyboards/acheron/apollo/88htsc/keyboard.json index 182339b4fd..165c8d76eb 100644 --- a/keyboards/acheron/apollo/88htsc/keyboard.json +++ b/keyboards/acheron/apollo/88htsc/keyboard.json @@ -60,95 +60,6 @@ "val": 60 }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 16], "x": 210, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 196, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 182, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 168, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 154, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 140, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 140, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 126, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 98, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 70, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 42, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 56, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 70, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 84, "y": 12, "flags": 4}, - {"matrix": [1, 7], "x": 98, "y": 12, "flags": 4}, - {"matrix": [1, 8], "x": 112, "y": 12, "flags": 4}, - {"matrix": [1, 9], "x": 126, "y": 12, "flags": 4}, - {"matrix": [1, 10], "x": 140, "y": 12, "flags": 4}, - {"matrix": [1, 11], "x": 154, "y": 12, "flags": 4}, - {"matrix": [1, 12], "x": 168, "y": 12, "flags": 4}, - {"matrix": [1, 13], "x": 182, "y": 12, "flags": 4}, - {"matrix": [1, 14], "x": 196, "y": 12, "flags": 4}, - {"matrix": [1, 15], "x": 210, "y": 12, "flags": 4}, - {"matrix": [1, 16], "x": 224, "y": 12, "flags": 4}, - {"matrix": [2, 16], "x": 224, "y": 25, "flags": 4}, - {"matrix": [2, 15], "x": 210, "y": 25, "flags": 4}, - {"matrix": [2, 14], "x": 196, "y": 25, "flags": 4}, - {"matrix": [2, 13], "x": 182, "y": 25, "flags": 4}, - {"matrix": [2, 12], "x": 168, "y": 25, "flags": 4}, - {"matrix": [2, 11], "x": 154, "y": 25, "flags": 4}, - {"matrix": [2, 10], "x": 140, "y": 25, "flags": 4}, - {"matrix": [2, 9], "x": 126, "y": 25, "flags": 4}, - {"matrix": [2, 8], "x": 112, "y": 25, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 25, "flags": 4}, - {"matrix": [2, 6], "x": 84, "y": 25, "flags": 4}, - {"matrix": [2, 5], "x": 70, "y": 25, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 25, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 25, "flags": 4}, - {"matrix": [2, 2], "x": 28, "y": 25, "flags": 4}, - {"matrix": [2, 1], "x": 14, "y": 25, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 14, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 28, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 56, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 70, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 84, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 98, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 112, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 126, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 154, "y": 38, "flags": 4}, - {"matrix": [3, 12], "x": 168, "y": 38, "flags": 1}, - {"matrix": [4, 15], "x": 192, "y": 51, "flags": 1}, - {"matrix": [4, 12], "x": 168, "y": 51, "flags": 4}, - {"matrix": [4, 11], "x": 154, "y": 51, "flags": 4}, - {"matrix": [4, 10], "x": 140, "y": 51, "flags": 4}, - {"matrix": [4, 9], "x": 126, "y": 51, "flags": 4}, - {"matrix": [4, 8], "x": 112, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 98, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 84, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 70, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 56, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 51, "flags": 4}, - {"matrix": [4, 2], "x": 28, "y": 51, "flags": 1}, - {"matrix": [4, 0], "x": 14, "y": 51, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 28, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 84, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 140, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 154, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 168, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 196, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 210, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 1} - ], "sleep": true }, "features": { diff --git a/keyboards/acheron/austin/readme.md b/keyboards/acheron/austin/readme.md index 51d052c307..7d7357fd37 100644 --- a/keyboards/acheron/austin/readme.md +++ b/keyboards/acheron/austin/readme.md @@ -26,4 +26,4 @@ After setting up your build environment, you can compile the Austin default keym make acheron/austin: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/adkb96/keymaps/default/config.h b/keyboards/adkb96/keymaps/default/config.h new file mode 100644 index 0000000000..a1c18568be --- /dev/null +++ b/keyboards/adkb96/keymaps/default/config.h @@ -0,0 +1,25 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +//#define USE_I2C + +#define FORCE_NKRO diff --git a/keyboards/adkb96/rev1/keyboard.json b/keyboards/adkb96/rev1/keyboard.json index c359dfdce1..3c0c757c05 100644 --- a/keyboards/adkb96/rev1/keyboard.json +++ b/keyboards/adkb96/rev1/keyboard.json @@ -14,11 +14,6 @@ "command": true, "nkro": true }, - "host": { - "default": { - "nkro": true - } - }, "qmk": { "locking": { "enabled": true, diff --git a/keyboards/adm42/rev4/keymaps/default/keymap.json b/keyboards/adm42/rev4/keymaps/default/keymap.json index 75feb71c50..dce2405bc0 100644 --- a/keyboards/adm42/rev4/keymaps/default/keymap.json +++ b/keyboards/adm42/rev4/keymaps/default/keymap.json @@ -41,4 +41,4 @@ "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX" ] ] -} +} \ No newline at end of file diff --git a/keyboards/adpenrose/akemipad/akemipad.c b/keyboards/adpenrose/akemipad/akemipad.c new file mode 100644 index 0000000000..993396dca0 --- /dev/null +++ b/keyboards/adpenrose/akemipad/akemipad.c @@ -0,0 +1,27 @@ +// Copyright 2022 Arturo Avila (@ADPenrose) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE + +/* Setting up the LED matrix */ +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, 1, 2, 3, NO_LED }, + { 4, 5, 6, 7, NO_LED }, + { 8, 9, 10, 11, 12 }, + { 13, 14, 15, 16, NO_LED }, + { 17, 18, 19, 20, 21 }, + { 22, 23, 24, 25, 26 }, +}, { + // LED Index to Physical Position + { 0,0 }, { 37,0 }, { 74,0 }, {111,0 }, { 0,34 }, { 37,34 }, { 74,34 }, {111,34 }, { 0,62 }, { 37,62 }, + { 74,62 }, {111,62 }, {120,75 }, { 0,89 }, { 37,89 }, { 74,89 }, {111,89 }, { 0,117}, { 37,117}, { 74,117}, + {111,117}, {120,130}, { 0,137}, { 18,144}, { 37,137}, { 74,144}, {111,144} +}, { + // 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 +} }; + +#endif diff --git a/keyboards/adpenrose/akemipad/keyboard.json b/keyboards/adpenrose/akemipad/keyboard.json index a7981d13ef..085ca5e406 100644 --- a/keyboards/adpenrose/akemipad/keyboard.json +++ b/keyboards/adpenrose/akemipad/keyboard.json @@ -15,36 +15,8 @@ "cycle_left_right": true, "cycle_up_down": true }, + "center_point": [60, 77], "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 69, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 138, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 207, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4}, - {"matrix": [1, 1], "x": 69, "y": 13, "flags": 4}, - {"matrix": [1, 2], "x": 138, "y": 13, "flags": 4}, - {"matrix": [1, 3], "x": 207, "y": 13, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 26, "flags": 4}, - {"matrix": [2, 1], "x": 69, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 138, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 207, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 224, "y": 30, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 69, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 138, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 207, "y": 38, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 52, "flags": 4}, - {"matrix": [4, 1], "x": 69, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 138, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 207, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 224, "y": 56, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 62, "flags": 4}, - {"matrix": [5, 1], "x": 33, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 69, "y": 62, "flags": 4}, - {"matrix": [5, 3], "x": 138, "y": 64, "flags": 4}, - {"matrix": [5, 4], "x": 207, "y": 64, "flags": 4} - ], "max_brightness": 175, "sleep": true }, diff --git a/keyboards/adpenrose/kintsugi/post_config.h b/keyboards/adpenrose/kintsugi/post_config.h index f1e3f2e2c7..36913903f7 100644 --- a/keyboards/adpenrose/kintsugi/post_config.h +++ b/keyboards/adpenrose/kintsugi/post_config.h @@ -20,4 +20,4 @@ along with this program. If not, see . #ifndef OLED_FONT_H # define OLED_FONT_H "lib/kintsugifont.c" # define OLED_TIMEOUT 120000 -#endif +#endif \ No newline at end of file diff --git a/keyboards/adpenrose/mine/keymaps/default/keymap.c b/keyboards/adpenrose/mine/keymaps/default/keymap.c index 9ae158fb6f..3d6cf31bd8 100644 --- a/keyboards/adpenrose/mine/keymaps/default/keymap.c +++ b/keyboards/adpenrose/mine/keymaps/default/keymap.c @@ -30,4 +30,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/adpenrose/mine/keymaps/default/rules.mk b/keyboards/adpenrose/mine/keymaps/default/rules.mk index 2ac8beff37..4769500eb0 100644 --- a/keyboards/adpenrose/mine/keymaps/default/rules.mk +++ b/keyboards/adpenrose/mine/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes # Encoder mapping functionality +ENCODER_MAP_ENABLE = yes # Encoder mapping functionality \ No newline at end of file diff --git a/keyboards/adpenrose/mine/keymaps/iso/keymap.c b/keyboards/adpenrose/mine/keymaps/iso/keymap.c index 1f275543f9..988330c979 100644 --- a/keyboards/adpenrose/mine/keymaps/iso/keymap.c +++ b/keyboards/adpenrose/mine/keymaps/iso/keymap.c @@ -30,4 +30,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/adpenrose/mine/keymaps/iso/rules.mk b/keyboards/adpenrose/mine/keymaps/iso/rules.mk index 2ac8beff37..4769500eb0 100644 --- a/keyboards/adpenrose/mine/keymaps/iso/rules.mk +++ b/keyboards/adpenrose/mine/keymaps/iso/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes # Encoder mapping functionality +ENCODER_MAP_ENABLE = yes # Encoder mapping functionality \ No newline at end of file diff --git a/keyboards/adpenrose/mine/matrix_diagram.md b/keyboards/adpenrose/mine/matrix_diagram.md index 56b2c9642e..05d34fb066 100644 --- a/keyboards/adpenrose/mine/matrix_diagram.md +++ b/keyboards/adpenrose/mine/matrix_diagram.md @@ -75,4 +75,4 @@ ┌──┐┌──┐┌──┐ │6H││8H││9H│ └──┘└──┘└──┘ -``` +``` \ No newline at end of file diff --git a/keyboards/adpenrose/mine/rules.mk b/keyboards/adpenrose/mine/rules.mk index c2ee0bc86f..93ae8d898f 100644 --- a/keyboards/adpenrose/mine/rules.mk +++ b/keyboards/adpenrose/mine/rules.mk @@ -1,2 +1,2 @@ # Processor frequency -F_CPU = 16000000 +F_CPU = 16000000 \ No newline at end of file diff --git a/keyboards/aeboards/aegis/readme.md b/keyboards/aeboards/aegis/readme.md index 44aad98731..1b8fc124e5 100644 --- a/keyboards/aeboards/aegis/readme.md +++ b/keyboards/aeboards/aegis/readme.md @@ -11,4 +11,4 @@ Make example for this keyboard (after setting up your build environment): make aeboards/aegis: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/aeboards/satellite/rev1/keyboard.json b/keyboards/aeboards/satellite/rev1/keyboard.json index a6752565bd..f9355171fb 100644 --- a/keyboards/aeboards/satellite/rev1/keyboard.json +++ b/keyboards/aeboards/satellite/rev1/keyboard.json @@ -68,80 +68,6 @@ "val": 80 }, "driver": "custom", - "layout": [ - {"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}, - {"x": 67, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 16, "flags": 4}, - {"x": 37, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 22, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [2, 11], "x": 6, "y": 32, "flags": 1}, - {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 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": 202, "y": 0, "flags": 4}, - {"x": 212, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [1, 8], "x": 127, "y": 16, "flags": 4}, - {"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": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 95, "y": 64, "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}, - {"x": 67, "y": 56, "flags": 4}, - {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, - {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, - {"x": 0, "y": 64, "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}, - {"x": 175, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 200, "y": 32, "flags": 4}, - {"matrix": [3, 10], "x": 168, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 209, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 108, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 123, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 138, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 153, "y": 48, "flags": 4}, - {"x": 120, "y": 48, "flags": 4}, - {"x": 120, "y": 56, "flags": 4}, - {"matrix": [4, 9], "x": 153, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 175, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 194, "y": 64, "flags": 1} - ], "sleep": true }, "processor": "atmega32u4", diff --git a/keyboards/aeboards/satellite/rev1/rev1.c b/keyboards/aeboards/satellite/rev1/rev1.c index 6e468d713d..28ac5ef302 100644 --- a/keyboards/aeboards/satellite/rev1/rev1.c +++ b/keyboards/aeboards/satellite/rev1/rev1.c @@ -102,6 +102,46 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {1, C8_16, C7_16, C6_16} //D17 }; +led_config_t g_led_config = { { + { 17, 16, 15, 14, 13, 12, 11, 10, 9, 18, 19, 20, 21, 22, 24 }, + { 7, 6, 6, 4, 4, 2, 1, 0, 27, 18, 29, 30, 31, 32, 25 }, + { 8, 50, 49, 48, 47, 46, 45, 54, 55, 56, 57, 8, 59, NO_LED, 26 }, + { 51, 41, 40, 39, 38, 37, 63, 64, 65, 66, 60, NO_LED, 61, 62, 33 }, + { 52, 44, 43, NO_LED, NO_LED, 36, NO_LED, NO_LED, NO_LED, 69, 70, NO_LED, 71, 35, 34 }, +}, { + //A0 .. A17 + {112,16 }, { 97,16 }, { 82,16 }, { 67,16 }, { 52,16 }, { 37,16 }, { 22,16 }, { 4,16 }, { 6,32 }, + {119,0 }, {105,0 }, { 90,0 }, { 75,0 }, { 60,0 }, { 45,0 }, { 30,0 }, { 15,0 }, { 0,0 }, + + //B0 .. B17 + {134,0 }, {149,0 }, {164,0 }, {179,0 }, {202,0 }, {255,255}, {224,0 }, {224,16 }, {224,32 }, + {127,16 }, {142,16 }, {157,16 }, {172,16 }, {187,16 }, {205,16 }, {224,48 }, {224,64 }, {209,64 }, + + //C0 .. C17 + { 95,64 }, { 93,48 }, { 78,48 }, { 63,48 }, { 49,48 }, { 34,48 }, { 67,56 }, { 39,64 }, { 21,64 }, + {101,32 }, { 86,32 }, { 71,32 }, { 56,32 }, { 41,32 }, { 26,32 }, { 9,48 }, { 2,64 }, {255,255}, + + //D0 .. D17 + {116,32 }, {131,32 }, {146,32 }, {161,32 }, {175,32 }, {200,32 }, {168,48 }, {189,48 }, {209,48 }, + {108,48 }, {123,48 }, {138,48 }, {153,48 }, {255,255}, {120,56 }, {153,64 }, {175,64 }, {194,64 } +}, { + //A0 .. A17 + 4, 4, 4, 4, 4, 4, 4, 1, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, + + //B0 .. B17 + 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 1, 1, + + //C0 .. C17 + 4, 4, 4, 4, 4, 4, 4, 1, 1, + 4, 4, 4, 4, 4, 4, 1, 1, 4, + + //D0 .. D17 + 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 1, 1, 1 +} }; + // Custom Driver static void init(void) { i2c_init(); diff --git a/keyboards/ai03/jp60/keymaps/default/rules.mk b/keyboards/ai03/jp60/keymaps/default/rules.mk index 3c67c83586..edac26d087 100644 --- a/keyboards/ai03/jp60/keymaps/default/rules.mk +++ b/keyboards/ai03/jp60/keymaps/default/rules.mk @@ -1 +1 @@ -DEBOUNCE_TYPE = asym_eager_defer_pk # Specify per-key debounce for improved responsiveness +DEBOUNCE_TYPE = asym_eager_defer_pk # Specify per-key debounce for improved responsiveness \ No newline at end of file diff --git a/keyboards/ai03/orbit/orbit.c b/keyboards/ai03/orbit/orbit.c index dce16e4cc1..0c1e0dc32e 100644 --- a/keyboards/ai03/orbit/orbit.c +++ b/keyboards/ai03/orbit/orbit.c @@ -18,7 +18,7 @@ void led_init_ports(void) { // Initialize indicator LEDs to output - if (is_keyboard_left()) { + if (isLeftHand) { gpio_set_pin_output(C6); gpio_set_pin_output(B6); gpio_set_pin_output(B5); @@ -36,7 +36,7 @@ void led_init_ports(void) { // // (LEFT) 0 1 2 | 3 4 5 (RIGHT) void led_toggle(uint8_t id, bool on) { - if (is_keyboard_left()) { + if (isLeftHand) { switch (id) { case 0: // Left hand C6 diff --git a/keyboards/ai03/readme.md b/keyboards/ai03/readme.md index 8e5fccbfee..90bd219289 100644 --- a/keyboards/ai03/readme.md +++ b/keyboards/ai03/readme.md @@ -1,4 +1,4 @@ # ai03 QMK folders for PCB commissions. -Website: [ai03 Keyboard Designs](https://kb.ai03.me/) +Website: [ai03 Keyboard Designs](https://kb.ai03.me/) \ No newline at end of file diff --git a/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c b/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c index 8b0f3e4333..e541c14d01 100644 --- a/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c +++ b/keyboards/aidansmithdotdev/fine40/keymaps/default/keymap.c @@ -49,4 +49,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_RIGHT] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_TAB] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/aidansmithdotdev/sango/keyboard.json b/keyboards/aidansmithdotdev/sango/keyboard.json index 04970c898a..f51eed7fd9 100644 --- a/keyboards/aidansmithdotdev/sango/keyboard.json +++ b/keyboards/aidansmithdotdev/sango/keyboard.json @@ -117,7 +117,7 @@ }, "split": { "bootmagic": { - "matrix": [5, 7] + "matrix": [4, 7] }, "enabled": true, "matrix_pins": { diff --git a/keyboards/akko/5087/5087.c b/keyboards/akko/5087/5087.c index 892e6d2b1d..0b26ef90a6 100644 --- a/keyboards/akko/5087/5087.c +++ b/keyboards/akko/5087/5087.c @@ -140,3 +140,30 @@ void housekeeping_task_kb(void){ gpio_write_pin(LED_MAC_OS_PIN, (get_highest_layer(default_layer_state) == 3)); gpio_write_pin(LED_WIN_LOCK_PIN, keymap_config.no_gui); } + +bool process_record_kb(uint16_t keycode, keyrecord_t* record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + default: + return true; + } +} diff --git a/keyboards/akko/top40/top40.c b/keyboards/akko/top40/top40.c index 529b936a26..565dfb77c6 100644 --- a/keyboards/akko/top40/top40.c +++ b/keyboards/akko/top40/top40.c @@ -122,4 +122,4 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { return true; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/alatus/config.h b/keyboards/alatus/config.h deleted file mode 100644 index 92bee4d9ad..0000000000 --- a/keyboards/alatus/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2026 Dominic Yeap-Holliday -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// Trackpoint -#define PS2_PIO_USE_PIO1 diff --git a/keyboards/alatus/keyboard.json b/keyboards/alatus/keyboard.json deleted file mode 100644 index 1152e46ba7..0000000000 --- a/keyboards/alatus/keyboard.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "manufacturer": "NA", - "keyboard_name": "Alatus", - "maintainer": "DoomishGuy", - "bootmagic": { - "matrix": [0, 4] - }, - "development_board": "promicro_rp2040", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "GP22", "pin_b": "GP26"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP8", "GP9", "GP21", "GP23", "GP20"], - "rows": ["GP4", "GP5", "GP6", "GP7"] - }, - "ps2": { - "clock_pin": "GP28", - "data_pin": "GP27", - "driver": "vendor", - "enabled": true, - "mouse_enabled": true - }, - "rgb_matrix": { - "driver": "ws2812", - "layout": [ - {"x": 90, "y": 33, "flags": 8}, - {"x": 90, "y": 49, "flags": 8}, - {"matrix": [3, 4], "x": 85, "y": 51, "flags": 4}, - {"matrix": [3, 3], "x": 64, "y": 46, "flags": 4}, - {"matrix": [3, 2], "x": 44, "y": 43, "flags": 4}, - {"matrix": [3, 1], "x": 26, "y": 43, "flags": 4}, - {"matrix": [2, 4], "x": 72, "y": 31, "flags": 4}, - {"matrix": [2, 3], "x": 54, "y": 29, "flags": 4}, - {"matrix": [2, 2], "x": 36, "y": 24, "flags": 4}, - {"matrix": [2, 1], "x": 18, "y": 28, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 36, "flags": 4}, - {"matrix": [1, 4], "x": 72, "y": 19, "flags": 4}, - {"matrix": [1, 3], "x": 54, "y": 17, "flags": 4}, - {"matrix": [1, 2], "x": 36, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 18, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 24, "flags": 4}, - {"matrix": [0, 4], "x": 72, "y": 7, "flags": 4}, - {"matrix": [0, 3], "x": 54, "y": 5, "flags": 4}, - {"matrix": [0, 2], "x": 36, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 18, "y": 4, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 12, "flags": 4}, - {"x": 0, "y": 9, "flags": 2}, - {"x": 45, "y": 0, "flags": 2}, - {"x": 80, "y": 11, "flags": 2}, - {"x": 75, "y": 48, "flags": 2}, - {"x": 54, "y": 44, "flags": 2}, - {"x": 17, "y": 45, "flags": 2}, - {"x": 134, "y": 33, "flags": 8}, - {"x": 134, "y": 49, "flags": 8}, - {"matrix": [7, 4], "x": 139, "y": 51, "flags": 4}, - {"matrix": [7, 3], "x": 160, "y": 46, "flags": 4}, - {"matrix": [7, 2], "x": 180, "y": 43, "flags": 4}, - {"matrix": [7, 1], "x": 198, "y": 43, "flags": 4}, - {"matrix": [6, 4], "x": 152, "y": 31, "flags": 4}, - {"matrix": [6, 3], "x": 170, "y": 29, "flags": 4}, - {"matrix": [6, 2], "x": 188, "y": 24, "flags": 4}, - {"matrix": [6, 1], "x": 206, "y": 28, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 36, "flags": 4}, - {"matrix": [5, 4], "x": 152, "y": 19, "flags": 4}, - {"matrix": [5, 3], "x": 170, "y": 17, "flags": 4}, - {"matrix": [5, 2], "x": 188, "y": 12, "flags": 4}, - {"matrix": [5, 1], "x": 206, "y": 16, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 24, "flags": 4}, - {"matrix": [4, 4], "x": 152, "y": 7, "flags": 4}, - {"matrix": [4, 3], "x": 170, "y": 5, "flags": 4}, - {"matrix": [4, 2], "x": 188, "y": 0, "flags": 4}, - {"matrix": [4, 1], "x": 206, "y": 4, "flags": 4}, - {"matrix": [4, 0], "x": 224, "y": 12, "flags": 4}, - {"x": 224, "y": 9, "flags": 2}, - {"x": 179, "y": 0, "flags": 2}, - {"x": 144, "y": 11, "flags": 2}, - {"x": 149, "y": 48, "flags": 2}, - {"x": 170, "y": 44, "flags": 2}, - {"x": 207, "y": 45, "flags": 2} - ], - "max_brightness": 128, - "split_count": [27, 27] - }, - "split": { - "bootmagic": { - "matrix": [4, 4] - }, - "enabled": true, - "encoder": { - "right": { - "rotary": [ - {"pin_a": "GP26", "pin_b": "GP22"} - ] - } - }, - "handedness": { - "pin": "GP29" - }, - "serial": { - "driver": "vendor", - "pin": "GP1" - } - }, - "tags": ["columnar", "split", "encoder", "choc v1", "choc spaced", "RP2040"], - "url": "https://codeberg.org/DoomishGuy/alatus", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP0" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "L04", "matrix": [0, 0], "x": 0, "y": 1.1}, - {"label": "L03", "matrix": [0, 1], "x": 1, "y": 0.35}, - {"label": "L02", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "L01", "matrix": [0, 3], "x": 3, "y": 0.38}, - {"label": "L00", "matrix": [0, 4], "x": 4, "y": 0.53}, - {"label": "R00", "matrix": [4, 4], "x": 10, "y": 0.53}, - {"label": "R01", "matrix": [4, 3], "x": 11, "y": 0.38}, - {"label": "R02", "matrix": [4, 2], "x": 12, "y": 0}, - {"label": "R03", "matrix": [4, 1], "x": 13, "y": 0.35}, - {"label": "R04", "matrix": [4, 0], "x": 14, "y": 1.1}, - {"label": "L09", "matrix": [1, 0], "x": 0, "y": 2.1}, - {"label": "L08", "matrix": [1, 1], "x": 1, "y": 1.35}, - {"label": "L07", "matrix": [1, 2], "x": 2, "y": 1}, - {"label": "L06", "matrix": [1, 3], "x": 3, "y": 1.38}, - {"label": "L05", "matrix": [1, 4], "x": 4, "y": 1.53}, - {"label": "R05", "matrix": [5, 4], "x": 10, "y": 1.53}, - {"label": "R06", "matrix": [5, 3], "x": 11, "y": 1.38}, - {"label": "R07", "matrix": [5, 2], "x": 12, "y": 1}, - {"label": "R08", "matrix": [5, 1], "x": 13, "y": 1.35}, - {"label": "R09", "matrix": [5, 0], "x": 14, "y": 2.1}, - {"label": "L14", "matrix": [2, 0], "x": 0, "y": 3.1}, - {"label": "L13", "matrix": [2, 1], "x": 1, "y": 2.35}, - {"label": "L12", "matrix": [2, 2], "x": 2, "y": 2}, - {"label": "L11", "matrix": [2, 3], "x": 3, "y": 2.38}, - {"label": "L10", "matrix": [2, 4], "x": 4, "y": 2.53}, - {"label": "R10", "matrix": [6, 4], "x": 10, "y": 2.53}, - {"label": "R11", "matrix": [6, 3], "x": 11, "y": 2.38}, - {"label": "R12", "matrix": [6, 2], "x": 12, "y": 2}, - {"label": "R13", "matrix": [6, 1], "x": 13, "y": 2.35}, - {"label": "R14", "matrix": [6, 0], "x": 14, "y": 3.1}, - {"label": "L18", "matrix": [3, 1], "x": 1, "y": 4}, - {"label": "L17", "matrix": [3, 2], "x": 2, "y": 4}, - {"label": "L16", "matrix": [3, 3], "x": 3, "y": 4.25}, - {"label": "L15", "matrix": [3, 4], "x": 4, "y": 4.5}, - {"label": "R15", "matrix": [7, 4], "x": 10, "y": 4.5}, - {"label": "R16", "matrix": [7, 3], "x": 11, "y": 4.25}, - {"label": "R17", "matrix": [7, 2], "x": 12, "y": 4}, - {"label": "R18", "matrix": [7, 1], "x": 13, "y": 4} - ] - } - } -} diff --git a/keyboards/alatus/keymaps/default/keymap.c b/keyboards/alatus/keymaps/default/keymap.c deleted file mode 100644 index fc47a429ca..0000000000 --- a/keyboards/alatus/keymaps/default/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2026 Dominic Yeap-Holliday -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum layers { - _QWERTY, -}; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH, - KC_LCTL, KC_LGUI, KC_SPACE, KC_ENTER, KC_TAB, KC_BSPC, KC_RSFT, KC_RALT - ) -}; -// clang-format on - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_QWERTY] = {ENCODER_CCW_CW(KC_L, KC_R), ENCODER_CCW_CW(KC_U, KC_D)}, -}; -#endif diff --git a/keyboards/alatus/keymaps/default/readme.md b/keyboards/alatus/keymaps/default/readme.md deleted file mode 100644 index ddcae87eb1..0000000000 --- a/keyboards/alatus/keymaps/default/readme.md +++ /dev/null @@ -1,4 +0,0 @@ -# Alatus's Default Keymap - -The default keymap is intentionally Spartan, and is not intended for long term use. -The provided `rules.mk` enables encoder mapping to test encoder functionality. diff --git a/keyboards/alatus/readme.md b/keyboards/alatus/readme.md deleted file mode 100644 index e3fffb05c3..0000000000 --- a/keyboards/alatus/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# alatus - -![alatus](https://i.imgur.com/kVrFpSJ.jpeg) - -A low profile 38 key split keyboard featuring rotary encoder and trackpoint support. - -* Keyboard Maintainer: [DoomishGuy](https://codeberg.org/DoomishGuy) -* Hardware Supported: RP2040 Pro Micro and compatible -* Hardware Availability: [DoomishGuy/alatus](https://codeberg.org/DoomishGuy/alatus) - -Make example for this keyboard (after setting up your build environment): - - make alatus:default - -Flashing example for this keyboard: - - make alatus: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 top left/right key (for the left/right splits respectively) and plug in the keyboard. -* **Physical reset button**: Press the reset button below the microcontroller twice in quick succession. diff --git a/keyboards/aleblazer/zodiark/keyboard.json b/keyboards/aleblazer/zodiark/keyboard.json index 9582149675..6818797809 100644 --- a/keyboards/aleblazer/zodiark/keyboard.json +++ b/keyboards/aleblazer/zodiark/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Zodiark", "manufacturer": "Aleblazer", + "url": "https://github.com/Aleblazer/qmk_firmware/tree/master/keyboards/zodiark", "maintainer": "Aleblazer", "usb": { "vid": "0xF901", @@ -41,76 +42,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [0, 5], "x": 93, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 74, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 37, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 19, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 19, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 74, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 93, "y": 16, "flags": 4}, - {"matrix": [0, 6], "x": 112, "y": 24, "flags": 4}, - {"matrix": [1, 6], "x": 112, "y": 40, "flags": 4}, - {"matrix": [2, 5], "x": 93, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 74, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 37, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 19, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 19, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 37, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 56, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 74, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 93, "y": 48, "flags": 4}, - {"matrix": [2, 6], "x": 112, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 93, "y": 64, "flags": 4}, - {"matrix": [4, 4], "x": 74, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 56, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 37, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 19, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [5, 5], "x": 132, "y": 0, "flags": 4}, - {"matrix": [5, 4], "x": 150, "y": 0, "flags": 4}, - {"matrix": [5, 3], "x": 169, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 187, "y": 0, "flags": 4}, - {"matrix": [5, 1], "x": 206, "y": 0, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 0, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 16, "flags": 4}, - {"matrix": [6, 1], "x": 206, "y": 16, "flags": 4}, - {"matrix": [6, 2], "x": 187, "y": 16, "flags": 4}, - {"matrix": [6, 3], "x": 169, "y": 16, "flags": 4}, - {"matrix": [6, 4], "x": 150, "y": 16, "flags": 4}, - {"matrix": [6, 5], "x": 132, "y": 16, "flags": 4}, - {"matrix": [5, 6], "x": 113, "y": 24, "flags": 4}, - {"matrix": [6, 6], "x": 113, "y": 40, "flags": 4}, - {"matrix": [7, 5], "x": 132, "y": 32, "flags": 4}, - {"matrix": [7, 4], "x": 150, "y": 32, "flags": 4}, - {"matrix": [7, 3], "x": 169, "y": 32, "flags": 4}, - {"matrix": [7, 2], "x": 187, "y": 32, "flags": 4}, - {"matrix": [7, 1], "x": 206, "y": 32, "flags": 4}, - {"matrix": [7, 0], "x": 224, "y": 32, "flags": 4}, - {"matrix": [8, 0], "x": 224, "y": 48, "flags": 4}, - {"matrix": [8, 1], "x": 206, "y": 48, "flags": 4}, - {"matrix": [8, 2], "x": 187, "y": 48, "flags": 4}, - {"matrix": [8, 3], "x": 169, "y": 48, "flags": 4}, - {"matrix": [8, 4], "x": 150, "y": 48, "flags": 4}, - {"matrix": [8, 5], "x": 132, "y": 48, "flags": 4}, - {"matrix": [7, 6], "x": 113, "y": 52, "flags": 4}, - {"matrix": [9, 6], "x": 113, "y": 64, "flags": 4}, - {"matrix": [9, 5], "x": 132, "y": 64, "flags": 4}, - {"matrix": [9, 4], "x": 150, "y": 64, "flags": 4}, - {"matrix": [9, 3], "x": 169, "y": 64, "flags": 4}, - {"matrix": [9, 2], "x": 187, "y": 64, "flags": 4}, - {"matrix": [9, 1], "x": 206, "y": 64, "flags": 4}, - {"matrix": [9, 0], "x": 224, "y": 64, "flags": 4} - ], "max_brightness": 150, "sat_steps": 8, "speed_steps": 10, diff --git a/keyboards/aleblazer/zodiark/readme.md b/keyboards/aleblazer/zodiark/readme.md index a27ed94f8a..392744dede 100644 --- a/keyboards/aleblazer/zodiark/readme.md +++ b/keyboards/aleblazer/zodiark/readme.md @@ -2,7 +2,7 @@ ![Zodiark Split](https://i.imgur.com/49O8aowl.jpg) -A split keyboard with 5x7 including a thumbcluster, encoders on each side, per key RGB, and 2x I2C headers per side, supporting 1.3"/.96" 128x64 OLEDs (the 1.3" is an SH1106 OLED, refer to QMK documentation for limitations) and .91" 128x32 OLEDs. +A split keyboard with 5x7 including a thumbcluster, encoders on each side, per key RGB, and 2x I2C headers per side, supporiting 1.3"/.96" 128x64 OLEDs (the 1.3" is an SSH1106 OLED, refer to QMK documentation for limitations), .91" 128x32 OLEDs. * Keyboard Maintainer: [Aleblazer](https://github.com/Aleblazer/), [Discord Link](https://discord.gg/BCSbXwskVt) * Hardware Supported: Pro Micro and derivatives diff --git a/keyboards/aleblazer/zodiark/zodiark.c b/keyboards/aleblazer/zodiark/zodiark.c new file mode 100644 index 0000000000..8829ac8f3c --- /dev/null +++ b/keyboards/aleblazer/zodiark/zodiark.c @@ -0,0 +1,54 @@ +/* +Copyright 2021 Spencer Deven + +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 "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { +// Key Matrix to LED Index + // Left Hand + { 5, 4, 3, 2, 1, 0, 12 }, + { 6, 7, 8, 9, 10, 11, 13 }, + { 19, 18, 17, 16, 15, 14, 26 }, + { 20, 21, 22, 23, 24, 25, NO_LED }, + { 33, 32, 31, 30, 29, 28, 27}, + // Right Hand + { 39, 38, 37, 36, 35, 34, 46 }, + { 40, 41, 42, 43, 44, 45, 47 }, + { 53, 52, 51, 50, 49, 48, 60 }, + { 54, 55, 56, 57, 58, 59, NO_LED }, + { 67, 66, 65, 64, 63, 62, 61 }, + + +}, { + // LED Index to Physical Position + // Left Hand + { 93, 0 }, { 74, 0 }, { 56, 0 }, { 37, 0 }, { 19, 0 }, { 0, 0 }, { 0, 16 }, + { 19, 16 }, { 37, 16 }, { 56, 16 }, { 74, 16 }, { 93, 16 }, { 112, 24 }, { 112, 40 }, + { 93, 32 }, { 74, 32 }, { 56, 32 }, { 37, 32 }, { 19, 32 }, { 0, 32 }, { 0, 48 }, + { 19, 48 }, { 37, 48 }, { 56, 48 }, { 74, 48 }, { 93, 48 }, { 112, 52 }, + { 112, 64 }, { 93, 64 }, { 74, 64 }, { 56, 64 }, { 37, 64 }, { 19, 64 }, { 0, 64 }, + // Right Hand + { 132, 0 }, { 150, 0 }, { 169, 0 }, { 187, 0 }, { 206, 0 }, { 224, 0 }, { 224, 16 }, + { 206, 16 }, { 187, 16 }, { 169, 16 }, { 150, 16 }, { 132, 16 }, { 113, 24 }, { 113, 40 }, + { 132, 32 }, { 150, 32 }, { 169, 32 }, { 187, 32 }, { 206, 32 }, { 224, 32 }, { 224, 48 }, + { 206, 48 }, { 187, 48 }, { 169, 48 }, { 150, 48 }, { 132, 48 }, { 113, 52 }, + { 113, 64 }, { 132, 64 }, { 150, 64 }, { 169, 64 }, { 187, 64 }, { 206, 64 }, { 224, 64 }, +}, { + // 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, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 +} }; +#endif diff --git a/keyboards/aliceh66/pianoforte/readme.md b/keyboards/aliceh66/pianoforte/readme.md index 05e17bb94c..aadd975b79 100644 --- a/keyboards/aliceh66/pianoforte/readme.md +++ b/keyboards/aliceh66/pianoforte/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): 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 -Press and hold the reset button to enter bootloader mode. +Press and hold the reset button to enter bootloader mode. \ No newline at end of file diff --git a/keyboards/aliceh66/pianoforte_hs/readme.md b/keyboards/aliceh66/pianoforte_hs/readme.md index 2f6c2b112d..6b05e06805 100644 --- a/keyboards/aliceh66/pianoforte_hs/readme.md +++ b/keyboards/aliceh66/pianoforte_hs/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): 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 -Press and hold the reset button to enter bootloader mode. +Press and hold the reset button to enter bootloader mode. \ No newline at end of file diff --git a/keyboards/alpaca/wfeclipse/keyboard.json b/keyboards/alpaca/wfeclipse/keyboard.json index 682772445d..da0ebe388a 100644 --- a/keyboards/alpaca/wfeclipse/keyboard.json +++ b/keyboards/alpaca/wfeclipse/keyboard.json @@ -206,4 +206,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/amjkeyboard/amj66/keymaps/default/readme.md b/keyboards/amjkeyboard/amj66/keymaps/default/readme.md index 90efe9d22a..c250695efd 100644 --- a/keyboards/amjkeyboard/amj66/keymaps/default/readme.md +++ b/keyboards/amjkeyboard/amj66/keymaps/default/readme.md @@ -9,4 +9,4 @@ Backlight breathing: Fn + , Volume Up/Down: Fn + [ and Fn + ] Mute: Fn + \ Sleep: Fn + / -Bootloader Mode: Fn + CapsLock +Bootloader Mode: Fn + CapsLock \ No newline at end of file diff --git a/keyboards/an_achronism/tetromino/config.h b/keyboards/an_achronism/tetromino/config.h new file mode 100644 index 0000000000..c7087edb88 --- /dev/null +++ b/keyboards/an_achronism/tetromino/config.h @@ -0,0 +1,31 @@ +/* +Copyright 2022 an_achronism (@an-achronism) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/anavi/macropad8/config.h b/keyboards/anavi/macropad8/config.h index edcc85f722..f7c7b4b44c 100644 --- a/keyboards/anavi/macropad8/config.h +++ b/keyboards/anavi/macropad8/config.h @@ -17,5 +17,8 @@ along with this program. If not, see . #pragma once -#define OLED_DISPLAY_128X64 -#define OLED_TIMEOUT 60000 +#ifdef OLED_ENABLE +# define OLED_DISPLAY_128X64 +# define OLED_TIMEOUT 60000 +# define OLED_FONT_H "keyboards/anavi/macropad8/glcdfont.c" +#endif diff --git a/keyboards/anavi/macropad8/glcdfont.c b/keyboards/anavi/macropad8/glcdfont.c new file mode 100644 index 0000000000..10ce3b3457 --- /dev/null +++ b/keyboards/anavi/macropad8/glcdfont.c @@ -0,0 +1,232 @@ +#include "progmem.h" + +// Corne 8x6 font with QMK Firmware Logo +// Online editor: https://helixfonteditor.netlify.com/ + +// clang-format off +const unsigned char font[] PROGMEM = { +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, +0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, +0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, +0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, +0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, +0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, +0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, +0x00, 0x18, 0x24, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, +0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, +0x26, 0x29, 0x79, 0x29, 0x26, 0x00, +0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, +0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, +0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, +0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, +0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, +0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, +0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, +0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, +0x60, 0x60, 0x60, 0x60, 0x60, 0x00, +0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, +0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, +0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, +0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, +0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, +0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, +0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, +0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, +0x00, 0x07, 0x00, 0x07, 0x00, 0x00, +0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, +0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, +0x23, 0x13, 0x08, 0x64, 0x62, 0x00, +0x36, 0x49, 0x56, 0x20, 0x50, 0x00, +0x00, 0x08, 0x07, 0x03, 0x00, 0x00, +0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, +0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, +0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, +0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, +0x00, 0x80, 0x70, 0x30, 0x00, 0x00, +0x08, 0x08, 0x08, 0x08, 0x08, 0x00, +0x00, 0x00, 0x60, 0x60, 0x00, 0x00, +0x20, 0x10, 0x08, 0x04, 0x02, 0x00, +0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, +0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, +0x72, 0x49, 0x49, 0x49, 0x46, 0x00, +0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, +0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, +0x27, 0x45, 0x45, 0x45, 0x39, 0x00, +0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, +0x41, 0x21, 0x11, 0x09, 0x07, 0x00, +0x36, 0x49, 0x49, 0x49, 0x36, 0x00, +0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, +0x00, 0x00, 0x14, 0x00, 0x00, 0x00, +0x00, 0x40, 0x34, 0x00, 0x00, 0x00, +0x00, 0x08, 0x14, 0x22, 0x41, 0x00, +0x14, 0x14, 0x14, 0x14, 0x14, 0x00, +0x00, 0x41, 0x22, 0x14, 0x08, 0x00, +0x02, 0x01, 0x59, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, +0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, +0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, +0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, +0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, +0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, +0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, +0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, +0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, +0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, +0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, +0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, +0x26, 0x49, 0x49, 0x49, 0x32, 0x00, +0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, +0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, +0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, +0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, +0x63, 0x14, 0x08, 0x14, 0x63, 0x00, +0x03, 0x04, 0x78, 0x04, 0x03, 0x00, +0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, +0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, +0x02, 0x04, 0x08, 0x10, 0x20, 0x00, +0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, +0x04, 0x02, 0x01, 0x02, 0x04, 0x00, +0x40, 0x40, 0x40, 0x40, 0x40, 0x00, +0x00, 0x03, 0x07, 0x08, 0x00, 0x00, +0x20, 0x54, 0x54, 0x78, 0x40, 0x00, +0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, +0x38, 0x44, 0x44, 0x44, 0x28, 0x00, +0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, +0x38, 0x54, 0x54, 0x54, 0x18, 0x00, +0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, +0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, +0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, +0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, +0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, +0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, +0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, +0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, +0x38, 0x44, 0x44, 0x44, 0x38, 0x00, +0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, +0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, +0x48, 0x54, 0x54, 0x54, 0x24, 0x00, +0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, +0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, +0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, +0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, +0x44, 0x28, 0x10, 0x28, 0x44, 0x00, +0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, +0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, +0x00, 0x08, 0x36, 0x41, 0x00, 0x00, +0x00, 0x00, 0x77, 0x00, 0x00, 0x00, +0x00, 0x41, 0x36, 0x08, 0x00, 0x00, +0x02, 0x01, 0x02, 0x04, 0x02, 0x00, +0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, +0xF0, 0xF8, 0xF8, 0x18, 0x00, 0xC0, +0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, +0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, +0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, +0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, +0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, +0x00, 0x00, 0x00, 0xE0, 0xE0, 0xC0, +0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, +0x00, 0xE0, 0xE0, 0xC0, 0xC0, 0xE0, +0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, +0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, +0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, +0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, +0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, +0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, +0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, +0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, +0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, +0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, +0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFE, +0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0x1F, 0x07, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0xFF, 0xFF, 0xFF, 0x81, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x81, +0xC3, 0xC3, 0xC3, 0x00, 0x00, 0xFF, +0xFF, 0xFF, 0x81, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, +0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, +0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, +0x9D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, +0x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, +0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, +0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, +0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, +0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, +0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, +0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, +0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, +0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F, +0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x3F, +0x3F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, +0x7F, 0x7C, 0x78, 0x78, 0x38, 0x1C, +0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x03, 0x07, 0x07, +0x07, 0x07, 0x07, 0x07, 0x07, 0x07, +0x03, 0x01, 0x00, 0x00, 0x00, 0x00, +0x01, 0x03, 0x07, 0x07, 0x07, 0x07, +0x07, 0x07, 0x07, 0x07, 0x03, 0x01, +0x00, 0x00, 0x00, 0x07, 0x07, 0x07, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x07, 0x07, 0x07, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x07, +0x07, 0x00, 0x00, 0x00, 0x01, 0x03, +0x07, 0x07, 0x07, 0x07, 0x07, 0x07, +0x07, 0x07, 0x03, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/keyboards/anavi/macropad8/keyboard.json b/keyboards/anavi/macropad8/keyboard.json index 2fb24e58bb..8073a038a2 100644 --- a/keyboards/anavi/macropad8/keyboard.json +++ b/keyboards/anavi/macropad8/keyboard.json @@ -20,8 +20,10 @@ "breathing": true, "rainbow_mood": true, "rainbow_swirl": true, + "snake": true, "knight": true, "static_gradient": true, + "rgb_test": true, "alternating": true, "twinkle": true } diff --git a/keyboards/annepro2/boards/ANNEPRO2_C15/board.h b/keyboards/annepro2/boards/ANNEPRO2_C15/board.h index 7345b24231..0a044ea181 100644 --- a/keyboards/annepro2/boards/ANNEPRO2_C15/board.h +++ b/keyboards/annepro2/boards/ANNEPRO2_C15/board.h @@ -36,4 +36,4 @@ void boardInit(void); #ifdef __cplusplus } #endif -#endif /* _FROM_ASM_ */ +#endif /* _FROM_ASM_ */ \ No newline at end of file diff --git a/keyboards/annepro2/chconf.h b/keyboards/annepro2/chconf.h index 908a19920f..51fe38cf27 100644 --- a/keyboards/annepro2/chconf.h +++ b/keyboards/annepro2/chconf.h @@ -28,4 +28,4 @@ #define CH_CFG_TIME_QUANTUM 20 -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/ano/readme.md b/keyboards/ano/readme.md index 483e3c78af..594d4bc69c 100644 --- a/keyboards/ano/readme.md +++ b/keyboards/ano/readme.md @@ -17,4 +17,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 2 ways: * Physical reset button: Briefly press the button on the back of the PCB - or short reset and ground pins -* Keycode in layout: Press the key mapped to `QK_BOOT`. By default this is done by pressing RALT to access second layer and pressing rotary encoder down. +* Keycode in layout: Press the key mapped to `QK_BOOT`. By default this is done by pressing RALT to access second layer and pressing rotary encoder down. \ No newline at end of file diff --git a/keyboards/aokay/mid1/keyboard.json b/keyboards/aokay/mid1/keyboard.json deleted file mode 100644 index acd32905ba..0000000000 --- a/keyboards/aokay/mid1/keyboard.json +++ /dev/null @@ -1,245 +0,0 @@ -{ - "manufacturer": "A.Okay!", - "keyboard_name": "MID.1", - "maintainer": "sizezero", - "bootloader": "atmel-dfu", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "D1", "pin_b": "D2"}, - {"pin_a": "D3", "pin_b": "D5"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["E6", "B0", "F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5"], - "rows": ["B4", "D7", "D6", "D4"] - }, - "processor": "atmega32u4", - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "rgblight": { - "animations": { - "breathing": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true - }, - "brightness_steps": 8, - "default": { - "hue": 15, - "val": 128 - }, - "hue_steps": 5, - "led_count": 8, - "max_brightness": 200, - "saturation_steps": 8, - "sleep": true - }, - "url": "https://www.aokay.cool/mid-1", - "usb": { - "device_version": "0.1.0", - "pid": "0x414F", - "vid": "0x1001" - }, - "ws2812": { - "pin": "D0" - }, - "layouts": { - "LAYOUT_all": { - "layout": [ - {"label": "sw1", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "sw2", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "sw3", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "sw4", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "sw5", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "sw6", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "sw7", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "sw8", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "sw9", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "sw10", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": "sw11", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "sw12", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "sw13", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, - {"label": "sw14", "matrix": [1, 1], "x": 1.25, "y": 1}, - {"label": "sw15", "matrix": [1, 2], "x": 2.25, "y": 1}, - {"label": "sw16", "matrix": [1, 3], "x": 3.25, "y": 1}, - {"label": "sw17", "matrix": [1, 4], "x": 4.25, "y": 1}, - {"label": "sw18", "matrix": [1, 5], "x": 5.25, "y": 1}, - {"label": "sw19", "matrix": [1, 6], "x": 6.25, "y": 1}, - {"label": "sw20", "matrix": [1, 7], "x": 7.25, "y": 1}, - {"label": "sw21", "matrix": [1, 8], "x": 8.25, "y": 1}, - {"label": "sw22", "matrix": [1, 9], "x": 9.25, "y": 1}, - {"label": "sw23", "matrix": [1, 10], "x": 10.25, "y": 1, "w": 1.75}, - {"label": "sw24", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "sw25", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "sw26", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "sw27", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "sw28", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "sw29", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "sw30", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "sw31", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "sw32", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "sw33", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": "sw34", "matrix": [2, 10], "x": 10.75, "y": 2, "w": 1.25}, - {"label": "sw35", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.5}, - {"label": "sw36", "matrix": [3, 1], "x": 1.5, "y": 3}, - {"label": "sw37", "matrix": [3, 2], "x": 2.5, "y": 3}, - {"label": "sw38", "matrix": [3, 3], "x": 3.5, "y": 5, "w": 2.25}, - {"label": "sw39", "matrix": [3, 4], "x": 3.5, "y": 3, "w": 2.75}, - {"label": "sw40", "matrix": [3, 5], "x": 2.5, "y": 4, "w": 7}, - {"label": "sw41", "matrix": [3, 6], "x": 6.25, "y": 3, "w": 2.25}, - {"label": "sw42", "matrix": [3, 7], "x": 6.75, "y": 5, "w": 2.75}, - {"label": "sw43", "matrix": [3, 8], "x": 8.5, "y": 3}, - {"label": "sw44", "matrix": [3, 9], "x": 9.5, "y": 3}, - {"label": "sw45", "matrix": [3, 10], "x": 10.5, "y": 3, "w": 1.5} - ] - }, - "LAYOUT_275u_225u": { - "layout": [ - {"label": "sw1", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "sw2", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "sw3", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "sw4", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "sw5", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "sw6", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "sw7", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "sw8", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "sw9", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "sw10", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": "sw11", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "sw12", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "sw13", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, - {"label": "sw14", "matrix": [1, 1], "x": 1.25, "y": 1}, - {"label": "sw15", "matrix": [1, 2], "x": 2.25, "y": 1}, - {"label": "sw16", "matrix": [1, 3], "x": 3.25, "y": 1}, - {"label": "sw17", "matrix": [1, 4], "x": 4.25, "y": 1}, - {"label": "sw18", "matrix": [1, 5], "x": 5.25, "y": 1}, - {"label": "sw19", "matrix": [1, 6], "x": 6.25, "y": 1}, - {"label": "sw20", "matrix": [1, 7], "x": 7.25, "y": 1}, - {"label": "sw21", "matrix": [1, 8], "x": 8.25, "y": 1}, - {"label": "sw22", "matrix": [1, 9], "x": 9.25, "y": 1}, - {"label": "sw23", "matrix": [1, 10], "x": 10.25, "y": 1, "w": 1.75}, - {"label": "sw24", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "sw25", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "sw26", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "sw27", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "sw28", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "sw29", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "sw30", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "sw31", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "sw32", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "sw33", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": "sw34", "matrix": [2, 10], "x": 10.75, "y": 2, "w": 1.25}, - {"label": "sw35", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.5}, - {"label": "sw36", "matrix": [3, 1], "x": 1.5, "y": 3}, - {"label": "sw37", "matrix": [3, 2], "x": 2.5, "y": 3}, - {"label": "sw39", "matrix": [3, 4], "x": 3.5, "y": 3, "w": 2.75}, - {"label": "sw41", "matrix": [3, 6], "x": 6.25, "y": 3, "w": 2.25}, - {"label": "sw43", "matrix": [3, 8], "x": 8.5, "y": 3}, - {"label": "sw44", "matrix": [3, 9], "x": 9.5, "y": 3}, - {"label": "sw45", "matrix": [3, 10], "x": 10.5, "y": 3, "w": 1.5} - ] - }, - "LAYOUT_7u": { - "layout": [ - {"label": "sw1", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "sw2", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "sw3", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "sw4", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "sw5", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "sw6", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "sw7", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "sw8", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "sw9", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "sw10", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": "sw11", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "sw12", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "sw13", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, - {"label": "sw14", "matrix": [1, 1], "x": 1.25, "y": 1}, - {"label": "sw15", "matrix": [1, 2], "x": 2.25, "y": 1}, - {"label": "sw16", "matrix": [1, 3], "x": 3.25, "y": 1}, - {"label": "sw17", "matrix": [1, 4], "x": 4.25, "y": 1}, - {"label": "sw18", "matrix": [1, 5], "x": 5.25, "y": 1}, - {"label": "sw19", "matrix": [1, 6], "x": 6.25, "y": 1}, - {"label": "sw20", "matrix": [1, 7], "x": 7.25, "y": 1}, - {"label": "sw21", "matrix": [1, 8], "x": 8.25, "y": 1}, - {"label": "sw22", "matrix": [1, 9], "x": 9.25, "y": 1}, - {"label": "sw23", "matrix": [1, 10], "x": 10.25, "y": 1, "w": 1.75}, - {"label": "sw24", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "sw25", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "sw26", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "sw27", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "sw28", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "sw29", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "sw30", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "sw31", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "sw32", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "sw33", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": "sw34", "matrix": [2, 10], "x": 10.75, "y": 2, "w": 1.25}, - {"label": "sw35", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.5}, - {"label": "sw36", "matrix": [3, 1], "x": 1.5, "y": 3}, - {"label": "sw40", "matrix": [3, 5], "x": 2.5, "y": 3, "w": 7}, - {"label": "sw44", "matrix": [3, 9], "x": 9.5, "y": 3}, - {"label": "sw45", "matrix": [3, 10], "x": 10.5, "y": 3, "w": 1.5} - ] - }, - "LAYOUT_225u_1u_275u": { - "layout": [ - {"label": "sw1", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "sw2", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "sw3", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "sw4", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "sw5", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "sw6", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "sw7", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "sw8", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "sw9", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "sw10", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": "sw11", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "sw12", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "sw13", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, - {"label": "sw14", "matrix": [1, 1], "x": 1.25, "y": 1}, - {"label": "sw15", "matrix": [1, 2], "x": 2.25, "y": 1}, - {"label": "sw16", "matrix": [1, 3], "x": 3.25, "y": 1}, - {"label": "sw17", "matrix": [1, 4], "x": 4.25, "y": 1}, - {"label": "sw18", "matrix": [1, 5], "x": 5.25, "y": 1}, - {"label": "sw19", "matrix": [1, 6], "x": 6.25, "y": 1}, - {"label": "sw20", "matrix": [1, 7], "x": 7.25, "y": 1}, - {"label": "sw21", "matrix": [1, 8], "x": 8.25, "y": 1}, - {"label": "sw22", "matrix": [1, 9], "x": 9.25, "y": 1}, - {"label": "sw23", "matrix": [1, 10], "x": 10.25, "y": 1, "w": 1.75}, - {"label": "sw24", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"label": "sw25", "matrix": [2, 1], "x": 1.75, "y": 2}, - {"label": "sw26", "matrix": [2, 2], "x": 2.75, "y": 2}, - {"label": "sw27", "matrix": [2, 3], "x": 3.75, "y": 2}, - {"label": "sw28", "matrix": [2, 4], "x": 4.75, "y": 2}, - {"label": "sw29", "matrix": [2, 5], "x": 5.75, "y": 2}, - {"label": "sw30", "matrix": [2, 6], "x": 6.75, "y": 2}, - {"label": "sw31", "matrix": [2, 7], "x": 7.75, "y": 2}, - {"label": "sw32", "matrix": [2, 8], "x": 8.75, "y": 2}, - {"label": "sw33", "matrix": [2, 9], "x": 9.75, "y": 2}, - {"label": "sw34", "matrix": [2, 10], "x": 10.75, "y": 2, "w": 1.25}, - {"label": "sw35", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.5}, - {"label": "sw36", "matrix": [3, 1], "x": 1.5, "y": 3}, - {"label": "sw37", "matrix": [3, 2], "x": 2.5, "y": 3}, - {"label": "sw38", "matrix": [3, 3], "x": 3.5, "y": 3, "w": 2.25}, - {"label": "sw40", "matrix": [3, 5], "x": 5.75, "y": 3}, - {"label": "sw42", "matrix": [3, 7], "x": 6.75, "y": 3, "w": 2.75}, - {"label": "sw44", "matrix": [3, 9], "x": 9.5, "y": 3}, - {"label": "sw45", "matrix": [3, 10], "x": 10.5, "y": 3, "w": 1.5} - ] - } - } -} diff --git a/keyboards/aokay/mid1/keymaps/default/keymap.json b/keyboards/aokay/mid1/keymaps/default/keymap.json deleted file mode 100644 index 0e350f4fa7..0000000000 --- a/keyboards/aokay/mid1/keymaps/default/keymap.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "config": { - "features": { - "encoder_map": true - } - }, - "encoders": [ - [ - { - "ccw": "KC_VOLD", - "cw": "KC_VOLU" - }, - { - "ccw": "KC_PGUP", - "cw": "KC_PGDN" - } - ], - [ - { - "ccw": "UG_VALD", - "cw": "UG_VALU" - }, - { - "ccw": "UG_HUED", - "cw": "UG_HUEU" - } - ], - [ - { - "ccw": "UG_PREV", - "cw": "UG_NEXT" - }, - { - "ccw": "UG_SATD", - "cw": "UG_SATU" - } - ] - ], - "keyboard": "aokay/mid1", - "keymap": "default", - "layout": "LAYOUT_all", - "layers": [ - [ - "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_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_ENT" - "KC_ENT" - "MO(1)" - "KC_SPC" - "KC_SPC" - "MO(1)", "MO(2)", "KC_RCTL" - ], - [ - "QK_BOOT", "KC_TRNS", "KC_7", "KC_8", "KC_9", "KC_0", "KC_PAST", "KC_HOME", "KC_UP", "KC_END", "KC_TRNS", "KC_DEL" - "KC_CAPS", "KC_TRNS", "KC_4", "KC_5", "KC_6", "KC_MINS", "KC_SLSH", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_QUOT" - "KC_COMM", "KC_DOT", "KC_1", "KC_2", "KC_3", "KC_EQL", "KC_PPLS", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_TRNS" - "UG_TOGG", "KC_TRNS", "KC_TRNS" - "KC_0" - "KC_0" - "KC_TRNS" - "KC_TRNS" - "KC_TRNS" - "KC_TRNS", "KC_TRNS", "KC_TRNS" - ], - [ - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "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/aokay/mid1/readme.md b/keyboards/aokay/mid1/readme.md deleted file mode 100644 index 05c3305d1f..0000000000 --- a/keyboards/aokay/mid1/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# MID.1 - -![MID.1 photo](https://i.imgur.com/aPsvygY.jpeg) - -## Description - -A 40% keyboard with a staggered 4x12 layout and hotswap PCB. - -* Keyboard Maintainer: [Sean O'Neill](https://github.com/oneillseanm) -* Hardware Supported: MID.1 -* Hardware Availability: [MID.1 product page](https://www.aokay.cool/mid-1) - -## Setup - -Make example for this keyboard (after setting up your build environment): - - make aokay/mid1:default - -Flashing example for this keyboard: - - make aokay/mid1: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 three ways: - -* **Bootmagic reset**: Hold down `Esc` and plug in the keyboard. `Esc` is assigned to the top left key in the default keymap. -* **Keycode in layout**: Press `Fn+ESC` for `QK_BOOT`. `Fn` is assigned to the key to the right of the spacebar/split spacebar in the default keymap. -* **Physical reset button**: Briefly press the button on the back of the PCB, accessible through the bottom case. diff --git a/keyboards/aokay/readme.md b/keyboards/aokay/readme.md deleted file mode 100644 index c5520043a8..0000000000 --- a/keyboards/aokay/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# A.Okay! - -This directory contains keyboards designed by **A.Okay!**, a small independent studio focused on thoughtfuly-designed physical products. - -Based in Seattle, Washington. - -**Website:** https://www.aokay.cool/ diff --git a/keyboards/archerkeyboard/desire65/readme.md b/keyboards/archerkeyboard/desire65/readme.md index b8ee33931f..5d170ad475 100644 --- a/keyboards/archerkeyboard/desire65/readme.md +++ b/keyboards/archerkeyboard/desire65/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/archetype/minervalx/config.h b/keyboards/archetype/minervalx/config.h index 5c99920073..3b5eb8e56a 100644 --- a/keyboards/archetype/minervalx/config.h +++ b/keyboards/archetype/minervalx/config.h @@ -16,5 +16,7 @@ #pragma once +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET + #define BACKLIGHT_PWM_DRIVER PWMD5 -#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A \ No newline at end of file diff --git a/keyboards/archetype/minervalx/readme.md b/keyboards/archetype/minervalx/readme.md index 7d3c50d04f..365fd375e5 100644 --- a/keyboards/archetype/minervalx/readme.md +++ b/keyboards/archetype/minervalx/readme.md @@ -21,4 +21,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch) * **Keycode in layout**: Press the key mapped to `QK_BOOT` if available -* **Physical Reset Button**: With the PCB unplugged, hold down the button labled `RESET` on the back of the PCB while pluggin in the USB. +* **Physical Reset Button**: With the PCB unplugged, hold down the button labled `RESET` on the back of the PCB while pluggin in the USB. \ No newline at end of file diff --git a/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json b/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json index e767dde00c..9717ada94f 100644 --- a/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json +++ b/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json @@ -4,6 +4,7 @@ "maintainer": "jasonj2232", "development_board": "promicro", "diode_direction": "COL2ROW", + "url": "https://qmk.fm/keyboards/", "usb": { "device_version": "0.0.1", "pid": "0x4930", diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json b/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json index 7639817a32..54a5b72d5a 100644 --- a/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json +++ b/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json @@ -5,6 +5,7 @@ "development_board": "elite_c", "pin_compatible": "elite_c", "diode_direction": "COL2ROW", + "url": "https://qmk.fm/keyboards/", "usb": { "device_version": "0.0.1", "pid": "0x4930", diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/keymap.c b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/keymap.c index ef74deecd0..b522997e6f 100644 --- a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/keymap.c +++ b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/keymap.c @@ -46,4 +46,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BL] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [UL] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/rules.mk b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/rules.mk +++ b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/argyle/keyboard.json b/keyboards/argyle/keyboard.json index 95acd2bfb1..a7bfc335df 100755 --- a/keyboards/argyle/keyboard.json +++ b/keyboards/argyle/keyboard.json @@ -11,6 +11,7 @@ }, "matrix_pins": { "cols": ["D1", "D4", "D5", "D6", "D7", "B0", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN"], + "custom": true, "custom_lite": true, "rows": ["D0", "C3", "B1", "B2", "B3"] }, @@ -974,4 +975,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/arrayperipherals/1x4p1/keymaps/default/readme.md b/keyboards/arrayperipherals/1x4p1/keymaps/default/readme.md index 84376d4fb4..ba50c6bd2e 100644 --- a/keyboards/arrayperipherals/1x4p1/keymaps/default/readme.md +++ b/keyboards/arrayperipherals/1x4p1/keymaps/default/readme.md @@ -2,4 +2,4 @@ # Default [1x4] + 1 Macropad Layout -This is the default layout that comes flashed on every [1x4] + 1 Macropad. The right most key (red) is the rotary and the key is binded to layer switching. The second layer is left blank for the user. +This is the default layout that comes flashed on every [1x4] + 1 Macropad. The right most key (red) is the rotary and the key is binded to layer switching. The second layer is left blank for the user. \ No newline at end of file diff --git a/keyboards/arrayperipherals/vector/keymaps/default/keymap.c b/keyboards/arrayperipherals/vector/keymaps/default/keymap.c index 7a248aada5..e290e37076 100644 --- a/keyboards/arrayperipherals/vector/keymaps/default/keymap.c +++ b/keyboards/arrayperipherals/vector/keymaps/default/keymap.c @@ -33,4 +33,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [1] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, }; -#endif // ENCODER_MAP_ENABLE +#endif // ENCODER_MAP_ENABLE \ No newline at end of file diff --git a/keyboards/arrayperipherals/vector/keymaps/default/rules.mk b/keyboards/arrayperipherals/vector/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/arrayperipherals/vector/keymaps/default/rules.mk +++ b/keyboards/arrayperipherals/vector/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/arrayperipherals/vector/readme.md b/keyboards/arrayperipherals/vector/readme.md index 093609fa3f..dee7dc8f9a 100644 --- a/keyboards/arrayperipherals/vector/readme.md +++ b/keyboards/arrayperipherals/vector/readme.md @@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 2 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (left most from the rotary) -* **Physical reset button**: Briefly double press the button on the back of the PCB +* **Physical reset button**: Briefly double press the button on the back of the PCB \ No newline at end of file diff --git a/keyboards/artifact/lvl/rev_hs01/keyboard.json b/keyboards/artifact/lvl/rev_hs01/keyboard.json index ea2182880a..1b58750155 100755 --- a/keyboards/artifact/lvl/rev_hs01/keyboard.json +++ b/keyboards/artifact/lvl/rev_hs01/keyboard.json @@ -229,4 +229,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/artifact/stratum/config.h b/keyboards/artifact/stratum/config.h deleted file mode 100755 index 40c94de21b..0000000000 --- a/keyboards/artifact/stratum/config.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2026 Yiancar -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* RGB Light */ -#define WS2812_PWM_DRIVER PWMD1 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM5 -#define WS2812_PWM_DMA_CHANNEL 5 diff --git a/keyboards/artifact/stratum/halconf.h b/keyboards/artifact/stratum/halconf.h deleted file mode 100644 index bf838f7ad9..0000000000 --- a/keyboards/artifact/stratum/halconf.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2026 Yiancar -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/artifact/stratum/keyboard.json b/keyboards/artifact/stratum/keyboard.json deleted file mode 100755 index 3b6d5f306b..0000000000 --- a/keyboards/artifact/stratum/keyboard.json +++ /dev/null @@ -1,885 +0,0 @@ -{ - "manufacturer": "Yiancar-Designs", - "keyboard_name": "Stratum 80", - "maintainer": "Yiancar-Designs", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "indicators": { - "caps_lock": "B6", - "on_state": 0 - }, - "matrix_pins": { - "cols": ["A1", "B9", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8"], - "rows": ["A2", "A14", "A15", "B3", "B4", "B5"] - }, - "processor": "STM32F072", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "rgb_test": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "default": { - "sat": 0 - }, - "max_brightness": 160, - "led_count": 25 - }, - "url": "https://yiancar-designs.com", - "usb": { - "device_version": "0.0.1", - "pid": "0x4C57", - "vid": "0x8968" - }, - "ws2812": { - "driver": "pwm", - "pin": "A9" - }, - "community_layouts": ["tkl_ansi", "tkl_ansi_tsangan", "tkl_ansi_split_bs_rshift", "tkl_ansi_tsangan_split_bs_rshift", "tkl_iso", "tkl_iso_split_bs_rshift", "tkl_iso_tsangan", "tkl_iso_tsangan_split_bs_rshift"], - "layouts": { - "LAYOUT_all": { - "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 }, - { "matrix": [0, 13], "x": 14, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "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], "w": 1.5, "x": 13.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "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], "w": 2.25, "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 13], "x": 14, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, - { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, - { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.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": { - "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], "w": 2, "x": 13, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "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], "w": 1.5, "x": 13.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "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], "w": 2.25, "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, - { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, - { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.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_split_bs_rshift": { - "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 }, - { "matrix": [0, 13], "x": 14, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "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], "w": 1.5, "x": 13.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "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], "w": 2.25, "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 13], "x": 14, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, - { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, - { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.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], "w": 2, "x": 13, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "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], "w": 1.5, "x": 13.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "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], "w": 2.25, "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.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_split_bs_rshift": { - "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 }, - { "matrix": [0, 13], "x": 14, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "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], "w": 1.5, "x": 13.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "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], "w": 2.25, "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 13], "x": 14, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.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_iso": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 2, "y": 0 }, - { "matrix": [0, 2], "x": 3, "y": 0 }, - { "matrix": [0, 3], "x": 4, "y": 0 }, - { "matrix": [0, 4], "x": 5, "y": 0 }, - { "matrix": [0, 5], "x": 6.5, "y": 0 }, - { "matrix": [0, 6], "x": 7.5, "y": 0 }, - { "matrix": [0, 7], "x": 8.5, "y": 0 }, - { "matrix": [0, 8], "x": 9.5, "y": 0 }, - { "matrix": [0, 9], "x": 11, "y": 0 }, - { "matrix": [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], "w": 2, "x": 13, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [2, 12], "x": 12.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 12], "x": 12.75, "y": 3.25 }, - { "h": 2, "matrix": [3, 13], "w": 1.25, "x": 13.75, "y": 2.25 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, - { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, - { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.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_iso_split_bs_rshift": { - "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 }, - { "matrix": [0, 13], "x": 14, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [2, 12], "x": 12.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 12], "x": 12.75, "y": 3.25 }, - { "h": 2, "matrix": [3, 13], "w": 1.25, "x": 13.75, "y": 2.25 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 13], "x": 14, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, - { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, - { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.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_iso_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], "w": 2, "x": 13, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [2, 12], "x": 12.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 12], "x": 12.75, "y": 3.25 }, - { "h": 2, "matrix": [3, 13], "w": 1.25, "x": 13.75, "y": 2.25 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.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_iso_tsangan_split_bs_rshift": { - "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 }, - { "matrix": [0, 13], "x": 14, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [2, 12], "x": 12.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 12], "x": 12.75, "y": 3.25 }, - { "h": 2, "matrix": [3, 13], "w": 1.25, "x": 13.75, "y": 2.25 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 13], "x": 14, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, - { "matrix": [5, 16], "x": 17.25, "y": 5.25 } - ] - } - } -} diff --git a/keyboards/artifact/stratum/keymaps/default/keymap.c b/keyboards/artifact/stratum/keymaps/default/keymap.c deleted file mode 100644 index 08cd273e64..0000000000 --- a/keyboards/artifact/stratum/keymaps/default/keymap.c +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2026 Yiancar -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_all( /* 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_DEL, 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_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, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT) -}; diff --git a/keyboards/artifact/stratum/mcuconf.h b/keyboards/artifact/stratum/mcuconf.h deleted file mode 100644 index 0b1ef37e16..0000000000 --- a/keyboards/artifact/stratum/mcuconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2026 Yiancar -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef STM32_PWM_USE_TIM1 -#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/artifact/stratum/readme.md b/keyboards/artifact/stratum/readme.md deleted file mode 100755 index 78043fe830..0000000000 --- a/keyboards/artifact/stratum/readme.md +++ /dev/null @@ -1,32 +0,0 @@ -# Stratum - -This is a standard TKL layout PCB. It supports VIA. - -* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) -* Hardware Supported: A TKL keyboard with STM32F072CB -* Hardware Availability: https://artifact-industries.com - -## Instructions - -### Build - -Make example for this keyboard (after setting up your build environment): - - make artifact/stratum:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -### Reset - -- Unplug -- Hold Escape -- Plug In -- Unplug -- Release Escape - -### Flash - -- Unplug -- Hold Escape -- Plug In -- Flash using QMK Toolbox or CLI (`make artifact/stratum::flash`) diff --git a/keyboards/artifact/stratum/stratum.c b/keyboards/artifact/stratum/stratum.c deleted file mode 100755 index 1c5c64a60f..0000000000 --- a/keyboards/artifact/stratum/stratum.c +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2026 Yiancar -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -void led_init_ports(void) { - // Set our LED pins as open drain outputs - gpio_set_pin_output_open_drain(LED_CAPS_LOCK_PIN); -} diff --git a/keyboards/ash_xiix/keyboard.json b/keyboards/ash_xiix/keyboard.json index 6ff547f2cf..c1ba811d32 100644 --- a/keyboards/ash_xiix/keyboard.json +++ b/keyboards/ash_xiix/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "XIIX", "manufacturer": "ASH", + "url": "config.qmk.fm", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c b/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c index 85c0556769..afe041d515 100644 --- a/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c +++ b/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c @@ -34,4 +34,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, RM_HUEU, RM_SPDD, _______, _______, _______, _______, _______, _______, RM_SATD, RM_HUED, RM_SATU) -}; +}; \ No newline at end of file diff --git a/keyboards/atlantis/ak81_ve/readme.md b/keyboards/atlantis/ak81_ve/readme.md index 1762490914..ab1fee5a48 100644 --- a/keyboards/atlantis/ak81_ve/readme.md +++ b/keyboards/atlantis/ak81_ve/readme.md @@ -20,4 +20,4 @@ Enter the bootloader in 2 ways: * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available * **Physical reset pins**: Briefly short the reset pins using tweezers, a paperclip, or any other conductive material. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/atlantis/ps17/keyboard.json b/keyboards/atlantis/ps17/keyboard.json index 9d0a9ca8ef..3c7f50be0b 100644 --- a/keyboards/atlantis/ps17/keyboard.json +++ b/keyboards/atlantis/ps17/keyboard.json @@ -2,6 +2,7 @@ "manufacturer": "Atlantis", "keyboard_name": "PS17", "maintainer": "mjbogusz", + "url": "https://qmk.fm/keyboards/", "processor": "atmega32u4", "bootloader": "atmel-dfu", "bootloader_instructions": "To reset the board into bootloader mode, tap the Reset switch mounted on the bottom of the PCB.", diff --git a/keyboards/atlantis/readme.md b/keyboards/atlantis/readme.md index 2f15b5a0c3..50a2cc2fed 100644 --- a/keyboards/atlantis/readme.md +++ b/keyboards/atlantis/readme.md @@ -4,4 +4,4 @@ A company that has been known to create some unorthodox and unique styled keyboa Atlantis also produce some more traditional layouts like the AK81 a 75% layout (AK81_VE variant includes a rotary enconder) and a large range of macro pads. -Atlantis seem to be operating mainly out of Malaysia, products can be difficult to source internationally. +Atlantis seem to be operating mainly out of Malaysia, products can be difficult to source internationally. \ No newline at end of file diff --git a/keyboards/atomic/readme.md b/keyboards/atomic/readme.md index 235fcfedb4..0561c4fea5 100644 --- a/keyboards/atomic/readme.md +++ b/keyboards/atomic/readme.md @@ -13,4 +13,4 @@ Make example for this keyboard (after setting up your build environment): make atomic:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file diff --git a/keyboards/atreus/astar/keyboard.json b/keyboards/atreus/astar/keyboard.json index b730442a55..e201078ffe 100644 --- a/keyboards/atreus/astar/keyboard.json +++ b/keyboards/atreus/astar/keyboard.json @@ -5,64 +5,5 @@ }, "diode_direction": "COL2ROW", "processor": "atmega32u4", - "bootloader": "caterina", - "layout_aliases": { - "LAYOUT_pcb_up": "LAYOUT", - "LAYOUT_pcb_down": "LAYOUT" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.6}, - {"matrix": [0, 1], "x": 1, "y": 0.35}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0.35}, - {"matrix": [0, 4], "x": 4, "y": 0.7}, - - {"matrix": [0, 6], "x": 8, "y": 0.7}, - {"matrix": [0, 7], "x": 9, "y": 0.35}, - {"matrix": [0, 8], "x": 10, "y": 0}, - {"matrix": [0, 9], "x": 11, "y": 0.35}, - {"matrix": [0, 10], "x": 12, "y": 0.6}, - - {"matrix": [1, 0], "x": 0, "y": 1.6}, - {"matrix": [1, 1], "x": 1, "y": 1.35}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1.35}, - {"matrix": [1, 4], "x": 4, "y": 1.7}, - - {"matrix": [1, 6], "x": 8, "y": 1.7}, - {"matrix": [1, 7], "x": 9, "y": 1.35}, - {"matrix": [1, 8], "x": 10, "y": 1}, - {"matrix": [1, 9], "x": 11, "y": 1.35}, - {"matrix": [1, 10], "x": 12, "y": 1.6}, - - {"matrix": [2, 0], "x": 0, "y": 2.6}, - {"matrix": [2, 1], "x": 1, "y": 2.35}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2.35}, - {"matrix": [2, 4], "x": 4, "y": 2.7}, - - {"matrix": [2, 6], "x": 8, "y": 2.7}, - {"matrix": [2, 7], "x": 9, "y": 2.35}, - {"matrix": [2, 8], "x": 10, "y": 2}, - {"matrix": [2, 9], "x": 11, "y": 2.35}, - {"matrix": [2, 10], "x": 12, "y": 2.6}, - - {"matrix": [3, 0], "x": 0, "y": 3.6}, - {"matrix": [3, 1], "x": 1, "y": 3.35}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3.35}, - {"matrix": [3, 4], "x": 4, "y": 3.7}, - {"matrix": [2, 5], "x": 5, "y": 2.95, "h": 1.5}, - - {"matrix": [3, 5], "x": 7, "y": 2.95, "h": 1.5}, - {"matrix": [3, 6], "x": 8, "y": 3.7}, - {"matrix": [3, 7], "x": 9, "y": 3.35}, - {"matrix": [3, 8], "x": 10, "y": 3}, - {"matrix": [3, 9], "x": 11, "y": 3.35}, - {"matrix": [3, 10], "x": 12, "y": 3.6} - ] - } - } + "bootloader": "caterina" } diff --git a/keyboards/atreus/astar_mirrored/keyboard.json b/keyboards/atreus/astar_mirrored/keyboard.json index ae687c9d2b..b83be5d29d 100644 --- a/keyboards/atreus/astar_mirrored/keyboard.json +++ b/keyboards/atreus/astar_mirrored/keyboard.json @@ -5,64 +5,5 @@ }, "diode_direction": "COL2ROW", "processor": "atmega32u4", - "bootloader": "caterina", - "layout_aliases": { - "LAYOUT_pcb_up": "LAYOUT", - "LAYOUT_pcb_down": "LAYOUT" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.6}, - {"matrix": [0, 1], "x": 1, "y": 0.35}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0.35}, - {"matrix": [0, 4], "x": 4, "y": 0.7}, - - {"matrix": [0, 6], "x": 8, "y": 0.7}, - {"matrix": [0, 7], "x": 9, "y": 0.35}, - {"matrix": [0, 8], "x": 10, "y": 0}, - {"matrix": [0, 9], "x": 11, "y": 0.35}, - {"matrix": [0, 10], "x": 12, "y": 0.6}, - - {"matrix": [1, 0], "x": 0, "y": 1.6}, - {"matrix": [1, 1], "x": 1, "y": 1.35}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1.35}, - {"matrix": [1, 4], "x": 4, "y": 1.7}, - - {"matrix": [1, 6], "x": 8, "y": 1.7}, - {"matrix": [1, 7], "x": 9, "y": 1.35}, - {"matrix": [1, 8], "x": 10, "y": 1}, - {"matrix": [1, 9], "x": 11, "y": 1.35}, - {"matrix": [1, 10], "x": 12, "y": 1.6}, - - {"matrix": [2, 0], "x": 0, "y": 2.6}, - {"matrix": [2, 1], "x": 1, "y": 2.35}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2.35}, - {"matrix": [2, 4], "x": 4, "y": 2.7}, - - {"matrix": [2, 6], "x": 8, "y": 2.7}, - {"matrix": [2, 7], "x": 9, "y": 2.35}, - {"matrix": [2, 8], "x": 10, "y": 2}, - {"matrix": [2, 9], "x": 11, "y": 2.35}, - {"matrix": [2, 10], "x": 12, "y": 2.6}, - - {"matrix": [3, 0], "x": 0, "y": 3.6}, - {"matrix": [3, 1], "x": 1, "y": 3.35}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3.35}, - {"matrix": [3, 4], "x": 4, "y": 3.7}, - {"matrix": [3, 5], "x": 5, "y": 2.95, "h": 1.5}, - - {"matrix": [2, 5], "x": 7, "y": 2.95, "h": 1.5}, - {"matrix": [3, 6], "x": 8, "y": 3.7}, - {"matrix": [3, 7], "x": 9, "y": 3.35}, - {"matrix": [3, 8], "x": 10, "y": 3}, - {"matrix": [3, 9], "x": 11, "y": 3.35}, - {"matrix": [3, 10], "x": 12, "y": 3.6} - ] - } - } + "bootloader": "caterina" } diff --git a/keyboards/atreus/f103/keyboard.json b/keyboards/atreus/f103/keyboard.json index fb49c0c1ca..813ef97e37 100644 --- a/keyboards/atreus/f103/keyboard.json +++ b/keyboards/atreus/f103/keyboard.json @@ -8,64 +8,5 @@ "bootloader": "stm32duino", "features": { "bootmagic": true - }, - "layout_aliases": { - "LAYOUT_pcb_up": "LAYOUT", - "LAYOUT_pcb_down": "LAYOUT" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.6}, - {"matrix": [0, 1], "x": 1, "y": 0.35}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0.35}, - {"matrix": [0, 4], "x": 4, "y": 0.7}, - - {"matrix": [0, 6], "x": 8, "y": 0.7}, - {"matrix": [0, 7], "x": 9, "y": 0.35}, - {"matrix": [0, 8], "x": 10, "y": 0}, - {"matrix": [0, 9], "x": 11, "y": 0.35}, - {"matrix": [0, 10], "x": 12, "y": 0.6}, - - {"matrix": [1, 0], "x": 0, "y": 1.6}, - {"matrix": [1, 1], "x": 1, "y": 1.35}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1.35}, - {"matrix": [1, 4], "x": 4, "y": 1.7}, - - {"matrix": [1, 6], "x": 8, "y": 1.7}, - {"matrix": [1, 7], "x": 9, "y": 1.35}, - {"matrix": [1, 8], "x": 10, "y": 1}, - {"matrix": [1, 9], "x": 11, "y": 1.35}, - {"matrix": [1, 10], "x": 12, "y": 1.6}, - - {"matrix": [2, 0], "x": 0, "y": 2.6}, - {"matrix": [2, 1], "x": 1, "y": 2.35}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2.35}, - {"matrix": [2, 4], "x": 4, "y": 2.7}, - - {"matrix": [2, 6], "x": 8, "y": 2.7}, - {"matrix": [2, 7], "x": 9, "y": 2.35}, - {"matrix": [2, 8], "x": 10, "y": 2}, - {"matrix": [2, 9], "x": 11, "y": 2.35}, - {"matrix": [2, 10], "x": 12, "y": 2.6}, - - {"matrix": [3, 0], "x": 0, "y": 3.6}, - {"matrix": [3, 1], "x": 1, "y": 3.35}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3.35}, - {"matrix": [3, 4], "x": 4, "y": 3.7}, - {"matrix": [2, 5], "x": 5, "y": 2.95, "h": 1.5}, - - {"matrix": [3, 5], "x": 7, "y": 2.95, "h": 1.5}, - {"matrix": [3, 6], "x": 8, "y": 3.7}, - {"matrix": [3, 7], "x": 9, "y": 3.35}, - {"matrix": [3, 8], "x": 10, "y": 3}, - {"matrix": [3, 9], "x": 11, "y": 3.35}, - {"matrix": [3, 10], "x": 12, "y": 3.6} - ] - } } } diff --git a/keyboards/atreus/feather/keyboard.json b/keyboards/atreus/feather/keyboard.json index 12468218ec..1392849fd4 100644 --- a/keyboards/atreus/feather/keyboard.json +++ b/keyboards/atreus/feather/keyboard.json @@ -14,64 +14,5 @@ }, "bluetooth": { "driver": "bluefruit_le" - }, - "layout_aliases": { - "LAYOUT_pcb_up": "LAYOUT", - "LAYOUT_pcb_down": "LAYOUT" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.6}, - {"matrix": [0, 1], "x": 1, "y": 0.35}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0.35}, - {"matrix": [0, 4], "x": 4, "y": 0.7}, - - {"matrix": [0, 6], "x": 8, "y": 0.7}, - {"matrix": [0, 7], "x": 9, "y": 0.35}, - {"matrix": [0, 8], "x": 10, "y": 0}, - {"matrix": [0, 9], "x": 11, "y": 0.35}, - {"matrix": [0, 10], "x": 12, "y": 0.6}, - - {"matrix": [1, 0], "x": 0, "y": 1.6}, - {"matrix": [1, 1], "x": 1, "y": 1.35}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1.35}, - {"matrix": [1, 4], "x": 4, "y": 1.7}, - - {"matrix": [1, 6], "x": 8, "y": 1.7}, - {"matrix": [1, 7], "x": 9, "y": 1.35}, - {"matrix": [1, 8], "x": 10, "y": 1}, - {"matrix": [1, 9], "x": 11, "y": 1.35}, - {"matrix": [1, 10], "x": 12, "y": 1.6}, - - {"matrix": [2, 0], "x": 0, "y": 2.6}, - {"matrix": [2, 1], "x": 1, "y": 2.35}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2.35}, - {"matrix": [2, 4], "x": 4, "y": 2.7}, - - {"matrix": [2, 6], "x": 8, "y": 2.7}, - {"matrix": [2, 7], "x": 9, "y": 2.35}, - {"matrix": [2, 8], "x": 10, "y": 2}, - {"matrix": [2, 9], "x": 11, "y": 2.35}, - {"matrix": [2, 10], "x": 12, "y": 2.6}, - - {"matrix": [3, 0], "x": 0, "y": 3.6}, - {"matrix": [3, 1], "x": 1, "y": 3.35}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3.35}, - {"matrix": [3, 4], "x": 4, "y": 3.7}, - {"matrix": [2, 5], "x": 5, "y": 2.95, "h": 1.5}, - - {"matrix": [3, 5], "x": 7, "y": 2.95, "h": 1.5}, - {"matrix": [3, 6], "x": 8, "y": 3.7}, - {"matrix": [3, 7], "x": 9, "y": 3.35}, - {"matrix": [3, 8], "x": 10, "y": 3}, - {"matrix": [3, 9], "x": 11, "y": 3.35}, - {"matrix": [3, 10], "x": 12, "y": 3.6} - ] - } } } diff --git a/keyboards/atreus/info.json b/keyboards/atreus/info.json index b479c96542..cf53b506a0 100644 --- a/keyboards/atreus/info.json +++ b/keyboards/atreus/info.json @@ -21,5 +21,116 @@ "enabled": true, "resync": true } + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_pcb_up" + }, + "layouts": { + "LAYOUT_pcb_up": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.6}, + {"matrix": [0, 1], "x": 1, "y": 0.35}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0.35}, + {"matrix": [0, 4], "x": 4, "y": 0.7}, + + {"matrix": [0, 6], "x": 8, "y": 0.7}, + {"matrix": [0, 7], "x": 9, "y": 0.35}, + {"matrix": [0, 8], "x": 10, "y": 0}, + {"matrix": [0, 9], "x": 11, "y": 0.35}, + {"matrix": [0, 10], "x": 12, "y": 0.6}, + + {"matrix": [1, 0], "x": 0, "y": 1.6}, + {"matrix": [1, 1], "x": 1, "y": 1.35}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1.35}, + {"matrix": [1, 4], "x": 4, "y": 1.7}, + + {"matrix": [1, 6], "x": 8, "y": 1.7}, + {"matrix": [1, 7], "x": 9, "y": 1.35}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1.35}, + {"matrix": [1, 10], "x": 12, "y": 1.6}, + + {"matrix": [2, 0], "x": 0, "y": 2.6}, + {"matrix": [2, 1], "x": 1, "y": 2.35}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2.35}, + {"matrix": [2, 4], "x": 4, "y": 2.7}, + + {"matrix": [2, 6], "x": 8, "y": 2.7}, + {"matrix": [2, 7], "x": 9, "y": 2.35}, + {"matrix": [2, 8], "x": 10, "y": 2}, + {"matrix": [2, 9], "x": 11, "y": 2.35}, + {"matrix": [2, 10], "x": 12, "y": 2.6}, + + {"matrix": [3, 0], "x": 0, "y": 3.6}, + {"matrix": [3, 1], "x": 1, "y": 3.35}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3.35}, + {"matrix": [3, 4], "x": 4, "y": 3.7}, + {"matrix": [2, 5], "x": 5, "y": 2.95, "h": 1.5}, + + {"matrix": [3, 5], "x": 7, "y": 2.95, "h": 1.5}, + {"matrix": [3, 6], "x": 8, "y": 3.7}, + {"matrix": [3, 7], "x": 9, "y": 3.35}, + {"matrix": [3, 8], "x": 10, "y": 3}, + {"matrix": [3, 9], "x": 11, "y": 3.35}, + {"matrix": [3, 10], "x": 12, "y": 3.6} + ] + }, + "LAYOUT_pcb_down": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.6}, + {"matrix": [0, 1], "x": 1, "y": 0.35}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0.35}, + {"matrix": [0, 4], "x": 4, "y": 0.7}, + + {"matrix": [0, 6], "x": 8, "y": 0.7}, + {"matrix": [0, 7], "x": 9, "y": 0.35}, + {"matrix": [0, 8], "x": 10, "y": 0}, + {"matrix": [0, 9], "x": 11, "y": 0.35}, + {"matrix": [0, 10], "x": 12, "y": 0.6}, + + {"matrix": [1, 0], "x": 0, "y": 1.6}, + {"matrix": [1, 1], "x": 1, "y": 1.35}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1.35}, + {"matrix": [1, 4], "x": 4, "y": 1.7}, + + {"matrix": [1, 6], "x": 8, "y": 1.7}, + {"matrix": [1, 7], "x": 9, "y": 1.35}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1.35}, + {"matrix": [1, 10], "x": 12, "y": 1.6}, + + {"matrix": [2, 0], "x": 0, "y": 2.6}, + {"matrix": [2, 1], "x": 1, "y": 2.35}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2.35}, + {"matrix": [2, 4], "x": 4, "y": 2.7}, + + {"matrix": [2, 6], "x": 8, "y": 2.7}, + {"matrix": [2, 7], "x": 9, "y": 2.35}, + {"matrix": [2, 8], "x": 10, "y": 2}, + {"matrix": [2, 9], "x": 11, "y": 2.35}, + {"matrix": [2, 10], "x": 12, "y": 2.6}, + + {"matrix": [3, 0], "x": 0, "y": 3.6}, + {"matrix": [3, 1], "x": 1, "y": 3.35}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3.35}, + {"matrix": [3, 4], "x": 4, "y": 3.7}, + {"matrix": [3, 5], "x": 5, "y": 2.95, "h": 1.5}, + + {"matrix": [2, 5], "x": 7, "y": 2.95, "h": 1.5}, + {"matrix": [3, 6], "x": 8, "y": 3.7}, + {"matrix": [3, 7], "x": 9, "y": 3.35}, + {"matrix": [3, 8], "x": 10, "y": 3}, + {"matrix": [3, 9], "x": 11, "y": 3.35}, + {"matrix": [3, 10], "x": 12, "y": 3.6} + ] + } } } diff --git a/keyboards/atreus/keymaps/default/keymap.c b/keyboards/atreus/keymaps/default/keymap.c index ca1333230c..e458810537 100644 --- a/keyboards/atreus/keymaps/default/keymap.c +++ b/keyboards/atreus/keymaps/default/keymap.c @@ -12,7 +12,7 @@ #define _LW 2 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Qwerty */ + [_QW] = LAYOUT_pcb_up( /* Qwerty */ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH , @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * [ ] ( ) & || ` 1 2 3 \ * lower insert super shift bksp ctrl || alt space fn . 0 = */ - [_RS] = LAYOUT( /* [> RAISE <] */ + [_RS] = LAYOUT_pcb_up( /* [> RAISE <] */ KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS , @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * volup reset || F1 F2 F3 F12 * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause */ - [_LW] = LAYOUT( /* [> LOWER <] */ + [_LW] = LAYOUT_pcb_up( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , diff --git a/keyboards/atreus/keymaps/workman/keymap.c b/keyboards/atreus/keymaps/workman/keymap.c index c0633f6362..e8b5b6b4e3 100644 --- a/keyboards/atreus/keymaps/workman/keymap.c +++ b/keyboards/atreus/keymaps/workman/keymap.c @@ -25,7 +25,7 @@ enum custom_keycodes { */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Workman */ + [_QW] = LAYOUT_pcb_down( /* Workman */ KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * menu caps < > del || _ 0 = */ - [_RS] = LAYOUT( /* [> RAISE <] */ + [_RS] = LAYOUT_pcb_down( /* [> RAISE <] */ KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_MINS, KC_7, KC_8, KC_9, KC_ASTR, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_DOT, KC_4, KC_5, KC_6, KC_PLUS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * || – ¨ reset */ - [_LW] = LAYOUT( /* [> LOWER <] */ + [_LW] = LAYOUT_pcb_down( /* [> LOWER <] */ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_VOLD, KC_F4, KC_F5, KC_F6, KC_F11, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F12, diff --git a/keyboards/atreus/promicro/keyboard.json b/keyboards/atreus/promicro/keyboard.json index 9f7e50526c..10c0ca1b22 100644 --- a/keyboards/atreus/promicro/keyboard.json +++ b/keyboards/atreus/promicro/keyboard.json @@ -4,64 +4,5 @@ "rows": ["F4", "B2", "B4", "B5"] }, "diode_direction": "COL2ROW", - "development_board": "promicro", - "layout_aliases": { - "LAYOUT_pcb_up": "LAYOUT", - "LAYOUT_pcb_down": "LAYOUT" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.6}, - {"matrix": [0, 1], "x": 1, "y": 0.35}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0.35}, - {"matrix": [0, 4], "x": 4, "y": 0.7}, - - {"matrix": [0, 6], "x": 8, "y": 0.7}, - {"matrix": [0, 7], "x": 9, "y": 0.35}, - {"matrix": [0, 8], "x": 10, "y": 0}, - {"matrix": [0, 9], "x": 11, "y": 0.35}, - {"matrix": [0, 10], "x": 12, "y": 0.6}, - - {"matrix": [1, 0], "x": 0, "y": 1.6}, - {"matrix": [1, 1], "x": 1, "y": 1.35}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1.35}, - {"matrix": [1, 4], "x": 4, "y": 1.7}, - - {"matrix": [1, 6], "x": 8, "y": 1.7}, - {"matrix": [1, 7], "x": 9, "y": 1.35}, - {"matrix": [1, 8], "x": 10, "y": 1}, - {"matrix": [1, 9], "x": 11, "y": 1.35}, - {"matrix": [1, 10], "x": 12, "y": 1.6}, - - {"matrix": [2, 0], "x": 0, "y": 2.6}, - {"matrix": [2, 1], "x": 1, "y": 2.35}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2.35}, - {"matrix": [2, 4], "x": 4, "y": 2.7}, - - {"matrix": [2, 6], "x": 8, "y": 2.7}, - {"matrix": [2, 7], "x": 9, "y": 2.35}, - {"matrix": [2, 8], "x": 10, "y": 2}, - {"matrix": [2, 9], "x": 11, "y": 2.35}, - {"matrix": [2, 10], "x": 12, "y": 2.6}, - - {"matrix": [3, 0], "x": 0, "y": 3.6}, - {"matrix": [3, 1], "x": 1, "y": 3.35}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3.35}, - {"matrix": [3, 4], "x": 4, "y": 3.7}, - {"matrix": [2, 5], "x": 5, "y": 2.95, "h": 1.5}, - - {"matrix": [3, 5], "x": 7, "y": 2.95, "h": 1.5}, - {"matrix": [3, 6], "x": 8, "y": 3.7}, - {"matrix": [3, 7], "x": 9, "y": 3.35}, - {"matrix": [3, 8], "x": 10, "y": 3}, - {"matrix": [3, 9], "x": 11, "y": 3.35}, - {"matrix": [3, 10], "x": 12, "y": 3.6} - ] - } - } + "development_board": "promicro" } diff --git a/keyboards/atreus/teensy2/keyboard.json b/keyboards/atreus/teensy2/keyboard.json index bdcc8f394d..067ea9a01d 100644 --- a/keyboards/atreus/teensy2/keyboard.json +++ b/keyboards/atreus/teensy2/keyboard.json @@ -5,64 +5,5 @@ }, "diode_direction": "COL2ROW", "processor": "atmega32u4", - "bootloader": "halfkay", - "layout_aliases": { - "LAYOUT_pcb_up": "LAYOUT", - "LAYOUT_pcb_down": "LAYOUT" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.6}, - {"matrix": [0, 1], "x": 1, "y": 0.35}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0.35}, - {"matrix": [0, 4], "x": 4, "y": 0.7}, - - {"matrix": [0, 6], "x": 8, "y": 0.7}, - {"matrix": [0, 7], "x": 9, "y": 0.35}, - {"matrix": [0, 8], "x": 10, "y": 0}, - {"matrix": [0, 9], "x": 11, "y": 0.35}, - {"matrix": [0, 10], "x": 12, "y": 0.6}, - - {"matrix": [1, 0], "x": 0, "y": 1.6}, - {"matrix": [1, 1], "x": 1, "y": 1.35}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1.35}, - {"matrix": [1, 4], "x": 4, "y": 1.7}, - - {"matrix": [1, 6], "x": 8, "y": 1.7}, - {"matrix": [1, 7], "x": 9, "y": 1.35}, - {"matrix": [1, 8], "x": 10, "y": 1}, - {"matrix": [1, 9], "x": 11, "y": 1.35}, - {"matrix": [1, 10], "x": 12, "y": 1.6}, - - {"matrix": [2, 0], "x": 0, "y": 2.6}, - {"matrix": [2, 1], "x": 1, "y": 2.35}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2.35}, - {"matrix": [2, 4], "x": 4, "y": 2.7}, - - {"matrix": [2, 6], "x": 8, "y": 2.7}, - {"matrix": [2, 7], "x": 9, "y": 2.35}, - {"matrix": [2, 8], "x": 10, "y": 2}, - {"matrix": [2, 9], "x": 11, "y": 2.35}, - {"matrix": [2, 10], "x": 12, "y": 2.6}, - - {"matrix": [3, 0], "x": 0, "y": 3.6}, - {"matrix": [3, 1], "x": 1, "y": 3.35}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3.35}, - {"matrix": [3, 4], "x": 4, "y": 3.7}, - {"matrix": [2, 5], "x": 5, "y": 2.95, "h": 1.5}, - - {"matrix": [3, 5], "x": 7, "y": 2.95, "h": 1.5}, - {"matrix": [3, 6], "x": 8, "y": 3.7}, - {"matrix": [3, 7], "x": 9, "y": 3.35}, - {"matrix": [3, 8], "x": 10, "y": 3}, - {"matrix": [3, 9], "x": 11, "y": 3.35}, - {"matrix": [3, 10], "x": 12, "y": 3.6} - ] - } - } + "bootloader": "halfkay" } diff --git a/keyboards/atset/at1/readme.md b/keyboards/atset/at1/readme.md index ca5bee7dd2..330c1b2ff8 100644 --- a/keyboards/atset/at1/readme.md +++ b/keyboards/atset/at1/readme.md @@ -22,4 +22,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/atset/at12/readme.md b/keyboards/atset/at12/readme.md index 637d921e1e..6760e33ab5 100644 --- a/keyboards/atset/at12/readme.md +++ b/keyboards/atset/at12/readme.md @@ -22,4 +22,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/atset/at3/readme.md b/keyboards/atset/at3/readme.md index f1b8b33625..755169c5d6 100644 --- a/keyboards/atset/at3/readme.md +++ b/keyboards/atset/at3/readme.md @@ -22,4 +22,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/automata02/alisaie/readme.md b/keyboards/automata02/alisaie/readme.md index 851ef25e1e..8bfcae86f1 100644 --- a/keyboards/automata02/alisaie/readme.md +++ b/keyboards/automata02/alisaie/readme.md @@ -21,4 +21,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader: -* **Physical reset button**: Briefly press the button on the backside of the PCB located bellow the Y keyswitch. +* **Physical reset button**: Briefly press the button on the backside of the PCB located bellow the Y keyswitch. \ No newline at end of file diff --git a/keyboards/axolstudio/yeti/hotswap/hotswap.c b/keyboards/axolstudio/yeti/hotswap/hotswap.c index 8cf9d0f0b2..df64c80953 100644 --- a/keyboards/axolstudio/yeti/hotswap/hotswap.c +++ b/keyboards/axolstudio/yeti/hotswap/hotswap.c @@ -87,6 +87,28 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW8_CS15, SW7_CS15, SW9_CS15 }, { 0, SW11_CS15, SW10_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, NO_LED, 43 }, + { NO_LED, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56 }, + { NO_LED, 57, NO_LED, 58, NO_LED, 59, 60, NO_LED, 61, NO_LED, 62, NO_LED, NO_LED, NO_LED, 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},{208, 0},{224, 0}, + {0, 16},{16,16},{32,16},{48,16},{64,16},{80,16},{96,16},{112,16},{128,16},{144,16},{160,16},{176,16},{192,16},{208,16},{224,16}, + {0,32},{16,32},{32,32},{48,32},{64,32},{80,32},{96,32},{112,32},{128,32},{144,32},{160,32},{176,32},{192,32},{224, 32}, + {16,48},{32,48},{48,48},{64,48},{80,48},{96,48},{112,48},{128,48},{144,48},{160,48},{176,48},{192,48},{224,48}, + {16,64},{48,64},{80,64},{96,64},{128,64},{160,64},{224,64} + }, { + 1, 1, 4, 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, 4, 1, + 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, 1, + 1, 1, 4, 1, 4, 1, 1 + } +}; #endif bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { diff --git a/keyboards/axolstudio/yeti/hotswap/keyboard.json b/keyboards/axolstudio/yeti/hotswap/keyboard.json index fb3582e0f1..5607001287 100644 --- a/keyboards/axolstudio/yeti/hotswap/keyboard.json +++ b/keyboards/axolstudio/yeti/hotswap/keyboard.json @@ -44,72 +44,6 @@ "solid_multisplash": true }, "driver": "is31fl3733", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 1}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 1], "x": 16, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 1}, - {"matrix": [4, 3], "x": 48, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 160, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "sleep": true }, "build": { diff --git a/keyboards/bandominedoni/bandominedoni.c b/keyboards/bandominedoni/bandominedoni.c index 84c0f27bcd..76d9e6cb3b 100644 --- a/keyboards/bandominedoni/bandominedoni.c +++ b/keyboards/bandominedoni/bandominedoni.c @@ -16,6 +16,58 @@ #include "bandominedoni.h" +#ifdef RGB_MATRIX_ENABLE + +led_config_t g_led_config = { + { + { 75, 46, 45, 44, 43, 42, NO_LED }, + { 47, 48, 49, 50, 51, 52, 53 }, + { 60, 59, 58, 57, 56, 55, 54 }, + { 61, 62, 63, 64, 65, 66, 67 }, + { 74, 73, 72, 71, 70, 69, 68 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { 7, 6, 4, 3, 2, 1, 5}, + { 8, 9, 10, 11, 12, 13, 0 }, + { 19, 18, 17, 16, 15, 14, 41 }, + { 20, 21, 22, 23, 24, 25, 40 }, + { 30, 29, 28, 27, 26, 39, 38 }, + { 31, 32, 33, 34, 35, 36, 37 } + }, { + { 145, 6 }, { 157, 5 }, { 153, 14 }, { 149, 22 }, { 145, 32 }, { 136, 35 }, { 139, 48 }, { 134, 61 }, + { 142, 60 }, { 148, 43 }, { 154, 29 }, { 158, 20 }, { 163, 12 }, { 168, 4 }, + { 178, 5 }, { 173, 12 }, { 168, 20 }, { 163, 28 }, { 157, 40 }, { 151, 55 }, + { 160, 52 }, { 166, 39 }, { 172, 28 }, { 177, 20 }, { 182, 13 }, { 188, 7 }, + { 192, 17 }, { 186, 23 }, { 181, 30 }, { 175, 39 }, { 169, 50 }, + { 178, 51 }, { 184, 41 }, { 190, 33 }, { 196, 27 }, + { 199, 37 }, { 193, 45 }, { 187, 53 }, + { 196, 56 }, { 202, 49 }, + { 205, 61 }, + { 202, 4 }, + { 84, 18 }, { 73, 13 }, { 62, 10 }, { 51, 8 }, { 39, 11 }, { 24, 22 }, + { 34, 19 }, { 45, 16 }, { 56, 16 }, { 66, 18 }, { 77, 22 }, { 87, 28 }, + { 92, 40 }, { 81, 32 }, { 71, 27 }, { 61, 24 }, { 51, 24 }, { 41, 24 }, { 30, 28 }, + { 24, 42 }, { 34, 37 }, { 44, 35 }, { 54, 34 }, { 64, 36 }, { 74, 38 }, { 84, 44 }, + { 87, 54 }, { 77, 49 }, { 67, 47 }, { 57, 45 }, { 47, 45 }, { 37, 48 }, { 27, 52 }, { 19, 56 }, + }, { + 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 + #if defined(SPLIT_HAND_MATRIX_GRID) static uint8_t peek_matrix_intersection(pin_t out_pin, pin_t in_pin) { gpio_set_pin_input_high(in_pin); diff --git a/keyboards/bandominedoni/keyboard.json b/keyboards/bandominedoni/keyboard.json index 7184e2e90c..f6ea0f43c3 100644 --- a/keyboards/bandominedoni/keyboard.json +++ b/keyboards/bandominedoni/keyboard.json @@ -20,84 +20,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [7, 6], "x": 145, "y": 6, "flags": 4}, - {"matrix": [6, 5], "x": 157, "y": 5, "flags": 4}, - {"matrix": [6, 4], "x": 153, "y": 14, "flags": 4}, - {"matrix": [6, 3], "x": 149, "y": 22, "flags": 4}, - {"matrix": [6, 2], "x": 145, "y": 32, "flags": 4}, - {"matrix": [6, 6], "x": 136, "y": 35, "flags": 4}, - {"matrix": [6, 1], "x": 139, "y": 48, "flags": 4}, - {"matrix": [6, 0], "x": 134, "y": 61, "flags": 4}, - {"matrix": [7, 0], "x": 142, "y": 60, "flags": 4}, - {"matrix": [7, 1], "x": 148, "y": 43, "flags": 4}, - {"matrix": [7, 2], "x": 154, "y": 29, "flags": 4}, - {"matrix": [7, 3], "x": 158, "y": 20, "flags": 4}, - {"matrix": [7, 4], "x": 163, "y": 12, "flags": 4}, - {"matrix": [7, 5], "x": 168, "y": 4, "flags": 4}, - {"matrix": [8, 5], "x": 178, "y": 5, "flags": 4}, - {"matrix": [8, 4], "x": 173, "y": 12, "flags": 4}, - {"matrix": [8, 3], "x": 168, "y": 20, "flags": 4}, - {"matrix": [8, 2], "x": 163, "y": 28, "flags": 4}, - {"matrix": [8, 1], "x": 157, "y": 40, "flags": 4}, - {"matrix": [8, 0], "x": 151, "y": 55, "flags": 4}, - {"matrix": [9, 0], "x": 160, "y": 52, "flags": 4}, - {"matrix": [9, 1], "x": 166, "y": 39, "flags": 4}, - {"matrix": [9, 2], "x": 172, "y": 28, "flags": 4}, - {"matrix": [9, 3], "x": 177, "y": 20, "flags": 4}, - {"matrix": [9, 4], "x": 182, "y": 13, "flags": 4}, - {"matrix": [9, 5], "x": 188, "y": 7, "flags": 4}, - {"matrix": [10, 4], "x": 192, "y": 17, "flags": 4}, - {"matrix": [10, 3], "x": 186, "y": 23, "flags": 4}, - {"matrix": [10, 2], "x": 181, "y": 30, "flags": 4}, - {"matrix": [10, 1], "x": 175, "y": 39, "flags": 4}, - {"matrix": [10, 0], "x": 169, "y": 50, "flags": 4}, - {"matrix": [11, 0], "x": 178, "y": 51, "flags": 4}, - {"matrix": [11, 1], "x": 184, "y": 41, "flags": 4}, - {"matrix": [11, 2], "x": 190, "y": 33, "flags": 4}, - {"matrix": [11, 3], "x": 196, "y": 27, "flags": 4}, - {"matrix": [11, 4], "x": 199, "y": 37, "flags": 4}, - {"matrix": [11, 5], "x": 193, "y": 45, "flags": 4}, - {"matrix": [11, 6], "x": 187, "y": 53, "flags": 4}, - {"matrix": [10, 6], "x": 196, "y": 56, "flags": 4}, - {"matrix": [10, 5], "x": 202, "y": 49, "flags": 4}, - {"matrix": [9, 6], "x": 205, "y": 61, "flags": 4}, - {"matrix": [8, 6], "x": 202, "y": 4, "flags": 4}, - {"matrix": [0, 5], "x": 84, "y": 18, "flags": 4}, - {"matrix": [0, 4], "x": 73, "y": 13, "flags": 4}, - {"matrix": [0, 3], "x": 62, "y": 10, "flags": 4}, - {"matrix": [0, 2], "x": 51, "y": 8, "flags": 4}, - {"matrix": [0, 1], "x": 39, "y": 11, "flags": 4}, - {"matrix": [1, 0], "x": 24, "y": 22, "flags": 4}, - {"matrix": [1, 1], "x": 34, "y": 19, "flags": 4}, - {"matrix": [1, 2], "x": 45, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 18, "flags": 4}, - {"matrix": [1, 5], "x": 77, "y": 22, "flags": 4}, - {"matrix": [1, 6], "x": 87, "y": 28, "flags": 4}, - {"matrix": [2, 6], "x": 92, "y": 40, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 71, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 61, "y": 24, "flags": 4}, - {"matrix": [2, 2], "x": 51, "y": 24, "flags": 4}, - {"matrix": [2, 1], "x": 41, "y": 24, "flags": 4}, - {"matrix": [2, 0], "x": 30, "y": 28, "flags": 4}, - {"matrix": [3, 0], "x": 24, "y": 42, "flags": 4}, - {"matrix": [3, 1], "x": 34, "y": 37, "flags": 4}, - {"matrix": [3, 2], "x": 44, "y": 35, "flags": 4}, - {"matrix": [3, 3], "x": 54, "y": 34, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 36, "flags": 4}, - {"matrix": [3, 5], "x": 74, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 84, "y": 44, "flags": 4}, - {"matrix": [4, 6], "x": 87, "y": 54, "flags": 4}, - {"matrix": [4, 5], "x": 77, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 67, "y": 47, "flags": 4}, - {"matrix": [4, 3], "x": 57, "y": 45, "flags": 4}, - {"matrix": [4, 2], "x": 47, "y": 45, "flags": 4}, - {"matrix": [4, 1], "x": 37, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 27, "y": 52, "flags": 4}, - {"matrix": [0, 0], "x": 19, "y": 56, "flags": 4} - ], "max_brightness": 50, "sleep": true }, diff --git a/keyboards/basekeys/slice/keymaps/default/keymap.c b/keyboards/basekeys/slice/keymaps/default/keymap.c index b168bcd247..a407d35ab7 100644 --- a/keyboards/basekeys/slice/keymaps/default/keymap.c +++ b/keyboards/basekeys/slice/keymaps/default/keymap.c @@ -115,7 +115,7 @@ const char *read_logo(void) { } oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return is_keyboard_left() ? OLED_ROTATION_180 : OLED_ROTATION_0; + return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0; } bool oled_task_user(void) { diff --git a/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c index 6a87f52268..7d4133a99b 100644 --- a/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c +++ b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c @@ -115,7 +115,7 @@ const char *read_logo(void) { } oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return is_keyboard_left() ? OLED_ROTATION_180 : OLED_ROTATION_0; + return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0; } bool oled_task_user(void) { diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c index 3e3ccb5376..bd7923b36b 100644 --- a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c +++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c @@ -199,7 +199,7 @@ const char *read_logo(void) { } oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return is_keyboard_left() ? OLED_ROTATION_180 : OLED_ROTATION_0; + return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0; } bool oled_task_user(void) { diff --git a/keyboards/basekeys/trifecta/keymaps/default/rules.mk b/keyboards/basekeys/trifecta/keymaps/default/rules.mk index ae71c4baca..910bd64a59 100644 --- a/keyboards/basekeys/trifecta/keymaps/default/rules.mk +++ b/keyboards/basekeys/trifecta/keymaps/default/rules.mk @@ -1,2 +1,2 @@ CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no +COMMAND_ENABLE = no \ No newline at end of file diff --git a/keyboards/bastardkb/dilemma/dilemma.c b/keyboards/bastardkb/dilemma/dilemma.c index 138f363346..c14345d075 100644 --- a/keyboards/bastardkb/dilemma/dilemma.c +++ b/keyboards/bastardkb/dilemma/dilemma.c @@ -176,6 +176,7 @@ void dilemma_set_pointer_dragscroll_enabled(bool enable) { void pointing_device_init_kb(void) { maybe_update_pointing_device_cpi(&g_dilemma_config); + pointing_device_init_user(); } /** diff --git a/keyboards/bear_face/v1/keymaps/default/readme.md b/keyboards/bear_face/v1/keymaps/default/readme.md index 26e504d62d..5f9e635dfe 100644 --- a/keyboards/bear_face/v1/keymaps/default/readme.md +++ b/keyboards/bear_face/v1/keymaps/default/readme.md @@ -4,6 +4,7 @@ This layout replaces the stock layout on the Vortex Race 3. - Caps Lock indicator LED is enabled by default - Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1) +- FORCE_NKRO enabled by default - Pn key is set to 'KC_NO' by default * Might be a good place for a macro, or to put your PC to sleep, etc. diff --git a/keyboards/bear_face/v2/keymaps/default/readme.md b/keyboards/bear_face/v2/keymaps/default/readme.md index 65e01e0d02..517baa5726 100644 --- a/keyboards/bear_face/v2/keymaps/default/readme.md +++ b/keyboards/bear_face/v2/keymaps/default/readme.md @@ -4,6 +4,7 @@ This layout replaces the stock layout on the Vortex Race 3. - Caps Lock indicator LED is enabled by default - Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1) +- FORCE_NKRO enabled by default - Pn key is set to 'KC_NO' by default * Might be a good place for a macro, or to put your PC to sleep, etc. diff --git a/keyboards/bear_face/v2/keymaps/default_iso/readme.md b/keyboards/bear_face/v2/keymaps/default_iso/readme.md index 65e01e0d02..517baa5726 100644 --- a/keyboards/bear_face/v2/keymaps/default_iso/readme.md +++ b/keyboards/bear_face/v2/keymaps/default_iso/readme.md @@ -4,6 +4,7 @@ This layout replaces the stock layout on the Vortex Race 3. - Caps Lock indicator LED is enabled by default - Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1) +- FORCE_NKRO enabled by default - Pn key is set to 'KC_NO' by default * Might be a good place for a macro, or to put your PC to sleep, etc. diff --git a/keyboards/bear_face/v3/keymaps/default/readme.md b/keyboards/bear_face/v3/keymaps/default/readme.md index f648e0b735..a86b77bb19 100644 --- a/keyboards/bear_face/v3/keymaps/default/readme.md +++ b/keyboards/bear_face/v3/keymaps/default/readme.md @@ -4,6 +4,7 @@ This layout replaces the stock layout on the Vortex Race 3. - Caps Lock indicator LED is enabled by default - Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1) +- FORCE_NKRO enabled by default - Pn key is set to 'KC_NO' by default * Might be a good place for a macro, or to put your PC to sleep, etc. diff --git a/keyboards/bear_face/v3/keymaps/default_iso/readme.md b/keyboards/bear_face/v3/keymaps/default_iso/readme.md index f648e0b735..a86b77bb19 100644 --- a/keyboards/bear_face/v3/keymaps/default_iso/readme.md +++ b/keyboards/bear_face/v3/keymaps/default_iso/readme.md @@ -4,6 +4,7 @@ This layout replaces the stock layout on the Vortex Race 3. - Caps Lock indicator LED is enabled by default - Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1) +- FORCE_NKRO enabled by default - Pn key is set to 'KC_NO' by default * Might be a good place for a macro, or to put your PC to sleep, etc. diff --git a/keyboards/bestway/keyboard.json b/keyboards/bestway/keyboard.json index 8f68af1432..2f4541b268 100644 --- a/keyboards/bestway/keyboard.json +++ b/keyboards/bestway/keyboard.json @@ -208,4 +208,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/bestway/readme.md b/keyboards/bestway/readme.md index a3cccaac91..c91d09e83f 100644 --- a/keyboards/bestway/readme.md +++ b/keyboards/bestway/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/binepad/knobx1/knobx1.c b/keyboards/binepad/knobx1/knobx1.c index 37602ca78c..7f299b67e3 100644 --- a/keyboards/binepad/knobx1/knobx1.c +++ b/keyboards/binepad/knobx1/knobx1.c @@ -9,13 +9,6 @@ # define X1_KEYMAP_LAYER_COUNT 4 #endif -__attribute__((weak)) void x1_layer_led(uint8_t lyr) { - gpio_write_pin(IND1_LED, lyr >= 0); - gpio_write_pin(IND2_LED, lyr >= 1); - gpio_write_pin(IND3_LED, lyr >= 2); - gpio_write_pin(IND4_LED, lyr >= 3); -} - void keyboard_pre_init_kb(void) { const pin_t indicator_leds[4] = {IND1_LED, IND2_LED, IND3_LED, IND4_LED}; for (int i = 0; i < 4; i++) { diff --git a/keyboards/binepad/knobx1/knobx1.h b/keyboards/binepad/knobx1/knobx1.h index 3932fbd448..7645124057 100644 --- a/keyboards/binepad/knobx1/knobx1.h +++ b/keyboards/binepad/knobx1/knobx1.h @@ -38,6 +38,12 @@ static inline void x1_led_3_off(void) { gpio_write_pin_low(IND3_LED); } static inline void x1_led_4_off(void) { gpio_write_pin_low(IND4_LED); } // clang-format on -void x1_layer_led(uint8_t lyr); +static inline void x1_layer_led(uint8_t lyr) { + gpio_write_pin(IND1_LED, lyr >= 0); + gpio_write_pin(IND2_LED, lyr >= 1); + gpio_write_pin(IND3_LED, lyr >= 2); + gpio_write_pin(IND4_LED, lyr >= 3); +} + bool process_x1_layer_up(keyrecord_t *record); bool process_x1_layer_down(keyrecord_t *record); diff --git a/keyboards/blaster75/keymaps/default/readme.md b/keyboards/blaster75/keymaps/default/readme.md index 5d26816ecf..16bb7d7124 100644 --- a/keyboards/blaster75/keymaps/default/readme.md +++ b/keyboards/blaster75/keymaps/default/readme.md @@ -4,4 +4,4 @@ This is the default keymap intended for Blaster 75 Custom Keyboard by ALTAiN. This layout overall follows ANSI layout except the bottom rows. Should the user wishes to, the bottom layout can be configured as the following: 1) 1.25 / 1.25 / 1.25 / 6.26u Spacebar / 1.25 / 1.25 , or -2) 1.5u / 1u / 1.5u / 7u Spacebar / 1.5u +2) 1.5u / 1u / 1.5u / 7u Spacebar / 1.5u \ No newline at end of file diff --git a/keyboards/blockboy/ac980mini/ac980mini.c b/keyboards/blockboy/ac980mini/ac980mini.c new file mode 100644 index 0000000000..b6a29f94ea --- /dev/null +++ b/keyboards/blockboy/ac980mini/ac980mini.c @@ -0,0 +1,54 @@ +/* Copyright 2022 rooski15 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +// LED location configuration +led_config_t g_led_config = { { + + { 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80 }, + { 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, NO_LED }, + { 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, NO_LED, 41, 42, 43, 44, 45 }, + { 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, NO_LED, 24, 25, 26, 27, 28, NO_LED }, + { 0, 1, 2, NO_LED, NO_LED, 3, NO_LED, NO_LED, NO_LED, 4, 5, 6, 7, 8, 9, 10, 11, 12 } + +},{ + + // Physical X,Y coordinates of each LED, starting with LED 0 above. + { 1 , 64 }, { 16 , 64 }, { 31 , 64 }, { 75 , 64 }, { 123 , 64 }, { 132 , 64 }, { 144 , 64 }, { 159 , 64 }, { 171 , 64 }, { 183 , 64 }, { 198 , 64 }, { 210 , 64 }, { 224 , 64 }, + { 7 , 48 }, { 27 , 48 }, { 39 , 48 }, { 51 , 48 }, { 63 , 48 }, { 75 , 48 }, { 87 , 48 }, { 99 , 48 }, { 111 , 48 }, { 123 , 48 }, { 135 , 48 }, { 151 , 48 }, { 171 , 48 }, { 186 , 48 }, { 198 , 48 }, { 210 , 48 }, + { 4 , 36 }, { 20 , 36 }, { 32 , 36 }, { 44 , 36 }, { 56 , 36 }, { 68 , 36 }, { 80 , 36 }, { 92 , 36 }, { 104 , 36 }, { 116 , 36 }, { 128 , 36 }, { 140 , 36 }, { 160 , 36 }, { 186 , 36 }, { 198 , 36 }, { 210 , 36 }, { 224 , 36 }, + { 3 , 16 }, { 18 , 16 }, { 30 , 16 }, { 42 , 16 }, { 54 , 16 }, { 66 , 16 }, { 78 , 16 }, { 90 , 16 }, { 102 , 16 }, { 114 , 16 }, { 126 , 16 }, { 138 , 16 }, { 150 , 16 }, { 165 , 16 }, { 186 , 16 }, { 198 , 16 }, { 210 , 16 }, + { 0 , 0 }, { 12 , 0 }, { 24 , 0 }, { 36 , 0 }, { 48 , 0 }, { 60 , 0 }, { 72 , 0 }, { 84 , 0 }, { 96 , 0 }, { 108 , 0 }, { 120 , 0 }, { 132 , 0 }, { 144 , 0 }, { 162 , 0 }, { 186 , 0 }, { 198 , 0 }, { 210 , 0 }, { 224 , 0 }, + +},{ + // "Flag Assignment" of each key + // 4 = Alpha + // 1 = Mod + // See https://docs.qmk.fm/#/feature_rgb_matrix?id=flags + // No Caps / Num indicators + 1,1,1, 1, 1,1,1, 1,1,1, 4,4,1, + 1,4,4,4,4,4,4,4,4,4,4,1, 1, 4,4,4, + 1,4,4,4,4,4,4,4,4,4,4,4,1, 4,4,4,1, + 1,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4, + 1,4,4,4,4,4,4,4,4,4,4,4,4,1, 1,1,1,1 + +} }; +/* + +*/ +#endif \ No newline at end of file diff --git a/keyboards/blockboy/ac980mini/keyboard.json b/keyboards/blockboy/ac980mini/keyboard.json index 8df9c03dcc..ce261639e2 100644 --- a/keyboards/blockboy/ac980mini/keyboard.json +++ b/keyboards/blockboy/ac980mini/keyboard.json @@ -74,89 +74,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [4, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 31, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 75, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 123, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 132, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 144, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 159, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 171, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 183, "y": 64, "flags": 1}, - {"matrix": [4, 15], "x": 198, "y": 64, "flags": 4}, - {"matrix": [4, 16], "x": 210, "y": 64, "flags": 4}, - {"matrix": [4, 17], "x": 224, "y": 64, "flags": 1}, - {"matrix": [3, 0], "x": 7, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 27, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 39, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 51, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 63, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 87, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 99, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 111, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 123, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 135, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 151, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 171, "y": 48, "flags": 1}, - {"matrix": [3, 14], "x": 186, "y": 48, "flags": 4}, - {"matrix": [3, 15], "x": 198, "y": 48, "flags": 4}, - {"matrix": [3, 16], "x": 210, "y": 48, "flags": 4}, - {"matrix": [2, 0], "x": 4, "y": 36, "flags": 1}, - {"matrix": [2, 1], "x": 20, "y": 36, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 36, "flags": 4}, - {"matrix": [2, 3], "x": 44, "y": 36, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 36, "flags": 4}, - {"matrix": [2, 5], "x": 68, "y": 36, "flags": 4}, - {"matrix": [2, 6], "x": 80, "y": 36, "flags": 4}, - {"matrix": [2, 7], "x": 92, "y": 36, "flags": 4}, - {"matrix": [2, 8], "x": 104, "y": 36, "flags": 4}, - {"matrix": [2, 9], "x": 116, "y": 36, "flags": 4}, - {"matrix": [2, 10], "x": 128, "y": 36, "flags": 4}, - {"matrix": [2, 11], "x": 140, "y": 36, "flags": 4}, - {"matrix": [2, 13], "x": 160, "y": 36, "flags": 1}, - {"matrix": [2, 14], "x": 186, "y": 36, "flags": 4}, - {"matrix": [2, 15], "x": 198, "y": 36, "flags": 4}, - {"matrix": [2, 16], "x": 210, "y": 36, "flags": 4}, - {"matrix": [2, 17], "x": 224, "y": 36, "flags": 1}, - {"matrix": [1, 0], "x": 3, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 18, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 30, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 42, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 54, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 66, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 90, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 102, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 114, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 126, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 138, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 150, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 165, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 186, "y": 16, "flags": 4}, - {"matrix": [1, 15], "x": 198, "y": 16, "flags": 4}, - {"matrix": [1, 16], "x": 210, "y": 16, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 12, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 36, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 72, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 108, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 120, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 132, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 162, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 186, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 210, "y": 0, "flags": 1}, - {"matrix": [0, 17], "x": 224, "y": 0, "flags": 1} - ], "sat_steps": 8, "val_steps": 8, "max_brightness": 150, diff --git a/keyboards/blockboy/ac980mini/keymaps/default/keymap.c b/keyboards/blockboy/ac980mini/keymaps/default/keymap.c index 7bd31539c0..0194281ebf 100644 --- a/keyboards/blockboy/ac980mini/keymaps/default/keymap.c +++ b/keyboards/blockboy/ac980mini/keymaps/default/keymap.c @@ -71,4 +71,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -*/ +*/ \ No newline at end of file diff --git a/keyboards/bluebell/swoop/config.h b/keyboards/bluebell/swoop/config.h index 0383809ae0..48d6300325 100644 --- a/keyboards/bluebell/swoop/config.h +++ b/keyboards/bluebell/swoop/config.h @@ -19,5 +19,6 @@ // OLED driver #ifdef OLED_DRIVER_ENABLE + #define OLED_DISPLAY_128X32 #define OLED_TIMEOUT 30000 #endif diff --git a/keyboards/boardrun/bizarre/keyboard.json b/keyboards/boardrun/bizarre/keyboard.json index 230ce46142..22ddfb005d 100644 --- a/keyboards/boardrun/bizarre/keyboard.json +++ b/keyboards/boardrun/bizarre/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Boardrun Bizarre", "manufacturer": "shensmobile", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/boardrun/bizarre", "maintainer": "QMK Community", "debounce": 10, "usb": { diff --git a/keyboards/boardrun/bizarre/keymaps/default/keymap.c b/keyboards/boardrun/bizarre/keymaps/default/keymap.c index 2b60687abb..545318f1a4 100644 --- a/keyboards/boardrun/bizarre/keymaps/default/keymap.c +++ b/keyboards/boardrun/bizarre/keymaps/default/keymap.c @@ -68,4 +68,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______,_______, _______,_______,_______,KC_PAUS,KC_RGUI, _______,_______,KC_MENU,_______,_______, _______,_______, KC_PGUP, _______, _______, _______, KC_RALT, _______, KC_HOME,KC_PGDN,KC_END ) -}; +}; \ No newline at end of file diff --git a/keyboards/boardrun/classic/keyboard.json b/keyboards/boardrun/classic/keyboard.json index 87af448345..bdddee8067 100644 --- a/keyboards/boardrun/classic/keyboard.json +++ b/keyboards/boardrun/classic/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Boardrun Classic", "manufacturer": "shensmobile", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/boardrun/classic", "maintainer": "QMK Community", "debounce": 10, "usb": { diff --git a/keyboards/boardsource/4x12/readme.md b/keyboards/boardsource/4x12/readme.md index 0a60faf6a9..17cf01ed02 100644 --- a/keyboards/boardsource/4x12/readme.md +++ b/keyboards/boardsource/4x12/readme.md @@ -9,4 +9,4 @@ Make example for this keyboard (after setting up your build environment): make boardsource/4x12: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/boardsource/5x12/readme.md b/keyboards/boardsource/5x12/readme.md index 914c7b586a..f1bf8a84c3 100644 --- a/keyboards/boardsource/5x12/readme.md +++ b/keyboards/boardsource/5x12/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make boardsource/5x12: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/boardsource/equals/48/config.h b/keyboards/boardsource/equals/48/config.h index 7132189cdd..39d114872f 100644 --- a/keyboards/boardsource/equals/48/config.h +++ b/keyboards/boardsource/equals/48/config.h @@ -2,6 +2,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U + #define AUDIO_PIN GP29 #define AUDIO_PWM_DRIVER PWMD6 #define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_B diff --git a/keyboards/boardsource/equals/60/config.h b/keyboards/boardsource/equals/60/config.h index 7132189cdd..39d114872f 100644 --- a/keyboards/boardsource/equals/60/config.h +++ b/keyboards/boardsource/equals/60/config.h @@ -2,6 +2,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U + #define AUDIO_PIN GP29 #define AUDIO_PWM_DRIVER PWMD6 #define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_B diff --git a/keyboards/boardsource/lulu/rp2040/config.h b/keyboards/boardsource/lulu/rp2040/config.h index 5a43521918..2c86e48e6f 100644 --- a/keyboards/boardsource/lulu/rp2040/config.h +++ b/keyboards/boardsource/lulu/rp2040/config.h @@ -1,11 +1,11 @@ // Copyright 2022 jack (@waffle87) // SPDX-License-Identifier: GPL-2.0-or-later #pragma once - +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U #define SERIAL_USART_FULL_DUPLEX #define SERIAL_USART_TX_PIN GP0 #define SERIAL_USART_RX_PIN GP1 - #define I2C_DRIVER I2CD1 #define I2C1_SDA_PIN GP22 #define I2C1_SCL_PIN GP23 diff --git a/keyboards/boardsource/unicorne/config.h b/keyboards/boardsource/unicorne/config.h index 843d377cbe..e79c00f14d 100644 --- a/keyboards/boardsource/unicorne/config.h +++ b/keyboards/boardsource/unicorne/config.h @@ -2,6 +2,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET + #define I2C_DRIVER I2CD1 #define I2C1_SDA_PIN GP22 #define I2C1_SCL_PIN GP23 diff --git a/keyboards/bobpad/bobpad.c b/keyboards/bobpad/bobpad.c index a52a7c7223..83b4dbaad0 100644 --- a/keyboards/bobpad/bobpad.c +++ b/keyboards/bobpad/bobpad.c @@ -42,4 +42,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } } return true; -} +} \ No newline at end of file diff --git a/keyboards/boston_meetup/2019/2019.c b/keyboards/boston_meetup/2019/2019.c index 87ce108bc3..1097c58de2 100644 --- a/keyboards/boston_meetup/2019/2019.c +++ b/keyboards/boston_meetup/2019/2019.c @@ -15,6 +15,21 @@ */ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +#include "rgb_matrix.h" + +led_config_t g_led_config = { { + { 5, NO_LED, NO_LED, 0 }, + { NO_LED, NO_LED, NO_LED, NO_LED }, + { 4, NO_LED, NO_LED, 1 }, + { 3, NO_LED, NO_LED, 2 } +}, { + { 188, 16 }, { 187, 48 }, { 149, 64 }, { 112, 64 }, { 37, 48 }, { 38, 16 } +}, { + 4, 4, 4, 4, 4, 4 +} }; +#endif + #ifdef OLED_ENABLE oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return OLED_ROTATION_180; } diff --git a/keyboards/boston_meetup/2019/keyboard.json b/keyboards/boston_meetup/2019/keyboard.json index c56a8f6c06..4f07e0c631 100644 --- a/keyboards/boston_meetup/2019/keyboard.json +++ b/keyboards/boston_meetup/2019/keyboard.json @@ -20,15 +20,7 @@ "driver": "drv2605l" }, "rgb_matrix": { - "driver": "ws2812", - "layout": [ - {"matrix": [0, 3], "x": 188, "y": 16, "flags": 4}, - {"matrix": [2, 3], "x": 187, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 149, "y": 64, "flags": 4}, - {"matrix": [3, 0], "x": 112, "y": 64, "flags": 4}, - {"matrix": [2, 0], "x": 37, "y": 48, "flags": 4}, - {"matrix": [0, 0], "x": 38, "y": 16, "flags": 4} - ] + "driver": "ws2812" }, "matrix_pins": { "cols": ["A7", "A8", "B2", "B10"], diff --git a/keyboards/boston_meetup/2019/keymaps/default/readme.md b/keyboards/boston_meetup/2019/keymaps/default/readme.md index 34edc98509..75f80b5191 100644 --- a/keyboards/boston_meetup/2019/keymaps/default/readme.md +++ b/keyboards/boston_meetup/2019/keymaps/default/readme.md @@ -48,4 +48,4 @@ Adjust: ``` -RGB still work in progress +RGB still work in progress \ No newline at end of file diff --git a/keyboards/boston_meetup/2019/readme.md b/keyboards/boston_meetup/2019/readme.md index 7f7c068e00..2bdac9dcde 100644 --- a/keyboards/boston_meetup/2019/readme.md +++ b/keyboards/boston_meetup/2019/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make boston_meetup/2019: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/boston_meetup/readme.md b/keyboards/boston_meetup/readme.md index 5ce30a2c46..2fa1ec9583 100644 --- a/keyboards/boston_meetup/readme.md +++ b/keyboards/boston_meetup/readme.md @@ -11,4 +11,4 @@ Make example for this keyboard (after setting up your build environment): make boston_meetup/YYYY: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/bpiphany/pegasushoof/2015/matrix.c b/keyboards/bpiphany/pegasushoof/2015/matrix.c index 61135e5833..6fc1fd6e9e 100644 --- a/keyboards/bpiphany/pegasushoof/2015/matrix.c +++ b/keyboards/bpiphany/pegasushoof/2015/matrix.c @@ -31,17 +31,13 @@ static matrix_row_t matrix[MATRIX_ROWS]; static matrix_row_t matrix_debouncing[MATRIX_ROWS]; static matrix_row_t read_cols(void); -static void select_row(uint8_t col); +static void select_row(uint8_t col); // user-defined overridable functions -__attribute__((weak)) void matrix_init_kb(void) { - matrix_init_user(); -} +__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { - matrix_scan_user(); -} +__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); } __attribute__((weak)) void matrix_init_user(void) {} @@ -49,125 +45,105 @@ __attribute__((weak)) void matrix_scan_user(void) {} // helper functions -inline uint8_t matrix_rows(void) { - return MATRIX_ROWS; +inline uint8_t matrix_rows(void) +{ + return MATRIX_ROWS; } -inline uint8_t matrix_cols(void) { - return MATRIX_COLS; +inline uint8_t matrix_cols(void) +{ + return MATRIX_COLS; } -void matrix_init(void) { - /* Column output pins */ - DDRD |= 0b01111011; - /* Row input pins */ - DDRC &= ~0b10000000; - DDRB &= ~0b01111111; - PORTC |= 0b10000000; - PORTB |= 0b01111111; +void matrix_init(void) +{ + /* Column output pins */ + DDRD |= 0b01111011; + /* Row input pins */ + DDRC &= ~0b10000000; + DDRB &= ~0b01111111; + PORTC |= 0b10000000; + PORTB |= 0b01111111; - for (uint8_t i = 0; i < matrix_rows(); i++) { - matrix[i] = 0; - matrix_debouncing[i] = 0; - } + for (uint8_t i=0; i < matrix_rows(); i++) { + matrix[i] = 0; + matrix_debouncing[i] = 0; + } - matrix_init_kb(); + matrix_init_kb(); } -uint8_t matrix_scan(void) { - bool changed = false; - for (uint8_t col = 0; col < MATRIX_COLS; col++) { - select_row(col); - wait_us(30); - matrix_row_t rows = read_cols(); - for (uint8_t row = 0; row < matrix_rows(); row++) { - bool prev_bit = matrix_debouncing[row] & ((matrix_row_t)1 << col); - bool curr_bit = rows & (1 << row); - if ((changed |= prev_bit != curr_bit)) { - matrix_debouncing[row] ^= (matrix_row_t)1 << col; - } - } - } - - debounce(matrix_debouncing, matrix, changed); - matrix_scan_kb(); - - return (uint8_t)changed; -} - -inline matrix_row_t matrix_get_row(uint8_t row) { - return matrix[row]; -} - -void matrix_print(void) { - print("\nr/c 0123456789ABCDEF\n"); +uint8_t matrix_scan(void) +{ + bool changed = false; + for (uint8_t col = 0; col < MATRIX_COLS; col++) { + select_row(col); + wait_us(30); + matrix_row_t rows = read_cols(); for (uint8_t row = 0; row < matrix_rows(); row++) { - print_hex8(row); - print(": "); - print_bin_reverse16(matrix_get_row(row)); - print("\n"); + bool prev_bit = matrix_debouncing[row] & ((matrix_row_t)1<", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, - {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, - {"label": "Menu", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_ansi": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, - {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, - {"label": "Menu", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_ansi_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, - {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, - {"label": "Menu", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_ansi_tsangan": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 5.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 5.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_ansi_wkl": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_ansi_wkl_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_ansi": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, - {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, - {"label": "Menu", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_ansi_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, - {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, - {"label": "Menu", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_ansi_tsangan": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 5.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 5.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_ansi_wkl": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_iso": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, - {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, - {"label": "Menu", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_iso_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, - {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, - {"label": "Menu", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_iso_tsangan": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 5.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 5.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_iso_wkl": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_f13_iso_wkl_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_iso": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, - {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, - {"label": "Menu", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_iso_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, - {"label": "AltGr", "matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.25}, - {"label": "Menu", "matrix": [5, 11], "x": 11.25, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.5, "w": 1.25}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_iso_tsangan": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 5.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_iso_tsangan_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 5.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Win", "matrix": [5, 12], "x": 12.5, "y": 5.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_iso_wkl": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "BckSpc", "matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - }, - "LAYOUT_tkl_iso_wkl_split_bs_rshift": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 3], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 4], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, - {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, - {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 15], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.5}, - {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.5}, - {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.5}, - {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.5}, - {"label": "|", "matrix": [1, 13], "x": 13, "y": 1.5}, - {"label": "~", "matrix": [1, 14], "x": 14, "y": 1.5}, - {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [1, 17], "x": 17.25, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [2, 17], "x": 17.25, "y": 2.5}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"label": "|", "matrix": [2, 13], "x": 12.75, "y": 3.5}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, - {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.5}, - {"label": "Up", "matrix": [4, 16], "x": 16.25, "y": 4.5}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, - {"label": "AltGr", "matrix": [5, 11], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "Left", "matrix": [5, 15], "x": 15.25, "y": 5.5}, - {"label": "Down", "matrix": [5, 16], "x": 16.25, "y": 5.5}, - {"label": "Right", "matrix": [5, 17], "x": 17.25, "y": 5.5} - ] - } - } -} diff --git a/keyboards/candykeys/candy87/keymaps/default/keymap.c b/keyboards/candykeys/candy87/keymaps/default/keymap.c deleted file mode 100644 index a0059c72fb..0000000000 --- a/keyboards/candykeys/candy87/keymaps/default/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2024 RarePotato8DE - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_all( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = LAYOUT_all( - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_TOGG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUED, RM_SATD, RM_VALD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_SPDU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_PREV, RM_SPDD, RM_NEXT) -}; diff --git a/keyboards/candykeys/candy87/keymaps/f12_ansi/keymap.c b/keyboards/candykeys/candy87/keymaps/f12_ansi/keymap.c deleted file mode 100644 index 49dd3e2359..0000000000 --- a/keyboards/candykeys/candy87/keymaps/f12_ansi/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2024 RarePotato8DE - * - * 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_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_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = 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, RM_TOGG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUED, RM_SATD, RM_VALD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_SPDU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_PREV, RM_SPDD, RM_NEXT) -}; diff --git a/keyboards/candykeys/candy87/keymaps/f12_ansi_tsangan/keymap.c b/keyboards/candykeys/candy87/keymaps/f12_ansi_tsangan/keymap.c deleted file mode 100644 index 30af959fa8..0000000000 --- a/keyboards/candykeys/candy87/keymaps/f12_ansi_tsangan/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2024 RarePotato8DE - * - * 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_tsangan_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_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = LAYOUT_tkl_ansi_tsangan_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, RM_TOGG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUED, RM_SATD, RM_VALD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_SPDU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_PREV, RM_SPDD, RM_NEXT) -}; diff --git a/keyboards/candykeys/candy87/keymaps/f12_iso/keymap.c b/keyboards/candykeys/candy87/keymaps/f12_iso/keymap.c deleted file mode 100644 index 890f7f5a09..0000000000 --- a/keyboards/candykeys/candy87/keymaps/f12_iso/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2024 RarePotato8DE - * - * 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_iso_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_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = LAYOUT_tkl_iso_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, RM_TOGG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUED, RM_SATD, RM_VALD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_SPDU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_PREV, RM_SPDD, RM_NEXT) -}; diff --git a/keyboards/candykeys/candy87/keymaps/f12_iso_tsangan/keymap.c b/keyboards/candykeys/candy87/keymaps/f12_iso_tsangan/keymap.c deleted file mode 100644 index 59ffb1b933..0000000000 --- a/keyboards/candykeys/candy87/keymaps/f12_iso_tsangan/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2024 RarePotato8DE - * - * 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_iso_tsangan_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_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = LAYOUT_tkl_iso_tsangan_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, RM_TOGG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUED, RM_SATD, RM_VALD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_SPDU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_PREV, RM_SPDD, RM_NEXT) -}; diff --git a/keyboards/candykeys/candy87/keymaps/f13_ansi/keymap.c b/keyboards/candykeys/candy87/keymaps/f13_ansi/keymap.c deleted file mode 100644 index d33fe2796c..0000000000 --- a/keyboards/candykeys/candy87/keymaps/f13_ansi/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2024 RarePotato8DE - * - * 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_f13_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_F13, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = LAYOUT_tkl_f13_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, RM_TOGG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUED, RM_SATD, RM_VALD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_SPDU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_PREV, RM_SPDD, RM_NEXT) -}; diff --git a/keyboards/candykeys/candy87/keymaps/f13_ansi_tsangan/keymap.c b/keyboards/candykeys/candy87/keymaps/f13_ansi_tsangan/keymap.c deleted file mode 100644 index b920db0051..0000000000 --- a/keyboards/candykeys/candy87/keymaps/f13_ansi_tsangan/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2024 RarePotato8DE - * - * 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_f13_ansi_tsangan_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_F13, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = LAYOUT_tkl_f13_ansi_tsangan_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, RM_TOGG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUED, RM_SATD, RM_VALD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_SPDU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_PREV, RM_SPDD, RM_NEXT) -}; diff --git a/keyboards/candykeys/candy87/keymaps/f13_iso/keymap.c b/keyboards/candykeys/candy87/keymaps/f13_iso/keymap.c deleted file mode 100644 index 9cb4a1423e..0000000000 --- a/keyboards/candykeys/candy87/keymaps/f13_iso/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2024 RarePotato8DE - * - * 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_f13_iso_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_F13, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = LAYOUT_tkl_f13_iso_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, RM_TOGG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUED, RM_SATD, RM_VALD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_SPDU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_PREV, RM_SPDD, RM_NEXT) -}; diff --git a/keyboards/candykeys/candy87/keymaps/f13_iso_tsangan/keymap.c b/keyboards/candykeys/candy87/keymaps/f13_iso_tsangan/keymap.c deleted file mode 100644 index 3548940c59..0000000000 --- a/keyboards/candykeys/candy87/keymaps/f13_iso_tsangan/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2024 RarePotato8DE - * - * 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_f13_iso_tsangan_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_F13, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = LAYOUT_tkl_f13_iso_tsangan_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, RM_TOGG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUED, RM_SATD, RM_VALD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_SPDU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_PREV, RM_SPDD, RM_NEXT) -}; diff --git a/keyboards/candykeys/candy87/readme.md b/keyboards/candykeys/candy87/readme.md deleted file mode 100644 index 0058d60925..0000000000 --- a/keyboards/candykeys/candy87/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# Candy87 - -![Candy87](https://i.imgur.com/HeCz1u8.png) - -The Candy87 Hotswap PCB is a universal TKL PCB by Candykeys. -It supports ISO Hotswap by default (ANSI possible with desolering two hotswap sockets) and many layout options. -It was mainly made for the F1-8X V2, but fits similar keyboards as well. - -* Keyboard Maintainer: [RarePotato8DE](https://github.com/rarepotato8de) -* Hardware Supported: Candy87 PCB for F1-8X V2 and similar -* Hardware Availability: [Buy on Candykeys](https://candykeys.com/product/candy87-hotswap-pcb-iso) - -Make example for this keyboard (after setting up your build environment): - - make candykeys/candy87:default - -Flashing example for this keyboard: - - make candykeys/candy87:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Hold down the "BOOT" button on the back and double press "RESET". Release "BOOT" after -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/cannonkeys/bakeneko60_iso_hs/readme.md b/keyboards/cannonkeys/bakeneko60_iso_hs/readme.md index 3cb4481855..571ebea80b 100644 --- a/keyboards/cannonkeys/bakeneko60_iso_hs/readme.md +++ b/keyboards/cannonkeys/bakeneko60_iso_hs/readme.md @@ -21,4 +21,4 @@ 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**: Toggle the switch on the back of the pcb to "0" and briefly press the button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c index 0e411aa92a..815e84901d 100644 --- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c +++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c @@ -284,4 +284,4 @@ void oled_request_repaint(void){ void oled_request_wakeup(void){ } -#endif +#endif \ No newline at end of file diff --git a/keyboards/cannonkeys/minimi40/ortho/keyboard.json b/keyboards/cannonkeys/minimi40/ortho/keyboard.json deleted file mode 100644 index 9af52b70db..0000000000 --- a/keyboards/cannonkeys/minimi40/ortho/keyboard.json +++ /dev/null @@ -1,180 +0,0 @@ -{ - "manufacturer": "CannonKeys", - "keyboard_name": "Minimi40 Ortho", - "maintainer": "awkannan", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["B11", "B10", "B2", "B1", "B0", "A4", "C14", "B6", "B5", "B4", "B3", "A15"], - "rows": ["A5", "A7", "A3", "B7"] - }, - "processor": "STM32F072", - "url": "https://cannonkeys.com", - "usb": { - "device_version": "0.0.1", - "pid": "0x0037", - "vid": "0xCA04" - }, - "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": [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} - ] - }, - "LAYOUT_ortho_4x12_2x2bar": { - "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, 5], "x": 4, "y": 3, "w": 2}, - {"matrix": [3, 7], "x": 6, "y": 3, "w": 2}, - {"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} - ] - }, - "LAYOUT_planck_mit": { - "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, 6], "x": 5, "y": 3, "w": 2}, - {"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} - ] - } - } -} diff --git a/keyboards/cannonkeys/minimi40/ortho/keymaps/default/keymap.c b/keyboards/cannonkeys/minimi40/ortho/keymaps/default/keymap.c deleted file mode 100644 index bab7288ea7..0000000000 --- a/keyboards/cannonkeys/minimi40/ortho/keymaps/default/keymap.c +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2024 Andrew Kannan -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -enum custom_layers { - _BASE, - _RAISE, - _LOWER, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | ` | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_BASE] = LAYOUT_ortho_4x12( - 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_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 , - KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT -), -/* Lower - * ,-----------------------------------------------------------------------------------. - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_LOWER] = 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, KC_BSPC, - 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, _______, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY -), - -/* Raise - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_RAISE] = 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, KC_BSPC, - 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/cannonkeys/minimi40/ortho/readme.md b/keyboards/cannonkeys/minimi40/ortho/readme.md deleted file mode 100644 index 66461139a3..0000000000 --- a/keyboards/cannonkeys/minimi40/ortho/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -# Minimi40 Ortho - -* Hardware Supported: STM32F072CBT6/APM32F072CBT6 - -Make example for this keyboard (after setting up your build environment): - - make cannonkeys/minimi40/ortho:default - -Flashing example for this keyboard: - - make cannonkeys/minimi40/ortho: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**: Toggle the switch on the back of the pcb to "1" and 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/cannonkeys/minimi40/ortho/rules.mk b/keyboards/cannonkeys/minimi40/ortho/rules.mk deleted file mode 100644 index 6dd24d8e06..0000000000 --- a/keyboards/cannonkeys/minimi40/ortho/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -v FFFF -p FFFF - diff --git a/keyboards/cannonkeys/minimi40/readme.md b/keyboards/cannonkeys/minimi40/readme.md deleted file mode 100644 index f5cd64b7f2..0000000000 --- a/keyboards/cannonkeys/minimi40/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# Minimi40 - -This has both the ortho and staggered versions of the wired Minimi40 PCBs -The hotswap and solderable versions use the same firmware. - -This firmware can also be used on the GEON F1-40 - -Please check each folder's README for more details. - -* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) -* Hardware Availability: [CannonKeys](https://cannonkeys.com) diff --git a/keyboards/cannonkeys/minimi40/staggered/config.h b/keyboards/cannonkeys/minimi40/staggered/config.h deleted file mode 100644 index 4eec357f20..0000000000 --- a/keyboards/cannonkeys/minimi40/staggered/config.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2024 Andrew Kannan -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U - -#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 diff --git a/keyboards/cannonkeys/minimi40/staggered/keyboard.json b/keyboards/cannonkeys/minimi40/staggered/keyboard.json deleted file mode 100644 index 14d20ed328..0000000000 --- a/keyboards/cannonkeys/minimi40/staggered/keyboard.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "manufacturer": "CannonKeys", - "keyboard_name": "Minimi40 Staggered", - "maintainer": "awkannan", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["GP28", "GP8", "GP10", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], - "rows": ["GP17", "GP27", "GP11", "GP12"] - }, - "processor": "RP2040", - "url": "https://cannonkeys.com", - "usb": { - "device_version": "0.0.1", - "pid": "0x0036", - "vid": "0xCA04" - }, - "layouts": { - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [3, 7], "x": 10, "y": 0}, - {"matrix": [0, 10], "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, 10], "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}, - {"matrix": [2, 10], "x": 10.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, "w": 1.25}, - {"matrix": [3, 4], "x": 3.5, "y": 3, "w": 2.25}, - {"matrix": [3, 6], "x": 5.75, "y": 3, "w": 2.75}, - {"matrix": [3, 8], "x": 8.5, "y": 3, "w": 1.25}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3, "w": 1.25} - ] - }, - "LAYOUT_full_space": { - "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": [3, 7], "x": 10, "y": 0}, - {"matrix": [0, 10], "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, 10], "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}, - {"matrix": [2, 10], "x": 10.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, 4], "x": 2.25, "y": 3, "w": 6.25}, - {"matrix": [3, 8], "x": 8.5, "y": 3, "w": 1.25}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3, "w": 1.25} - ] - } - } -} diff --git a/keyboards/cannonkeys/minimi40/staggered/keymaps/default/keymap.c b/keyboards/cannonkeys/minimi40/staggered/keymaps/default/keymap.c deleted file mode 100644 index c16134aa25..0000000000 --- a/keyboards/cannonkeys/minimi40/staggered/keymaps/default/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2024 Andrew Kannan -// 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_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_RSFT, MO(2), - KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_SPC, KC_RALT, MO(1), KC_RCTL -), -[1] = LAYOUT_all( - 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_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, - _______, _______, _______, _______, _______, KC_SLSH, KC_SCLN, KC_QUOT, KC_DOT, KC_UP, _______, - _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT -), -[2] = LAYOUT_all( - _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, _______, _______, KC_DEL, - _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, _______, _______, _______, _______, - KC_CAPS, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_PGUP, _______, KC_PGDN -) -}; diff --git a/keyboards/cannonkeys/minimi40/staggered/readme.md b/keyboards/cannonkeys/minimi40/staggered/readme.md deleted file mode 100644 index c11664a1be..0000000000 --- a/keyboards/cannonkeys/minimi40/staggered/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -# Minimi40 Staggered - -* Hardware Supported: RP2040 - -Make example for this keyboard (after setting up your build environment): - - make cannonkeys/minimi40/staggered:default - -Flashing example for this keyboard: - - make cannonkeys/minimi40/staggered:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Hold the "BOOTMODE" button on the back of the PCB and briefly press the "RESET" button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/cannonkeys/ortho48v2/config.h b/keyboards/cannonkeys/ortho48v2/config.h index 18edaab2ab..2af75a1715 100644 --- a/keyboards/cannonkeys/ortho48v2/config.h +++ b/keyboards/cannonkeys/ortho48v2/config.h @@ -16,5 +16,8 @@ along with this program. If not, see . */ #pragma once +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // Timeout window in ms in which the double tap can occur. + #define BACKLIGHT_PWM_DRIVER PWMD6 #define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A diff --git a/keyboards/cannonkeys/ortho60v2/config.h b/keyboards/cannonkeys/ortho60v2/config.h index 18edaab2ab..2af75a1715 100644 --- a/keyboards/cannonkeys/ortho60v2/config.h +++ b/keyboards/cannonkeys/ortho60v2/config.h @@ -16,5 +16,8 @@ along with this program. If not, see . */ #pragma once +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // Timeout window in ms in which the double tap can occur. + #define BACKLIGHT_PWM_DRIVER PWMD6 #define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A diff --git a/keyboards/cannonkeys/petrichor/config.h b/keyboards/cannonkeys/petrichor/config.h index 4eec357f20..ea5c26b6c7 100644 --- a/keyboards/cannonkeys/petrichor/config.h +++ b/keyboards/cannonkeys/petrichor/config.h @@ -6,4 +6,4 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U -#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 \ No newline at end of file diff --git a/keyboards/cannonkeys/petrichor/keymaps/default/keymap.c b/keyboards/cannonkeys/petrichor/keymaps/default/keymap.c index be23b950b2..05e0ad2a93 100644 --- a/keyboards/cannonkeys/petrichor/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/petrichor/keymaps/default/keymap.c @@ -21,4 +21,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______ ), -}; +}; \ No newline at end of file diff --git a/keyboards/cannonkeys/reverie/config.h b/keyboards/cannonkeys/reverie/config.h index 4eec357f20..ea5c26b6c7 100644 --- a/keyboards/cannonkeys/reverie/config.h +++ b/keyboards/cannonkeys/reverie/config.h @@ -6,4 +6,4 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U -#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 \ No newline at end of file diff --git a/keyboards/cannonkeys/satisfaction75/prototype/keyboard.json b/keyboards/cannonkeys/satisfaction75/prototype/keyboard.json index 6e3f0f9413..4f67754d8f 100644 --- a/keyboards/cannonkeys/satisfaction75/prototype/keyboard.json +++ b/keyboards/cannonkeys/satisfaction75/prototype/keyboard.json @@ -190,4 +190,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/cannonkeys/satisfaction75/readme.md b/keyboards/cannonkeys/satisfaction75/readme.md index f483f8b6c0..9e2891b93f 100644 --- a/keyboards/cannonkeys/satisfaction75/readme.md +++ b/keyboards/cannonkeys/satisfaction75/readme.md @@ -37,4 +37,4 @@ 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**: Toggle the switch on the back of the pcb to "1" and briefly press the button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/cannonkeys/satisfaction75/rev1/keyboard.json b/keyboards/cannonkeys/satisfaction75/rev1/keyboard.json index 9605a63fea..d4a6b4423c 100644 --- a/keyboards/cannonkeys/satisfaction75/rev1/keyboard.json +++ b/keyboards/cannonkeys/satisfaction75/rev1/keyboard.json @@ -531,4 +531,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/cannonkeys/satisfaction75/rev2/keyboard.json b/keyboards/cannonkeys/satisfaction75/rev2/keyboard.json index 79192b936e..e8ddb90c89 100644 --- a/keyboards/cannonkeys/satisfaction75/rev2/keyboard.json +++ b/keyboards/cannonkeys/satisfaction75/rev2/keyboard.json @@ -190,4 +190,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction75.h b/keyboards/cannonkeys/satisfaction75/satisfaction75.h index 8bee64dc2c..d4fc7aca87 100644 --- a/keyboards/cannonkeys/satisfaction75/satisfaction75.h +++ b/keyboards/cannonkeys/satisfaction75/satisfaction75.h @@ -3,4 +3,4 @@ #pragma once -#include "satisfaction_keycodes.h" +#include "satisfaction_keycodes.h" \ No newline at end of file diff --git a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json index 141209da80..55a03da463 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json +++ b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json @@ -204,4 +204,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/cannonkeys/satisfaction75_hs/satisfaction75_hs.h b/keyboards/cannonkeys/satisfaction75_hs/satisfaction75_hs.h index 8bee64dc2c..d4fc7aca87 100644 --- a/keyboards/cannonkeys/satisfaction75_hs/satisfaction75_hs.h +++ b/keyboards/cannonkeys/satisfaction75_hs/satisfaction75_hs.h @@ -3,4 +3,4 @@ #pragma once -#include "satisfaction_keycodes.h" +#include "satisfaction_keycodes.h" \ No newline at end of file diff --git a/keyboards/capsunlocked/cu24/keymaps/default/readme.md b/keyboards/capsunlocked/cu24/keymaps/default/readme.md index 9fa069bc06..5528d6c0d8 100644 --- a/keyboards/capsunlocked/cu24/keymaps/default/readme.md +++ b/keyboards/capsunlocked/cu24/keymaps/default/readme.md @@ -7,4 +7,4 @@ https://imgur.com/a/vpHFj This is the default layout that comes flashed on every CU24. It is like a normal numpad, with all the led customization on the Fn layer. -See [All Layouts](https://imgur.com/trwO7dN) for all supported configurations! +See [All Layouts](https://imgur.com/trwO7dN) for all supported configurations! \ No newline at end of file diff --git a/keyboards/capsunlocked/cu80/v2/ansi/ansi.c b/keyboards/capsunlocked/cu80/v2/ansi/ansi.c new file mode 100644 index 0000000000..2d4055d984 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/ansi/ansi.c @@ -0,0 +1,20 @@ +// Copyright 2021 CapsUnlocked +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + {0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, + {32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16}, + {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}, + {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, NO_LED, NO_LED, NO_LED, NO_LED}, + {63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75, NO_LED}, + {86, 85, 84, NO_LED, NO_LED, 83, NO_LED, NO_LED, NO_LED, 82, 81, 80, 79, 78, NO_LED, 77, 76} + }, { + {0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 13}, {212, 13}, {198, 13}, {184, 13}, {169, 13}, {155, 13}, {141, 13}, {127, 13}, {113, 13}, {99, 13}, {85, 13}, {71, 13}, {56, 13}, {42, 13}, {28, 13}, {14, 13}, {0, 13}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26}, {155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64} + }, { + 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, 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, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1 + } +}; +#endif diff --git a/keyboards/capsunlocked/cu80/v2/ansi/keyboard.json b/keyboards/capsunlocked/cu80/v2/ansi/keyboard.json index fe38c3dff8..9dc24b5e40 100644 --- a/keyboards/capsunlocked/cu80/v2/ansi/keyboard.json +++ b/keyboards/capsunlocked/cu80/v2/ansi/keyboard.json @@ -2,96 +2,5 @@ "keyboard_name": "CU80 v2 ANSI", "usb": { "pid": "0x0081" - }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 71, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 85, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 99, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 113, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 127, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 141, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 155, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 169, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 184, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 212, "y": 0, "flags": 8}, - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 16], "x": 224, "y": 13, "flags": 4}, - {"matrix": [1, 15], "x": 212, "y": 13, "flags": 4}, - {"matrix": [1, 14], "x": 198, "y": 13, "flags": 4}, - {"matrix": [1, 13], "x": 184, "y": 13, "flags": 4}, - {"matrix": [1, 12], "x": 169, "y": 13, "flags": 4}, - {"matrix": [1, 11], "x": 155, "y": 13, "flags": 4}, - {"matrix": [1, 10], "x": 141, "y": 13, "flags": 4}, - {"matrix": [1, 9], "x": 127, "y": 13, "flags": 4}, - {"matrix": [1, 8], "x": 113, "y": 13, "flags": 4}, - {"matrix": [1, 7], "x": 99, "y": 13, "flags": 4}, - {"matrix": [1, 6], "x": 85, "y": 13, "flags": 4}, - {"matrix": [1, 5], "x": 71, "y": 13, "flags": 4}, - {"matrix": [1, 4], "x": 56, "y": 13, "flags": 4}, - {"matrix": [1, 3], "x": 42, "y": 13, "flags": 4}, - {"matrix": [1, 2], "x": 28, "y": 13, "flags": 4}, - {"matrix": [1, 1], "x": 14, "y": 13, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 26, "flags": 4}, - {"matrix": [2, 1], "x": 14, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 28, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 99, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 113, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 127, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 141, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 155, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 169, "y": 26, "flags": 4}, - {"matrix": [2, 13], "x": 184, "y": 26, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 26, "flags": 4}, - {"matrix": [2, 15], "x": 212, "y": 26, "flags": 4}, - {"matrix": [2, 16], "x": 224, "y": 26, "flags": 4}, - {"matrix": [3, 12], "x": 169, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 155, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 141, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 113, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 99, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 85, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 71, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 56, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 28, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 14, "y": 38, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 38, "flags": 8}, - {"matrix": [4, 0], "x": 0, "y": 51, "flags": 1}, - {"matrix": [4, 2], "x": 28, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 56, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 71, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 85, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 99, "y": 51, "flags": 4}, - {"matrix": [4, 8], "x": 113, "y": 51, "flags": 4}, - {"matrix": [4, 9], "x": 127, "y": 51, "flags": 4}, - {"matrix": [4, 10], "x": 141, "y": 51, "flags": 4}, - {"matrix": [4, 11], "x": 155, "y": 51, "flags": 4}, - {"matrix": [4, 12], "x": 169, "y": 51, "flags": 1}, - {"matrix": [4, 15], "x": 212, "y": 51, "flags": 4}, - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 4}, - {"matrix": [5, 15], "x": 212, "y": 64, "flags": 4}, - {"matrix": [5, 13], "x": 184, "y": 64, "flags": 4}, - {"matrix": [5, 12], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 155, "y": 64, "flags": 1}, - {"matrix": [5, 10], "x": 141, "y": 64, "flags": 1}, - {"matrix": [5, 9], "x": 127, "y": 64, "flags": 1}, - {"matrix": [5, 5], "x": 71, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 28, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1} - ] } } diff --git a/keyboards/capsunlocked/cu80/v2/iso/iso.c b/keyboards/capsunlocked/cu80/v2/iso/iso.c new file mode 100644 index 0000000000..0e8e26e5dd --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/iso/iso.c @@ -0,0 +1,20 @@ +// Copyright 2021 CapsUnlocked +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + {0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, + {32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16}, + {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}, + {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, NO_LED, NO_LED, NO_LED, NO_LED}, + {63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76, NO_LED}, + {87, 86, 85, NO_LED, NO_LED, 84, NO_LED, NO_LED, NO_LED, 83, 82, 81, 80, 79, NO_LED, 78, 77} + }, { + {0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 26}, {212, 26}, {198, 26}, {184, 26}, {169, 26}, {155, 26}, {141, 26}, {127, 26}, {113, 26}, {99, 26}, {85, 26}, {71, 26}, {56, 26}, {42, 26}, {28, 26}, {14, 26}, {0, 26}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26}, {155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {14, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64} + }, { + 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, 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, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1 + } +}; +#endif diff --git a/keyboards/capsunlocked/cu80/v2/iso/keyboard.json b/keyboards/capsunlocked/cu80/v2/iso/keyboard.json index b78b8af41e..33d49db64a 100644 --- a/keyboards/capsunlocked/cu80/v2/iso/keyboard.json +++ b/keyboards/capsunlocked/cu80/v2/iso/keyboard.json @@ -2,97 +2,5 @@ "keyboard_name": "CU80 v2 ISO", "usb": { "pid": "0x0083" - }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 71, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 85, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 99, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 113, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 127, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 141, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 155, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 169, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 184, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 212, "y": 0, "flags": 8}, - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 16], "x": 224, "y": 26, "flags": 4}, - {"matrix": [1, 15], "x": 212, "y": 26, "flags": 4}, - {"matrix": [1, 14], "x": 198, "y": 26, "flags": 4}, - {"matrix": [1, 13], "x": 184, "y": 26, "flags": 4}, - {"matrix": [1, 12], "x": 169, "y": 26, "flags": 4}, - {"matrix": [1, 11], "x": 155, "y": 26, "flags": 4}, - {"matrix": [1, 10], "x": 141, "y": 26, "flags": 4}, - {"matrix": [1, 9], "x": 127, "y": 26, "flags": 4}, - {"matrix": [1, 8], "x": 113, "y": 26, "flags": 4}, - {"matrix": [1, 7], "x": 99, "y": 26, "flags": 4}, - {"matrix": [1, 6], "x": 85, "y": 26, "flags": 4}, - {"matrix": [1, 5], "x": 71, "y": 26, "flags": 4}, - {"matrix": [1, 4], "x": 56, "y": 26, "flags": 4}, - {"matrix": [1, 3], "x": 42, "y": 26, "flags": 4}, - {"matrix": [1, 2], "x": 28, "y": 26, "flags": 4}, - {"matrix": [1, 1], "x": 14, "y": 26, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 26, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 26, "flags": 4}, - {"matrix": [2, 1], "x": 14, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 28, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 99, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 113, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 127, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 141, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 155, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 169, "y": 26, "flags": 4}, - {"matrix": [2, 13], "x": 184, "y": 26, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 26, "flags": 4}, - {"matrix": [2, 15], "x": 212, "y": 26, "flags": 4}, - {"matrix": [2, 16], "x": 224, "y": 26, "flags": 4}, - {"matrix": [3, 12], "x": 169, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 155, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 141, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 113, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 99, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 85, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 71, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 56, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 28, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 14, "y": 38, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 38, "flags": 8}, - {"matrix": [4, 0], "x": 0, "y": 51, "flags": 1}, - {"matrix": [4, 1], "x": 14, "y": 51, "flags": 4}, - {"matrix": [4, 2], "x": 28, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 56, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 71, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 85, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 99, "y": 51, "flags": 4}, - {"matrix": [4, 8], "x": 113, "y": 51, "flags": 4}, - {"matrix": [4, 9], "x": 127, "y": 51, "flags": 4}, - {"matrix": [4, 10], "x": 141, "y": 51, "flags": 4}, - {"matrix": [4, 11], "x": 155, "y": 51, "flags": 4}, - {"matrix": [4, 12], "x": 169, "y": 51, "flags": 1}, - {"matrix": [4, 15], "x": 212, "y": 51, "flags": 4}, - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 4}, - {"matrix": [5, 15], "x": 212, "y": 64, "flags": 4}, - {"matrix": [5, 13], "x": 184, "y": 64, "flags": 4}, - {"matrix": [5, 12], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 155, "y": 64, "flags": 1}, - {"matrix": [5, 10], "x": 141, "y": 64, "flags": 1}, - {"matrix": [5, 9], "x": 127, "y": 64, "flags": 1}, - {"matrix": [5, 5], "x": 71, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 28, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1} - ] } } diff --git a/keyboards/cbkbd/acai/keyboard.json b/keyboards/cbkbd/acai/keyboard.json deleted file mode 100644 index b1babe7797..0000000000 --- a/keyboards/cbkbd/acai/keyboard.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "manufacturer": "CoffeeBreakKeyboards", - "keyboard_name": "Acai", - "maintainer": "CoffeeBreakKeyboards", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "dynamic_keymap": { - "layer_count": 6 - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP25", "GP24", "GP23", "GP20", "GP18", "GP7", "GP6", "GP5", "GP4", "GP3"], - "rows": ["GP27", "GP28", "GP19", "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, - "flower_blooming": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "riverflow": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "starlight": true, - "starlight_dual_hue": true, - "starlight_dual_sat": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 4], "x": 100, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 75, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 50, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 25, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, - {"matrix": [1, 1], "x": 25, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 50, "y": 21, "flags": 4}, - {"matrix": [1, 3], "x": 75, "y": 21, "flags": 4}, - {"matrix": [1, 4], "x": 100, "y": 21, "flags": 4}, - {"matrix": [2, 4], "x": 100, "y": 43, "flags": 4}, - {"matrix": [2, 3], "x": 75, "y": 43, "flags": 4}, - {"matrix": [2, 2], "x": 50, "y": 43, "flags": 4}, - {"matrix": [2, 1], "x": 25, "y": 43, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 43, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 25, "y": 64, "flags": 4}, - {"matrix": [3, 2], "x": 50, "y": 64, "flags": 4}, - {"matrix": [3, 3], "x": 75, "y": 64, "flags": 4}, - {"matrix": [3, 4], "x": 100, "y": 64, "flags": 4}, - {"matrix": [3, 5], "x": 125, "y": 64, "flags": 4}, - {"matrix": [3, 6], "x": 150, "y": 64, "flags": 4}, - {"matrix": [3, 7], "x": 175, "y": 64, "flags": 4}, - {"matrix": [3, 8], "x": 200, "y": 64, "flags": 4}, - {"matrix": [3, 9], "x": 224, "y": 64, "flags": 4}, - {"matrix": [2, 9], "x": 224, "y": 43, "flags": 4}, - {"matrix": [2, 8], "x": 200, "y": 43, "flags": 4}, - {"matrix": [2, 7], "x": 175, "y": 43, "flags": 4}, - {"matrix": [2, 6], "x": 150, "y": 43, "flags": 4}, - {"matrix": [2, 5], "x": 125, "y": 43, "flags": 4}, - {"matrix": [1, 5], "x": 125, "y": 21, "flags": 4}, - {"matrix": [1, 6], "x": 150, "y": 21, "flags": 4}, - {"matrix": [1, 7], "x": 175, "y": 21, "flags": 4}, - {"matrix": [1, 8], "x": 200, "y": 21, "flags": 4}, - {"matrix": [1, 9], "x": 224, "y": 21, "flags": 4}, - {"matrix": [0, 9], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 200, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 175, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 125, "y": 0, "flags": 4} - ], - "max_brightness": 125, - "sleep": true - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x1075", - "vid": "0x4342" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP29" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [2, 6], "x": 6, "y": 2}, - {"matrix": [2, 7], "x": 7, "y": 2}, - {"matrix": [2, 8], "x": 8, "y": 2}, - {"matrix": [2, 9], "x": 9, "y": 2}, - {"matrix": [3, 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} - ] - } - } -} diff --git a/keyboards/cbkbd/acai/keymaps/default/keymap.c b/keyboards/cbkbd/acai/keymaps/default/keymap.c deleted file mode 100644 index 90ff4a4f49..0000000000 --- a/keyboards/cbkbd/acai/keymaps/default/keymap.c +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_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_ENTER, - LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), - KC_LCTL, KC_LGUI, KC_LALT, LT(1,KC_BSPC), KC_DEL, KC_ENT, LT(2,KC_SPACE), KC_RALT, KC_RGUI, KC_RCTL - ), - - [1] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( - RM_TOGG, RM_NEXT, 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_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - -}; diff --git a/keyboards/cbkbd/acai/readme.md b/keyboards/cbkbd/acai/readme.md deleted file mode 100644 index 45688511f9..0000000000 --- a/keyboards/cbkbd/acai/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Acai - -![Acai](https://imgur.com/eWKoH96.png) - -A 10x4 ortholinear keyboard made and sold by Coffee Break Keyboards. PCB designed by Snipeye. Case designed by Rain and Obabo. [More info on cbkbd.com](https://www.cbkbd.com/product/acai) - -* Hardware Supported: Acai PCB -* Hardware Availability: [cbkbd.com](https://www.cbkbd.com/product/acai-pcb) - -Make example for this keyboard (after setting up your build environment): - - make cbkbd/acai:default - -Flashing example for this keyboard: - - make cbkbd/acai:default:flash - -See the [build environment setup](getting_started_build_tools) and the [make instructions](getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](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/cbkbd/coffeevan/keyboard.json b/keyboards/cbkbd/coffeevan/keyboard.json deleted file mode 100644 index a1c96425c4..0000000000 --- a/keyboards/cbkbd/coffeevan/keyboard.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "manufacturer": "CoffeeBreakKeyboards", - "keyboard_name": "Coffeevan", - "maintainer": "CoffeeBreakKeyboards", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "dynamic_keymap": { - "layer_count": 6 - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["GP13", "GP12", "GP11", "GP10", "GP24", "GP9", "GP8", "GP28", "GP4", "GP3", "GP2", "GP1"], - "rows": ["GP27", "GP26", "GP25", "GP14"] - }, - "processor": "RP2040", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 20 - }, - "usb": { - "device_version": "1.0.1", - "pid": "0x4356", - "vid": "0x4342" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP16" - }, - "layouts": { - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0, "w": 1.75}, - {"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, 10], "x": 10.25, "y": 1}, - {"matrix": [1, 11], "x": 11.25, "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": [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.75}, - {"matrix": [3, 6], "x": 3.5, "y": 4, "w": 6.25}, - {"matrix": [3, 5], "x": 6.25, "y": 3, "w": 2.25}, - {"matrix": [3, 8], "x": 8.5, "y": 3, "w": 1.25}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3} - ] - }, - "LAYOUT_single_space": { - "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, "w": 1.75}, - {"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, 10], "x": 10.25, "y": 1}, - {"matrix": [1, 11], "x": 11.25, "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": [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, 6], "x": 3.5, "y": 3, "w": 6.25}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3} - ] - }, - "LAYOUT_split_space": { - "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, "w": 1.75}, - {"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, 10], "x": 10.25, "y": 1}, - {"matrix": [1, 11], "x": 11.25, "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": [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.75}, - {"matrix": [3, 5], "x": 6.25, "y": 3, "w": 2.25}, - {"matrix": [3, 8], "x": 8.5, "y": 3, "w": 1.25}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3} - ] - } - } -} diff --git a/keyboards/cbkbd/coffeevan/keymaps/default/keymap.c b/keyboards/cbkbd/coffeevan/keymaps/default/keymap.c deleted file mode 100644 index 5179fd930e..0000000000 --- a/keyboards/cbkbd/coffeevan/keymaps/default/keymap.c +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( - 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_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL - ), - - [1] = LAYOUT_all( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_TOGG, UG_NEXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 - ), -}; diff --git a/keyboards/cbkbd/coffeevan/matrix_diagram.md b/keyboards/cbkbd/coffeevan/matrix_diagram.md deleted file mode 100644 index 8fc7ecc1bd..0000000000 --- a/keyboards/cbkbd/coffeevan/matrix_diagram.md +++ /dev/null @@ -1,18 +0,0 @@ -# Matrix Diagram for Coffeevan -``` -Minisub style split-space -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐ -│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │ -├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬─────┤ -│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │ -├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ -│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │ -├────┬─┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┼───┼───┤ -│30 │31 │32 │33 │35 │38 │39 │3A │3B │ -└────┴───┴────┴──────────┴────────┴────┴───┴───┴───┘ - -JetVan style 6.25u -┌────┬───┬────┬────────────────────────┬───┬───┬───┐ -│30 │31 │32 │36 │39 │3A │3B │ -└────┴───┴────┴────────────────────────┴───┴───┴───┘ -``` diff --git a/keyboards/cbkbd/coffeevan/readme.md b/keyboards/cbkbd/coffeevan/readme.md deleted file mode 100644 index f5e909626b..0000000000 --- a/keyboards/cbkbd/coffeevan/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Coffeevan - -![Coffeevan](https://imgur.com/1VDxDmp.jpeg) - -Coffeevan is a drop-in replacement PCB for MiniVan cases. Coffeevan supports the Minisub split-space and JetVan 6.25u spacebar layout. - -* Keyboard Maintainer: [Coffee Break Keyboards](https://github.com/CoffeeBreakKeyboards) -* Hardware Supported: Coffeevan -* Hardware Availability: [Coffee Break Keyboards](https://www.cbkbd.com/product/minivan-kits) - -Make example for this keyboard (after setting up your build environment): - - make cbkbd/coffeevan:default - -Flashing example for this keyboard: - - make cbkbd/coffeevan:default:flash - -See the [build environment setup](getting_started_build_tools) and the [make instructions](getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](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/chalice/keymaps/default/keymap.c b/keyboards/chalice/keymaps/default/keymap.c index 4db87eb5ab..f403526ae7 100644 --- a/keyboards/chalice/keymaps/default/keymap.c +++ b/keyboards/chalice/keymaps/default/keymap.c @@ -52,4 +52,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/checkerboards/phoenix45_ortho/readme.md b/keyboards/checkerboards/phoenix45_ortho/readme.md index 7980a077fb..46e158c0aa 100644 --- a/keyboards/checkerboards/phoenix45_ortho/readme.md +++ b/keyboards/checkerboards/phoenix45_ortho/readme.md @@ -14,4 +14,4 @@ Make example for this keyboard (after setting up your build environment): To put the PCB into bootloader mode, short the two pin holes together that are just beneath diode #23. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/checkerboards/plexus75_he/keyboard.json b/keyboards/checkerboards/plexus75_he/keyboard.json index 03ac45a92b..55a7a49235 100644 --- a/keyboards/checkerboards/plexus75_he/keyboard.json +++ b/keyboards/checkerboards/plexus75_he/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Plexus75 HE", "manufacturer": "Nasp", + "url": "https://www.github.com/qmk/qmk_firmware/tree/master/keyboards/checkerboards/plexus75_he", "maintainer": "nasp", "usb": { "vid": "0x7070", diff --git a/keyboards/checkerboards/quark_lp/keyboard.json b/keyboards/checkerboards/quark_lp/keyboard.json index 59666f8d69..7634a71d3e 100644 --- a/keyboards/checkerboards/quark_lp/keyboard.json +++ b/keyboards/checkerboards/quark_lp/keyboard.json @@ -32,59 +32,6 @@ "pixel_flow": true }, "driver": "ws2812", - "layout": [ - {"matrix": [3, 11], "x": 224, "y": 64, "flags": 1}, - {"matrix": [3, 10], "x": 204, "y": 64, "flags": 1}, - {"matrix": [3, 9], "x": 183, "y": 64, "flags": 1}, - {"matrix": [3, 8], "x": 163, "y": 64, "flags": 1}, - {"x": 153, "y": 64, "flags": 1}, - {"matrix": [3, 7], "x": 143, "y": 64, "flags": 1}, - {"x": 133, "y": 64, "flags": 1}, - {"matrix": [3, 6], "x": 123, "y": 64, "flags": 1}, - {"x": 113, "y": 64, "flags": 1}, - {"matrix": [3, 5], "x": 102, "y": 64, "flags": 1}, - {"matrix": [3, 4], "x": 82, "y": 64, "flags": 1}, - {"matrix": [3, 3], "x": 61, "y": 64, "flags": 1}, - {"matrix": [3, 2], "x": 41, "y": 64, "flags": 1}, - {"matrix": [3, 1], "x": 21, "y": 64, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 43, "flags": 1}, - {"matrix": [2, 1], "x": 21, "y": 43, "flags": 4}, - {"matrix": [2, 2], "x": 41, "y": 43, "flags": 4}, - {"matrix": [2, 3], "x": 61, "y": 43, "flags": 4}, - {"matrix": [2, 4], "x": 82, "y": 43, "flags": 4}, - {"matrix": [2, 5], "x": 102, "y": 43, "flags": 4}, - {"matrix": [2, 6], "x": 123, "y": 43, "flags": 4}, - {"matrix": [2, 7], "x": 143, "y": 43, "flags": 4}, - {"matrix": [2, 8], "x": 163, "y": 43, "flags": 4}, - {"matrix": [2, 9], "x": 183, "y": 43, "flags": 4}, - {"matrix": [2, 10], "x": 204, "y": 43, "flags": 4}, - {"matrix": [2, 11], "x": 224, "y": 43, "flags": 1}, - {"matrix": [1, 11], "x": 224, "y": 21, "flags": 1}, - {"matrix": [1, 10], "x": 204, "y": 21, "flags": 4}, - {"matrix": [1, 9], "x": 183, "y": 21, "flags": 4}, - {"matrix": [1, 8], "x": 163, "y": 21, "flags": 4}, - {"matrix": [1, 7], "x": 143, "y": 21, "flags": 4}, - {"matrix": [1, 6], "x": 123, "y": 21, "flags": 4}, - {"matrix": [1, 5], "x": 102, "y": 21, "flags": 4}, - {"matrix": [1, 4], "x": 82, "y": 21, "flags": 4}, - {"matrix": [1, 3], "x": 61, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 41, "y": 21, "flags": 4}, - {"matrix": [1, 1], "x": 21, "y": 21, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 21, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 41, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 82, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 102, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 123, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 143, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 163, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 183, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 204, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 224, "y": 0, "flags": 1} - ], "max_brightness": 125, "sat_steps": 8, "val_steps": 8, diff --git a/keyboards/checkerboards/quark_lp/quark_lp.c b/keyboards/checkerboards/quark_lp/quark_lp.c new file mode 100644 index 0000000000..89c685f2b5 --- /dev/null +++ b/keyboards/checkerboards/quark_lp/quark_lp.c @@ -0,0 +1,39 @@ +/* Copyright 2021 Nathan Spears + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }, + { 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27 }, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }, + { 14, 13, 12, 11, 10, 9, 7, 5, 3, 2, 1, 0 } +}, { + // LED Index to Physical Position + { 244, 0 }, { 224, 0 }, { 203, 0 }, { 183, 0 }, { 173, 0 }, { 163, 0 }, { 153, 0 }, { 143, 0 }, { 133, 0 }, { 122, 0 }, { 102, 0 }, { 81, 0 }, { 61, 0 }, { 41, 0 }, { 20, 0 }, + { 20, 21 }, { 41, 21 }, { 61, 21 }, { 81, 21 }, { 102, 21 }, { 122, 21 }, { 143, 21 }, { 163, 21 }, { 183, 21 }, { 203, 21 }, { 224, 21 }, { 244, 21 }, + { 244, 43 }, { 224, 43 }, { 203, 43 }, { 183, 43 }, { 163, 43 }, { 143, 43 }, { 122, 43 }, { 102, 43 }, { 81, 43 }, { 61, 43 }, { 41, 43 }, { 20, 43 }, + { 20, 64 }, { 41, 64 }, { 61, 64 }, { 81, 64 }, { 102, 64 }, { 112, 64 }, { 122, 64 }, { 132, 64 }, { 143, 64 }, { 153, 64 }, { 163, 64 }, { 183, 64 } +}, { + // LED Index to Flag + 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, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1 +} }; +#endif diff --git a/keyboards/checkerboards/quark_plus/keyboard.json b/keyboards/checkerboards/quark_plus/keyboard.json index 932eb97e4a..6f38cbb752 100644 --- a/keyboards/checkerboards/quark_plus/keyboard.json +++ b/keyboards/checkerboards/quark_plus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Quark Plus", "manufacturer": "Nasp", + "url": "https://www.github.com/qmk/qmk_firmware/tree/master/keyboards/checkerboards/quark_plus", "maintainer": "nasp", "usb": { "vid": "0x7070", diff --git a/keyboards/cherrybstudio/cb87rgb/cb87rgb.c b/keyboards/cherrybstudio/cb87rgb/cb87rgb.c index 40ef6d6506..5c2480f3fb 100644 --- a/keyboards/cherrybstudio/cb87rgb/cb87rgb.c +++ b/keyboards/cherrybstudio/cb87rgb/cb87rgb.c @@ -13,7 +13,41 @@ along with this program. If not, see . #include "quantum.h" +//x = 224 / (NUMBER_OF_COLS - 1) * COL_POSITION +//y = 64 / (NUMBER_OF_ROWS - 1) * ROW_POSITION + #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, 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, 87, 88, 89 }, + { 90, 91, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } +}, { + // LED Index to Physical Position + { 0, 0 }, { 13, 0 }, { 26, 0 }, { 39, 0 }, { 52, 0 }, { 65, 0 }, { 78, 0 }, { 91, 0 }, { 104, 0 }, { 117, 0 }, { 130, 0 }, { 143, 0 }, { 156, 0 }, { 195, 0 }, { 208, 0 }, { 224, 0 }, + { 0, 12 }, { 13, 12 }, { 26, 12 }, { 39, 12 }, { 52, 12 }, { 65, 12 }, { 78, 12 }, { 91, 12 }, { 104, 12 }, { 117, 12 }, { 130, 12 }, { 143, 12 }, { 156, 12 }, { 169, 12 }, { 182, 24 }, { 195, 12 }, { 208, 12 }, { 224, 12 }, + { 0, 24 }, { 13, 24 }, { 26, 24 }, { 39, 24 }, { 52, 24 }, { 65, 24 }, { 78, 24 }, { 91, 24 }, { 104, 24 }, { 117, 24 }, { 130, 24 }, { 143, 24 }, { 156, 24 }, { 169, 24 }, { 195, 24 }, { 208, 24 }, { 224, 24 }, + { 0, 36 }, { 13, 36 }, { 26, 36 }, { 39, 36 }, { 52, 36 }, { 65, 36 }, { 78, 36 }, { 91, 36 }, { 104, 36 }, { 117, 36 }, { 130, 36 }, { 143, 36 }, { 156, 36 }, { 169, 36 }, + { 0, 48 }, { 13, 48 }, { 26, 48 }, { 39, 48 }, { 52, 48 }, { 65, 48 }, { 78, 48 }, { 91, 48 }, { 104, 48 }, { 117, 48 }, { 130, 48 }, { 143, 48 }, { 156, 48 }, { 169, 48 }, { 208, 48 }, + { 0, 64 }, { 13, 64 }, { 26, 64 }, { 78, 64 }, { 130, 64 }, { 143, 64 }, { 156, 64 }, { 169, 64 }, { 195, 64 }, { 208, 64 }, { 224, 64 }, { 182, 0 } +}, { + // LED Index to Flag + 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, 1, 1, 1, 1, 1 + +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/cherrybstudio/cb87rgb/keyboard.json b/keyboards/cherrybstudio/cb87rgb/keyboard.json index 710bc2ab50..1ce2fab78f 100644 --- a/keyboards/cherrybstudio/cb87rgb/keyboard.json +++ b/keyboards/cherrybstudio/cb87rgb/keyboard.json @@ -53,100 +53,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 13, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 26, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 39, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 65, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 91, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 104, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 117, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 130, "y": 0, "flags": 1}, - {"matrix": [1, 1], "x": 143, "y": 0, "flags": 1}, - {"matrix": [1, 2], "x": 156, "y": 0, "flags": 1}, - {"matrix": [1, 3], "x": 195, "y": 0, "flags": 1}, - {"matrix": [1, 4], "x": 208, "y": 0, "flags": 1}, - {"matrix": [1, 5], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 6], "x": 0, "y": 12, "flags": 1}, - {"matrix": [1, 7], "x": 13, "y": 12, "flags": 1}, - {"matrix": [1, 8], "x": 26, "y": 12, "flags": 1}, - {"matrix": [1, 9], "x": 39, "y": 12, "flags": 1}, - {"matrix": [2, 0], "x": 52, "y": 12, "flags": 1}, - {"matrix": [2, 1], "x": 65, "y": 12, "flags": 1}, - {"matrix": [2, 2], "x": 78, "y": 12, "flags": 1}, - {"matrix": [2, 3], "x": 91, "y": 12, "flags": 1}, - {"matrix": [2, 4], "x": 104, "y": 12, "flags": 1}, - {"matrix": [2, 5], "x": 117, "y": 12, "flags": 1}, - {"matrix": [2, 6], "x": 130, "y": 12, "flags": 1}, - {"matrix": [2, 7], "x": 143, "y": 12, "flags": 1}, - {"matrix": [2, 8], "x": 156, "y": 12, "flags": 1}, - {"matrix": [2, 9], "x": 169, "y": 12, "flags": 1}, - {"matrix": [3, 0], "x": 182, "y": 24, "flags": 1}, - {"matrix": [3, 1], "x": 195, "y": 12, "flags": 1}, - {"matrix": [3, 2], "x": 208, "y": 12, "flags": 1}, - {"matrix": [3, 3], "x": 224, "y": 12, "flags": 1}, - {"matrix": [3, 4], "x": 0, "y": 24, "flags": 1}, - {"matrix": [3, 5], "x": 13, "y": 24, "flags": 1}, - {"matrix": [3, 6], "x": 26, "y": 24, "flags": 1}, - {"matrix": [3, 7], "x": 39, "y": 24, "flags": 1}, - {"matrix": [3, 8], "x": 52, "y": 24, "flags": 1}, - {"matrix": [3, 9], "x": 65, "y": 24, "flags": 1}, - {"matrix": [4, 0], "x": 78, "y": 24, "flags": 1}, - {"matrix": [4, 1], "x": 91, "y": 24, "flags": 1}, - {"matrix": [4, 2], "x": 104, "y": 24, "flags": 1}, - {"matrix": [4, 3], "x": 117, "y": 24, "flags": 1}, - {"matrix": [4, 4], "x": 130, "y": 24, "flags": 1}, - {"matrix": [4, 5], "x": 143, "y": 24, "flags": 1}, - {"matrix": [4, 6], "x": 156, "y": 24, "flags": 1}, - {"matrix": [4, 7], "x": 169, "y": 24, "flags": 1}, - {"matrix": [4, 8], "x": 195, "y": 24, "flags": 1}, - {"matrix": [4, 9], "x": 208, "y": 24, "flags": 1}, - {"matrix": [5, 0], "x": 224, "y": 24, "flags": 1}, - {"matrix": [5, 1], "x": 0, "y": 36, "flags": 1}, - {"matrix": [5, 2], "x": 13, "y": 36, "flags": 1}, - {"matrix": [5, 3], "x": 26, "y": 36, "flags": 1}, - {"matrix": [5, 4], "x": 39, "y": 36, "flags": 1}, - {"matrix": [5, 5], "x": 52, "y": 36, "flags": 1}, - {"matrix": [5, 6], "x": 65, "y": 36, "flags": 1}, - {"matrix": [5, 7], "x": 78, "y": 36, "flags": 1}, - {"matrix": [5, 8], "x": 91, "y": 36, "flags": 1}, - {"matrix": [5, 9], "x": 104, "y": 36, "flags": 1}, - {"matrix": [6, 0], "x": 117, "y": 36, "flags": 1}, - {"matrix": [6, 1], "x": 130, "y": 36, "flags": 1}, - {"matrix": [6, 2], "x": 143, "y": 36, "flags": 1}, - {"matrix": [6, 3], "x": 156, "y": 36, "flags": 1}, - {"matrix": [6, 4], "x": 169, "y": 36, "flags": 1}, - {"matrix": [6, 5], "x": 0, "y": 48, "flags": 1}, - {"matrix": [6, 6], "x": 13, "y": 48, "flags": 1}, - {"matrix": [6, 7], "x": 26, "y": 48, "flags": 1}, - {"matrix": [6, 8], "x": 39, "y": 48, "flags": 1}, - {"matrix": [6, 9], "x": 52, "y": 48, "flags": 1}, - {"matrix": [7, 0], "x": 65, "y": 48, "flags": 1}, - {"matrix": [7, 1], "x": 78, "y": 48, "flags": 1}, - {"matrix": [7, 2], "x": 91, "y": 48, "flags": 1}, - {"matrix": [7, 3], "x": 104, "y": 48, "flags": 1}, - {"matrix": [7, 4], "x": 117, "y": 48, "flags": 1}, - {"matrix": [7, 5], "x": 130, "y": 48, "flags": 1}, - {"matrix": [7, 6], "x": 143, "y": 48, "flags": 1}, - {"matrix": [7, 7], "x": 156, "y": 48, "flags": 1}, - {"matrix": [7, 8], "x": 169, "y": 48, "flags": 1}, - {"matrix": [7, 9], "x": 208, "y": 48, "flags": 1}, - {"matrix": [8, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [8, 1], "x": 13, "y": 64, "flags": 1}, - {"matrix": [8, 2], "x": 26, "y": 64, "flags": 1}, - {"matrix": [8, 3], "x": 78, "y": 64, "flags": 1}, - {"matrix": [8, 4], "x": 130, "y": 64, "flags": 1}, - {"matrix": [8, 5], "x": 143, "y": 64, "flags": 1}, - {"matrix": [8, 6], "x": 156, "y": 64, "flags": 1}, - {"matrix": [8, 7], "x": 169, "y": 64, "flags": 1}, - {"matrix": [8, 8], "x": 195, "y": 64, "flags": 1}, - {"matrix": [8, 9], "x": 208, "y": 64, "flags": 1}, - {"matrix": [9, 0], "x": 224, "y": 64, "flags": 1}, - {"matrix": [9, 1], "x": 182, "y": 0, "flags": 1} - ], "max_brightness": 200, "sleep": true }, diff --git a/keyboards/chew/mono/config.h b/keyboards/chew/mono/config.h new file mode 100644 index 0000000000..bb047c0adf --- /dev/null +++ b/keyboards/chew/mono/config.h @@ -0,0 +1,8 @@ +// Copyright 2024 Florent (@FLinguenheld) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Flash */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // In ms in which the double tap can occur diff --git a/keyboards/chew/split/config.h b/keyboards/chew/split/config.h new file mode 100644 index 0000000000..bb047c0adf --- /dev/null +++ b/keyboards/chew/split/config.h @@ -0,0 +1,8 @@ +// Copyright 2024 Florent (@FLinguenheld) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Flash */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET // Activates the double-tap behavior +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // In ms in which the double tap can occur diff --git a/keyboards/chickenman/kami65/keyboard.json b/keyboards/chickenman/kami65/keyboard.json deleted file mode 100644 index 548bc39bee..0000000000 --- a/keyboards/chickenman/kami65/keyboard.json +++ /dev/null @@ -1,336 +0,0 @@ -{ - "manufacturer": "Chickenman", - "keyboard_name": "Kami65", - "maintainer": "MaiTheSan", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "indicators": { - "caps_lock": "B12", - "on_state": 0 - }, - "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", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 24, - "sleep": true - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x00A1", - "vid": "0xC41C" - }, - "ws2812": { - "pin": "B15" - }, - "layout_aliases": { - "LAYOUT_all": "LAYOUT_65_ansi_blocker_split_bs" - }, - "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs"], - "layouts": { - "LAYOUT_65_ansi_blocker": { - "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, "w": 2}, - {"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.25}, - {"label": "K41", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"label": "K42", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"label": "K46", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "K4A", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"label": "K4B", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"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_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.25}, - {"label": "K41", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"label": "K42", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"label": "K46", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "K4A", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"label": "K4B", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"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": { - "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, "w": 2}, - {"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, 6], "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": "K0D", "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, 6], "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/chickenman/kami65/keymaps/default/keymap.c b/keyboards/chickenman/kami65/keymaps/default/keymap.c deleted file mode 100644 index d66e90672e..0000000000 --- a/keyboards/chickenman/kami65/keymaps/default/keymap.c +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -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 │ │ Alt│ Fn│ │ ← │ ↓ │ → │ - * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ - */ - [0] = LAYOUT_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_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, KC_RALT, 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_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_DEL, UG_TOGG, - _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, UG_PREV, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, - _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/chickenman/kami65/readme.md b/keyboards/chickenman/kami65/readme.md deleted file mode 100644 index 764c688e26..0000000000 --- a/keyboards/chickenman/kami65/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Kami65 - -![Kami65](https://i.imgur.com/SwXfDcr.png) - -A 65% keyboard. - -* Keyboard Maintainer: [Mai The San](https://github.com/maithesan) -* Hardware Supported: Kami65 Keyboard -* Hardware Availability: [UCSD GB](https://www.instagram.com/p/C1BD0RZsttm/) - -Make example for this keyboard (after setting up your build environment): - - make chickenman/kami65:default - -Flashing example for this keyboard: - - make chickenman/kami65:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the top left key and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - 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/chosfox/cf81/cf81.c b/keyboards/chosfox/cf81/cf81.c index 4cf006e3a8..12b4ab6110 100644 --- a/keyboards/chosfox/cf81/cf81.c +++ b/keyboards/chosfox/cf81/cf81.c @@ -157,3 +157,32 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { } #endif + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + default: + return true; + } +} diff --git a/keyboards/chouchou/readme.md b/keyboards/chouchou/readme.md index ef5c93f9ed..dcd0c90314 100644 --- a/keyboards/chouchou/readme.md +++ b/keyboards/chouchou/readme.md @@ -23,4 +23,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/churrosoft/deck8/info.json b/keyboards/churrosoft/deck8/info.json index 18883a750c..d656997b78 100644 --- a/keyboards/churrosoft/deck8/info.json +++ b/keyboards/churrosoft/deck8/info.json @@ -39,4 +39,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/churrosoft/deck8/keymaps/default/keymap.c b/keyboards/churrosoft/deck8/keymaps/default/keymap.c index c04b84ccf0..cc1bcea109 100644 --- a/keyboards/churrosoft/deck8/keymaps/default/keymap.c +++ b/keyboards/churrosoft/deck8/keymaps/default/keymap.c @@ -22,4 +22,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MEH(KC_A), MEH(KC_B), MEH(KC_C), MEH(KC_D), MEH(KC_E), MEH(KC_F), MEH(KC_G), MEH(KC_H) ) -}; +}; \ No newline at end of file diff --git a/keyboards/churrosoft/deck8/noleds/keyboard.json b/keyboards/churrosoft/deck8/noleds/keyboard.json index cfcda7221f..fa1e2a420d 100644 --- a/keyboards/churrosoft/deck8/noleds/keyboard.json +++ b/keyboards/churrosoft/deck8/noleds/keyboard.json @@ -2,4 +2,4 @@ "usb": { "pid": "0xC100" } -} +} \ No newline at end of file diff --git a/keyboards/churrosoft/deck8/noleds/readme.md b/keyboards/churrosoft/deck8/noleds/readme.md index 28e23eb254..c4e8d70c81 100644 --- a/keyboards/churrosoft/deck8/noleds/readme.md +++ b/keyboards/churrosoft/deck8/noleds/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard * **Physical reset button**: Short the `JP1` jumper in the back side of the PCB. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/churrosoft/deck8/rgb/keyboard.json b/keyboards/churrosoft/deck8/rgb/keyboard.json index 79b053028e..b5b3b21b5a 100644 --- a/keyboards/churrosoft/deck8/rgb/keyboard.json +++ b/keyboards/churrosoft/deck8/rgb/keyboard.json @@ -76,4 +76,4 @@ ], "sleep": true } -} +} \ No newline at end of file diff --git a/keyboards/churrosoft/deck8/rgb/readme.md b/keyboards/churrosoft/deck8/rgb/readme.md index 7b0e60edb9..87fe400c24 100644 --- a/keyboards/churrosoft/deck8/rgb/readme.md +++ b/keyboards/churrosoft/deck8/rgb/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard * **Physical reset button**: Short the `JP1` jumper in the back side of the PCB. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/cipulot/common/matrix.c b/keyboards/cipulot/common/matrix.c index a06a198e0a..cfa2efe050 100644 --- a/keyboards/cipulot/common/matrix.c +++ b/keyboards/cipulot/common/matrix.c @@ -17,6 +17,9 @@ #include "ec_switch_matrix.h" #include "matrix.h" +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + // Custom matrix init function void matrix_init_custom(void) { // Initialize EC diff --git a/keyboards/cipulot/ec_980c/matrix.c b/keyboards/cipulot/ec_980c/matrix.c index a06a198e0a..cfa2efe050 100644 --- a/keyboards/cipulot/ec_980c/matrix.c +++ b/keyboards/cipulot/ec_980c/matrix.c @@ -17,6 +17,9 @@ #include "ec_switch_matrix.h" #include "matrix.h" +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + // Custom matrix init function void matrix_init_custom(void) { // Initialize EC diff --git a/keyboards/cipulot/ec_typek/matrix.c b/keyboards/cipulot/ec_typek/matrix.c index a06a198e0a..cfa2efe050 100644 --- a/keyboards/cipulot/ec_typek/matrix.c +++ b/keyboards/cipulot/ec_typek/matrix.c @@ -17,6 +17,9 @@ #include "ec_switch_matrix.h" #include "matrix.h" +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + // Custom matrix init function void matrix_init_custom(void) { // Initialize EC diff --git a/keyboards/citrus/erdnuss65/erdnuss65.c b/keyboards/citrus/erdnuss65/erdnuss65.c index 64dc05d4ec..d10f476c66 100644 --- a/keyboards/citrus/erdnuss65/erdnuss65.c +++ b/keyboards/citrus/erdnuss65/erdnuss65.c @@ -25,4 +25,4 @@ bool led_update_kb(led_t led_state) { } } return true; -} +} \ No newline at end of file diff --git a/keyboards/citrus/erdnuss65/readme.md b/keyboards/citrus/erdnuss65/readme.md index 9bb3138a46..0bb952c111 100644 --- a/keyboards/citrus/erdnuss65/readme.md +++ b/keyboards/citrus/erdnuss65/readme.md @@ -19,4 +19,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/citrus/readme.md b/keyboards/citrus/readme.md index 301695a74d..bde8a9620f 100644 --- a/keyboards/citrus/readme.md +++ b/keyboards/citrus/readme.md @@ -1,2 +1,2 @@ # Citrus Lab -QMK folders for PCB commissions. +QMK folders for PCB commissions. \ No newline at end of file diff --git a/keyboards/clickety_split/leeloo/readme.md b/keyboards/clickety_split/leeloo/readme.md index 3cbf42f63d..65f1069cdb 100644 --- a/keyboards/clickety_split/leeloo/readme.md +++ b/keyboards/clickety_split/leeloo/readme.md @@ -30,4 +30,4 @@ Make example for this keyboard (after setting up your build environment): make clickety_split/leeloo/rev3: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/concreteflowers/cor_tkl/cor_tkl.c b/keyboards/concreteflowers/cor_tkl/cor_tkl.c index a90931439b..d4f0ec0082 100644 --- a/keyboards/concreteflowers/cor_tkl/cor_tkl.c +++ b/keyboards/concreteflowers/cor_tkl/cor_tkl.c @@ -16,6 +16,22 @@ #include "quantum.h" +led_config_t g_led_config = {{ + // Key Matrix to LED Index + { 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, 1, 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 }, + { 0, 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 } +}, { + // LED Index to Physical Position + { 5, 40 }, { 211, 0 } +}, { + // LED Index to Flag + LED_FLAG_INDICATOR, LED_FLAG_INDICATOR +}}; + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/concreteflowers/cor_tkl/keyboard.json b/keyboards/concreteflowers/cor_tkl/keyboard.json index ccdd0935fa..d5a293eaa3 100644 --- a/keyboards/concreteflowers/cor_tkl/keyboard.json +++ b/keyboards/concreteflowers/cor_tkl/keyboard.json @@ -32,11 +32,7 @@ "rows": ["GP0", "GP1", "GP2", "GP21", "GP3", "GP4"] }, "rgb_matrix": { - "driver": "ws2812", - "layout": [ - {"matrix": [3, 0], "x": 5, "y": 40, "flags": 8}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 8} - ] + "driver": "ws2812" }, "ws2812": { "pin": "GP19", diff --git a/keyboards/controllerworks/mini36/keymaps/default/config.h b/keyboards/controllerworks/mini36/keymaps/default/config.h index 5145290aab..aeca5716c0 100644 --- a/keyboards/controllerworks/mini36/keymaps/default/config.h +++ b/keyboards/controllerworks/mini36/keymaps/default/config.h @@ -76,4 +76,4 @@ # define ENABLE_RGB_MATRIX_MULTISPLASH # define ENABLE_RGB_MATRIX_SOLID_SPLASH # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif +#endif \ No newline at end of file diff --git a/keyboards/controllerworks/mini36/keymaps/default/keymap.c b/keyboards/controllerworks/mini36/keymaps/default/keymap.c index 8141d304f2..45f46b47bd 100644 --- a/keyboards/controllerworks/mini36/keymaps/default/keymap.c +++ b/keyboards/controllerworks/mini36/keymaps/default/keymap.c @@ -65,4 +65,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT //`--------------------------' `--------------------------' ) -}; +}; \ No newline at end of file diff --git a/keyboards/controllerworks/mini36/mcuconf.h b/keyboards/controllerworks/mini36/mcuconf.h index 691373261b..c92e5035a8 100644 --- a/keyboards/controllerworks/mini36/mcuconf.h +++ b/keyboards/controllerworks/mini36/mcuconf.h @@ -20,4 +20,4 @@ #include_next #undef RP_I2C_USE_I2C0 -#define RP_I2C_USE_I2C0 TRUE +#define RP_I2C_USE_I2C0 TRUE \ No newline at end of file diff --git a/keyboards/controllerworks/mini36/mini36.c b/keyboards/controllerworks/mini36/mini36.c index 42e943674b..efe97009d9 100644 --- a/keyboards/controllerworks/mini36/mini36.c +++ b/keyboards/controllerworks/mini36/mini36.c @@ -79,4 +79,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/controllerworks/mini36/readme.md b/keyboards/controllerworks/mini36/readme.md index 7dd862d1a5..c23cbc92c6 100644 --- a/keyboards/controllerworks/mini36/readme.md +++ b/keyboards/controllerworks/mini36/readme.md @@ -40,4 +40,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the upper left key on the left hand keyboard half or the upper right key on the right hand keyboard half while plugging in USB * **Physical reset button**: Press the RST button twice, rapidly -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/controllerworks/mini42/keymaps/default/config.h b/keyboards/controllerworks/mini42/keymaps/default/config.h index 5145290aab..aeca5716c0 100644 --- a/keyboards/controllerworks/mini42/keymaps/default/config.h +++ b/keyboards/controllerworks/mini42/keymaps/default/config.h @@ -76,4 +76,4 @@ # define ENABLE_RGB_MATRIX_MULTISPLASH # define ENABLE_RGB_MATRIX_SOLID_SPLASH # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif +#endif \ No newline at end of file diff --git a/keyboards/controllerworks/mini42/mcuconf.h b/keyboards/controllerworks/mini42/mcuconf.h index 691373261b..c92e5035a8 100644 --- a/keyboards/controllerworks/mini42/mcuconf.h +++ b/keyboards/controllerworks/mini42/mcuconf.h @@ -20,4 +20,4 @@ #include_next #undef RP_I2C_USE_I2C0 -#define RP_I2C_USE_I2C0 TRUE +#define RP_I2C_USE_I2C0 TRUE \ No newline at end of file diff --git a/keyboards/controllerworks/mini42/readme.md b/keyboards/controllerworks/mini42/readme.md index d8be3952c7..67b04b09fe 100644 --- a/keyboards/controllerworks/mini42/readme.md +++ b/keyboards/controllerworks/mini42/readme.md @@ -74,4 +74,4 @@ Enter the bootloader in 3 ways: \*DATA2 on production units, not connected on prototype units -\** Right Column numbers run right (pinky position) to left (thumb position) +\** Right Column numbers run right (pinky position) to left (thumb position) \ No newline at end of file diff --git a/keyboards/converter/hp_46010a/keymaps/default/keymap.c b/keyboards/converter/hp_46010a/keymaps/default/keymap.c index 422ef88b52..8aadd2480a 100644 --- a/keyboards/converter/hp_46010a/keymaps/default/keymap.c +++ b/keyboards/converter/hp_46010a/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_DEL, 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_APP, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_TAB, KC_LGUI, KC_LALT, KC_SPACE , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ) -} ; +} ; \ No newline at end of file diff --git a/keyboards/converter/hp_46010a/matrix.c b/keyboards/converter/hp_46010a/matrix.c index f9876b5a36..d9d9eec48f 100644 --- a/keyboards/converter/hp_46010a/matrix.c +++ b/keyboards/converter/hp_46010a/matrix.c @@ -229,4 +229,4 @@ uint8_t matrix_cols(void) { // the online ducmentation starting from : // https://docs.qmk.fm/#/config_options // https://docs.qmk.fm/#/understanding_qmk -// and probably a few i forgot.... +// and probably a few i forgot.... \ No newline at end of file diff --git a/keyboards/converter/ibm_terminal/matrix.c b/keyboards/converter/ibm_terminal/matrix.c index 005847d185..d245ff61b2 100644 --- a/keyboards/converter/ibm_terminal/matrix.c +++ b/keyboards/converter/ibm_terminal/matrix.c @@ -27,6 +27,8 @@ along with this program. If not, see . #define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) #define print_matrix_header() print("\nr/c 01234567\n") +#define ROW_SHIFTER ((uint8_t)1) + static void matrix_make(uint8_t code); static void matrix_break(uint8_t code); diff --git a/keyboards/converter/m0110_usb/keymaps/default/keymap.c b/keyboards/converter/m0110_usb/keymaps/default/keymap.c index cee2375754..b65774d421 100644 --- a/keyboards/converter/m0110_usb/keymaps/default/keymap.c +++ b/keyboards/converter/m0110_usb/keymaps/default/keymap.c @@ -89,4 +89,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_END, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_PGDN, KC_DOWN, KC_PGUP, KC_P1, KC_P2, KC_P3, KC_PENT, KC_LALT, KC_LGUI, KC_SPC, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_PGDN, KC_P0, KC_PDOT), -}; +}; \ No newline at end of file diff --git a/keyboards/converter/m0110_usb/matrix.c b/keyboards/converter/m0110_usb/matrix.c index d1668e614b..6c39d4b6b0 100644 --- a/keyboards/converter/m0110_usb/matrix.c +++ b/keyboards/converter/m0110_usb/matrix.c @@ -118,4 +118,4 @@ static void register_key(uint8_t key) } else { matrix[ROW(key)] |= (1< 0) { + if (matrix[i] > 0) { return true; } } @@ -485,10 +488,10 @@ bool is_new_tap(void) { static matrix_row_t old_matrix[] = { 0, 0, 0, 0, 0, 0 }; bool new_tap = false; for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - if (matrix_get_row(i) > old_matrix[i]) { // more 1's detected, there was a new tap + if (matrix[i] > old_matrix[i]) { // more 1's detected, there was a new tap new_tap = true; } - old_matrix[i] = matrix_get_row(i); + old_matrix[i] = matrix[i]; } return new_tap; } diff --git a/keyboards/custommk/evo70_r2/keymaps/default/keymap.c b/keyboards/custommk/evo70_r2/keymaps/default/keymap.c index e5e4ee365e..9faf2088dd 100644 --- a/keyboards/custommk/evo70_r2/keymaps/default/keymap.c +++ b/keyboards/custommk/evo70_r2/keymaps/default/keymap.c @@ -30,4 +30,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/custommk/evo70_r2/rules.mk b/keyboards/custommk/evo70_r2/rules.mk index 97f81d6dc4..3961343ce4 100644 --- a/keyboards/custommk/evo70_r2/rules.mk +++ b/keyboards/custommk/evo70_r2/rules.mk @@ -4,4 +4,4 @@ SRC += matrix.c QUANTUM_PAINTER_DRIVERS = st7735_spi CUSTOM_MATRIX = lite -CIE1931_CURVE = yes +CIE1931_CURVE = yes \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev1/keymaps/default/readme.md b/keyboards/custommk/genesis/rev1/keymaps/default/readme.md index 582f949066..202402d831 100644 --- a/keyboards/custommk/genesis/rev1/keymaps/default/readme.md +++ b/keyboards/custommk/genesis/rev1/keymaps/default/readme.md @@ -3,4 +3,4 @@ This is the default layout for the Genesis Macro Pad. It assumes all 1u switches and optional rotary encoder in the top-left or top-right corner for media volume control. The top left switch activates Layer 1 which enables control of the RGB -underglow. +underglow. \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/keymaps/default/keymap.c b/keyboards/custommk/genesis/rev2/keymaps/default/keymap.c index aad693ef0f..5079628dea 100644 --- a/keyboards/custommk/genesis/rev2/keymaps/default/keymap.c +++ b/keyboards/custommk/genesis/rev2/keymaps/default/keymap.c @@ -73,4 +73,4 @@ void keyboard_post_init_user(void) { //Enable the LED layers rgblight_layers = my_rgb_layers; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/keymaps/default/readme.md b/keyboards/custommk/genesis/rev2/keymaps/default/readme.md index 582f949066..202402d831 100644 --- a/keyboards/custommk/genesis/rev2/keymaps/default/readme.md +++ b/keyboards/custommk/genesis/rev2/keymaps/default/readme.md @@ -3,4 +3,4 @@ This is the default layout for the Genesis Macro Pad. It assumes all 1u switches and optional rotary encoder in the top-left or top-right corner for media volume control. The top left switch activates Layer 1 which enables control of the RGB -underglow. +underglow. \ No newline at end of file diff --git a/keyboards/cutie_club/novus/readme.md b/keyboards/cutie_club/novus/readme.md index 5c7efa4910..94e284e33e 100644 --- a/keyboards/cutie_club/novus/readme.md +++ b/keyboards/cutie_club/novus/readme.md @@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Using the default keymaps you can 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**: Press the button on the back of the PCB +* **Physical reset button**: Press the button on the back of the PCB \ No newline at end of file diff --git a/keyboards/cxt_studio/12e3/keyboard.json b/keyboards/cxt_studio/12e3/keyboard.json index 0b8949cda7..a85126aab6 100644 --- a/keyboards/cxt_studio/12e3/keyboard.json +++ b/keyboards/cxt_studio/12e3/keyboard.json @@ -21,8 +21,8 @@ }, "encoder": { "rotary": [ - {"pin_a": "F5", "pin_b": "F6"}, - {"pin_a": "E6", "pin_b": "F0"}, + {"pin_a": "F5", "pin_b": "F6", "resolution": 4}, + {"pin_a": "E6", "pin_b": "F0", "resolution": 4}, {"pin_a": "B3", "pin_b": "B2", "resolution": 2} ] }, diff --git a/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c b/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c index 8e35aba861..00521bc2be 100644 --- a/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c +++ b/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c @@ -185,4 +185,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return false; }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/darkproject/kd87a_bfg_edition/keymaps/default/keymap.c b/keyboards/darkproject/kd87a_bfg_edition/keymaps/default/keymap.c index 1a7f40d2e3..4c36cd29eb 100644 --- a/keyboards/darkproject/kd87a_bfg_edition/keymaps/default/keymap.c +++ b/keyboards/darkproject/kd87a_bfg_edition/keymaps/default/keymap.c @@ -66,4 +66,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { layer_state_t layer_state_set_user(layer_state_t state) { gpio_write_pin(C0, layer_state_cmp(state, 1)); return state; -}; +}; \ No newline at end of file diff --git a/keyboards/dc01/arrow/keymaps/default/readme.md b/keyboards/dc01/arrow/keymaps/default/readme.md index fa36881f46..bc2431bc15 100644 --- a/keyboards/dc01/arrow/keymaps/default/readme.md +++ b/keyboards/dc01/arrow/keymaps/default/readme.md @@ -1,3 +1,3 @@ # The default ANSI keymap for DC01 Arrow cluster -When using the arrow module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. +When using the arrow module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. \ No newline at end of file diff --git a/keyboards/dc01/arrow/matrix.c b/keyboards/dc01/arrow/matrix.c index 44f0d5f8dc..211855c300 100644 --- a/keyboards/dc01/arrow/matrix.c +++ b/keyboards/dc01/arrow/matrix.c @@ -48,12 +48,15 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED @@ -249,7 +252,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); } // Unselect row @@ -311,12 +314,12 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) if ((_SFR_IO8(row_pins[row_index] >> 4) & _BV(row_pins[row_index] & 0xF)) == 0) { // Pin LO, set col bit - current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] |= (ROW_SHIFTER << current_col); } else { // Pin HI, clear col bit - current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] &= ~(ROW_SHIFTER << current_col); } // Determine if the matrix changed state diff --git a/keyboards/dc01/left/matrix.c b/keyboards/dc01/left/matrix.c index 254e49290d..39e5be5a1d 100644 --- a/keyboards/dc01/left/matrix.c +++ b/keyboards/dc01/left/matrix.c @@ -52,12 +52,15 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED @@ -274,7 +277,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); } // Unselect row @@ -336,12 +339,12 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) if ((_SFR_IO8(row_pins[row_index] >> 4) & _BV(row_pins[row_index] & 0xF)) == 0) { // Pin LO, set col bit - current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] |= (ROW_SHIFTER << current_col); } else { // Pin HI, clear col bit - current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] &= ~(ROW_SHIFTER << current_col); } // Determine if the matrix changed state diff --git a/keyboards/dc01/numpad/keymaps/default/readme.md b/keyboards/dc01/numpad/keymaps/default/readme.md index 19cf9acdff..3691feb278 100644 --- a/keyboards/dc01/numpad/keymaps/default/readme.md +++ b/keyboards/dc01/numpad/keymaps/default/readme.md @@ -1,3 +1,3 @@ # The default keymap for DC01 Numpad -When using the numpad module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. +When using the numpad module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. \ No newline at end of file diff --git a/keyboards/dc01/numpad/keymaps/ortho_5x4/readme.md b/keyboards/dc01/numpad/keymaps/ortho_5x4/readme.md index 4909d7ab31..383e02da86 100644 --- a/keyboards/dc01/numpad/keymaps/ortho_5x4/readme.md +++ b/keyboards/dc01/numpad/keymaps/ortho_5x4/readme.md @@ -1,3 +1,3 @@ # The orthopad keymap for DC01 Numpad -When using the numpad module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. +When using the numpad module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. \ No newline at end of file diff --git a/keyboards/dc01/numpad/matrix.c b/keyboards/dc01/numpad/matrix.c index cfe8046c77..73b245f56e 100644 --- a/keyboards/dc01/numpad/matrix.c +++ b/keyboards/dc01/numpad/matrix.c @@ -48,12 +48,15 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED @@ -249,7 +252,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); } // Unselect row @@ -311,12 +314,12 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) if ((_SFR_IO8(row_pins[row_index] >> 4) & _BV(row_pins[row_index] & 0xF)) == 0) { // Pin LO, set col bit - current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] |= (ROW_SHIFTER << current_col); } else { // Pin HI, clear col bit - current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] &= ~(ROW_SHIFTER << current_col); } // Determine if the matrix changed state diff --git a/keyboards/dc01/right/matrix.c b/keyboards/dc01/right/matrix.c index e903edd317..f9b6738145 100644 --- a/keyboards/dc01/right/matrix.c +++ b/keyboards/dc01/right/matrix.c @@ -46,12 +46,15 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED @@ -247,7 +250,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); } // Unselect row @@ -309,12 +312,12 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) if ((_SFR_IO8(row_pins[row_index] >> 4) & _BV(row_pins[row_index] & 0xF)) == 0) { // Pin LO, set col bit - current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] |= (ROW_SHIFTER << current_col); } else { // Pin HI, clear col bit - current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] &= ~(ROW_SHIFTER << current_col); } // Determine if the matrix changed state diff --git a/keyboards/dcpedit/masonry/keymaps/default/keymap.json b/keyboards/dcpedit/masonry/keymaps/default/keymap.json index 0016ee18ac..6da346bb91 100644 --- a/keyboards/dcpedit/masonry/keymaps/default/keymap.json +++ b/keyboards/dcpedit/masonry/keymaps/default/keymap.json @@ -18,4 +18,4 @@ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" ] ] -} +} \ No newline at end of file diff --git a/keyboards/dcpedit/masonry/readme.md b/keyboards/dcpedit/masonry/readme.md index 5ce29cb6d0..9ba7a1597e 100644 --- a/keyboards/dcpedit/masonry/readme.md +++ b/keyboards/dcpedit/masonry/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the ESC key (top-left key) and plug in the keyboard * **Physical reset button**: On the PCB, while holding down the BOOT button, press and release the RESET button -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/dcpedit/redherring/keymaps/default/keymap.c b/keyboards/dcpedit/redherring/keymaps/default/keymap.c index 82b55e866a..3671174050 100644 --- a/keyboards/dcpedit/redherring/keymaps/default/keymap.c +++ b/keyboards/dcpedit/redherring/keymaps/default/keymap.c @@ -26,4 +26,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [1] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/dcpedit/redherring/keymaps/default/rules.mk b/keyboards/dcpedit/redherring/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/dcpedit/redherring/keymaps/default/rules.mk +++ b/keyboards/dcpedit/redherring/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/dcpedit/redherring/readme.md b/keyboards/dcpedit/redherring/readme.md index cdc83e4529..67f2bdf33d 100644 --- a/keyboards/dcpedit/redherring/readme.md +++ b/keyboards/dcpedit/redherring/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the ESC key (top-left key) and plug in the keyboard * **Physical reset button**: On the PCB, while holding down the BOOT button, press and release the RESET button -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/dcpedit/redherring/redherring.c b/keyboards/dcpedit/redherring/redherring.c index 92e0f32a46..b2c25eb703 100644 --- a/keyboards/dcpedit/redherring/redherring.c +++ b/keyboards/dcpedit/redherring/redherring.c @@ -88,4 +88,4 @@ bool oled_task_kb(void) { render_logo(); return true; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/decent/tkl/config.h b/keyboards/decent/tkl/config.h index 5315fdfca6..772d6f4a27 100644 --- a/keyboards/decent/tkl/config.h +++ b/keyboards/decent/tkl/config.h @@ -6,4 +6,4 @@ #define I2C1_SDA_PIN GP26 #define I2C1_SCL_PIN GP27 -#define OLED_FONT_H "atari-font.c" +#define OLED_FONT_H "atari-font.c" \ No newline at end of file diff --git a/keyboards/decent/tkl/keyboard.json b/keyboards/decent/tkl/keyboard.json index 81a504e800..d5b0c972c6 100644 --- a/keyboards/decent/tkl/keyboard.json +++ b/keyboards/decent/tkl/keyboard.json @@ -293,4 +293,4 @@ ], "driver": "ws2812" } -} +} \ No newline at end of file diff --git a/keyboards/decent/tkl/readme.md b/keyboards/decent/tkl/readme.md index 861196b9ad..2069268bfc 100644 --- a/keyboards/decent/tkl/readme.md +++ b/keyboards/decent/tkl/readme.md @@ -76,4 +76,4 @@ When holding Fn down: * │ │ │🎨│ │ │ │ │ │ │ │ │ │ │🗘 │ * │ │ │ │ │ │ │ │ │ │㉈ │🗘 │㉏ │ */ -``` +``` \ No newline at end of file diff --git a/keyboards/deemen17/de60/readme.md b/keyboards/deemen17/de60/readme.md index 75ac8b5834..c5ea64a6a6 100644 --- a/keyboards/deemen17/de60/readme.md +++ b/keyboards/deemen17/de60/readme.md @@ -14,4 +14,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (ESC/Escape) and plug in the keyboard * **Physical reset button**: Double tap the button RESET on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/delikeeb/vanana/rev1/config.h b/keyboards/delikeeb/vanana/rev1/config.h index 5841bd563c..9728115106 100644 --- a/keyboards/delikeeb/vanana/rev1/config.h +++ b/keyboards/delikeeb/vanana/rev1/config.h @@ -17,7 +17,7 @@ along with this program. If not, see . #pragma once -#define AUDIO_PIN B7 +#define B7_AUDIO /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. * This is useful for the Windows task manager shortcut (ctrl+shift+esc). diff --git a/keyboards/delikeeb/vanana/rev2/config.h b/keyboards/delikeeb/vanana/rev2/config.h index 5841bd563c..9728115106 100644 --- a/keyboards/delikeeb/vanana/rev2/config.h +++ b/keyboards/delikeeb/vanana/rev2/config.h @@ -17,7 +17,7 @@ along with this program. If not, see . #pragma once -#define AUDIO_PIN B7 +#define B7_AUDIO /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. * This is useful for the Windows task manager shortcut (ctrl+shift+esc). diff --git a/keyboards/demiurge/keymaps/default/keymap.c b/keyboards/demiurge/keymaps/default/keymap.c index 8d9b16ae41..dc93c4a2f1 100755 --- a/keyboards/demiurge/keymaps/default/keymap.c +++ b/keyboards/demiurge/keymaps/default/keymap.c @@ -36,4 +36,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), -}; +}; \ No newline at end of file diff --git a/keyboards/deng/djam/djam.c b/keyboards/deng/djam/djam.c new file mode 100644 index 0000000000..3514ff050c --- /dev/null +++ b/keyboards/deng/djam/djam.c @@ -0,0 +1,43 @@ +/* Copyright 2022 Leo Deng (@myst729) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + /* Key Matrix to LED Index */ + { 17, 16, 15, NO_LED, NO_LED, 7, 6, 5 }, + { 21, 17, 16, 15, 7, 6, 5, 1 }, + { 19, 18, 13, 11, 9, 4, 3, NO_LED } + }, + { + /* LED Index to Physical Position */ + // Switch LEDs + {224,14}, {224,24}, {224,33}, {212,57}, {192,57}, {192,38}, {172,38}, {152,38}, + {152,57}, {142,57}, {132,57}, {112,57}, {92,57}, {82,57}, {72,57}, + {72,38}, {52,38}, {32,38}, {32,57}, {12,57}, {0,33}, {0,24}, {0,14}, + // Underglow LEDs + {0,0}, {92,0}, {132,0}, {224,0}, {222,64}, {172,64}, {72,64}, {2,64}, + }, + { + /* LED Index to Flag */ + 2, 4, 2, 4, 4, 4, 4, 4, + 2, 4, 2, 4, 2, 4, 2, + 4, 4, 4, 4, 4, 2, 4, 2, + 2, 2, 2, 2, 2, 2, 2, 2 + } +}; +#endif diff --git a/keyboards/deng/djam/keyboard.json b/keyboards/deng/djam/keyboard.json index 51b2f45ce7..a39c234bfa 100644 --- a/keyboards/deng/djam/keyboard.json +++ b/keyboards/deng/djam/keyboard.json @@ -15,40 +15,7 @@ "solid_reactive_multinexus": true, "solid_multisplash": true }, - "driver": "ws2812", - "layout": [ - {"x": 224, "y": 14, "flags": 2}, - {"matrix": [1, 7], "x": 224, "y": 24, "flags": 4}, - {"x": 224, "y": 33, "flags": 2}, - {"matrix": [2, 6], "x": 212, "y": 57, "flags": 4}, - {"matrix": [2, 5], "x": 192, "y": 57, "flags": 4}, - {"matrix": [1, 6], "x": 192, "y": 38, "flags": 4}, - {"matrix": [1, 5], "x": 172, "y": 38, "flags": 4}, - {"matrix": [1, 4], "x": 152, "y": 38, "flags": 4}, - {"x": 152, "y": 57, "flags": 2}, - {"matrix": [2, 4], "x": 142, "y": 57, "flags": 4}, - {"x": 132, "y": 57, "flags": 2}, - {"matrix": [2, 3], "x": 112, "y": 57, "flags": 4}, - {"x": 92, "y": 57, "flags": 2}, - {"matrix": [2, 2], "x": 82, "y": 57, "flags": 4}, - {"x": 72, "y": 57, "flags": 2}, - {"matrix": [1, 3], "x": 72, "y": 38, "flags": 4}, - {"matrix": [1, 2], "x": 52, "y": 38, "flags": 4}, - {"matrix": [1, 1], "x": 32, "y": 38, "flags": 4}, - {"matrix": [2, 1], "x": 32, "y": 57, "flags": 4}, - {"matrix": [2, 0], "x": 12, "y": 57, "flags": 4}, - {"x": 0, "y": 33, "flags": 2}, - {"matrix": [1, 0], "x": 0, "y": 24, "flags": 4}, - {"x": 0, "y": 14, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 92, "y": 0, "flags": 2}, - {"x": 132, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 222, "y": 64, "flags": 2}, - {"x": 172, "y": 64, "flags": 2}, - {"x": 72, "y": 64, "flags": 2}, - {"x": 2, "y": 64, "flags": 2} - ] + "driver": "ws2812" }, "features": { "backlight": true, diff --git a/keyboards/deng/thirty/keyboard.json b/keyboards/deng/thirty/keyboard.json index 394d7b427b..da36ae19f5 100644 --- a/keyboards/deng/thirty/keyboard.json +++ b/keyboards/deng/thirty/keyboard.json @@ -57,38 +57,6 @@ "animation": "cycle_all" }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 4, "y": 4, "flags": 4}, - {"matrix": [0, 1], "x": 28, "y": 4, "flags": 4}, - {"matrix": [0, 2], "x": 52, "y": 4, "flags": 4}, - {"matrix": [0, 3], "x": 76, "y": 4, "flags": 4}, - {"matrix": [0, 4], "x": 100, "y": 4, "flags": 4}, - {"matrix": [1, 4], "x": 100, "y": 32, "flags": 4}, - {"matrix": [1, 3], "x": 76, "y": 32, "flags": 4}, - {"matrix": [1, 2], "x": 52, "y": 32, "flags": 4}, - {"matrix": [1, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 4, "y": 60, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 60, "flags": 4}, - {"matrix": [2, 2], "x": 52, "y": 60, "flags": 4}, - {"matrix": [2, 3], "x": 76, "y": 60, "flags": 4}, - {"matrix": [2, 4], "x": 100, "y": 60, "flags": 4}, - {"matrix": [5, 4], "x": 124, "y": 60, "flags": 4}, - {"matrix": [5, 3], "x": 148, "y": 60, "flags": 4}, - {"matrix": [5, 2], "x": 172, "y": 60, "flags": 4}, - {"matrix": [5, 1], "x": 196, "y": 60, "flags": 4}, - {"matrix": [5, 0], "x": 220, "y": 60, "flags": 4}, - {"matrix": [4, 0], "x": 220, "y": 32, "flags": 4}, - {"matrix": [4, 1], "x": 196, "y": 32, "flags": 4}, - {"matrix": [4, 2], "x": 172, "y": 32, "flags": 4}, - {"matrix": [4, 3], "x": 148, "y": 32, "flags": 4}, - {"matrix": [4, 4], "x": 124, "y": 32, "flags": 4}, - {"matrix": [3, 4], "x": 124, "y": 4, "flags": 4}, - {"matrix": [3, 3], "x": 148, "y": 4, "flags": 4}, - {"matrix": [3, 2], "x": 172, "y": 4, "flags": 4}, - {"matrix": [3, 1], "x": 196, "y": 4, "flags": 4}, - {"matrix": [3, 0], "x": 220, "y": 4, "flags": 4} - ], "max_brightness": 200 }, "matrix_pins": { diff --git a/keyboards/deng/thirty/thirty.c b/keyboards/deng/thirty/thirty.c index ce7a76c703..7d49bc1b03 100644 --- a/keyboards/deng/thirty/thirty.c +++ b/keyboards/deng/thirty/thirty.c @@ -15,6 +15,38 @@ */ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + /* Key Matrix to LED Index */ + { 0, 1, 2, 3, 4 }, + { 9, 8, 7, 6, 5 }, + { 10, 11, 12, 13, 14 }, + { 29, 28, 27, 26, 25 }, + { 20, 21, 22, 23, 24 }, + { 19, 18, 17, 16, 15 }, + }, + { + /* LED Index to Physical Position */ + // Switch LEDs + {4,4}, {28,4}, {52,4}, {76,4}, {100,4}, + {100,32}, {76,32}, {52,32}, {28,32}, {4,32}, + {4,60}, {28,60}, {52,60}, {76,60}, {100,60}, + {124,60}, {148,60}, {172,60}, {196,60}, {220,60}, + {220,32}, {196,32}, {172,32}, {148,32}, {124,32}, + {124,4}, {148,4}, {172,4}, {196,4}, {220,4}, + // Underglow LEDs + }, + { + /* 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 + } +}; + +#endif + void board_init(void) { // Remap B11 AF to TIM2_CH4 AFIO->MAPR |= AFIO_MAPR_TIM2_REMAP_PARTIALREMAP2; diff --git a/keyboards/densus/alveus/mx/readme.md b/keyboards/densus/alveus/mx/readme.md index ea985c540f..3a90c9b0f3 100644 --- a/keyboards/densus/alveus/mx/readme.md +++ b/keyboards/densus/alveus/mx/readme.md @@ -23,4 +23,4 @@ Enter the bootloader in 4 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 * **Bootloader reset**: Hold down the key at (0,13) in the matrix (Backspace) and plug in the keyboard * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -* **Hardware reset**: Press reset button (located on the bottom side of the PCB) +* **Hardware reset**: Press reset button (located on the bottom side of the PCB) \ No newline at end of file diff --git a/keyboards/dichotomy/matrix.c b/keyboards/dichotomy/matrix.c index 0dfdac0460..a3c94275eb 100755 --- a/keyboards/dichotomy/matrix.c +++ b/keyboards/dichotomy/matrix.c @@ -34,12 +34,15 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #define MAIN_ROWMASK 0xFFF0; diff --git a/keyboards/dj505/picofx/keyboard.json b/keyboards/dj505/picofx/keyboard.json deleted file mode 100644 index 802d4e9791..0000000000 --- a/keyboards/dj505/picofx/keyboard.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "manufacturer": "dj505", - "keyboard_name": "PicoFX", - "maintainer": "jjc1138", - "bootloader": "rp2040", - "bootloader_instructions": "Hold down the BOOTSEL button on the microcontroller when connecting the USB cable", - "features": { - "bootmagic": true, - "extrakey": true, - "rgb_matrix": true - }, - "matrix_pins": { - "direct": [ - ["GP19", null, "GP6", "GP27", null, "GP0"], - [null, "GP10", null, null, "GP2", null], - ["GP21", null, "GP8", "GP17", null, "GP4"], - ["GP14", "GP15", null, null, null, null] - ] - }, - "processor": "RP2040", - "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, - "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_splash": true, - "splash": true - }, - "driver": "ws2812", - "layout": [ - {"x": 0, "y": 64, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 112, "y": 0, "flags": 2}, - {"x": 112, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 224, "y": 0, "flags": 2} - ], - "sleep": true - }, - "url": "https://github.com/dj505/PicoFX", - "usb": { - "device_version": "1.0.0", - "pid": "0x4658", - "vid": "0xFEED" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP22" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "P1 UL", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "P1 UR", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "P2 UL", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "P2 UR", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "P1 CN", "matrix": [1, 1], "x": 1, "y": 1}, - {"label": "P2 CN", "matrix": [1, 4], "x": 4, "y": 1}, - {"label": "P1 DL", "matrix": [2, 0], "x": 0, "y": 2}, - {"label": "P1 DR", "matrix": [2, 2], "x": 2, "y": 2}, - {"label": "P2 DL", "matrix": [2, 3], "x": 3, "y": 2}, - {"label": "P2 DR", "matrix": [2, 5], "x": 5, "y": 2}, - {"label": "Service", "matrix": [3, 0], "x": 6.5, "y": 0.5}, - {"label": "Test", "matrix": [3, 1], "x": 6.5, "y": 1.5} - ] - } - } -} diff --git a/keyboards/dj505/picofx/keymaps/allinone/keymap.json b/keyboards/dj505/picofx/keymaps/allinone/keymap.json deleted file mode 100644 index 22e8b804d3..0000000000 --- a/keyboards/dj505/picofx/keymaps/allinone/keymap.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "keyboard": "dj505/picofx", - "keymap": "allinone", - "layout": "LAYOUT", - "layers": [ - [ - "KC_Q", "KC_E", "KC_TAB", "KC_UP", - - "KC_X", "KC_G", - - "KC_A", "KC_D", "KC_SPC", "KC_DOWN", - - "LT(1,KC_ESC)", "KC_ENT" - ], - - [ - "KC_F1", "KC_F2", "KC_F5", "KC_F6", - - "KC_TRNS", "KC_TRNS", - - "KC_F3", "KC_F4", "KC_F7", "KC_F8", - - "KC_TRNS", "QK_BOOT" - ] - ] -} diff --git a/keyboards/dj505/picofx/keymaps/allinone/readme.md b/keyboards/dj505/picofx/keymaps/allinone/readme.md deleted file mode 100644 index c82751b106..0000000000 --- a/keyboards/dj505/picofx/keymaps/allinone/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -# PicoFX All-in-one Keymap - -The 'allinone' keymap puts most of the buttons that you need for navigating the Pump It Up Rise menus in the main mode. If you configure the game to use those buttons for gameplay as well, then you can play the game and navigate most of the menus without having to switch modes. - -``` - Q E Tab Up - X G - A D Space Down - - Service: Esc when tapped, or temporarily activates the mode below when held - Test: Enter -``` - -When Service is held the buttons have these meanings instead: -``` - F1 F2 F5 F6 - - - - F3 F4 F7 F8 - - Test: Bootloader mode -``` diff --git a/keyboards/dj505/picofx/keymaps/default/keymap.json b/keyboards/dj505/picofx/keymaps/default/keymap.json deleted file mode 100644 index bd814f333a..0000000000 --- a/keyboards/dj505/picofx/keymaps/default/keymap.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "keyboard": "dj505/picofx", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - [ - "KC_Q", "KC_E", "KC_R", "KC_Y", - - "KC_S", "KC_G", - - "KC_Z", "KC_C", "KC_V", "KC_N", - - "KC_ESC", "KC_ENT" - ] - ] -} diff --git a/keyboards/dj505/picofx/keymaps/default/readme.md b/keyboards/dj505/picofx/keymaps/default/readme.md deleted file mode 100644 index b3a6f482eb..0000000000 --- a/keyboards/dj505/picofx/keymaps/default/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# PicoFX Default Keymap - -The default keymap matches the 'Basic 2' preset in Pump It Up Rise. In the game's options menu, navigate to the keyboard settings and press '2' (on your normal computer keyboard) to apply the matching preset. - -``` - Q E R Y - S G - Z C V N - - Service: Escape - Test: Enter -``` diff --git a/keyboards/dj505/picofx/keymaps/menumode/keymap.json b/keyboards/dj505/picofx/keymaps/menumode/keymap.json deleted file mode 100644 index 21b3697b42..0000000000 --- a/keyboards/dj505/picofx/keymaps/menumode/keymap.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "keyboard": "dj505/picofx", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - [ - "KC_Q", "KC_E", "KC_R", "KC_Y", - - "KC_S", "KC_G", - - "KC_Z", "KC_C", "KC_V", "KC_N", - - "MO(2)", "TG(1)" - ], - - [ - "KC_Q", "KC_E", "KC_TAB", "KC_UP", - - "KC_ESC", "KC_ENT", - - "KC_LEFT", "KC_RGHT", "KC_SPC", "KC_DOWN", - - "LT(2,KC_F1)", "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" - ] - ] -} diff --git a/keyboards/dj505/picofx/keymaps/menumode/readme.md b/keyboards/dj505/picofx/keymaps/menumode/readme.md deleted file mode 100644 index 74bfa8c96a..0000000000 --- a/keyboards/dj505/picofx/keymaps/menumode/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# PicoFX Menu Mode Keymap - -The 'menumode' keymap is like the 'default' keymap in that it matches the 'Basic 2' preset in Pump It Up Rise, but it also includes the ability the toggle into a menu mode that provides most of the keys you need to navigate the game's menus. - -In the game's options menu, navigate to the keyboard settings and press '2' (on your normal computer keyboard) to apply the 'Basic 2' preset. - -The keymap in normal mode: -``` - Q E R Y - S G - Z C V N - - Test: Toggle to menu mode -``` - -And when in menu mode: -``` - Q E Tab Up - Esc Enter - Left Right Space Down - - Service: F1 - Test: Toggle back to game mode -``` - -It might take a little bit of practice to remember where everything is in menu mode. The rule of thumb is that the layout roughly corresponds to where those controls appear on the game's song selection screen. - -In either mode, holding the Service button and pressing the Test button will put the controller into bootloader mode for installing new firmware versions. diff --git a/keyboards/dj505/picofx/readme.md b/keyboards/dj505/picofx/readme.md deleted file mode 100644 index 3f72323d34..0000000000 --- a/keyboards/dj505/picofx/readme.md +++ /dev/null @@ -1,34 +0,0 @@ -# dj505/picofx - -![PicoFX controller](https://i.imgur.com/YNsJPg0.png) - -PicoFX: A compact keyboard-style controller for the *Pump It Up* rhythm game series. This firmware is intended for using the controller with the [Pump It Up Rise](https://store.steampowered.com/app/2756930/PUMP_IT_UP_RISE/) home version of the game. - -* Hardware Supported: [PicoFX](https://github.com/dj505/PicoFX) -* Keyboard Maintainer: [jjc1138](https://github.com/jjc1138) - -Make example for this keyboard (after setting up your build environment): - - make dj505/picofx:default - -Flashing example for this keyboard: - - make dj505/picofx: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). - -## Keymaps - -There are three keymaps provided, or you can build your own using the instructions below. - - * [default](keymaps/default/readme.md) - * [menumode](keymaps/menumode/readme.md) - * [allinone](keymaps/allinone/readme.md) - -### Bootloader - -Put the controller in bootloader mode in one of three ways: - -* **Physical reset button**: Hold down the BOOTSEL button on the microcontroller when connecting the USB cable. -* **Bootmagic reset**: If a version of this firmware is already installed, hold down the top-left button on the keyboard when connecting the USB cable. -* **Keycode in keymap**: If a version of this firmware is already installed with the 'menumode' or 'allinone' keymap, hold down the Service button and press the Test button. Or press a button mapped to `QK_BOOT` in your own keymap. diff --git a/keyboards/dj505/picolx/keyboard.json b/keyboards/dj505/picolx/keyboard.json deleted file mode 100644 index 111ccaf9fc..0000000000 --- a/keyboards/dj505/picolx/keyboard.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "manufacturer": "dj505", - "keyboard_name": "PicoLX", - "maintainer": "jjc1138", - "bootloader": "rp2040", - "bootloader_instructions": "Hold down the BOOTSEL button on the underside of the PCB when connecting the USB cable", - "features": { - "bootmagic": true, - "extrakey": true, - "rgb_matrix": true - }, - "matrix_pins": { - "direct": [ - ["GP24", null, "GP22", "GP4", null, "GP0"], - [null, "GP23", null, null, "GP3", null], - ["GP19", null, "GP18", "GP2", null, "GP1"], - ["GP12", "GP13", null, null, null, null] - ] - }, - "processor": "RP2040", - "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, - "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_splash": true, - "splash": true - }, - "default": { - "animation": "gradient_up_down", - "hue": 176, - "speed": 254, - "val": 64 - }, - "driver": "ws2812", - "layout": [ - {"x": 112, "y": 0, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 112, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"matrix": [0, 5], "x": 212, "y": 18, "flags": 4}, - {"matrix": [2, 5], "x": 212, "y": 57, "flags": 4}, - {"matrix": [1, 4], "x": 174, "y": 37, "flags": 4}, - {"matrix": [2, 3], "x": 136, "y": 57, "flags": 4}, - {"matrix": [0, 3], "x": 136, "y": 18, "flags": 4}, - {"matrix": [0, 2], "x": 88, "y": 18, "flags": 4}, - {"matrix": [2, 2], "x": 88, "y": 57, "flags": 4}, - {"matrix": [1, 1], "x": 50, "y": 37, "flags": 4}, - {"matrix": [2, 0], "x": 12, "y": 57, "flags": 4}, - {"matrix": [0, 0], "x": 12, "y": 18, "flags": 4}, - {"x": 131, "y": 32, "flags": 2}, - {"x": 112, "y": 32, "flags": 2}, - {"x": 94, "y": 32, "flags": 2} - ], - "sleep": true - }, - "url": "https://github.com/dj505/PicoLX", - "usb": { - "device_version": "1.0.0", - "pid": "0x4C58", - "vid": "0xFEED" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP21" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "P1 UL", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "P1 UR", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "P2 UL", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "P2 UR", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "P1 CN", "matrix": [1, 1], "x": 1, "y": 1}, - {"label": "P2 CN", "matrix": [1, 4], "x": 4, "y": 1}, - {"label": "P1 DL", "matrix": [2, 0], "x": 0, "y": 2}, - {"label": "P1 DR", "matrix": [2, 2], "x": 2, "y": 2}, - {"label": "P2 DL", "matrix": [2, 3], "x": 3, "y": 2}, - {"label": "P2 DR", "matrix": [2, 5], "x": 5, "y": 2}, - {"label": "Service", "matrix": [3, 0], "x": 6.5, "y": 0.5}, - {"label": "Test", "matrix": [3, 1], "x": 6.5, "y": 1.5} - ] - } - } -} diff --git a/keyboards/dj505/picolx/keymaps/allinone/keymap.json b/keyboards/dj505/picolx/keymaps/allinone/keymap.json deleted file mode 100644 index 87ca0fdc25..0000000000 --- a/keyboards/dj505/picolx/keymaps/allinone/keymap.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "keyboard": "dj505/picolx", - "keymap": "allinone", - "layout": "LAYOUT", - "layers": [ - [ - "KC_Q", "KC_E", "KC_TAB", "KC_UP", - - "KC_X", "KC_G", - - "KC_A", "KC_D", "KC_SPC", "KC_DOWN", - - "LT(1,KC_ESC)", "KC_ENT" - ], - - [ - "KC_F1", "KC_F2", "KC_F5", "KC_F6", - - "KC_TRNS", "KC_TRNS", - - "KC_F3", "KC_F4", "KC_F7", "KC_F8", - - "KC_TRNS", "QK_BOOT" - ] - ] -} diff --git a/keyboards/dj505/picolx/keymaps/allinone/readme.md b/keyboards/dj505/picolx/keymaps/allinone/readme.md deleted file mode 100644 index 9107d8e534..0000000000 --- a/keyboards/dj505/picolx/keymaps/allinone/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -# PicoLX All-in-one Keymap - -The 'allinone' keymap puts most of the buttons that you need for navigating the Pump It Up Rise menus in the main mode. If you configure the game to use those buttons for gameplay as well, then you can play the game and navigate most of the menus without having to switch modes. - -``` - Q E Tab Up - X G - A D Space Down - - Service: Esc when tapped, or temporarily activates the mode below when held - Test: Enter -``` - -When Service is held the buttons have these meanings instead: -``` - F1 F2 F5 F6 - - - - F3 F4 F7 F8 - - Test: Bootloader mode -``` diff --git a/keyboards/dj505/picolx/keymaps/default/keymap.json b/keyboards/dj505/picolx/keymaps/default/keymap.json deleted file mode 100644 index 31419baca9..0000000000 --- a/keyboards/dj505/picolx/keymaps/default/keymap.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "keyboard": "dj505/picolx", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - [ - "KC_Q", "KC_E", "KC_R", "KC_Y", - - "KC_S", "KC_G", - - "KC_Z", "KC_C", "KC_V", "KC_N", - - "KC_ESC", "KC_ENT" - ] - ] -} diff --git a/keyboards/dj505/picolx/keymaps/default/readme.md b/keyboards/dj505/picolx/keymaps/default/readme.md deleted file mode 100644 index 92658390b5..0000000000 --- a/keyboards/dj505/picolx/keymaps/default/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# PicoLX Default Keymap - -The default keymap matches the 'Basic 2' preset in Pump It Up Rise. In the game's options menu, navigate to the keyboard settings and press '2' (on your normal computer keyboard) to apply the matching preset. - -``` - Q E R Y - S G - Z C V N - - Service: Escape - Test: Enter -``` diff --git a/keyboards/dj505/picolx/keymaps/menumode/keymap.json b/keyboards/dj505/picolx/keymaps/menumode/keymap.json deleted file mode 100644 index ccf158ffa9..0000000000 --- a/keyboards/dj505/picolx/keymaps/menumode/keymap.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "keyboard": "dj505/picolx", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - [ - "KC_Q", "KC_E", "KC_R", "KC_Y", - - "KC_S", "KC_G", - - "KC_Z", "KC_C", "KC_V", "KC_N", - - "MO(2)", "TG(1)" - ], - - [ - "KC_Q", "KC_E", "KC_TAB", "KC_UP", - - "KC_ESC", "KC_ENT", - - "KC_LEFT", "KC_RGHT", "KC_SPC", "KC_DOWN", - - "LT(2,KC_F1)", "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" - ] - ] -} diff --git a/keyboards/dj505/picolx/keymaps/menumode/readme.md b/keyboards/dj505/picolx/keymaps/menumode/readme.md deleted file mode 100644 index d0eddd4c9c..0000000000 --- a/keyboards/dj505/picolx/keymaps/menumode/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# PicoLX Menu Mode Keymap - -The 'menumode' keymap is like the 'default' keymap in that it matches the 'Basic 2' preset in Pump It Up Rise, but it also includes the ability the toggle into a menu mode that provides most of the keys you need to navigate the game's menus. - -In the game's options menu, navigate to the keyboard settings and press '2' (on your normal computer keyboard) to apply the 'Basic 2' preset. - -The keymap in normal mode: -``` - Q E R Y - S G - Z C V N - - Test: Toggle to menu mode -``` - -And when in menu mode: -``` - Q E Tab Up - Esc Enter - Left Right Space Down - - Service: F1 - Test: Toggle back to game mode -``` - -It might take a little bit of practice to remember where everything is in menu mode. The rule of thumb is that the layout roughly corresponds to where those controls appear on the game's song selection screen. - -In either mode, holding the Service button and pressing the Test button will put the controller into bootloader mode for installing new firmware versions. diff --git a/keyboards/dj505/picolx/keymaps/rgbmode/keymap.json b/keyboards/dj505/picolx/keymaps/rgbmode/keymap.json deleted file mode 100644 index 0c78fad6a5..0000000000 --- a/keyboards/dj505/picolx/keymaps/rgbmode/keymap.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "keyboard": "dj505/picolx", - "keymap": "default", - "layout": "LAYOUT", - "layers": [ - [ - "KC_Q", "KC_E", "KC_R", "KC_Y", - - "KC_S", "KC_G", - - "KC_Z", "KC_C", "KC_V", "KC_N", - - "MO(2)", "TG(1)" - ], - - [ - "RM_HUEU", "RM_SATU", "RM_VALU", "RM_SPDU", - - "RM_PREV", "RM_NEXT", - - "RM_HUED", "RM_SATD", "RM_VALD", "RM_SPDD", - - "KC_TRNS", "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" - ] - ] -} diff --git a/keyboards/dj505/picolx/keymaps/rgbmode/readme.md b/keyboards/dj505/picolx/keymaps/rgbmode/readme.md deleted file mode 100644 index 476d7b32c0..0000000000 --- a/keyboards/dj505/picolx/keymaps/rgbmode/readme.md +++ /dev/null @@ -1,24 +0,0 @@ -# PicoLX RGB Mode Keymap - -The 'rgbmode' keymap is like the 'default' keymap, but with a mode for experimenting with RGB settings. Your RGB settings will be retained if you use the keyboard shortcut described below to enter bootloader mode and install a different firmware version. If you hold down the top-left key when plugging in the USB cable, then that will reset your RGB settings. - -The keymap in normal mode: -``` - Q E R Y - S G - Z C V N - - Test: Toggle to RGB mode -``` - -And when in RGB mode: -``` - Hue ↑ Saturation ↑ Value ↑ Speed ↑ - Previous Next - Animation Animation - Hue ↓ Saturation ↓ Value ↓ Speed ↓ - - Test: Toggle back to game mode -``` - -In either mode, holding the Service button and pressing the Test button will put the controller into bootloader mode for installing new firmware versions. diff --git a/keyboards/dj505/picolx/readme.md b/keyboards/dj505/picolx/readme.md deleted file mode 100644 index 4042aa2d6b..0000000000 --- a/keyboards/dj505/picolx/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# dj505/picolx - -![PicoLX controller](https://i.imgur.com/BHRRYl3.jpeg) - -PicoLX: A compact keyboard-style controller for the *Pump It Up* rhythm game series. This firmware is intended for using the controller with the [Pump It Up Rise](https://store.steampowered.com/app/2756930/PUMP_IT_UP_RISE/) home version of the game. - -* Hardware Supported: [PicoLX](https://github.com/dj505/PicoLX) -* Keyboard Maintainer: [jjc1138](https://github.com/jjc1138) - -Make example for this keyboard (after setting up your build environment): - - make dj505/picolx:default - -Flashing example for this keyboard: - - make dj505/picolx: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). - -## Keymaps - -There are four keymaps provided. - - * [default](keymaps/default/readme.md) - * [menumode](keymaps/menumode/readme.md) - * [allinone](keymaps/allinone/readme.md) - * [rgbmode](keymaps/rgbmode/readme.md) - -### Bootloader - -Put the controller in bootloader mode in one of three ways: - -* **Physical reset button**: Hold down the BOOTSEL button on the underside of the PCB (by poking something through the hole on the bottom of the case) when connecting the USB cable. -* **Bootmagic reset**: If a version of this firmware is already installed, hold down the top-left button on the keyboard when connecting the USB cable. -* **Keycode in keymap**: If a version of this firmware is already installed with the 'menumode', 'rgbmode', or 'allinone' keymap, hold down the Service button and press the Test button. Or press a button mapped to `QK_BOOT` in your own keymap. diff --git a/keyboards/dmqdesign/spin/keyboard.json b/keyboards/dmqdesign/spin/keyboard.json index 374fb7d7de..dd3cbaa838 100644 --- a/keyboards/dmqdesign/spin/keyboard.json +++ b/keyboards/dmqdesign/spin/keyboard.json @@ -49,19 +49,19 @@ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, {"matrix": [2, 0], "x": 2, "y": 0}, - {"matrix": [2, 4], "x": 3.5, "y": 0, "encoder": 0}, + {"matrix": [2, 4], "x": 3.5, "y": 0}, {"matrix": [0, 1], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [2, 1], "x": 2, "y": 1}, - {"matrix": [1, 4], "x": 3.5, "y": 1.5, "encoder": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1.5}, {"matrix": [0, 2], "x": 0, "y": 2}, {"matrix": [1, 2], "x": 1, "y": 2}, {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [0, 4], "x": 3.5, "y": 3, "encoder": 2}, + {"matrix": [0, 4], "x": 3.5, "y": 3}, {"matrix": [0, 3], "x": 0, "y": 3}, {"matrix": [1, 3], "x": 1, "y": 3}, {"matrix": [2, 3], "x": 2, "y": 3} diff --git a/keyboards/dnworks/frltkl/readme.md b/keyboards/dnworks/frltkl/readme.md index c8119ae7c9..cc9946284a 100644 --- a/keyboards/dnworks/frltkl/readme.md +++ b/keyboards/dnworks/frltkl/readme.md @@ -22,4 +22,4 @@ 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 `RESET` button twice or short the `USB_BOOT` and `GND` pads and plug in the keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/dnworks/numpad/keyboard.json b/keyboards/dnworks/numpad/keyboard.json index e89c180ee6..26fbcbf146 100644 --- a/keyboards/dnworks/numpad/keyboard.json +++ b/keyboards/dnworks/numpad/keyboard.json @@ -70,4 +70,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/dnworks/numpad/readme.md b/keyboards/dnworks/numpad/readme.md index d2bf3016dc..080ced6f77 100644 --- a/keyboards/dnworks/numpad/readme.md +++ b/keyboards/dnworks/numpad/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the top left key and plug in the keyboard * **Physical reset button**: Briefly press the `RESET` button twice or short the `USB_BOOT` and `GND` pads and plug in the keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/dnworks/sbl/readme.md b/keyboards/dnworks/sbl/readme.md index 420ba8f039..0c6569f125 100644 --- a/keyboards/dnworks/sbl/readme.md +++ b/keyboards/dnworks/sbl/readme.md @@ -24,4 +24,4 @@ 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**: Short the 'USB_BOOT' button and plug in keyboard or briefly short the `RESET` and `GND` pads on the SWD header twice -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/dnworks/tkl87/readme.md b/keyboards/dnworks/tkl87/readme.md index ffeec62612..121cdccddf 100644 --- a/keyboards/dnworks/tkl87/readme.md +++ b/keyboards/dnworks/tkl87/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down escape and plug in the keyboard * **Physical reset button**: Short the 'USB_BOOT' button and plug in keyboard or press the 'RESET' button twice with the keyboard plugged in. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/do60/readme.md b/keyboards/do60/readme.md index b384f3aa35..c4122361f2 100644 --- a/keyboards/do60/readme.md +++ b/keyboards/do60/readme.md @@ -11,4 +11,4 @@ Make example for this keyboard (after setting up your build environment): make do60: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/doio/kb03/kb03.c b/keyboards/doio/kb03/kb03.c index 0d34c370df..9368bc5d41 100644 --- a/keyboards/doio/kb03/kb03.c +++ b/keyboards/doio/kb03/kb03.c @@ -6,6 +6,32 @@ #ifdef RGB_MATRIX_ENABLE +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case RM_TOGG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/doio/kb03/keyboard.json b/keyboards/doio/kb03/keyboard.json index a3e77369fc..d2a214c92f 100644 --- a/keyboards/doio/kb03/keyboard.json +++ b/keyboards/doio/kb03/keyboard.json @@ -6,7 +6,7 @@ "diode_direction": "COL2ROW", "encoder": { "rotary": [ - {"pin_a": "B5", "pin_b": "B6"}, + {"pin_a": "B5", "pin_b": "B6", "resolution": 4}, {"pin_a": "A2", "pin_b": "A1", "resolution": 2} ] }, diff --git a/keyboards/doio/kb04/keyboard.json b/keyboards/doio/kb04/keyboard.json index 611a4c7156..ea5c58c71c 100644 --- a/keyboards/doio/kb04/keyboard.json +++ b/keyboards/doio/kb04/keyboard.json @@ -106,4 +106,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/doio/kb04/keymaps/default/rules.mk b/keyboards/doio/kb04/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/doio/kb04/keymaps/default/rules.mk +++ b/keyboards/doio/kb04/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/doio/kb09/keyboard.json b/keyboards/doio/kb09/keyboard.json index a816866e98..a9c0e2a579 100644 --- a/keyboards/doio/kb09/keyboard.json +++ b/keyboards/doio/kb09/keyboard.json @@ -117,4 +117,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/doio/kb38/kb38.c b/keyboards/doio/kb38/kb38.c index 907b357289..2eaf62fa73 100644 --- a/keyboards/doio/kb38/kb38.c +++ b/keyboards/doio/kb38/kb38.c @@ -66,4 +66,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return true; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/doio/kb38/rgb_matrix_kb.inc b/keyboards/doio/kb38/rgb_matrix_kb.inc index c89aad47ec..6e672c889d 100644 --- a/keyboards/doio/kb38/rgb_matrix_kb.inc +++ b/keyboards/doio/kb38/rgb_matrix_kb.inc @@ -24,4 +24,4 @@ static bool trans(effect_params_t* params) { return rgb_matrix_check_finished_leds(led_max); } -#endif +#endif \ No newline at end of file diff --git a/keyboards/doio/kb3x/keyboard.json b/keyboards/doio/kb3x/keyboard.json index b8ad0541ab..eb9e843745 100644 --- a/keyboards/doio/kb3x/keyboard.json +++ b/keyboards/doio/kb3x/keyboard.json @@ -121,4 +121,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/donutcables/readme.md b/keyboards/donutcables/readme.md index 9e39aefcf0..d68b6a743c 100644 --- a/keyboards/donutcables/readme.md +++ b/keyboards/donutcables/readme.md @@ -9,4 +9,4 @@ Website: https://donutcables.com/ Email: contact@donutcables.com Reddit: /u/donutcat_cables Geekhack/DeskThority: donutcat -Discord: @donutcat on the #mechkeys Discord +Discord: @donutcat on the #mechkeys Discord \ No newline at end of file diff --git a/keyboards/donutcables/scrabblepad/keymaps/default/readme.md b/keyboards/donutcables/scrabblepad/keymaps/default/readme.md index 3f9aeb7a4b..4dca7ad272 100644 --- a/keyboards/donutcables/scrabblepad/keymaps/default/readme.md +++ b/keyboards/donutcables/scrabblepad/keymaps/default/readme.md @@ -3,4 +3,4 @@ This is the default keymap for the ScrabblePad. On each row, each key is used to spell out each character in -the following string: " scrabblepad ". +the following string: " scrabblepad ". \ No newline at end of file diff --git a/keyboards/doro67/readme.md b/keyboards/doro67/readme.md index d35d2f0a4f..1648fbde57 100644 --- a/keyboards/doro67/readme.md +++ b/keyboards/doro67/readme.md @@ -9,4 +9,4 @@ There were 3 different PCBs available for this group buy. **Regular:** PCB made for the China GB which only had 1 layout. **Multi:** PCB made for the international GB comprising of multiple layouts. While several layouts were possible, layout was determined by the integrated plate layout chosen by the customer. -**RGB:** PCB made for the international GB which had an identical switch matrix and layout to the regular PCB, with the addition of per key RGB LEDs. +**RGB:** PCB made for the international GB which had an identical switch matrix and layout to the regular PCB, with the addition of per key RGB LEDs. \ No newline at end of file diff --git a/keyboards/doro67/regular/keymaps/default/readme.md b/keyboards/doro67/regular/keymaps/default/readme.md index ab273cbc41..0af057d780 100644 --- a/keyboards/doro67/regular/keymaps/default/readme.md +++ b/keyboards/doro67/regular/keymaps/default/readme.md @@ -2,4 +2,4 @@ **THIS IS THE DEFAULT KEYMAP DIRECTORY (AVAILABILITY: CHINA GB ONLY)** If you are a non-china buyer, you probably have the multi PCB or rgb PCB. -Please look at the "multi" and "rgb" readme files. +Please look at the "multi" and "rgb" readme files. \ No newline at end of file diff --git a/keyboards/doro67/rgb/keyboard.json b/keyboards/doro67/rgb/keyboard.json index 46f1d775ab..de95db63d6 100644 --- a/keyboards/doro67/rgb/keyboard.json +++ b/keyboards/doro67/rgb/keyboard.json @@ -51,76 +51,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "ws2812", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "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": 206, "y": 16, "flags": 1}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 11, "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 198, "y": 32, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 18, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 30, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 60, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 90, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 105, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 120, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 135, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 150, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 165, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 191, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 3, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 64, "flags": 1}, - {"matrix": [4, 3], "x": 101, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 135, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 153, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ] + "driver": "ws2812" }, "features": { "bootmagic": true, diff --git a/keyboards/doro67/rgb/keymaps/default/readme.md b/keyboards/doro67/rgb/keymaps/default/readme.md index 857cb12148..eb5c49419d 100644 --- a/keyboards/doro67/rgb/keymaps/default/readme.md +++ b/keyboards/doro67/rgb/keymaps/default/readme.md @@ -4,4 +4,4 @@ The "rgb" directory includes the keymap for the RGB PCB. The multi-layout PCB and RGB pcb were the only two options available to NON-china buyers. -If you purchased a non-rgb PCB, please see the 'multi' directory. +If you purchased a non-rgb PCB, please see the 'multi' directory. \ No newline at end of file diff --git a/keyboards/doro67/rgb/rgb.c b/keyboards/doro67/rgb/rgb.c new file mode 100644 index 0000000000..280c1b6774 --- /dev/null +++ b/keyboards/doro67/rgb/rgb.c @@ -0,0 +1,46 @@ +/* Copyright 2019 MechMerlin + * + * 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" + +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, NO_LED, 42, 43 }, + { 44, NO_LED, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, + { 58, 59, 60, 61, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 62, 63, NO_LED, 64, 65, 66 } +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Ins + { 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 }, + // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , Del + { 7, 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 }, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Pgup + { 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 }, { 225, 32 }, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Pgdn + { 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, { 210, 48 }, { 225, 48 }, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 } +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Ins + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , Del + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Pgup + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Pgdn + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + 1, 1, 1, 4, 1, 1, 1, 1, 1 +} }; diff --git a/keyboards/dotlen/queue/keyboard.json b/keyboards/dotlen/queue/keyboard.json deleted file mode 100644 index 3dd3807194..0000000000 --- a/keyboards/dotlen/queue/keyboard.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "manufacturer": "DotLen", - "keyboard_name": "Queue.Len()", - "maintainer": "lental", - "bootloader": "atmel-dfu", - "build": { - "lto": true - }, - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "B0", "pin_b": "B7"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "E6"], - "rows": ["D5", "D3", "D2", "D1", "D0"] - }, - "processor": "atmega32u4", - "url": "https://github.com/lental/keyboard-firmware", - "usb": { - "device_version": "0.0.1", - "pid": "0x000A", - "vid": "0xFACE" - }, - "layout_aliases": { - "LAYOUT_all": "LAYOUT_triple_space" - }, - "layouts": { - "LAYOUT_standard_space": { - "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": "split", "matrix": [0, 14], "x": 14, "y": 0}, - {"label": "rotary", "matrix": [2, 14], "x": 15, "y": 0, "encoder":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": "Bksp", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "pgup", "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": "pgup", "matrix": [2, 13], "x": 15, "y": 2}, - {"label": "split", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "Shift", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 1}, - {"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": "Up", "matrix": [3, 13], "x": 14, "y": 3}, - {"label": "pgup", "matrix": [3, 14], "x": 15, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "Alt", "matrix": [4, 6], "x": 10, "y": 4}, - {"label": "Win", "matrix": [4, 7], "x": 11, "y": 4}, - {"label": "Ctrl", "matrix": [4, 8], "x": 12, "y": 4}, - {"label": "left", "matrix": [4, 12], "x": 13, "y": 4}, - {"label": "down", "matrix": [4, 13], "x": 14, "y": 4}, - {"label": "right", "matrix": [4, 14], "x": 15, "y": 4} - ] - }, - "LAYOUT_triple_space": { - "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": "split", "matrix": [0, 14], "x": 14, "y": 0}, - {"label": "rotary", "matrix": [2, 14], "x": 15, "y": 0, "encoder":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": "Bksp", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "pgup", "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": "pgup", "matrix": [2, 13], "x": 15, "y": 2}, - {"label": "split", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"label": "Shift", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 1}, - {"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": "Up", "matrix": [3, 13], "x": 14, "y": 3}, - {"label": "pgup", "matrix": [3, 14], "x": 15, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 2.25}, - {"matrix": [4, 4], "x": 6, "y": 4, "w": 1.25}, - {"matrix": [4, 5], "x": 7.25, "y": 4, "w": 2.75}, - {"label": "Alt", "matrix": [4, 6], "x": 10, "y": 4}, - {"label": "Win", "matrix": [4, 7], "x": 11, "y": 4}, - {"label": "Ctrl", "matrix": [4, 8], "x": 12, "y": 4}, - {"label": "left", "matrix": [4, 12], "x": 13, "y": 4}, - {"label": "down", "matrix": [4, 13], "x": 14, "y": 4}, - {"label": "right", "matrix": [4, 14], "x": 15, "y": 4} - ] - } - } -} diff --git a/keyboards/dotlen/queue/keymaps/default/keymap.c b/keyboards/dotlen/queue/keymaps/default/keymap.c deleted file mode 100644 index 74f4cc59c2..0000000000 --- a/keyboards/dotlen/queue/keymaps/default/keymap.c +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2025 lental -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -enum layers { - _BL, - _FL, - _AL -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_BL] = LAYOUT_all( - KC_GRAVE, 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_MUTE, - KC_TAB , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_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, MO(_FL), KC_Z , KC_X, KC_C , KC_V , KC_B, KC_N , KC_M , KC_COMM, KC_DOT, KC_SLASH, KC_RSFT , KC_UP, KC_DEL, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC,KC_SPC, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - -[_FL] = LAYOUT_all( - 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_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_AL), - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - -[_AL] = LAYOUT_all( - QK_BOOT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) - -}; - -#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(_______, _______)}, - [_AL] = { ENCODER_CCW_CW(_______, _______)} -}; -#endif diff --git a/keyboards/dotlen/queue/readme.md b/keyboards/dotlen/queue/readme.md deleted file mode 100644 index 7929ce6ba6..0000000000 --- a/keyboards/dotlen/queue/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# Queue.len() - -![Queue.len()](https://i.imgur.com/8JKbm6P.png) - -A 65% keyboard with multiple layout support. - -* Keyboard Maintainer: [Lental](https://github.com/lental) -* Hardware Supported: Custom PCB -* Hardware Availability: Private Group Buy -* Keyboard Layout Editor [Link](https://www.keyboard-layout-editor.com/#/gists/d54fc38f606ce3e990a88044e9b71858) - -Make example for this keyboard (after setting up your build environment): - - make dotlen/queue:default - -Flashing example for this keyboard: - - make dotlen/queue: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/dotmod/dymium65/dymium65.c b/keyboards/dotmod/dymium65/dymium65.c index fd3bab633e..45eaa0251c 100644 --- a/keyboards/dotmod/dymium65/dymium65.c +++ b/keyboards/dotmod/dymium65/dymium65.c @@ -18,6 +18,30 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + {0, 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, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, NO_LED, NO_LED}, + {28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, NO_LED, NO_LED}, + {29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, NO_LED, 41, 14, 42}, + {55, NO_LED, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, NO_LED, 44, 43, NO_LED}, + {56, 57, 58, NO_LED, NO_LED, NO_LED, 59, NO_LED, NO_LED, 60, 61, NO_LED, 62, 63, 64, 65} + }, { + {14, 0}, {28, 0}, {42, 0}, {56, 0}, {70, 0}, {84, 0}, {98, 0}, {112, 0}, {126, 0}, {140, 0}, {154, 0}, {168, 0}, {182, 0},{196, 0}, + {224, 16},{196, 16},{182, 16},{168, 16},{154, 16},{140, 16},{126, 16},{112, 16}, {98, 16}, {84, 16}, {70, 16}, {56, 16}, {42, 16} ,{28, 16}, {14, 16}, + {14, 32}, {28, 32}, {42, 32}, {56, 32}, {70, 32}, {84, 32}, {98, 32}, {112, 32}, {126, 32}, {140, 32}, {154, 32}, {168, 32}, {196, 32}, {224, 32}, + {224, 48}, {196, 48},{168, 48},{154, 48},{140, 48},{126, 48},{112, 48}, {98, 48}, {84, 48}, {70, 48}, {56, 48}, {42, 48}, {14, 48}, + {14, 64}, {28, 64}, {42, 64}, {98, 64}, {140, 64}, {154, 64}, {168, 64}, {182, 64},{196, 64}, {224, 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, 12, 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 + } +}; + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/dotmod/dymium65/keyboard.json b/keyboards/dotmod/dymium65/keyboard.json index 8ef9587489..a76bc91cd6 100644 --- a/keyboards/dotmod/dymium65/keyboard.json +++ b/keyboards/dotmod/dymium65/keyboard.json @@ -68,74 +68,6 @@ "solid_reactive_nexus": true, "splash": true }, - "layout": [ - {"matrix": [0, 0], "x": 14, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 28, "y": 0, "flags": 4}, - {"matrix": [1, 2], "x": 42, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 56, "y": 0, "flags": 4}, - {"matrix": [1, 4], "x": 70, "y": 0, "flags": 4}, - {"matrix": [1, 5], "x": 84, "y": 0, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 0, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [1, 8], "x": 126, "y": 0, "flags": 4}, - {"matrix": [1, 9], "x": 140, "y": 0, "flags": 4}, - {"matrix": [1, 10], "x": 154, "y": 0, "flags": 4}, - {"matrix": [1, 11], "x": 168, "y": 0, "flags": 4}, - {"matrix": [1, 12], "x": 182, "y": 0, "flags": 4}, - {"matrix": [1, 13], "x": 196, "y": 0, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 13], "x": 196, "y": 16, "flags": 4}, - {"matrix": [2, 12], "x": 182, "y": 16, "flags": 4}, - {"matrix": [2, 11], "x": 168, "y": 16, "flags": 4}, - {"matrix": [2, 10], "x": 154, "y": 16, "flags": 4}, - {"matrix": [2, 9], "x": 140, "y": 16, "flags": 4}, - {"matrix": [2, 8], "x": 126, "y": 16, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [2, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [2, 5], "x": 84, "y": 16, "flags": 4}, - {"matrix": [2, 4], "x": 70, "y": 16, "flags": 4}, - {"matrix": [2, 3], "x": 56, "y": 16, "flags": 4}, - {"matrix": [2, 2], "x": 42, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 14, "y": 16, "flags": 4}, - {"matrix": [3, 0], "x": 14, "y": 32, "flags": 12}, - {"matrix": [3, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [3, 2], "x": 42, "y": 32, "flags": 4}, - {"matrix": [3, 3], "x": 56, "y": 32, "flags": 4}, - {"matrix": [3, 4], "x": 70, "y": 32, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 32, "flags": 4}, - {"matrix": [3, 6], "x": 98, "y": 32, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [3, 8], "x": 126, "y": 32, "flags": 4}, - {"matrix": [3, 9], "x": 140, "y": 32, "flags": 4}, - {"matrix": [3, 10], "x": 154, "y": 32, "flags": 4}, - {"matrix": [3, 11], "x": 168, "y": 32, "flags": 4}, - {"matrix": [3, 13], "x": 196, "y": 32, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 32, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [4, 13], "x": 196, "y": 48, "flags": 4}, - {"matrix": [4, 11], "x": 168, "y": 48, "flags": 4}, - {"matrix": [4, 10], "x": 154, "y": 48, "flags": 4}, - {"matrix": [4, 9], "x": 140, "y": 48, "flags": 4}, - {"matrix": [4, 8], "x": 126, "y": 48, "flags": 4}, - {"matrix": [4, 7], "x": 112, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 98, "y": 48, "flags": 4}, - {"matrix": [4, 5], "x": 84, "y": 48, "flags": 4}, - {"matrix": [4, 4], "x": 70, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 56, "y": 48, "flags": 4}, - {"matrix": [4, 2], "x": 42, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 14, "y": 48, "flags": 4}, - {"matrix": [5, 0], "x": 14, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 28, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 42, "y": 64, "flags": 4}, - {"matrix": [5, 6], "x": 98, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 140, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 154, "y": 64, "flags": 4}, - {"matrix": [5, 12], "x": 168, "y": 64, "flags": 4}, - {"matrix": [5, 13], "x": 182, "y": 64, "flags": 4}, - {"matrix": [5, 14], "x": 196, "y": 64, "flags": 4}, - {"matrix": [5, 15], "x": 224, "y": 64, "flags": 4} - ], "max_brightness": 200, "react_on_keyup": true }, diff --git a/keyboards/dotmod/dymium65/keymaps/default/rules.mk b/keyboards/dotmod/dymium65/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/dotmod/dymium65/keymaps/default/rules.mk +++ b/keyboards/dotmod/dymium65/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/dp60/readme.md b/keyboards/dp60/readme.md index a1bfd4fa68..d1ea24d603 100644 --- a/keyboards/dp60/readme.md +++ b/keyboards/dp60/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make dp60: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/draculad/keyboard.json b/keyboards/draculad/keyboard.json index f4464da35f..9c21b2a97d 100644 --- a/keyboards/draculad/keyboard.json +++ b/keyboards/draculad/keyboard.json @@ -39,7 +39,7 @@ "encoder": { "right": { "rotary": [ - {"pin_a": "B2", "pin_b": "B6"}, + {"pin_a": "B2", "pin_b": "B6", "resolution": 4}, {"pin_a": "B4", "pin_b": "B5", "resolution": 1} ] } diff --git a/keyboards/drop/alt/v2/config.h b/keyboards/drop/alt/v2/config.h index 4499054785..2dfae36a49 100644 --- a/keyboards/drop/alt/v2/config.h +++ b/keyboards/drop/alt/v2/config.h @@ -18,4 +18,5 @@ #define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC #define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ +#define RGB_MATRIX_CYCLE_ZONES_ENABLE #define RGB_MATRIX_CAPS_LOCK_INDEX 30 diff --git a/keyboards/drop/ctrl/v2/config.h b/keyboards/drop/ctrl/v2/config.h index 297e297abe..c0a259492b 100644 --- a/keyboards/drop/ctrl/v2/config.h +++ b/keyboards/drop/ctrl/v2/config.h @@ -18,4 +18,5 @@ #define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC #define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ +#define RGB_MATRIX_CYCLE_ZONES_ENABLE #define RGB_MATRIX_CAPS_LOCK_INDEX 50 diff --git a/keyboards/drop/lib/common.c b/keyboards/drop/lib/common.c index a4300b4e8e..53fa70882e 100644 --- a/keyboards/drop/lib/common.c +++ b/keyboards/drop/lib/common.c @@ -19,4 +19,35 @@ bool rgb_matrix_indicators_kb(void) { return true; } # endif + +# ifdef RGB_MATRIX_CYCLE_ZONES_ENABLE +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + + if (!record->event.pressed) { + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + break; + case LED_FLAG_UNDERGLOW: + rgb_matrix_set_flags(LED_FLAG_NONE); + break; + default: + rgb_matrix_set_flags(LED_FLAG_ALL); + break; + } + return false; + } + } + return true; +}; +# endif + #endif diff --git a/keyboards/drop/sense75/config.h b/keyboards/drop/sense75/config.h index 539f3d5714..448d223d48 100644 --- a/keyboards/drop/sense75/config.h +++ b/keyboards/drop/sense75/config.h @@ -13,4 +13,5 @@ #define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC #define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ +#define RGB_MATRIX_CYCLE_ZONES_ENABLE #define RGB_MATRIX_CAPS_LOCK_INDEX 62 diff --git a/keyboards/drop/shift/v2/config.h b/keyboards/drop/shift/v2/config.h index dc3b171868..e912e3805f 100644 --- a/keyboards/drop/shift/v2/config.h +++ b/keyboards/drop/shift/v2/config.h @@ -18,3 +18,5 @@ #define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_VCC_VCC #define IS31FL3733_I2C_ADDRESS_3 IS31FL3733_I2C_ADDRESS_GND_GND #define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ + +#define RGB_MATRIX_CYCLE_ZONES_ENABLE diff --git a/keyboards/dtisaac/cg108/keymaps/default/keymap.c b/keyboards/dtisaac/cg108/keymaps/default/keymap.c index bfc748f01e..dbd9b3e4eb 100644 --- a/keyboards/dtisaac/cg108/keymaps/default/keymap.c +++ b/keyboards/dtisaac/cg108/keymaps/default/keymap.c @@ -24,4 +24,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PCMM, KC_PDOT, KC_PENT ) -}; +}; \ No newline at end of file diff --git a/keyboards/dtisaac/dosa40rgb/dosa40rgb.c b/keyboards/dtisaac/dosa40rgb/dosa40rgb.c new file mode 100644 index 0000000000..35ae8eb018 --- /dev/null +++ b/keyboards/dtisaac/dosa40rgb/dosa40rgb.c @@ -0,0 +1,39 @@ +/* Copyright 2021 DTIsaac + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + //Key Matrix to LED Index + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, + {22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12 }, + {23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33}, + {41, 40, 39, NO_LED, 38, NO_LED, 37, 36, 35, 34, 11} +}, { + //LED Index to Physical Positon + { 0, 0}, { 20, 0}, { 40, 0 }, { 61, 0 }, { 81, 0}, { 101, 0}, { 122, 0}, { 142, 0}, { 162, 0}, { 183, 0}, { 203, 0}, { 224, 0}, + {203, 21}, {183, 21}, {162,21 }, {142, 21}, {122,21}, { 101,21}, { 81 ,21}, { 61 ,21}, { 40 ,21}, { 20 ,21}, { 0 ,21}, + { 0, 42}, { 20, 42}, { 40,42 }, { 61, 42}, { 81,42}, { 101,42}, { 122,42}, { 142,42}, { 162,42}, { 183,42}, { 203,42}, + {203, 64}, {183, 64}, {162,64 }, {122, 64}, { 81,64}, { 40, 64}, { 20, 64}, { 0, 64}, +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, +} }; + +#endif \ No newline at end of file diff --git a/keyboards/dtisaac/dosa40rgb/keyboard.json b/keyboards/dtisaac/dosa40rgb/keyboard.json index 29a63e80f3..4f5522947a 100644 --- a/keyboards/dtisaac/dosa40rgb/keyboard.json +++ b/keyboards/dtisaac/dosa40rgb/keyboard.json @@ -62,50 +62,6 @@ "animation": "cycle_pinwheel" }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 81, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 101, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 122, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 142, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 162, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 183, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 203, "y": 0, "flags": 4}, - {"matrix": [3, 10], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 10], "x": 203, "y": 21, "flags": 1}, - {"matrix": [1, 9], "x": 183, "y": 21, "flags": 4}, - {"matrix": [1, 8], "x": 162, "y": 21, "flags": 4}, - {"matrix": [1, 7], "x": 142, "y": 21, "flags": 4}, - {"matrix": [1, 6], "x": 122, "y": 21, "flags": 4}, - {"matrix": [1, 5], "x": 101, "y": 21, "flags": 4}, - {"matrix": [1, 4], "x": 81, "y": 21, "flags": 4}, - {"matrix": [1, 3], "x": 61, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 21, "flags": 4}, - {"matrix": [1, 1], "x": 20, "y": 21, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1}, - {"matrix": [2, 1], "x": 20, "y": 42, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 42, "flags": 4}, - {"matrix": [2, 3], "x": 61, "y": 42, "flags": 4}, - {"matrix": [2, 4], "x": 81, "y": 42, "flags": 4}, - {"matrix": [2, 5], "x": 101, "y": 42, "flags": 4}, - {"matrix": [2, 6], "x": 122, "y": 42, "flags": 4}, - {"matrix": [2, 7], "x": 142, "y": 42, "flags": 4}, - {"matrix": [2, 8], "x": 162, "y": 42, "flags": 4}, - {"matrix": [2, 9], "x": 183, "y": 42, "flags": 4}, - {"matrix": [2, 10], "x": 203, "y": 42, "flags": 1}, - {"matrix": [3, 9], "x": 203, "y": 64, "flags": 1}, - {"matrix": [3, 8], "x": 183, "y": 64, "flags": 1}, - {"matrix": [3, 7], "x": 162, "y": 64, "flags": 1}, - {"matrix": [3, 6], "x": 122, "y": 64, "flags": 1}, - {"matrix": [3, 4], "x": 81, "y": 64, "flags": 1}, - {"matrix": [3, 2], "x": 40, "y": 64, "flags": 1}, - {"matrix": [3, 1], "x": 20, "y": 64, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1} - ], "max_brightness": 150, "react_on_keyup": true }, diff --git a/keyboards/duck/lightsaver/lightsaver.c b/keyboards/duck/lightsaver/lightsaver.c index 62006c6e09..60d21a1bae 100644 --- a/keyboards/duck/lightsaver/lightsaver.c +++ b/keyboards/duck/lightsaver/lightsaver.c @@ -55,4 +55,4 @@ bool led_update_kb(led_t led_state) { indicator_leds_set(leds); } return res; -} +} \ No newline at end of file diff --git a/keyboards/duck/octagon/keymaps/default/keymap.c b/keyboards/duck/octagon/keymaps/default/keymap.c index a82c6c9e40..21b4743bf3 100644 --- a/keyboards/duck/octagon/keymaps/default/keymap.c +++ b/keyboards/duck/octagon/keymaps/default/keymap.c @@ -34,4 +34,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/duck/tcv3/keymaps/default/keymap.c b/keyboards/duck/tcv3/keymaps/default/keymap.c index f0d2560eda..f56db0fe85 100644 --- a/keyboards/duck/tcv3/keymaps/default/keymap.c +++ b/keyboards/duck/tcv3/keymaps/default/keymap.c @@ -34,4 +34,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/dumbpad/v3x/keyboard.json b/keyboards/dumbpad/v3x/keyboard.json index 0e1c5bc791..58b8da5b3a 100644 --- a/keyboards/dumbpad/v3x/keyboard.json +++ b/keyboards/dumbpad/v3x/keyboard.json @@ -36,24 +36,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 1], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 75, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 149, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 4], "x": 224, "y": 21, "flags": 4}, - {"matrix": [1, 3], "x": 149, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 75, "y": 21, "flags": 4}, - {"matrix": [1, 1], "x": 0, "y": 21, "flags": 4}, - {"matrix": [2, 1], "x": 0, "y": 43, "flags": 4}, - {"matrix": [2, 2], "x": 75, "y": 43, "flags": 4}, - {"matrix": [2, 3], "x": 149, "y": 43, "flags": 4}, - {"matrix": [2, 4], "x": 224, "y": 43, "flags": 4}, - {"matrix": [3, 4], "x": 224, "y": 64, "flags": 4}, - {"matrix": [3, 3], "x": 149, "y": 64, "flags": 4}, - {"matrix": [3, 2], "x": 75, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 0, "y": 64, "flags": 4} - ], "timeout": 300000, "sleep": true }, diff --git a/keyboards/dumbpad/v3x/v3x.c b/keyboards/dumbpad/v3x/v3x.c index ebc829d91a..181e9d4a0d 100644 --- a/keyboards/dumbpad/v3x/v3x.c +++ b/keyboards/dumbpad/v3x/v3x.c @@ -16,6 +16,36 @@ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = {{// Key Matrix to LED Index + {NO_LED, 0, 1, 2, 3}, + {NO_LED, 7, 6, 5, 4}, + {NO_LED, 8, 9, 10, 11}, + {NO_LED, 15, 14, 13, 12}}, + {// LED Index to Physical Position + {0, 0}, + {75, 0}, + {149, 0}, + {224, 0}, + + {224, 21}, + {149, 21}, + {75, 21}, + {0, 21}, + + {0, 43}, + {75, 43}, + {149, 43}, + {224, 43}, + + {224, 64}, + {149, 64}, + {75, 64}, + {0, 64}}, + {// LED Index to Flag + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}}; +#endif + void keyboard_pre_init_kb(void) { // Set LED IO as outputs gpio_set_pin_output(LED_00); diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.c b/keyboards/durgod/dgk6x/galaxy/galaxy.c index a0f5126bf6..5d08163109 100644 --- a/keyboards/durgod/dgk6x/galaxy/galaxy.c +++ b/keyboards/durgod/dgk6x/galaxy/galaxy.c @@ -1,4 +1,4 @@ -/* Copyright 2021 Don Kjer +/* Copyright 2021 Don Kjer * * 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 @@ -116,4 +116,27 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {1, SW6_CS14, SW5_CS14, SW4_CS14}, // Down {1, SW6_CS15, SW5_CS15, SW4_CS15} // Right }; + +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, NO_LED }, + { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, NO_LED }, + { 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, NO_LED, 58, 59, NO_LED }, + { 60, NO_LED, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, NO_LED }, + { 74, 75, 76, NO_LED, NO_LED, NO_LED, 77, NO_LED, NO_LED, 78, 79, 80, 81, 82, 83, NO_LED } +}, { + { 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 }, { 208, 0 }, { 224, 0 }, { 240, 0 }, + { 0, 13 }, { 16, 13 }, { 32, 13 }, { 48, 13 }, { 64, 13 }, { 80, 13 }, { 96, 13 }, { 112, 13 }, { 128, 13 }, { 144, 13 }, { 160, 13 }, { 176, 13 }, { 192, 13 }, { 216, 13 }, { 240, 13 }, + { 4, 26 }, { 24, 26 }, { 40, 26 }, { 56, 26 }, { 72, 26 }, { 88, 26 }, { 104, 26 }, { 120, 26 }, { 136, 26 }, { 152, 26 }, { 168, 26 }, { 184, 26 }, { 200, 26 }, { 220, 26 }, { 240, 26 }, + { 6, 38 }, { 28, 38 }, { 44, 38 }, { 60, 38 }, { 76, 38 }, { 92, 38 }, { 108, 38 }, { 124, 38 }, { 140, 38 }, { 156, 38 }, { 172, 38 }, { 188, 38 }, { 214, 38 }, { 240, 38 }, + { 10, 51 }, { 36, 51 }, { 52, 51 }, { 68, 51 }, { 84, 51 }, { 100, 51 }, { 116, 51 }, { 132, 51 }, { 148, 51 }, { 164, 51 }, { 180, 51 }, { 202, 51 }, { 224, 51 }, { 240, 51 }, + { 2, 64 }, { 22, 64 }, { 42, 64 }, { 101, 64 }, { 160, 64 }, { 176, 64 }, { 192, 64 }, { 208, 64 }, { 224, 64 }, { 240, 64 } +}, { + 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, 4, 4, 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, 4, 4, 1, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 4, 4, 4 +}}; #endif /* RGB_MATRIX_ENABLE */ diff --git a/keyboards/durgod/dgk6x/galaxy/keyboard.json b/keyboards/durgod/dgk6x/galaxy/keyboard.json index 7421f70481..4f80ef9d51 100644 --- a/keyboards/durgod/dgk6x/galaxy/keyboard.json +++ b/keyboards/durgod/dgk6x/galaxy/keyboard.json @@ -13,94 +13,6 @@ "rows": ["A0", "A1", "A2", "A3", "A4", "A5"] }, "diode_direction": "ROW2COL", - "rgb_matrix": { - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 195, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 210, "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": 135, "y": 13, "flags": 4}, - {"matrix": [1, 10], "x": 150, "y": 13, "flags": 4}, - {"matrix": [1, 11], "x": 165, "y": 13, "flags": 4}, - {"matrix": [1, 12], "x": 180, "y": 13, "flags": 4}, - {"matrix": [1, 13], "x": 202, "y": 13, "flags": 1}, - {"matrix": [1, 14], "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, 13], "x": 205, "y": 26, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 26, "flags": 4}, - {"matrix": [3, 0], "x": 6, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 28, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 43, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 58, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 73, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 88, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 103, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 118, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 133, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 148, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 163, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 178, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 200, "y": 38, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 38, "flags": 4}, - {"matrix": [4, 0], "x": 10, "y": 51, "flags": 1}, - {"matrix": [4, 2], "x": 36, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 51, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 66, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 81, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 111, "y": 51, "flags": 4}, - {"matrix": [4, 8], "x": 126, "y": 51, "flags": 4}, - {"matrix": [4, 9], "x": 141, "y": 51, "flags": 4}, - {"matrix": [4, 10], "x": 156, "y": 51, "flags": 4}, - {"matrix": [4, 11], "x": 171, "y": 51, "flags": 4}, - {"matrix": [4, 12], "x": 192, "y": 51, "flags": 1}, - {"matrix": [4, 13], "x": 209, "y": 51, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 51, "flags": 4}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 38, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 98, "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} - ] - }, "community_layouts": ["75_ansi"], "layouts": { "LAYOUT_75_ansi": { diff --git a/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c b/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c index d62acf1bc3..d092310814 100644 --- a/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c +++ b/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c @@ -1,4 +1,4 @@ -/* Copyright 2021 Jessica Sullivan and Don Kjer +/* Copyright 2021 Jessica Sullivan and Don Kjer * * 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 @@ -100,4 +100,24 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {1, SW3_CS14, SW2_CS14, SW1_CS14}, // DOWN {1, SW3_CS15, SW2_CS15, SW1_CS15} // RIGHT }; + +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, NO_LED, 42, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, 65, 66, 67 } +}, { + { 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 }, { 240, 0 }, + { 4, 16 }, { 24, 16 }, { 40, 16 }, { 56, 16 }, { 72, 16 }, { 88, 16 }, { 104, 16 }, { 120, 16 }, { 136, 16 }, { 152, 16 }, { 168, 16 }, { 184, 16 }, { 200, 16 }, { 220, 16 }, { 240, 16 }, + { 6, 32 }, { 28, 32 }, { 44, 32 }, { 60, 32 }, { 76, 32 }, { 92, 32 }, { 108, 32 }, { 124, 32 }, { 140, 32 }, { 156, 32 }, { 172, 32 }, { 188, 32 }, { 214, 32 }, { 240, 32 }, + { 10, 48 }, { 36, 48 }, { 52, 48 }, { 68, 48 }, { 84, 48 }, { 100, 48 }, { 116, 48 }, { 132, 48 }, { 148, 48 }, { 164, 48 }, { 180, 48 }, { 202, 48 }, { 224, 48 }, { 240, 48 }, + { 2, 64 }, { 22, 64 }, { 42, 64 }, { 101, 64 }, { 160, 64 }, { 176, 64 }, { 192, 64 }, { 208, 64 }, { 224, 64 }, { 240, 64 } +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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, 4, 4, 1, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 4, 4, 4 +}}; #endif /* RGB_MATRIX_ENABLE */ diff --git a/keyboards/durgod/dgk6x/hades_ansi/keyboard.json b/keyboards/durgod/dgk6x/hades_ansi/keyboard.json index 7a41352d20..00cfcdc5f0 100644 --- a/keyboards/durgod/dgk6x/hades_ansi/keyboard.json +++ b/keyboards/durgod/dgk6x/hades_ansi/keyboard.json @@ -13,78 +13,6 @@ "rows": ["A0", "A1", "A2", "A3", "A4"] }, "diode_direction": "ROW2COL", - "rgb_matrix": { - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4}, - {"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, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 43, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 58, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 73, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 88, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 103, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 118, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 133, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 148, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 163, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 178, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 200, "y": 32, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 51, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 66, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 81, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 111, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 126, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 141, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 156, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 171, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 192, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 209, "y": 48, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 38, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 98, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 149, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 164, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 179, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 194, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 209, "y": 64, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4} - ] - }, "community_layouts": ["65_ansi"], "layouts": { "LAYOUT_65_ansi": { diff --git a/keyboards/durgod/dgk6x/readme.md b/keyboards/durgod/dgk6x/readme.md index 58ba599069..a14dfcb9f4 100644 --- a/keyboards/durgod/dgk6x/readme.md +++ b/keyboards/durgod/dgk6x/readme.md @@ -11,8 +11,7 @@ This DGK6X code is shared between the ANSI variants of Venus, Hades and Galaxy k ### Build Instructions for building the Venus, Hades and Galaxy firmware can be found here: -* [Venus ANSI](venus_ansi/readme.md) -* [Venus ISO](venus_iso/readme.md) +* [Venus](venus/readme.md) * [Hades ANSI](hades_ansi/readme.md) * [Hades ISO](hades_iso/readme.md) * [Galaxy](galaxy/readme.md) diff --git a/keyboards/durgod/dgk6x/venus_ansi/config.h b/keyboards/durgod/dgk6x/venus/config.h similarity index 100% rename from keyboards/durgod/dgk6x/venus_ansi/config.h rename to keyboards/durgod/dgk6x/venus/config.h diff --git a/keyboards/durgod/dgk6x/venus/keyboard.json b/keyboards/durgod/dgk6x/venus/keyboard.json new file mode 100644 index 0000000000..cc7b321e23 --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/keyboard.json @@ -0,0 +1,88 @@ +{ + "keyboard_name": "DURGOD Venus (QMK)", + "manufacturer": "Hoksi Technology", + "url": "https://www.amazon.com/dp/B07XFP5MMZ", + "maintainer": "J-Sully", + "usb": { + "vid": "0xD60D", + "pid": "0x7EC5", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": ["B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "C6", "C7", "C8", "C9", "C10"], + "rows": ["A0", "A1", "A2", "A3", "A4"] + }, + "diode_direction": "ROW2COL", + "community_layouts": ["60_ansi"], + "layouts": { + "LAYOUT_60_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3}, + {"matrix": [3, 4], "x": 5.25, "y": 3}, + {"matrix": [3, 5], "x": 6.25, "y": 3}, + {"matrix": [3, 6], "x": 7.25, "y": 3}, + {"matrix": [3, 7], "x": 8.25, "y": 3}, + {"matrix": [3, 8], "x": 9.25, "y": 3}, + {"matrix": [3, 9], "x": 10.25, "y": 3}, + {"matrix": [3, 10], "x": 11.25, "y": 3}, + {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/durgod/dgk6x/venus_ansi/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json similarity index 98% rename from keyboards/durgod/dgk6x/venus_ansi/keymaps/default/keymap.json rename to keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json index be4d435839..8acd302a05 100644 --- a/keyboards/durgod/dgk6x/venus_ansi/keymaps/default/keymap.json +++ b/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "durgod/dgk6x/venus_ansi", + "keyboard": "durgod/dgk6x/venus", "keymap": "default", "layout": "LAYOUT_60_ansi", "layers": [ diff --git a/keyboards/durgod/dgk6x/venus_ansi/keymaps/default/readme.md b/keyboards/durgod/dgk6x/venus/keymaps/default/readme.md similarity index 100% rename from keyboards/durgod/dgk6x/venus_ansi/keymaps/default/readme.md rename to keyboards/durgod/dgk6x/venus/keymaps/default/readme.md diff --git a/keyboards/durgod/dgk6x/venus_ansi/readme.md b/keyboards/durgod/dgk6x/venus/readme.md similarity index 90% rename from keyboards/durgod/dgk6x/venus_ansi/readme.md rename to keyboards/durgod/dgk6x/venus/readme.md index d8009dcb22..9e37d49633 100644 --- a/keyboards/durgod/dgk6x/venus_ansi/readme.md +++ b/keyboards/durgod/dgk6x/venus/readme.md @@ -12,11 +12,11 @@ This is a standard off-the-shelf Durgod Venus 60% ANSI Layout keyboard with RGB Make command example for this keyboard (after setting up your build environment): - make durgod/dgk6x/venus_ansi:default + make durgod/venus:default Flashing example for this keyboard: - make durgod/dgk6x/venus_ansi:default:flash + make durgod/venus: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/durgod/dgk6x/venus_ansi/venus_ansi.c b/keyboards/durgod/dgk6x/venus/venus.c similarity index 68% rename from keyboards/durgod/dgk6x/venus_ansi/venus_ansi.c rename to keyboards/durgod/dgk6x/venus/venus.c index 30735fc80e..5433266e3b 100644 --- a/keyboards/durgod/dgk6x/venus_ansi/venus_ansi.c +++ b/keyboards/durgod/dgk6x/venus/venus.c @@ -92,4 +92,24 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {1, SW3_CS12, SW2_CS12, SW1_CS12}, // RCtrl/Fn2 {1, SW3_CS13, SW2_CS13, SW1_CS13}, // LEFT/RCtrl }; + +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, NO_LED, 40 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, NO_LED, NO_LED }, + { 53, 54, 55, NO_LED, NO_LED, 56, NO_LED, NO_LED, NO_LED, 57, 58, 59, 60, NO_LED } +}, { + { 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 }, { 24, 16 }, { 40, 16 }, { 56, 16 }, { 72, 16 }, { 88, 16 }, { 104, 16 }, { 120, 16 }, { 136, 16 }, { 152, 16 }, { 168, 16 }, { 184, 16 }, { 200, 16 }, { 220, 16 }, + { 6, 32 }, { 28, 32 }, { 44, 32 }, { 60, 32 }, { 76, 32 }, { 92, 32 }, { 108, 32 }, { 124, 32 }, { 140, 32 }, { 156, 32 }, { 172, 32 }, { 188, 32 }, { 214, 32 }, + { 10, 48 }, { 36, 48 }, { 52, 48 }, { 68, 48 }, { 84, 48 }, { 100, 48 }, { 116, 48 }, { 132, 48 }, { 148, 48 }, { 164, 48 }, { 180, 48 }, { 210, 48 }, + { 2, 64 }, { 22, 64 }, { 42, 64 }, { 102, 64 }, { 162, 64 }, { 182, 64 }, { 202, 64 }, { 222, 64 }, +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1 +} }; #endif /* RGB_MATRIX_ENABLE */ diff --git a/keyboards/durgod/dgk6x/venus_ansi/keyboard.json b/keyboards/durgod/dgk6x/venus_ansi/keyboard.json deleted file mode 100644 index a32a5b1065..0000000000 --- a/keyboards/durgod/dgk6x/venus_ansi/keyboard.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "keyboard_name": "DURGOD Venus (QMK)", - "manufacturer": "Hoksi Technology", - "url": "https://www.amazon.com/dp/B07XFP5MMZ", - "maintainer": "J-Sully", - "usb": { - "vid": "0xD60D", - "pid": "0x7EC5", - "device_version": "0.0.1" - }, - "matrix_pins": { - "cols": ["B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "C6", "C7", "C8", "C9", "C10"], - "rows": ["A0", "A1", "A2", "A3", "A4"] - }, - "diode_direction": "ROW2COL", - "rgb_matrix": { - "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": 4}, - {"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": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 214, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 68, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 84, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 100, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 116, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 132, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 148, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 164, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 180, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 210, "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": 162, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 182, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 202, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 222, "y": 64, "flags": 1} - ] - }, - "community_layouts": ["60_ansi"], - "layouts": { - "LAYOUT_60_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 2.75}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} - ] - } - } -} diff --git a/keyboards/durgod/dgk6x/venus_iso/keyboard.json b/keyboards/durgod/dgk6x/venus_iso/keyboard.json deleted file mode 100644 index 46b88427eb..0000000000 --- a/keyboards/durgod/dgk6x/venus_iso/keyboard.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "manufacturer": "Hoksi Technology", - "keyboard_name": "DURGOD Venus (QMK)", - "maintainer": "pascalhansjosten", - "diode_direction": "ROW2COL", - "matrix_pins": { - "cols": ["B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "C6", "C7", "C8", "C9", "C10"], - "rows": ["A0", "A1", "A2", "A3", "A4"] - }, - "rgb_matrix": { - "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": 4}, - {"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": [2, 0], "x": 6, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 204, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 220, "y": 24, "flags": 1}, - {"matrix": [3, 0], "x": 2, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 19, "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}, - {"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": 162, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 182, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 202, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 222, "y": 64, "flags": 4} - ] - }, - "url": "https://www.amazon.com/dp/B07XFP5MMZ", - "usb": { - "device_version": "0.0.1", - "pid": "0x7EC6", - "vid": "0xD60D" - }, - "community_layouts": ["60_iso"], - "layouts": { - "LAYOUT_60_iso": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "Backspace", "matrix": [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": "CapsLock", "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": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"label": "K45", "matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, - {"label": "Fn1", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, - {"label": "Fn2", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, - {"label": "Ctrl", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} - ] - } - } -} diff --git a/keyboards/durgod/dgk6x/venus_iso/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/venus_iso/keymaps/default/keymap.json deleted file mode 100644 index da53f1d9b5..0000000000 --- a/keyboards/durgod/dgk6x/venus_iso/keymaps/default/keymap.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "keyboard": "durgod/dgk6x/venus_iso", - "keymap": "default", - "layout": "LAYOUT_60_iso", - "layers": [ - [ - "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_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", "RSFT_T(KC_UP)", - "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT","LT(1,KC_LEFT)","LT(2,KC_DOWN)","RCTL_T(KC_RIGHT)" - ], - [ - "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_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_INS", "KC_HOME", "KC_END", "KC_DEL", - "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT","KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "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", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "GU_TOGG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS" - ], - [ - "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RM_TOGG", "RM_NEXT", "RM_PREV", - "KC_TRNS", "KC_TRNS", "RM_VALU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "RM_SPDD", "RM_VALD", "RM_SPDU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "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(3)", "KC_TRNS", "KC_TRNS" - ], - [ - "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", - "XXXXXXX", "XXXXXXX", "RM_SATU", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", - "XXXXXXX", "RM_HUED", "RM_SATD", "RM_HUEU", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", - "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", - "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "KC_TRNS", "KC_TRNS", "XXXXXXX" - ] - ], - "author":"pascalhansjosten", - "version":1 -} diff --git a/keyboards/durgod/dgk6x/venus_iso/readme.md b/keyboards/durgod/dgk6x/venus_iso/readme.md deleted file mode 100644 index 2f40fedd96..0000000000 --- a/keyboards/durgod/dgk6x/venus_iso/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Venus - -This is a standard off-the-shelf Durgod Venus 60% ISO Layout keyboard with RGB matrix. - -* Keyboard Maintainer: [pascalhansjosten](https://github.com/pascalhansjosten), based on the work of [J-Sully](https://github.com/J-Sully) and [dkjer](https://github.com/dkjer) -* Hardware Supported: Durgod Venus ISO board with STM32F070RBT6 -* Hardware Availability: https://www.amazon.de/dp/B08H28DNQV/ - -## Instructions - -### Build - -Make command example for this keyboard (after setting up your build environment): - - make durgod/dgk6x/venus_iso:default - -Flashing example for this keyboard: - - make durgod/dgk6x/venus_iso: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). - -### Initial Flash - -Instructions for Flashing from initial Stock Firmware: -* [Initial Flashing](../readme.md#initial-flash) diff --git a/keyboards/durgod/dgk6x/venus_iso/venus_iso.c b/keyboards/durgod/dgk6x/venus_iso/venus_iso.c deleted file mode 100644 index 4cc9bf3364..0000000000 --- a/keyboards/durgod/dgk6x/venus_iso/venus_iso.c +++ /dev/null @@ -1,97 +0,0 @@ -/* Copyright 2021 Jessica Sullivan and Don Kjer - * - * 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 "dgk6x.h" - -#ifdef RGB_MATRIX_ENABLE - -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { -/* Refer to IS31 manual for these locations - * driver - * | R location - * | | G location - * | | | B location - * | | | | */ - - {0, SW3_CS1, SW2_CS1, SW1_CS1}, // Esc - {0, SW3_CS2, SW2_CS2, SW1_CS2}, // 1 - {0, SW3_CS3, SW2_CS3, SW1_CS3}, // 2 - {0, SW3_CS4, SW2_CS4, SW1_CS4}, // 3 - {0, SW3_CS5, SW2_CS5, SW1_CS5}, // 4 - {0, SW3_CS6, SW2_CS6, SW1_CS6}, // 5 - {0, SW3_CS7, SW2_CS7, SW1_CS7}, // 6 - {0, SW3_CS8, SW2_CS8, SW1_CS8}, // 7 - {0, SW3_CS9, SW2_CS9, SW1_CS9}, // 8 - {0, SW3_CS10, SW2_CS10, SW1_CS10}, // 9 - {0, SW3_CS11, SW2_CS11, SW1_CS11}, // 0 - {0, SW3_CS12, SW2_CS12, SW1_CS12}, // - - {0, SW3_CS13, SW2_CS13, SW1_CS13}, // = - {0, SW3_CS14, SW2_CS14, SW1_CS14}, // Bksp - - {0, SW6_CS1, SW5_CS1, SW4_CS1}, // Tab - {0, SW6_CS2, SW5_CS2, SW4_CS2}, // Q - {0, SW6_CS3, SW5_CS3, SW4_CS3}, // W - {0, SW6_CS4, SW5_CS4, SW4_CS4}, // E - {0, SW6_CS5, SW5_CS5, SW4_CS5}, // R - {0, SW6_CS6, SW5_CS6, SW4_CS6}, // T - {0, SW6_CS7, SW5_CS7, SW4_CS7}, // Y - {0, SW6_CS8, SW5_CS8, SW4_CS8}, // U - {0, SW6_CS9, SW5_CS9, SW4_CS9}, // I - {0, SW6_CS10, SW5_CS10, SW4_CS10}, // O - {0, SW6_CS11, SW5_CS11, SW4_CS11}, // P - {0, SW6_CS12, SW5_CS12, SW4_CS12}, // [ - {0, SW6_CS13, SW5_CS13, SW4_CS13}, // ] - - {0, SW9_CS1, SW8_CS1, SW7_CS1}, // Caps - {0, SW9_CS2, SW8_CS2, SW7_CS2}, // A - {0, SW9_CS3, SW8_CS3, SW7_CS3}, // S - {0, SW9_CS4, SW8_CS4, SW7_CS4}, // D - {0, SW9_CS5, SW8_CS5, SW7_CS5}, // F - {0, SW9_CS6, SW8_CS6, SW7_CS6}, // G - {0, SW9_CS7, SW8_CS7, SW7_CS7}, // H - {0, SW9_CS8, SW8_CS8, SW7_CS8}, // J - {0, SW9_CS9, SW8_CS9, SW7_CS9}, // K - {0, SW9_CS10, SW8_CS10, SW7_CS10}, // L - {0, SW9_CS11, SW8_CS11, SW7_CS11}, // : - {0, SW9_CS12, SW8_CS12, SW7_CS12}, // ' - {0, SW9_CS13, SW8_CS13, SW7_CS13}, // NUHS - {0, SW9_CS14, SW8_CS14, SW7_CS14}, // Enter - - {0, SW12_CS1, SW11_CS1, SW10_CS1}, // LShift - {0, SW12_CS2, SW11_CS2, SW10_CS2}, // NUBS - {0, SW12_CS3, SW11_CS3, SW10_CS3}, // Z - {0, SW12_CS4, SW11_CS4, SW10_CS4}, // X - {0, SW12_CS5, SW11_CS5, SW10_CS5}, // C - {0, SW12_CS6, SW11_CS6, SW10_CS6}, // V - {0, SW12_CS7, SW11_CS7, SW10_CS7}, // B - {0, SW12_CS8, SW11_CS8, SW10_CS8}, // N - {0, SW12_CS9, SW11_CS9, SW10_CS9}, // M - {0, SW12_CS10, SW11_CS10, SW10_CS10}, // < - {0, SW12_CS11, SW11_CS11, SW10_CS11}, // > - {0, SW12_CS12, SW11_CS12, SW10_CS12}, // ? - {0, SW12_CS13, SW11_CS13, SW10_CS13}, // RShift - - {1, SW3_CS1, SW2_CS1, SW1_CS1}, // LCtrl - {1, SW3_CS2, SW2_CS2, SW1_CS2}, // LAlt - {1, SW3_CS3, SW2_CS3, SW1_CS3}, // Windows - {1, SW3_CS6, SW2_CS6, SW1_CS6}, // Space - {1, SW3_CS10, SW2_CS10, SW1_CS10}, // Fn1/RAlt hades/venus - {1, SW3_CS11, SW2_CS11, SW1_CS11}, // Fn2/Fn1 - {1, SW3_CS12, SW2_CS12, SW1_CS12}, // RCtrl/Fn2 - {1, SW3_CS13, SW2_CS13, SW1_CS13}, // LEFT/RCtrl -}; - -#endif /* RGB_MATRIX_ENABLE */ diff --git a/keyboards/durgod/venus/readme.md b/keyboards/durgod/venus/readme.md index 685a9d2bc0..c2228583a9 100644 --- a/keyboards/durgod/venus/readme.md +++ b/keyboards/durgod/venus/readme.md @@ -1,3 +1,3 @@ # Venus -See: [Venus ANSI](../dgk6x/venus_ansi/readme.md) and [Venus ISO](../dgk6x/venus_iso/readme.md) +See: [Venus](../dgk6x/venus/readme.md) diff --git a/keyboards/dz60/keymaps/iso_4th_row_all_1u/readme.md b/keyboards/dz60/keymaps/iso_4th_row_all_1u/readme.md index 7ae2b5f4d4..6182800543 100644 --- a/keyboards/dz60/keymaps/iso_4th_row_all_1u/readme.md +++ b/keyboards/dz60/keymaps/iso_4th_row_all_1u/readme.md @@ -31,4 +31,4 @@ FN Layer |-----------------------------------------------------------------------------------------+ | | | | | | |Home |PGDn | End | `-----------------------------------------------------------------------------------------' -``` +``` \ No newline at end of file diff --git a/keyboards/dztech/dz60rgb/dz60rgb.c b/keyboards/dztech/dz60rgb/dz60rgb.c index e729f6d578..207fccd4f9 100644 --- a/keyboards/dztech/dz60rgb/dz60rgb.c +++ b/keyboards/dztech/dz60rgb/dz60rgb.c @@ -71,6 +71,28 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW11_CS16, SW10_CS16, SW12_CS16 } }; +led_config_t g_led_config = { + { + { 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }, + { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14 }, + { 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, NO_LED, 28 }, + { 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, NO_LED, 41 }, + { 62, 61, 60, NO_LED, NO_LED, 59, NO_LED, NO_LED, 58, 57, 56, 55, NO_LED, 54 } + }, { + { 216, 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 }, { 0, 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 }, + { 214, 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 }, { 208, 48 }, { 186, 48 }, { 164, 48 }, { 148, 48 }, { 132, 48 }, { 116, 48 }, { 100, 48 }, { 84, 48 }, { 68, 48 }, { 52, 48 }, { 36, 48 }, { 9, 48 }, + { 224, 64 }, { 208, 64 }, { 192, 64 }, { 176, 64 }, { 160, 64 }, { 102, 64 }, { 42, 64 }, { 22, 64 }, { 2, 64 } + }, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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, 1, + 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 4, 1, 1, 1 + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/dztech/dz60rgb/info.json b/keyboards/dztech/dz60rgb/info.json index c4f87c70f0..1bcc77c605 100644 --- a/keyboards/dztech/dz60rgb/info.json +++ b/keyboards/dztech/dz60rgb/info.json @@ -5,73 +5,6 @@ "usb": { "vid": "0x445A" }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 13], "x": 216, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [1, 13], "x": 220, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [2, 13], "x": 214, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 208, "y": 48, "flags": 1}, - {"matrix": [3, 10], "x": 186, "y": 48, "flags": 1}, - {"matrix": [3, 9], "x": 164, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 148, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 132, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 116, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 100, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 84, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 68, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 208, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 192, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 176, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 160, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 102, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 42, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c index 20dd1a8b95..cdc5148e11 100644 --- a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c +++ b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c @@ -69,6 +69,28 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW11_CS16, SW10_CS16, SW12_CS16 } }; +led_config_t g_led_config = { + { + { 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }, + { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14 }, + { 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, NO_LED, 28 }, + { 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, NO_LED, NO_LED }, + { 60, 59, 58, NO_LED, NO_LED, 57, NO_LED, NO_LED, NO_LED, 56, 55, 54, NO_LED, 53 } + }, { + { 216, 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 }, { 0, 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 }, + { 214, 24 }, { 188, 32 }, { 172, 32 }, { 156, 32 }, { 140, 32 }, { 124, 32 }, { 108, 32 }, { 92, 32 }, { 76, 32 }, { 60, 32 }, { 44, 32 }, { 28, 32 }, { 6, 32 }, + { 210, 48 }, { 180, 48 }, { 164, 48 }, { 148, 48 }, { 132, 48 }, { 116, 48 }, { 100, 48 }, { 84, 48 }, { 68, 48 }, { 52, 48 }, { 20, 48 }, { 10, 48 }, + { 222, 64 }, { 202, 64 }, { 182, 64 }, { 162, 64 }, { 102, 64 }, { 42, 64 }, { 22, 64 }, { 2, 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, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 4, 1, 1, 1 + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/dztech/dz60rgb_ansi/info.json b/keyboards/dztech/dz60rgb_ansi/info.json index b5f962b997..dddbd47315 100644 --- a/keyboards/dztech/dz60rgb_ansi/info.json +++ b/keyboards/dztech/dz60rgb_ansi/info.json @@ -5,71 +5,6 @@ "usb": { "vid": "0x445A" }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 13], "x": 216, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1}, - {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [2, 13], "x": 214, "y": 24, "flags": 1}, - {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, - {"matrix": [3, 11], "x": 210, "y": 48, "flags": 1}, - {"matrix": [3, 10], "x": 180, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 164, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 148, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 132, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 116, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 100, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 84, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 68, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 20, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, - {"matrix": [4, 13], "x": 222, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 202, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 182, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 162, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 102, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 42, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1} - ] - }, "community_layouts": ["60_ansi"], "layouts": { "LAYOUT_60_ansi": { diff --git a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c index 59cbb09a1b..b5af34be38 100644 --- a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c +++ b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c @@ -70,6 +70,28 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW11_CS16, SW10_CS16, SW12_CS16 } }; +led_config_t g_led_config = { + { + { 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }, + { 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15 }, + { 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 0, 29 }, + { 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, NO_LED, 42 }, + { 61, 60, 59, NO_LED, NO_LED, 58, NO_LED, NO_LED, NO_LED, NO_LED, 57, 56, NO_LED, 55 } + }, { + { 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 }, { 0, 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 }, { 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 }, { 198, 64 }, { 178, 64 }, { 112, 64 }, { 46, 64 }, { 26, 64 }, { 6, 64 } + }, { + 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, 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, 1, + 1, 1, 1, 4, 1, 1, 1 + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/dztech/dz60rgb_wkl/info.json b/keyboards/dztech/dz60rgb_wkl/info.json index d0d66d046c..a4dfb63c7a 100644 --- a/keyboards/dztech/dz60rgb_wkl/info.json +++ b/keyboards/dztech/dz60rgb_wkl/info.json @@ -5,72 +5,6 @@ "usb": { "vid": "0x445A" }, - "rgb_matrix": { - "layout": [ - {"matrix": [2, 12], "x": 224, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1}, - {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [2, 13], "x": 204, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 202, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 180, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 164, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 148, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 132, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 116, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 100, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 84, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 68, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 20, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, - {"matrix": [4, 13], "x": 218, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 198, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 178, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 46, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 26, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 6, "y": 64, "flags": 1} - ] - }, "community_layouts": ["60_ansi_tsangan_split_bs_rshift"], "layout_aliases": { "LAYOUT_HHKB": "LAYOUT_60_ansi_tsangan_split_bs_rshift", diff --git a/keyboards/dztech/dz64rgb/dz64rgb.c b/keyboards/dztech/dz64rgb/dz64rgb.c index 788658bdce..e2512c72a5 100644 --- a/keyboards/dztech/dz64rgb/dz64rgb.c +++ b/keyboards/dztech/dz64rgb/dz64rgb.c @@ -88,6 +88,29 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW11_CS16, SW10_CS16, SW12_CS16 } }; +led_config_t g_led_config = { + { + { 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }, + { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14 }, + { 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, NO_LED, 28 }, + { 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41 }, + { 63, 62, 61, NO_LED, NO_LED, 60, NO_LED, NO_LED, 59, 58, 57, 56, NO_LED, 55 } + }, { + { 216, 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 }, { 0, 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 }, + { 214, 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 }, { 218, 48 }, { 192, 48 }, { 176, 48 }, { 160, 48 }, { 144, 48 }, { 128, 48 }, { 112, 48 }, { 96, 48 },{80, 48}, { 64, 48 }, { 48, 48 }, { 32, 48 }, { 8, 48 }, + { 224, 64 }, { 208, 64 }, { 192, 64 }, { 176, 64 }, { 160, 64 }, { 102, 64 }, { 42, 64 }, { 22, 64 }, { 2, 64 } + }, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1 + } +}; + + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/dztech/dz64rgb/keyboard.json b/keyboards/dztech/dz64rgb/keyboard.json index 926721a12e..ef95b52400 100644 --- a/keyboards/dztech/dz64rgb/keyboard.json +++ b/keyboards/dztech/dz64rgb/keyboard.json @@ -40,72 +40,6 @@ "animation": "cycle_all" }, "driver": "is31fl3733", - "layout": [ - {"matrix": [0, 13], "x": 216, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [1, 13], "x": 220, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [2, 13], "x": 214, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 218, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 8, "y": 48, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 208, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 192, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 176, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 160, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 102, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 42, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1} - ], "sleep": true }, "matrix_pins": { diff --git a/keyboards/dztech/dz65rgb/v1/keyboard.json b/keyboards/dztech/dz65rgb/v1/keyboard.json index cdbd9ae10d..32b830052d 100644 --- a/keyboards/dztech/dz65rgb/v1/keyboard.json +++ b/keyboards/dztech/dz65rgb/v1/keyboard.json @@ -39,76 +39,6 @@ "animation": "cycle_all" }, "driver": "is31fl3731", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 14], "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, 5], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 8], "x": 150, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 165, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 180, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "led_process_limit": 4, "led_flush_limit": 26, "max_brightness": 200, diff --git a/keyboards/dztech/dz65rgb/v1/v1.c b/keyboards/dztech/dz65rgb/v1/v1.c index e05e35b74b..6e8cf96e4c 100644 --- a/keyboards/dztech/dz65rgb/v1/v1.c +++ b/keyboards/dztech/dz65rgb/v1/v1.c @@ -91,6 +91,29 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { { 0, C9_16, C7_15, C6_15 } }; +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, NO_LED, 42, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, NO_LED, 66, 67 } + }, { + { 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 }, { 203, 0 }, { 224, 0 }, + { 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 }, + { 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 }, { 224, 32 }, + { 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 }, + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 } + }, { + 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, 1, 1, 1 + } +}; + + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/dztech/dz65rgb/v2/keyboard.json b/keyboards/dztech/dz65rgb/v2/keyboard.json index 7c922bc273..bf7331e101 100644 --- a/keyboards/dztech/dz65rgb/v2/keyboard.json +++ b/keyboards/dztech/dz65rgb/v2/keyboard.json @@ -39,76 +39,6 @@ "animation": "cycle_all" }, "driver": "is31fl3731", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 14], "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, 5], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 8], "x": 150, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 165, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 180, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "led_process_limit": 4, "led_flush_limit": 26, "max_brightness": 200, diff --git a/keyboards/dztech/dz65rgb/v2/v2.c b/keyboards/dztech/dz65rgb/v2/v2.c index 2591a4ddcb..a9f7fc104f 100644 --- a/keyboards/dztech/dz65rgb/v2/v2.c +++ b/keyboards/dztech/dz65rgb/v2/v2.c @@ -91,6 +91,29 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { { 0, C9_16, C7_15, C6_15 } }; +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, NO_LED, 42, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, NO_LED, 66, 67 } + }, { + { 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 }, { 203, 0 }, { 224, 0 }, + { 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 }, + { 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 }, { 224, 32 }, + { 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 }, + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 } + }, { + 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, 1, 1, 1 + } +}; + + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/dztech/dz65rgb/v3/keyboard.json b/keyboards/dztech/dz65rgb/v3/keyboard.json index 6ed8b8c9da..8fef8b3468 100644 --- a/keyboards/dztech/dz65rgb/v3/keyboard.json +++ b/keyboards/dztech/dz65rgb/v3/keyboard.json @@ -53,76 +53,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 14], "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, 5], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 150, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 165, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 180, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "led_process_limit": 4, "led_flush_limit": 26, "sleep": true diff --git a/keyboards/dztech/dz65rgb/v3/v3.c b/keyboards/dztech/dz65rgb/v3/v3.c index f5f863de9a..bf54a8cdfc 100755 --- a/keyboards/dztech/dz65rgb/v3/v3.c +++ b/keyboards/dztech/dz65rgb/v3/v3.c @@ -93,6 +93,26 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW7_CS39, SW7_CS38, SW7_CS37} }; +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, NO_LED,42, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, NO_LED,55, 56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, 65, 66, 67 } +}, { + {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},{203,0},{224,0}, + {4,16},{23,16},{38,16},{53,16},{68,16},{83,16},{98,16},{113,16},{128,16},{143,16},{158,16},{173,16},{188,16},{206,16},{224,16}, + {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},{224,32}, + {9,48},{34,48},{49,48},{64,48},{79,48},{94,48},{109,48},{124,48},{139,48},{154,48},{169,48},{189,48},{210,48},{224,48}, + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 } +}, { + 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, 1, 1, 1 +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { diff --git a/keyboards/dztech/endless80/readme.md b/keyboards/dztech/endless80/readme.md index c066c1359d..18b813566c 100644 --- a/keyboards/dztech/endless80/readme.md +++ b/keyboards/dztech/endless80/readme.md @@ -15,4 +15,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## 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` +* **Keycode in layout**: Press the key mapped to `QK_BOOT` \ No newline at end of file diff --git a/keyboards/ealdin/readme.md b/keyboards/ealdin/readme.md index fcaa23c1b9..b36afb718c 100644 --- a/keyboards/ealdin/readme.md +++ b/keyboards/ealdin/readme.md @@ -4,4 +4,4 @@ All files related to firmware of keyboards designed by Ealdin. ## Keyboards -* [Quadrant](./quadrant/): maintainer [Ealdin](https://github.com/Ealdin) +* [Quadrant](./quadrant/): maintainer [Ealdin](https://github.com/Ealdin) \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/chconf.h b/keyboards/ebastler/e80_1800/chconf.h index bf78b9871c..ee4fd213a2 100644 --- a/keyboards/ebastler/e80_1800/chconf.h +++ b/keyboards/ebastler/e80_1800/chconf.h @@ -18,4 +18,4 @@ #define CH_CFG_ST_RESOLUTION 16 #define CH_CFG_INTERVALS_SIZE 16 -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/config.h b/keyboards/ebastler/e80_1800/config.h index cd739fe07f..baa7073176 100644 --- a/keyboards/ebastler/e80_1800/config.h +++ b/keyboards/ebastler/e80_1800/config.h @@ -31,4 +31,4 @@ #define I2C1_TIMINGR_SCLH 3U #define I2C1_TIMINGR_SCLL 9U -#endif +#endif \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/halconf.h b/keyboards/ebastler/e80_1800/halconf.h index 34af46ea7a..974b0086ad 100644 --- a/keyboards/ebastler/e80_1800/halconf.h +++ b/keyboards/ebastler/e80_1800/halconf.h @@ -18,4 +18,4 @@ #define HAL_USE_PWM TRUE #define HAL_USE_I2C TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/keymaps/ansi_6u/keymap.c b/keyboards/ebastler/e80_1800/keymaps/ansi_6u/keymap.c index 34e08aa022..c10a556755 100644 --- a/keyboards/ebastler/e80_1800/keymaps/ansi_6u/keymap.c +++ b/keyboards/ebastler/e80_1800/keymaps/ansi_6u/keymap.c @@ -43,4 +43,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/ebastler/e80_1800/keymaps/ansi_7u/keymap.c b/keyboards/ebastler/e80_1800/keymaps/ansi_7u/keymap.c index 8c3731dfbd..fca80299af 100644 --- a/keyboards/ebastler/e80_1800/keymaps/ansi_7u/keymap.c +++ b/keyboards/ebastler/e80_1800/keymaps/ansi_7u/keymap.c @@ -43,4 +43,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/ebastler/e80_1800/keymaps/default/keymap.c b/keyboards/ebastler/e80_1800/keymaps/default/keymap.c index a275fe2d8c..acaecbb414 100644 --- a/keyboards/ebastler/e80_1800/keymaps/default/keymap.c +++ b/keyboards/ebastler/e80_1800/keymaps/default/keymap.c @@ -43,4 +43,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/ebastler/e80_1800/keymaps/iso_7u/keymap.c b/keyboards/ebastler/e80_1800/keymaps/iso_7u/keymap.c index 92da13955c..4929c9d6ce 100644 --- a/keyboards/ebastler/e80_1800/keymaps/iso_7u/keymap.c +++ b/keyboards/ebastler/e80_1800/keymaps/iso_7u/keymap.c @@ -43,4 +43,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/ebastler/e80_1800/mcuconf.h b/keyboards/ebastler/e80_1800/mcuconf.h index 5fe7e5951b..cff1dd5788 100644 --- a/keyboards/ebastler/e80_1800/mcuconf.h +++ b/keyboards/ebastler/e80_1800/mcuconf.h @@ -29,4 +29,4 @@ #define STM32_I2C_USE_DMA TRUE #define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5) -#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) +#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) \ No newline at end of file diff --git a/keyboards/ebastler/e80_1800/readme.md b/keyboards/ebastler/e80_1800/readme.md index 89c23ed698..87fd9756b6 100644 --- a/keyboards/ebastler/e80_1800/readme.md +++ b/keyboards/ebastler/e80_1800/readme.md @@ -22,4 +22,4 @@ Flash example for this keyboard (after setting up your build environment): make ebastler/e80_1800: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/ebastler/readme.md b/keyboards/ebastler/readme.md index e99d783f18..4b6efd2f71 100644 --- a/keyboards/ebastler/readme.md +++ b/keyboards/ebastler/readme.md @@ -5,4 +5,4 @@ I'm a hobbyist designing keyboards for fun. [My homepage](https://mpwr.xyz). All * [isometria75](isometria_75) - 75% ISO-only board with rotary encoder, RGB underglow and single color backlight. [Github repo](https://github.com/ebastler/isometria-75). -* [E80-1800](E80_1800) - drop-in replacement PCB for the Cherry G80-1800. Requires minor case modifications, but adds backlight, native USB-C and (obviously) QMK. [Github repo](https://github.com/ebastler/E80-1800). +* [E80-1800](E80_1800) - drop-in replacement PCB for the Cherry G80-1800. Requires minor case modifications, but adds backlight, native USB-C and (obviously) QMK. [Github repo](https://github.com/ebastler/E80-1800). \ No newline at end of file diff --git a/keyboards/eco/readme.md b/keyboards/eco/readme.md index bd79fa2880..fac80e0a1b 100644 --- a/keyboards/eco/readme.md +++ b/keyboards/eco/readme.md @@ -13,4 +13,4 @@ Make example for this keyboard (after setting up your build environment): make eco/rev2:that_canadian -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file diff --git a/keyboards/edda/config.h b/keyboards/edda/config.h index 6a724b0682..cfdf4e1a54 100644 --- a/keyboards/edda/config.h +++ b/keyboards/edda/config.h @@ -16,4 +16,4 @@ along with this program. If not, see . // Indicators #define INDICATOR_PIN_0 B2 #define INDICATOR_PIN_1 B1 -#define INDICATOR_PIN_2 B0 +#define INDICATOR_PIN_2 B0 \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk1/keymaps/.gitignore b/keyboards/edi/hardlight/mk1/keymaps/.gitignore index bb7b3c960d..08a0f321a2 100644 --- a/keyboards/edi/hardlight/mk1/keymaps/.gitignore +++ b/keyboards/edi/hardlight/mk1/keymaps/.gitignore @@ -1 +1 @@ -fate +fate \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk1/keymaps/default/keymap.c b/keyboards/edi/hardlight/mk1/keymaps/default/keymap.c index 0b5cb1b091..5d901a7982 100644 --- a/keyboards/edi/hardlight/mk1/keymaps/default/keymap.c +++ b/keyboards/edi/hardlight/mk1/keymaps/default/keymap.c @@ -112,4 +112,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _SET); -} +} \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk2/keymaps/.gitignore b/keyboards/edi/hardlight/mk2/keymaps/.gitignore index bb7b3c960d..08a0f321a2 100644 --- a/keyboards/edi/hardlight/mk2/keymaps/.gitignore +++ b/keyboards/edi/hardlight/mk2/keymaps/.gitignore @@ -1 +1 @@ -fate +fate \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk2/keymaps/default/keymap.c b/keyboards/edi/hardlight/mk2/keymaps/default/keymap.c index 60251e1474..0928d4d769 100644 --- a/keyboards/edi/hardlight/mk2/keymaps/default/keymap.c +++ b/keyboards/edi/hardlight/mk2/keymaps/default/keymap.c @@ -112,4 +112,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _SET); -} +} \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk2/mcuconf.h b/keyboards/edi/hardlight/mk2/mcuconf.h index c320ee6e00..95e698d9ec 100644 --- a/keyboards/edi/hardlight/mk2/mcuconf.h +++ b/keyboards/edi/hardlight/mk2/mcuconf.h @@ -29,4 +29,4 @@ along with this program. If not, see . //Enable SPI #undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 TRUE +#define STM32_SPI_USE_SPI2 TRUE \ No newline at end of file diff --git a/keyboards/eek/eek.c b/keyboards/eek/eek.c new file mode 100644 index 0000000000..8e7a19f820 --- /dev/null +++ b/keyboards/eek/eek.c @@ -0,0 +1,55 @@ +/* Copyright 2020 klackygears + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE + + // Logical Layout + // Columns + // 0 1 2 3 4 + // ROWS + // 4 3 2 1 0 0 + // 5 6 7 8 9 1 + // 14 13 12 11 10 2 + // 15 16 17 3 + + // Logical Layout v1.3 + // Columns + // 0 1 2 3 4 5 6 7 8 9 + // ROWS + // 0 1 2 3 4 5 6 7 8 9 0 + // 19 18 17 16 15 14 13 12 11 10 1 + // 20 21 22 23 24 25 26 27 28 29 2 + // 35 34 33 32 31 30 3 + + +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, + { 19, 18, 17, 16, 15, 14, 13, 12, 11, 10 }, + { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, + { NO_LED, NO_LED, 35, 34, 33, 32, 31, 30, NO_LED, NO_LED } +}, { + { 31, 0 }, { 46, 0 }, { 62, 0 }, { 77, 7 }, { 93, 13 }, { 131, 13 }, { 147, 7 }, { 162, 0 }, { 178, 0 }, { 193, 0 }, + { 201, 10 }, { 185, 10 }, { 170, 10 }, { 154, 17 }, { 139, 24 }, { 85, 24 }, { 70, 17 }, { 54, 10 }, { 39, 10 }, { 23, 10 }, + { 15, 20 }, { 31, 20 }, { 46, 20 }, { 62, 27 }, { 77, 34 }, { 147, 34 }, { 162, 27 }, { 178, 20 }, { 193, 20 }, { 209, 20 }, + { 185, 34 }, { 170, 37 }, { 154, 44 }, { 70, 44 }, { 54, 37 }, { 39, 34 }, +}, { + 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, + 1, 1, 1, 1, 1, 1, +} }; +#endif diff --git a/keyboards/eek/info.json b/keyboards/eek/info.json index eaa68c9b41..0e510e282a 100644 --- a/keyboards/eek/info.json +++ b/keyboards/eek/info.json @@ -13,44 +13,6 @@ "val": 150 }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 31, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 46, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 62, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 77, "y": 7, "flags": 4}, - {"matrix": [0, 4], "x": 93, "y": 13, "flags": 4}, - {"matrix": [0, 5], "x": 131, "y": 13, "flags": 4}, - {"matrix": [0, 6], "x": 147, "y": 7, "flags": 4}, - {"matrix": [0, 7], "x": 162, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 178, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 193, "y": 0, "flags": 4}, - {"matrix": [1, 9], "x": 201, "y": 10, "flags": 4}, - {"matrix": [1, 8], "x": 185, "y": 10, "flags": 4}, - {"matrix": [1, 7], "x": 170, "y": 10, "flags": 4}, - {"matrix": [1, 6], "x": 154, "y": 17, "flags": 4}, - {"matrix": [1, 5], "x": 139, "y": 24, "flags": 4}, - {"matrix": [1, 4], "x": 85, "y": 24, "flags": 4}, - {"matrix": [1, 3], "x": 70, "y": 17, "flags": 4}, - {"matrix": [1, 2], "x": 54, "y": 10, "flags": 4}, - {"matrix": [1, 1], "x": 39, "y": 10, "flags": 4}, - {"matrix": [1, 0], "x": 23, "y": 10, "flags": 4}, - {"matrix": [2, 0], "x": 15, "y": 20, "flags": 4}, - {"matrix": [2, 1], "x": 31, "y": 20, "flags": 4}, - {"matrix": [2, 2], "x": 46, "y": 20, "flags": 4}, - {"matrix": [2, 3], "x": 62, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 77, "y": 34, "flags": 4}, - {"matrix": [2, 5], "x": 147, "y": 34, "flags": 4}, - {"matrix": [2, 6], "x": 162, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 178, "y": 20, "flags": 4}, - {"matrix": [2, 8], "x": 193, "y": 20, "flags": 4}, - {"matrix": [2, 9], "x": 209, "y": 20, "flags": 4}, - {"matrix": [3, 7], "x": 185, "y": 34, "flags": 1}, - {"matrix": [3, 6], "x": 170, "y": 37, "flags": 1}, - {"matrix": [3, 5], "x": 154, "y": 44, "flags": 1}, - {"matrix": [3, 4], "x": 70, "y": 44, "flags": 1}, - {"matrix": [3, 3], "x": 54, "y": 37, "flags": 1}, - {"matrix": [3, 2], "x": 39, "y": 34, "flags": 1} - ], "max_brightness": 200 }, "features": { diff --git a/keyboards/eek/silk_up/readme.md b/keyboards/eek/silk_up/readme.md index fe8d0d4eb1..1b24b95453 100644 --- a/keyboards/eek/silk_up/readme.md +++ b/keyboards/eek/silk_up/readme.md @@ -11,4 +11,4 @@ Make example for this keyboard (after setting up your build environment): Flashing example for this keyboard: make eek/silk_up:default:flash - + \ No newline at end of file diff --git a/keyboards/ein_60/ein_60.c b/keyboards/ein_60/ein_60.c index 8a0e69cee4..af11e48235 100644 --- a/keyboards/ein_60/ein_60.c +++ b/keyboards/ein_60/ein_60.c @@ -15,6 +15,37 @@ */ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE + + // Logical Layout + // Columns + // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 + // ROWS + // 37 0 1 2 3 4 5 6 7 8 9 10 11 12 0 + // 36 13 1 + // 35 14 2 + // 34 15 3 + // 33 16 3 + // 32 17 4 + // 31 30 29 28 27 26 25 24 23 22 21 20 19 18 5 + +led_config_t g_led_config = { { + { 36, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10, 13 }, + { 34, 1, 2, 3, 4, 5, NO_LED, 6, 7, 8, 9, 10, 15 }, + { 33, 30, 29, 28, 27, 26, NO_LED, 23, 22, 21, 20, 19, 16 }, + { 32, 30, 29, 28, 27, 26, 24, 23, 22, 21, 20, 19, 17 } +}, { + { 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, 11 }, + { 224, 21 }, { 224, 32 }, { 224, 43 }, { 224, 53 }, { 209, 64 }, { 194, 64 }, { 179, 64 }, { 164, 64 }, { 149, 64 }, { 134, 64 }, { 119, 64 }, { 105, 64 }, { 90, 64 }, + { 75, 64 }, { 60, 64 }, { 45, 64 }, { 30, 64 }, { 15, 64 }, { 0, 53 }, { 0, 43 }, { 0, 32 }, { 0, 21 }, { 0, 11 }, { 15, 0 }, +}, { + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, +} }; +#endif + #ifdef AUDIO_ENABLE const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = { {30, 31, 32, 33, 34, 35, 35, 36, 37, 38, 39, 40, 41}, diff --git a/keyboards/ein_60/keyboard.json b/keyboards/ein_60/keyboard.json index 99c5040f8d..b1e48f1747 100644 --- a/keyboards/ein_60/keyboard.json +++ b/keyboards/ein_60/keyboard.json @@ -12,46 +12,6 @@ "val": 150 }, "driver": "ws2812", - "layout": [ - {"x": 30, "y": 0, "flags": 2}, - {"matrix": [1, 1], "x": 45, "y": 0, "flags": 2}, - {"matrix": [1, 2], "x": 60, "y": 0, "flags": 2}, - {"matrix": [1, 3], "x": 75, "y": 0, "flags": 2}, - {"matrix": [1, 4], "x": 90, "y": 0, "flags": 2}, - {"matrix": [1, 5], "x": 105, "y": 0, "flags": 2}, - {"matrix": [1, 7], "x": 119, "y": 0, "flags": 2}, - {"matrix": [1, 8], "x": 134, "y": 0, "flags": 2}, - {"matrix": [1, 9], "x": 149, "y": 0, "flags": 2}, - {"matrix": [1, 10], "x": 164, "y": 0, "flags": 2}, - {"matrix": [1, 11], "x": 179, "y": 0, "flags": 2}, - {"x": 194, "y": 0, "flags": 2}, - {"x": 209, "y": 0, "flags": 2}, - {"matrix": [0, 12], "x": 224, "y": 11, "flags": 1}, - {"x": 224, "y": 21, "flags": 1}, - {"matrix": [1, 12], "x": 224, "y": 32, "flags": 1}, - {"matrix": [2, 12], "x": 224, "y": 43, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 53, "flags": 1}, - {"x": 209, "y": 64, "flags": 1}, - {"matrix": [3, 11], "x": 194, "y": 64, "flags": 1}, - {"matrix": [3, 10], "x": 179, "y": 64, "flags": 1}, - {"matrix": [3, 9], "x": 164, "y": 64, "flags": 1}, - {"matrix": [3, 8], "x": 149, "y": 64, "flags": 1}, - {"matrix": [3, 7], "x": 134, "y": 64, "flags": 1}, - {"matrix": [3, 6], "x": 119, "y": 64, "flags": 1}, - {"x": 105, "y": 64, "flags": 1}, - {"matrix": [3, 5], "x": 90, "y": 64, "flags": 1}, - {"matrix": [3, 4], "x": 75, "y": 64, "flags": 1}, - {"matrix": [3, 3], "x": 60, "y": 64, "flags": 1}, - {"matrix": [3, 2], "x": 45, "y": 64, "flags": 1}, - {"matrix": [3, 1], "x": 30, "y": 64, "flags": 1}, - {"x": 15, "y": 64, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 53, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 43, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 32, "flags": 1}, - {"x": 0, "y": 21, "flags": 1}, - {"matrix": [0, 0], "x": 0, "y": 11, "flags": 1}, - {"x": 15, "y": 0, "flags": 2} - ], "max_brightness": 200 }, "rgblight": { diff --git a/keyboards/elephant42/elephant42.c b/keyboards/elephant42/elephant42.c new file mode 100644 index 0000000000..1ffb5e8083 --- /dev/null +++ b/keyboards/elephant42/elephant42.c @@ -0,0 +1,66 @@ +/* Copyright 2021 illness072 + * + * 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" + +#if defined(RGB_MATRIX_ENABLE) +led_config_t g_led_config = { + { // keymap to LED number + // left + { 19, 18, 13, 12, 7, 6}, // R3 + { 20, 17, 14, 11, 8, 5}, // R2 + {NO_LED, 16, 15, 10, 9, 4}, // R1 + {NO_LED, NO_LED, 0, 1, 2, 3}, // R0 + // right + { 46, 45, 40, 39, 34, 33}, // R3 + { 47, 44, 41, 38, 35, 32}, // R2 + {NO_LED, 43, 42, 37, 36, 31}, // R1 + {NO_LED, NO_LED, 27, 28, 29, 30}, // R0 + }, + {// phisical LED position, {x, y} : x = 0..224, y = 0..64 + // left-bg [LED_01-21] + {56, 65}, {77, 68}, {95, 79}, {109, 91}, + {87, 46}, {87, 29}, {87, 12}, { 69, 43}, { 69, 26}, { 69, 8}, + {52, 35}, {52, 17}, {52, 0}, { 35, 4}, { 35, 21}, { 35, 38}, + {17, 54}, {17, 36}, {17, 19}, { 0, 26}, { 0, 43}, + // left-ug [LED_22-27] + {25, 49}, {26, 19}, {60, 14}, {106, 33}, {107, 72}, { 70, 66}, + // right-bg [LED_28-48] + {199, 65}, {179, 68}, {160, 79}, {146, 91}, + {168, 46}, {168, 29}, {168, 12}, {186, 43}, {186, 26}, {186, 8}, + {203, 35}, {203, 17}, {203, 0}, {220, 4}, {220, 21}, {220, 38}, + {238, 54}, {238, 36}, {238, 19}, {255, 26}, {255, 43}, + // right-ug [LED_49-54] + {230, 49}, {230, 19}, {195, 14}, {149, 33}, {148, 72}, {185, 66}, + }, + {// LED Index to Flag + // Left-bg [LED_01-21] + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + // left-ug [LED_22-27] + LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, + // right-bg [LED_28-48] + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + // right-ug [LED_49-54] + LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW + } +}; +#endif diff --git a/keyboards/elephant42/keyboard.json b/keyboards/elephant42/keyboard.json index 5911fcbab8..60b135b086 100644 --- a/keyboards/elephant42/keyboard.json +++ b/keyboards/elephant42/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "elephant42", "manufacturer": "illness072", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/elephant42", "maintainer": "illness072", "usb": { "vid": "0x4649", @@ -12,62 +13,6 @@ "sat_steps": 8, "val_steps": 8, "speed_steps": 8, - "layout": [ - {"matrix": [3, 2], "x": 52, "y": 45, "flags": 4}, - {"matrix": [3, 3], "x": 69, "y": 51, "flags": 4}, - {"matrix": [3, 4], "x": 86, "y": 58, "flags": 4}, - {"matrix": [3, 5], "x": 103, "y": 64, "flags": 4}, - {"matrix": [2, 5], "x": 86, "y": 34, "flags": 4}, - {"matrix": [1, 5], "x": 86, "y": 21, "flags": 4}, - {"matrix": [0, 5], "x": 86, "y": 8, "flags": 4}, - {"matrix": [0, 4], "x": 69, "y": 7, "flags": 4}, - {"matrix": [1, 4], "x": 69, "y": 20, "flags": 4}, - {"matrix": [2, 4], "x": 69, "y": 33, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 26, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 13, "flags": 4}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 34, "y": 6, "flags": 4}, - {"matrix": [1, 2], "x": 34, "y": 19, "flags": 4}, - {"matrix": [2, 2], "x": 34, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 17, "y": 44, "flags": 4}, - {"matrix": [1, 1], "x": 17, "y": 31, "flags": 4}, - {"matrix": [0, 1], "x": 17, "y": 18, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 24, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 37, "flags": 4}, - {"x": 26, "y": 42, "flags": 2}, - {"x": 26, "y": 19, "flags": 2}, - {"x": 61, "y": 7, "flags": 2}, - {"x": 103, "y": 21, "flags": 2}, - {"x": 103, "y": 51, "flags": 2}, - {"x": 69, "y": 45, "flags": 2}, - {"matrix": [7, 2], "x": 172, "y": 45, "flags": 4}, - {"matrix": [7, 3], "x": 155, "y": 51, "flags": 4}, - {"matrix": [7, 4], "x": 138, "y": 58, "flags": 4}, - {"matrix": [7, 5], "x": 121, "y": 64, "flags": 4}, - {"matrix": [6, 5], "x": 138, "y": 34, "flags": 4}, - {"matrix": [5, 5], "x": 138, "y": 21, "flags": 4}, - {"matrix": [4, 5], "x": 138, "y": 8, "flags": 4}, - {"matrix": [4, 4], "x": 155, "y": 7, "flags": 4}, - {"matrix": [5, 4], "x": 155, "y": 20, "flags": 4}, - {"matrix": [6, 4], "x": 155, "y": 33, "flags": 4}, - {"matrix": [6, 3], "x": 172, "y": 26, "flags": 4}, - {"matrix": [5, 3], "x": 172, "y": 13, "flags": 4}, - {"matrix": [4, 3], "x": 172, "y": 0, "flags": 4}, - {"matrix": [4, 2], "x": 189, "y": 6, "flags": 4}, - {"matrix": [5, 2], "x": 189, "y": 19, "flags": 4}, - {"matrix": [6, 2], "x": 189, "y": 32, "flags": 4}, - {"matrix": [6, 1], "x": 206, "y": 44, "flags": 4}, - {"matrix": [5, 1], "x": 206, "y": 31, "flags": 4}, - {"matrix": [4, 1], "x": 206, "y": 18, "flags": 4}, - {"matrix": [4, 0], "x": 224, "y": 24, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 37, "flags": 4}, - {"x": 197, "y": 42, "flags": 2}, - {"x": 197, "y": 19, "flags": 2}, - {"x": 163, "y": 7, "flags": 2}, - {"x": 121, "y": 21, "flags": 2}, - {"x": 121, "y": 51, "flags": 2}, - {"x": 155, "y": 45, "flags": 2} - ], "max_brightness": 170, "split_count": [27, 27] }, diff --git a/keyboards/enmeseoz/enmepad3x4/readme.md b/keyboards/enmeseoz/enmepad3x4/readme.md index 8326649e6d..dd7391daac 100644 --- a/keyboards/enmeseoz/enmepad3x4/readme.md +++ b/keyboards/enmeseoz/enmepad3x4/readme.md @@ -22,4 +22,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/enviousdesign/65m/keyboard.json b/keyboards/enviousdesign/65m/keyboard.json index fa4b4eb357..e0661dc9fa 100644 --- a/keyboards/enviousdesign/65m/keyboard.json +++ b/keyboards/enviousdesign/65m/keyboard.json @@ -388,4 +388,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/enviousdesign/commissions/mini1800/keyboard.json b/keyboards/enviousdesign/commissions/mini1800/keyboard.json index ff37c73ccd..5eb78225a0 100644 --- a/keyboards/enviousdesign/commissions/mini1800/keyboard.json +++ b/keyboards/enviousdesign/commissions/mini1800/keyboard.json @@ -105,4 +105,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/enviousdesign/delirium/rev0/keyboard.json b/keyboards/enviousdesign/delirium/rev0/keyboard.json index 23de3bf9c6..75ff24a9ef 100644 --- a/keyboards/enviousdesign/delirium/rev0/keyboard.json +++ b/keyboards/enviousdesign/delirium/rev0/keyboard.json @@ -116,4 +116,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/enviousdesign/delirium/rev1/keyboard.json b/keyboards/enviousdesign/delirium/rev1/keyboard.json index c6925759f8..83001140bb 100644 --- a/keyboards/enviousdesign/delirium/rev1/keyboard.json +++ b/keyboards/enviousdesign/delirium/rev1/keyboard.json @@ -300,4 +300,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/enviousdesign/delirium/rgb/rgb.c b/keyboards/enviousdesign/delirium/rgb/rgb.c index b57f3c1175..e6a3354b29 100644 --- a/keyboards/enviousdesign/delirium/rgb/rgb.c +++ b/keyboards/enviousdesign/delirium/rgb/rgb.c @@ -32,4 +32,4 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { } return true; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/enviousdesign/mcro/rev1/keyboard.json b/keyboards/enviousdesign/mcro/rev1/keyboard.json index c6ab8809ce..6e846f9621 100644 --- a/keyboards/enviousdesign/mcro/rev1/keyboard.json +++ b/keyboards/enviousdesign/mcro/rev1/keyboard.json @@ -39,4 +39,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/divine/config.h b/keyboards/era/divine/config.h index 790bb5b1dd..e1083fe5e2 100644 --- a/keyboards/era/divine/config.h +++ b/keyboards/era/divine/config.h @@ -17,4 +17,4 @@ #pragma once #define BACKLIGHT_PWM_DRIVER PWMD0 -#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A \ No newline at end of file diff --git a/keyboards/era/divine/halconf.h b/keyboards/era/divine/halconf.h index 441e62f83a..5a527da781 100644 --- a/keyboards/era/divine/halconf.h +++ b/keyboards/era/divine/halconf.h @@ -18,4 +18,4 @@ #define HAL_USE_PWM TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/era/divine/keyboard.json b/keyboards/era/divine/keyboard.json index 4a2e718350..83da9f0854 100644 --- a/keyboards/era/divine/keyboard.json +++ b/keyboards/era/divine/keyboard.json @@ -111,4 +111,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/divine/keymaps/default/keymap.c b/keyboards/era/divine/keymaps/default/keymap.c index f14a3f9e64..a37cfdc059 100644 --- a/keyboards/era/divine/keymaps/default/keymap.c +++ b/keyboards/era/divine/keymaps/default/keymap.c @@ -20,4 +20,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, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT ) -}; +}; \ No newline at end of file diff --git a/keyboards/era/divine/mcuconf.h b/keyboards/era/divine/mcuconf.h index ce4246f2eb..7698b5d139 100644 --- a/keyboards/era/divine/mcuconf.h +++ b/keyboards/era/divine/mcuconf.h @@ -19,4 +19,4 @@ #include_next #undef RP_PWM_USE_PWM0 -#define RP_PWM_USE_PWM0 TRUE +#define RP_PWM_USE_PWM0 TRUE \ No newline at end of file diff --git a/keyboards/era/divine/readme.md b/keyboards/era/divine/readme.md index 1ca6c8c5e6..3049e3b840 100644 --- a/keyboards/era/divine/readme.md +++ b/keyboards/era/divine/readme.md @@ -22,4 +22,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/era65/config.h b/keyboards/era/era65/config.h index 6a1a27f077..bd42a703f8 100644 --- a/keyboards/era/era65/config.h +++ b/keyboards/era/era65/config.h @@ -25,4 +25,4 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U // Timeout window in ms in which the double tap can occur. #define BACKLIGHT_PWM_DRIVER PWMD0 -#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A \ No newline at end of file diff --git a/keyboards/era/era65/halconf.h b/keyboards/era/era65/halconf.h index 20d804b855..1960fffb5d 100644 --- a/keyboards/era/era65/halconf.h +++ b/keyboards/era/era65/halconf.h @@ -5,4 +5,4 @@ #define HAL_USE_PWM TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/era/era65/keyboard.json b/keyboards/era/era65/keyboard.json index 152d7e3186..2939418d72 100644 --- a/keyboards/era/era65/keyboard.json +++ b/keyboards/era/era65/keyboard.json @@ -111,4 +111,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/era65/mcuconf.h b/keyboards/era/era65/mcuconf.h index bca2b0e53d..c9de0026f1 100644 --- a/keyboards/era/era65/mcuconf.h +++ b/keyboards/era/era65/mcuconf.h @@ -5,4 +5,4 @@ /* Used for backlight display */ #undef RP_PWM_USE_PWM0 -#define RP_PWM_USE_PWM0 TRUE +#define RP_PWM_USE_PWM0 TRUE \ No newline at end of file diff --git a/keyboards/era/era65/readme.md b/keyboards/era/era65/readme.md index 671a0e86b9..cd25aafb1f 100644 --- a/keyboards/era/era65/readme.md +++ b/keyboards/era/era65/readme.md @@ -22,4 +22,4 @@ 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**: Short the reset hole of the PCB twice within 1 second. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/linx3/fave65s/readme.md b/keyboards/era/linx3/fave65s/readme.md index 90583e765e..e31b3acef9 100644 --- a/keyboards/era/linx3/fave65s/readme.md +++ b/keyboards/era/linx3/fave65s/readme.md @@ -23,4 +23,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/linx3/n86/config.h b/keyboards/era/linx3/n86/config.h index ee5043c48c..8b294dd91b 100644 --- a/keyboards/era/linx3/n86/config.h +++ b/keyboards/era/linx3/n86/config.h @@ -5,4 +5,4 @@ /* Reset */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 2000U +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 2000U \ No newline at end of file diff --git a/keyboards/era/linx3/n86/keymaps/default/keymap.c b/keyboards/era/linx3/n86/keymaps/default/keymap.c index 29b29b95c3..49ae04a5a7 100644 --- a/keyboards/era/linx3/n86/keymaps/default/keymap.c +++ b/keyboards/era/linx3/n86/keymaps/default/keymap.c @@ -21,4 +21,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, 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/era/linx3/n86/readme.md b/keyboards/era/linx3/n86/readme.md index 81692a0d90..ba68109068 100644 --- a/keyboards/era/linx3/n86/readme.md +++ b/keyboards/era/linx3/n86/readme.md @@ -20,4 +20,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/linx3/n87/config.h b/keyboards/era/linx3/n87/config.h index ee5043c48c..8b294dd91b 100644 --- a/keyboards/era/linx3/n87/config.h +++ b/keyboards/era/linx3/n87/config.h @@ -5,4 +5,4 @@ /* Reset */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 2000U +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 2000U \ No newline at end of file diff --git a/keyboards/era/linx3/n87/keyboard.json b/keyboards/era/linx3/n87/keyboard.json index 3123b5b2da..5a03a5cbc5 100644 --- a/keyboards/era/linx3/n87/keyboard.json +++ b/keyboards/era/linx3/n87/keyboard.json @@ -451,4 +451,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/linx3/n87/keymaps/default/keymap.c b/keyboards/era/linx3/n87/keymaps/default/keymap.c index 4a9982779f..a16e6a2110 100644 --- a/keyboards/era/linx3/n87/keymaps/default/keymap.c +++ b/keyboards/era/linx3/n87/keymaps/default/keymap.c @@ -21,4 +21,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, KC_TRNS, 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/era/linx3/n87/readme.md b/keyboards/era/linx3/n87/readme.md index c7d2152230..ff5b29d3bd 100644 --- a/keyboards/era/linx3/n87/readme.md +++ b/keyboards/era/linx3/n87/readme.md @@ -20,4 +20,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/linx3/n8x/halconf.h b/keyboards/era/linx3/n8x/halconf.h index 05a72ec00c..3dbc886a83 100644 --- a/keyboards/era/linx3/n8x/halconf.h +++ b/keyboards/era/linx3/n8x/halconf.h @@ -5,4 +5,4 @@ #define HAL_USE_PWM TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/era/linx3/n8x/keyboard.json b/keyboards/era/linx3/n8x/keyboard.json index 0a896b250f..c018874bd1 100644 --- a/keyboards/era/linx3/n8x/keyboard.json +++ b/keyboards/era/linx3/n8x/keyboard.json @@ -1226,4 +1226,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/linx3/n8x/keymaps/default/keymap.c b/keyboards/era/linx3/n8x/keymaps/default/keymap.c index e2b0630731..3dd2571ab8 100644 --- a/keyboards/era/linx3/n8x/keymaps/default/keymap.c +++ b/keyboards/era/linx3/n8x/keymaps/default/keymap.c @@ -21,4 +21,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, KC_TRNS, KC_TRNS, 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/era/linx3/n8x/mcuconf.h b/keyboards/era/linx3/n8x/mcuconf.h index 4cec0fede3..9a4b5b1c61 100644 --- a/keyboards/era/linx3/n8x/mcuconf.h +++ b/keyboards/era/linx3/n8x/mcuconf.h @@ -6,4 +6,4 @@ #include_next #undef RP_PWM_USE_PWM1 -#define RP_PWM_USE_PWM1 TRUE +#define RP_PWM_USE_PWM1 TRUE \ No newline at end of file diff --git a/keyboards/era/linx3/n8x/readme.md b/keyboards/era/linx3/n8x/readme.md index 894babb51b..b414e14975 100644 --- a/keyboards/era/linx3/n8x/readme.md +++ b/keyboards/era/linx3/n8x/readme.md @@ -20,4 +20,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/sirind/brick65/keyboard.json b/keyboards/era/sirind/brick65/keyboard.json index 513a807972..3d35bc0d98 100644 --- a/keyboards/era/sirind/brick65/keyboard.json +++ b/keyboards/era/sirind/brick65/keyboard.json @@ -198,4 +198,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/sirind/brick65s/brick65s.c b/keyboards/era/sirind/brick65s/brick65s.c index 825a00b4e6..ae76a3968c 100644 --- a/keyboards/era/sirind/brick65s/brick65s.c +++ b/keyboards/era/sirind/brick65s/brick65s.c @@ -21,4 +21,4 @@ bool rgb_matrix_indicators_kb(void) { } return true; -} +} \ No newline at end of file diff --git a/keyboards/era/sirind/brick65s/keyboard.json b/keyboards/era/sirind/brick65s/keyboard.json index 03a0d2857d..489b0da323 100644 --- a/keyboards/era/sirind/brick65s/keyboard.json +++ b/keyboards/era/sirind/brick65s/keyboard.json @@ -247,4 +247,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/sirind/brick65s/readme.md b/keyboards/era/sirind/brick65s/readme.md index 3ed95cf9a7..e173ba4e73 100644 --- a/keyboards/era/sirind/brick65s/readme.md +++ b/keyboards/era/sirind/brick65s/readme.md @@ -20,4 +20,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/sirind/chickpad/readme.md b/keyboards/era/sirind/chickpad/readme.md index de7bb146e9..fd6ad72d4f 100644 --- a/keyboards/era/sirind/chickpad/readme.md +++ b/keyboards/era/sirind/chickpad/readme.md @@ -22,4 +22,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/sirind/klein_hs/config.h b/keyboards/era/sirind/klein_hs/config.h index 54731b7aa9..bbd4387363 100644 --- a/keyboards/era/sirind/klein_hs/config.h +++ b/keyboards/era/sirind/klein_hs/config.h @@ -18,4 +18,4 @@ /* BACKLIGHT PWM */ #define BACKLIGHT_PWM_DRIVER PWMD7 -#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B \ No newline at end of file diff --git a/keyboards/era/sirind/klein_hs/halconf.h b/keyboards/era/sirind/klein_hs/halconf.h index ec9ad4659c..f57e86df01 100644 --- a/keyboards/era/sirind/klein_hs/halconf.h +++ b/keyboards/era/sirind/klein_hs/halconf.h @@ -18,4 +18,4 @@ #define HAL_USE_PWM TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/era/sirind/klein_hs/keyboard.json b/keyboards/era/sirind/klein_hs/keyboard.json index b2451d5a1d..01395c3af1 100644 --- a/keyboards/era/sirind/klein_hs/keyboard.json +++ b/keyboards/era/sirind/klein_hs/keyboard.json @@ -463,4 +463,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/sirind/klein_hs/keymaps/default/keymap.c b/keyboards/era/sirind/klein_hs/keymaps/default/keymap.c index e01fecf381..88878bbcd9 100644 --- a/keyboards/era/sirind/klein_hs/keymaps/default/keymap.c +++ b/keyboards/era/sirind/klein_hs/keymaps/default/keymap.c @@ -20,4 +20,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_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/era/sirind/klein_hs/mcuconf.h b/keyboards/era/sirind/klein_hs/mcuconf.h index e2af8e5c26..b82cc49d7d 100644 --- a/keyboards/era/sirind/klein_hs/mcuconf.h +++ b/keyboards/era/sirind/klein_hs/mcuconf.h @@ -19,4 +19,4 @@ #include_next #undef RP_PWM_USE_PWM7 -#define RP_PWM_USE_PWM7 TRUE +#define RP_PWM_USE_PWM7 TRUE \ No newline at end of file diff --git a/keyboards/era/sirind/klein_hs/readme.md b/keyboards/era/sirind/klein_hs/readme.md index e7dc568c75..86343271bb 100644 --- a/keyboards/era/sirind/klein_hs/readme.md +++ b/keyboards/era/sirind/klein_hs/readme.md @@ -20,4 +20,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/sirind/klein_sd/halconf.h b/keyboards/era/sirind/klein_sd/halconf.h index ec9ad4659c..f57e86df01 100644 --- a/keyboards/era/sirind/klein_sd/halconf.h +++ b/keyboards/era/sirind/klein_sd/halconf.h @@ -18,4 +18,4 @@ #define HAL_USE_PWM TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/era/sirind/klein_sd/keyboard.json b/keyboards/era/sirind/klein_sd/keyboard.json index 5591fd6d72..b2fbe33290 100644 --- a/keyboards/era/sirind/klein_sd/keyboard.json +++ b/keyboards/era/sirind/klein_sd/keyboard.json @@ -588,4 +588,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/sirind/klein_sd/keymaps/default/keymap.c b/keyboards/era/sirind/klein_sd/keymaps/default/keymap.c index e01fecf381..88878bbcd9 100644 --- a/keyboards/era/sirind/klein_sd/keymaps/default/keymap.c +++ b/keyboards/era/sirind/klein_sd/keymaps/default/keymap.c @@ -20,4 +20,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_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/era/sirind/klein_sd/mcuconf.h b/keyboards/era/sirind/klein_sd/mcuconf.h index e2af8e5c26..b82cc49d7d 100644 --- a/keyboards/era/sirind/klein_sd/mcuconf.h +++ b/keyboards/era/sirind/klein_sd/mcuconf.h @@ -19,4 +19,4 @@ #include_next #undef RP_PWM_USE_PWM7 -#define RP_PWM_USE_PWM7 TRUE +#define RP_PWM_USE_PWM7 TRUE \ No newline at end of file diff --git a/keyboards/era/sirind/klein_sd/readme.md b/keyboards/era/sirind/klein_sd/readme.md index 0ec1c84543..a021b843d7 100644 --- a/keyboards/era/sirind/klein_sd/readme.md +++ b/keyboards/era/sirind/klein_sd/readme.md @@ -20,4 +20,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/sirind/tomak/config.h b/keyboards/era/sirind/tomak/config.h index ac531cf18b..0f34f674df 100644 --- a/keyboards/era/sirind/tomak/config.h +++ b/keyboards/era/sirind/tomak/config.h @@ -12,4 +12,4 @@ /* Reset */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 2000U +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 2000U \ No newline at end of file diff --git a/keyboards/era/sirind/tomak/keymaps/default/keymap.c b/keyboards/era/sirind/tomak/keymaps/default/keymap.c index 4b56db1eb2..bf070bd9fa 100644 --- a/keyboards/era/sirind/tomak/keymaps/default/keymap.c +++ b/keyboards/era/sirind/tomak/keymaps/default/keymap.c @@ -22,4 +22,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RM_NEXT, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/sirind/tomak/keymaps/default_ansi/keymap.c b/keyboards/era/sirind/tomak/keymaps/default_ansi/keymap.c index 94afa64abc..7a1edcb15f 100644 --- a/keyboards/era/sirind/tomak/keymaps/default_ansi/keymap.c +++ b/keyboards/era/sirind/tomak/keymaps/default_ansi/keymap.c @@ -22,4 +22,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RM_NEXT, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/sirind/tomak/keymaps/default_ansi_split_bs/keymap.c b/keyboards/era/sirind/tomak/keymaps/default_ansi_split_bs/keymap.c index a741395321..20d99d5fa7 100644 --- a/keyboards/era/sirind/tomak/keymaps/default_ansi_split_bs/keymap.c +++ b/keyboards/era/sirind/tomak/keymaps/default_ansi_split_bs/keymap.c @@ -22,4 +22,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RM_NEXT, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/sirind/tomak/keymaps/default_ansi_split_rshift/keymap.c b/keyboards/era/sirind/tomak/keymaps/default_ansi_split_rshift/keymap.c index 368633aee5..e5d064cb47 100644 --- a/keyboards/era/sirind/tomak/keymaps/default_ansi_split_rshift/keymap.c +++ b/keyboards/era/sirind/tomak/keymaps/default_ansi_split_rshift/keymap.c @@ -22,4 +22,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RM_NEXT, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/sirind/tomak/keymaps/default_ansi_split_rshift_bs/keymap.c b/keyboards/era/sirind/tomak/keymaps/default_ansi_split_rshift_bs/keymap.c index 6c0a2f15fc..c85224d234 100644 --- a/keyboards/era/sirind/tomak/keymaps/default_ansi_split_rshift_bs/keymap.c +++ b/keyboards/era/sirind/tomak/keymaps/default_ansi_split_rshift_bs/keymap.c @@ -22,4 +22,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RM_NEXT, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/sirind/tomak/readme.md b/keyboards/era/sirind/tomak/readme.md index eb3e5c231b..0834dfd6a8 100644 --- a/keyboards/era/sirind/tomak/readme.md +++ b/keyboards/era/sirind/tomak/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the 'top-left(ESC, F7)' key and plug in the keyboard. * **Physical reset**: Short the 'RESET' and 'GND' holes twice within one second, or plug in the keyboard with the 'BOOT' and 'GND' holes shorted. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/era/sirind/tomak/tomak.c b/keyboards/era/sirind/tomak/tomak.c index 4bc0ae6e95..8533cd4a73 100644 --- a/keyboards/era/sirind/tomak/tomak.c +++ b/keyboards/era/sirind/tomak/tomak.c @@ -13,4 +13,4 @@ bool rgb_matrix_indicators_kb(void) { rgb_matrix_set_color(98, 0, 128, 128); } return true; -} +} \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79h/config.h b/keyboards/era/sirind/tomak79h/config.h index 4b1caf25f7..f04429bcd8 100644 --- a/keyboards/era/sirind/tomak79h/config.h +++ b/keyboards/era/sirind/tomak79h/config.h @@ -12,4 +12,4 @@ /* Reset */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79h/keyboard.json b/keyboards/era/sirind/tomak79h/keyboard.json index 1caffa2dff..d1764bb668 100644 --- a/keyboards/era/sirind/tomak79h/keyboard.json +++ b/keyboards/era/sirind/tomak79h/keyboard.json @@ -389,4 +389,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79h/keymaps/default/keymap.c b/keyboards/era/sirind/tomak79h/keymaps/default/keymap.c index 87ea2491cb..d1434f8cd0 100644 --- a/keyboards/era/sirind/tomak79h/keymaps/default/keymap.c +++ b/keyboards/era/sirind/tomak79h/keymaps/default/keymap.c @@ -21,4 +21,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RM_NEXT, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/sirind/tomak79h/readme.md b/keyboards/era/sirind/tomak79h/readme.md index 652784e16f..528731ef12 100644 --- a/keyboards/era/sirind/tomak79h/readme.md +++ b/keyboards/era/sirind/tomak79h/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the 'top-left(ESC, F7)' key and plug in the keyboard. * **Physical reset**: Short the 'RESET' and 'GND' holes twice within one second, or plug in the keyboard with the 'BOOT' and 'GND' holes shorted. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79h/tomak79h.c b/keyboards/era/sirind/tomak79h/tomak79h.c index 29cbdfa964..580a1ba68b 100644 --- a/keyboards/era/sirind/tomak79h/tomak79h.c +++ b/keyboards/era/sirind/tomak79h/tomak79h.c @@ -13,4 +13,4 @@ bool rgb_matrix_indicators_kb(void) { } } return true; -} +} \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79s/config.h b/keyboards/era/sirind/tomak79s/config.h index 4b1caf25f7..f04429bcd8 100644 --- a/keyboards/era/sirind/tomak79s/config.h +++ b/keyboards/era/sirind/tomak79s/config.h @@ -12,4 +12,4 @@ /* Reset */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79s/keyboard.json b/keyboards/era/sirind/tomak79s/keyboard.json index d28c96e565..2e68ad788d 100644 --- a/keyboards/era/sirind/tomak79s/keyboard.json +++ b/keyboards/era/sirind/tomak79s/keyboard.json @@ -671,4 +671,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79s/keymaps/default/keymap.c b/keyboards/era/sirind/tomak79s/keymaps/default/keymap.c index d2816d3173..9ac7334d48 100644 --- a/keyboards/era/sirind/tomak79s/keymaps/default/keymap.c +++ b/keyboards/era/sirind/tomak79s/keymaps/default/keymap.c @@ -21,4 +21,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, RM_NEXT, RM_VALD, RM_HUED, RM_SATD, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/era/sirind/tomak79s/readme.md b/keyboards/era/sirind/tomak79s/readme.md index 6026c12533..5fc275bc65 100644 --- a/keyboards/era/sirind/tomak79s/readme.md +++ b/keyboards/era/sirind/tomak79s/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the 'top-left(ESC, F7)' key and plug in the keyboard. * **Physical reset**: Short the 'RESET' and 'GND' holes twice within one second, or plug in the keyboard with the 'BOOT' and 'GND' holes shorted. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79s/tomak79s.c b/keyboards/era/sirind/tomak79s/tomak79s.c index 400ce2b7fe..f5f3165b64 100644 --- a/keyboards/era/sirind/tomak79s/tomak79s.c +++ b/keyboards/era/sirind/tomak79s/tomak79s.c @@ -13,4 +13,4 @@ bool rgb_matrix_indicators_kb(void) { } } return true; -} +} \ No newline at end of file diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c index d2e89772c6..9fdc814834 100644 --- a/keyboards/ergodox_ez/ergodox_ez.c +++ b/keyboards/ergodox_ez/ergodox_ez.c @@ -275,6 +275,42 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {1, C2_11, C1_11, C3_11}, // LED23 {1, C5_11, C4_11, C6_11} // LED24 }; + + +led_config_t g_led_config = { { + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { 28, 33, 38, 43, 47, NO_LED }, + { 27, 32, 37, 42, 46, NO_LED }, + { 26, 31, 36, 41, 45, NO_LED }, + { 25, 30, 35, 40, 44, NO_LED }, + { 24, 29, 34, 39, 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 }, + { 0, 5, 10, 15, NO_LED, NO_LED }, + { 1, 6, 11, 16, 20, NO_LED }, + { 2, 7, 12, 17, 21, NO_LED }, + { 3, 8, 13, 18, 22, NO_LED }, + { 4, 9, 14, 19, 23, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } +}, { + { 137, 0 }, { 154, 0 }, { 172, 0 }, { 189, 0 }, { 206, 0 }, { 137, 12 }, + { 154, 12 }, { 172, 12 }, { 189, 12 }, { 206, 12 }, { 137, 25 }, { 154, 25 }, + { 172, 25 }, { 189, 25 }, { 206, 25 }, { 137, 38 }, { 154, 38 }, { 172, 38 }, + { 189, 38 }, { 206, 38 }, { 154, 51 }, { 172, 51 }, { 189, 51 }, { 206, 51 }, + { 86, 0 }, { 68, 0 }, { 51, 0 }, { 34, 0 }, { 17, 0 }, { 86, 12 }, + { 68, 12 }, { 51, 12 }, { 34, 12 }, { 17, 12 }, { 86, 25 }, { 68, 25 }, + { 51, 25 }, { 34, 25 }, { 17, 25 }, { 86, 38 }, { 68, 38 }, { 51, 38 }, + { 34, 38 }, { 17, 38 }, { 68, 51 }, { 51, 51 }, { 34, 51 }, { 17, 51 } +}, { + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 1, 1, 1, 1, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 1, 1, 1, 1 +} }; // clang-format on # ifdef ORYX_CONFIGURATOR diff --git a/keyboards/ergodox_ez/info.json b/keyboards/ergodox_ez/info.json index 8ef8ed376d..f7b20b19e0 100644 --- a/keyboards/ergodox_ez/info.json +++ b/keyboards/ergodox_ez/info.json @@ -69,56 +69,6 @@ "pixel_fractal": true }, "driver": "is31fl3731", - "layout": [ - {"matrix": [8, 0], "x": 137, "y": 0, "flags": 4}, - {"matrix": [9, 0], "x": 154, "y": 0, "flags": 4}, - {"matrix": [10, 0], "x": 172, "y": 0, "flags": 4}, - {"matrix": [11, 0], "x": 189, "y": 0, "flags": 4}, - {"matrix": [12, 0], "x": 206, "y": 0, "flags": 4}, - {"matrix": [8, 1], "x": 137, "y": 12, "flags": 4}, - {"matrix": [9, 1], "x": 154, "y": 12, "flags": 4}, - {"matrix": [10, 1], "x": 172, "y": 12, "flags": 4}, - {"matrix": [11, 1], "x": 189, "y": 12, "flags": 4}, - {"matrix": [12, 1], "x": 206, "y": 12, "flags": 4}, - {"matrix": [8, 2], "x": 137, "y": 25, "flags": 4}, - {"matrix": [9, 2], "x": 154, "y": 25, "flags": 4}, - {"matrix": [10, 2], "x": 172, "y": 25, "flags": 4}, - {"matrix": [11, 2], "x": 189, "y": 25, "flags": 4}, - {"matrix": [12, 2], "x": 206, "y": 25, "flags": 4}, - {"matrix": [8, 3], "x": 137, "y": 38, "flags": 4}, - {"matrix": [9, 3], "x": 154, "y": 38, "flags": 4}, - {"matrix": [10, 3], "x": 172, "y": 38, "flags": 4}, - {"matrix": [11, 3], "x": 189, "y": 38, "flags": 4}, - {"matrix": [12, 3], "x": 206, "y": 38, "flags": 4}, - {"matrix": [9, 4], "x": 154, "y": 51, "flags": 1}, - {"matrix": [10, 4], "x": 172, "y": 51, "flags": 1}, - {"matrix": [11, 4], "x": 189, "y": 51, "flags": 1}, - {"matrix": [12, 4], "x": 206, "y": 51, "flags": 1}, - {"matrix": [5, 0], "x": 86, "y": 0, "flags": 4}, - {"matrix": [4, 0], "x": 68, "y": 0, "flags": 4}, - {"matrix": [3, 0], "x": 51, "y": 0, "flags": 4}, - {"matrix": [2, 0], "x": 34, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 17, "y": 0, "flags": 4}, - {"matrix": [5, 1], "x": 86, "y": 12, "flags": 4}, - {"matrix": [4, 1], "x": 68, "y": 12, "flags": 4}, - {"matrix": [3, 1], "x": 51, "y": 12, "flags": 4}, - {"matrix": [2, 1], "x": 34, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 17, "y": 12, "flags": 4}, - {"matrix": [5, 2], "x": 86, "y": 25, "flags": 4}, - {"matrix": [4, 2], "x": 68, "y": 25, "flags": 4}, - {"matrix": [3, 2], "x": 51, "y": 25, "flags": 4}, - {"matrix": [2, 2], "x": 34, "y": 25, "flags": 4}, - {"matrix": [1, 2], "x": 17, "y": 25, "flags": 4}, - {"matrix": [5, 3], "x": 86, "y": 38, "flags": 4}, - {"matrix": [4, 3], "x": 68, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 51, "y": 38, "flags": 4}, - {"matrix": [2, 3], "x": 34, "y": 38, "flags": 4}, - {"matrix": [1, 3], "x": 17, "y": 38, "flags": 4}, - {"matrix": [4, 4], "x": 68, "y": 51, "flags": 1}, - {"matrix": [3, 4], "x": 51, "y": 51, "flags": 1}, - {"matrix": [2, 4], "x": 34, "y": 51, "flags": 1}, - {"matrix": [1, 4], "x": 17, "y": 51, "flags": 1} - ], "led_flush_limit": 26, "led_process_limit": 5, "sleep": true diff --git a/keyboards/ergodox_ez/keymaps/default/readme.md b/keyboards/ergodox_ez/keymaps/default/readme.md index f1634c1e98..1150a4f709 100644 --- a/keyboards/ergodox_ez/keymaps/default/readme.md +++ b/keyboards/ergodox_ez/keymaps/default/readme.md @@ -12,4 +12,4 @@ This is what we ship with out of the factory. :) The image says it all: -![Default](https://i.imgur.com/Be53jH7.png) +![Default](https://i.imgur.com/Be53jH7.png) \ No newline at end of file diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/config.h b/keyboards/ergodox_ez/keymaps/rgb_layer/config.h index 7623e37e73..edd1f130cc 100644 --- a/keyboards/ergodox_ez/keymaps/rgb_layer/config.h +++ b/keyboards/ergodox_ez/keymaps/rgb_layer/config.h @@ -8,7 +8,7 @@ #undef PERMISSIVE_HOLD -#define NKRO_DEFAULT_ON true +#define FORCE_NKRO #ifndef TAPPING_TOGGLE #define TAPPING_TOGGLE 1 diff --git a/keyboards/ergodox_ez/readme.md b/keyboards/ergodox_ez/readme.md index 08bfc91d15..59a2840fd0 100644 --- a/keyboards/ergodox_ez/readme.md +++ b/keyboards/ergodox_ez/readme.md @@ -25,7 +25,7 @@ If you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h`, this enable ### Indicator LEDs -You can use the `LED_LEVEL` keycode to cycle through the brightness levels for the LEDs on the top right of the keyboard. These settings are saved in eeprom (persistent memory). +You can use the `LED_LEVEL` keycode to cycle through the brightness levels for the LEDs on the top right of the keyboard. These settings are saved in eeprom (persistant memory). Alternatively, you can set the brightness by calling the following functions: diff --git a/keyboards/eternal_keypad/keyboard.json b/keyboards/eternal_keypad/keyboard.json index 97421204ff..1951c7fa09 100644 --- a/keyboards/eternal_keypad/keyboard.json +++ b/keyboards/eternal_keypad/keyboard.json @@ -15,11 +15,6 @@ "nkro": true, "rgblight": true }, - "host": { - "default": { - "nkro": true - } - }, "qmk": { "locking": { "enabled": true, diff --git a/keyboards/eternal_keypad/keymaps/default/config.h b/keyboards/eternal_keypad/keymaps/default/config.h index 58be405e6b..36ab46334c 100644 --- a/keyboards/eternal_keypad/keymaps/default/config.h +++ b/keyboards/eternal_keypad/keymaps/default/config.h @@ -16,3 +16,4 @@ #pragma once #define ONESHOT_TIMEOUT 2000 +#define FORCE_NKRO diff --git a/keyboards/etiennecollin/wave/keymaps/test/keymap.json b/keyboards/etiennecollin/wave/keymaps/test/keymap.json index c7973a13f2..e73c867273 100644 --- a/keyboards/etiennecollin/wave/keymaps/test/keymap.json +++ b/keyboards/etiennecollin/wave/keymaps/test/keymap.json @@ -19,4 +19,4 @@ "KC_ESC", "KC_SPC", "KC_TAB", "KC_ENT", "KC_BSPC", "KC_DEL" ] ] -} +} \ No newline at end of file diff --git a/keyboards/evancookaudio/sleepingdinosaur/readme.md b/keyboards/evancookaudio/sleepingdinosaur/readme.md index 58993abe5d..064e4981fe 100644 --- a/keyboards/evancookaudio/sleepingdinosaur/readme.md +++ b/keyboards/evancookaudio/sleepingdinosaur/readme.md @@ -14,4 +14,4 @@ Make example for this keyboard (after setting up your build environment): 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). ## Enter the bootloader: -* **Physical reset button**: On the underside of the board, near the USB connector and microcontroller, press and hold the small button labeled reset for more than one second to enter the bootloader. +* **Physical reset button**: On the underside of the board, near the USB connector and microcontroller, press and hold the small button labeled reset for more than one second to enter the bootloader. \ No newline at end of file diff --git a/keyboards/evancookaudio/tenpad/readme.md b/keyboards/evancookaudio/tenpad/readme.md index facf658121..0bcb7a7bce 100644 --- a/keyboards/evancookaudio/tenpad/readme.md +++ b/keyboards/evancookaudio/tenpad/readme.md @@ -14,4 +14,4 @@ Make example for this keyboard (after setting up your build environment): 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). ## Enter the bootloader: -* **Physical reset button**: Briefly short the pair of pins marked "reset" on the top right corner of the bottom PCB of the keyboard. +* **Physical reset button**: Briefly short the pair of pins marked "reset" on the top right corner of the bottom PCB of the keyboard. \ No newline at end of file diff --git a/keyboards/evyd13/atom47/rev5/keyboard.json b/keyboards/evyd13/atom47/rev5/keyboard.json index daf7e3677f..86ff90c19c 100644 --- a/keyboards/evyd13/atom47/rev5/keyboard.json +++ b/keyboards/evyd13/atom47/rev5/keyboard.json @@ -39,57 +39,7 @@ "pixel_flow": true, "pixel_fractal": true }, - "driver": "is31fl3733", - "layout": [ - {"matrix": [0, 0], "x": 9, "y": 8, "flags": 1}, - {"matrix": [0, 1], "x": 26, "y": 8, "flags": 4}, - {"matrix": [0, 2], "x": 43, "y": 8, "flags": 4}, - {"matrix": [0, 3], "x": 60, "y": 8, "flags": 4}, - {"matrix": [0, 4], "x": 78, "y": 8, "flags": 4}, - {"matrix": [0, 5], "x": 95, "y": 8, "flags": 4}, - {"matrix": [0, 6], "x": 112, "y": 8, "flags": 4}, - {"matrix": [0, 7], "x": 129, "y": 8, "flags": 4}, - {"matrix": [0, 8], "x": 146, "y": 8, "flags": 4}, - {"matrix": [0, 9], "x": 164, "y": 8, "flags": 4}, - {"matrix": [0, 10], "x": 181, "y": 8, "flags": 4}, - {"matrix": [0, 11], "x": 198, "y": 8, "flags": 1}, - {"matrix": [0, 12], "x": 215, "y": 8, "flags": 1}, - {"matrix": [1, 0], "x": 11, "y": 24, "flags": 1}, - {"matrix": [1, 1], "x": 30, "y": 24, "flags": 4}, - {"matrix": [1, 2], "x": 47, "y": 24, "flags": 4}, - {"matrix": [1, 3], "x": 64, "y": 24, "flags": 4}, - {"matrix": [1, 4], "x": 82, "y": 24, "flags": 4}, - {"matrix": [1, 5], "x": 99, "y": 24, "flags": 4}, - {"matrix": [1, 6], "x": 116, "y": 24, "flags": 4}, - {"matrix": [1, 7], "x": 134, "y": 24, "flags": 4}, - {"matrix": [1, 8], "x": 151, "y": 24, "flags": 4}, - {"matrix": [1, 9], "x": 168, "y": 24, "flags": 4}, - {"matrix": [1, 10], "x": 185, "y": 24, "flags": 4}, - {"matrix": [1, 12], "x": 209, "y": 24, "flags": 1}, - {"matrix": [2, 0], "x": 15, "y": 40, "flags": 1}, - {"matrix": [2, 1], "x": 20, "y": 22, "flags": 8}, - {"matrix": [2, 2], "x": 39, "y": 40, "flags": 4}, - {"matrix": [2, 3], "x": 56, "y": 40, "flags": 4}, - {"matrix": [2, 4], "x": 73, "y": 40, "flags": 4}, - {"matrix": [2, 5], "x": 90, "y": 40, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 40, "flags": 4}, - {"matrix": [2, 7], "x": 125, "y": 40, "flags": 4}, - {"matrix": [2, 8], "x": 142, "y": 40, "flags": 4}, - {"matrix": [2, 9], "x": 159, "y": 40, "flags": 4}, - {"matrix": [2, 10], "x": 177, "y": 40, "flags": 4}, - {"matrix": [2, 11], "x": 196, "y": 40, "flags": 1}, - {"matrix": [2, 12], "x": 215, "y": 40, "flags": 1}, - {"matrix": [3, 0], "x": 11, "y": 56, "flags": 1}, - {"matrix": [3, 1], "x": 30, "y": 56, "flags": 1}, - {"matrix": [3, 2], "x": 47, "y": 56, "flags": 1}, - {"matrix": [3, 3], "x": 64, "y": 56, "flags": 1}, - {"matrix": [3, 5], "x": 88, "y": 56, "flags": 1}, - {"matrix": [3, 7], "x": 127, "y": 56, "flags": 1}, - {"matrix": [3, 9], "x": 159, "y": 56, "flags": 1}, - {"matrix": [3, 10], "x": 177, "y": 56, "flags": 1}, - {"matrix": [3, 11], "x": 194, "y": 56, "flags": 1}, - {"matrix": [3, 12], "x": 213, "y": 56, "flags": 1} - ] + "driver": "is31fl3733" }, "matrix_pins": { "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "E6", "D7", "B4", "B5", "B6", "C6", "C7"], diff --git a/keyboards/evyd13/atom47/rev5/rev5.c b/keyboards/evyd13/atom47/rev5/rev5.c index 7e9eb6307d..b8ea0688cd 100644 --- a/keyboards/evyd13/atom47/rev5/rev5.c +++ b/keyboards/evyd13/atom47/rev5/rev5.c @@ -77,6 +77,73 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, SW11_CS13, SW12_CS13, SW10_CS13} }; +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, NO_LED, 24 }, + { 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37 }, + { 38, 39, 40, 41, NO_LED, 42, NO_LED, 43, NO_LED, 44, 45, 46, 47 } +}, { + // LED Index to Physical Position + { 9, 8 }, + { 26, 8 }, + { 43, 8 }, + { 60, 8 }, + { 78, 8 }, + { 95, 8 }, + { 112, 8 }, + { 129, 8 }, + { 146, 8 }, + { 164, 8 }, + { 181, 8 }, + { 198, 8 }, + { 215, 8 }, + + { 11, 24 }, + { 30, 24 }, + { 47, 24 }, + { 64, 24 }, + { 82, 24 }, + { 99, 24 }, + { 116, 24 }, + { 134, 24 }, + { 151, 24 }, + { 168, 24 }, + { 185, 24 }, + { 209, 24 }, + + { 15, 40 }, + { 20, 22 }, + { 39, 40 }, + { 56, 40 }, + { 73, 40 }, + { 90, 40 }, + { 108, 40 }, + { 125, 40 }, + { 142, 40 }, + { 159, 40 }, + { 177, 40 }, + { 196, 40 }, + { 215, 40 }, + + { 11, 56 }, + { 30, 56 }, + { 47, 56 }, + { 64, 56 }, + { 88, 56 }, + { 127, 56 }, + { 159, 56 }, + { 177, 56 }, + { 194, 56 }, + { 213, 56 }, +}, { + // LED Index to Flag + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/evyd13/eon40/keymaps/default/keymap.c b/keyboards/evyd13/eon40/keymaps/default/keymap.c index b5fbf6f654..1ddd92ce27 100644 --- a/keyboards/evyd13/eon40/keymaps/default/keymap.c +++ b/keyboards/evyd13/eon40/keymaps/default/keymap.c @@ -43,4 +43,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; +}; \ No newline at end of file diff --git a/keyboards/evyd13/eon40/readme.md b/keyboards/evyd13/eon40/readme.md index f3e82ae0b2..5a4e8e3f2d 100644 --- a/keyboards/evyd13/eon40/readme.md +++ b/keyboards/evyd13/eon40/readme.md @@ -18,4 +18,4 @@ Make example for this keyboard (after setting up your build environment): make evyd13/eon40: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/evyd13/eon65/keymaps/default/keymap.c b/keyboards/evyd13/eon65/keymaps/default/keymap.c index 34d410cc20..2a55a12d6d 100644 --- a/keyboards/evyd13/eon65/keymaps/default/keymap.c +++ b/keyboards/evyd13/eon65/keymaps/default/keymap.c @@ -29,4 +29,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; +}; \ No newline at end of file diff --git a/keyboards/evyd13/eon65/readme.md b/keyboards/evyd13/eon65/readme.md index 2415df87a1..e7487e4c86 100644 --- a/keyboards/evyd13/eon65/readme.md +++ b/keyboards/evyd13/eon65/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make evyd13/eon65: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/evyd13/eon75/keymaps/default/keymap.c b/keyboards/evyd13/eon75/keymaps/default/keymap.c index bac0846348..24a8883005 100644 --- a/keyboards/evyd13/eon75/keymaps/default/keymap.c +++ b/keyboards/evyd13/eon75/keymaps/default/keymap.c @@ -31,4 +31,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; +}; \ No newline at end of file diff --git a/keyboards/evyd13/eon75/readme.md b/keyboards/evyd13/eon75/readme.md index 9afcb30e68..7b3ee43f1b 100644 --- a/keyboards/evyd13/eon75/readme.md +++ b/keyboards/evyd13/eon75/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make evyd13/eon75: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/evyd13/eon87/keymaps/default/keymap.c b/keyboards/evyd13/eon87/keymaps/default/keymap.c index ecea82a353..2f66cc5ebd 100644 --- a/keyboards/evyd13/eon87/keymaps/default/keymap.c +++ b/keyboards/evyd13/eon87/keymaps/default/keymap.c @@ -39,4 +39,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; +}; \ No newline at end of file diff --git a/keyboards/evyd13/eon87/readme.md b/keyboards/evyd13/eon87/readme.md index e35f3b2feb..6eea6c20ec 100644 --- a/keyboards/evyd13/eon87/readme.md +++ b/keyboards/evyd13/eon87/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make evyd13/eon87: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/evyd13/eon95/keymaps/default/keymap.c b/keyboards/evyd13/eon95/keymaps/default/keymap.c index 84179d5d5f..779f592784 100644 --- a/keyboards/evyd13/eon95/keymaps/default/keymap.c +++ b/keyboards/evyd13/eon95/keymaps/default/keymap.c @@ -31,4 +31,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; +}; \ No newline at end of file diff --git a/keyboards/evyd13/eon95/readme.md b/keyboards/evyd13/eon95/readme.md index 61b78dd159..0bb43f6513 100644 --- a/keyboards/evyd13/eon95/readme.md +++ b/keyboards/evyd13/eon95/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make evyd13/eon95: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/evyd13/gh80_1800/keymaps/default/keymap.c b/keyboards/evyd13/gh80_1800/keymaps/default/keymap.c index 1962bb071e..cd22f7bf56 100644 --- a/keyboards/evyd13/gh80_1800/keymaps/default/keymap.c +++ b/keyboards/evyd13/gh80_1800/keymaps/default/keymap.c @@ -25,4 +25,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT ), -}; +}; \ No newline at end of file diff --git a/keyboards/evyd13/gh80_1800/readme.md b/keyboards/evyd13/gh80_1800/readme.md index 56cd86e941..fd392988cf 100644 --- a/keyboards/evyd13/gh80_1800/readme.md +++ b/keyboards/evyd13/gh80_1800/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make evyd13/gh80_1800: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/evyd13/gh80_3700/readme.md b/keyboards/evyd13/gh80_3700/readme.md index cba195173d..11366f9a14 100644 --- a/keyboards/evyd13/gh80_3700/readme.md +++ b/keyboards/evyd13/gh80_3700/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make evyd13/gh80_3700: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/evyd13/minitomic/keymaps/default/keymap.c b/keyboards/evyd13/minitomic/keymaps/default/keymap.c index f1c4d58e70..400c5e364d 100644 --- a/keyboards/evyd13/minitomic/keymaps/default/keymap.c +++ b/keyboards/evyd13/minitomic/keymaps/default/keymap.c @@ -43,4 +43,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; +}; \ No newline at end of file diff --git a/keyboards/evyd13/minitomic/readme.md b/keyboards/evyd13/minitomic/readme.md index 3f74986d22..f4330d4d54 100644 --- a/keyboards/evyd13/minitomic/readme.md +++ b/keyboards/evyd13/minitomic/readme.md @@ -20,4 +20,4 @@ Make example for this keyboard (after setting up your build environment): make evyd13/minitomic: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/evyd13/mx5160/readme.md b/keyboards/evyd13/mx5160/readme.md index 3bfd980dd8..677b16072d 100644 --- a/keyboards/evyd13/mx5160/readme.md +++ b/keyboards/evyd13/mx5160/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make evyd13/mx5160: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/evyd13/omrontkl/keymaps/default/keymap.c b/keyboards/evyd13/omrontkl/keymaps/default/keymap.c index 9b1a049da5..d0e930b4b3 100644 --- a/keyboards/evyd13/omrontkl/keymaps/default/keymap.c +++ b/keyboards/evyd13/omrontkl/keymaps/default/keymap.c @@ -39,4 +39,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; +}; \ No newline at end of file diff --git a/keyboards/evyd13/omrontkl/readme.md b/keyboards/evyd13/omrontkl/readme.md index 64e3095f2e..e45117c27c 100644 --- a/keyboards/evyd13/omrontkl/readme.md +++ b/keyboards/evyd13/omrontkl/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make evyd13/omrontkl: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/evyd13/pockettype/readme.md b/keyboards/evyd13/pockettype/readme.md index 84a47e20e3..c32568a800 100644 --- a/keyboards/evyd13/pockettype/readme.md +++ b/keyboards/evyd13/pockettype/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make evyd13/pockettype: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/exclusive/e6_rgb/e6_rgb.c b/keyboards/exclusive/e6_rgb/e6_rgb.c index 7e3bed8f2f..9a7856306b 100644 --- a/keyboards/exclusive/e6_rgb/e6_rgb.c +++ b/keyboards/exclusive/e6_rgb/e6_rgb.c @@ -90,6 +90,81 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, SW5_CS16, SW4_CS16, SW6_CS16}, {0, SW2_CS16, SW1_CS16, SW3_CS16}, }; + +led_config_t g_led_config = { { + { 0, 1, 4, 5, 12, 13, 36, 20, 21, 24, 25, 16, 17, 28 }, + { 2, 6, 7, 14, 15, 37, 38, 22, 23, 26, 27, 18, 19, 30 }, + { 3, 8, 9, 32, 33, 39, 40, 44, 45, 48, 49, 52, 31, NO_LED }, + { 59, 10, 11, 34, 35, 41, 42, 46, 47, 50, 53, 54, 56, NO_LED }, + { 60, 61, 62, NO_LED, NO_LED, 43, 51, 55, 58, 57, NO_LED, NO_LED, NO_LED, NO_LED } +}, { +//cs1 + { 0, 0 }, { 17, 0 }, { 0, 16 }, { 0, 32 }, +//cs2 + { 34, 0 }, { 51, 0 }, { 17, 16 }, { 34, 16 }, +//cs3 + { 17, 32 }, { 34, 32 }, { 17, 48 }, { 34, 48 }, +//cs4 + { 68, 0 }, { 85, 0 }, { 51, 16 }, { 68, 16 }, +//cs5 + { 187, 0 }, { 204, 0 }, { 187, 16 }, { 204, 16 }, +//cs6 + { 119, 0 }, { 136, 0 }, { 119, 16 }, { 136, 16 }, +//cs7 + { 153, 0 }, { 170, 0 }, { 153, 16 }, { 170, 16 }, +//cs8 + { 221, 0 }, { 221, 0 }, { 221, 32 }, { 221, 16 }, +//cs9 + { 51, 32 }, { 68, 32 }, { 51, 48 }, { 68, 48 }, +//cs10 + { 102, 0 }, { 85, 16 }, { 102, 16 }, { 85, 32 }, +//cs11 + { 102, 32 }, { 85, 48 }, { 102, 48 }, { 102, 64 }, +//cs12 + { 119, 32 }, { 136, 32 }, { 119, 48 }, { 136, 48 }, +//cs13 + { 153, 32 }, { 170, 32 }, { 153, 48 }, { 136, 48 }, +//cs14 + { 187, 32 }, { 170, 48 }, { 187, 48 }, { 153, 48 }, +//cs15 + { 221, 48 }, { 221, 64 }, { 204, 64 }, +//cs16 + { 0, 48 }, { 0, 64 }, { 17, 64 }, { 34, 64 } +}, { +//cs1 + 1, 4, 1, 1, +//cs2 + 4, 4, 4, 4, +//cs3 + 4, 4, 4, 4, +//cs4 + 4, 4, 4, 4, +//cs5 + 4, 4, 4, 4, +//cs6 + 4, 4, 4, 4, +//cs7 + 4, 4, 4, 4, +//cs8 + 4, 4, 1, 1, +//cs9 + 4, 4, 4, 4, +//cs10 + 4, 4, 4, 4, +//cs11 + 4, 4, 4, 4, +//cs12 + 4, 4, 4, 4, +//cs13 + 4, 4, 4, 1, +//cs14 + 4, 4, 1, 1, +//cs15 + 1, 1, 1, +//cs16 + 1, 1, 1, 1 +} }; + #endif bool process_record_kb(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/exclusive/e6_rgb/keyboard.json b/keyboards/exclusive/e6_rgb/keyboard.json index d65893cf31..52d77dfcaa 100644 --- a/keyboards/exclusive/e6_rgb/keyboard.json +++ b/keyboards/exclusive/e6_rgb/keyboard.json @@ -8,72 +8,7 @@ "device_version": "0.6.2" }, "rgb_matrix": { - "driver": "is31fl3733", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 17, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 1}, - {"matrix": [0, 2], "x": 34, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 51, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 17, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 34, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 17, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 34, "y": 32, "flags": 4}, - {"matrix": [3, 1], "x": 17, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, - {"matrix": [0, 4], "x": 68, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 85, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 51, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [0, 11], "x": 187, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 204, "y": 0, "flags": 4}, - {"matrix": [1, 11], "x": 187, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 204, "y": 16, "flags": 4}, - {"matrix": [0, 7], "x": 119, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 136, "y": 0, "flags": 4}, - {"matrix": [1, 7], "x": 119, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, - {"matrix": [0, 9], "x": 153, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 170, "y": 0, "flags": 4}, - {"matrix": [1, 9], "x": 153, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 170, "y": 16, "flags": 4}, - {"matrix": [0, 13], "x": 221, "y": 0, "flags": 4}, - {"x": 221, "y": 0, "flags": 4}, - {"matrix": [1, 13], "x": 221, "y": 32, "flags": 1}, - {"matrix": [2, 12], "x": 221, "y": 16, "flags": 1}, - {"matrix": [2, 3], "x": 51, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 68, "y": 32, "flags": 4}, - {"matrix": [3, 3], "x": 51, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 68, "y": 48, "flags": 4}, - {"matrix": [0, 6], "x": 102, "y": 0, "flags": 4}, - {"matrix": [1, 5], "x": 85, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 102, "y": 16, "flags": 4}, - {"matrix": [2, 5], "x": 85, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 102, "y": 32, "flags": 4}, - {"matrix": [3, 5], "x": 85, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 102, "y": 48, "flags": 4}, - {"matrix": [4, 5], "x": 102, "y": 64, "flags": 4}, - {"matrix": [2, 7], "x": 119, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 136, "y": 32, "flags": 4}, - {"matrix": [3, 7], "x": 119, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 136, "y": 48, "flags": 4}, - {"matrix": [2, 9], "x": 153, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 170, "y": 32, "flags": 4}, - {"matrix": [3, 9], "x": 153, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 136, "y": 48, "flags": 1}, - {"matrix": [2, 11], "x": 187, "y": 32, "flags": 4}, - {"matrix": [3, 10], "x": 170, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 187, "y": 48, "flags": 1}, - {"matrix": [4, 7], "x": 153, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 221, "y": 48, "flags": 1}, - {"matrix": [4, 9], "x": 221, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 204, "y": 64, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 17, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 34, "y": 64, "flags": 1} - ] + "driver": "is31fl3733" }, "features": { "bootmagic": true, diff --git a/keyboards/exclusive/e6v2/le/keymaps/default/keymap.c b/keyboards/exclusive/e6v2/le/keymaps/default/keymap.c index 7e3755f0b9..b785a3279e 100644 --- a/keyboards/exclusive/e6v2/le/keymaps/default/keymap.c +++ b/keyboards/exclusive/e6v2/le/keymaps/default/keymap.c @@ -8,4 +8,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_MENU, KC_SPACE, KC_SPACE, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), -}; +}; \ No newline at end of file diff --git a/keyboards/exclusive/e6v2/oe/readme.md b/keyboards/exclusive/e6v2/oe/readme.md index cdf27dd9dd..9d5dd62615 100644 --- a/keyboards/exclusive/e6v2/oe/readme.md +++ b/keyboards/exclusive/e6v2/oe/readme.md @@ -16,4 +16,4 @@ Or to make and flash: make e6v2/oe:default:dfu -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file diff --git a/keyboards/exclusive/e7v2/keyboard.json b/keyboards/exclusive/e7v2/keyboard.json deleted file mode 100644 index 542237e1bf..0000000000 --- a/keyboards/exclusive/e7v2/keyboard.json +++ /dev/null @@ -1,392 +0,0 @@ -{ - "manufacturer": "Exclusive / E-Team", - "keyboard_name": "E7V2", - "maintainer": "Aidan Smith", - "bootloader": "atmel-dfu", - "diode_direction": "ROW2COL", - "features": { - "backlight": true, - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "ws2812": { - "pin": "E2" - }, - "rgblight": { - "driver": "ws2812", - "saturation_steps": 8, - "brightness_steps": 8, - "led_count": 54, - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "knight": true, - "christmas": true, - "static_gradient": true, - "alternating": true, - "twinkle": true - } - }, - "backlight": { - "pin": "B6", - "levels": 6 - }, - "matrix_pins": { - "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0"], - "rows": ["C6", "B0", "B1", "B2", "B3", "B7"] - }, - "processor": "atmega32u4", - "url": "https://exclusive.run/collections/e7-v2", - "usb": { - "device_version": "1.0.0", - "pid": "0xE702", - "vid": "0x4558" - }, - "layouts": { - "LAYOUT_75_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": [0, 4], "x": 4.25, "y": 0}, - {"matrix": [0, 5], "x": 5.50, "y": 0}, - {"matrix": [0, 6], "x": 6.50, "y": 0}, - {"matrix": [0, 7], "x": 7.50, "y": 0}, - {"matrix": [0, 8], "x": 8.50, "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": 14, "y": 0}, - {"matrix": [0, 14], "x": 15.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, 14], "x": 13, "y": 1.25, "w": 2}, - {"matrix": [5, 14], "x": 15.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": [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": [2, 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": 1.75}, - {"matrix": [4, 13], "x": 14.25, "y": 4.5}, - {"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, 8], "x": 10, "y": 5.25, "w": 1.50}, - {"matrix": [5, 10], "x": 11.5, "y": 5.25, "w": 1.50}, - {"matrix": [5, 11], "x": 13.25, "y": 5.5}, - {"matrix": [5, 12], "x": 14.25, "y": 5.5}, - {"matrix": [5, 13], "x": 15.25, "y": 5.5} - ] - }, - "LAYOUT_75_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": [0, 4], "x": 4.25, "y": 0}, - {"matrix": [0, 5], "x": 5.50, "y": 0}, - {"matrix": [0, 6], "x": 6.50, "y": 0}, - {"matrix": [0, 7], "x": 7.50, "y": 0}, - {"matrix": [0, 8], "x": 8.50, "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": 14, "y": 0}, - {"matrix": [0, 14], "x": 15.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, 14], "x": 13, "y": 1.25, "w": 2}, - {"matrix": [5, 14], "x": 15.25, "y": 1.25}, - {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"matrix": [3, 12], "x": 12.75, "y": 3.25}, - {"matrix": [2, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, - {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, - {"matrix": [4, 13], "x": 14.25, "y": 4.5}, - {"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, 8], "x": 10, "y": 5.25, "w": 1.50}, - {"matrix": [5, 10], "x": 11.5, "y": 5.25, "w": 1.50}, - {"matrix": [5, 11], "x": 13.25, "y": 5.5}, - {"matrix": [5, 12], "x": 14.25, "y": 5.5}, - {"matrix": [5, 13], "x": 15.25, "y": 5.5} - ] - }, - "LAYOUT_75_ansi_split_bs": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.25, "y": 0}, - {"matrix": [0, 2], "x": 2.25, "y": 0}, - {"matrix": [0, 3], "x": 3.25, "y": 0}, - {"matrix": [0, 4], "x": 4.25, "y": 0}, - {"matrix": [0, 5], "x": 5.50, "y": 0}, - {"matrix": [0, 6], "x": 6.50, "y": 0}, - {"matrix": [0, 7], "x": 7.50, "y": 0}, - {"matrix": [0, 8], "x": 8.50, "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": 14, "y": 0}, - {"matrix": [0, 14], "x": 15.25, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1.25}, - {"matrix": [1, 1], "x": 1, "y": 1.25}, - {"matrix": [1, 2], "x": 2, "y": 1.25}, - {"matrix": [1, 3], "x": 3, "y": 1.25}, - {"matrix": [1, 4], "x": 4, "y": 1.25}, - {"matrix": [1, 5], "x": 5, "y": 1.25}, - {"matrix": [1, 6], "x": 6, "y": 1.25}, - {"matrix": [1, 7], "x": 7, "y": 1.25}, - {"matrix": [1, 8], "x": 8, "y": 1.25}, - {"matrix": [1, 9], "x": 9, "y": 1.25}, - {"matrix": [1, 10], "x": 10, "y": 1.25}, - {"matrix": [1, 11], "x": 11, "y": 1.25}, - {"matrix": [1, 12], "x": 12, "y": 1.25}, - {"matrix": [1, 13], "x": 13, "y": 1.25}, - {"matrix": [1, 14], "x": 14, "y": 1.25}, - {"matrix": [5, 14], "x": 15.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": [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": [2, 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": 1.75}, - {"matrix": [4, 13], "x": 14.25, "y": 4.5}, - {"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, 8], "x": 10, "y": 5.25, "w": 1.50}, - {"matrix": [5, 10], "x": 11.5, "y": 5.25, "w": 1.50}, - {"matrix": [5, 11], "x": 13.25, "y": 5.5}, - {"matrix": [5, 12], "x": 14.25, "y": 5.5}, - {"matrix": [5, 13], "x": 15.25, "y": 5.5} - ] - }, - "LAYOUT_75_iso_split_bs": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.25, "y": 0}, - {"matrix": [0, 2], "x": 2.25, "y": 0}, - {"matrix": [0, 3], "x": 3.25, "y": 0}, - {"matrix": [0, 4], "x": 4.25, "y": 0}, - {"matrix": [0, 5], "x": 5.50, "y": 0}, - {"matrix": [0, 6], "x": 6.50, "y": 0}, - {"matrix": [0, 7], "x": 7.50, "y": 0}, - {"matrix": [0, 8], "x": 8.50, "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": 14, "y": 0}, - {"matrix": [0, 14], "x": 15.25, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1.25}, - {"matrix": [1, 1], "x": 1, "y": 1.25}, - {"matrix": [1, 2], "x": 2, "y": 1.25}, - {"matrix": [1, 3], "x": 3, "y": 1.25}, - {"matrix": [1, 4], "x": 4, "y": 1.25}, - {"matrix": [1, 5], "x": 5, "y": 1.25}, - {"matrix": [1, 6], "x": 6, "y": 1.25}, - {"matrix": [1, 7], "x": 7, "y": 1.25}, - {"matrix": [1, 8], "x": 8, "y": 1.25}, - {"matrix": [1, 9], "x": 9, "y": 1.25}, - {"matrix": [1, 10], "x": 10, "y": 1.25}, - {"matrix": [1, 11], "x": 11, "y": 1.25}, - {"matrix": [1, 12], "x": 12, "y": 1.25}, - {"matrix": [1, 13], "x": 13, "y": 1.25}, - {"matrix": [1, 14], "x": 14, "y": 1.25}, - {"matrix": [5, 14], "x": 15.25, "y": 1.25}, - {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"matrix": [3, 12], "x": 12.75, "y": 3.25}, - {"matrix": [2, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, - {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, - {"matrix": [4, 13], "x": 14.25, "y": 4.5}, - {"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, 8], "x": 10, "y": 5.25, "w": 1.50}, - {"matrix": [5, 10], "x": 11.5, "y": 5.25, "w": 1.50}, - {"matrix": [5, 11], "x": 13.25, "y": 5.5}, - {"matrix": [5, 12], "x": 14.25, "y": 5.5}, - {"matrix": [5, 13], "x": 15.25, "y": 5.5} - ] - } - } -} diff --git a/keyboards/exclusive/e7v2/keymaps/default/keymap.c b/keyboards/exclusive/e7v2/keymaps/default/keymap.c deleted file mode 100644 index f41b387732..0000000000 --- a/keyboards/exclusive/e7v2/keymaps/default/keymap.c +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│PSc│ │Del│ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│PgU│ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgD│ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┘ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ - * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┐ - * │Ctrl│GUI │Alt │ │ Alt │ GUI │ ← │ ↓ │ → │ - * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ - */ - [0] = LAYOUT_75_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP, - KC_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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT - ) -}; diff --git a/keyboards/exclusive/e7v2/keymaps/default_iso/keymap.c b/keyboards/exclusive/e7v2/keymaps/default_iso/keymap.c deleted file mode 100644 index e6cff42f3f..0000000000 --- a/keyboards/exclusive/e7v2/keymaps/default_iso/keymap.c +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Del│ │PSC│ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│PgU│ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ ENT │PgD│ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┘ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ - * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ - * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │ - * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┐ - * │Ctrl│GUI │Alt │ │ Alt │ GUI │ ← │ ↓ │ → │ - * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ - */ - [0] = LAYOUT_75_iso( - 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_PSCR, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - 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, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT - ) -}; diff --git a/keyboards/exclusive/e7v2/readme.md b/keyboards/exclusive/e7v2/readme.md deleted file mode 100644 index 77345ede70..0000000000 --- a/keyboards/exclusive/e7v2/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# E7-V2 - -![E7-V2](https://i.imgur.com/p7Gi1fZ.jpeg) - -The second revision of a 75% keyboard made by Exclusive and run in a Geekhack group buy. - -* Keyboard Maintainer: [AidanSmith.dev](https://github.com/Aidan-OS) -* Hardware Supported: E7-V2 QMK Solder PCB -* Hardware Availability: [Exclusive's Website](https://exclusive.run/collections/e7-v2) - -Make example for this keyboard (after setting up your build environment): - - make exclusive/e7v2:default - -Flashing example for this keyboard: - - make exclusive/e7v2: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/exclusive/readme.md b/keyboards/exclusive/readme.md index 7bfc559d79..bee613bf45 100644 --- a/keyboards/exclusive/readme.md +++ b/keyboards/exclusive/readme.md @@ -7,6 +7,5 @@ All files related to firmware of keyboards designed by Exclusive. * [e6_rgb](./e6_rgb/): maintainer [astro](https://github.com/yulei) * [e6-v2](./e6v2/): maintainers [MechMerlin](https://github.com/mechmerlin), [amnesia0287](https://github.com/amnesia0287) * [e7-v1](./e7v1): maintainer [masterzen](https://github.com/masterzen) -* [e7-v2](./e7v2): [AidanSmith.dev](https://github.com/Aidan-OS) * [e6.5](./e65): maintainer [masterzen](https://github.com/masterzen) * [e8.5](./e85): maintainer [MechMerlin](https://github.com/mechmerlin) diff --git a/keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c index 8ab1664585..6e4a35a8f8 100644 --- a/keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c +++ b/keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_RSFT, KC_LCTL, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS ), -}; +}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c index 2e47d6d9ec..3f7b131353 100644 --- a/keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c +++ b/keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c @@ -41,4 +41,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_RSFT, KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_RCTL ), -}; +}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c index e51cfd2a07..968a01308e 100644 --- a/keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c +++ b/keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_RSFT, KC_LCTL, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS ), -}; +}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c index c87a59acc9..8d6559f1cd 100644 --- a/keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c +++ b/keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c @@ -41,4 +41,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_RSFT, KC_LCTL, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_LGUI ), -}; +}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c index dba3c066d0..3ea5b41594 100644 --- a/keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c +++ b/keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c @@ -35,4 +35,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FUNCTN), KC_RCTL, KC_HOME, KC_PGDN, KC_END ) -}; +}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/theboulevard/readme.md b/keyboards/eyeohdesigns/theboulevard/readme.md index da18dd4ed8..bfe330ab21 100644 --- a/keyboards/eyeohdesigns/theboulevard/readme.md +++ b/keyboards/eyeohdesigns/theboulevard/readme.md @@ -18,4 +18,4 @@ Flashing example for this keyboard: To enter the bootloader, either depress the reset button on the back of the PCB, or use the `QK_BOOT` keycode found on the function layer. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/fancytech/fancyalice66/fancyalice66.c b/keyboards/fancytech/fancyalice66/fancyalice66.c index a3ba6da13f..72e5355a31 100644 --- a/keyboards/fancytech/fancyalice66/fancyalice66.c +++ b/keyboards/fancytech/fancyalice66/fancyalice66.c @@ -26,4 +26,4 @@ bool rgb_matrix_indicators_kb(void) { } return true; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/fancytech/fancyalice66/keyboard.json b/keyboards/fancytech/fancyalice66/keyboard.json index bfd0547130..c1f0a93f26 100644 --- a/keyboards/fancytech/fancyalice66/keyboard.json +++ b/keyboards/fancytech/fancyalice66/keyboard.json @@ -249,4 +249,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/fancytech/fancyalice66/keymaps/default/keymap.c b/keyboards/fancytech/fancyalice66/keymaps/default/keymap.c index 03cbfe5bd5..7ce470a71c 100644 --- a/keyboards/fancytech/fancyalice66/keymaps/default/keymap.c +++ b/keyboards/fancytech/fancyalice66/keymaps/default/keymap.c @@ -46,4 +46,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, _______, _______, _______, _______, _______, RM_NEXT, _______, RM_VALD, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/fatotesa/keyboard.json b/keyboards/fatotesa/keyboard.json index f300daa8ce..3013e8b812 100644 --- a/keyboards/fatotesa/keyboard.json +++ b/keyboards/fatotesa/keyboard.json @@ -32,9 +32,9 @@ "rows": ["B6", "E6", "D4", "D7", "B4", "B5"] } }, - }, - "bootmagic": { - "matrix": [4, 1] + "bootmagic": { + "matrix": [4, 1] + } }, "matrix_pins": { "cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6", null], @@ -43,7 +43,7 @@ "usb": { "device_version": "1.0.0", "pid": "0x0000", - "vid": "0x5347" + "vid": "0xFEED" }, "layouts": { "LAYOUT": { diff --git a/keyboards/fatotesa/keymaps/default/keymap.c b/keyboards/fatotesa/keymaps/default/keymap.c index a9fadb4142..1f6aa80488 100644 --- a/keyboards/fatotesa/keymaps/default/keymap.c +++ b/keyboards/fatotesa/keymaps/default/keymap.c @@ -13,20 +13,18 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_END, KC_INSERT, KC_DELETE, KC_KB_MUTE, - KC_GRAVE, 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LEFT_BRACKET, KC_RIGHT_BRACKET, KC_ENTER, - OSM(MOD_LCTL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SEMICOLON, KC_QUOTE, KC_BACKSLASH, - OSM(MOD_LSFT), KC_LEFT_ANGLE_BRACKET, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, OSM(MOD_RSFT), - CW_TOGG, OSM(MOD_LGUI), KC_LEFT_ALT, MO(1), OSM(MOD_LALT), KC_SPACE, OSM(MOD_RALT), KC_RIGHT_CTRL, KC_NO, KC_NO - ), - + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_END, KC_INSERT, KC_DELETE, KC_KB_MUTE, + KC_GRAVE, 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, + LT(1, KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LEFT_BRACKET, KC_RIGHT_BRACKET, KC_ENTER, + KC_LEFT_CTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SEMICOLON, KC_QUOTE, KC_BACKSLASH, + KC_LEFT_SHIFT, KC_LEFT_ANGLE_BRACKET, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RIGHT_SHIFT, + CW_TOGG, KC_LWIN, KC_LEFT_ALT, KC_BACKSPACE, KC_LEFT_ALT, KC_SPACE, KC_RIGHT_ALT, KC_RIGHT_CTRL, KC_NO, KC_NO + ), [1] = LAYOUT( - QK_REBOOT, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______ - ) -}; + _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______ + )}; diff --git a/keyboards/fc660c/keymaps/default/README.md b/keyboards/fc660c/keymaps/default/README.md index e1adcd19cc..f813ed0c3e 100644 --- a/keyboards/fc660c/keymaps/default/README.md +++ b/keyboards/fc660c/keymaps/default/README.md @@ -2,4 +2,4 @@ Emulates original keymap. -![](https://i.imgur.com/fg89nez.jpg) +![](https://i.imgur.com/fg89nez.jpg) \ No newline at end of file diff --git a/keyboards/fc660c/keymaps/default_rgb/rules.mk b/keyboards/fc660c/keymaps/default_rgb/rules.mk index 1e3cebb145..7ad666d1a3 100644 --- a/keyboards/fc660c/keymaps/default_rgb/rules.mk +++ b/keyboards/fc660c/keymaps/default_rgb/rules.mk @@ -1 +1 @@ -RGBLIGHT_ENABLE = yes +RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/fearherbs1/blue_team_pad/config.h b/keyboards/fearherbs1/blue_team_pad/config.h index 3c12da6290..63b26f864d 100644 --- a/keyboards/fearherbs1/blue_team_pad/config.h +++ b/keyboards/fearherbs1/blue_team_pad/config.h @@ -7,5 +7,6 @@ #define I2C1_SCL_PIN GP27 #define I2C1_SDA_PIN GP26 #define I2C_DRIVER I2CD1 +#define OLED_DISPLAY_128X32 #define OLED_BRIGHTNESS 128 #endif diff --git a/keyboards/feker/ik75/ik75.c b/keyboards/feker/ik75/ik75.c index d93de7f2ec..c4da77a844 100644 --- a/keyboards/feker/ik75/ik75.c +++ b/keyboards/feker/ik75/ik75.c @@ -161,4 +161,31 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {1, SW10_CS15, SW12_CS15, SW11_CS15}, // 125, Underglow 39 {1, SW10_CS16, SW12_CS16, SW11_CS16}, // 126, Underglow 40 }; + +led_config_t g_led_config = { { + { 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, NO_LED, NO_LED }, + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, NO_LED, 102 }, + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, NO_LED, 105 }, + { 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, NO_LED, 44, 103, 106 }, + { 48, NO_LED, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, NO_LED, 59, 45, 101 }, + { 93, 94, 14, NO_LED, NO_LED, NO_LED, 15, NO_LED, NO_LED, 30, 31, NO_LED, 47, 60, 61, 62 } +}, { + {0 , 15}, {14 , 15}, {29 , 15}, {43 , 15}, {58 , 15}, {72 , 15}, {87 , 15}, {101, 15}, {116, 15}, {130, 15}, {145, 15}, {159, 15}, {173, 15}, {195, 15}, {38 , 61}, {92 , 61}, + {4 , 26}, {22 , 26}, {36 , 26}, {51 , 26}, {65 , 26}, {79 , 26}, {94 , 26}, {108, 26}, {123, 26}, {137, 26}, {152, 26}, {166, 26}, {181, 26}, {199, 26}, {173, 61}, {159, 61}, + {5 , 38}, {25 , 38}, {40 , 38}, {54 , 38}, {69 , 38}, {83 , 38}, {98 , 38}, {112, 38}, {126, 38}, {141, 38}, {155, 38}, {170, 38}, {193, 38}, {206, 52}, {210, 12}, {145, 61}, + {9 , 49}, {33 , 49}, {47 , 49}, {61 , 49}, {76 , 49}, {90 , 49}, {105, 49}, {119, 49}, {134, 49}, {148, 49}, {163, 49}, {182, 49}, {191, 64}, {206, 64}, {220, 64}, + {14 , 0}, {28 , 0}, {53 , 0}, {63 , 0}, {74 , 0}, {88 , 0}, {102, 0}, {116, 0}, {130, 0}, {144, 0}, {158, 0}, {172, 0}, {189, 0}, {210, 0}, {224, 0}, {224, 11}, + {0 , 0}, {18 , 0}, {33 , 0}, {47 , 0}, {61 , 0}, {79 , 0}, {94 , 0}, {108, 0}, {123, 0}, {141, 0}, {155, 0}, {170, 0}, {184, 0}, {202, 0}, {2 , 61}, {20 , 61}, + {0 , 0}, {0 , 11}, {0 , 27}, {0 , 37}, {224, 5}, {210, 5}, {217, 0}, {224, 15}, {224, 38}, {210, 18}, {224, 26}, {224, 49}, {224, 56}, {224, 45}, {224, 35}, {224, 24}, + {0 , 48}, {0 , 56}, {0 , 64}, {14 , 64}, {28 , 64}, {49 , 64}, {67 , 64}, {84 , 64}, {98 , 64}, {112, 64}, {126, 64}, {140, 64}, {158, 64}, {172, 64}, {196, 64}, {224, 64}, +}, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 8, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 2, 2, 2, 2, 1, 1, 4, 4, 4, 8, 4, 4, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +} }; #endif diff --git a/keyboards/feker/ik75/keyboard.json b/keyboards/feker/ik75/keyboard.json index c368c188a7..03b86e5d8b 100644 --- a/keyboards/feker/ik75/keyboard.json +++ b/keyboards/feker/ik75/keyboard.json @@ -55,135 +55,6 @@ "solid_multisplash": true }, "driver": "is31fl3733", - "layout": [ - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 14, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 43, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 58, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 72, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 87, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 101, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 116, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 130, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 145, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 159, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 173, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 195, "y": 15, "flags": 1}, - {"matrix": [5, 2], "x": 38, "y": 61, "flags": 1}, - {"matrix": [5, 6], "x": 92, "y": 61, "flags": 4}, - {"matrix": [2, 0], "x": 4, "y": 26, "flags": 1}, - {"matrix": [2, 1], "x": 22, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 36, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 51, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 65, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 79, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 94, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 108, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 123, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 137, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 152, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 166, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 181, "y": 26, "flags": 4}, - {"matrix": [2, 13], "x": 199, "y": 26, "flags": 4}, - {"matrix": [5, 9], "x": 173, "y": 61, "flags": 1}, - {"matrix": [5, 10], "x": 159, "y": 61, "flags": 1}, - {"matrix": [3, 0], "x": 5, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 25, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 54, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 69, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 83, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 98, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 126, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 141, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 155, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 170, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 193, "y": 38, "flags": 1}, - {"matrix": [4, 14], "x": 206, "y": 52, "flags": 4}, - {"x": 210, "y": 12, "flags": 8}, - {"matrix": [5, 12], "x": 145, "y": 61, "flags": 1}, - {"matrix": [4, 0], "x": 9, "y": 49, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 47, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 61, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 76, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 90, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 105, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 119, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 134, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 148, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 163, "y": 49, "flags": 4}, - {"matrix": [4, 13], "x": 182, "y": 49, "flags": 1}, - {"matrix": [5, 13], "x": 191, "y": 64, "flags": 4}, - {"matrix": [5, 14], "x": 206, "y": 64, "flags": 4}, - {"matrix": [5, 15], "x": 220, "y": 64, "flags": 4}, - {"x": 14, "y": 0, "flags": 2}, - {"x": 28, "y": 0, "flags": 2}, - {"x": 53, "y": 0, "flags": 2}, - {"x": 63, "y": 0, "flags": 2}, - {"x": 74, "y": 0, "flags": 2}, - {"x": 88, "y": 0, "flags": 2}, - {"x": 102, "y": 0, "flags": 2}, - {"x": 116, "y": 0, "flags": 2}, - {"x": 130, "y": 0, "flags": 2}, - {"x": 144, "y": 0, "flags": 2}, - {"x": 158, "y": 0, "flags": 2}, - {"x": 172, "y": 0, "flags": 2}, - {"x": 189, "y": 0, "flags": 2}, - {"x": 210, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 11, "flags": 2}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 18, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 47, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 61, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 79, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 94, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 108, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 123, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 141, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 155, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 170, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 184, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 4}, - {"matrix": [5, 0], "x": 2, "y": 61, "flags": 1}, - {"matrix": [5, 1], "x": 20, "y": 61, "flags": 1}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 0, "y": 11, "flags": 2}, - {"x": 0, "y": 27, "flags": 2}, - {"x": 0, "y": 37, "flags": 2}, - {"x": 224, "y": 5, "flags": 1}, - {"x": 210, "y": 5, "flags": 1}, - {"matrix": [4, 15], "x": 217, "y": 0, "flags": 4}, - {"matrix": [1, 15], "x": 224, "y": 15, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 38, "flags": 4}, - {"x": 210, "y": 18, "flags": 8}, - {"matrix": [2, 15], "x": 224, "y": 26, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 49, "flags": 4}, - {"x": 224, "y": 56, "flags": 2}, - {"x": 224, "y": 45, "flags": 2}, - {"x": 224, "y": 35, "flags": 2}, - {"x": 224, "y": 24, "flags": 2}, - {"x": 0, "y": 48, "flags": 2}, - {"x": 0, "y": 56, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 14, "y": 64, "flags": 2}, - {"x": 28, "y": 64, "flags": 2}, - {"x": 49, "y": 64, "flags": 2}, - {"x": 67, "y": 64, "flags": 2}, - {"x": 84, "y": 64, "flags": 2}, - {"x": 98, "y": 64, "flags": 2}, - {"x": 112, "y": 64, "flags": 2}, - {"x": 126, "y": 64, "flags": 2}, - {"x": 140, "y": 64, "flags": 2}, - {"x": 158, "y": 64, "flags": 2}, - {"x": 172, "y": 64, "flags": 2}, - {"x": 196, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2} - ], "max_brightness": 200 }, "build": { diff --git a/keyboards/feker/ik75/keymaps/default/keymap.c b/keyboards/feker/ik75/keymaps/default/keymap.c index 836beb7e0e..7dd762a6ec 100644 --- a/keyboards/feker/ik75/keymaps/default/keymap.c +++ b/keyboards/feker/ik75/keymaps/default/keymap.c @@ -101,6 +101,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case (LED_FLAG_UNDERGLOW): { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } + } + return false; + } + + return true; +} + bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(46, 0, 0, 0); rgb_matrix_set_color(104, 0, 0, 0); diff --git a/keyboards/ferris/readme.md b/keyboards/ferris/readme.md index be4199532e..0d1fe284fd 100644 --- a/keyboards/ferris/readme.md +++ b/keyboards/ferris/readme.md @@ -8,7 +8,8 @@ A split 34 keys column staggered keyboard named and decorated after the rustlang * Hardware Supported: * Ferris 0.1 (With atmega32u4 chip. Comes in 4 variants: base, low, high and compact) * Ferris 0.2 (With stm32f072 chip. Comes in 4 variants: bling, mini, high and compact) - * Ferris sweep (With pro-micro. Comes in a couple of PCB edge cut shapes, but with an identical pinout) + * Ferris sweep (With pro-micro. Comes in a couple of PCB edge cuts shapes, but with identical pinout) +* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com) Make examples for this keyboard (after setting up your build environment): diff --git a/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c b/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c index 754e4ef55a..8baf4b6f9d 100644 --- a/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c +++ b/keyboards/fjlabs/mk61rgbansi/keymaps/default/keymap.c @@ -37,4 +37,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 ) -}; +}; \ No newline at end of file diff --git a/keyboards/fjlabs/peaker/readme.md b/keyboards/fjlabs/peaker/readme.md index 819923309d..ca85b99629 100644 --- a/keyboards/fjlabs/peaker/readme.md +++ b/keyboards/fjlabs/peaker/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): 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). -You can enter the bootloader by pressing the Reset button on the back of the PCB. +You can enter the bootloader by pressing the Reset button on the back of the PCB. \ No newline at end of file diff --git a/keyboards/fjlabs/sinanju/readme.md b/keyboards/fjlabs/sinanju/readme.md index be9d37ce26..9d3a0f4330 100644 --- a/keyboards/fjlabs/sinanju/readme.md +++ b/keyboards/fjlabs/sinanju/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): 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 can be entered by pressing the reset button near the main microcontroller while the board is plugged in. Alternatively, it may be entered by holding the top-left-most switch and plugging in the PCB while held. +Bootloader can be entered by pressing the reset button near the main microcontroller while the board is plugged in. Alternatively, it may be entered by holding the top-left-most switch and plugging in the PCB while held. \ No newline at end of file diff --git a/keyboards/fjlabs/tf60ansi/keymaps/default/keymap.c b/keyboards/fjlabs/tf60ansi/keymaps/default/keymap.c index 754e4ef55a..8baf4b6f9d 100644 --- a/keyboards/fjlabs/tf60ansi/keymaps/default/keymap.c +++ b/keyboards/fjlabs/tf60ansi/keymaps/default/keymap.c @@ -37,4 +37,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 ) -}; +}; \ No newline at end of file diff --git a/keyboards/fjlabs/tf60ansi/readme.md b/keyboards/fjlabs/tf60ansi/readme.md index b77c773015..274db0c27e 100644 --- a/keyboards/fjlabs/tf60ansi/readme.md +++ b/keyboards/fjlabs/tf60ansi/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/fjlabs/tf60v2/keymaps/default/keymap.c b/keyboards/fjlabs/tf60v2/keymaps/default/keymap.c index 18d069a006..7d6549847a 100644 --- a/keyboards/fjlabs/tf60v2/keymaps/default/keymap.c +++ b/keyboards/fjlabs/tf60v2/keymaps/default/keymap.c @@ -37,4 +37,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 ) -}; +}; \ No newline at end of file diff --git a/keyboards/fjlabs/tf60v2/readme.md b/keyboards/fjlabs/tf60v2/readme.md index ce3ac0fac3..73b1473e2a 100644 --- a/keyboards/fjlabs/tf60v2/readme.md +++ b/keyboards/fjlabs/tf60v2/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/fjlabs/tf65rgbv2/keymaps/default/keymap.c b/keyboards/fjlabs/tf65rgbv2/keymaps/default/keymap.c index 8548cf99e1..3b77e6f3d3 100644 --- a/keyboards/fjlabs/tf65rgbv2/keymaps/default/keymap.c +++ b/keyboards/fjlabs/tf65rgbv2/keymaps/default/keymap.c @@ -37,4 +37,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 ) -}; +}; \ No newline at end of file diff --git a/keyboards/fjlabs/tf65rgbv2/readme.md b/keyboards/fjlabs/tf65rgbv2/readme.md index 47753b4fd7..b46c40cbfe 100644 --- a/keyboards/fjlabs/tf65rgbv2/readme.md +++ b/keyboards/fjlabs/tf65rgbv2/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/flashquark/horizon_z/keyboard.json b/keyboards/flashquark/horizon_z/keyboard.json index d0af1eda4e..8e3ba47e4d 100755 --- a/keyboards/flashquark/horizon_z/keyboard.json +++ b/keyboards/flashquark/horizon_z/keyboard.json @@ -188,4 +188,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/flashquark/horizon_z/keymaps/default/keymap.c b/keyboards/flashquark/horizon_z/keymaps/default/keymap.c index 9930ca62c5..eb2dbdc22d 100755 --- a/keyboards/flashquark/horizon_z/keymaps/default/keymap.c +++ b/keyboards/flashquark/horizon_z/keymaps/default/keymap.c @@ -32,4 +32,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_MNXT, 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/flashquark/horizon_z/readme.md b/keyboards/flashquark/horizon_z/readme.md index 9eb848ebb9..0c4e8d5745 100755 --- a/keyboards/flashquark/horizon_z/readme.md +++ b/keyboards/flashquark/horizon_z/readme.md @@ -17,4 +17,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader -Press reset button on the back of keyboard. +Press reset button on the back of keyboard. \ No newline at end of file diff --git a/keyboards/fleuron/readme.md b/keyboards/fleuron/readme.md index b406cf345e..286ceb7cf8 100644 --- a/keyboards/fleuron/readme.md +++ b/keyboards/fleuron/readme.md @@ -13,4 +13,4 @@ Make example for this keyboard (after setting up your build environment): make fleuron:default to build firmware make fleuron:default:dfu to make and flash with dfu -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file diff --git a/keyboards/flx/virgo/keymaps/default/keymap.c b/keyboards/flx/virgo/keymaps/default/keymap.c index 0117efc0b2..f2c72ec9b4 100644 --- a/keyboards/flx/virgo/keymaps/default/keymap.c +++ b/keyboards/flx/virgo/keymaps/default/keymap.c @@ -49,4 +49,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 ), -}; +}; \ No newline at end of file diff --git a/keyboards/flxlb/zplit/keyboard.json b/keyboards/flxlb/zplit/keyboard.json index 07bdfe7a57..fdbe34fc7e 100644 --- a/keyboards/flxlb/zplit/keyboard.json +++ b/keyboards/flxlb/zplit/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "zplit", "manufacturer": "fluxlab", + "url": "https://github.com/cccywj/qmk_firmware", "maintainer": "flxlb", "usb": { "vid": "0x7076", diff --git a/keyboards/fortitude60/readme.md b/keyboards/fortitude60/readme.md index ce0bbe50ed..21884df3c3 100644 --- a/keyboards/fortitude60/readme.md +++ b/keyboards/fortitude60/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make fortitude60/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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/foxlab/leaf60/readme.md b/keyboards/foxlab/leaf60/readme.md index 6faebcbe6f..994915680c 100644 --- a/keyboards/foxlab/leaf60/readme.md +++ b/keyboards/foxlab/leaf60/readme.md @@ -4,4 +4,4 @@ The Leaf60 is a 60% gasket mount board sold via [Geekhack Group Buy](https://gee It was available with a universal layout PCB and a hotswap tsangan PCB. -**Firmware generated for one PCB will not work on the other.** +**Firmware generated for one PCB will not work on the other.** \ No newline at end of file diff --git a/keyboards/frobiac/blackbowl/matrix.c b/keyboards/frobiac/blackbowl/matrix.c index 1210538734..2a2c2618ab 100644 --- a/keyboards/frobiac/blackbowl/matrix.c +++ b/keyboards/frobiac/blackbowl/matrix.c @@ -20,6 +20,7 @@ #include "timer.h" #define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2) +#define ROW_SHIFTER ((matrix_row_t)1) static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col); @@ -99,10 +100,10 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) if (col_state & (1 << current_row)) { // key closed; set state bit in matrix - current_matrix[current_row] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[current_row] |= (ROW_SHIFTER << current_col); } else { // key open; clear state bit in matrix - current_matrix[current_row] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[current_row] &= ~(ROW_SHIFTER << current_col); } // Determine whether the matrix changed state diff --git a/keyboards/frooastboard/nano/keyboard.json b/keyboards/frooastboard/nano/keyboard.json index 224699d121..45e3dc75d6 100644 --- a/keyboards/frooastboard/nano/keyboard.json +++ b/keyboards/frooastboard/nano/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Frooastboard Nano", "manufacturer": "frooastside", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/frooastboard/nano", "maintainer": "frooastside", "diode_direction": "COL2ROW", "layouts": { diff --git a/keyboards/frooastboard/walnut/keyboard.json b/keyboards/frooastboard/walnut/keyboard.json index 174adcc7db..f1958c04a2 100644 --- a/keyboards/frooastboard/walnut/keyboard.json +++ b/keyboards/frooastboard/walnut/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Frooastboard Walnut", "manufacturer": "Frooastside", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/frooastboard/walnut", "maintainer": "Frooastside", "diode_direction": "COL2ROW", "processor": "atmega32u4", @@ -47,56 +48,6 @@ "speed": 191 }, "driver": "is31fl3737", - "layout": [ - {"x": 0, "y": 62, "flags": 2}, - {"x": 0, "y": 50, "flags": 2}, - {"x": 0, "y": 38, "flags": 2}, - {"x": 0, "y": 26, "flags": 2}, - {"x": 0, "y": 14, "flags": 2}, - {"x": 0, "y": 2, "flags": 2}, - {"x": 0, "y": 2, "flags": 2}, - {"x": 12, "y": 2, "flags": 2}, - {"x": 24, "y": 2, "flags": 2}, - {"x": 36, "y": 2, "flags": 2}, - {"x": 48, "y": 2, "flags": 2}, - {"x": 60, "y": 2, "flags": 2}, - {"x": 72, "y": 2, "flags": 2}, - {"x": 84, "y": 2, "flags": 2}, - {"x": 96, "y": 2, "flags": 2}, - {"x": 108, "y": 2, "flags": 2}, - {"x": 120, "y": 2, "flags": 2}, - {"x": 132, "y": 2, "flags": 2}, - {"x": 144, "y": 2, "flags": 2}, - {"x": 156, "y": 2, "flags": 2}, - {"x": 168, "y": 2, "flags": 2}, - {"x": 180, "y": 2, "flags": 2}, - {"x": 192, "y": 2, "flags": 2}, - {"x": 204, "y": 2, "flags": 2}, - {"x": 204, "y": 2, "flags": 2}, - {"x": 204, "y": 14, "flags": 2}, - {"x": 204, "y": 26, "flags": 2}, - {"x": 204, "y": 38, "flags": 2}, - {"x": 204, "y": 50, "flags": 2}, - {"x": 204, "y": 62, "flags": 2}, - {"x": 204, "y": 62, "flags": 2}, - {"x": 192, "y": 62, "flags": 2}, - {"x": 180, "y": 62, "flags": 2}, - {"x": 168, "y": 62, "flags": 2}, - {"x": 156, "y": 62, "flags": 2}, - {"x": 144, "y": 62, "flags": 2}, - {"x": 132, "y": 62, "flags": 2}, - {"x": 120, "y": 62, "flags": 2}, - {"x": 108, "y": 62, "flags": 2}, - {"x": 96, "y": 62, "flags": 2}, - {"x": 84, "y": 62, "flags": 2}, - {"x": 72, "y": 62, "flags": 2}, - {"x": 60, "y": 62, "flags": 2}, - {"x": 48, "y": 62, "flags": 2}, - {"x": 36, "y": 62, "flags": 2}, - {"x": 24, "y": 62, "flags": 2}, - {"x": 12, "y": 62, "flags": 2}, - {"x": 0, "y": 62, "flags": 2} - ], "max_brightness": 191, "sleep": true }, diff --git a/keyboards/frooastboard/walnut/walnut.c b/keyboards/frooastboard/walnut/walnut.c index 448895ec68..0de3467ae4 100644 --- a/keyboards/frooastboard/walnut/walnut.c +++ b/keyboards/frooastboard/walnut/walnut.c @@ -61,4 +61,26 @@ const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = { {0, SW2_CS11, SW1_CS11, SW3_CS11}, {0, SW2_CS12, SW1_CS12, SW3_CS12} }; + +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 } + }, { + {0, 62}, {0, 50}, {0, 38}, {0, 26}, {0, 14}, {0, 2}, + {0, 2}, {12, 2}, {24, 2}, {36, 2}, {48, 2}, {60, 2}, {72, 2}, {84, 2}, {96, 2}, {108, 2}, {120, 2}, {132, 2}, {144, 2}, {156, 2}, {168, 2}, {180, 2}, {192, 2}, {204, 2}, + {204, 2}, {204, 14}, {204, 26}, {204, 38}, {204, 50}, {204, 62}, + {204, 62}, {192, 62}, {180, 62}, {168, 62}, {156, 62}, {144, 62}, {132, 62}, {120, 62}, {108, 62}, {96, 62}, {84, 62}, {72, 62}, {60, 62}, {48, 62}, {36, 62}, {24, 62}, {12, 62}, {0, 62} + }, { + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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 // defined(RGB_MATRIX_ENABLE) diff --git a/keyboards/fruitykeeb/fruitbar/r2/config.h b/keyboards/fruitykeeb/fruitbar/r2/config.h index c1f6f883a6..320889eb91 100644 --- a/keyboards/fruitykeeb/fruitbar/r2/config.h +++ b/keyboards/fruitykeeb/fruitbar/r2/config.h @@ -19,3 +19,6 @@ along with this program. If not, see . #define I2C_DRIVER I2CD1 #define I2C1_SCL_PIN GP27 #define I2C1_SDA_PIN GP26 + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U diff --git a/keyboards/fungo/rev1/post_config.h b/keyboards/fungo/rev1/post_config.h index a2d7c1dff6..16a06bf0c7 100644 --- a/keyboards/fungo/rev1/post_config.h +++ b/keyboards/fungo/rev1/post_config.h @@ -27,4 +27,4 @@ #ifndef MOUSEKEY_INITIAL_SPEED #define MOUSEKEY_INITIAL_SPEED 20 -#endif +#endif \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/da-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/da-keymap.json index 9e9a8798a7..5bc62f4bca 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/da-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/da-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",70938],"tlw":["a",1885],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",6312],"tlw":["s",729],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",51462],"tlw":["saa",14038],"lp":["sa","saa","as","ass","wa","aas","ssa","sas","ww","aw","saas","www","assa","ssaa","ws"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",2647],"tlw":["e",88],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ae",65201],"tlw":["ae",1518],"lp":["ae","aae","ex","ea","ax","aee","xe","xa","exa","exe","axe","aex","eae"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",283077],"tlw":["de",23660],"lp":["de","ed","es","se","ede","ds","des","sse","dd","dse","ess","dde","eds","edes","ese","sed","ded","see","dede","sede"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",24996],"tlw":["da",8071],"lp":["ad","da","ade","aes","aad","sae","aed","ada","sad","aede","aade","saad","aada","ads","asse","aese","dae","dda","esa","we"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",16147],"tlw":["t",62],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",52505],"tlw":["at",39486],"lp":["at","ta","af","fa","ft","att","taa","faa","aft","aat","ff","aatt","fat","fatt","aff","tat","tf","ata","fta","afta"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",66160],"tlw":["c",179],"lp":["st","ts","sc","sst","ct","cc","tc","cs","cst","tst","tsc","tts","sts"],"rp":[]},"11":{"input":[1,2,4],"tlp":["sta",9134],"tlw":["fast",485],"lp":["sta","ast","sat","staa","ca","satt","tsa","fas","fast","fs","afs","ac","asta","sf","tas","tsaa","fst","afst","stat","tsat"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",200106],"tlw":["er",24396],"lp":["er","et","te","re","ere","rt","ter","tr","tte","ret","ett","ette","rte","ert","rr","tet","tter","rer","rre","eret"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",71256],"tlw":["fra",7354],"lp":["ar","ra","aer","fr","aar","aere","fte","fra","ef","tra","rae","are","fter","tae","eft","atte","efte","aet","fre","rf"],"rp":[]},"14":{"input":[2,3,4],"tlp":["det",50507],"tlw":["det",40064],"lp":["det","der","dt","ste","rd","dr","rs","est","dre","red","res","este","rde","ted","dere","rst","dte","rede","dst","str"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["aest",3267],"tlw":["satte",874],"lp":["aest","stra","stae","ader","ard","aerd","ared","rsta","saet","rda","derf","aard","fes","tad","stad","raad","dra","fred","fess","raed"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",12763],"trw":["n",53],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",107331],"trp":["na",18738],"tlw":["an",271],"trw":["naa",705],"lp":["an","aan","ann","anna","ana"],"rp":["na","naa","nan","nna","naan"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",2823],"trp":["ns",25305],"trw":["j",68],"lp":["sn","sj"],"rp":["ns","jn","js","nj","nss","jj"]},"19":{"input":[1,2,5],"tlp":["ans",12498],"trp":["ja",8744],"tlw":["sans",47],"trw":["ja",3506],"lp":["ans","san","sna","sja","aj","ajn","ssan","ansa","aaj","sans","snaa","wan","wn","asn","aasn"],"rp":["ja","nsa","jan","nas","nsaa"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",215951],"trp":["ne",54829],"tlw":["en",31130],"trw":["nye",787],"lp":["en","ene","enn","enne","enen","een","ey","eny"],"rp":["ne","nne","yn","nen","ny","ye","nene","yne","nye","yen","nnen","nee"]},"21":{"input":[1,3,5],"tlp":["aen",11318],"trp":["nae",4921],"tlw":["anne",45],"trw":["nae",24],"lp":["aen","anne","ane","aene","aane","aaen","anen","ay","ena","any","aany","ean","eann","aenn","xen"],"rp":["nae","naae","ya","yan","naee"]},"22":{"input":[2,3,5],"tlp":["den",50813],"trp":["nd",90348],"tlw":["den",24655],"trw":["ned",3104],"lp":["den","end","ende","ens","ej","sen","sy","dn","syn"],"rp":["nd","nde","je","nden","ned","ys","ndes","jen","nes","yd","nds"]},"23":{"input":[1,2,3,5],"tlp":["and",24671],"trp":["jae",3560],"tlw":["anden",1960],"trw":["naade",237],"lp":["and","ande","dan","aend","aand","adan","ands","aden","dann","sand","anse","sjae","dans","aned"],"rp":["jae","naes","nand","nda","naad","ndda"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["tn",1655],"trp":["nt",13043],"tlw":["b",55],"lp":["tn","bt","bn","bb","tb"],"rp":["nt","nb","ntn"]},"25":{"input":[1,4,5],"tlp":["ba",11045],"trp":["nat",1917],"tlw":["tabt",109],"trw":["nat",438],"lp":["ba","ab","tan","ant","aab","fan","ban","baa","abt","abn","aabn","aabt","anta","tab","tabt","fb"],"rp":["nat","nf","nta","natt"]},"26":{"input":[2,4,5],"tlp":["tj",1039],"trp":["nst",1524],"lp":["tj","bj","sb","stj","stn","bs","tsj","sbj"],"rp":["nst","nc","jst","jt","nsb","nstn","ncs","ncst","nct","jnb","nbj","jnbj"]},"27":{"input":[1,2,4,5],"tlp":["stan",1647],"trp":["nsta",463],"tlw":["satan",75],"lp":["stan","fj","anc","bac","taj","abs","tja","stja","tajn","sant","bja","anst","asb","asbj","bas","tans"],"rp":["nsta","ntas","nsat","jac"]},"28":{"input":[3,4,5],"tlp":["be",22658],"trp":["nte",7013],"tlw":["byen",409],"trw":["nyt",305],"lp":["be","rn","ren","ten","br","rne","ern","erne","ent","ry","ty","eb","rb","ber","eren","bet","ente"],"rp":["nte","ner","net"]},"29":{"input":[1,3,4,5],"tlp":["ran",3013],"trp":["naar",3178],"tlw":["bare",1165],"trw":["naar",3077],"lp":["ran","taen","bar","abe","ante","ften","arb","arbe","bra","raen","bare","fy","arn","aeb","bae","barn"],"rp":["naar","nar","naer","nart"]},"30":{"input":[2,3,4,5],"tlp":["sten",3731],"trp":["nder",8663],"tlw":["syntes",800],"trw":["jer",433],"lp":["sten","endt","bes","bed","rden","rej","bej","rejs","rbej","bejd","best","dern"],"rp":["nder","ndt","ndr","ndre","ndet","jer","ndte","yst"]},"31":{"input":[1,2,3,4,5],"tlw":["andre",1970],"trw":["naesten",941],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",246],"trw":["i",43365],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",419],"trp":["ia",2518],"lp":["ai","za","zi","az"],"rp":["ia","iz"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",39075],"trp":["ik",32997],"tlw":["si",156],"trw":["is",201],"lp":["si","sk","ski","sik","ssi","sikk","sis","skik"],"rp":["ik","kk","ikk","is","ki","ks","isk","iss","kik","ksi","ksis","kikk"]},"35":{"input":[1,2,6],"tlp":["ska",8476],"trp":["ka",23048],"tlw":["zak",168],"trw":["ka",248],"lp":["ska","ak","akk","ask","wi","aks","aask","aksi","asi","zak","aka","skaa","assi","aak"],"rp":["ka","kas","kaa","isa","ika","kass"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",2228],"trp":["ie",6094],"tlw":["ei",448],"lp":["ei","eie"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",48],"trp":["ix",31],"trw":["ix",31],"lp":["ze","xi","axi","aie","eiz","aei","aze"],"rp":["ix","iae"]},"38":{"input":[2,3,6],"tlp":["di",14167],"trp":["ke",57169],"tlw":["disse",1266],"trw":["ikke",20180],"lp":["di","ske","ek","sid","side","esk","ekk","ekke","eske"],"rp":["ke","kke","id","ikke","ide","ked","kede","ids","ise","kked","iske"]},"39":{"input":[1,2,3,6],"tlp":["aek",2798],"trp":["kae",1766],"tlw":["skade",99],"trw":["ida",70],"lp":["aek","akke","aekk","aske","skae","adi","dska","daek","adsk","eka","skad","aesk","eska","aeks"],"rp":["kae","idda","isae","ida","kad","kade"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",51178],"trp":["iv",10524],"tlw":["vi",7341],"trw":["it",23],"lp":["ti","vi","vt","tv","tvi","tiv","viv","tti","tviv","tit","vit","vv","vitt","tivt"],"rp":["iv","it","iti","itt","itti","ivt"]},"41":{"input":[1,4,6],"tlp":["va",50676],"trp":["if",1405],"tlw":["tav",135],"lp":["va","av","fi","ati","tav","avi","vaa","fti","tia","vf","avt","atti","tva","afti","tz"],"rp":["if","ift","iva","ita","itz"]},"42":{"input":[2,4,6],"tlp":["vis",7341],"trp":["ist",4703],"tlw":["sit",2281],"lp":["vis","sti","sv","sit","vist","vs","tis","tisk","ci","svi","visk","vik","tik"],"rp":["ist","kt","kv","kvi","isti","ic","kti"]},"43":{"input":[1,2,4,6],"tlp":["sva",3328],"trp":["kast",607],"tlw":["fik",1865],"trw":["kat",43],"lp":["sva","fik","akt","tak","avs","stak","takk","akti","tavs","fak","stia","fakt","fis","fisk","sav"],"rp":["kast","kat","kaf","kaff","kva"]},"44":{"input":[3,4,6],"tlp":["ve",58500],"trp":["ive",7238],"tlw":["rev",144],"trw":["iver",59],"lp":["ve","ri","ver","ev","eve","vet","eri","rv","rti","rev","vir","evet","rve","rie","vr"],"rp":["ive","ir","iver","ivet","ier"]},"45":{"input":[1,3,4,6],"tlp":["var",27429],"trp":["ifte",524],"tlw":["var",23713],"trw":["ivar",148],"lp":["var","vae","vaer","ave","vare","aev","eva","ari","fri","evae","rav","aeve","arv","arve","avet","farv","aver","verf","arie"],"rp":["ifte"]},"46":{"input":[2,3,4,6],"tlp":["ved",13008],"trp":["kr",7446],"tlw":["ved",9023],"trw":["idet",571],"lp":["ved","vd","vde","rk","tid","rke","vid","erk","dri","skr","vede","vide","erke"],"rp":["kr","ker","idt","ket","kri","idst","kker"]},"47":{"input":[1,2,3,4,6],"tlw":["svarede",1115],"trw":["kastede",275],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",55966],"trw":["h",182],"lp":[],"rp":["in","ni","nin","hi","nh","hin","inn","ih","nni","ini","hn","nnin","hinn","hini","hii","iin","hiin"]},"49":{"input":[1,5,6],"tlp":["ani",433],"trp":["ha",84475],"tlw":["zina",155],"trw":["han",28303],"lp":["ani","ah","anz","anni","zin","zina","ania"],"rp":["ha","han","haa","ina","haan","hina","inan","nha","ian","hann","nia","nz","nina"]},"50":{"input":[2,5,6],"tlp":["sin",8509],"trp":["nk",7187],"tlw":["sin",5448],"trw":["nik",30],"lp":["sin","skj","sni","sh","skin","snin"],"rp":["nk","hj","kn","nsk","kj","nsi","nik","kin","his","kni","ink","knin","nikk","nis"]},"51":{"input":[1,2,5,6],"tlp":["ansk",2386],"trp":["kan",8041],"tlw":["sank",149],"trw":["kan",7261],"lp":["ansk","ank","ansi","snak","skja","sha","sank","win"],"rp":["kan","hans","hja","kja","kna","hw","nak","nakk","nska","has","hwa","jak"]},"52":{"input":[3,5,6],"tlp":["enh",1378],"trp":["he",30604],"trw":["hen",2065],"lp":["enh","eh","eni","enin","enhe","ein"],"rp":["he","hen","ine","ien","hy","nie","nei","nhe","inne","inen","henn","ihe","hei","hein"]},"53":{"input":[1,3,5,6],"tlp":["enha",462],"trp":["hae",2302],"tlw":["annie",37],"trw":["hanne",108],"lp":["enha","eha","anie","ehan","einz","zen","enia","ahy","ehaa"],"rp":["hae","haen","nhae","hea","hena","hane","iane","haie"]},"54":{"input":[2,3,5,6],"tlp":["enk",3299],"trp":["ind",17207],"tlw":["sine",1896],"trw":["ind",4197],"lp":["enk","din","sky","ekn","enke","sine"],"rp":["ind","inde","hend","hed","ken","nke","iden","yk","nske","ky","hje","ykk","ykke","kend"]},"55":{"input":[1,2,3,5,6],"tlw":["danske",357],"trw":["hinanden",807],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["vin",3191],"trp":["hv",22271],"tlw":["thi",704],"trw":["int",55],"lp":["vin","vn","bi","th","tin","tni","tnin","thi","bin","vint"],"rp":["hv","hvi","int","ib","nv","nti","nhv","ntin","nit","niv"]},"57":{"input":[1,4,5,6],"tlp":["van",3040],"trp":["hav",16151],"tlw":["tania",150],"trw":["navn",505],"lp":["van","fin","avn","anv","tian","tha","avni","tani","vant","bav"],"rp":["hav","hva","nav","navn","havn","haf","haft","haab","nhav","hat"]},"58":{"input":[2,4,5,6],"tlp":["ch",2279],"trp":["hvis",2968],"tlw":["skib",43],"trw":["hvis",2525],"lp":["ch","svin","stin","visn","sch","sth","skib","vsh","chs","vink"],"rp":["hvis","nkt","kvin","hist","ich","kib","inst","istn","nist","nsv"]},"59":{"input":[1,2,4,5,6],"tlw":["skabt",80],"trw":["kant",116],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["ven",8299],"trp":["her",6089],"tlw":["ven",504],"trw":["her",3645],"lp":["ven","rin","rh","bev","vent","vne","the","erh","even","beh","evn","rbi","erin","etni"],"rp":["her","hve","hver","inte","hr","herr"]},"61":{"input":[1,3,4,5,6],"tlw":["fine",167],"trw":["har",10914],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["vendte",689],"trw":["hvide",710],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["finde",734],"trw":["havde",11721],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",54],"trw":["o",656],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",60],"trp":["oa",43],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",30717],"trp":["os",7769],"tlw":["so",193],"trw":["os",2349],"lp":["so","sos","sso"],"rp":["os","oss","oso"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",536],"trp":["ow",474],"tlw":["wos",58],"lp":["wo","aso","sow","wos","aaso","saso","aos"],"rp":["ow","osa"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",700],"trp":["oe",2132],"trw":["-",3902],"lp":["eo","e-"],"rp":["oe","-o","-e","-e-"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",13],"trp":["ox",139],"trw":["-aa",53],"lp":["a-","aa-","a-e","aa-e","a-e-"],"rp":["ox","oxe","-a","-aa"]},"70":{"input":[2,3,7],"tlp":["do",7429],"trp":["od",24132],"tlw":["dod",445],"trw":["ode",82],"lp":["do","eso","dod","dode","soe","esso","sod","dso","sode"],"rp":["od","ode","ods","oed","ose","oede","osse","odd","-d","odde","-de"]},"71":{"input":[1,2,3,7],"tlp":["ado",19],"trp":["odsa",172],"trw":["-saa",39],"lp":["ado"],"rp":["odsa","owe","-sa","-saa","odda","oda"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["gt",20766],"trp":["og",89433],"tlw":["to",2228],"trw":["og",64213],"lp":["gt","to","go","gg","tog","tot","tott","gtt","tto","gtto","ttog","tg","tgo","ggo"],"rp":["og","ot","ogt","ott","oot","oto"]},"73":{"input":[1,4,7],"tlp":["fo",49386],"trp":["of",4123],"tlw":["gaa",1197],"trw":["of",77],"lp":["fo","ag","ga","gaa","agt","tag","aag","tfo","fg","afg","agg","fag","tof","taag","fgo","afgo"],"rp":["of","oft","off","ofa"]},"74":{"input":[2,4,7],"tlp":["sto",10153],"trp":["ogs",3950],"tlw":["sogt",61],"trw":["ost",168],"lp":["sto","gs","sog","sogt","gst","sg","co","gso","sost","stot","tos","soc","toss","gts","sgo","gc"],"rp":["ogs","ost","oc","ogst"]},"75":{"input":[1,2,4,7],"tlp":["sag",7763],"trp":["ogsa",3841],"tlw":["sagt",613],"trw":["ogsaa",2370],"lp":["sag","gsa","gsaa","sagt","ags","sof","sga","asto","sgaa","sofa","sfo","stof","wot","tow","sfag","fos","foss"],"rp":["ogsa","ofas","osof"]},"76":{"input":[3,4,7],"tlp":["ge",73298],"trp":["or",91756],"tlw":["gore",1137],"trw":["ore",158],"lp":["ge","eg","ro","ger","get","ege","gr","tor","gte","rg","gge","tro","eget"],"rp":["or","ore","ort","oge","oget","org","orte"]},"77":{"input":[1,3,4,7],"tlp":["for",43517],"trp":["orf",1741],"tlw":["for",18700],"trw":["ofte",682],"lp":["for","age","aeg","tage","fort","rfo","rfor","gra","rag","gaar","fore","fora","ager","agte","aget","erfo","rof"],"rp":["orf","ofte","ora"]},"78":{"input":[2,3,4,7],"tlp":["gd",7202],"trp":["ord",8900],"tlw":["dog",2587],"trw":["ord",1092],"lp":["gd","gde","stor","god","tod","dog","stod","rod","godt","ges","sor","rso","dor","ged"],"rp":["ord","ors","orst","odt","orde","oder"]},"79":{"input":[1,2,3,4,7],"tlw":["sagde",5844],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["un",38415],"trw":["nu",6214],"lp":[],"rp":["un","no","on","nu","unn","onn","ou","uu","ono","nun","non","uo"]},"81":{"input":[1,5,7],"tlp":["au",1436],"trp":["ua",639],"tlw":["au",12],"lp":["au","anu","anua","ano","qu","anon"],"rp":["ua","ona","uan","nua","una","nuan","uana","oan"]},"82":{"input":[2,5,7],"tlp":["su",1821],"trp":["jo",11635],"tlw":["son",331],"trw":["jo",3858],"lp":["su","son","sun","sus","sonn"],"rp":["jo","oj","us","ojn","ju","ons","jon","noj","uns","nus","jus","jun","nso","nsu","onsu"]},"83":{"input":[1,2,5,7],"tlp":["aus",420],"trp":["usa",143],"trw":["jow",70],"lp":["aus","anus","sona","ajo","asou","ajon","sua"],"rp":["usa","jow","uans","janu","oja","noja","own","onsa","joa","joan","uja","jona","onas"]},"84":{"input":[3,5,7],"tlp":["eu",269],"trp":["ue",3024],"trw":["nue",32],"lp":["eu","eno","eun","en-"],"rp":["ue","one","unne","uen","onne","oen","onen","une","oy","-n","n-","nue","-ne","yo","oye","u-"]},"85":{"input":[1,3,5,7],"tlp":["eau",73],"trp":["ux",95],"trw":["-naa",21],"lp":["eau","anue","xu","xue","que","aue","eaue","aoy","aoye","aeu"],"rp":["ux","-na","-naa","oxen","unae","-au","uxe","oux"]},"86":{"input":[2,3,5,7],"tlp":["du",10932],"trp":["ud",16891],"tlw":["du",8921],"trw":["ud",5540],"lp":["du","dnu","due"],"rp":["ud","und","unde","ude","oje","uden","uds","ndnu","ojne","ond","udse","use","nod","oden","-j","ndu","ndue"]},"87":{"input":[1,2,3,5,7],"tlw":["aa-e-ja",13],"trw":["-ja",333],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bo",7356],"trp":["ng",36020],"tlw":["bog",542],"trw":["ung",427],"lp":["bo","tu","gn","gu","bu","bog","tun","ton","tung"],"rp":["ng","nog","ob","ug","ut","ung","ngt","ub","ugt","ont","utt"]},"89":{"input":[1,4,5,7],"tlp":["ang",11845],"trp":["uf",1211],"tlw":["gang",1991],"trw":["nabo",19],"lp":["ang","gan","gang","bag","fu","atu","angt","agn","fun","fang","fug","tau","bang","gna"],"rp":["uf","natu","nga","uft","nfo","ngan"]},"90":{"input":[2,4,5,7],"tlp":["gj",4375],"trp":["ngs",1845],"tlw":["sgu",306],"trw":["just",195],"lp":["gj","gjo","stu","boj","bjo","tus","sgu","toj","stun","goj","gnus"],"rp":["ngs","ust","ojt","ngst","ngso","unst","job","just","jont"]},"91":{"input":[1,2,4,5,7],"tlw":["sang",347],"trw":["jagt",44],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gen",17731],"trp":["nge",16467],"tlw":["bort",849],"trw":["noget",4194],"lp":["gen","ru","eng","bor","enge","beg","gne","run","gy","egy","bru"],"rp":["nge","noge","ur","ngen","yg","nger","ogen","orn","oren"]},"93":{"input":[1,3,4,5,7],"tlw":["foran",718],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["gjorde",1269],"trw":["jeg",26496],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["dagen",378],"trw":["udenfor",361],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["il",52340],"trw":["lo",488],"lp":[],"rp":["il","li","ll","ol","lo","ill","lli","io","illi","olo","oli","lil","lill","oi","oll","ili","iol","ioli","lio","llio"]},"97":{"input":[1,6,7],"tlp":["al",35773],"trp":["la",34392],"tlw":["al",773],"trw":["laa",896],"lp":["al","all","aal","alli","ali","ala","aall","zo","ail","alo","aala"],"rp":["la","laa","lia","llia","lla","ola","ial","illa","olla"]},"98":{"input":[2,6,7],"tlp":["sl",6546],"trp":["ko",17253],"tlw":["sol",272],"trw":["los",173],"lp":["sl","sko","sol","slo","sio"],"rp":["ko","ls","ok","kl","lk","lik","kol","lsk","olk","ilk","okk","ils","lok","klo","los"]},"99":{"input":[1,2,6,7],"tlp":["skal",4331],"trp":["kal",5704],"tlw":["skal",4257],"trw":["las",152],"lp":["skal","sla","wil","will","saal","sal","als","slaa","alk","wol","woll"],"rp":["kal","kla","las","kola","lska","oka","lass","okal","kalk"]},"100":{"input":[3,6,7],"tlp":["el",52483],"trp":["le",62636],"tlw":["el",13],"trw":["lille",1799],"lp":["el","ell","elle","eli","ele","elli","elo","eol"],"rp":["le","lle","ille","ole","ile","olle","lie","iel","oie","ilie","lel","olel"]},"101":{"input":[1,3,6,7],"tlp":["ale",5962],"trp":["lae",8065],"tlw":["alle",3178],"trw":["lae",133],"lp":["ale","ael","alle","aale","aell","ela","aele","ella","elae","alie","alae","eal"],"rp":["lae","iale","laae","lox","lela","lea","i-a","li-a"]},"102":{"input":[2,3,6,7],"tlp":["els",7813],"trp":["ld",24257],"tlw":["del",897],"trw":["lod",1333],"lp":["els","sel","del","else","deli","eld","dl"],"rp":["ld","lde","lse","old","led","ild","kel","lede","ilde","lid","lod","keli","olde"]},"103":{"input":[1,2,3,6,7],"tlw":["saaledes",615],"trw":["lad",680],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["til",31908],"trp":["ig",74754],"tlw":["til",24015],"trw":["liv",1247],"lp":["til","vo","vil","gi","gl","tig","till"],"rp":["ig","lig","ov","lt","igt","lv","liv","ligt","log","lg","ogi","logi","olog"]},"105":{"input":[1,4,6,7],"tlp":["alt",7650],"trp":["lag",2904],"tlw":["alt",2353],"trw":["lagt",315],"lp":["alt","fl","tal","fol","fal","talt","gla","alti","alv","gav","fla","folg","atio","flo","folt"],"rp":["lag","lav","lof","loft","lf"]},"106":{"input":[2,4,6,7],"tlp":["sig",18329],"trp":["lst",1082],"tlw":["sig",13498],"trw":["livs",105],"lp":["sig","gik","stil","sigt","vilk","stol","gvis","skov","slog","sov","tils","stig","vok","vikl","voks"],"rp":["lst","kov","lts","isto","ilst"]},"107":{"input":[1,2,4,6,7],"tlw":["folk",871],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["vor",11354],"trp":["ige",17245],"tlw":["eller",3955],"trw":["over",5694],"lp":["vor","elig","rl","elv","rig","rli","rlig","vel","elt","gle"],"rp":["ige","ove","ler","lige","over","lev","ller","live","let","lte"]},"109":{"input":[1,3,4,6,7],"tlw":["tale",1118],"trw":["lave",376],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["selv",3736],"trw":["lidt",2473],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["aldrig",1646],"trw":["lagde",628],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["hu",19153],"trw":["hun",14886],"lp":[],"rp":["hu","ho","hun","ul","lu","hol","lin","ion","nl","nol","nolo","nli","uli","ull","llin","lun","oh","hoi","hul","uh"]},"113":{"input":[1,5,6,7],"tlp":["anl",545],"trp":["lan",8187],"tlw":["alanzo",70],"trw":["hal",31],"lp":["anl","anli","anal","alin","alan","anla"],"rp":["lan","hal","lau","nal","llan","oha","ohan","nla","olau","laan","lina","hali","onal","nzo"]},"114":{"input":[2,5,6,7],"tlp":["sku",5017],"trp":["ku",16083],"tlw":["suk",140],"trw":["kun",2632],"lp":["sku","skul","slu"],"rp":["ku","kun","kul","uk","nok","hoj","kon","kunn","kno","hus","knol","ukk","hos","kjo","jl","luk","lukk"]},"115":{"input":[1,2,5,6,7],"tlw":["slank",25],"trw":["nikola",431],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eho",625],"trp":["ly",6399],"tlw":["ellen",583],"trw":["hele",1963],"lp":["eho","enl","elen","enli"],"rp":["ly","hel","len","yl","hele","llen","hell","ulle","ule","ione","olen","lene","nel","niel","line","lyn"]},"117":{"input":[1,3,5,6,7],"tlw":["alene",617],"trw":["hallen",39],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["skulde",2683],"trw":["kunde",4358],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["sjael",328],"trw":["land",483],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",19380],"trp":["ing",14039],"tlw":["blot",846],"trw":["lob",434],"lp":["bl","bli","bliv","blo","gh","tilb","ting","bil"],"rp":["ing","hvo","ning","lb","igh","hov","ilb","ligh","nlig","nogl","ling","hvil"]},"121":{"input":[1,4,5,6,7],"tlw":["blaa",246],"trw":["langt",805],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["blik",653],"trw":["hojt",407],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["ansigt",951],"trw":["langs",456],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["blev",4782],"trw":["hvor",4842],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["tilbage",1940],"trw":["laenge",871],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["teknologi",565],"trw":["holdt",1084],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["ganske",1214],"trw":["hvordan",1085],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",3391],"trw":["p",397],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",2081],"trp":["pa",29683],"trw":["paa",14960],"lp":["ap","app","apa"],"rp":["pa","paa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",6812],"trp":["ps",284],"lp":["sp","ssp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",699],"trp":["pas",1008],"trw":["pas",96],"lp":["spa","asp","aspa","aps","spaa"],"rp":["pas","pass","psa","paas"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",1393],"trp":["pe",8158],"trw":["'",36],"lp":["ep","epp","eppe","e'","epe"],"rp":["pe","ppe","'e","pee","pep"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["a'",769],"trp":["pae",506],"tlw":["a'",18],"trw":["pae'",18],"lp":["a'","appe","aep","aepp","aa'","a'e","ae'"],"rp":["pae","pae'"]},"134":{"input":[2,3,8],"tlp":["spe",642],"trp":["ped",539],"lp":["spe","dsp","esp","espe","sep","s'","dp","es'","dep","depe","edp","dpe","edpe","desp"],"rp":["ped","pede","pd","pped","pes","pess"]},"135":{"input":[1,2,3,8],"tlp":["spae",341],"trp":["pda",378],"tlw":["saa'",120],"trw":["passe",116],"lp":["spae","saa'","spad","sa'","aspe","wes'","da'","da'e"],"rp":["pda","pad","paed","pads","peda","pda'","pade","psae"]},"136":{"input":[4,8],"trp":["pt",1019],"trw":["pt",16],"lp":[],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",205],"trp":["pf",375],"lp":["apt","apta","tap","tapp"],"rp":["pf","pta","pfa","pfat","pat","paat","paaf","paf","pafa"]},"138":{"input":[2,4,8],"trp":["pst",120],"lp":[],"rp":["pst"]},"139":{"input":[1,2,4,8],"tlp":["casp",50],"trp":["past",205],"lp":["casp","cap","fsp","afsp"],"rp":["past","psta"]},"140":{"input":[3,4,8],"tlp":["rp",670],"trp":["pr",5960],"tlw":["er'et",22],"trw":["per",374],"lp":["rp","erp","rep","rpt","epr","ept","tep","rpe"],"rp":["pr","per","pper","pet","pre","'r","ppet","pete","'er","pere","ptr","pte"]},"141":{"input":[1,3,4,8],"tlp":["rap",388],"trp":["pra",1908],"tlw":["ta'r",85],"trw":["par",1154],"lp":["rap","rapp","rpa","trap","rpaa","taep","arp","erpa","a'r","ta'","apr","arpt","ta'r"],"rp":["pra","par","prae","part","pare","para","ptra"]},"142":{"input":[2,3,4,8],"tlp":["spr",1019],"trp":["pers",530],"tlw":["spredte",60],"trw":["peder",77],"lp":["spr","derp","sper","spre","spec","step","sept","resp","dspr","rsp","ersp","rspe","cep","ccep","cept"],"rp":["pers","pres","pred","pec","pdr"]},"143":{"input":[1,2,3,4,8],"tlw":["derpaa",245],"trw":["praest",184],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",16277],"trw":["m",548],"lp":[],"rp":["mm","mp","nm","mn","pm","np","pn"]},"145":{"input":[1,5,8],"tlp":["am",21010],"trp":["ma",29964],"tlw":["anm",32],"trw":["man",5955],"lp":["am","amm","amp","anm","anma","ama","aam","aama"],"rp":["ma","man","maa","nma","pan","maan","nap","pma","paan","mann","mma","mman"]},"146":{"input":[2,5,8],"tlp":["sm",5093],"trp":["ms",1840],"tlw":["sms",12],"lp":["sm","sms"],"rp":["ms","nsp","msp","jm","jsp","mps","pj","nsm"]},"147":{"input":[1,2,5,8],"tlp":["sam",5398],"trp":["mas",938],"tlw":["smaa",567],"trw":["maj",88],"lp":["sam","samm","sma","smaa","saam","sman","ams","span","asm","sama","sams","amsp","ansp"],"rp":["mas","maas","mass","maj","jam","mans","jamm"]},"148":{"input":[3,5,8],"tlp":["em",22268],"trp":["me",73368],"tlw":["emne",22],"trw":["men",13807],"lp":["em","emm","emme","emp","empe","eme"],"rp":["me","men","mme","mmen","nem","nnem","menn","pen","mpe","mene","ppen","my","nemm","yp"]},"149":{"input":[1,3,5,8],"tlp":["amme",5549],"trp":["mae",3778],"tlw":["examen",40],"trw":["mae",475],"lp":["amme","ame","ema","aem","ampe","aemp","amen","emae","amae","eman","aemm","emma","aame","enpa"],"rp":["mae","maen","paen","pmae","naep","mane"]},"150":{"input":[2,3,5,8],"tlp":["dem",5798],"trp":["med",23442],"tlw":["dem",5668],"trw":["med",20679],"lp":["dem","sme","dm","sem","semp","spej","ems","smed"],"rp":["med","mens","jem","mede","mes","mmed","jemm","mend","pej","jdsp","mped","medd"]},"151":{"input":[1,2,3,5,8],"tlw":["samme",1733],"trw":["mand",1898],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",86],"trp":["mt",4208],"lp":["tm","bm"],"rp":["mt","mb","pb","ptb"]},"153":{"input":[1,4,5,8],"tlp":["amt",793],"trp":["maat",1392],"trw":["mat",54],"lp":["amt","fam","amta","tam","tamm","amf","amb","fm","afm","fma"],"rp":["maat","mat","mf","matt","mta","mfa","mant","napt","mfan","mfat"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",207],"trp":["mst",1374],"tlw":["cm",207],"lp":["cm","bsm"],"rp":["mst","mc","mtj","mcn"]},"155":{"input":[1,2,4,5,8],"tlw":["samt",115],"trw":["pjat",14],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",5355],"trp":["mer",8012],"tlw":["type",59],"trw":["mere",2523],"lp":["rm","rem","rme","tem","emt","erm","erme","temm","rmen","rmer","temt","remm"],"rp":["mer","mmer","mere","met","mte","mr","mmet","ment"]},"157":{"input":[1,3,4,5,8],"tlw":["frem",1987],"trw":["maatte",1220],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["stemme",569],"trw":["mest",560],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["fremmede",219],"trw":["praesten",235],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",3860],"lp":[],"rp":["pi","ip","ipp","ppi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",492],"trp":["papi",191],"lp":["api"],"rp":["papi","ipa"]},"162":{"input":[2,6,8],"tlp":["spi",1676],"trp":["pis",540],"trw":["pis",22],"lp":["spi","spis","skip","sspi"],"rp":["pis","pisk","isp","kip","kipp","ips","ksp","pik","psi"]},"163":{"input":[1,2,6,8],"trp":["kap",494],"trw":["pak",15],"lp":[],"rp":["kap","kapi","pak","pakk","kapp","paak","ipas"]},"164":{"input":[3,6,8],"tlp":["epi",89],"trp":["ippe",551],"lp":["epi"],"rp":["ippe","i'","i'e","ipe"]},"165":{"input":[1,3,6,8],"tlp":["zep",15],"trp":["paei",16],"lp":["zep","azep","zepi","z'"],"rp":["paei"]},"166":{"input":[2,3,6,8],"tlp":["spid",136],"trp":["pise",257],"tlw":["spise",140],"trw":["piskede",12],"lp":["spid","spek","espi","eksp","si'","si'e"],"rp":["pise","pek","idsp","pid","pids","peki","ispe","ksep","kep","kkep","kspe","kepe","kepi"]},"167":{"input":[1,2,3,6,8],"tlw":["ska'",27],"trw":["pakke",52],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["vip",54],"trp":["pit",385],"lp":["vip","vipp"],"rp":["pit","pti","ipt"]},"169":{"input":[1,4,6,8],"tlp":["apit",301],"trp":["pav",149],"tlw":["fip",43],"lp":["apit","fip"],"rp":["pav","pati","pita","pavi","pfi"]},"170":{"input":[2,4,6,8],"tlp":["spit",84],"trp":["pist",182],"tlw":["spist",45],"lp":["spit","cip","vsp","scip","tisp"],"rp":["pist"]},"171":{"input":[1,2,4,6,8],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",58],"trp":["pri",1094],"tlw":["vipper",20],"trw":["itt'",73],"lp":["rip","repi","ript","trip","ripp","vep","rvep","vepr"],"rp":["pri","pir","pite","peri","pire","priv","i'r","itt'","piri","i'er","prie","ipte"]},"173":{"input":[1,3,4,6,8],"tlw":["appetit",14],"trw":["papir",90],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["spiste",89],"trw":["pris",129],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["skarpt",108],"trw":["praksis",264],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",24076],"trw":["min",4554],"lp":[],"rp":["mi","min","im","imi","him","mh","ph","imm","pin","imp","mni","mnin","himm","hm","phi","mpi","mini","nim","mim","imim"]},"177":{"input":[1,5,6,8],"tlp":["ami",472],"trp":["ham",8353],"trw":["ham",8026],"lp":["ami","aim","amin"],"rp":["ham","iam","ima","hamm","mia","mai","pha","iman","phan","pani","imia","mian","hamp","mha","hima","pina","mani"]},"178":{"input":[2,5,6,8],"tlp":["smi",1181],"trp":["mis",825],"trw":["km",70],"lp":["smi","sim","simp","spin","ssim","simi"],"rp":["mis","mk","imis","msi","miss","km","misk","ism","phis","pink","kim","mspi","mism","msk"]},"179":{"input":[1,2,5,6,8],"tlw":["skam",117],"trw":["knap",168],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emni",182],"trp":["ime",1615],"trw":["mine",1330],"lp":["emni","eph","empi","ephi"],"rp":["ime","mine","mhe","meni","imme","imen","hem","hemm","impe","menh","phe","mhy","hyp","hypp","yppi","meph"]},"181":{"input":[1,3,5,6,8],"trw":["ha'",99],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["spidsen",62],"trw":["hjem",1079],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["eksamen",41],"trw":["maske",618],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",1144],"trp":["mit",1681],"trw":["mit",1681],"lp":["tim","timi","tmi","tmin","vim","vimm","vm","timm"],"rp":["mit","mti","ptim","imt","pib","mv","ntim","pint","itim","mvi","mvit","nvip"]},"185":{"input":[1,4,5,6,8],"tlw":["timian",19],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["capitain",20],"trw":["knapt",41],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["timer",267],"trw":["hvem",785],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["varme",252],"trw":["marie",351],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["derhjemme",61],"trw":["mennesker",759],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["danmark",309],"trw":["maerke",366],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",11049],"trw":["op",5000],"lp":[],"rp":["op","po","opp","ppo","pop"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["appo",13],"trp":["opa",178],"lp":["appo","apo"],"rp":["opa"]},"194":{"input":[2,7,8],"tlp":["spo",1107],"trp":["pos",203],"lp":["spo","sop"],"rp":["pos","ops","osp","pso","opso"]},"195":{"input":[1,2,7,8],"trp":["opsa",25],"lp":[],"rp":["opsa","opas"]},"196":{"input":[3,7,8],"trp":["oppe",1153],"trw":["oppe",424],"lp":[],"rp":["oppe","o'","p-","poe","-p","o'e","p-p","ope"]},"197":{"input":[1,3,7,8],"trp":["opae",16],"lp":[],"rp":["opae"]},"198":{"input":[2,3,7,8],"tlp":["dsop",23],"trp":["opd",408],"trw":["pose",26],"lp":["dsop"],"rp":["opd","pose","poes"]},"199":{"input":[1,2,3,7,8],"trw":["opad",89],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1156],"trp":["opt",558],"tlw":["top",127],"trw":["optog",47],"lp":["top","topp","gp","gpo"],"rp":["opt","pg","opg","pog","pto","opto","ptog","pot","pott"]},"201":{"input":[1,4,7,8],"tlp":["gpa",17],"trp":["opf",375],"lp":["gpa"],"rp":["opf","pga","opga","opta","ptag","opfa","pfo","opfo","pag","pagt","paga"]},"202":{"input":[2,4,7,8],"tlp":["stop",344],"trp":["opst",120],"tlw":["spog",51],"trw":["post",48],"lp":["stop","spog","gsp","spot","sopg","cop"],"rp":["opst","post","psto","psog"]},"203":{"input":[1,2,4,7,8],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",646],"trp":["pro",2431],"tlw":["toppe",42],"trw":["port",82],"lp":["rop","etop","ropp","gep","erop","epro"],"rp":["pro","por","porg","port","opr","peg","pege","prog","orp","o'r","optr","pore","opro","opre"]},"205":{"input":[1,3,4,7,8],"tlw":["fo'r",122],"trw":["proft",123],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["spor",199],"trw":["pegede",119],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"trw":["pastor",153],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",50261],"trw":["om",12169],"lp":[],"rp":["om","mo","omm","mu","um","pu","mun","up","umm","pun","mon","ump","omp","opm","umu","upp","pou","mum","mpu","ompu"]},"209":{"input":[1,5,7,8],"tlp":["amo",42],"trp":["opma",262],"trw":["opnaa",32],"lp":["amo","aamo","anmo","apon"],"rp":["opma","oma","uma","manu","oman","pau","opna","uman","umaa","omma","upa","upaa"]},"210":{"input":[2,5,7,8],"tlp":["som",21760],"trp":["oms",1497],"tlw":["som",18932],"trw":["moj",60],"lp":["som","spu","smu","somm","spun","smo","sum","smus","summ"],"rp":["oms","mus","nsom","jom","mos","moj","pus","ums","mons","usm","nspo"]},"211":{"input":[1,2,5,7,8],"tlw":["saasom",34],"trw":["mansson",22],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["en-m",111],"trp":["omme",6327],"trw":["-men",116],"lp":["en-m","emo","epu"],"rp":["omme","umme","-m","uppe","ume","umen","-me","-men","n-m","umpe","omne","ome","mue","pone","u-m","-mo","u-mo"]},"213":{"input":[1,3,5,7,8],"trw":["-man",13],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["dom",83],"trw":["mod",3477],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["somand",13],"trw":["pause",61],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",486],"trp":["omt",1489],"tlw":["tom",108],"trw":["omt",46],"lp":["tom","tum","tomm","tomt","gm","gmo"],"rp":["omt","mog","mg","omg","pub","munt","put","mbo","mput","mob","omb","ombo","umt","mut"]},"217":{"input":[1,4,5,7,8],"tlw":["afmagt",13],"trw":["magt",215],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["stum",33],"trw":["pust",33],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["smag",71],"trw":["magnus",156],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["gennem",1130],"trw":["meget",3368],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["form",246],"trw":["mange",1787],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["spurgte",1168],"trw":["mogens",519],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["sprang",316],"trw":["professoren",159],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",5364],"trw":["pol",19],"lp":[],"rp":["pl","pil","lp","pill","pol","opl","lip","poli","lipp","pli","poll","plo","oplo","ilp","opi","pio","poi","lop","lpi","ipl"]},"225":{"input":[1,6,7,8],"tlp":["alp",194],"trp":["pla",2683],"lp":["alp","alop","alpi"],"rp":["pla","lap","lapp","pal","opla","lpa","ilpa","pall","pala"]},"226":{"input":[2,6,7,8],"tlp":["spil",933],"trp":["klip",214],"tlw":["spil",117],"trw":["kop",75],"lp":["spil","slip","spl","skop","sopi","spio"],"rp":["klip","kop","kopp","ospi","posi","pok","pokk","lips","plos","plik","opsi","lsp","lspo","kopi"]},"227":{"input":[1,2,6,7,8],"tlw":["slap",211],"trw":["klap",35],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elp",717],"trp":["ple",1132],"trw":["pille",26],"lp":["elp","elpe","epl","eple","epli"],"rp":["ple","lpe","pel","ople","plei","li'","lpel","pelo","-pl","p-pl","lpep","pepl","li'e","pole","p-i"]},"229":{"input":[1,3,6,7,8],"trw":["la'",18],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spillede",190],"trw":["poesi",41],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["slappe",19],"trw":["plads",674],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tilp",30],"trp":["pig",945],"trw":["pligt",89],"lp":["tilp"],"rp":["pig","opti","plig","pgi","opgi","pgiv","ppig","pov","povl","plov","plot","pigt","pitl"]},"233":{"input":[1,4,6,7,8],"tlw":["galop",20],"trw":["opgav",49],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["politik",54],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["tilpas",30],"trw":["plastisk",14],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["pige",386],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["april",92],"trw":["opgave",78],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["spiller",111],"trw":["krop",196],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["vokseplads",34],"trw":["kapitel",248],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["ml",3277],"trw":["poul",218],"lp":[],"rp":["ml","mil","lm","lom","mul","imo","muli","plu","olm","holm","omh","lmi","lmin","mili","mli","iml","himl","oph","minu","lim"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["alpina",16],"trw":["plan",125],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["smil",414],"trw":["kom",3720],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["william",837],"trw":["hjalp",126],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["mellem",1362],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["emmanuelo",70],"trw":["lampen",77],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["smilede",325],"trw":["komme",1447],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["samlede",209],"trw":["hjaelp",283],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["glimt",79],"trw":["mig",8747],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",34],"trw":["pollnitz",127],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["smukt",214],"trw":["punkt",116],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["samling",60],"trw":["langsomt",369],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["glemt",197],"trw":["norholm",521],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["gamle",1533],"trw":["planter",359],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["blomster",490],"trw":["kommer",1590],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["samtidig",195],"trw":["plantes",218],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",70938],"tlw":["a",1885],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",6312],"tlw":["s",729],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",51462],"tlw":["saa",14038],"lp":["sa","saa","as","ass","wa","aas","ssa","sas","ww","aw","saas","www","assa","ssaa","ws"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",2647],"tlw":["e",88],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ae",65201],"tlw":["ae",1518],"lp":["ae","aae","ex","ea","ax","aee","xe","xa","exa","exe","axe","aex","eae"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",283077],"tlw":["de",23660],"lp":["de","ed","es","se","ede","ds","des","sse","dd","dse","ess","dde","eds","edes","ese","sed","ded","see","dede","sede"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",24996],"tlw":["da",8071],"lp":["ad","da","ade","aes","aad","sae","aed","ada","sad","aede","aade","saad","aada","ads","asse","aese","dae","dda","esa","we"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",16147],"tlw":["t",62],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",52505],"tlw":["at",39486],"lp":["at","ta","af","fa","ft","att","taa","faa","aft","aat","ff","aatt","fat","fatt","aff","tat","tf","ata","fta","afta"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",66160],"tlw":["c",179],"lp":["st","ts","sc","sst","ct","cc","tc","cs","cst","tst","tsc","tts","sts"],"rp":[]},"11":{"input":[1,2,4],"tlp":["sta",9134],"tlw":["fast",485],"lp":["sta","ast","sat","staa","ca","satt","tsa","fas","fast","fs","afs","ac","asta","sf","tas","tsaa","fst","afst","stat","tsat"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",200106],"tlw":["er",24396],"lp":["er","et","te","re","ere","rt","ter","tr","tte","ret","ett","ette","rte","ert","rr","tet","tter","rer","rre","eret"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",71256],"tlw":["fra",7354],"lp":["ar","ra","aer","fr","aar","aere","fte","fra","ef","tra","rae","are","fter","tae","eft","atte","efte","aet","fre","rf"],"rp":[]},"14":{"input":[2,3,4],"tlp":["det",50507],"tlw":["det",40064],"lp":["det","der","dt","ste","rd","dr","rs","est","dre","red","res","este","rde","ted","dere","rst","dte","rede","dst","str"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["aest",3267],"tlw":["satte",874],"lp":["aest","stra","stae","ader","ard","aerd","ared","rsta","saet","rda","derf","aard","fes","tad","stad","raad","dra","fred","fess","raed"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",12763],"trw":["n",53],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",107331],"trp":["na",18738],"tlw":["an",271],"trw":["naa",705],"lp":["an","aan","ann","anna","ana"],"rp":["na","naa","nan","nna","naan"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",2823],"trp":["ns",25305],"trw":["j",68],"lp":["sn","sj"],"rp":["ns","jn","js","nj","nss","jj"]},"19":{"input":[1,2,5],"tlp":["ans",12498],"trp":["ja",8744],"tlw":["sans",47],"trw":["ja",3506],"lp":["ans","san","sna","sja","aj","ajn","ssan","ansa","aaj","sans","snaa","wan","wn","asn","aasn"],"rp":["ja","nsa","jan","nas","nsaa"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",215951],"trp":["ne",54829],"tlw":["en",31130],"trw":["nye",787],"lp":["en","ene","enn","enne","enen","een","ey","eny"],"rp":["ne","nne","yn","nen","ny","ye","nene","yne","nye","yen","nnen","nee"]},"21":{"input":[1,3,5],"tlp":["aen",11318],"trp":["nae",4921],"tlw":["anne",45],"trw":["nae",24],"lp":["aen","anne","ane","aene","aane","aaen","anen","ay","ena","any","aany","ean","eann","aenn","xen"],"rp":["nae","naae","ya","yan","naee"]},"22":{"input":[2,3,5],"tlp":["den",50813],"trp":["nd",90348],"tlw":["den",24655],"trw":["ned",3104],"lp":["den","end","ende","ens","ej","sen","sy","dn","syn"],"rp":["nd","nde","je","nden","ned","ys","ndes","jen","nes","yd","nds"]},"23":{"input":[1,2,3,5],"tlp":["and",24671],"trp":["jae",3560],"tlw":["anden",1960],"trw":["naade",237],"lp":["and","ande","dan","aend","aand","adan","ands","aden","dann","sand","anse","sjae","dans","aned"],"rp":["jae","naes","nand","nda","naad","ndda"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["tn",1655],"trp":["nt",13043],"tlw":["b",55],"lp":["tn","bt","bn","bb","tb"],"rp":["nt","nb","ntn"]},"25":{"input":[1,4,5],"tlp":["ba",11045],"trp":["nat",1917],"tlw":["tabt",109],"trw":["nat",438],"lp":["ba","ab","tan","ant","aab","fan","ban","baa","abt","abn","aabn","aabt","anta","tab","tabt","fb"],"rp":["nat","nf","nta","natt"]},"26":{"input":[2,4,5],"tlp":["tj",1039],"trp":["nst",1524],"lp":["tj","bj","sb","stj","stn","bs","tsj","sbj"],"rp":["nst","nc","jst","jt","nsb","nstn","ncs","ncst","nct","jnb","nbj","jnbj"]},"27":{"input":[1,2,4,5],"tlp":["stan",1647],"trp":["nsta",463],"tlw":["satan",75],"lp":["stan","fj","anc","bac","taj","abs","tja","stja","tajn","sant","bja","anst","asb","asbj","bas","tans"],"rp":["nsta","ntas","nsat","jac"]},"28":{"input":[3,4,5],"tlp":["be",22658],"trp":["nte",7013],"tlw":["byen",409],"trw":["nyt",305],"lp":["be","rn","ren","ten","br","rne","ern","erne","ent","ry","ty","eb","rb","ber","eren","bet","ente"],"rp":["nte","ner","net"]},"29":{"input":[1,3,4,5],"tlp":["ran",3013],"trp":["naar",3178],"tlw":["bare",1165],"trw":["naar",3077],"lp":["ran","taen","bar","abe","ante","ften","arb","arbe","bra","raen","bare","fy","arn","aeb","bae","barn"],"rp":["naar","nar","naer","nart"]},"30":{"input":[2,3,4,5],"tlp":["sten",3731],"trp":["nder",8663],"tlw":["syntes",800],"trw":["jer",433],"lp":["sten","endt","bes","bed","rden","rej","bej","rejs","rbej","bejd","best","dern"],"rp":["nder","ndt","ndr","ndre","ndet","jer","ndte","yst"]},"31":{"input":[1,2,3,4,5],"tlw":["andre",1970],"trw":["naesten",941],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",246],"trw":["i",43365],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",419],"trp":["ia",2518],"lp":["ai","za","zi","az"],"rp":["ia","iz"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",39075],"trp":["ik",32997],"tlw":["si",156],"trw":["is",201],"lp":["si","sk","ski","sik","ssi","sikk","sis","skik"],"rp":["ik","kk","ikk","is","ki","ks","isk","iss","kik","ksi","ksis","kikk"]},"35":{"input":[1,2,6],"tlp":["ska",8476],"trp":["ka",23048],"tlw":["zak",168],"trw":["ka",248],"lp":["ska","ak","akk","ask","wi","aks","aask","aksi","asi","zak","aka","skaa","assi","aak"],"rp":["ka","kas","kaa","isa","ika","kass"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",2228],"trp":["ie",6094],"tlw":["ei",448],"lp":["ei","eie"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",48],"trp":["ix",31],"trw":["ix",31],"lp":["ze","xi","axi","aie","eiz","aei","aze"],"rp":["ix","iae"]},"38":{"input":[2,3,6],"tlp":["di",14167],"trp":["ke",57169],"tlw":["disse",1266],"trw":["ikke",20180],"lp":["di","ske","ek","sid","side","esk","ekk","ekke","eske"],"rp":["ke","kke","id","ikke","ide","ked","kede","ids","ise","kked","iske"]},"39":{"input":[1,2,3,6],"tlp":["aek",2798],"trp":["kae",1766],"tlw":["skade",99],"trw":["ida",70],"lp":["aek","akke","aekk","aske","skae","adi","dska","daek","adsk","eka","skad","aesk","eska","aeks"],"rp":["kae","idda","isae","ida","kad","kade"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",51178],"trp":["iv",10524],"tlw":["vi",7341],"trw":["it",23],"lp":["ti","vi","vt","tv","tvi","tiv","viv","tti","tviv","tit","vit","vv","vitt","tivt"],"rp":["iv","it","iti","itt","itti","ivt"]},"41":{"input":[1,4,6],"tlp":["va",50676],"trp":["if",1405],"tlw":["tav",135],"lp":["va","av","fi","ati","tav","avi","vaa","fti","tia","vf","avt","atti","tva","afti","tz"],"rp":["if","ift","iva","ita","itz"]},"42":{"input":[2,4,6],"tlp":["vis",7341],"trp":["ist",4703],"tlw":["sit",2281],"lp":["vis","sti","sv","sit","vist","vs","tis","tisk","ci","svi","visk","vik","tik"],"rp":["ist","kt","kv","kvi","isti","ic","kti"]},"43":{"input":[1,2,4,6],"tlp":["sva",3328],"trp":["kast",607],"tlw":["fik",1865],"trw":["kat",43],"lp":["sva","fik","akt","tak","avs","stak","takk","akti","tavs","fak","stia","fakt","fis","fisk","sav"],"rp":["kast","kat","kaf","kaff","kva"]},"44":{"input":[3,4,6],"tlp":["ve",58500],"trp":["ive",7238],"tlw":["rev",144],"trw":["iver",59],"lp":["ve","ri","ver","ev","eve","vet","eri","rv","rti","rev","vir","evet","rve","rie","vr"],"rp":["ive","ir","iver","ivet","ier"]},"45":{"input":[1,3,4,6],"tlp":["var",27429],"trp":["ifte",524],"tlw":["var",23713],"trw":["ivar",148],"lp":["var","vae","vaer","ave","vare","aev","eva","ari","fri","evae","rav","aeve","arv","arve","avet","farv","aver","verf","arie"],"rp":["ifte"]},"46":{"input":[2,3,4,6],"tlp":["ved",13008],"trp":["kr",7446],"tlw":["ved",9023],"trw":["idet",571],"lp":["ved","vd","vde","rk","tid","rke","vid","erk","dri","skr","vede","vide","erke"],"rp":["kr","ker","idt","ket","kri","idst","kker"]},"47":{"input":[1,2,3,4,6],"tlw":["svarede",1115],"trw":["kastede",275],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",55966],"trw":["h",182],"lp":[],"rp":["in","ni","nin","hi","nh","hin","inn","ih","nni","ini","hn","nnin","hinn","hini","hii","iin","hiin"]},"49":{"input":[1,5,6],"tlp":["ani",433],"trp":["ha",84475],"tlw":["zina",155],"trw":["han",28303],"lp":["ani","ah","anz","anni","zin","zina","ania"],"rp":["ha","han","haa","ina","haan","hina","inan","nha","ian","hann","nia","nz","nina"]},"50":{"input":[2,5,6],"tlp":["sin",8509],"trp":["nk",7187],"tlw":["sin",5448],"trw":["nik",30],"lp":["sin","skj","sni","sh","skin","snin"],"rp":["nk","hj","kn","nsk","kj","nsi","nik","kin","his","kni","ink","knin","nikk","nis"]},"51":{"input":[1,2,5,6],"tlp":["ansk",2386],"trp":["kan",8041],"tlw":["sank",149],"trw":["kan",7261],"lp":["ansk","ank","ansi","snak","skja","sha","sank","win"],"rp":["kan","hans","hja","kja","kna","hw","nak","nakk","nska","has","hwa","jak"]},"52":{"input":[3,5,6],"tlp":["enh",1378],"trp":["he",30604],"trw":["hen",2065],"lp":["enh","eh","eni","enin","enhe","ein"],"rp":["he","hen","ine","ien","hy","nie","nei","nhe","inne","inen","henn","ihe","hei","hein"]},"53":{"input":[1,3,5,6],"tlp":["enha",462],"trp":["hae",2302],"tlw":["annie",37],"trw":["hanne",108],"lp":["enha","eha","anie","ehan","einz","zen","enia","ahy","ehaa"],"rp":["hae","haen","nhae","hea","hena","hane","iane","haie"]},"54":{"input":[2,3,5,6],"tlp":["enk",3299],"trp":["ind",17207],"tlw":["sine",1896],"trw":["ind",4197],"lp":["enk","din","sky","ekn","enke","sine"],"rp":["ind","inde","hend","hed","ken","nke","iden","yk","nske","ky","hje","ykk","ykke","kend"]},"55":{"input":[1,2,3,5,6],"tlw":["danske",357],"trw":["hinanden",807],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["vin",3191],"trp":["hv",22271],"tlw":["thi",704],"trw":["int",55],"lp":["vin","vn","bi","th","tin","tni","tnin","thi","bin","vint"],"rp":["hv","hvi","int","ib","nv","nti","nhv","ntin","nit","niv"]},"57":{"input":[1,4,5,6],"tlp":["van",3040],"trp":["hav",16151],"tlw":["tania",150],"trw":["navn",505],"lp":["van","fin","avn","anv","tian","tha","avni","tani","vant","bav"],"rp":["hav","hva","nav","navn","havn","haf","haft","haab","nhav","hat"]},"58":{"input":[2,4,5,6],"tlp":["ch",2279],"trp":["hvis",2968],"tlw":["skib",43],"trw":["hvis",2525],"lp":["ch","svin","stin","visn","sch","sth","skib","vsh","chs","vink"],"rp":["hvis","nkt","kvin","hist","ich","kib","inst","istn","nist","nsv"]},"59":{"input":[1,2,4,5,6],"tlw":["skabt",80],"trw":["kant",116],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["ven",8299],"trp":["her",6089],"tlw":["ven",504],"trw":["her",3645],"lp":["ven","rin","rh","bev","vent","vne","the","erh","even","beh","evn","rbi","erin","etni"],"rp":["her","hve","hver","inte","hr","herr"]},"61":{"input":[1,3,4,5,6],"tlw":["fine",167],"trw":["har",10914],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["vendte",689],"trw":["hvide",710],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["finde",734],"trw":["havde",11721],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",54],"trw":["o",656],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",60],"trp":["oa",43],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",30717],"trp":["os",7769],"tlw":["so",193],"trw":["os",2349],"lp":["so","sos","sso"],"rp":["os","oss","oso"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",536],"trp":["ow",474],"tlw":["wos",58],"lp":["wo","aso","sow","wos","aaso","saso","aos"],"rp":["ow","osa"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",700],"trp":["oe",2132],"trw":["-",3902],"lp":["eo","e-"],"rp":["oe","-o","-e","-e-"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",13],"trp":["ox",139],"trw":["-aa",53],"lp":["a-","aa-","a-e","aa-e","a-e-"],"rp":["ox","oxe","-a","-aa"]},"70":{"input":[2,3,7],"tlp":["do",7429],"trp":["od",24132],"tlw":["dod",445],"trw":["ode",82],"lp":["do","eso","dod","dode","soe","esso","sod","dso","sode"],"rp":["od","ode","ods","oed","ose","oede","osse","odd","-d","odde","-de"]},"71":{"input":[1,2,3,7],"tlp":["ado",19],"trp":["odsa",172],"trw":["-saa",39],"lp":["ado"],"rp":["odsa","owe","-sa","-saa","odda","oda"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["gt",20766],"trp":["og",89433],"tlw":["to",2228],"trw":["og",64213],"lp":["gt","to","go","gg","tog","tot","tott","gtt","tto","gtto","ttog","tg","tgo","ggo"],"rp":["og","ot","ogt","ott","oot","oto"]},"73":{"input":[1,4,7],"tlp":["fo",49386],"trp":["of",4123],"tlw":["gaa",1197],"trw":["of",77],"lp":["fo","ag","ga","gaa","agt","tag","aag","tfo","fg","afg","agg","fag","tof","taag","fgo","afgo"],"rp":["of","oft","off","ofa"]},"74":{"input":[2,4,7],"tlp":["sto",10153],"trp":["ogs",3950],"tlw":["sogt",61],"trw":["ost",168],"lp":["sto","gs","sog","sogt","gst","sg","co","gso","sost","stot","tos","soc","toss","gts","sgo","gc"],"rp":["ogs","ost","oc","ogst"]},"75":{"input":[1,2,4,7],"tlp":["sag",7763],"trp":["ogsa",3841],"tlw":["sagt",613],"trw":["ogsaa",2370],"lp":["sag","gsa","gsaa","sagt","ags","sof","sga","asto","sgaa","sofa","sfo","stof","wot","tow","sfag","fos","foss"],"rp":["ogsa","ofas","osof"]},"76":{"input":[3,4,7],"tlp":["ge",73298],"trp":["or",91756],"tlw":["gore",1137],"trw":["ore",158],"lp":["ge","eg","ro","ger","get","ege","gr","tor","gte","rg","gge","tro","eget"],"rp":["or","ore","ort","oge","oget","org","orte"]},"77":{"input":[1,3,4,7],"tlp":["for",43517],"trp":["orf",1741],"tlw":["for",18700],"trw":["ofte",682],"lp":["for","age","aeg","tage","fort","rfo","rfor","gra","rag","gaar","fore","fora","ager","agte","aget","erfo","rof"],"rp":["orf","ofte","ora"]},"78":{"input":[2,3,4,7],"tlp":["gd",7202],"trp":["ord",8900],"tlw":["dog",2587],"trw":["ord",1092],"lp":["gd","gde","stor","god","tod","dog","stod","rod","godt","ges","sor","rso","dor","ged"],"rp":["ord","ors","orst","odt","orde","oder"]},"79":{"input":[1,2,3,4,7],"tlw":["sagde",5844],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["un",38415],"trw":["nu",6214],"lp":[],"rp":["un","no","on","nu","unn","onn","ou","uu","ono","nun","non","uo"]},"81":{"input":[1,5,7],"tlp":["au",1436],"trp":["ua",639],"tlw":["au",12],"lp":["au","anu","anua","ano","qu","anon"],"rp":["ua","ona","uan","nua","una","nuan","uana","oan"]},"82":{"input":[2,5,7],"tlp":["su",1821],"trp":["jo",11635],"tlw":["son",331],"trw":["jo",3858],"lp":["su","son","sun","sus","sonn"],"rp":["jo","oj","us","ojn","ju","ons","jon","noj","uns","nus","jus","jun","nso","nsu","onsu"]},"83":{"input":[1,2,5,7],"tlp":["aus",420],"trp":["usa",143],"trw":["jow",70],"lp":["aus","anus","sona","ajo","asou","ajon","sua"],"rp":["usa","jow","uans","janu","oja","noja","own","onsa","joa","joan","uja","jona","onas"]},"84":{"input":[3,5,7],"tlp":["eu",269],"trp":["ue",3024],"trw":["nue",32],"lp":["eu","eno","eun","en-"],"rp":["ue","one","unne","uen","onne","oen","onen","une","oy","-n","n-","nue","-ne","yo","oye","u-"]},"85":{"input":[1,3,5,7],"tlp":["eau",73],"trp":["ux",95],"trw":["-naa",21],"lp":["eau","anue","xu","xue","que","aue","eaue","aoy","aoye","aeu"],"rp":["ux","-na","-naa","oxen","unae","-au","uxe","oux"]},"86":{"input":[2,3,5,7],"tlp":["du",10932],"trp":["ud",16891],"tlw":["du",8921],"trw":["ud",5540],"lp":["du","dnu","due"],"rp":["ud","und","unde","ude","oje","uden","uds","ndnu","ojne","ond","udse","use","nod","oden","-j","ndu","ndue"]},"87":{"input":[1,2,3,5,7],"tlw":["aa-e-ja",13],"trw":["-ja",333],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bo",7356],"trp":["ng",36020],"tlw":["bog",542],"trw":["ung",427],"lp":["bo","tu","gn","gu","bu","bog","tun","ton","tung"],"rp":["ng","nog","ob","ug","ut","ung","ngt","ub","ugt","ont","utt"]},"89":{"input":[1,4,5,7],"tlp":["ang",11845],"trp":["uf",1211],"tlw":["gang",1991],"trw":["nabo",19],"lp":["ang","gan","gang","bag","fu","atu","angt","agn","fun","fang","fug","tau","bang","gna"],"rp":["uf","natu","nga","uft","nfo","ngan"]},"90":{"input":[2,4,5,7],"tlp":["gj",4375],"trp":["ngs",1845],"tlw":["sgu",306],"trw":["just",195],"lp":["gj","gjo","stu","boj","bjo","tus","sgu","toj","stun","goj","gnus"],"rp":["ngs","ust","ojt","ngst","ngso","unst","job","just","jont"]},"91":{"input":[1,2,4,5,7],"tlw":["sang",347],"trw":["jagt",44],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gen",17731],"trp":["nge",16467],"tlw":["bort",849],"trw":["noget",4194],"lp":["gen","ru","eng","bor","enge","beg","gne","run","gy","egy","bru"],"rp":["nge","noge","ur","ngen","yg","nger","ogen","orn","oren"]},"93":{"input":[1,3,4,5,7],"tlw":["foran",718],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["gjorde",1269],"trw":["jeg",26496],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["dagen",378],"trw":["udenfor",361],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["il",52340],"trw":["lo",488],"lp":[],"rp":["il","li","ll","ol","lo","ill","lli","io","illi","olo","oli","lil","lill","oi","oll","ili","iol","ioli","lio","llio"]},"97":{"input":[1,6,7],"tlp":["al",35773],"trp":["la",34392],"tlw":["al",773],"trw":["laa",896],"lp":["al","all","aal","alli","ali","ala","aall","zo","ail","alo","aala"],"rp":["la","laa","lia","llia","lla","ola","ial","illa","olla"]},"98":{"input":[2,6,7],"tlp":["sl",6546],"trp":["ko",17253],"tlw":["sol",272],"trw":["los",173],"lp":["sl","sko","sol","slo","sio"],"rp":["ko","ls","ok","kl","lk","lik","kol","lsk","olk","ilk","okk","ils","lok","klo","los"]},"99":{"input":[1,2,6,7],"tlp":["skal",4331],"trp":["kal",5704],"tlw":["skal",4257],"trw":["las",152],"lp":["skal","sla","wil","will","saal","sal","als","slaa","alk","wol","woll"],"rp":["kal","kla","las","kola","lska","oka","lass","okal","kalk"]},"100":{"input":[3,6,7],"tlp":["el",52483],"trp":["le",62636],"tlw":["el",13],"trw":["lille",1799],"lp":["el","ell","elle","eli","ele","elli","elo","eol"],"rp":["le","lle","ille","ole","ile","olle","lie","iel","oie","ilie","lel","olel"]},"101":{"input":[1,3,6,7],"tlp":["ale",5962],"trp":["lae",8065],"tlw":["alle",3178],"trw":["lae",133],"lp":["ale","ael","alle","aale","aell","ela","aele","ella","elae","alie","alae","eal"],"rp":["lae","iale","laae","lox","lela","lea","i-a","li-a"]},"102":{"input":[2,3,6,7],"tlp":["els",7813],"trp":["ld",24257],"tlw":["del",897],"trw":["lod",1333],"lp":["els","sel","del","else","deli","eld","dl"],"rp":["ld","lde","lse","old","led","ild","kel","lede","ilde","lid","lod","keli","olde"]},"103":{"input":[1,2,3,6,7],"tlw":["saaledes",615],"trw":["lad",680],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["til",31908],"trp":["ig",74754],"tlw":["til",24015],"trw":["liv",1247],"lp":["til","vo","vil","gi","gl","tig","till"],"rp":["ig","lig","ov","lt","igt","lv","liv","ligt","log","lg","ogi","logi","olog"]},"105":{"input":[1,4,6,7],"tlp":["alt",7650],"trp":["lag",2904],"tlw":["alt",2353],"trw":["lagt",315],"lp":["alt","fl","tal","fol","fal","talt","gla","alti","alv","gav","fla","folg","atio","flo","folt"],"rp":["lag","lav","lof","loft","lf"]},"106":{"input":[2,4,6,7],"tlp":["sig",18329],"trp":["lst",1082],"tlw":["sig",13498],"trw":["livs",105],"lp":["sig","gik","stil","sigt","vilk","stol","gvis","skov","slog","sov","tils","stig","vok","vikl","voks"],"rp":["lst","kov","lts","isto","ilst"]},"107":{"input":[1,2,4,6,7],"tlw":["folk",871],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["vor",11354],"trp":["ige",17245],"tlw":["eller",3955],"trw":["over",5694],"lp":["vor","elig","rl","elv","rig","rli","rlig","vel","elt","gle"],"rp":["ige","ove","ler","lige","over","lev","ller","live","let","lte"]},"109":{"input":[1,3,4,6,7],"tlw":["tale",1118],"trw":["lave",376],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["selv",3736],"trw":["lidt",2473],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["aldrig",1646],"trw":["lagde",628],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["hu",19153],"trw":["hun",14886],"lp":[],"rp":["hu","ho","hun","ul","lu","hol","lin","ion","nl","nol","nolo","nli","uli","ull","llin","lun","oh","hoi","hul","uh"]},"113":{"input":[1,5,6,7],"tlp":["anl",545],"trp":["lan",8187],"tlw":["alanzo",70],"trw":["hal",31],"lp":["anl","anli","anal","alin","alan","anla"],"rp":["lan","hal","lau","nal","llan","oha","ohan","nla","olau","laan","lina","hali","onal","nzo"]},"114":{"input":[2,5,6,7],"tlp":["sku",5017],"trp":["ku",16083],"tlw":["suk",140],"trw":["kun",2632],"lp":["sku","skul","slu"],"rp":["ku","kun","kul","uk","nok","hoj","kon","kunn","kno","hus","knol","ukk","hos","kjo","jl","luk","lukk"]},"115":{"input":[1,2,5,6,7],"tlw":["slank",25],"trw":["nikola",431],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eho",625],"trp":["ly",6399],"tlw":["ellen",583],"trw":["hele",1963],"lp":["eho","enl","elen","enli"],"rp":["ly","hel","len","yl","hele","llen","hell","ulle","ule","ione","olen","lene","nel","niel","line","lyn"]},"117":{"input":[1,3,5,6,7],"tlw":["alene",617],"trw":["hallen",39],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["skulde",2683],"trw":["kunde",4358],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["sjael",328],"trw":["land",483],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",19380],"trp":["ing",14039],"tlw":["blot",846],"trw":["lob",434],"lp":["bl","bli","bliv","blo","gh","tilb","ting","bil"],"rp":["ing","hvo","ning","lb","igh","hov","ilb","ligh","nlig","nogl","ling","hvil"]},"121":{"input":[1,4,5,6,7],"tlw":["blaa",246],"trw":["langt",805],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["blik",653],"trw":["hojt",407],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["ansigt",951],"trw":["langs",456],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["blev",4782],"trw":["hvor",4842],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["tilbage",1940],"trw":["laenge",871],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["teknologi",565],"trw":["holdt",1084],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["ganske",1214],"trw":["hvordan",1085],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",3391],"trw":["p",397],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",2081],"trp":["pa",29683],"trw":["paa",14960],"lp":["ap","app","apa"],"rp":["pa","paa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",6812],"trp":["ps",284],"lp":["sp","ssp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",699],"trp":["pas",1008],"trw":["pas",96],"lp":["spa","asp","aspa","aps","spaa"],"rp":["pas","pass","psa","paas"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",1393],"trp":["pe",8158],"trw":["'",36],"lp":["ep","epp","eppe","e'","epe"],"rp":["pe","ppe","'e","pee","pep"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["a'",769],"trp":["pae",506],"tlw":["a'",18],"trw":["pae'",18],"lp":["a'","appe","aep","aepp","aa'","a'e","ae'"],"rp":["pae","pae'"]},"134":{"input":[2,3,8],"tlp":["spe",642],"trp":["ped",539],"lp":["spe","dsp","esp","espe","sep","s'","dp","es'","dep","depe","edp","dpe","edpe","desp"],"rp":["ped","pede","pd","pped","pes","pess"]},"135":{"input":[1,2,3,8],"tlp":["spae",341],"trp":["pda",378],"tlw":["saa'",120],"trw":["passe",116],"lp":["spae","saa'","spad","sa'","aspe","wes'","da'","da'e"],"rp":["pda","pad","paed","pads","peda","pda'","pade","psae"]},"136":{"input":[4,8],"trp":["pt",1019],"trw":["pt",16],"lp":[],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",205],"trp":["pf",375],"lp":["apt","apta","tap","tapp"],"rp":["pf","pta","pfa","pfat","pat","paat","paaf","paf","pafa"]},"138":{"input":[2,4,8],"trp":["pst",120],"lp":[],"rp":["pst"]},"139":{"input":[1,2,4,8],"tlp":["casp",50],"trp":["past",205],"lp":["casp","cap","fsp","afsp"],"rp":["past","psta"]},"140":{"input":[3,4,8],"tlp":["rp",670],"trp":["pr",5960],"tlw":["er'et",22],"trw":["per",374],"lp":["rp","erp","rep","rpt","epr","ept","tep","rpe"],"rp":["pr","per","pper","pet","pre","'r","ppet","pete","'er","pere","ptr","pte"]},"141":{"input":[1,3,4,8],"tlp":["rap",388],"trp":["pra",1908],"tlw":["ta'r",85],"trw":["par",1154],"lp":["rap","rapp","rpa","trap","rpaa","taep","arp","erpa","a'r","ta'","apr","arpt","ta'r"],"rp":["pra","par","prae","part","pare","para","ptra"]},"142":{"input":[2,3,4,8],"tlp":["spr",1019],"trp":["pers",530],"tlw":["spredte",60],"trw":["peder",77],"lp":["spr","derp","sper","spre","spec","step","sept","resp","dspr","rsp","ersp","rspe","cep","ccep","cept"],"rp":["pers","pres","pred","pec","pdr"]},"143":{"input":[1,2,3,4,8],"tlw":["derpaa",245],"trw":["praest",184],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",16277],"trw":["m",548],"lp":[],"rp":["mm","mp","nm","mn","pm","np","pn"]},"145":{"input":[1,5,8],"tlp":["am",21010],"trp":["ma",29964],"tlw":["anm",32],"trw":["man",5955],"lp":["am","amm","amp","anm","anma","ama","aam","aama"],"rp":["ma","man","maa","nma","pan","maan","nap","pma","paan","mann","mma","mman"]},"146":{"input":[2,5,8],"tlp":["sm",5093],"trp":["ms",1840],"tlw":["sms",12],"lp":["sm","sms"],"rp":["ms","nsp","msp","jm","jsp","mps","pj","nsm"]},"147":{"input":[1,2,5,8],"tlp":["sam",5398],"trp":["mas",938],"tlw":["smaa",567],"trw":["maj",88],"lp":["sam","samm","sma","smaa","saam","sman","ams","span","asm","sama","sams","amsp","ansp"],"rp":["mas","maas","mass","maj","jam","mans","jamm"]},"148":{"input":[3,5,8],"tlp":["em",22268],"trp":["me",73368],"tlw":["emne",22],"trw":["men",13807],"lp":["em","emm","emme","emp","empe","eme"],"rp":["me","men","mme","mmen","nem","nnem","menn","pen","mpe","mene","ppen","my","nemm","yp"]},"149":{"input":[1,3,5,8],"tlp":["amme",5549],"trp":["mae",3778],"tlw":["examen",40],"trw":["mae",475],"lp":["amme","ame","ema","aem","ampe","aemp","amen","emae","amae","eman","aemm","emma","aame","enpa"],"rp":["mae","maen","paen","pmae","naep","mane"]},"150":{"input":[2,3,5,8],"tlp":["dem",5798],"trp":["med",23442],"tlw":["dem",5668],"trw":["med",20679],"lp":["dem","sme","dm","sem","semp","spej","ems","smed"],"rp":["med","mens","jem","mede","mes","mmed","jemm","mend","pej","jdsp","mped","medd"]},"151":{"input":[1,2,3,5,8],"tlw":["samme",1733],"trw":["mand",1898],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",86],"trp":["mt",4208],"lp":["tm","bm"],"rp":["mt","mb","pb","ptb"]},"153":{"input":[1,4,5,8],"tlp":["amt",793],"trp":["maat",1392],"trw":["mat",54],"lp":["amt","fam","amta","tam","tamm","amf","amb","fm","afm","fma"],"rp":["maat","mat","mf","matt","mta","mfa","mant","napt","mfan","mfat"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",207],"trp":["mst",1374],"tlw":["cm",207],"lp":["cm","bsm"],"rp":["mst","mc","mtj","mcn"]},"155":{"input":[1,2,4,5,8],"tlw":["samt",115],"trw":["pjat",14],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",5355],"trp":["mer",8012],"tlw":["type",59],"trw":["mere",2523],"lp":["rm","rem","rme","tem","emt","erm","erme","temm","rmen","rmer","temt","remm"],"rp":["mer","mmer","mere","met","mte","mr","mmet","ment"]},"157":{"input":[1,3,4,5,8],"tlw":["frem",1987],"trw":["maatte",1220],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["stemme",569],"trw":["mest",560],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["fremmede",219],"trw":["praesten",235],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",3860],"lp":[],"rp":["pi","ip","ipp","ppi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",492],"trp":["papi",191],"lp":["api"],"rp":["papi","ipa"]},"162":{"input":[2,6,8],"tlp":["spi",1676],"trp":["pis",540],"trw":["pis",22],"lp":["spi","spis","skip","sspi"],"rp":["pis","pisk","isp","kip","kipp","ips","ksp","pik","psi"]},"163":{"input":[1,2,6,8],"trp":["kap",494],"trw":["pak",15],"lp":[],"rp":["kap","kapi","pak","pakk","kapp","paak","ipas"]},"164":{"input":[3,6,8],"tlp":["epi",89],"trp":["ippe",551],"lp":["epi"],"rp":["ippe","i'","i'e","ipe"]},"165":{"input":[1,3,6,8],"tlp":["zep",15],"trp":["paei",16],"lp":["zep","azep","zepi","z'"],"rp":["paei"]},"166":{"input":[2,3,6,8],"tlp":["spid",136],"trp":["pise",257],"tlw":["spise",140],"trw":["piskede",12],"lp":["spid","spek","espi","eksp","si'","si'e"],"rp":["pise","pek","idsp","pid","pids","peki","ispe","ksep","kep","kkep","kspe","kepe","kepi"]},"167":{"input":[1,2,3,6,8],"tlw":["ska'",27],"trw":["pakke",52],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["vip",54],"trp":["pit",385],"lp":["vip","vipp"],"rp":["pit","pti","ipt"]},"169":{"input":[1,4,6,8],"tlp":["apit",301],"trp":["pav",149],"tlw":["fip",43],"lp":["apit","fip"],"rp":["pav","pati","pita","pavi","pfi"]},"170":{"input":[2,4,6,8],"tlp":["spit",84],"trp":["pist",182],"tlw":["spist",45],"lp":["spit","cip","vsp","scip","tisp"],"rp":["pist"]},"171":{"input":[1,2,4,6,8],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",58],"trp":["pri",1094],"tlw":["vipper",20],"trw":["itt'",73],"lp":["rip","repi","ript","trip","ripp","vep","rvep","vepr"],"rp":["pri","pir","pite","peri","pire","priv","i'r","itt'","piri","i'er","prie","ipte"]},"173":{"input":[1,3,4,6,8],"tlw":["appetit",14],"trw":["papir",90],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["spiste",89],"trw":["pris",129],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["skarpt",108],"trw":["praksis",264],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",24076],"trw":["min",4554],"lp":[],"rp":["mi","min","im","imi","him","mh","ph","imm","pin","imp","mni","mnin","himm","hm","phi","mpi","mini","nim","mim","imim"]},"177":{"input":[1,5,6,8],"tlp":["ami",472],"trp":["ham",8353],"trw":["ham",8026],"lp":["ami","aim","amin"],"rp":["ham","iam","ima","hamm","mia","mai","pha","iman","phan","pani","imia","mian","hamp","mha","hima","pina","mani"]},"178":{"input":[2,5,6,8],"tlp":["smi",1181],"trp":["mis",825],"trw":["km",70],"lp":["smi","sim","simp","spin","ssim","simi"],"rp":["mis","mk","imis","msi","miss","km","misk","ism","phis","pink","kim","mspi","mism","msk"]},"179":{"input":[1,2,5,6,8],"tlw":["skam",117],"trw":["knap",168],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emni",182],"trp":["ime",1615],"trw":["mine",1330],"lp":["emni","eph","empi","ephi"],"rp":["ime","mine","mhe","meni","imme","imen","hem","hemm","impe","menh","phe","mhy","hyp","hypp","yppi","meph"]},"181":{"input":[1,3,5,6,8],"trw":["ha'",99],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["spidsen",62],"trw":["hjem",1079],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["eksamen",41],"trw":["maske",618],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",1144],"trp":["mit",1681],"trw":["mit",1681],"lp":["tim","timi","tmi","tmin","vim","vimm","vm","timm"],"rp":["mit","mti","ptim","imt","pib","mv","ntim","pint","itim","mvi","mvit","nvip"]},"185":{"input":[1,4,5,6,8],"tlw":["timian",19],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["capitain",20],"trw":["knapt",41],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["timer",267],"trw":["hvem",785],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["varme",252],"trw":["marie",351],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["derhjemme",61],"trw":["mennesker",759],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["danmark",309],"trw":["maerke",366],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",11049],"trw":["op",5000],"lp":[],"rp":["op","po","opp","ppo","pop"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["appo",13],"trp":["opa",178],"lp":["appo","apo"],"rp":["opa"]},"194":{"input":[2,7,8],"tlp":["spo",1107],"trp":["pos",203],"lp":["spo","sop"],"rp":["pos","ops","osp","pso","opso"]},"195":{"input":[1,2,7,8],"trp":["opsa",25],"lp":[],"rp":["opsa","opas"]},"196":{"input":[3,7,8],"trp":["oppe",1153],"trw":["oppe",424],"lp":[],"rp":["oppe","o'","p-","poe","-p","o'e","p-p","ope"]},"197":{"input":[1,3,7,8],"trp":["opae",16],"lp":[],"rp":["opae"]},"198":{"input":[2,3,7,8],"tlp":["dsop",23],"trp":["opd",408],"trw":["pose",26],"lp":["dsop"],"rp":["opd","pose","poes"]},"199":{"input":[1,2,3,7,8],"trw":["opad",89],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1156],"trp":["opt",558],"tlw":["top",127],"trw":["optog",47],"lp":["top","topp","gp","gpo"],"rp":["opt","pg","opg","pog","pto","opto","ptog","pot","pott"]},"201":{"input":[1,4,7,8],"tlp":["gpa",17],"trp":["opf",375],"lp":["gpa"],"rp":["opf","pga","opga","opta","ptag","opfa","pfo","opfo","pag","pagt","paga"]},"202":{"input":[2,4,7,8],"tlp":["stop",344],"trp":["opst",120],"tlw":["spog",51],"trw":["post",48],"lp":["stop","spog","gsp","spot","sopg","cop"],"rp":["opst","post","psto","psog"]},"203":{"input":[1,2,4,7,8],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",646],"trp":["pro",2431],"tlw":["toppe",42],"trw":["port",82],"lp":["rop","etop","ropp","gep","erop","epro"],"rp":["pro","por","porg","port","opr","peg","pege","prog","orp","o'r","optr","pore","opro","opre"]},"205":{"input":[1,3,4,7,8],"tlw":["fo'r",122],"trw":["proft",123],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["spor",199],"trw":["pegede",119],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"trw":["pastor",153],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",50261],"trw":["om",12169],"lp":[],"rp":["om","mo","omm","mu","um","pu","mun","up","umm","pun","mon","ump","omp","opm","umu","upp","pou","mum","mpu","ompu"]},"209":{"input":[1,5,7,8],"tlp":["amo",42],"trp":["opma",262],"trw":["opnaa",32],"lp":["amo","aamo","anmo","apon"],"rp":["opma","oma","uma","manu","oman","pau","opna","uman","umaa","omma","upa","upaa"]},"210":{"input":[2,5,7,8],"tlp":["som",21760],"trp":["oms",1497],"tlw":["som",18932],"trw":["moj",60],"lp":["som","spu","smu","somm","spun","smo","sum","smus","summ"],"rp":["oms","mus","nsom","jom","mos","moj","pus","ums","mons","usm","nspo"]},"211":{"input":[1,2,5,7,8],"tlw":["saasom",34],"trw":["mansson",22],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["en-m",111],"trp":["omme",6327],"trw":["-men",116],"lp":["en-m","emo","epu"],"rp":["omme","umme","-m","uppe","ume","umen","-me","-men","n-m","umpe","omne","ome","mue","pone","u-m","-mo","u-mo"]},"213":{"input":[1,3,5,7,8],"trw":["-man",13],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["dom",83],"trw":["mod",3477],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["somand",13],"trw":["pause",61],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",486],"trp":["omt",1489],"tlw":["tom",108],"trw":["omt",46],"lp":["tom","tum","tomm","tomt","gm","gmo"],"rp":["omt","mog","mg","omg","pub","munt","put","mbo","mput","mob","omb","ombo","umt","mut"]},"217":{"input":[1,4,5,7,8],"tlw":["afmagt",13],"trw":["magt",215],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["stum",33],"trw":["pust",33],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["smag",71],"trw":["magnus",156],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["gennem",1130],"trw":["meget",3368],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["form",246],"trw":["mange",1787],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["spurgte",1168],"trw":["mogens",519],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["sprang",316],"trw":["professoren",159],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",5364],"trw":["pol",19],"lp":[],"rp":["pl","pil","lp","pill","pol","opl","lip","poli","lipp","pli","poll","plo","oplo","ilp","opi","pio","poi","lop","lpi","ipl"]},"225":{"input":[1,6,7,8],"tlp":["alp",194],"trp":["pla",2683],"lp":["alp","alop","alpi"],"rp":["pla","lap","lapp","pal","opla","lpa","ilpa","pall","pala"]},"226":{"input":[2,6,7,8],"tlp":["spil",933],"trp":["klip",214],"tlw":["spil",117],"trw":["kop",75],"lp":["spil","slip","spl","skop","sopi","spio"],"rp":["klip","kop","kopp","ospi","posi","pok","pokk","lips","plos","plik","opsi","lsp","lspo","kopi"]},"227":{"input":[1,2,6,7,8],"tlw":["slap",211],"trw":["klap",35],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elp",717],"trp":["ple",1132],"trw":["pille",26],"lp":["elp","elpe","epl","eple","epli"],"rp":["ple","lpe","pel","ople","plei","li'","lpel","pelo","-pl","p-pl","lpep","pepl","li'e","pole","p-i"]},"229":{"input":[1,3,6,7,8],"trw":["la'",18],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spillede",190],"trw":["poesi",41],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["slappe",19],"trw":["plads",674],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tilp",30],"trp":["pig",945],"trw":["pligt",89],"lp":["tilp"],"rp":["pig","opti","plig","pgi","opgi","pgiv","ppig","pov","povl","plov","plot","pigt","pitl"]},"233":{"input":[1,4,6,7,8],"tlw":["galop",20],"trw":["opgav",49],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["politik",54],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["tilpas",30],"trw":["plastisk",14],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["pige",386],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["april",92],"trw":["opgave",78],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["spiller",111],"trw":["krop",196],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["vokseplads",34],"trw":["kapitel",248],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["ml",3277],"trw":["poul",218],"lp":[],"rp":["ml","mil","lm","lom","mul","imo","muli","plu","olm","holm","omh","lmi","lmin","mili","mli","iml","himl","oph","minu","lim"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["alpina",16],"trw":["plan",125],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["smil",414],"trw":["kom",3720],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["william",837],"trw":["hjalp",126],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["mellem",1362],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["emmanuelo",70],"trw":["lampen",77],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["smilede",325],"trw":["komme",1447],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["samlede",209],"trw":["hjaelp",283],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["glimt",79],"trw":["mig",8747],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",34],"trw":["pollnitz",127],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["smukt",214],"trw":["punkt",116],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["samling",60],"trw":["langsomt",369],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["glemt",197],"trw":["norholm",521],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["gamle",1533],"trw":["planter",359],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["blomster",490],"trw":["kommer",1590],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["samtidig",195],"trw":["plantes",218],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/de-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/de-keymap.json index 1a25662b28..c85c9213e3 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/de-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/de-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",9644],"tlw":["a",672],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",161786],"tlw":["s",320],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",267481],"tlw":["was",33174],"lp":["as","wa","sa","ass","was","wass","ssa","sw","asa","assa","saa","aw","swa","awa","sas","ssas","asw","saw","sawa"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",14304],"tlw":["e",8272],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",6426],"lp":["ea","ex","ae","xa","ax","xe","exe","exa"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",603509],"tlw":["es",81182],"lp":["de","es","se","ed","sse","ese","ede","des","ess","esse","ses","eses","ds","dess","see","edes","sd","dee","dd","sess"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",270688],"tlw":["das",100677],"lp":["da","we","das","dass","ew","ad","asse","ewe","wes","ade","wese","ewes","esa","eda","dw","ewa","ase","essa","dwa","wed"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",129965],"tlw":["t",4870],"lp":["tt","ttt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",159129],"tlw":["tat",2050],"lp":["at","att","ta","fa","ft","ff","af","tat","aft","aff","tf","fft","tatt","tta","afft","fta","ffa","ata","ttf","taa"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",329949],"tlw":["st",194],"lp":["st","sc","ts","sst","tsc","ssc","tst","tts","tc","sts","ttst","ssts","stst","ct","cc","stc","cs"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ac",129940],"tlw":["fast",4605],"lp":["ac","sta","tw","ast","twa","twas","asc","fas","fac","wac","sac","tsa","ca","fast","ats","asst","stat","fs","tas","atsa"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",1062516],"tlw":["er",139320],"lp":["er","te","re","rt","et","tte","ter","rte","tr","ere","ert","ete","tet","rr","erte","tete","rer","err","tter","tre"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",236202],"tlw":["trat",2331],"lp":["ar","ra","atte","fe","fr","ef","are","tra","fra","era","art","rf","ate","ffe","fre","arte","fer","ara","rat","ater"],"rp":[]},"14":{"input":[2,3,4],"tlp":["der",234317],"tlw":["der",139944],"lp":["der","ste","rd","rs","ers","rde","est","ec","rst","dr","erst","eder","ser","erd","ster","rc","dere","erde","sste","rsc"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["war",130034],"tlw":["war",76994],"lp":["war","wer","ware","rac","dar","etw","etwa","rw","werd","erw","dac","dara","dra","wart","star","rad","stra","fes","rwa","ras"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",160994],"trw":["n",114],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",368610],"trp":["na",94964],"tlw":["an",48407],"trw":["na",1852],"lp":["an","ann","ana","anna","aq","qq","aqq"],"rp":["na","nan","nna","nann","nq"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",476],"trp":["ns",79641],"trw":["j",60],"lp":["sn"],"rp":["ns","nns","nj"]},"19":{"input":[1,2,5],"tlp":["wan",16048],"trp":["ja",26608],"tlw":["wann",1025],"trw":["ja",12041],"lp":["wan","ans","san","anns","wann","ssan","anw","ansa","sna","aj"],"rp":["ja","nw","nas","nsa","jan","nwa","nass","nja","jann","jans"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",1123066],"trp":["ne",372242],"tlw":["en",15361],"trw":["nennen",573],"lp":["en","enn","ene","enen","enne","ey","een","eyn"],"rp":["ne","nen","nne","nnen","yn","ny","nee","nenn","nny","ye","ney","yen"]},"21":{"input":[1,3,5],"tlp":["ena",8169],"trp":["ya",3585],"trw":["nyx",188],"lp":["ena","anne","ane","ay","ean","anen","anny","enan","any","enna","xan","eq","aya","xen","exen"],"rp":["ya","yan","nea","yx","nyx"]},"22":{"input":[2,3,5],"tlp":["den",182183],"trp":["nd",429334],"tlw":["den",92856],"trw":["jeden",2171],"lp":["den","sen","end","ssen","ens","esen","ende","denn","eden","dene"],"rp":["nd","nde","je","nden","nes","jed","nse","jede","ndes","jen"]},"23":{"input":[1,2,3,5],"tlp":["and",91655],"trp":["ndw",5333],"tlw":["wenn",26017],"trw":["nase",1633],"lp":["and","ande","wen","dan","wenn","dann","wand","endw","edan","aden","sand","wend","dana","anda"],"rp":["ndw","nand","nwe","nda","nase","ndwa"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",17983],"trp":["nt",123340],"tlw":["b",133],"lp":["bt","tb","tn","bb","bn","ttn"],"rp":["nt","nnt","nb","ntt","ntn","nntn","ntb","nnb"]},"25":{"input":[1,4,5],"tlp":["ab",110601],"trp":["nf",19807],"tlw":["ab",6161],"lp":["ab","ba","tan","ant","annt","fan","fn","anf","ffn","abt","ban","anft"],"rp":["nf","nfa","nat","nft","ntf","nab","nba","nta"]},"26":{"input":[2,4,5],"tlp":["bs",13819],"trp":["nst",18313],"lp":["bs","bst","bsc","sb","tj","stb","bj","bc","bstb"],"rp":["nst","nsc","nc","nts","ntsc","nnst","ntst","nnsc","nstb","nsb","nnts"]},"27":{"input":[1,2,4,5],"tlp":["stan",16933],"trp":["nac",40467],"tlw":["sanft",880],"lp":["stan","antw","bw","anc","abs","bac","anac","ansc","sanf","anst","absc","abw","stab","sab","abst"],"rp":["nac","ntw","nfac","jac","nsta"]},"28":{"input":[3,4,5],"tlp":["be",315569],"trp":["nte",72977],"tlw":["bett",2066],"trw":["neben",3915],"lp":["be","ten","ber","ren","ben","eb","rn","ern","br","ebe","ent","eben","rb","eren","tten","tern"],"rp":["nte","ner","nnte","nter"]},"29":{"input":[1,3,4,5],"tlp":["abe",79213],"tlw":["aber",39696],"lp":["abe","aber","fen","ran","aren","aben","bra","ffen","bar","arb","arbe","bef","aten","aran","fern","fne","enf","ffne","ary","arry"],"rp":[]},"30":{"input":[2,3,4,5],"tlp":["rden",23780],"trp":["nder",38861],"tlw":["ersten",3262],"trw":["jeder",2456],"lp":["rden","bes","sten","rend","ensc","best","dern","ents","bed","enst","bess","bend","enc"],"rp":["nder","jet","nser","nste","ndet","nce","ndt"]},"31":{"input":[1,2,3,4,5],"tlw":["waren",18283],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",157],"trw":["i",123],"lp":[],"rp":["ii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["zi",20813],"trp":["ia",9362],"tlw":["z",118],"lp":["zi","za","ai","az","zz","azi","aza","zzi","aia","zza","azz"],"rp":["ia","iz","izi","izz","izzi","izza"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",316897],"trp":["is",130177],"trw":["is",168],"lp":["si","ssi","sk","sik","sis","ski"],"rp":["is","iss","ki","ik","ks","kk","isi","isk","kis","isik","kiss","issi","iski","ksi"]},"35":{"input":[1,2,6],"tlp":["wi",167420],"trp":["ka",56299],"trw":["kai",169],"lp":["wi","zw","wis","zwi","wiss","zwis","ak","zwa","assi","sz","zis","asi","zs","ais"],"rp":["ka","ksa","kw","kz","isa","kas"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",652619],"trp":["ie",651532],"tlw":["ei",176],"lp":["ei","eie","eei","eiei"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",61436],"trp":["ize",965],"lp":["ze","zei","zie","ez","eze","ezei","xi","eza","exi","ezi","eiz","axi","ezie","zzie","azie","eize"],"rp":["ize","izie","izei","ix"]},"38":{"input":[2,3,6],"tlp":["di",276515],"trp":["ke",89577],"tlw":["die",198925],"trw":["idee",1017],"lp":["di","die","sie","sei","dies","eis","eid","ek","esi","dei","eide"],"rp":["ke","ies","kei","id","iese","ied","iede","ide","ise"]},"39":{"input":[1,2,3,6],"tlp":["wie",72674],"tlw":["wie",48051],"trw":["kase",144],"lp":["wie","wei","wied","zwe","zwei","weis","wid","wide","ewi","daz","eka","wies","zd","zde","dwi","ewis","ake","dwie","zes","ewei"],"rp":[]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",64747],"trp":["it",174613],"tlw":["v",67],"lp":["ti","vi","tti","tit","tv","tiv","viv","vivi","vt","vit"],"rp":["it","itt","iti","iv","ivi","itiv"]},"41":{"input":[1,4,6],"tlp":["tz",57975],"trp":["if",14792],"tlw":["fitz",198],"lp":["tz","zt","tzt","fi","va","atz","av","vat","fz","ati","fti","afti","fzt","tia","zit"],"rp":["if","itz","iff","ita","ift"]},"42":{"input":[2,4,6],"tlp":["sic",113216],"trp":["ic",528821],"tlw":["vick",133],"trw":["ist",43418],"lp":["sic","ck","sti","ckt","tis","tisc","sit","cks","ckk","ci"],"rp":["ic","ist","kt","ick","isc","ickt","its","kti","issc","isti"]},"43":{"input":[1,2,4,6],"tlp":["wisc",7325],"trp":["kat",4899],"tlw":["satz",590],"trw":["katsa",541],"lp":["wisc","ack","wic","sitz","ackt","akt","satz","tak","wit","stia","asti","akti","cksa","twi","sack","fis","fisc"],"rp":["kat","katz","kaf"]},"44":{"input":[3,4,6],"tlp":["ri",94871],"trp":["ir",113010],"tlw":["vier",1685],"lp":["ri","ve","ver","eit","rei","eite","vie","rie","eri","tie","tei","reit","rit","tri"],"rp":["ir","ier","ite","itte","iter","iert"]},"45":{"input":[1,3,4,6],"tlp":["rz",29091],"trp":["ief",12679],"tlw":["zeit",6744],"lp":["rz","etz","etzt","erz","zte","tze","tzte","zeit","rze","eif","vate","tief","rif","arz","rief","riff","fie","eife"],"rp":["ief","ife"]},"46":{"input":[2,3,4,6],"tlp":["rk",34305],"trp":["kte",27132],"tlw":["dir",10511],"lp":["rk","eic","vers","erk","cke","ckte","eck","dic","ric","dir","seit","esic","eckt","ris","reic"],"rp":["kte","kr","ird","irk","iste"]},"47":{"input":[1,2,3,4,6],"tlw":["wir",29431],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",659187],"trw":["in",95638],"lp":[],"rp":["in","ni","ih","hi","hn","ihn","hin","inn","ini","nh","hni","hh","nni","nin","nih","inh","inni","hnh","inin","hinn"]},"49":{"input":[1,5,6],"tlp":["ah",76442],"trp":["ha",235199],"tlw":["ah",759],"trw":["nah",453],"lp":["ah","anz","zah","ahn","ani","ahi"],"rp":["ha","nz","han","nah","inz","ina","nzi","inzi","haa","hina","inan","ian","hna","hz"]},"50":{"input":[2,5,6],"tlp":["sin",16409],"trp":["nk",38114],"tlw":["sinn",805],"trw":["ins",5955],"lp":["sin","sh","shi","sinn"],"rp":["nk","ins","hs","kin","kn","nis","ink","nsi","kni","hk","ish","nks","nik","kh","niss","hns"]},"51":{"input":[1,2,5,6],"tlp":["wah",16237],"trp":["hw",26859],"tlw":["sah",11589],"trw":["kann",10392],"lp":["wah","sah","ank","win","sha","wanz"],"rp":["hw","kan","kann","has","hwa","jah","hwi","hwan","hwin","insa","inw","nzw","inzw","nzwi"]},"52":{"input":[3,5,6],"tlp":["ein",403963],"trp":["ine",235416],"tlw":["ein",66637],"trw":["ihnen",10635],"lp":["ein","eine","eh","ehe","ehen","eni"],"rp":["ine","he","hen","inen","hie","hne","hei","nie","ien","hnen","ihne","inne","nei","nein"]},"53":{"input":[1,3,5,6],"tlp":["zen",18592],"trp":["nze",12641],"tlw":["zehn",1114],"trw":["nahe",2024],"lp":["zen","ahe","anze","eha","einz","eina","zeh","zieh","zehn","ahne","ahen","enz","enze","anie"],"rp":["nze","nahe","nzen","inze","hze","hzei"]},"54":{"input":[2,3,5,6],"tlp":["sein",76189],"trp":["ind",34029],"tlw":["sein",25372],"trw":["keine",11161],"lp":["sein","seh","sehe","sind","dein","enk","din","denk","eseh","eins","enke"],"rp":["ind","ken","kein","nke","inde","ines","nken","iden","kenn"]},"55":{"input":[1,2,3,5,6],"tlw":["wissen",4749],"trw":["hand",7972],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",40682],"trp":["ht",252865],"tlw":["bin",8228],"lp":["bi","bin","th","bit","bitt","tin","thi"],"rp":["ht","int","ib","hint","hti","ibt","hnt","nit","nti","nv","htb","hnit","nitt"]},"57":{"input":[1,4,5,6],"tlp":["fin",11249],"trp":["hat",98724],"tlw":["zantini",146],"trw":["hat",19760],"lp":["fin","fah","tha","fh","ahnt","tian"],"rp":["hat","hatt","hab","haf","inf","infa","haft","habt","haff","hif","hiff","htba","nzt","hatz"]},"58":{"input":[2,4,5,6],"tlp":["ch",1037218],"trp":["ich",501099],"tlw":["sich",92744],"trw":["ich",126388],"lp":["ch","cht","sch","sich","chi","bis","schi","chts","chn","chs","schn","chti"],"rp":["ich","icht","nic","nich","isch","hts","nsch","hst"]},"59":{"input":[1,2,4,5,6],"tlw":["ach",1398],"trw":["nach",23041],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["bei",38768],"trp":["hr",166493],"tlw":["einer",16300],"trw":["ihr",34974],"lp":["bei","ehr","rin","rh","erh","eht","teh"],"rp":["hr","ihr","hre","hte","her","ihre","iner","hren","ieb","hier","inte","hrer","hten"]},"61":{"input":[1,3,4,5,6],"tlw":["arbeit",1479],"trw":["hatte",62837],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["dich",11521],"trw":["nickte",3237],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["wahrend",7160],"trw":["jetzt",12900],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",2552],"trw":["o",417],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",544],"trp":["oa",1055],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",96770],"trp":["os",26972],"tlw":["so",35536],"lp":["so","sso","sos"],"rp":["os","oss","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",62062],"trp":["ow",3659],"tlw":["wo",7187],"lp":["wo","sow","woo","sowo","aos","swo","wow","aso","soa","woa","awo","sao"],"rp":["ow","osa","owa","owo","osw","osas"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",4452],"trp":["oe",1221],"trw":["-",5881],"lp":["eo","e-"],"rp":["oe","-o","-e"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",546],"trp":["ox",233],"lp":["a-"],"rp":["ox","-a","oxa","oxe"]},"70":{"input":[2,3,7],"tlp":["do",34031],"trp":["od",27025],"tlw":["dose",88],"lp":["do","eso","edo","sod","esso","deo","ddo","s-","s-o","soe","dos"],"rp":["od","ode","ose","osse","ood","-s","odes","ods","odo"]},"71":{"input":[1,2,3,7],"tlp":["ewo",5402],"trp":["oda",1427],"tlw":["sodass",1096],"lp":["ewo","dwo","soda","wood","sowe","ado","wod"],"rp":["oda","odas","owe","-w","-we","oswe","owes"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["gt",75665],"trp":["ot",33072],"tlw":["tot",1524],"trw":["otto",56],"lp":["gt","to","go","tot","tg","got","gott","gg","tto","gto","ttg"],"rp":["ot","og","ott","oot","oto","otto","ogo","ogg","ottt"]},"73":{"input":[1,4,7],"tlp":["ag",98104],"trp":["of",22112],"tlw":["tag",3421],"trw":["oft",1577],"lp":["ag","ga","agt","fo","tag","fg","fot","ago","fga","ttag","foto","tof","foa","gf"],"rp":["of","off","oga","ofo","oft","offt"]},"74":{"input":[2,4,7],"tlp":["gs",15827],"trp":["oc",76156],"tlw":["sto",607],"lp":["gs","sto","gst","sg","sog","co","toc","stoc","tos","gc","sgc","gos","goss"],"rp":["oc","ost","ots","osc","oots","otsc","otos"]},"75":{"input":[1,2,4,7],"tlp":["sag",41908],"tlw":["sagt",3037],"lp":["sag","sagt","two","sof","soga","sofo","gsa","wag","woc","gas","ags","gast","gw","agst","wagt","stof","aco","asto","stag","sags"],"rp":[]},"76":{"input":[3,4,7],"tlp":["ge",417472],"trp":["or",139857],"tlw":["gro",12824],"trw":["ort",1465],"lp":["ge","eg","ro","gte","gr","ger","rg","ege","rge","geg","gro","erg","gege","egt","tro"],"rp":["or","ort","orte","ote","org"]},"77":{"input":[1,3,4,7],"tlp":["agte",36381],"trp":["offe",6976],"tlw":["fragte",8751],"lp":["agte","age","rag","gef","frag","ragt","gar","for","gera","rage","gefa","ega","fort","gra","fge","tage","fote","trag"],"rp":["offe","ogar"]},"78":{"input":[2,3,4,7],"tlp":["ges",52897],"trp":["oder",15264],"tlw":["dort",4958],"trw":["oder",15082],"lp":["ges","doc","gesc","gest","gese","ged","dor","roc","dort","sor","sorg","sge","ros","stor","tod","rges"],"rp":["oder","ord","orde","ors"]},"79":{"input":[1,2,3,4,7],"tlw":["sagte",25887],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["un",390483],"trw":["nun",5974],"lp":[],"rp":["un","on","nu","no","onn","nun","unn","ou","nno","non","nnu","nnun","ono","onno","uo","unno","uu","uun","unu","unun"]},"81":{"input":[1,5,7],"tlp":["au",303972],"trp":["nau",10174],"tlw":["au",5558],"lp":["au","aun","qu","qua","anu","annu","ano","quo"],"rp":["nau","ona","ua","una","oan","unan","onna","unna","uan","unau","oann","oana"]},"82":{"input":[2,5,7],"tlp":["su",18391],"trp":["us",129755],"tlw":["su",647],"trw":["uns",13571],"lp":["su","son","sons","sonn","sun","sus","ssu"],"rp":["us","uss","uns","ju","jun","ons","jo","nso","uso","jon","jus","ous","nos"]},"83":{"input":[1,2,5,7],"tlp":["aus",69449],"trp":["usa",6060],"tlw":["aus",34379],"trw":["jason",129],"lp":["aus","wu","wus","wuss","wun","auss","wuns","auso","sau","won","saus","assu","ausw","asu"],"rp":["usa","naus","ussa","unw","uw","usw"]},"84":{"input":[3,5,7],"tlp":["eu",55225],"trp":["ue",28283],"trw":["neue",1471],"lp":["eu","eue","enu","eun","eno","euen","enno"],"rp":["ue","onne","uen","neu","one","une","neue","onen","unen","n-","unne","oy","yo"]},"85":{"input":[1,3,5,7],"tlp":["aue",12361],"trp":["ux",957],"lp":["aue","enau","auen","aune","que","equ","eque","an-","ean-","eau","equa","eona"],"rp":["ux","uxa","onea","na-","nna-","naue","oya","uya"]},"86":{"input":[2,3,5,7],"tlp":["du",75774],"trp":["und",249565],"tlw":["du",44764],"trw":["und",220198],"lp":["du","dun","deu","eund","sond","esu","seu","edeu","don"],"rp":["und","unde","ud","ond","ude","use","usse","unse","onde","oden","jedo"]},"87":{"input":[1,2,3,5,7],"tlw":["sonea",505],"trw":["nasuada",322],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tu",42893],"trp":["ng",148258],"tlw":["gut",8191],"trw":["ob",5684],"lp":["tu","gu","tun","bo","gut","bu","tung","gn","gun"],"rp":["ng","ut","ub","ung","ug","ob","onnt","unt","utt","nung","ngt"]},"89":{"input":[1,4,5,7],"tlp":["auf",98105],"trp":["uf",112428],"tlw":["auf",72050],"trw":["offnung",187],"lp":["auf","fu","ang","gan","aug","aut","aub","gab","tau","fun","gang","bau","aufg","atu"],"rp":["uf","uft","ufg","offn","unf","natu"]},"90":{"input":[2,4,5,7],"tlp":["stu",13806],"trp":["uc",97659],"tlw":["sonst",2451],"trw":["jung",472],"lp":["stu","suc","stun","buc","tuc","stuc"],"rp":["uc","noc","usst","ust","ngs","jung","ngst","usc","usg","onst","unsc","uts","ubs","utsc"]},"91":{"input":[1,2,4,5,7],"tlw":["angst",3094],"trw":["jacob",437],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gen",136399],"trp":["ur",167807],"tlw":["gegen",5275],"trw":["nur",23303],"lp":["gen","ru","egen","geb","eut","rgen","run","tur"],"rp":["ur","nge","ube","uber","ute","ngen","nur","uge","unte","ugen","unge","uer"]},"93":{"input":[1,3,4,5,7],"tlw":["fur",24293],"trw":["offnete",1687],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["boden",4242],"trw":["junge",3404],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["wurde",25182],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["li",151710],"trw":["ol",121],"lp":[],"rp":["li","ll","ol","il","oll","lo","ill","io","lli","ili","llo","illi","olli","oli","lio","lil","ilo","oi","lili","olo"]},"97":{"input":[1,6,7],"tlp":["al",191580],"trp":["la",130568],"tlw":["all",2129],"trw":["lilia",446],"lp":["al","all","zo","zl","zli","ali","alli","ala","allz"],"rp":["la","lz","olz","lia","ola","liz","ila","oz","oliz","lla","llz"]},"98":{"input":[2,6,7],"tlp":["sol",18755],"trp":["ko",75943],"tlw":["soll",3129],"trw":["los",2861],"lp":["sol","soll","sl","sil"],"rp":["ko","ls","kl","los","kli","lls","lso","loss","lk","ok","olk","ills","klo","llk","lko","llko"]},"99":{"input":[1,2,6,7],"tlp":["als",59443],"trp":["las",17376],"tlw":["als",47093],"trw":["lass",1226],"lp":["als","wol","woll","wil","will","also","wal","alls","wolk","sal","sola","sowi","alas"],"rp":["las","lass","kla","kal","oka","owi","low"]},"100":{"input":[3,6,7],"tlp":["el",169112],"trp":["le",200448],"tlw":["eile",168],"trw":["lie",7334],"lp":["el","ell","eil","elle","ele","eile","eli"],"rp":["le","lle","lei","lie","iel","llei","olle","iell","iele","ile","ille","ilie","lee"]},"101":{"input":[1,3,6,7],"tlp":["alle",36348],"trp":["lze",595],"tlw":["alle",9095],"trw":["lizzie",239],"lp":["alle","ale","ela","zel","elz","ezo","ziel","zoe","ael","zell","ella","alee","eal"],"rp":["lze","lize","iela","oze","lzei","-al","-ali"]},"102":{"input":[2,3,6,7],"tlp":["sel",17287],"trp":["ld",21588],"tlw":["seele",607],"trw":["leise",2478],"lp":["sel","dl","eko","dli","del","eld","els"],"rp":["ld","kle","les","klei","lles","kel","lde","ild","leid","leis","old","ilde","lke"]},"103":{"input":[1,2,3,6,7],"tlw":["alles",9526],"trw":["lasse",483],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",111639],"trp":["lt",103510],"tlw":["vollig",1315],"trw":["ig",1168],"lp":["vo","gl","gi","tig","tl","tli","gli","vol","voll"],"rp":["lt","ig","llt","ollt","igt","lg","olg","lig","ogl","lot","ogli"]},"105":{"input":[1,4,6,7],"tlp":["alt",26083],"trp":["lag",11095],"tlw":["zog",4180],"trw":["lag",3548],"lp":["alt","fl","fal","fall","gla","zog","zig","fol","folg","avo","tzl","fla","tzli","agi"],"rp":["lag","lf","lat","otz","latt","lotz"]},"106":{"input":[2,4,6,7],"tlp":["tlic",10135],"trp":["lic",83791],"tlw":["still",966],"trw":["lost",108],"lp":["tlic","cl","glic","ckl","gk","sig","solc","ckli","stil"],"rp":["lic","lick","klic","lc","ock","lst","olc","llst","igk","lsc","igs"]},"107":{"input":[1,2,4,6,7],"tlw":["willst",2074],"trw":["lasst",1485],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["vor",42281],"trp":["lte",70997],"tlw":["vor",22128],"trw":["legte",3034],"lp":["vor","elt","rl","erl","gel","viel","tel","elte","eig","rli","tell","eige","verl"],"rp":["lte","ige","llte","ler","ieg","leg","irg"]},"109":{"input":[1,3,4,6,7],"tlw":["fiel",2565],"trw":["letzte",1489],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["sollte",5278],"trw":["krieger",1798],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["wollte",8491],"trw":["klar",2511],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["hl",69806],"trw":["oh",1758],"lp":[],"rp":["hl","ho","lu","oh","uh","hu","ul","hon","ohn","hli","ln","uhl","ohl","hul","lin","nl","hol","hun","hlu","ion"]},"113":{"input":[1,5,6,7],"tlp":["zu",171648],"trp":["lan",36595],"tlw":["zu",106187],"trw":["hinzu",1319],"lp":["zu","ahl","zahl","azu","zun","zau","aul","anzu"],"rp":["lan","lau","hau","hal","hla","nzu","inau","hall","inzu","unz","hlan","iau"]},"114":{"input":[2,5,6,7],"tlp":["soh",2201],"trp":["kon",39622],"tlw":["sohn",1591],"trw":["john",638],"lp":["soh","sohn"],"rp":["kon","konn","ku","unk","lus","hlos","kun","koni","luss","uk","nkl","unkl","kus","klin","hos","link","kuss","luk"]},"115":{"input":[1,2,5,6,7],"tlw":["wohl",3262],"trw":["haus",3123],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eln",9970],"trp":["len",34944],"trw":["ohne",6453],"lp":["eln","eho","elen"],"rp":["len","llen","lein","hel","hle","ohne","hiel","hlie","leu","nel","uhe","hlen","heu","ly","hnel","nell","ohe"]},"117":{"input":[1,3,5,6,7],"tlw":["allein",3101],"trw":["luxa",831],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["sollen",1705],"trw":["konnen",8192],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["dazu",3106],"trw":["lassen",4737],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["von",54263],"trp":["ing",35552],"tlw":["von",48992],"trw":["hob",2725],"lp":["von","bl","bli","gin","ging","bil","blu"],"rp":["ing","lb","nig","htig","hlt","hut","hob","lug","ntl","hig","onig","lut","ult"]},"121":{"input":[1,4,5,6,7],"tlw":["ganz",8095],"trw":["luft",3854],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["schon",15769],"trw":["noch",31550],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["auch",23263],"trw":["obwohl",3157],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["gehen",3878],"trw":["leben",6005],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["zur",7461],"trw":["lange",4757],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["doch",19379],"trw":["konnte",19700],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["zuruck",7484],"trw":["naturlich",3611],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",10101],"trw":["p",276],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",9189],"trp":["pa",25493],"trw":["papa",249],"lp":["ap","app","apa","appa"],"rp":["pa","paa","pap","papa","ppa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",35230],"trp":["ps",471],"lp":["sp","ssp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",6529],"trp":["pas",4544],"tlw":["spa",543],"trw":["pass",277],"lp":["spa","sap","wap","wapp","aps","asp"],"rp":["pas","pass"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",4107],"trp":["pe",21955],"lp":["ep","epp","eppe","e'"],"rp":["pe","ppe","pee","'e"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["appe",1127],"trp":["px",233],"trw":["px",233],"lp":["appe","ape","epa","xp","exp","a'","eap"],"rp":["px"]},"134":{"input":[2,3,8],"tlp":["esp",4229],"trp":["'s",1830],"lp":["esp","spe","espe","sep","spee","s'","dsp","dspe","e's","dep","es'"],"rp":["'s","pes","peed"]},"135":{"input":[1,2,3,8],"tlp":["espa",426],"trw":["passe",61],"lp":["espa","dap"],"rp":[]},"136":{"input":[4,8],"tlp":["tp",1024],"trp":["pt",8640],"trw":["pt",821],"lp":["tp","ttp"],"rp":["pt","ppt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["appt",1143],"trp":["pf",28238],"trw":["pat",81],"lp":["appt","tap","apf","tpf","attp","ttpf","fp","tapf","apt","tapp","fpa","apft","apta","ffp"],"rp":["pf","pat","pft","pfa","pta"]},"138":{"input":[2,4,8],"tlp":["tsp",820],"trp":["pts",393],"lp":["tsp","stp"],"rp":["pts","ptst","pst"]},"139":{"input":[1,2,4,8],"tlp":["spat",3485],"trp":["pac",1868],"tlw":["spat",894],"trw":["passt",223],"lp":["spat","stap","cap","tspa","fpas","capt","fsp"],"rp":["pac","pfs","pfsc","ptsa","past"]},"140":{"input":[3,4,8],"tlp":["rp",4472],"trp":["pr",23900],"tlw":["treppe",1030],"trw":["peter",275],"lp":["rp","rpe","rper","rep","trep","repp","erp","ept","t'","r'"],"rp":["pr","per","pre","pte","ppte","pet","pert","peet","pete","ptet"]},"141":{"input":[1,3,4,8],"tlp":["rpf",493],"trp":["pra",7549],"tlw":["tapfer",173],"trw":["paar",4977],"lp":["rpf","erpf","apfe","rpa","erpa","apr","rap","tape","ar'","ra'"],"rp":["pra","pfe","paar","pfte","pate","pfer","par","patr","perf","part"]},"142":{"input":[2,3,4,8],"tlp":["spr",13156],"trp":["prec",3135],"tlw":["speer",150],"trw":["presste",522],"lp":["spr","spre","rsp","espr","ersp","rspr","t's","sper","sept","tspr","resp","r's","ce'"],"rp":["prec","pers","pres","pred","perc","perd","pec"]},"143":{"input":[1,2,3,4,8],"tlw":["spater",2320],"trw":["pferd",730],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",75202],"lp":[],"rp":["mm","nm","mp","np","mn"]},"145":{"input":[1,5,8],"tlp":["am",75203],"trp":["ma",116805],"tlw":["am",13314],"trw":["man",13524],"lp":["am","amm","amp","ama","aman","anm"],"rp":["ma","man","mann","nma","nam","pan","nap","napp","pann","mma","mman","mam","mama","mna"]},"146":{"input":[2,5,8],"tlp":["sm",2006],"trp":["ms",3988],"tlw":["sms",84],"lp":["sm","ssm","sms"],"rp":["ms","mms","nsp","mj","nsm"]},"147":{"input":[1,2,5,8],"tlp":["sam",18083],"trp":["nsam",1490],"tlw":["sam",1544],"trw":["japan",53],"lp":["sam","samm","span","sma","asam","ams","ansp","sams","wam","wamm","ssam"],"rp":["nsam","mas","jam","mass","maj","mw","nspa","mja","mjan"]},"148":{"input":[3,5,8],"tlp":["em",142396],"trp":["me",172798],"tlw":["em",427],"trw":["'ne",199],"lp":["em","eme","emp","enp","enem","enpe"],"rp":["me","mme","men","nem","mmen","pen","ppen","mpe","my","mee","yp","npe","ym","mmy"]},"149":{"input":[1,3,5,8],"tlp":["ema",15399],"trp":["name",3654],"tlw":["amy",168],"trw":["namen",2293],"lp":["ema","ame","eman","amme","amen","ampe","aym","ampy","xem","eam","amy","enma","anme","emna","xeme"],"rp":["name","max","mae","may","maya"]},"150":{"input":[2,3,5,8],"tlp":["dem",54438],"trp":["mens",6613],"tlw":["dem",45085],"trw":["jedem",1143],"lp":["dem","sem","esem","emd","edem","emde","esm","djem","dm"],"rp":["mens","jem","md","mes","ndem","mde","mess","mden","mend","med","mmes"]},"151":{"input":[1,2,3,5,8],"tlw":["wem",425],"trw":["jemand",3073],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",2485],"trp":["mt",14056],"lp":["tm","bm"],"rp":["mt","mmt","mb","ptm","mpt"]},"153":{"input":[1,4,5,8],"tlp":["ampf",3371],"trp":["mpf",5070],"tlw":["amt",94],"trw":["matt",200],"lp":["ampf","tam","amt","fam","ammt","tamm","atm","fm","tama","tma","tman"],"rp":["mpf","mat","mpft","npf","matt","mant","mpfa","pfan","ptma"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["stm",109],"trp":["mst",1918],"lp":["stm","bstm"],"rp":["mst","mmst","ntsp","msc","mmsc","mc","nstm"]},"155":{"input":[1,2,4,5,8],"tlw":["stamm",309],"trw":["mats",101],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",24866],"trp":["mer",37720],"tlw":["typ",417],"trw":["mr",1767],"lp":["rm","rem","rme","tem","erm","emer","bem","beme","rmen","teme"],"rp":["mer","mmer","mte","ment","mmte","mr","met","mete","mbe","mert"]},"157":{"input":[1,3,4,5,8],"tlw":["arm",2393],"trw":["manner",2823],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["erdem",1712],"trw":["mrs",981],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["warme",548],"trw":["mandred",237],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",11374],"lp":[],"rp":["pi","ip","ipp","ppi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",2458],"trp":["papi",842],"trw":["pia",152],"lp":["api","aip","zip","zp","zap","zapp"],"rp":["papi","paz","pazi","pia","piz","pizz"]},"162":{"input":[2,6,8],"tlp":["spi",7019],"trp":["isp",965],"lp":["spi"],"rp":["isp","ispi","pis","kp","kip","kipp","ksp","kspi","ips"]},"163":{"input":[1,2,6,8],"tlp":["spaz",195],"trp":["kap",1913],"lp":["spaz","zsp","zspi","wisp","szip","szap"],"rp":["kap","kapi","kapp"]},"164":{"input":[3,6,8],"tlp":["eppi",167],"trp":["pie",5917],"lp":["eppi","eip"],"rp":["pie","ippe","pei","peie","ie'","ipe"]},"165":{"input":[1,3,6,8],"tlp":["apie",1000],"trp":["'z",210],"lp":["apie","zep","a'z","a'za","z'"],"rp":["'z","'za"]},"166":{"input":[2,3,6,8],"tlp":["spie",4741],"trp":["pek",382],"tlw":["spie",186],"lp":["spie","eisp","spek","spei","espi","skep","disp","sie'"],"rp":["pek","peis","kep","ispe","is'","ie's","idep","k'","k'e"]},"167":{"input":[1,2,3,6,8],"trw":["kappe",55],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",377],"trp":["pit",3051],"tlw":["tippt",50],"lp":["tip","tipp"],"rp":["pit","pti","ippt","itp","ipt","piv"]},"169":{"input":[1,4,6,8],"tlp":["apit",1458],"trp":["pitz",1593],"trw":["pfiff",129],"lp":["apit","zpf","tzp","zapf"],"rp":["pitz","pfi","pita","pati","ipf","ptai","pfif","pav","pavi","patz"]},"170":{"input":[2,4,6,8],"tlp":["spit",1593],"trp":["pist",286],"lp":["spit","cksp"],"rp":["pist","pisc","pic","ppic","ptis","ktp"]},"171":{"input":[1,2,4,6,8],"tlw":["spitz",113],"trw":["packt",105],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",838],"trp":["pri",3830],"tlw":["tippte",195],"lp":["rip","epti","ripr","verp","eitp","ripp","epri","ript"],"rp":["pri","pier","pite","prie","ipr","ipre","prei","ptie","peit","pir","prit","peti"]},"173":{"input":[1,3,4,6,8],"tlw":["appetit",109],"trw":["papier",621],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["ripred",581],"trw":["preis",373],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["spitze",616],"trw":["passiert",1606],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",156924],"trw":["im",27050],"lp":[],"rp":["mi","im","hm","imm","ihm","inm","min","ph","him","himm","phi","hmi","nim","nimm","imn","mni","imni","mh","pin","nmi"]},"177":{"input":[1,5,6,8],"tlp":["ami",10941],"trp":["inma",7220],"tlw":["ahm",221],"trw":["nahm",4064],"lp":["ami","ahm","zim","zimm","aph","aphi"],"rp":["inma","nahm","hma","mia","mah","ham","ima","mani","pha","hnap","iam","pani","hamm","mz"]},"178":{"input":[2,5,6,8],"tlp":["sim",1838],"trp":["mis",4451],"tlw":["sims",60],"trw":["miss",415],"lp":["sim","sph","spin","smi"],"rp":["mis","miss","mk","mnis","imms","imk","mik","jim","jimm","ims","mij","mmis","nspi","hms","issm","mmk"]},"179":{"input":[1,2,5,6,8],"tlw":["asami",402],"trw":["kam",6230],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["einm",7220],"trp":["mei",39849],"tlw":["einem",21852],"trw":["meine",11395],"lp":["einm","eim","ehm","ehme","emei","emi"],"rp":["mei","mein","inem","imme","meh","hme","iem","nehm","niem","hmen","heim","mie","hem","mien"]},"181":{"input":[1,3,5,6,8],"tlw":["annehmen",189],"trw":["nahmen",491],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["seinem",7860],"trw":["meines",844],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["damien",281],"trw":["niemand",3087],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",12361],"trp":["mit",82241],"tlw":["tim",137],"trw":["mit",65945],"lp":["tim","timm","thm","thim"],"rp":["mit","mitt","immt","htm","nmit","hmit","hmt","ptim","mith","mitn","mitb","ntim","htip","itm","hitm","htp"]},"185":{"input":[1,4,5,6,8],"tlw":["tamani",796],"trw":["mattia",102],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["stimmt",967],"trw":["mich",27002],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["wachmann",161],"trw":["macht",2965],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["beim",2845],"trw":["mir",28421],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["zimmer",2340],"trw":["prinz",511],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["stimme",5685],"trw":["menschen",4046],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["damit",7217],"trw":["machte",4587],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",16041],"lp":[],"rp":["op","po","opp"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",54],"trp":["opa",519],"lp":["apo"],"rp":["opa"]},"194":{"input":[2,7,8],"tlp":["spo",569],"trp":["pos",794],"lp":["spo","sop"],"rp":["pos","osp","pso","ops"]},"195":{"input":[1,2,7,8],"lp":[],"rp":[]},"196":{"input":[3,7,8],"tlp":["eop",243],"trp":["oppe",220],"lp":["eop","epo"],"rp":["oppe","-p","ope"]},"197":{"input":[1,3,7,8],"tlp":["eopa",185],"lp":["eopa","xpo","expo"],"rp":[]},"198":{"input":[2,3,7,8],"tlp":["dop",158],"trp":["odsp",102],"lp":["dop","dopp"],"rp":["odsp","pose"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1390],"trp":["pot",525],"lp":["top","topp","tpo"],"rp":["pot","pott","pto","ptop"]},"201":{"input":[1,4,7,8],"tlp":["tpfo",466],"trp":["opf",13450],"tlw":["topf",130],"lp":["tpfo","topf","apto"],"rp":["opf","pfo","pfot","opft","pag","pagg"]},"202":{"input":[2,4,7,8],"tlp":["stop",653],"trp":["post",447],"tlw":["spott",92],"trw":["post",110],"lp":["stop","spot","tpos"],"rp":["post","poc"]},"203":{"input":[1,2,4,7,8],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",949],"trp":["pro",5714],"tlw":["reporter",63],"trw":["potter",173],"lp":["rop","gep","trop","gepr","g'","repo","epor","geop","tpro"],"rp":["pro","orp","orpe","por","port","-top","prot","prop","prog","pero","perg"]},"205":{"input":[1,3,4,7,8],"tlw":["tropfte",104],"trw":["pfote",449],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["gepresst",119],"trw":["perdor",186],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["stopfte",111],"trw":["professor",480],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["um",81208],"trw":["um",30478],"lp":[],"rp":["um","mu","om","mo","omm","pu","up","mon","mom","umm","mun","nom","nomm","upp","pun","ump","unm","omp","nmo","unmo"]},"209":{"input":[1,5,7,8],"tlp":["aum",11931],"trp":["mau",2979],"trw":["mona",273],"lp":["aum","aup","amo","amon","amu","apu","ammo","aom","anmu"],"rp":["mau","pau","mona","oma","uma","omma","manu","naom","oman","pua","mano"]},"210":{"input":[2,5,7,8],"tlp":["spu",5447],"trp":["mus",23962],"trw":["muss",5445],"lp":["spu","som","sum","somm","summ","sup","smu","supp"],"rp":["mus","muss","ums","usp","mons","omms","mso","umso","mos","usm","moos","ussp"]},"211":{"input":[1,2,5,7,8],"tlw":["amos",143],"trw":["maus",230],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["enom",2575],"trp":["omme",15487],"trw":["neuem",121],"lp":["enom","emu","empo","emo","emon","epu","eum"],"rp":["omme","ome","omen","mome","ume","umme","umen","uppe","umpe","omy","uem","mone","pony"]},"213":{"input":[1,3,5,7,8],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["dumm",400],"trw":["mussen",4744],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["damon",348],"trw":["pause",441],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tum",1365],"trp":["mut",9353],"tlw":["tom",616],"trw":["mut",548],"lp":["tum","tom","tumm","ttom"],"rp":["mut","mutt","mog","upt","ommt","mg","umg","omb","ummt","mung","nmog","mot","umb","umt","put","mott"]},"217":{"input":[1,4,5,7,8],"tlw":["baum",788],"trw":["mag",837],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["stumm",329],"trw":["musst",1824],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["anspannung",163],"trw":["magnus",226],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["genommen",1020],"trw":["mutter",5624],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["raum",1894],"trw":["magen",753],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["spurte",2360],"trw":["musste",7028],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["warum",5314],"trw":["umstanden",254],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",9042],"lp":[],"rp":["pl","plo","lip","lipp","pol","poli","lop","lp","ilip","olp","pil","pli","pio","pilo","ipl","ipli","pill","opi","poll","ppl"]},"225":{"input":[1,6,7,8],"tlp":["zop",139],"trp":["pla",4483],"tlw":["apollo",54],"trw":["opal",202],"lp":["zop","zipl","apol","appl"],"rp":["pla","pal","lap","lapp","pala","opal","pliz","pilz","pila","ppla"]},"226":{"input":[2,6,7,8],"tlp":["spio",245],"trp":["kop",10195],"trw":["klops",60],"lp":["spio","spl","spli"],"rp":["kop","klop","posi","klip","kpl","ispl","plos","lops","kopi"]},"227":{"input":[1,2,6,7,8],"trw":["klaps",56],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elp",361],"trp":["piel",3820],"trw":["lippe",146],"lp":["elp","epl"],"rp":["piel","pel","lpe","olpe","ppel","leop","ple","lep","lepp","-pi","-pie","l'","ll'","oll'","pell","'el","lpel","opie"]},"229":{"input":[1,3,6,7,8],"trw":["pelz",894],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spiel",618],"trw":["klippe",159],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["speisesaal",104],"trw":["klappe",167],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tolp",465],"trp":["plot",3683],"trw":["pilot",82],"lp":["tolp","gip","tpl"],"rp":["plot","pito","pig","ppig","plit"]},"233":{"input":[1,4,6,7,8],"tlw":["zopf",91],"trw":["platz",1840],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["politik",180],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["spalt",238],"trw":["kopf",9064],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["prior",72],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["rappelte",154],"trw":["pfeil",312],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["spielte",526],"trw":["korper",2392],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["distelpfote",300],"trw":["kapitel",832],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["ml",4691],"trw":["philip",527],"lp":[],"rp":["ml","mli","mil","lm","lim","muh","imo","limm","mili","imon","hlim","minu","oph","umi","umin","hop","hmu","lum","llm","phil"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["zum",13031],"trw":["mal",9722],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simon",1611],"trw":["komm",1435],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["william",287],"trw":["kaum",3695],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["himmel",2108],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["einmal",7220],"trw":["plane",315],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["spielen",619],"trw":["kommen",3154],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["zusammen",3969],"trw":["niemals",1641],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["vom",5596],"trw":["html",387],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",198],"trw":["umhang",262],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["schlimm",464],"trw":["kommt",2302],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["allmahlich",712],"trw":["plotzlich",3426],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["gemeint",376],"trw":["herum",2872],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["familie",1680],"trw":["uberhaupt",2569],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["gekommen",2443],"trw":["mochte",2710],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["gemacht",2597],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",9644],"tlw":["a",672],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",161786],"tlw":["s",320],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",267481],"tlw":["was",33174],"lp":["as","wa","sa","ass","was","wass","ssa","sw","asa","assa","saa","aw","swa","awa","sas","ssas","asw","saw","sawa"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",14304],"tlw":["e",8272],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",6426],"lp":["ea","ex","ae","xa","ax","xe","exe","exa"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",603509],"tlw":["es",81182],"lp":["de","es","se","ed","sse","ese","ede","des","ess","esse","ses","eses","ds","dess","see","edes","sd","dee","dd","sess"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",270688],"tlw":["das",100677],"lp":["da","we","das","dass","ew","ad","asse","ewe","wes","ade","wese","ewes","esa","eda","dw","ewa","ase","essa","dwa","wed"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",129965],"tlw":["t",4870],"lp":["tt","ttt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",159129],"tlw":["tat",2050],"lp":["at","att","ta","fa","ft","ff","af","tat","aft","aff","tf","fft","tatt","tta","afft","fta","ffa","ata","ttf","taa"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",329949],"tlw":["st",194],"lp":["st","sc","ts","sst","tsc","ssc","tst","tts","tc","sts","ttst","ssts","stst","ct","cc","stc","cs"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ac",129940],"tlw":["fast",4605],"lp":["ac","sta","tw","ast","twa","twas","asc","fas","fac","wac","sac","tsa","ca","fast","ats","asst","stat","fs","tas","atsa"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",1062516],"tlw":["er",139320],"lp":["er","te","re","rt","et","tte","ter","rte","tr","ere","ert","ete","tet","rr","erte","tete","rer","err","tter","tre"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",236202],"tlw":["trat",2331],"lp":["ar","ra","atte","fe","fr","ef","are","tra","fra","era","art","rf","ate","ffe","fre","arte","fer","ara","rat","ater"],"rp":[]},"14":{"input":[2,3,4],"tlp":["der",234317],"tlw":["der",139944],"lp":["der","ste","rd","rs","ers","rde","est","ec","rst","dr","erst","eder","ser","erd","ster","rc","dere","erde","sste","rsc"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["war",130034],"tlw":["war",76994],"lp":["war","wer","ware","rac","dar","etw","etwa","rw","werd","erw","dac","dara","dra","wart","star","rad","stra","fes","rwa","ras"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",160994],"trw":["n",114],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",368610],"trp":["na",94964],"tlw":["an",48407],"trw":["na",1852],"lp":["an","ann","ana","anna","aq","qq","aqq"],"rp":["na","nan","nna","nann","nq"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",476],"trp":["ns",79641],"trw":["j",60],"lp":["sn"],"rp":["ns","nns","nj"]},"19":{"input":[1,2,5],"tlp":["wan",16048],"trp":["ja",26608],"tlw":["wann",1025],"trw":["ja",12041],"lp":["wan","ans","san","anns","wann","ssan","anw","ansa","sna","aj"],"rp":["ja","nw","nas","nsa","jan","nwa","nass","nja","jann","jans"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",1123066],"trp":["ne",372242],"tlw":["en",15361],"trw":["nennen",573],"lp":["en","enn","ene","enen","enne","ey","een","eyn"],"rp":["ne","nen","nne","nnen","yn","ny","nee","nenn","nny","ye","ney","yen"]},"21":{"input":[1,3,5],"tlp":["ena",8169],"trp":["ya",3585],"trw":["nyx",188],"lp":["ena","anne","ane","ay","ean","anen","anny","enan","any","enna","xan","eq","aya","xen","exen"],"rp":["ya","yan","nea","yx","nyx"]},"22":{"input":[2,3,5],"tlp":["den",182183],"trp":["nd",429334],"tlw":["den",92856],"trw":["jeden",2171],"lp":["den","sen","end","ssen","ens","esen","ende","denn","eden","dene"],"rp":["nd","nde","je","nden","nes","jed","nse","jede","ndes","jen"]},"23":{"input":[1,2,3,5],"tlp":["and",91655],"trp":["ndw",5333],"tlw":["wenn",26017],"trw":["nase",1633],"lp":["and","ande","wen","dan","wenn","dann","wand","endw","edan","aden","sand","wend","dana","anda"],"rp":["ndw","nand","nwe","nda","nase","ndwa"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",17983],"trp":["nt",123340],"tlw":["b",133],"lp":["bt","tb","tn","bb","bn","ttn"],"rp":["nt","nnt","nb","ntt","ntn","nntn","ntb","nnb"]},"25":{"input":[1,4,5],"tlp":["ab",110601],"trp":["nf",19807],"tlw":["ab",6161],"lp":["ab","ba","tan","ant","annt","fan","fn","anf","ffn","abt","ban","anft"],"rp":["nf","nfa","nat","nft","ntf","nab","nba","nta"]},"26":{"input":[2,4,5],"tlp":["bs",13819],"trp":["nst",18313],"lp":["bs","bst","bsc","sb","tj","stb","bj","bc","bstb"],"rp":["nst","nsc","nc","nts","ntsc","nnst","ntst","nnsc","nstb","nsb","nnts"]},"27":{"input":[1,2,4,5],"tlp":["stan",16933],"trp":["nac",40467],"tlw":["sanft",880],"lp":["stan","antw","bw","anc","abs","bac","anac","ansc","sanf","anst","absc","abw","stab","sab","abst"],"rp":["nac","ntw","nfac","jac","nsta"]},"28":{"input":[3,4,5],"tlp":["be",315569],"trp":["nte",72977],"tlw":["bett",2066],"trw":["neben",3915],"lp":["be","ten","ber","ren","ben","eb","rn","ern","br","ebe","ent","eben","rb","eren","tten","tern"],"rp":["nte","ner","nnte","nter"]},"29":{"input":[1,3,4,5],"tlp":["abe",79213],"tlw":["aber",39696],"lp":["abe","aber","fen","ran","aren","aben","bra","ffen","bar","arb","arbe","bef","aten","aran","fern","fne","enf","ffne","ary","arry"],"rp":[]},"30":{"input":[2,3,4,5],"tlp":["rden",23780],"trp":["nder",38861],"tlw":["ersten",3262],"trw":["jeder",2456],"lp":["rden","bes","sten","rend","ensc","best","dern","ents","bed","enst","bess","bend","enc"],"rp":["nder","jet","nser","nste","ndet","nce","ndt"]},"31":{"input":[1,2,3,4,5],"tlw":["waren",18283],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",157],"trw":["i",123],"lp":[],"rp":["ii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["zi",20813],"trp":["ia",9362],"tlw":["z",118],"lp":["zi","za","ai","az","zz","azi","aza","zzi","aia","zza","azz"],"rp":["ia","iz","izi","izz","izzi","izza"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",316897],"trp":["is",130177],"trw":["is",168],"lp":["si","ssi","sk","sik","sis","ski"],"rp":["is","iss","ki","ik","ks","kk","isi","isk","kis","isik","kiss","issi","iski","ksi"]},"35":{"input":[1,2,6],"tlp":["wi",167420],"trp":["ka",56299],"trw":["kai",169],"lp":["wi","zw","wis","zwi","wiss","zwis","ak","zwa","assi","sz","zis","asi","zs","ais"],"rp":["ka","ksa","kw","kz","isa","kas"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",652619],"trp":["ie",651532],"tlw":["ei",176],"lp":["ei","eie","eei","eiei"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",61436],"trp":["ize",965],"lp":["ze","zei","zie","ez","eze","ezei","xi","eza","exi","ezi","eiz","axi","ezie","zzie","azie","eize"],"rp":["ize","izie","izei","ix"]},"38":{"input":[2,3,6],"tlp":["di",276515],"trp":["ke",89577],"tlw":["die",198925],"trw":["idee",1017],"lp":["di","die","sie","sei","dies","eis","eid","ek","esi","dei","eide"],"rp":["ke","ies","kei","id","iese","ied","iede","ide","ise"]},"39":{"input":[1,2,3,6],"tlp":["wie",72674],"tlw":["wie",48051],"trw":["kase",144],"lp":["wie","wei","wied","zwe","zwei","weis","wid","wide","ewi","daz","eka","wies","zd","zde","dwi","ewis","ake","dwie","zes","ewei"],"rp":[]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",64747],"trp":["it",174613],"tlw":["v",67],"lp":["ti","vi","tti","tit","tv","tiv","viv","vivi","vt","vit"],"rp":["it","itt","iti","iv","ivi","itiv"]},"41":{"input":[1,4,6],"tlp":["tz",57975],"trp":["if",14792],"tlw":["fitz",198],"lp":["tz","zt","tzt","fi","va","atz","av","vat","fz","ati","fti","afti","fzt","tia","zit"],"rp":["if","itz","iff","ita","ift"]},"42":{"input":[2,4,6],"tlp":["sic",113216],"trp":["ic",528821],"tlw":["vick",133],"trw":["ist",43418],"lp":["sic","ck","sti","ckt","tis","tisc","sit","cks","ckk","ci"],"rp":["ic","ist","kt","ick","isc","ickt","its","kti","issc","isti"]},"43":{"input":[1,2,4,6],"tlp":["wisc",7325],"trp":["kat",4899],"tlw":["satz",590],"trw":["katsa",541],"lp":["wisc","ack","wic","sitz","ackt","akt","satz","tak","wit","stia","asti","akti","cksa","twi","sack","fis","fisc"],"rp":["kat","katz","kaf"]},"44":{"input":[3,4,6],"tlp":["ri",94871],"trp":["ir",113010],"tlw":["vier",1685],"lp":["ri","ve","ver","eit","rei","eite","vie","rie","eri","tie","tei","reit","rit","tri"],"rp":["ir","ier","ite","itte","iter","iert"]},"45":{"input":[1,3,4,6],"tlp":["rz",29091],"trp":["ief",12679],"tlw":["zeit",6744],"lp":["rz","etz","etzt","erz","zte","tze","tzte","zeit","rze","eif","vate","tief","rif","arz","rief","riff","fie","eife"],"rp":["ief","ife"]},"46":{"input":[2,3,4,6],"tlp":["rk",34305],"trp":["kte",27132],"tlw":["dir",10511],"lp":["rk","eic","vers","erk","cke","ckte","eck","dic","ric","dir","seit","esic","eckt","ris","reic"],"rp":["kte","kr","ird","irk","iste"]},"47":{"input":[1,2,3,4,6],"tlw":["wir",29431],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",659187],"trw":["in",95638],"lp":[],"rp":["in","ni","ih","hi","hn","ihn","hin","inn","ini","nh","hni","hh","nni","nin","nih","inh","inni","hnh","inin","hinn"]},"49":{"input":[1,5,6],"tlp":["ah",76442],"trp":["ha",235199],"tlw":["ah",759],"trw":["nah",453],"lp":["ah","anz","zah","ahn","ani","ahi"],"rp":["ha","nz","han","nah","inz","ina","nzi","inzi","haa","hina","inan","ian","hna","hz"]},"50":{"input":[2,5,6],"tlp":["sin",16409],"trp":["nk",38114],"tlw":["sinn",805],"trw":["ins",5955],"lp":["sin","sh","shi","sinn"],"rp":["nk","ins","hs","kin","kn","nis","ink","nsi","kni","hk","ish","nks","nik","kh","niss","hns"]},"51":{"input":[1,2,5,6],"tlp":["wah",16237],"trp":["hw",26859],"tlw":["sah",11589],"trw":["kann",10392],"lp":["wah","sah","ank","win","sha","wanz"],"rp":["hw","kan","kann","has","hwa","jah","hwi","hwan","hwin","insa","inw","nzw","inzw","nzwi"]},"52":{"input":[3,5,6],"tlp":["ein",403963],"trp":["ine",235416],"tlw":["ein",66637],"trw":["ihnen",10635],"lp":["ein","eine","eh","ehe","ehen","eni"],"rp":["ine","he","hen","inen","hie","hne","hei","nie","ien","hnen","ihne","inne","nei","nein"]},"53":{"input":[1,3,5,6],"tlp":["zen",18592],"trp":["nze",12641],"tlw":["zehn",1114],"trw":["nahe",2024],"lp":["zen","ahe","anze","eha","einz","eina","zeh","zieh","zehn","ahne","ahen","enz","enze","anie"],"rp":["nze","nahe","nzen","inze","hze","hzei"]},"54":{"input":[2,3,5,6],"tlp":["sein",76189],"trp":["ind",34029],"tlw":["sein",25372],"trw":["keine",11161],"lp":["sein","seh","sehe","sind","dein","enk","din","denk","eseh","eins","enke"],"rp":["ind","ken","kein","nke","inde","ines","nken","iden","kenn"]},"55":{"input":[1,2,3,5,6],"tlw":["wissen",4749],"trw":["hand",7972],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",40682],"trp":["ht",252865],"tlw":["bin",8228],"lp":["bi","bin","th","bit","bitt","tin","thi"],"rp":["ht","int","ib","hint","hti","ibt","hnt","nit","nti","nv","htb","hnit","nitt"]},"57":{"input":[1,4,5,6],"tlp":["fin",11249],"trp":["hat",98724],"tlw":["zantini",146],"trw":["hat",19760],"lp":["fin","fah","tha","fh","ahnt","tian"],"rp":["hat","hatt","hab","haf","inf","infa","haft","habt","haff","hif","hiff","htba","nzt","hatz"]},"58":{"input":[2,4,5,6],"tlp":["ch",1037218],"trp":["ich",501099],"tlw":["sich",92744],"trw":["ich",126388],"lp":["ch","cht","sch","sich","chi","bis","schi","chts","chn","chs","schn","chti"],"rp":["ich","icht","nic","nich","isch","hts","nsch","hst"]},"59":{"input":[1,2,4,5,6],"tlw":["ach",1398],"trw":["nach",23041],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["bei",38768],"trp":["hr",166493],"tlw":["einer",16300],"trw":["ihr",34974],"lp":["bei","ehr","rin","rh","erh","eht","teh"],"rp":["hr","ihr","hre","hte","her","ihre","iner","hren","ieb","hier","inte","hrer","hten"]},"61":{"input":[1,3,4,5,6],"tlw":["arbeit",1479],"trw":["hatte",62837],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["dich",11521],"trw":["nickte",3237],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["wahrend",7160],"trw":["jetzt",12900],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",2552],"trw":["o",417],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",544],"trp":["oa",1055],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",96770],"trp":["os",26972],"tlw":["so",35536],"lp":["so","sso","sos"],"rp":["os","oss","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",62062],"trp":["ow",3659],"tlw":["wo",7187],"lp":["wo","sow","woo","sowo","aos","swo","wow","aso","soa","woa","awo","sao"],"rp":["ow","osa","owa","owo","osw","osas"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",4452],"trp":["oe",1221],"trw":["-",5881],"lp":["eo","e-"],"rp":["oe","-o","-e"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",546],"trp":["ox",233],"lp":["a-"],"rp":["ox","-a","oxa","oxe"]},"70":{"input":[2,3,7],"tlp":["do",34031],"trp":["od",27025],"tlw":["dose",88],"lp":["do","eso","edo","sod","esso","deo","ddo","s-","s-o","soe","dos"],"rp":["od","ode","ose","osse","ood","-s","odes","ods","odo"]},"71":{"input":[1,2,3,7],"tlp":["ewo",5402],"trp":["oda",1427],"tlw":["sodass",1096],"lp":["ewo","dwo","soda","wood","sowe","ado","wod"],"rp":["oda","odas","owe","-w","-we","oswe","owes"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["gt",75665],"trp":["ot",33072],"tlw":["tot",1524],"trw":["otto",56],"lp":["gt","to","go","tot","tg","got","gott","gg","tto","gto","ttg"],"rp":["ot","og","ott","oot","oto","otto","ogo","ogg","ottt"]},"73":{"input":[1,4,7],"tlp":["ag",98104],"trp":["of",22112],"tlw":["tag",3421],"trw":["oft",1577],"lp":["ag","ga","agt","fo","tag","fg","fot","ago","fga","ttag","foto","tof","foa","gf"],"rp":["of","off","oga","ofo","oft","offt"]},"74":{"input":[2,4,7],"tlp":["gs",15827],"trp":["oc",76156],"tlw":["sto",607],"lp":["gs","sto","gst","sg","sog","co","toc","stoc","tos","gc","sgc","gos","goss"],"rp":["oc","ost","ots","osc","oots","otsc","otos"]},"75":{"input":[1,2,4,7],"tlp":["sag",41908],"tlw":["sagt",3037],"lp":["sag","sagt","two","sof","soga","sofo","gsa","wag","woc","gas","ags","gast","gw","agst","wagt","stof","aco","asto","stag","sags"],"rp":[]},"76":{"input":[3,4,7],"tlp":["ge",417472],"trp":["or",139857],"tlw":["gro",12824],"trw":["ort",1465],"lp":["ge","eg","ro","gte","gr","ger","rg","ege","rge","geg","gro","erg","gege","egt","tro"],"rp":["or","ort","orte","ote","org"]},"77":{"input":[1,3,4,7],"tlp":["agte",36381],"trp":["offe",6976],"tlw":["fragte",8751],"lp":["agte","age","rag","gef","frag","ragt","gar","for","gera","rage","gefa","ega","fort","gra","fge","tage","fote","trag"],"rp":["offe","ogar"]},"78":{"input":[2,3,4,7],"tlp":["ges",52897],"trp":["oder",15264],"tlw":["dort",4958],"trw":["oder",15082],"lp":["ges","doc","gesc","gest","gese","ged","dor","roc","dort","sor","sorg","sge","ros","stor","tod","rges"],"rp":["oder","ord","orde","ors"]},"79":{"input":[1,2,3,4,7],"tlw":["sagte",25887],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["un",390483],"trw":["nun",5974],"lp":[],"rp":["un","on","nu","no","onn","nun","unn","ou","nno","non","nnu","nnun","ono","onno","uo","unno","uu","uun","unu","unun"]},"81":{"input":[1,5,7],"tlp":["au",303972],"trp":["nau",10174],"tlw":["au",5558],"lp":["au","aun","qu","qua","anu","annu","ano","quo"],"rp":["nau","ona","ua","una","oan","unan","onna","unna","uan","unau","oann","oana"]},"82":{"input":[2,5,7],"tlp":["su",18391],"trp":["us",129755],"tlw":["su",647],"trw":["uns",13571],"lp":["su","son","sons","sonn","sun","sus","ssu"],"rp":["us","uss","uns","ju","jun","ons","jo","nso","uso","jon","jus","ous","nos"]},"83":{"input":[1,2,5,7],"tlp":["aus",69449],"trp":["usa",6060],"tlw":["aus",34379],"trw":["jason",129],"lp":["aus","wu","wus","wuss","wun","auss","wuns","auso","sau","won","saus","assu","ausw","asu"],"rp":["usa","naus","ussa","unw","uw","usw"]},"84":{"input":[3,5,7],"tlp":["eu",55225],"trp":["ue",28283],"trw":["neue",1471],"lp":["eu","eue","enu","eun","eno","euen","enno"],"rp":["ue","onne","uen","neu","one","une","neue","onen","unen","n-","unne","oy","yo"]},"85":{"input":[1,3,5,7],"tlp":["aue",12361],"trp":["ux",957],"lp":["aue","enau","auen","aune","que","equ","eque","an-","ean-","eau","equa","eona"],"rp":["ux","uxa","onea","na-","nna-","naue","oya","uya"]},"86":{"input":[2,3,5,7],"tlp":["du",75774],"trp":["und",249565],"tlw":["du",44764],"trw":["und",220198],"lp":["du","dun","deu","eund","sond","esu","seu","edeu","don"],"rp":["und","unde","ud","ond","ude","use","usse","unse","onde","oden","jedo"]},"87":{"input":[1,2,3,5,7],"tlw":["sonea",505],"trw":["nasuada",322],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tu",42893],"trp":["ng",148258],"tlw":["gut",8191],"trw":["ob",5684],"lp":["tu","gu","tun","bo","gut","bu","tung","gn","gun"],"rp":["ng","ut","ub","ung","ug","ob","onnt","unt","utt","nung","ngt"]},"89":{"input":[1,4,5,7],"tlp":["auf",98105],"trp":["uf",112428],"tlw":["auf",72050],"trw":["offnung",187],"lp":["auf","fu","ang","gan","aug","aut","aub","gab","tau","fun","gang","bau","aufg","atu"],"rp":["uf","uft","ufg","offn","unf","natu"]},"90":{"input":[2,4,5,7],"tlp":["stu",13806],"trp":["uc",97659],"tlw":["sonst",2451],"trw":["jung",472],"lp":["stu","suc","stun","buc","tuc","stuc"],"rp":["uc","noc","usst","ust","ngs","jung","ngst","usc","usg","onst","unsc","uts","ubs","utsc"]},"91":{"input":[1,2,4,5,7],"tlw":["angst",3094],"trw":["jacob",437],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gen",136399],"trp":["ur",167807],"tlw":["gegen",5275],"trw":["nur",23303],"lp":["gen","ru","egen","geb","eut","rgen","run","tur"],"rp":["ur","nge","ube","uber","ute","ngen","nur","uge","unte","ugen","unge","uer"]},"93":{"input":[1,3,4,5,7],"tlw":["fur",24293],"trw":["offnete",1687],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["boden",4242],"trw":["junge",3404],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["wurde",25182],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["li",151710],"trw":["ol",121],"lp":[],"rp":["li","ll","ol","il","oll","lo","ill","io","lli","ili","llo","illi","olli","oli","lio","lil","ilo","oi","lili","olo"]},"97":{"input":[1,6,7],"tlp":["al",191580],"trp":["la",130568],"tlw":["all",2129],"trw":["lilia",446],"lp":["al","all","zo","zl","zli","ali","alli","ala","allz"],"rp":["la","lz","olz","lia","ola","liz","ila","oz","oliz","lla","llz"]},"98":{"input":[2,6,7],"tlp":["sol",18755],"trp":["ko",75943],"tlw":["soll",3129],"trw":["los",2861],"lp":["sol","soll","sl","sil"],"rp":["ko","ls","kl","los","kli","lls","lso","loss","lk","ok","olk","ills","klo","llk","lko","llko"]},"99":{"input":[1,2,6,7],"tlp":["als",59443],"trp":["las",17376],"tlw":["als",47093],"trw":["lass",1226],"lp":["als","wol","woll","wil","will","also","wal","alls","wolk","sal","sola","sowi","alas"],"rp":["las","lass","kla","kal","oka","owi","low"]},"100":{"input":[3,6,7],"tlp":["el",169112],"trp":["le",200448],"tlw":["eile",168],"trw":["lie",7334],"lp":["el","ell","eil","elle","ele","eile","eli"],"rp":["le","lle","lei","lie","iel","llei","olle","iell","iele","ile","ille","ilie","lee"]},"101":{"input":[1,3,6,7],"tlp":["alle",36348],"trp":["lze",595],"tlw":["alle",9095],"trw":["lizzie",239],"lp":["alle","ale","ela","zel","elz","ezo","ziel","zoe","ael","zell","ella","alee","eal"],"rp":["lze","lize","iela","oze","lzei","-al","-ali"]},"102":{"input":[2,3,6,7],"tlp":["sel",17287],"trp":["ld",21588],"tlw":["seele",607],"trw":["leise",2478],"lp":["sel","dl","eko","dli","del","eld","els"],"rp":["ld","kle","les","klei","lles","kel","lde","ild","leid","leis","old","ilde","lke"]},"103":{"input":[1,2,3,6,7],"tlw":["alles",9526],"trw":["lasse",483],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",111639],"trp":["lt",103510],"tlw":["vollig",1315],"trw":["ig",1168],"lp":["vo","gl","gi","tig","tl","tli","gli","vol","voll"],"rp":["lt","ig","llt","ollt","igt","lg","olg","lig","ogl","lot","ogli"]},"105":{"input":[1,4,6,7],"tlp":["alt",26083],"trp":["lag",11095],"tlw":["zog",4180],"trw":["lag",3548],"lp":["alt","fl","fal","fall","gla","zog","zig","fol","folg","avo","tzl","fla","tzli","agi"],"rp":["lag","lf","lat","otz","latt","lotz"]},"106":{"input":[2,4,6,7],"tlp":["tlic",10135],"trp":["lic",83791],"tlw":["still",966],"trw":["lost",108],"lp":["tlic","cl","glic","ckl","gk","sig","solc","ckli","stil"],"rp":["lic","lick","klic","lc","ock","lst","olc","llst","igk","lsc","igs"]},"107":{"input":[1,2,4,6,7],"tlw":["willst",2074],"trw":["lasst",1485],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["vor",42281],"trp":["lte",70997],"tlw":["vor",22128],"trw":["legte",3034],"lp":["vor","elt","rl","erl","gel","viel","tel","elte","eig","rli","tell","eige","verl"],"rp":["lte","ige","llte","ler","ieg","leg","irg"]},"109":{"input":[1,3,4,6,7],"tlw":["fiel",2565],"trw":["letzte",1489],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["sollte",5278],"trw":["krieger",1798],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["wollte",8491],"trw":["klar",2511],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["hl",69806],"trw":["oh",1758],"lp":[],"rp":["hl","ho","lu","oh","uh","hu","ul","hon","ohn","hli","ln","uhl","ohl","hul","lin","nl","hol","hun","hlu","ion"]},"113":{"input":[1,5,6,7],"tlp":["zu",171648],"trp":["lan",36595],"tlw":["zu",106187],"trw":["hinzu",1319],"lp":["zu","ahl","zahl","azu","zun","zau","aul","anzu"],"rp":["lan","lau","hau","hal","hla","nzu","inau","hall","inzu","unz","hlan","iau"]},"114":{"input":[2,5,6,7],"tlp":["soh",2201],"trp":["kon",39622],"tlw":["sohn",1591],"trw":["john",638],"lp":["soh","sohn"],"rp":["kon","konn","ku","unk","lus","hlos","kun","koni","luss","uk","nkl","unkl","kus","klin","hos","link","kuss","luk"]},"115":{"input":[1,2,5,6,7],"tlw":["wohl",3262],"trw":["haus",3123],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eln",9970],"trp":["len",34944],"trw":["ohne",6453],"lp":["eln","eho","elen"],"rp":["len","llen","lein","hel","hle","ohne","hiel","hlie","leu","nel","uhe","hlen","heu","ly","hnel","nell","ohe"]},"117":{"input":[1,3,5,6,7],"tlw":["allein",3101],"trw":["luxa",831],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["sollen",1705],"trw":["konnen",8192],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["dazu",3106],"trw":["lassen",4737],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["von",54263],"trp":["ing",35552],"tlw":["von",48992],"trw":["hob",2725],"lp":["von","bl","bli","gin","ging","bil","blu"],"rp":["ing","lb","nig","htig","hlt","hut","hob","lug","ntl","hig","onig","lut","ult"]},"121":{"input":[1,4,5,6,7],"tlw":["ganz",8095],"trw":["luft",3854],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["schon",15769],"trw":["noch",31550],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["auch",23263],"trw":["obwohl",3157],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["gehen",3878],"trw":["leben",6005],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["zur",7461],"trw":["lange",4757],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["doch",19379],"trw":["konnte",19700],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["zuruck",7484],"trw":["naturlich",3611],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",10101],"trw":["p",276],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",9189],"trp":["pa",25493],"trw":["papa",249],"lp":["ap","app","apa","appa"],"rp":["pa","paa","pap","papa","ppa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",35230],"trp":["ps",471],"lp":["sp","ssp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",6529],"trp":["pas",4544],"tlw":["spa",543],"trw":["pass",277],"lp":["spa","sap","wap","wapp","aps","asp"],"rp":["pas","pass"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",4107],"trp":["pe",21955],"lp":["ep","epp","eppe","e'"],"rp":["pe","ppe","pee","'e"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["appe",1127],"trp":["px",233],"trw":["px",233],"lp":["appe","ape","epa","xp","exp","a'","eap"],"rp":["px"]},"134":{"input":[2,3,8],"tlp":["esp",4229],"trp":["'s",1830],"lp":["esp","spe","espe","sep","spee","s'","dsp","dspe","e's","dep","es'"],"rp":["'s","pes","peed"]},"135":{"input":[1,2,3,8],"tlp":["espa",426],"trw":["passe",61],"lp":["espa","dap"],"rp":[]},"136":{"input":[4,8],"tlp":["tp",1024],"trp":["pt",8640],"trw":["pt",821],"lp":["tp","ttp"],"rp":["pt","ppt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["appt",1143],"trp":["pf",28238],"trw":["pat",81],"lp":["appt","tap","apf","tpf","attp","ttpf","fp","tapf","apt","tapp","fpa","apft","apta","ffp"],"rp":["pf","pat","pft","pfa","pta"]},"138":{"input":[2,4,8],"tlp":["tsp",820],"trp":["pts",393],"lp":["tsp","stp"],"rp":["pts","ptst","pst"]},"139":{"input":[1,2,4,8],"tlp":["spat",3485],"trp":["pac",1868],"tlw":["spat",894],"trw":["passt",223],"lp":["spat","stap","cap","tspa","fpas","capt","fsp"],"rp":["pac","pfs","pfsc","ptsa","past"]},"140":{"input":[3,4,8],"tlp":["rp",4472],"trp":["pr",23900],"tlw":["treppe",1030],"trw":["peter",275],"lp":["rp","rpe","rper","rep","trep","repp","erp","ept","t'","r'"],"rp":["pr","per","pre","pte","ppte","pet","pert","peet","pete","ptet"]},"141":{"input":[1,3,4,8],"tlp":["rpf",493],"trp":["pra",7549],"tlw":["tapfer",173],"trw":["paar",4977],"lp":["rpf","erpf","apfe","rpa","erpa","apr","rap","tape","ar'","ra'"],"rp":["pra","pfe","paar","pfte","pate","pfer","par","patr","perf","part"]},"142":{"input":[2,3,4,8],"tlp":["spr",13156],"trp":["prec",3135],"tlw":["speer",150],"trw":["presste",522],"lp":["spr","spre","rsp","espr","ersp","rspr","t's","sper","sept","tspr","resp","r's","ce'"],"rp":["prec","pers","pres","pred","perc","perd","pec"]},"143":{"input":[1,2,3,4,8],"tlw":["spater",2320],"trw":["pferd",730],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",75202],"lp":[],"rp":["mm","nm","mp","np","mn"]},"145":{"input":[1,5,8],"tlp":["am",75203],"trp":["ma",116805],"tlw":["am",13314],"trw":["man",13524],"lp":["am","amm","amp","ama","aman","anm"],"rp":["ma","man","mann","nma","nam","pan","nap","napp","pann","mma","mman","mam","mama","mna"]},"146":{"input":[2,5,8],"tlp":["sm",2006],"trp":["ms",3988],"tlw":["sms",84],"lp":["sm","ssm","sms"],"rp":["ms","mms","nsp","mj","nsm"]},"147":{"input":[1,2,5,8],"tlp":["sam",18083],"trp":["nsam",1490],"tlw":["sam",1544],"trw":["japan",53],"lp":["sam","samm","span","sma","asam","ams","ansp","sams","wam","wamm","ssam"],"rp":["nsam","mas","jam","mass","maj","mw","nspa","mja","mjan"]},"148":{"input":[3,5,8],"tlp":["em",142396],"trp":["me",172798],"tlw":["em",427],"trw":["'ne",199],"lp":["em","eme","emp","enp","enem","enpe"],"rp":["me","mme","men","nem","mmen","pen","ppen","mpe","my","mee","yp","npe","ym","mmy"]},"149":{"input":[1,3,5,8],"tlp":["ema",15399],"trp":["name",3654],"tlw":["amy",168],"trw":["namen",2293],"lp":["ema","ame","eman","amme","amen","ampe","aym","ampy","xem","eam","amy","enma","anme","emna","xeme"],"rp":["name","max","mae","may","maya"]},"150":{"input":[2,3,5,8],"tlp":["dem",54438],"trp":["mens",6613],"tlw":["dem",45085],"trw":["jedem",1143],"lp":["dem","sem","esem","emd","edem","emde","esm","djem","dm"],"rp":["mens","jem","md","mes","ndem","mde","mess","mden","mend","med","mmes"]},"151":{"input":[1,2,3,5,8],"tlw":["wem",425],"trw":["jemand",3073],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",2485],"trp":["mt",14056],"lp":["tm","bm"],"rp":["mt","mmt","mb","ptm","mpt"]},"153":{"input":[1,4,5,8],"tlp":["ampf",3371],"trp":["mpf",5070],"tlw":["amt",94],"trw":["matt",200],"lp":["ampf","tam","amt","fam","ammt","tamm","atm","fm","tama","tma","tman"],"rp":["mpf","mat","mpft","npf","matt","mant","mpfa","pfan","ptma"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["stm",109],"trp":["mst",1918],"lp":["stm","bstm"],"rp":["mst","mmst","ntsp","msc","mmsc","mc","nstm"]},"155":{"input":[1,2,4,5,8],"tlw":["stamm",309],"trw":["mats",101],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",24866],"trp":["mer",37720],"tlw":["typ",417],"trw":["mr",1767],"lp":["rm","rem","rme","tem","erm","emer","bem","beme","rmen","teme"],"rp":["mer","mmer","mte","ment","mmte","mr","met","mete","mbe","mert"]},"157":{"input":[1,3,4,5,8],"tlw":["arm",2393],"trw":["manner",2823],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["erdem",1712],"trw":["mrs",981],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["warme",548],"trw":["mandred",237],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",11374],"lp":[],"rp":["pi","ip","ipp","ppi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",2458],"trp":["papi",842],"trw":["pia",152],"lp":["api","aip","zip","zp","zap","zapp"],"rp":["papi","paz","pazi","pia","piz","pizz"]},"162":{"input":[2,6,8],"tlp":["spi",7019],"trp":["isp",965],"lp":["spi"],"rp":["isp","ispi","pis","kp","kip","kipp","ksp","kspi","ips"]},"163":{"input":[1,2,6,8],"tlp":["spaz",195],"trp":["kap",1913],"lp":["spaz","zsp","zspi","wisp","szip","szap"],"rp":["kap","kapi","kapp"]},"164":{"input":[3,6,8],"tlp":["eppi",167],"trp":["pie",5917],"lp":["eppi","eip"],"rp":["pie","ippe","pei","peie","ie'","ipe"]},"165":{"input":[1,3,6,8],"tlp":["apie",1000],"trp":["'z",210],"lp":["apie","zep","a'z","a'za","z'"],"rp":["'z","'za"]},"166":{"input":[2,3,6,8],"tlp":["spie",4741],"trp":["pek",382],"tlw":["spie",186],"lp":["spie","eisp","spek","spei","espi","skep","disp","sie'"],"rp":["pek","peis","kep","ispe","is'","ie's","idep","k'","k'e"]},"167":{"input":[1,2,3,6,8],"trw":["kappe",55],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",377],"trp":["pit",3051],"tlw":["tippt",50],"lp":["tip","tipp"],"rp":["pit","pti","ippt","itp","ipt","piv"]},"169":{"input":[1,4,6,8],"tlp":["apit",1458],"trp":["pitz",1593],"trw":["pfiff",129],"lp":["apit","zpf","tzp","zapf"],"rp":["pitz","pfi","pita","pati","ipf","ptai","pfif","pav","pavi","patz"]},"170":{"input":[2,4,6,8],"tlp":["spit",1593],"trp":["pist",286],"lp":["spit","cksp"],"rp":["pist","pisc","pic","ppic","ptis","ktp"]},"171":{"input":[1,2,4,6,8],"tlw":["spitz",113],"trw":["packt",105],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",838],"trp":["pri",3830],"tlw":["tippte",195],"lp":["rip","epti","ripr","verp","eitp","ripp","epri","ript"],"rp":["pri","pier","pite","prie","ipr","ipre","prei","ptie","peit","pir","prit","peti"]},"173":{"input":[1,3,4,6,8],"tlw":["appetit",109],"trw":["papier",621],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["ripred",581],"trw":["preis",373],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["spitze",616],"trw":["passiert",1606],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",156924],"trw":["im",27050],"lp":[],"rp":["mi","im","hm","imm","ihm","inm","min","ph","him","himm","phi","hmi","nim","nimm","imn","mni","imni","mh","pin","nmi"]},"177":{"input":[1,5,6,8],"tlp":["ami",10941],"trp":["inma",7220],"tlw":["ahm",221],"trw":["nahm",4064],"lp":["ami","ahm","zim","zimm","aph","aphi"],"rp":["inma","nahm","hma","mia","mah","ham","ima","mani","pha","hnap","iam","pani","hamm","mz"]},"178":{"input":[2,5,6,8],"tlp":["sim",1838],"trp":["mis",4451],"tlw":["sims",60],"trw":["miss",415],"lp":["sim","sph","spin","smi"],"rp":["mis","miss","mk","mnis","imms","imk","mik","jim","jimm","ims","mij","mmis","nspi","hms","issm","mmk"]},"179":{"input":[1,2,5,6,8],"tlw":["asami",402],"trw":["kam",6230],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["einm",7220],"trp":["mei",39849],"tlw":["einem",21852],"trw":["meine",11395],"lp":["einm","eim","ehm","ehme","emei","emi"],"rp":["mei","mein","inem","imme","meh","hme","iem","nehm","niem","hmen","heim","mie","hem","mien"]},"181":{"input":[1,3,5,6,8],"tlw":["annehmen",189],"trw":["nahmen",491],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["seinem",7860],"trw":["meines",844],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["damien",281],"trw":["niemand",3087],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",12361],"trp":["mit",82241],"tlw":["tim",137],"trw":["mit",65945],"lp":["tim","timm","thm","thim"],"rp":["mit","mitt","immt","htm","nmit","hmit","hmt","ptim","mith","mitn","mitb","ntim","htip","itm","hitm","htp"]},"185":{"input":[1,4,5,6,8],"tlw":["tamani",796],"trw":["mattia",102],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["stimmt",967],"trw":["mich",27002],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["wachmann",161],"trw":["macht",2965],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["beim",2845],"trw":["mir",28421],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["zimmer",2340],"trw":["prinz",511],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["stimme",5685],"trw":["menschen",4046],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["damit",7217],"trw":["machte",4587],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",16041],"lp":[],"rp":["op","po","opp"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",54],"trp":["opa",519],"lp":["apo"],"rp":["opa"]},"194":{"input":[2,7,8],"tlp":["spo",569],"trp":["pos",794],"lp":["spo","sop"],"rp":["pos","osp","pso","ops"]},"195":{"input":[1,2,7,8],"lp":[],"rp":[]},"196":{"input":[3,7,8],"tlp":["eop",243],"trp":["oppe",220],"lp":["eop","epo"],"rp":["oppe","-p","ope"]},"197":{"input":[1,3,7,8],"tlp":["eopa",185],"lp":["eopa","xpo","expo"],"rp":[]},"198":{"input":[2,3,7,8],"tlp":["dop",158],"trp":["odsp",102],"lp":["dop","dopp"],"rp":["odsp","pose"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1390],"trp":["pot",525],"lp":["top","topp","tpo"],"rp":["pot","pott","pto","ptop"]},"201":{"input":[1,4,7,8],"tlp":["tpfo",466],"trp":["opf",13450],"tlw":["topf",130],"lp":["tpfo","topf","apto"],"rp":["opf","pfo","pfot","opft","pag","pagg"]},"202":{"input":[2,4,7,8],"tlp":["stop",653],"trp":["post",447],"tlw":["spott",92],"trw":["post",110],"lp":["stop","spot","tpos"],"rp":["post","poc"]},"203":{"input":[1,2,4,7,8],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",949],"trp":["pro",5714],"tlw":["reporter",63],"trw":["potter",173],"lp":["rop","gep","trop","gepr","g'","repo","epor","geop","tpro"],"rp":["pro","orp","orpe","por","port","-top","prot","prop","prog","pero","perg"]},"205":{"input":[1,3,4,7,8],"tlw":["tropfte",104],"trw":["pfote",449],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["gepresst",119],"trw":["perdor",186],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["stopfte",111],"trw":["professor",480],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["um",81208],"trw":["um",30478],"lp":[],"rp":["um","mu","om","mo","omm","pu","up","mon","mom","umm","mun","nom","nomm","upp","pun","ump","unm","omp","nmo","unmo"]},"209":{"input":[1,5,7,8],"tlp":["aum",11931],"trp":["mau",2979],"trw":["mona",273],"lp":["aum","aup","amo","amon","amu","apu","ammo","aom","anmu"],"rp":["mau","pau","mona","oma","uma","omma","manu","naom","oman","pua","mano"]},"210":{"input":[2,5,7,8],"tlp":["spu",5447],"trp":["mus",23962],"trw":["muss",5445],"lp":["spu","som","sum","somm","summ","sup","smu","supp"],"rp":["mus","muss","ums","usp","mons","omms","mso","umso","mos","usm","moos","ussp"]},"211":{"input":[1,2,5,7,8],"tlw":["amos",143],"trw":["maus",230],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["enom",2575],"trp":["omme",15487],"trw":["neuem",121],"lp":["enom","emu","empo","emo","emon","epu","eum"],"rp":["omme","ome","omen","mome","ume","umme","umen","uppe","umpe","omy","uem","mone","pony"]},"213":{"input":[1,3,5,7,8],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["dumm",400],"trw":["mussen",4744],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["damon",348],"trw":["pause",441],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tum",1365],"trp":["mut",9353],"tlw":["tom",616],"trw":["mut",548],"lp":["tum","tom","tumm","ttom"],"rp":["mut","mutt","mog","upt","ommt","mg","umg","omb","ummt","mung","nmog","mot","umb","umt","put","mott"]},"217":{"input":[1,4,5,7,8],"tlw":["baum",788],"trw":["mag",837],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["stumm",329],"trw":["musst",1824],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["anspannung",163],"trw":["magnus",226],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["genommen",1020],"trw":["mutter",5624],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["raum",1894],"trw":["magen",753],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["spurte",2360],"trw":["musste",7028],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["warum",5314],"trw":["umstanden",254],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",9042],"lp":[],"rp":["pl","plo","lip","lipp","pol","poli","lop","lp","ilip","olp","pil","pli","pio","pilo","ipl","ipli","pill","opi","poll","ppl"]},"225":{"input":[1,6,7,8],"tlp":["zop",139],"trp":["pla",4483],"tlw":["apollo",54],"trw":["opal",202],"lp":["zop","zipl","apol","appl"],"rp":["pla","pal","lap","lapp","pala","opal","pliz","pilz","pila","ppla"]},"226":{"input":[2,6,7,8],"tlp":["spio",245],"trp":["kop",10195],"trw":["klops",60],"lp":["spio","spl","spli"],"rp":["kop","klop","posi","klip","kpl","ispl","plos","lops","kopi"]},"227":{"input":[1,2,6,7,8],"trw":["klaps",56],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elp",361],"trp":["piel",3820],"trw":["lippe",146],"lp":["elp","epl"],"rp":["piel","pel","lpe","olpe","ppel","leop","ple","lep","lepp","-pi","-pie","l'","ll'","oll'","pell","'el","lpel","opie"]},"229":{"input":[1,3,6,7,8],"trw":["pelz",894],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spiel",618],"trw":["klippe",159],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["speisesaal",104],"trw":["klappe",167],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tolp",465],"trp":["plot",3683],"trw":["pilot",82],"lp":["tolp","gip","tpl"],"rp":["plot","pito","pig","ppig","plit"]},"233":{"input":[1,4,6,7,8],"tlw":["zopf",91],"trw":["platz",1840],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["politik",180],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["spalt",238],"trw":["kopf",9064],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["prior",72],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["rappelte",154],"trw":["pfeil",312],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["spielte",526],"trw":["korper",2392],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["distelpfote",300],"trw":["kapitel",832],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["ml",4691],"trw":["philip",527],"lp":[],"rp":["ml","mli","mil","lm","lim","muh","imo","limm","mili","imon","hlim","minu","oph","umi","umin","hop","hmu","lum","llm","phil"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["zum",13031],"trw":["mal",9722],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simon",1611],"trw":["komm",1435],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["william",287],"trw":["kaum",3695],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["himmel",2108],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["einmal",7220],"trw":["plane",315],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["spielen",619],"trw":["kommen",3154],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["zusammen",3969],"trw":["niemals",1641],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["vom",5596],"trw":["html",387],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",198],"trw":["umhang",262],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["schlimm",464],"trw":["kommt",2302],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["allmahlich",712],"trw":["plotzlich",3426],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["gemeint",376],"trw":["herum",2872],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["familie",1680],"trw":["uberhaupt",2569],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["gekommen",2443],"trw":["mochte",2710],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["gemacht",2597],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/en-colemak-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/en-colemak-keymap.json index 0a1def7b10..2e8c2b1431 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/en-colemak-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/en-colemak-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",410],"tlw":["a",211837],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"r","baseshift":"R","tlp":["rr",29445],"tlw":["r",211],"lp":["rr"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["ar",265629],"tlw":["war",4160],"lp":["ar","wa","ra","aw","war","arr","wr","awa","ara","rw","raw","rar","rwa","rra","rwar","arra","awar","wra","warr","ww"],"rp":[]},"4":{"input":[3],"base":"s","baseshift":"S","tlp":["ss",89478],"tlw":["s",2993],"lp":["ss"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["as",286499],"tlw":["as",63759],"lp":["as","sa","ass","xa","ssa","ax","assa","asa","sas","saa","xas","ssas","sass","sax"],"rp":[]},"6":{"input":[2,3],"base":"f","baseshift":"F","tlp":["rs",105128],"tlw":["f",277],"lp":["rs","fr","ff","rf","sf","ssf","fs","sr","ssr","ffr","ffs"],"rp":[]},"7":{"input":[1,2,3],"tlp":["was",117615],"tlw":["was",112330],"lp":["was","fa","af","ars","ws","sw","far","fra","saw","aff","ras","fas","sar","rsa","ssar","saf","afr","aws","raf","rass"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",55910],"tlw":["t",670],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"p","baseshift":"P","tlp":["at",371419],"tlw":["at",51085],"lp":["at","ta","pa","ap","pp","app","pt","att","tat","pat","apt","apa","tta","atta","pap","pta","apta","patt","ppa","appa"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["rt",81050],"tlw":["c",872],"lp":["rt","tr","ct","cr","rc","cc","tc","ttr","ctr","rtr","rcr","rct"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",118675],"tlw":["part",4589],"lp":["ca","ac","pr","art","par","act","tra","tw","rat","car","part","tar","rac","rta","cat","acc","rp","wat","ract","atc"],"rp":[]},"12":{"input":[3,4],"base":"d","baseshift":"D","tlp":["st",260669],"tlw":["st",798],"lp":["st","ts","ds","dd","sts","sd","dds","dst","tst","tts"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ad",140314],"tlw":["past",2353],"lp":["ad","da","sta","sp","ast","xp","ps","xt","pas","stat","sat","pass","add","spa","aps","dat","tas","past","ads","ats"],"rp":[]},"14":{"input":[2,3,4],"tlp":["rd",48242],"tlw":["dr",852],"lp":["rd","ft","dr","sc","str","rst","rds","rts","scr","cts","cs","tf","ddr","df","fts","cd","dsc","rsd","cst","fc"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["ard",26043],"tlw":["fact",3233],"lp":["ard","aft","fac","ward","star","stra","cas","fat","rad","fact","xc","dar","dra","sca","ards","rsta","draw","xtr","spr","fast"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",20957],"trw":["n",169],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"j","baseshift":"J","tlp":["an",578917],"trp":["na",51349],"tlw":["an",29559],"trw":["j",365],"lp":["an","ann","ana","aj","anna","aan"],"rp":["na","ja","nan","nj","nna","jan","nann"]},"18":{"input":[2,5],"base":"k","baseshift":"K","tlp":["rn",39425],"trp":["kn",27363],"trw":["k",182],"lp":["rn","rk","rkn"],"rp":["kn","nk","nr","nkn","kr","nkr"]},"19":{"input":[1,2,5],"tlp":["ak",39732],"trp":["ka",3991],"tlw":["ran",1611],"trw":["jr",190],"lp":["ak","wn","ran","wan","ark","ank","arn","rna","rank","rran","awn","aran","wak","warn","rawn","rka"],"rp":["ka","nar","nw","narr"]},"20":{"input":[3,5],"base":"m","baseshift":"M","tlp":["sm",13242],"trp":["ns",85305],"trw":["m",1273],"lp":["sm","sn","ssm"],"rp":["ns","ms","mm","nm","mn","nsm","nns","mns","mms"]},"21":{"input":[1,3,5],"tlp":["am",72035],"trp":["ma",137500],"tlw":["am",4235],"trw":["man",9572],"lp":["am","ans","sam","san","sma","asn","xam","ama","ams","xan"],"rp":["ma","man","nam","mas","mana","mma","mann","mman","maj","mass"]},"22":{"input":[2,3,5],"tlp":["rm",33028],"trp":["ks",14097],"trw":["mr",4133],"lp":["rm","sk","rms","rns","rks","rnm","sks","rkf","rkm"],"rp":["ks","nf","mr","mrs","nks","mf","kf","nsf","km","nfr","msf"]},"23":{"input":[1,2,3,5],"tlp":["ask",11409],"trp":["mar",15017],"tlw":["ask",2497],"trw":["mark",882],"lp":["ask","rma","arm","fam","rman","answ","wasn","ram","fran","fan","rans","arms","anks","warm","asks"],"rp":["mar","mak","mark","nsw","marr"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",3003],"trp":["nt",218499],"tlw":["b",695],"lp":["bt","tn","bb","tb"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ab",55519],"trp":["nat",11510],"tlw":["pan",150],"trw":["japan",279],"lp":["ab","ba","ant","tan","pan","tant","tab","ban","bab","bj","bat","batt","anta","apan","abb"],"rp":["nat","nta","nab","jap","japa"]},"26":{"input":[2,4,5],"tlp":["ck",51278],"trp":["nc",79565],"tlw":["bc",95],"lp":["ck","br","rb","rtn","ckn","rnt","bc","tk","ckb","tbr","ckt","cn","cb"],"rp":["nc","ntr","ncr","nct","kt","kb"]},"27":{"input":[1,2,4,5],"tlp":["can",27607],"trp":["ntra",2857],"tlw":["can",15149],"trw":["jack",1623],"lp":["can","ack","anc","tak","bac","back","want","bra","ranc","tanc","tran","bar","rtan","rab","cann","rant","tack"],"rp":["ntra","jac","jack"]},"28":{"input":[3,4,5],"tlp":["dn",14682],"trp":["nd",415919],"trw":["nd",119],"lp":["dn","bs","tm","dm","sb","stm","bst","db","bm","bts"],"rp":["nd","mb","nts","nds","nst","mst","ntm","mbs","ndm","ndn"]},"29":{"input":[1,3,4,5],"tlp":["and",307129],"trp":["mp",43386],"tlw":["and",266855],"trw":["mad",373],"lp":["and","stan","tand","ands","amp","dan","bas","ants","band","bad"],"rp":["mp","mat","mad","mpa","mpan","nda","matt","mpt","mand","nsta"]},"30":{"input":[2,3,4,5],"tlp":["cks",2772],"trp":["ndr",3159],"tlw":["cbs",76],"trw":["kd",65],"lp":["cks","rtm","ckm","rnst","fb","rmt","rdb","dk","bstr"],"rp":["ndr","nstr","nsc","mbr","ndf","mc","mcd","ndsc","mcc","ndk","ncts"]},"31":{"input":[1,2,3,4,5],"tlw":["dark",1865],"lp":[],"rp":[]},"32":{"input":[6],"base":"e","baseshift":"E","trp":["ee",129154],"trw":["e",471],"lp":[],"rp":["ee"]},"33":{"input":[1,6],"base":"q","baseshift":"Q","tlp":["ae",810],"trp":["ea",216643],"tlw":["q",103],"lp":["ae","aq"],"rp":["ea","eq","eea"]},"34":{"input":[2,6],"base":"z","baseshift":"Z","tlp":["re",464927],"trp":["er",558051],"tlw":["re",63],"trw":["er",80],"lp":["re","ree","ze","rre","reer","zz","rer","zer","reez"],"rp":["er","ere","err","eer","erre","ez","eez","eze","eeze","eere","erer"]},"35":{"input":[1,2,6],"tlp":["we",135334],"trp":["ear",54836],"tlw":["were",34909],"trw":["ear",427],"lp":["we","rea","are","wer","were","wee","wea","rew","az","req","za","wear","ware","area"],"rp":["ear","ew","era","eare","erw","ewe"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["se",231764],"trp":["es",259811],"tlw":["see",9997],"lp":["se","see","sse","ses","sses","sess","sees"],"rp":["es","ess","ese","esse","ees","eese"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ase",11581],"trp":["ex",43940],"tlw":["sea",1374],"trw":["ease",378],"lp":["ase","sea","asse","xe","sq","ases","sex","seq","seas","axe","xes"],"rp":["ex","eas","exa","ease","essa","exe","esea","easa","exas"]},"38":{"input":[2,3,6],"tlp":["fe",67683],"trp":["ers",54211],"tlw":["free",1788],"lp":["fe","res","ffe","rse","ser","fer","fee","ress","ffer","fere","rese","fre","ref"],"rp":["ers","ef","erf","eff","erse","efe","eres"]},"39":{"input":[1,2,3,6],"tlp":["reas",7091],"trp":["ears",10248],"tlw":["few",5711],"trw":["ears",565],"lp":["reas","few","swe","fea","swer","fear","sear","wes","afe","wers","safe","aref","affe","werf","swee","xer"],"rp":["ears","ews","ersa","exer"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["te",259049],"trp":["et",117117],"tlw":["tv",551],"trw":["et",324],"lp":["te","ve","tte","tee","tev","teve","teet","tv","vet","ttee"],"rp":["et","ev","eve","ett","eet","ette","ete","etee","eev","eeve"]},"41":{"input":[1,4,6],"tlp":["pe",115056],"trp":["ep",39298],"tlw":["tea",508],"trw":["eat",1112],"lp":["pe","av","ate","ave","va","ppe","pea","atte","appe","tea","tate","ape","ppea"],"rp":["ep","eat","eep","ept","eate","eav","epa"]},"42":{"input":[2,4,6],"tlp":["ce",144944],"trp":["ec",91763],"tlw":["tree",670],"trw":["ever",4714],"lp":["ce","ver","ter","rec","tter","cre","rv","tre","ret","cer","rce","cte","rte","cce"],"rp":["ec","ever","ect","erv","ert","ece"]},"43":{"input":[1,2,4,6],"tlp":["per",37369],"trp":["eca",14464],"tlw":["water",2519],"lp":["per","pre","ace","reat","pec","rep","ater","twe","rate","crea","pect","care","pare","twee","cep"],"rp":["eca","eac","etw","erat","etwe"]},"44":{"input":[3,4,6],"tlp":["de",167797],"trp":["ed",326541],"tlw":["set",3472],"trw":["ed",253],"lp":["de","ted","ste","sed","ded","des","ved","ves","tes","ssed","set","sted","dde","sev","seve","dee","dv"],"rp":["ed","est","eed"]},"45":{"input":[1,3,4,6],"tlp":["spe",18659],"trp":["ead",29380],"tlw":["state",2221],"trw":["east",920],"lp":["spe","ade","dea","ated","xpe","ped","pped","ates","aste","dep","adv","stea","step"],"rp":["ead","exp","expe","ext","esp","east","espe"]},"46":{"input":[2,3,4,6],"tlp":["red",36139],"trp":["ered",12958],"tlw":["street",2374],"trw":["effect",1185],"lp":["red","der","fte","ces","fter","dre","ced","ster","rest","sec","rde","cess","serv","ders","dec","cted","stre","ters","rder"],"rp":["ered"]},"47":{"input":[1,2,3,4,6],"tlw":["after",12071],"trw":["except",1180],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["he",1036192],"trw":["he",92135],"lp":[],"rp":["he","en","ne","hen","een","ene","nee","nne","eh","hn","hee","enn","nh","nen","enne","hene","ehe","nhe","ehen","enh"]},"49":{"input":[1,5,6],"tlp":["ane",5091],"trp":["ha",357027],"tlw":["anne",519],"trw":["jane",336],"lp":["ane","ah","anne","ahe","ahea"],"rp":["ha","han","hea","ean","je","nea","ena","eha","enj","jea","nha","eah","eane","jean","nq"]},"50":{"input":[2,5,6],"tlp":["ren",22668],"trp":["her",160213],"tlw":["zen",79],"trw":["her",47940],"lp":["ren","rne","rke","rh"],"rp":["her","ke","here","hr","ner","ern","hre","eren","kne","ek","eek","ener","ken","hree","kee","nner"]},"51":{"input":[1,2,5,6],"tlp":["wh",148489],"trp":["new",18090],"tlw":["when",27718],"trw":["new",10172],"lp":["wh","whe","wha","when","ake","wher","wen","ween","aren","week","arke","aken"],"rp":["new","har","hear","eak","knew","earn","nera","near"]},"52":{"input":[3,5,6],"tlp":["sh",119750],"trp":["me",235102],"tlw":["she",45928],"trw":["me",30278],"lp":["sh","she","sen","seem"],"rp":["me","em","men","hem","nes","eme","hes","mes","ens","ness","hese","eem","nse","mse","mem","emen"]},"53":{"input":[1,3,5,6],"tlp":["ame",34012],"trp":["has",13193],"tlw":["same",6718],"trw":["has",11125],"lp":["ame","sha","same","ash","ames","anes","sham"],"rp":["has","mea","mean","ema","name","eam","nex","exam","ham","eman","eans","exan","hame"]},"54":{"input":[2,3,5,6],"tlp":["rem",11660],"trp":["mer",13928],"tlw":["fresh",618],"trw":["mere",523],"lp":["rem","ske","reme","rme","fren","fen","rsh","rmer","rnme"],"rp":["mer","hers","erm","kes","eks","eeks","ners","mmer","ernm","efen","mere"]},"55":{"input":[1,2,3,5,6],"tlw":["answer",1929],"trw":["make",9390],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["th",1104883],"trp":["ent",104826],"tlw":["the",506536],"trw":["even",12216],"lp":["th","the","be","ven","ten","bee","been","then","bet","tten"],"rp":["ent","ht","nte","even","eth","nev","nv","neve","ethe","ente"]},"57":{"input":[1,4,5,6],"tlp":["tha",132122],"trp":["hat",148416],"tlw":["that",110865],"trw":["have",35739],"lp":["tha","that","ath","pen","than","ph","athe","bea","ante","ppen","van","pene","bje"],"rp":["hat","hav","have","hap","happ","eath","enta"]},"58":{"input":[2,4,5,6],"tlp":["ch",138742],"trp":["nce",54473],"tlw":["there",23867],"trw":["never",9168],"lp":["ch","ther","thr","bec","che","ber","tch","cen","rth","rent","cent","thre","rch","cke","bre"],"rp":["nce","enc","ence","nter","nch"]},"59":{"input":[1,2,4,5,6],"tlw":["what",26770],"trw":["each",6050],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["them",24753],"trp":["ned",28030],"tlw":["them",21593],"trw":["need",4397],"lp":["them","den","thes","dent","tem","sent"],"rp":["ned","ment","nde","end","med","hed","met","ents","mbe","nted","emb","meth","need","nded"]},"61":{"input":[1,3,4,5,6],"tlw":["death",2323],"trw":["had",63389],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["remember",2277],"trw":["members",1108],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["came",6889],"trw":["heard",3016],"lp":[],"rp":[]},"64":{"input":[7],"base":"i","baseshift":"I","trp":["ii",1762],"trw":["i",117501],"lp":[],"rp":["ii","iii"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ai",104869],"trp":["ia",38456],"lp":["ai"],"rp":["ia","iai"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["ri",146328],"trp":["ir",91496],"lp":["ri","rri"],"rp":["ir","iri","irr","irri"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wi",119378],"trp":["ira",1826],"tlw":["air",2428],"trw":["ira",59],"lp":["wi","rai","air","ari","arri","ria","wri","wai","rria","aria","rwi","awi","rawi","wir","rari","awai","rrai","arwi"],"rp":["ira","iar"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["si",120170],"trp":["is",263616],"trw":["is",60295],"lp":["si","ssi","sis","ssis","siss"],"rp":["is","isi","iss","issi","-s","isis","-si","-i"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["sai",25354],"trp":["ix",4876],"tlw":["six",1928],"trw":["ix",80],"lp":["sai","asi","assi","xi","six","ais","sia","xis","ssia","asis","sias","asia","axi","aisi"],"rp":["ix","isa","ias","isas","isaa","issa"]},"70":{"input":[2,3,7],"tlp":["fi",67126],"trp":["if",58122],"tlw":["sir",1984],"trw":["if",25154],"lp":["fi","fir","ris","firs","ffi","fri","sir","rsi","fif","rif","risi","fis","rifi"],"rp":["if","irs","iff","ifi","iffi","isf","-f"]},"71":{"input":[1,2,3,7],"tlp":["fai",5226],"trp":["isfa",500],"tlw":["fair",842],"lp":["fai","wis","wif","aris","fair","rais","airs","swi","frai","fix","ffai","rwis","sari","afri","affi","rsia","swif","wais","fia"],"rp":["isfa"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["ti",213739],"trp":["it",311028],"tlw":["g",298],"trw":["it",92474],"lp":["ti","gi","tti","gg","tit","gt","tig","titi","ttit","ggi","git","gig","tg"],"rp":["it","ig","iti","itt","igi","itti","igg"]},"73":{"input":[1,4,7],"tlp":["ag",47829],"trp":["ip",16613],"tlw":["tip",221],"lp":["ag","ati","ga","pi","tai","aga","gai","agai","pai","ait","tia","tati","pti","agi","pit","ppi","gat"],"rp":["ip","ita","iat"]},"74":{"input":[2,4,7],"tlp":["ci",45417],"trp":["ic",118179],"tlw":["critic",79],"lp":["ci","gr","cti","tic","rg","rit","ric","tri","rig","rti","cri","cit","gir","riti","rtic","tir"],"rp":["ic","ici","ict","irt"]},"75":{"input":[1,2,4,7],"tlp":["wit",77056],"trp":["ica",19163],"tlw":["wait",1256],"lp":["wit","pri","gra","cia","acti","arg","rati","arti","rica","trai","pic","rtai","writ","gar","rag","wait","tica","cati"],"rp":["ica","icat"]},"76":{"input":[3,4,7],"tlp":["di",96016],"trp":["id",100069],"tlw":["did",12252],"trw":["its",10155],"lp":["di","sti","did","sid","gs","sit","dis","sig","dg","sist","dit","tis","siti","dist","diti"],"rp":["id","ist","its","isti","idd"]},"77":{"input":[1,3,4,7],"tlp":["aid",27860],"trp":["ista",3836],"tlw":["said",23960],"trw":["ida",198],"lp":["aid","said","spi","adi","dia","sati","spit","xist","diat","disa","sag","ssag","stai","atis","disp"],"rp":["ista","ips","isp","ida","isap"]},"78":{"input":[2,3,4,7],"tlp":["fic",12500],"trp":["irst",11403],"tlw":["first",11244],"lp":["fic","ffic","dif","diff","sic","dri","fig","sci","dir","disc","dic","cis","rid","tif","cid","rdi","stri"],"rp":["irst","ift","isc"]},"79":{"input":[1,2,3,4,7],"tlw":["paris",1353],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"y","baseshift":"Y","trp":["in",644105],"trw":["in",155002],"lp":[],"rp":["in","ni","ny","nin","yi","yin","ini","inn","nni","inin","nnin","inni","yn","nny","iny","nyi","nyin","inny","ynn"]},"81":{"input":[1,5,7],"tlp":["ay",87083],"trp":["ina",10155],"tlw":["any",10758],"trw":["nay",83],"lp":["ay","ain","any","ani","ayi","ayin","aini","anin","anni"],"rp":["ina","ian","ya","nia","inan","nai","ji","yan","inj","nian","iann"]},"82":{"input":[2,5,7],"tlp":["ry",67816],"trp":["ki",42462],"trw":["ink",130],"lp":["ry","rin","rni","rnin","rry","ryi","ryin","rki","rkin","rink","rik"],"rp":["ki","kin","ik","ink","nki","nkin","inki","ky","nry"]},"83":{"input":[1,2,5,7],"tlp":["way",28360],"trp":["yw",1970],"tlw":["way",11339],"trw":["iran",85],"lp":["way","win","ary","aki","akin","away","rain","arin","arry","ray","rian","arni","rary","anyw","wy"],"rp":["yw","nary","inar","nyw","kay"]},"84":{"input":[3,5,7],"tlp":["sin",21536],"trp":["im",93559],"tlw":["sin",306],"trw":["my",40423],"lp":["sin","sy","sim","smi","ssin"],"rp":["im","mi","my","ys","min","ins","nsi","mis","ims","nis","miss","mys","imi","insi","mmi"]},"85":{"input":[1,3,5,7],"tlp":["ays",16554],"trp":["may",9648],"tlw":["say",7781],"trw":["many",8068],"lp":["ays","say","ami","ains","says","asy","aim","sayi","amin","sian","anis","asin"],"rp":["may","many","ima","mai","main","iam","ians","mina"]},"86":{"input":[2,3,5,7],"tlp":["fin",16231],"trp":["inf",5607],"tlw":["firm",690],"trw":["kiss",443],"lp":["fin","ski","rim","rmi","fini","rmy","rmin","skin","firm","risk"],"rp":["inf","mir","nfi","nif","irm","isk","kis","kiss","nifi","mik"]},"87":{"input":[1,2,3,5,7],"tlw":["army",2073],"trw":["mary",586],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["ty",42717],"trp":["ng",301290],"tlw":["by",35333],"lp":["ty","by","tin","ting","bi","gin","gn","ttin"],"rp":["ng","ing","int","nti","ning","ity","ib","ying","ign","nit","yt","nig"]},"89":{"input":[1,4,5,7],"tlp":["ang",16987],"trp":["nati",5202],"tlw":["again",7165],"lp":["ang","gain","tain","gan","pin","ping","aint","anyt","atin","abi","py","pain","pany","ppin","agin","tay","anag"],"rp":["nati","nag","ntai"]},"90":{"input":[2,4,5,7],"tlp":["ring",17926],"trp":["king",26881],"tlw":["city",2930],"trw":["king",2321],"lp":["ring","bri","try","rty","cy","rib","city","cin","ryt","rity","cing","tryi","rinc","brin"],"rp":["king","inc","ick","nci","nic","ntry"]},"91":{"input":[1,2,4,5,7],"tlw":["taking",1995],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["tim",28120],"trp":["ind",31046],"tlw":["sitting",1409],"trw":["mind",4439],"lp":["tim","din","ding","dy","sing","didn","sib","sign"],"rp":["ind","ngs","ndi","ings","inst","idn","mig","ndin","ming","mind","mit","nsid"]},"93":{"input":[1,3,4,5,7],"tlw":["day",8306],"trw":["instant",472],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["find",4695],"trw":["kind",3481],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["asking",940],"trw":["making",2931],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"u","baseshift":"U","trp":["ie",85987],"trw":["u",744],"lp":[],"rp":["ie","ei","ue","ui","eu","uie","iu","uee","eei","ieu","uu"]},"97":{"input":[1,6,7],"tlp":["au",32369],"trp":["ua",23498],"tlw":["que",92],"trw":["iq",115],"lp":["au","qu","qui","que","qua","quie","quee","quai"],"rp":["ua","equ","equi","eau","eque","iq","equa","iqu","ique","uai","iqui","iae"]},"98":{"input":[2,6,7],"tlp":["ru",29549],"trp":["ur",136165],"tlw":["rue",170],"lp":["ru","rie","rrie","rue","zi","rei"],"rp":["ur","eir","ure","eri","ire","iz","uri","ize","ier","erie","urr","uir","uire","eur"]},"99":{"input":[1,2,6,7],"tlp":["requ",3277],"trp":["ura",5813],"tlw":["require",420],"trw":["iraq",73],"lp":["requ","quir","quar","azi","wei","arie","aur","aura","wire","aire"],"rp":["ura","uar","iew","eari","iza","eria","ewi","uare","erwi","iewe"]},"100":{"input":[3,6,7],"tlp":["su",62257],"trp":["us",124701],"tlw":["sue",76],"trw":["us",10609],"lp":["su","ssu","sus","sui","sue","sie"],"rp":["us","use","ies","ise","usi","esi","ues","essi","esu","uss","usu","uis","ussi","uses"]},"101":{"input":[1,3,6,7],"tlp":["aus",14032],"trp":["exi",2803],"trw":["usa",134],"lp":["aus","ause","ques","sua","asu","aise","assu","squ","sequ","squa","xu","asie"],"rp":["exi","usa","usua","easi","easu","exis","ixe","isea"]},"102":{"input":[2,3,6,7],"tlp":["fu",24057],"trp":["urs",13334],"tlw":["sure",3684],"trw":["users",252],"lp":["fu","sur","sure","frie","ries","rus","resi","fie","rise","resu","refu"],"rp":["urs","ife","urse","iffe","ief","efu","uf","uff","ures"]},"103":{"input":[1,2,3,6,7],"tlw":["wife",2078],"trw":["easier",513],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["ge",97282],"trp":["ut",147044],"tlw":["get",10986],"trw":["iv",292],"lp":["ge","vi","tu","get","gu","tiv","tive","giv","tie","give"],"rp":["ut","iv","ug","ive","eg","ite","ivi","ute","eti","uti"]},"105":{"input":[1,4,6,7],"tlp":["pu",22528],"trp":["up",44081],"tlw":["put",5210],"trw":["up",23594],"lp":["pu","age","put","avi","aug","tua","atu","aut","ativ","pie","quit","gav","gave"],"rp":["up","ega","upp","iva","iate","eati","uat"]},"106":{"input":[2,4,6,7],"tlp":["tur",27983],"trp":["uc",39944],"tlw":["true",2254],"trw":["ice",574],"lp":["tur","cu","gre","ger","ture","tru","rge","riv","cur","ctu","vic","gree","rive","ctiv"],"rp":["uc","ice","eci","ecti","iver","uct"]},"107":{"input":[1,2,4,6,7],"tlw":["great",6807],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["du",19747],"trp":["ide",35753],"tlw":["side",3662],"trw":["used",3487],"lp":["du","side","stu","ges","die","ged","vid","tud","vis","ties"],"rp":["ide","ust","ud","ied","iste","edi","esti","used","uest","ude"]},"109":{"input":[1,3,4,6,7],"tlw":["despite",946],"trw":["idea",2885],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["five",2604],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["arrived",1258],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["hi",274759],"trw":["eye",1504],"lp":[],"rp":["hi","un","ey","hin","hey","ye","ine","hei","hu","ien","nu","hy","uni","ein","eye","eni","inu","hun","ney","enin"]},"113":{"input":[1,5,6,7],"tlp":["aine",5046],"trp":["ju",21952],"tlw":["queen",763],"trw":["yeah",918],"lp":["aine","aye","quen","aun","anie","anu"],"rp":["ju","yea","hai","una","eani","jun","nua","yeah","niq","niqu","nqu","hain","june","hani"]},"114":{"input":[2,5,6,7],"tlp":["rien",11605],"trp":["ery",27793],"tlw":["run",1998],"trw":["henry",1546],"lp":["rien","run","zin"],"rp":["ery","heir","ike","urn","hink","urne","erin","hir","urin","hur","niz","yer","urni","hri","ury","key","enry"]},"115":{"input":[1,2,5,6,7],"tlw":["why",6090],"trw":["year",3064],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["shi",11339],"trp":["his",109386],"tlw":["sun",1066],"trw":["his",69304],"lp":["shi","sum","sine"],"rp":["his","him","ime","mu","um","ish","mus","ines","yes","usin","imes","hims","imse","eyes","ishe","hus","ume"]},"117":{"input":[1,3,5,6,7],"tlw":["assume",344],"trw":["human",2178],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["fine",1422],"trw":["mike",918],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["wish",1198],"trw":["years",7833],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["gh",90668],"trp":["ith",80740],"tlw":["but",49620],"trw":["night",4461],"lp":["gh","thi","bu","ght","but","thin","they","thei","vin","ving"],"rp":["ith","igh","ugh","ight","hing","nge","ught","unt","inte","ub"]},"121":{"input":[1,4,5,6,7],"tlw":["anything",3884],"trw":["having",3594],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["their",26687],"trw":["every",7264],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["with",67032],"trw":["nature",1587],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["this",36089],"trw":["might",6921],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["game",1331],"trw":["just",14589],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["such",8032],"trw":["much",10233],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["because",9879],"trw":["experience",2559],"lp":[],"rp":[]},"128":{"input":[8],"base":"o","baseshift":"O","trp":["oo",93108],"trw":["o",531],"lp":[],"rp":["oo"]},"129":{"input":[1,8],"tlp":["ao",915],"trp":["oa",14939],"lp":["ao"],"rp":["oa"],"special":"bksp","base":"ao"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["ro",170933],"trp":["or",314634],"trw":["or",34654],"lp":["ro","roo","rro","ror","rror"],"rp":["or","oor","orr","orro","oro"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["wo",92580],"trp":["ow",122368],"tlw":["row",380],"lp":["wo","wor","row","aro","roa","wro","rrow","woo","worr","arro","rao","aor"],"rp":["ow","ora","owa","owar","oar","orw","orwa","orar"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["so",117437],"trp":["os",70799],"tlw":["so",27040],"trw":["'",14271],"lp":["so","soo","sso","s'","s's","ss'","ss's"],"rp":["os","'s","oss","oos","o'","oso","''","o's","'o","oss'"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["aso",4273],"trp":["ox",1874],"lp":["aso","asso","a'","xo","a's","soa","aos","a'a","x'","ax'","x's","ax's","axo","saxo"],"rp":["ox","oas","osa","'a","ossa"]},"134":{"input":[2,3,8],"tlp":["fo",133745],"trp":["of",272457],"tlw":["for",70927],"trw":["of",245539],"lp":["fo","for","fro","rso","ros","sor","ross","foo","r'","r's","rof","ffo","ffor","rfo","rfor","sof"],"rp":["of","off","ors","'r"]},"135":{"input":[1,2,3,8],"tlp":["wors",1678],"trp":["ows",4674],"tlw":["sofa",209],"lp":["wors","forw","rows","swo","swor","affo","wso","awso","frow","sofa","rox","aros","ar'","ar's","w'"],"rp":["ows","'w","ofa","oars","ow'"]},"136":{"input":[4,8],"base":"?","baseshift":"/","tlp":["to",350815],"trp":["ot",133805],"tlw":["to",249163],"trw":["otto",67],"lp":["to","too","tto","tot","toot","toto"],"rp":["ot","ott","oot","oto","otto"],"special":"punc"},"137":{"input":[1,4,8],"tlp":["po",68607],"trp":["op",53305],"tlw":["top",1822],"lp":["po","ppo","top","pot","poo","ato","pop","topp","apo","appo","tota","pto"],"rp":["op","opp","oppo","oat","ota","oop","opt","opo"]},"138":{"input":[2,4,8],"tlp":["co",161789],"trp":["ort",28140],"tlw":["root",179],"lp":["co","tor","tro","cor","cro","rot","cto","cco","ctor","roc","ccor","coo","corr","cot"],"rp":["ort","oc","orc","occ","oct","octo"]},"139":{"input":[1,2,4,8],"tlp":["pro",33640],"trp":["orta",4717],"tlw":["two",11667],"lp":["pro","por","two","port","tow","rop","pow","acco","ppor","towa","prop","proc","acro","ppro","coa","crow","wrot"],"rp":["orta","oac","oca"]},"140":{"input":[3,4,8],"tlp":["do",77376],"trp":["od",44403],"tlw":["do",18689],"trw":["odd",416],"lp":["do","sto","t'","t's","doo","stoo","tood","tod","d'","d's"],"rp":["od","'t","ost","ood","'d","odd","ots","ods","oods","oots"]},"141":{"input":[1,3,4,8],"tlp":["pos",16560],"trp":["oad",3493],"tlw":["stop",1798],"lp":["pos","spo","at'","at's","poss","stop","ppos","ado","toda","post","spot","sop"],"rp":["oad","osp","oda","ops","oast","oops","opos","osop"]},"142":{"input":[2,3,4,8],"tlp":["stor",8576],"trp":["ord",17538],"tlw":["door",3713],"lp":["stor","fort","rod","soc","door","sco","cros","forc","stro","dro","cord","doc","sort","tors","food","dor"],"rp":["ord","oft","ords","orts"]},"143":{"input":[1,2,3,4,8],"tlw":["words",3228],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"l","baseshift":"L","trp":["on",380429],"trw":["on",61313],"lp":[],"rp":["on","ll","no","lo","ol","nl","loo","lon","onl","oll","llo","ool","oon","olo","ollo","nno","ono","onn","non","noo"]},"145":{"input":[1,5,8],"tlp":["al",228009],"trp":["la",103279],"tlw":["all",30772],"trw":["la",689],"lp":["al","all","ano","alo","alon","anno","allo","ala"],"rp":["la","jo","lan","nal","ona","onal","lla","nall","olla","oal","njo","ola"]},"146":{"input":[2,5,8],"tlp":["rl",25465],"trp":["ok",35246],"tlw":["roll",381],"trw":["look",5477],"lp":["rl","ron","rol","roll","rok","rno"],"rp":["ok","ook","kno","ork","look","lk","nor","orn","orl","lor","lr","kl","loor","olor"]},"147":{"input":[1,2,5,8],"tlp":["work",16534],"trp":["now",32603],"tlw":["work",8749],"trw":["now",13343],"lp":["work","ral","arl","alk","wal","worl","alw","alwa","won","walk","wl","alr"],"rp":["now","own","know","low","lar","llow","lw","lwa"]},"148":{"input":[3,5,8],"tlp":["som",32033],"trp":["om",158331],"tlw":["soon",3191],"trw":["mom",1398],"lp":["som","son","sl","sn'","sol"],"rp":["om","mo","n'","ons","ls","mos","mon","on'","los","omm","lso","oom","'m","lm","mom"]},"149":{"input":[1,3,5,8],"tlp":["als",13163],"trp":["las",11287],"tlw":["also",7989],"trw":["man's",744],"lp":["als","also","alm","amo","an'","smal","ason","almo","asn'","sona","amon","sla","sal","alls"],"rp":["las","mal","oma","oman","mall","lass"]},"150":{"input":[2,3,5,8],"tlp":["rom",40627],"trp":["mor",29841],"tlw":["from",35952],"trw":["looks",1175],"lp":["rom","from","fl","form","rson","room","fol","flo","foll","fron","floo"],"rp":["mor","lf","orm","onf","nfo","nfor","morn","oks","ooks"]},"151":{"input":[1,2,3,5,8],"tlw":["woman",3590],"trw":["major",1113],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["bo",64448],"trp":["not",62064],"tlw":["bob",306],"trw":["not",43106],"lp":["bo","bl","tl","ttl","bot","ton","tol","boo","blo","bloo"],"rp":["not","lt","ob","nto","ont","ntl","lot","obl","nnot","nob"]},"153":{"input":[1,4,5,8],"tlp":["pl",68379],"trp":["lat",15533],"tlw":["plan",1335],"trw":["job",3249],"lp":["pl","abo","pla","abl","tal","pon","alt","anot","pol","tabl","plan","bla","plo","ppl","bal"],"rp":["lat","opl","lp","job","oba"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["con",43239],"trp":["onc",10039],"tlw":["took",5513],"lp":["con","cl","cont","bro","col","clo","rob","took","bor","book","conc","coll","ctl","ront"],"rp":["onc","ock","loc","ncl","ontr","ntro"]},"155":{"input":[1,2,4,5,8],"tlw":["call",2856],"trw":["local",1100],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["don",16568],"trp":["ld",104617],"tlw":["don't",9569],"trw":["most",10396],"lp":["don","dn'","dn't","don'","dl","sn't","bod","told","tom"],"rp":["ld","n't","old","most","ond","on't","mot","ldn","ldn'","ndo","obs"]},"157":{"input":[1,3,4,5,8],"tlw":["almost",3784],"trw":["last",4981],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["front",2573],"trw":["lord",1049],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["down",11247],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"@","trp":["eo",22601],"lp":[],"rp":["eo","oe"],"special":"punc"},"161":{"input":[1,6,8],"trp":["oq",59],"lp":[],"rp":["oq"]},"162":{"input":[2,6,8],"tlp":["zo",557],"trp":["ore",43307],"tlw":["zero",137],"trw":["error",228],"lp":["zo","reo","roe","roz","roze","zero"],"rp":["ore","ero","eor","oz","oze","erro","orre","oreo","eror","eroe","oore","orer","ooz","ooze"]},"163":{"input":[1,2,6,8],"tlp":["wore",857],"trp":["owe",15537],"tlw":["wore",747],"trw":["owe",137],"lp":["wore","rowe","woe","azo"],"rp":["owe","ower","ewo","ewor","orea","erwo","oare"]},"164":{"input":[3,6,8],"tlp":["soe",138],"trp":["ose",25993],"lp":["soe","se'","se's"],"rp":["ose","e'","e's","oes","osse","oose","eso","esso","oses","'e","es'","eos","es's","oe'","oe's"]},"165":{"input":[1,3,6,8],"trp":["easo",4023],"lp":[],"rp":["easo","oxe","oxes","exo"]},"166":{"input":[2,3,6,8],"tlp":["fore",14026],"trp":["efo",11759],"tlw":["rose",1049],"trw":["offer",1014],"lp":["fore","re'","re's","rose","rofe"],"rp":["efo","efor","erso","'re","offe","er'","er's","ere'","orse","erfo","ofe","ofes","e'r","e're","effo"]},"167":{"input":[1,2,3,6,8],"tlw":["we're",1513],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["vo",13509],"trp":["ov",46618],"tlw":["vote",203],"lp":["vo","vot","vote","toe","tov","tove"],"rp":["ov","ove","ote","evo","otte","oet","evot","eov","eove","eto","oev","oeve","ovo","oote"]},"169":{"input":[1,4,6,8],"tlp":["peo",15223],"trp":["eop",15223],"tlw":["pope",239],"lp":["peo","peop","avo","poe","pote","poet","vato","pov","pove","pope"],"rp":["eop","ope","oppe","epo","ova","eapo","ovat","opea","opte","oope"]},"170":{"input":[2,4,6,8],"tlp":["rov",6005],"trp":["over",21892],"tlw":["cover",700],"trw":["over",12910],"lp":["rov","cov","cove","reco","rote","rove","roce","vor","tore","revo","core","rvo"],"rp":["over","eco","orce","oce","orte","ecor","otec","ecto"]},"171":{"input":[1,2,4,6,8],"tlw":["power",3130],"trw":["operate",192],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["doe",5478],"trp":["e'd",4775],"tlw":["does",3360],"lp":["doe","does","sov"],"rp":["e'd","'v","'ve","oved","ode","osed","oted","otes","edo","esto","et'","et's","odde","oves","e'v","e've","eedo"]},"173":{"input":[1,3,4,6,8],"tlw":["stopped",1419],"trw":["exposed",267],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["force",1513],"trw":["order",2602],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["process",1455],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["le",213808],"trw":["one",30730],"lp":[],"rp":["le","ho","el","one","ell","lle","hel","hol","eel","len","ele","hoo","ole","eno","oh","elo","hool","olle","hole","hon"]},"177":{"input":[1,5,6,8],"tlp":["alle",8964],"trp":["lea",26849],"tlw":["alone",2184],"trw":["john",1863],"lp":["alle","ale","alen"],"rp":["lea","eal","hal","ela","eall","hall","lean","joh","john","enjo","oje","heal","lane","joe","eale","elea","llea"]},"178":{"input":[2,5,6,8],"tlp":["rel",11908],"trp":["hro",12209],"tlw":["role",950],"trw":["honor",325],"lp":["rel","roke","rle","role","rele"],"rp":["hro","oke","hor","ooke","ler","lre","lke","orke","erl","kel","orne","ller","oken","erno","hook"]},"179":{"input":[1,2,5,6,8],"tlw":["who",23669],"trw":["how",14162],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["some",31924],"trp":["ome",63421],"tlw":["some",15162],"trw":["home",4865],"lp":["some","sel","sho"],"rp":["ome","les","hos","hose","hom","omen","less","he'","msel","els","emo","home","lose","lem","mome","lse","mone"]},"181":{"input":[1,3,5,6,8],"tlw":["shall",1999],"trw":["male",440],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["feel",4278],"trw":["more",21171],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["women",3612],"trw":["half",2504],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tho",36998],"trp":["oth",46489],"tlw":["both",5084],"trw":["let",4207],"lp":["tho","ble","tle","tel","ttle","bel","vel","tell","both"],"rp":["oth","othe","noth","let","lv","lve","lov","love","entl","elt","elv"]},"185":{"input":[1,4,5,6,8],"tlw":["people",14668],"trw":["help",3633],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["brother",1465],"trw":["other",13909],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["another",6638],"trw":["later",4588],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["those",7914],"trw":["moment",3684],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["that's",4282],"trw":["least",2856],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["before",10203],"trw":["left",5159],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["called",4581],"trw":["learned",1609],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["io",113622],"lp":[],"rp":["io","oi"],"special":"punc"},"193":{"input":[1,7,8],"lp":[],"rp":[]},"194":{"input":[2,7,8],"tlp":["rio",7327],"trp":["ori",8551],"lp":["rio","rior","rrio","roi","rori"],"rp":["ori","ior","iro","orri","irro","orio","iori","oir","oiro"]},"195":{"input":[1,2,7,8],"tlp":["ario",1160],"trp":["owi",4542],"tlw":["warrior",125],"lp":["ario","rowi","airo"],"rp":["owi","oria","iora","oari"]},"196":{"input":[3,7,8],"tlp":["sio",15825],"trp":["i'",14185],"trw":["'i",461],"lp":["sio","ssio","soi","so-"],"rp":["i'","osi","ossi","isio","iso","ois","o-","'i","ios","iosi","oosi","osio","oiso","-o","isso"]},"197":{"input":[1,3,7,8],"tlp":["asio",1897],"trp":["oxi",253],"lp":["asio","xio","aiso"],"rp":["oxi","ixo"]},"198":{"input":[2,3,7,8],"tlp":["riso",1574],"trp":["offi",5584],"trw":["'if",72],"lp":["riso","rofi","rsio","rios","rosi"],"rp":["offi","ifo","ifor","ofi","iors","oris","-fo","isor","-ro","-roo","oirs","isfo","'if","iff'","o-f"]},"199":{"input":[1,2,3,7,8],"tlw":["warriors",145],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["tio",72429],"trp":["og",14040],"tlw":["go",9032],"lp":["tio","go","goo","got","goi","tog","gio","gott","gto","goti"],"rp":["og","itio","oti","otio","ito","ogi","igio","iot","oog","otog"]},"201":{"input":[1,4,7,8],"tlp":["atio",33167],"trp":["opi",2391],"tlw":["ago",1471],"lp":["atio","poi","ptio","ago","goa","ppoi","topi","pio","aigo","goat","gapo"],"rp":["opi","opti","oppi","otia","oga","oati","opag","ogat","ipo"]},"202":{"input":[2,4,7,8],"tlp":["ctio",12347],"trp":["org",5456],"tlw":["torrio",94],"trw":["org",99],"lp":["ctio","gro","cio","tori","rog","rogr","cog","rgo","gor"],"rp":["org","oic","oci","ogr","otic","orit","orti","itor","orig","icio","icto"]},"203":{"input":[1,2,4,7,8],"tlw":["grow",678],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["good",10385],"trp":["it'",8789],"tlw":["good",9480],"trw":["it's",8558],"lp":["good","stio","god","doi","dog","dio","gdo","g'","g's","to-","gods"],"rp":["it'","it's","osit","isto","i'd","oid","odi","iod","isdo"]},"205":{"input":[1,3,4,7,8],"tlw":["gossip",164],"trw":["ipod",68],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["forgot",261],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["radio",638],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["li",155342],"trw":["only",13824],"lp":[],"rp":["li","ly","yo","il","ion","ill","lly","lin","oin","nly","only","lli","oy","ili","ily","oli","llin","yon","illi","nio"]},"209":{"input":[1,5,7,8],"tlp":["ally",22338],"trp":["ial",13366],"tlw":["ally",126],"trw":["lay",1482],"lp":["ally","ali","ail","alli","ainl","anyo"],"rp":["ial","lay","iona","lai","lia","inal","lain","iall","joy","ila","njoy","lian","joi","join"]},"210":{"input":[2,5,7,8],"tlp":["rly",8446],"trp":["lik",24097],"tlw":["roy",83],"trw":["york",1727],"lp":["rly","ril","rli","ryo","ryon"],"rp":["lik","ory","irl","oki","okin","kil","kill","orni","ooki","lki","lkin","orki","kly","yor","orry"]},"211":{"input":[1,2,5,7,8],"tlw":["will",14271],"trw":["okay",1081],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["sion",15757],"trp":["ions",18292],"tlw":["sly",561],"trw":["i'm",6537],"lp":["sion","sil","sly","smil","sli"],"rp":["ions","mil","lis","i'm","omi","y'","onsi","mily","mili","omin","lim","y's","i'l","i'll","ison"]},"213":{"input":[1,3,5,7,8],"tlw":["animal",491],"trw":["mail",328],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["sorry",899],"trw":["mirror",461],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["always",6467],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tion",71969],"trp":["lit",22460],"tlw":["going",6947],"trw":["into",18343],"lp":["tion","gl","tly","til","till","goin","bli"],"rp":["lit","ong","into","long","ling","lig","oing","litt","ittl","ibl","ngl","oint","ntly"]},"217":{"input":[1,4,5,7,8],"tlw":["point",3165],"trw":["national",867],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["girl",2370],"trw":["looking",3174],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["working",2448],"trw":["knowing",919],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["still",7621],"trw":["isn't",1565],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["among",2526],"trw":["lady",1132],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["story",2254],"trw":["morning",2986],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["company",2711],"trw":["important",2765],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["ou",377630],"lp":[],"rp":["ou","iou","uo","oui","eou","uou","oue"]},"225":{"input":[1,6,7,8],"tlp":["quo",328],"trp":["iquo",129],"lp":["quo"],"rp":["iquo","oqu","oque"]},"226":{"input":[2,6,7,8],"tlp":["rou",33045],"trp":["our",59933],"trw":["our",14347],"lp":["rou","riou","rrou","rizo"],"rp":["our","erio","orie","uro","erou","euro","urio","orei","urro","orou","ouri","oure","izo","oriz","iour","orru"]},"227":{"input":[1,2,6,7,8],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["sou",7964],"trp":["ous",26493],"lp":["sou","siou"],"rp":["ous","ious","u'","ou'","ouse","usio","esou","oise","ouis","ousi","eous","uous","osu","ouss","us'","usso","ies'"]},"229":{"input":[1,3,6,7,8],"tlw":["sioux",68],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["four",2961],"trw":["ours",177],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["wife's",127],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["vio",4502],"trp":["out",63916],"trw":["out",24396],"lp":["vio","voi","toge","tou","viou","gov","gove","geo","vou","goe"],"rp":["out","oug","ovi","oge","oget","utio","ovie","ego","oute","otiv"]},"233":{"input":[1,4,6,7,8],"tlw":["quote",89],"trw":["output",75],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["voice",2628],"trw":["occur",235],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["group",2351],"trw":["europe",720],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["goes",995],"trw":["i've",2219],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["positive",1027],"trw":["opposite",687],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["course",3730],"trw":["office",2363],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["support",1196],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["you",104946],"trw":["you",68463],"lp":[],"rp":["you","ul","oul","hou","oun","lu","ile","hil","ely","eli","lie","houl","ull","hile","nou","elie","line","youn","enou","lue"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["anyone",1715],"trw":["enjoy",693],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["rule",725],"trw":["your",20504],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["while",7024],"trw":["early",2452],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["smile",1413],"trw":["house",4935],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["anxious",432],"trw":["usually",1445],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["full",2345],"trw":["life",8740],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["families",960],"trw":["meanwhile",361],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["thought",7112],"trw":["little",9495],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["about",23108],"trw":["upon",4442],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["through",8798],"trw":["everyone",2219],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["without",5841],"trw":["large",2557],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["something",7615],"trw":["lives",1641],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["possible",2350],"trw":["immediately",1263],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["could",18061],"trw":["itself",2205],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["would",27522],"trw":["especially",1737],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",410],"tlw":["a",211837],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"r","baseshift":"R","tlp":["rr",29445],"tlw":["r",211],"lp":["rr"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["ar",265629],"tlw":["war",4160],"lp":["ar","wa","ra","aw","war","arr","wr","awa","ara","rw","raw","rar","rwa","rra","rwar","arra","awar","wra","warr","ww"],"rp":[]},"4":{"input":[3],"base":"s","baseshift":"S","tlp":["ss",89478],"tlw":["s",2993],"lp":["ss"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["as",286499],"tlw":["as",63759],"lp":["as","sa","ass","xa","ssa","ax","assa","asa","sas","saa","xas","ssas","sass","sax"],"rp":[]},"6":{"input":[2,3],"base":"f","baseshift":"F","tlp":["rs",105128],"tlw":["f",277],"lp":["rs","fr","ff","rf","sf","ssf","fs","sr","ssr","ffr","ffs"],"rp":[]},"7":{"input":[1,2,3],"tlp":["was",117615],"tlw":["was",112330],"lp":["was","fa","af","ars","ws","sw","far","fra","saw","aff","ras","fas","sar","rsa","ssar","saf","afr","aws","raf","rass"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",55910],"tlw":["t",670],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"p","baseshift":"P","tlp":["at",371419],"tlw":["at",51085],"lp":["at","ta","pa","ap","pp","app","pt","att","tat","pat","apt","apa","tta","atta","pap","pta","apta","patt","ppa","appa"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["rt",81050],"tlw":["c",872],"lp":["rt","tr","ct","cr","rc","cc","tc","ttr","ctr","rtr","rcr","rct"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",118675],"tlw":["part",4589],"lp":["ca","ac","pr","art","par","act","tra","tw","rat","car","part","tar","rac","rta","cat","acc","rp","wat","ract","atc"],"rp":[]},"12":{"input":[3,4],"base":"d","baseshift":"D","tlp":["st",260669],"tlw":["st",798],"lp":["st","ts","ds","dd","sts","sd","dds","dst","tst","tts"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ad",140314],"tlw":["past",2353],"lp":["ad","da","sta","sp","ast","xp","ps","xt","pas","stat","sat","pass","add","spa","aps","dat","tas","past","ads","ats"],"rp":[]},"14":{"input":[2,3,4],"tlp":["rd",48242],"tlw":["dr",852],"lp":["rd","ft","dr","sc","str","rst","rds","rts","scr","cts","cs","tf","ddr","df","fts","cd","dsc","rsd","cst","fc"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["ard",26043],"tlw":["fact",3233],"lp":["ard","aft","fac","ward","star","stra","cas","fat","rad","fact","xc","dar","dra","sca","ards","rsta","draw","xtr","spr","fast"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",20957],"trw":["n",169],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"j","baseshift":"J","tlp":["an",578917],"trp":["na",51349],"tlw":["an",29559],"trw":["j",365],"lp":["an","ann","ana","aj","anna","aan"],"rp":["na","ja","nan","nj","nna","jan","nann"]},"18":{"input":[2,5],"base":"k","baseshift":"K","tlp":["rn",39425],"trp":["kn",27363],"trw":["k",182],"lp":["rn","rk","rkn"],"rp":["kn","nk","nr","nkn","kr","nkr"]},"19":{"input":[1,2,5],"tlp":["ak",39732],"trp":["ka",3991],"tlw":["ran",1611],"trw":["jr",190],"lp":["ak","wn","ran","wan","ark","ank","arn","rna","rank","rran","awn","aran","wak","warn","rawn","rka"],"rp":["ka","nar","nw","narr"]},"20":{"input":[3,5],"base":"m","baseshift":"M","tlp":["sm",13242],"trp":["ns",85305],"trw":["m",1273],"lp":["sm","sn","ssm"],"rp":["ns","ms","mm","nm","mn","nsm","nns","mns","mms"]},"21":{"input":[1,3,5],"tlp":["am",72035],"trp":["ma",137500],"tlw":["am",4235],"trw":["man",9572],"lp":["am","ans","sam","san","sma","asn","xam","ama","ams","xan"],"rp":["ma","man","nam","mas","mana","mma","mann","mman","maj","mass"]},"22":{"input":[2,3,5],"tlp":["rm",33028],"trp":["ks",14097],"trw":["mr",4133],"lp":["rm","sk","rms","rns","rks","rnm","sks","rkf","rkm"],"rp":["ks","nf","mr","mrs","nks","mf","kf","nsf","km","nfr","msf"]},"23":{"input":[1,2,3,5],"tlp":["ask",11409],"trp":["mar",15017],"tlw":["ask",2497],"trw":["mark",882],"lp":["ask","rma","arm","fam","rman","answ","wasn","ram","fran","fan","rans","arms","anks","warm","asks"],"rp":["mar","mak","mark","nsw","marr"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",3003],"trp":["nt",218499],"tlw":["b",695],"lp":["bt","tn","bb","tb"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ab",55519],"trp":["nat",11510],"tlw":["pan",150],"trw":["japan",279],"lp":["ab","ba","ant","tan","pan","tant","tab","ban","bab","bj","bat","batt","anta","apan","abb"],"rp":["nat","nta","nab","jap","japa"]},"26":{"input":[2,4,5],"tlp":["ck",51278],"trp":["nc",79565],"tlw":["bc",95],"lp":["ck","br","rb","rtn","ckn","rnt","bc","tk","ckb","tbr","ckt","cn","cb"],"rp":["nc","ntr","ncr","nct","kt","kb"]},"27":{"input":[1,2,4,5],"tlp":["can",27607],"trp":["ntra",2857],"tlw":["can",15149],"trw":["jack",1623],"lp":["can","ack","anc","tak","bac","back","want","bra","ranc","tanc","tran","bar","rtan","rab","cann","rant","tack"],"rp":["ntra","jac","jack"]},"28":{"input":[3,4,5],"tlp":["dn",14682],"trp":["nd",415919],"trw":["nd",119],"lp":["dn","bs","tm","dm","sb","stm","bst","db","bm","bts"],"rp":["nd","mb","nts","nds","nst","mst","ntm","mbs","ndm","ndn"]},"29":{"input":[1,3,4,5],"tlp":["and",307129],"trp":["mp",43386],"tlw":["and",266855],"trw":["mad",373],"lp":["and","stan","tand","ands","amp","dan","bas","ants","band","bad"],"rp":["mp","mat","mad","mpa","mpan","nda","matt","mpt","mand","nsta"]},"30":{"input":[2,3,4,5],"tlp":["cks",2772],"trp":["ndr",3159],"tlw":["cbs",76],"trw":["kd",65],"lp":["cks","rtm","ckm","rnst","fb","rmt","rdb","dk","bstr"],"rp":["ndr","nstr","nsc","mbr","ndf","mc","mcd","ndsc","mcc","ndk","ncts"]},"31":{"input":[1,2,3,4,5],"tlw":["dark",1865],"lp":[],"rp":[]},"32":{"input":[6],"base":"e","baseshift":"E","trp":["ee",129154],"trw":["e",471],"lp":[],"rp":["ee"]},"33":{"input":[1,6],"base":"q","baseshift":"Q","tlp":["ae",810],"trp":["ea",216643],"tlw":["q",103],"lp":["ae","aq"],"rp":["ea","eq","eea"]},"34":{"input":[2,6],"base":"z","baseshift":"Z","tlp":["re",464927],"trp":["er",558051],"tlw":["re",63],"trw":["er",80],"lp":["re","ree","ze","rre","reer","zz","rer","zer","reez"],"rp":["er","ere","err","eer","erre","ez","eez","eze","eeze","eere","erer"]},"35":{"input":[1,2,6],"tlp":["we",135334],"trp":["ear",54836],"tlw":["were",34909],"trw":["ear",427],"lp":["we","rea","are","wer","were","wee","wea","rew","az","req","za","wear","ware","area"],"rp":["ear","ew","era","eare","erw","ewe"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["se",231764],"trp":["es",259811],"tlw":["see",9997],"lp":["se","see","sse","ses","sses","sess","sees"],"rp":["es","ess","ese","esse","ees","eese"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ase",11581],"trp":["ex",43940],"tlw":["sea",1374],"trw":["ease",378],"lp":["ase","sea","asse","xe","sq","ases","sex","seq","seas","axe","xes"],"rp":["ex","eas","exa","ease","essa","exe","esea","easa","exas"]},"38":{"input":[2,3,6],"tlp":["fe",67683],"trp":["ers",54211],"tlw":["free",1788],"lp":["fe","res","ffe","rse","ser","fer","fee","ress","ffer","fere","rese","fre","ref"],"rp":["ers","ef","erf","eff","erse","efe","eres"]},"39":{"input":[1,2,3,6],"tlp":["reas",7091],"trp":["ears",10248],"tlw":["few",5711],"trw":["ears",565],"lp":["reas","few","swe","fea","swer","fear","sear","wes","afe","wers","safe","aref","affe","werf","swee","xer"],"rp":["ears","ews","ersa","exer"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["te",259049],"trp":["et",117117],"tlw":["tv",551],"trw":["et",324],"lp":["te","ve","tte","tee","tev","teve","teet","tv","vet","ttee"],"rp":["et","ev","eve","ett","eet","ette","ete","etee","eev","eeve"]},"41":{"input":[1,4,6],"tlp":["pe",115056],"trp":["ep",39298],"tlw":["tea",508],"trw":["eat",1112],"lp":["pe","av","ate","ave","va","ppe","pea","atte","appe","tea","tate","ape","ppea"],"rp":["ep","eat","eep","ept","eate","eav","epa"]},"42":{"input":[2,4,6],"tlp":["ce",144944],"trp":["ec",91763],"tlw":["tree",670],"trw":["ever",4714],"lp":["ce","ver","ter","rec","tter","cre","rv","tre","ret","cer","rce","cte","rte","cce"],"rp":["ec","ever","ect","erv","ert","ece"]},"43":{"input":[1,2,4,6],"tlp":["per",37369],"trp":["eca",14464],"tlw":["water",2519],"lp":["per","pre","ace","reat","pec","rep","ater","twe","rate","crea","pect","care","pare","twee","cep"],"rp":["eca","eac","etw","erat","etwe"]},"44":{"input":[3,4,6],"tlp":["de",167797],"trp":["ed",326541],"tlw":["set",3472],"trw":["ed",253],"lp":["de","ted","ste","sed","ded","des","ved","ves","tes","ssed","set","sted","dde","sev","seve","dee","dv"],"rp":["ed","est","eed"]},"45":{"input":[1,3,4,6],"tlp":["spe",18659],"trp":["ead",29380],"tlw":["state",2221],"trw":["east",920],"lp":["spe","ade","dea","ated","xpe","ped","pped","ates","aste","dep","adv","stea","step"],"rp":["ead","exp","expe","ext","esp","east","espe"]},"46":{"input":[2,3,4,6],"tlp":["red",36139],"trp":["ered",12958],"tlw":["street",2374],"trw":["effect",1185],"lp":["red","der","fte","ces","fter","dre","ced","ster","rest","sec","rde","cess","serv","ders","dec","cted","stre","ters","rder"],"rp":["ered"]},"47":{"input":[1,2,3,4,6],"tlw":["after",12071],"trw":["except",1180],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["he",1036192],"trw":["he",92135],"lp":[],"rp":["he","en","ne","hen","een","ene","nee","nne","eh","hn","hee","enn","nh","nen","enne","hene","ehe","nhe","ehen","enh"]},"49":{"input":[1,5,6],"tlp":["ane",5091],"trp":["ha",357027],"tlw":["anne",519],"trw":["jane",336],"lp":["ane","ah","anne","ahe","ahea"],"rp":["ha","han","hea","ean","je","nea","ena","eha","enj","jea","nha","eah","eane","jean","nq"]},"50":{"input":[2,5,6],"tlp":["ren",22668],"trp":["her",160213],"tlw":["zen",79],"trw":["her",47940],"lp":["ren","rne","rke","rh"],"rp":["her","ke","here","hr","ner","ern","hre","eren","kne","ek","eek","ener","ken","hree","kee","nner"]},"51":{"input":[1,2,5,6],"tlp":["wh",148489],"trp":["new",18090],"tlw":["when",27718],"trw":["new",10172],"lp":["wh","whe","wha","when","ake","wher","wen","ween","aren","week","arke","aken"],"rp":["new","har","hear","eak","knew","earn","nera","near"]},"52":{"input":[3,5,6],"tlp":["sh",119750],"trp":["me",235102],"tlw":["she",45928],"trw":["me",30278],"lp":["sh","she","sen","seem"],"rp":["me","em","men","hem","nes","eme","hes","mes","ens","ness","hese","eem","nse","mse","mem","emen"]},"53":{"input":[1,3,5,6],"tlp":["ame",34012],"trp":["has",13193],"tlw":["same",6718],"trw":["has",11125],"lp":["ame","sha","same","ash","ames","anes","sham"],"rp":["has","mea","mean","ema","name","eam","nex","exam","ham","eman","eans","exan","hame"]},"54":{"input":[2,3,5,6],"tlp":["rem",11660],"trp":["mer",13928],"tlw":["fresh",618],"trw":["mere",523],"lp":["rem","ske","reme","rme","fren","fen","rsh","rmer","rnme"],"rp":["mer","hers","erm","kes","eks","eeks","ners","mmer","ernm","efen","mere"]},"55":{"input":[1,2,3,5,6],"tlw":["answer",1929],"trw":["make",9390],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["th",1104883],"trp":["ent",104826],"tlw":["the",506536],"trw":["even",12216],"lp":["th","the","be","ven","ten","bee","been","then","bet","tten"],"rp":["ent","ht","nte","even","eth","nev","nv","neve","ethe","ente"]},"57":{"input":[1,4,5,6],"tlp":["tha",132122],"trp":["hat",148416],"tlw":["that",110865],"trw":["have",35739],"lp":["tha","that","ath","pen","than","ph","athe","bea","ante","ppen","van","pene","bje"],"rp":["hat","hav","have","hap","happ","eath","enta"]},"58":{"input":[2,4,5,6],"tlp":["ch",138742],"trp":["nce",54473],"tlw":["there",23867],"trw":["never",9168],"lp":["ch","ther","thr","bec","che","ber","tch","cen","rth","rent","cent","thre","rch","cke","bre"],"rp":["nce","enc","ence","nter","nch"]},"59":{"input":[1,2,4,5,6],"tlw":["what",26770],"trw":["each",6050],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["them",24753],"trp":["ned",28030],"tlw":["them",21593],"trw":["need",4397],"lp":["them","den","thes","dent","tem","sent"],"rp":["ned","ment","nde","end","med","hed","met","ents","mbe","nted","emb","meth","need","nded"]},"61":{"input":[1,3,4,5,6],"tlw":["death",2323],"trw":["had",63389],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["remember",2277],"trw":["members",1108],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["came",6889],"trw":["heard",3016],"lp":[],"rp":[]},"64":{"input":[7],"base":"i","baseshift":"I","trp":["ii",1762],"trw":["i",117501],"lp":[],"rp":["ii","iii"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ai",104869],"trp":["ia",38456],"lp":["ai"],"rp":["ia","iai"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["ri",146328],"trp":["ir",91496],"lp":["ri","rri"],"rp":["ir","iri","irr","irri"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wi",119378],"trp":["ira",1826],"tlw":["air",2428],"trw":["ira",59],"lp":["wi","rai","air","ari","arri","ria","wri","wai","rria","aria","rwi","awi","rawi","wir","rari","awai","rrai","arwi"],"rp":["ira","iar"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["si",120170],"trp":["is",263616],"trw":["is",60295],"lp":["si","ssi","sis","ssis","siss"],"rp":["is","isi","iss","issi","-s","isis","-si","-i"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["sai",25354],"trp":["ix",4876],"tlw":["six",1928],"trw":["ix",80],"lp":["sai","asi","assi","xi","six","ais","sia","xis","ssia","asis","sias","asia","axi","aisi"],"rp":["ix","isa","ias","isas","isaa","issa"]},"70":{"input":[2,3,7],"tlp":["fi",67126],"trp":["if",58122],"tlw":["sir",1984],"trw":["if",25154],"lp":["fi","fir","ris","firs","ffi","fri","sir","rsi","fif","rif","risi","fis","rifi"],"rp":["if","irs","iff","ifi","iffi","isf","-f"]},"71":{"input":[1,2,3,7],"tlp":["fai",5226],"trp":["isfa",500],"tlw":["fair",842],"lp":["fai","wis","wif","aris","fair","rais","airs","swi","frai","fix","ffai","rwis","sari","afri","affi","rsia","swif","wais","fia"],"rp":["isfa"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["ti",213739],"trp":["it",311028],"tlw":["g",298],"trw":["it",92474],"lp":["ti","gi","tti","gg","tit","gt","tig","titi","ttit","ggi","git","gig","tg"],"rp":["it","ig","iti","itt","igi","itti","igg"]},"73":{"input":[1,4,7],"tlp":["ag",47829],"trp":["ip",16613],"tlw":["tip",221],"lp":["ag","ati","ga","pi","tai","aga","gai","agai","pai","ait","tia","tati","pti","agi","pit","ppi","gat"],"rp":["ip","ita","iat"]},"74":{"input":[2,4,7],"tlp":["ci",45417],"trp":["ic",118179],"tlw":["critic",79],"lp":["ci","gr","cti","tic","rg","rit","ric","tri","rig","rti","cri","cit","gir","riti","rtic","tir"],"rp":["ic","ici","ict","irt"]},"75":{"input":[1,2,4,7],"tlp":["wit",77056],"trp":["ica",19163],"tlw":["wait",1256],"lp":["wit","pri","gra","cia","acti","arg","rati","arti","rica","trai","pic","rtai","writ","gar","rag","wait","tica","cati"],"rp":["ica","icat"]},"76":{"input":[3,4,7],"tlp":["di",96016],"trp":["id",100069],"tlw":["did",12252],"trw":["its",10155],"lp":["di","sti","did","sid","gs","sit","dis","sig","dg","sist","dit","tis","siti","dist","diti"],"rp":["id","ist","its","isti","idd"]},"77":{"input":[1,3,4,7],"tlp":["aid",27860],"trp":["ista",3836],"tlw":["said",23960],"trw":["ida",198],"lp":["aid","said","spi","adi","dia","sati","spit","xist","diat","disa","sag","ssag","stai","atis","disp"],"rp":["ista","ips","isp","ida","isap"]},"78":{"input":[2,3,4,7],"tlp":["fic",12500],"trp":["irst",11403],"tlw":["first",11244],"lp":["fic","ffic","dif","diff","sic","dri","fig","sci","dir","disc","dic","cis","rid","tif","cid","rdi","stri"],"rp":["irst","ift","isc"]},"79":{"input":[1,2,3,4,7],"tlw":["paris",1353],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"y","baseshift":"Y","trp":["in",644105],"trw":["in",155002],"lp":[],"rp":["in","ni","ny","nin","yi","yin","ini","inn","nni","inin","nnin","inni","yn","nny","iny","nyi","nyin","inny","ynn"]},"81":{"input":[1,5,7],"tlp":["ay",87083],"trp":["ina",10155],"tlw":["any",10758],"trw":["nay",83],"lp":["ay","ain","any","ani","ayi","ayin","aini","anin","anni"],"rp":["ina","ian","ya","nia","inan","nai","ji","yan","inj","nian","iann"]},"82":{"input":[2,5,7],"tlp":["ry",67816],"trp":["ki",42462],"trw":["ink",130],"lp":["ry","rin","rni","rnin","rry","ryi","ryin","rki","rkin","rink","rik"],"rp":["ki","kin","ik","ink","nki","nkin","inki","ky","nry"]},"83":{"input":[1,2,5,7],"tlp":["way",28360],"trp":["yw",1970],"tlw":["way",11339],"trw":["iran",85],"lp":["way","win","ary","aki","akin","away","rain","arin","arry","ray","rian","arni","rary","anyw","wy"],"rp":["yw","nary","inar","nyw","kay"]},"84":{"input":[3,5,7],"tlp":["sin",21536],"trp":["im",93559],"tlw":["sin",306],"trw":["my",40423],"lp":["sin","sy","sim","smi","ssin"],"rp":["im","mi","my","ys","min","ins","nsi","mis","ims","nis","miss","mys","imi","insi","mmi"]},"85":{"input":[1,3,5,7],"tlp":["ays",16554],"trp":["may",9648],"tlw":["say",7781],"trw":["many",8068],"lp":["ays","say","ami","ains","says","asy","aim","sayi","amin","sian","anis","asin"],"rp":["may","many","ima","mai","main","iam","ians","mina"]},"86":{"input":[2,3,5,7],"tlp":["fin",16231],"trp":["inf",5607],"tlw":["firm",690],"trw":["kiss",443],"lp":["fin","ski","rim","rmi","fini","rmy","rmin","skin","firm","risk"],"rp":["inf","mir","nfi","nif","irm","isk","kis","kiss","nifi","mik"]},"87":{"input":[1,2,3,5,7],"tlw":["army",2073],"trw":["mary",586],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["ty",42717],"trp":["ng",301290],"tlw":["by",35333],"lp":["ty","by","tin","ting","bi","gin","gn","ttin"],"rp":["ng","ing","int","nti","ning","ity","ib","ying","ign","nit","yt","nig"]},"89":{"input":[1,4,5,7],"tlp":["ang",16987],"trp":["nati",5202],"tlw":["again",7165],"lp":["ang","gain","tain","gan","pin","ping","aint","anyt","atin","abi","py","pain","pany","ppin","agin","tay","anag"],"rp":["nati","nag","ntai"]},"90":{"input":[2,4,5,7],"tlp":["ring",17926],"trp":["king",26881],"tlw":["city",2930],"trw":["king",2321],"lp":["ring","bri","try","rty","cy","rib","city","cin","ryt","rity","cing","tryi","rinc","brin"],"rp":["king","inc","ick","nci","nic","ntry"]},"91":{"input":[1,2,4,5,7],"tlw":["taking",1995],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["tim",28120],"trp":["ind",31046],"tlw":["sitting",1409],"trw":["mind",4439],"lp":["tim","din","ding","dy","sing","didn","sib","sign"],"rp":["ind","ngs","ndi","ings","inst","idn","mig","ndin","ming","mind","mit","nsid"]},"93":{"input":[1,3,4,5,7],"tlw":["day",8306],"trw":["instant",472],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["find",4695],"trw":["kind",3481],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["asking",940],"trw":["making",2931],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"u","baseshift":"U","trp":["ie",85987],"trw":["u",744],"lp":[],"rp":["ie","ei","ue","ui","eu","uie","iu","uee","eei","ieu","uu"]},"97":{"input":[1,6,7],"tlp":["au",32369],"trp":["ua",23498],"tlw":["que",92],"trw":["iq",115],"lp":["au","qu","qui","que","qua","quie","quee","quai"],"rp":["ua","equ","equi","eau","eque","iq","equa","iqu","ique","uai","iqui","iae"]},"98":{"input":[2,6,7],"tlp":["ru",29549],"trp":["ur",136165],"tlw":["rue",170],"lp":["ru","rie","rrie","rue","zi","rei"],"rp":["ur","eir","ure","eri","ire","iz","uri","ize","ier","erie","urr","uir","uire","eur"]},"99":{"input":[1,2,6,7],"tlp":["requ",3277],"trp":["ura",5813],"tlw":["require",420],"trw":["iraq",73],"lp":["requ","quir","quar","azi","wei","arie","aur","aura","wire","aire"],"rp":["ura","uar","iew","eari","iza","eria","ewi","uare","erwi","iewe"]},"100":{"input":[3,6,7],"tlp":["su",62257],"trp":["us",124701],"tlw":["sue",76],"trw":["us",10609],"lp":["su","ssu","sus","sui","sue","sie"],"rp":["us","use","ies","ise","usi","esi","ues","essi","esu","uss","usu","uis","ussi","uses"]},"101":{"input":[1,3,6,7],"tlp":["aus",14032],"trp":["exi",2803],"trw":["usa",134],"lp":["aus","ause","ques","sua","asu","aise","assu","squ","sequ","squa","xu","asie"],"rp":["exi","usa","usua","easi","easu","exis","ixe","isea"]},"102":{"input":[2,3,6,7],"tlp":["fu",24057],"trp":["urs",13334],"tlw":["sure",3684],"trw":["users",252],"lp":["fu","sur","sure","frie","ries","rus","resi","fie","rise","resu","refu"],"rp":["urs","ife","urse","iffe","ief","efu","uf","uff","ures"]},"103":{"input":[1,2,3,6,7],"tlw":["wife",2078],"trw":["easier",513],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["ge",97282],"trp":["ut",147044],"tlw":["get",10986],"trw":["iv",292],"lp":["ge","vi","tu","get","gu","tiv","tive","giv","tie","give"],"rp":["ut","iv","ug","ive","eg","ite","ivi","ute","eti","uti"]},"105":{"input":[1,4,6,7],"tlp":["pu",22528],"trp":["up",44081],"tlw":["put",5210],"trw":["up",23594],"lp":["pu","age","put","avi","aug","tua","atu","aut","ativ","pie","quit","gav","gave"],"rp":["up","ega","upp","iva","iate","eati","uat"]},"106":{"input":[2,4,6,7],"tlp":["tur",27983],"trp":["uc",39944],"tlw":["true",2254],"trw":["ice",574],"lp":["tur","cu","gre","ger","ture","tru","rge","riv","cur","ctu","vic","gree","rive","ctiv"],"rp":["uc","ice","eci","ecti","iver","uct"]},"107":{"input":[1,2,4,6,7],"tlw":["great",6807],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["du",19747],"trp":["ide",35753],"tlw":["side",3662],"trw":["used",3487],"lp":["du","side","stu","ges","die","ged","vid","tud","vis","ties"],"rp":["ide","ust","ud","ied","iste","edi","esti","used","uest","ude"]},"109":{"input":[1,3,4,6,7],"tlw":["despite",946],"trw":["idea",2885],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["five",2604],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["arrived",1258],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["hi",274759],"trw":["eye",1504],"lp":[],"rp":["hi","un","ey","hin","hey","ye","ine","hei","hu","ien","nu","hy","uni","ein","eye","eni","inu","hun","ney","enin"]},"113":{"input":[1,5,6,7],"tlp":["aine",5046],"trp":["ju",21952],"tlw":["queen",763],"trw":["yeah",918],"lp":["aine","aye","quen","aun","anie","anu"],"rp":["ju","yea","hai","una","eani","jun","nua","yeah","niq","niqu","nqu","hain","june","hani"]},"114":{"input":[2,5,6,7],"tlp":["rien",11605],"trp":["ery",27793],"tlw":["run",1998],"trw":["henry",1546],"lp":["rien","run","zin"],"rp":["ery","heir","ike","urn","hink","urne","erin","hir","urin","hur","niz","yer","urni","hri","ury","key","enry"]},"115":{"input":[1,2,5,6,7],"tlw":["why",6090],"trw":["year",3064],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["shi",11339],"trp":["his",109386],"tlw":["sun",1066],"trw":["his",69304],"lp":["shi","sum","sine"],"rp":["his","him","ime","mu","um","ish","mus","ines","yes","usin","imes","hims","imse","eyes","ishe","hus","ume"]},"117":{"input":[1,3,5,6,7],"tlw":["assume",344],"trw":["human",2178],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["fine",1422],"trw":["mike",918],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["wish",1198],"trw":["years",7833],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["gh",90668],"trp":["ith",80740],"tlw":["but",49620],"trw":["night",4461],"lp":["gh","thi","bu","ght","but","thin","they","thei","vin","ving"],"rp":["ith","igh","ugh","ight","hing","nge","ught","unt","inte","ub"]},"121":{"input":[1,4,5,6,7],"tlw":["anything",3884],"trw":["having",3594],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["their",26687],"trw":["every",7264],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["with",67032],"trw":["nature",1587],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["this",36089],"trw":["might",6921],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["game",1331],"trw":["just",14589],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["such",8032],"trw":["much",10233],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["because",9879],"trw":["experience",2559],"lp":[],"rp":[]},"128":{"input":[8],"base":"o","baseshift":"O","trp":["oo",93108],"trw":["o",531],"lp":[],"rp":["oo"]},"129":{"input":[1,8],"tlp":["ao",915],"trp":["oa",14939],"lp":["ao"],"rp":["oa"],"special":"bksp","base":"ao"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["ro",170933],"trp":["or",314634],"trw":["or",34654],"lp":["ro","roo","rro","ror","rror"],"rp":["or","oor","orr","orro","oro"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["wo",92580],"trp":["ow",122368],"tlw":["row",380],"lp":["wo","wor","row","aro","roa","wro","rrow","woo","worr","arro","rao","aor"],"rp":["ow","ora","owa","owar","oar","orw","orwa","orar"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["so",117437],"trp":["os",70799],"tlw":["so",27040],"trw":["'",14271],"lp":["so","soo","sso","s'","s's","ss'","ss's"],"rp":["os","'s","oss","oos","o'","oso","''","o's","'o","oss'"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["aso",4273],"trp":["ox",1874],"lp":["aso","asso","a'","xo","a's","soa","aos","a'a","x'","ax'","x's","ax's","axo","saxo"],"rp":["ox","oas","osa","'a","ossa"]},"134":{"input":[2,3,8],"tlp":["fo",133745],"trp":["of",272457],"tlw":["for",70927],"trw":["of",245539],"lp":["fo","for","fro","rso","ros","sor","ross","foo","r'","r's","rof","ffo","ffor","rfo","rfor","sof"],"rp":["of","off","ors","'r"]},"135":{"input":[1,2,3,8],"tlp":["wors",1678],"trp":["ows",4674],"tlw":["sofa",209],"lp":["wors","forw","rows","swo","swor","affo","wso","awso","frow","sofa","rox","aros","ar'","ar's","w'"],"rp":["ows","'w","ofa","oars","ow'"]},"136":{"input":[4,8],"base":"?","baseshift":"/","tlp":["to",350815],"trp":["ot",133805],"tlw":["to",249163],"trw":["otto",67],"lp":["to","too","tto","tot","toot","toto"],"rp":["ot","ott","oot","oto","otto"],"special":"punc"},"137":{"input":[1,4,8],"tlp":["po",68607],"trp":["op",53305],"tlw":["top",1822],"lp":["po","ppo","top","pot","poo","ato","pop","topp","apo","appo","tota","pto"],"rp":["op","opp","oppo","oat","ota","oop","opt","opo"]},"138":{"input":[2,4,8],"tlp":["co",161789],"trp":["ort",28140],"tlw":["root",179],"lp":["co","tor","tro","cor","cro","rot","cto","cco","ctor","roc","ccor","coo","corr","cot"],"rp":["ort","oc","orc","occ","oct","octo"]},"139":{"input":[1,2,4,8],"tlp":["pro",33640],"trp":["orta",4717],"tlw":["two",11667],"lp":["pro","por","two","port","tow","rop","pow","acco","ppor","towa","prop","proc","acro","ppro","coa","crow","wrot"],"rp":["orta","oac","oca"]},"140":{"input":[3,4,8],"tlp":["do",77376],"trp":["od",44403],"tlw":["do",18689],"trw":["odd",416],"lp":["do","sto","t'","t's","doo","stoo","tood","tod","d'","d's"],"rp":["od","'t","ost","ood","'d","odd","ots","ods","oods","oots"]},"141":{"input":[1,3,4,8],"tlp":["pos",16560],"trp":["oad",3493],"tlw":["stop",1798],"lp":["pos","spo","at'","at's","poss","stop","ppos","ado","toda","post","spot","sop"],"rp":["oad","osp","oda","ops","oast","oops","opos","osop"]},"142":{"input":[2,3,4,8],"tlp":["stor",8576],"trp":["ord",17538],"tlw":["door",3713],"lp":["stor","fort","rod","soc","door","sco","cros","forc","stro","dro","cord","doc","sort","tors","food","dor"],"rp":["ord","oft","ords","orts"]},"143":{"input":[1,2,3,4,8],"tlw":["words",3228],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"l","baseshift":"L","trp":["on",380429],"trw":["on",61313],"lp":[],"rp":["on","ll","no","lo","ol","nl","loo","lon","onl","oll","llo","ool","oon","olo","ollo","nno","ono","onn","non","noo"]},"145":{"input":[1,5,8],"tlp":["al",228009],"trp":["la",103279],"tlw":["all",30772],"trw":["la",689],"lp":["al","all","ano","alo","alon","anno","allo","ala"],"rp":["la","jo","lan","nal","ona","onal","lla","nall","olla","oal","njo","ola"]},"146":{"input":[2,5,8],"tlp":["rl",25465],"trp":["ok",35246],"tlw":["roll",381],"trw":["look",5477],"lp":["rl","ron","rol","roll","rok","rno"],"rp":["ok","ook","kno","ork","look","lk","nor","orn","orl","lor","lr","kl","loor","olor"]},"147":{"input":[1,2,5,8],"tlp":["work",16534],"trp":["now",32603],"tlw":["work",8749],"trw":["now",13343],"lp":["work","ral","arl","alk","wal","worl","alw","alwa","won","walk","wl","alr"],"rp":["now","own","know","low","lar","llow","lw","lwa"]},"148":{"input":[3,5,8],"tlp":["som",32033],"trp":["om",158331],"tlw":["soon",3191],"trw":["mom",1398],"lp":["som","son","sl","sn'","sol"],"rp":["om","mo","n'","ons","ls","mos","mon","on'","los","omm","lso","oom","'m","lm","mom"]},"149":{"input":[1,3,5,8],"tlp":["als",13163],"trp":["las",11287],"tlw":["also",7989],"trw":["man's",744],"lp":["als","also","alm","amo","an'","smal","ason","almo","asn'","sona","amon","sla","sal","alls"],"rp":["las","mal","oma","oman","mall","lass"]},"150":{"input":[2,3,5,8],"tlp":["rom",40627],"trp":["mor",29841],"tlw":["from",35952],"trw":["looks",1175],"lp":["rom","from","fl","form","rson","room","fol","flo","foll","fron","floo"],"rp":["mor","lf","orm","onf","nfo","nfor","morn","oks","ooks"]},"151":{"input":[1,2,3,5,8],"tlw":["woman",3590],"trw":["major",1113],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["bo",64448],"trp":["not",62064],"tlw":["bob",306],"trw":["not",43106],"lp":["bo","bl","tl","ttl","bot","ton","tol","boo","blo","bloo"],"rp":["not","lt","ob","nto","ont","ntl","lot","obl","nnot","nob"]},"153":{"input":[1,4,5,8],"tlp":["pl",68379],"trp":["lat",15533],"tlw":["plan",1335],"trw":["job",3249],"lp":["pl","abo","pla","abl","tal","pon","alt","anot","pol","tabl","plan","bla","plo","ppl","bal"],"rp":["lat","opl","lp","job","oba"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["con",43239],"trp":["onc",10039],"tlw":["took",5513],"lp":["con","cl","cont","bro","col","clo","rob","took","bor","book","conc","coll","ctl","ront"],"rp":["onc","ock","loc","ncl","ontr","ntro"]},"155":{"input":[1,2,4,5,8],"tlw":["call",2856],"trw":["local",1100],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["don",16568],"trp":["ld",104617],"tlw":["don't",9569],"trw":["most",10396],"lp":["don","dn'","dn't","don'","dl","sn't","bod","told","tom"],"rp":["ld","n't","old","most","ond","on't","mot","ldn","ldn'","ndo","obs"]},"157":{"input":[1,3,4,5,8],"tlw":["almost",3784],"trw":["last",4981],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["front",2573],"trw":["lord",1049],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["down",11247],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"@","trp":["eo",22601],"lp":[],"rp":["eo","oe"],"special":"punc"},"161":{"input":[1,6,8],"trp":["oq",59],"lp":[],"rp":["oq"]},"162":{"input":[2,6,8],"tlp":["zo",557],"trp":["ore",43307],"tlw":["zero",137],"trw":["error",228],"lp":["zo","reo","roe","roz","roze","zero"],"rp":["ore","ero","eor","oz","oze","erro","orre","oreo","eror","eroe","oore","orer","ooz","ooze"]},"163":{"input":[1,2,6,8],"tlp":["wore",857],"trp":["owe",15537],"tlw":["wore",747],"trw":["owe",137],"lp":["wore","rowe","woe","azo"],"rp":["owe","ower","ewo","ewor","orea","erwo","oare"]},"164":{"input":[3,6,8],"tlp":["soe",138],"trp":["ose",25993],"lp":["soe","se'","se's"],"rp":["ose","e'","e's","oes","osse","oose","eso","esso","oses","'e","es'","eos","es's","oe'","oe's"]},"165":{"input":[1,3,6,8],"trp":["easo",4023],"lp":[],"rp":["easo","oxe","oxes","exo"]},"166":{"input":[2,3,6,8],"tlp":["fore",14026],"trp":["efo",11759],"tlw":["rose",1049],"trw":["offer",1014],"lp":["fore","re'","re's","rose","rofe"],"rp":["efo","efor","erso","'re","offe","er'","er's","ere'","orse","erfo","ofe","ofes","e'r","e're","effo"]},"167":{"input":[1,2,3,6,8],"tlw":["we're",1513],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["vo",13509],"trp":["ov",46618],"tlw":["vote",203],"lp":["vo","vot","vote","toe","tov","tove"],"rp":["ov","ove","ote","evo","otte","oet","evot","eov","eove","eto","oev","oeve","ovo","oote"]},"169":{"input":[1,4,6,8],"tlp":["peo",15223],"trp":["eop",15223],"tlw":["pope",239],"lp":["peo","peop","avo","poe","pote","poet","vato","pov","pove","pope"],"rp":["eop","ope","oppe","epo","ova","eapo","ovat","opea","opte","oope"]},"170":{"input":[2,4,6,8],"tlp":["rov",6005],"trp":["over",21892],"tlw":["cover",700],"trw":["over",12910],"lp":["rov","cov","cove","reco","rote","rove","roce","vor","tore","revo","core","rvo"],"rp":["over","eco","orce","oce","orte","ecor","otec","ecto"]},"171":{"input":[1,2,4,6,8],"tlw":["power",3130],"trw":["operate",192],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["doe",5478],"trp":["e'd",4775],"tlw":["does",3360],"lp":["doe","does","sov"],"rp":["e'd","'v","'ve","oved","ode","osed","oted","otes","edo","esto","et'","et's","odde","oves","e'v","e've","eedo"]},"173":{"input":[1,3,4,6,8],"tlw":["stopped",1419],"trw":["exposed",267],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["force",1513],"trw":["order",2602],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["process",1455],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["le",213808],"trw":["one",30730],"lp":[],"rp":["le","ho","el","one","ell","lle","hel","hol","eel","len","ele","hoo","ole","eno","oh","elo","hool","olle","hole","hon"]},"177":{"input":[1,5,6,8],"tlp":["alle",8964],"trp":["lea",26849],"tlw":["alone",2184],"trw":["john",1863],"lp":["alle","ale","alen"],"rp":["lea","eal","hal","ela","eall","hall","lean","joh","john","enjo","oje","heal","lane","joe","eale","elea","llea"]},"178":{"input":[2,5,6,8],"tlp":["rel",11908],"trp":["hro",12209],"tlw":["role",950],"trw":["honor",325],"lp":["rel","roke","rle","role","rele"],"rp":["hro","oke","hor","ooke","ler","lre","lke","orke","erl","kel","orne","ller","oken","erno","hook"]},"179":{"input":[1,2,5,6,8],"tlw":["who",23669],"trw":["how",14162],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["some",31924],"trp":["ome",63421],"tlw":["some",15162],"trw":["home",4865],"lp":["some","sel","sho"],"rp":["ome","les","hos","hose","hom","omen","less","he'","msel","els","emo","home","lose","lem","mome","lse","mone"]},"181":{"input":[1,3,5,6,8],"tlw":["shall",1999],"trw":["male",440],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["feel",4278],"trw":["more",21171],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["women",3612],"trw":["half",2504],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tho",36998],"trp":["oth",46489],"tlw":["both",5084],"trw":["let",4207],"lp":["tho","ble","tle","tel","ttle","bel","vel","tell","both"],"rp":["oth","othe","noth","let","lv","lve","lov","love","entl","elt","elv"]},"185":{"input":[1,4,5,6,8],"tlw":["people",14668],"trw":["help",3633],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["brother",1465],"trw":["other",13909],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["another",6638],"trw":["later",4588],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["those",7914],"trw":["moment",3684],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["that's",4282],"trw":["least",2856],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["before",10203],"trw":["left",5159],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["called",4581],"trw":["learned",1609],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["io",113622],"lp":[],"rp":["io","oi"],"special":"punc"},"193":{"input":[1,7,8],"lp":[],"rp":[]},"194":{"input":[2,7,8],"tlp":["rio",7327],"trp":["ori",8551],"lp":["rio","rior","rrio","roi","rori"],"rp":["ori","ior","iro","orri","irro","orio","iori","oir","oiro"]},"195":{"input":[1,2,7,8],"tlp":["ario",1160],"trp":["owi",4542],"tlw":["warrior",125],"lp":["ario","rowi","airo"],"rp":["owi","oria","iora","oari"]},"196":{"input":[3,7,8],"tlp":["sio",15825],"trp":["i'",14185],"trw":["'i",461],"lp":["sio","ssio","soi","so-"],"rp":["i'","osi","ossi","isio","iso","ois","o-","'i","ios","iosi","oosi","osio","oiso","-o","isso"]},"197":{"input":[1,3,7,8],"tlp":["asio",1897],"trp":["oxi",253],"lp":["asio","xio","aiso"],"rp":["oxi","ixo"]},"198":{"input":[2,3,7,8],"tlp":["riso",1574],"trp":["offi",5584],"trw":["'if",72],"lp":["riso","rofi","rsio","rios","rosi"],"rp":["offi","ifo","ifor","ofi","iors","oris","-fo","isor","-ro","-roo","oirs","isfo","'if","iff'","o-f"]},"199":{"input":[1,2,3,7,8],"tlw":["warriors",145],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["tio",72429],"trp":["og",14040],"tlw":["go",9032],"lp":["tio","go","goo","got","goi","tog","gio","gott","gto","goti"],"rp":["og","itio","oti","otio","ito","ogi","igio","iot","oog","otog"]},"201":{"input":[1,4,7,8],"tlp":["atio",33167],"trp":["opi",2391],"tlw":["ago",1471],"lp":["atio","poi","ptio","ago","goa","ppoi","topi","pio","aigo","goat","gapo"],"rp":["opi","opti","oppi","otia","oga","oati","opag","ogat","ipo"]},"202":{"input":[2,4,7,8],"tlp":["ctio",12347],"trp":["org",5456],"tlw":["torrio",94],"trw":["org",99],"lp":["ctio","gro","cio","tori","rog","rogr","cog","rgo","gor"],"rp":["org","oic","oci","ogr","otic","orit","orti","itor","orig","icio","icto"]},"203":{"input":[1,2,4,7,8],"tlw":["grow",678],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["good",10385],"trp":["it'",8789],"tlw":["good",9480],"trw":["it's",8558],"lp":["good","stio","god","doi","dog","dio","gdo","g'","g's","to-","gods"],"rp":["it'","it's","osit","isto","i'd","oid","odi","iod","isdo"]},"205":{"input":[1,3,4,7,8],"tlw":["gossip",164],"trw":["ipod",68],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["forgot",261],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["radio",638],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["li",155342],"trw":["only",13824],"lp":[],"rp":["li","ly","yo","il","ion","ill","lly","lin","oin","nly","only","lli","oy","ili","ily","oli","llin","yon","illi","nio"]},"209":{"input":[1,5,7,8],"tlp":["ally",22338],"trp":["ial",13366],"tlw":["ally",126],"trw":["lay",1482],"lp":["ally","ali","ail","alli","ainl","anyo"],"rp":["ial","lay","iona","lai","lia","inal","lain","iall","joy","ila","njoy","lian","joi","join"]},"210":{"input":[2,5,7,8],"tlp":["rly",8446],"trp":["lik",24097],"tlw":["roy",83],"trw":["york",1727],"lp":["rly","ril","rli","ryo","ryon"],"rp":["lik","ory","irl","oki","okin","kil","kill","orni","ooki","lki","lkin","orki","kly","yor","orry"]},"211":{"input":[1,2,5,7,8],"tlw":["will",14271],"trw":["okay",1081],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["sion",15757],"trp":["ions",18292],"tlw":["sly",561],"trw":["i'm",6537],"lp":["sion","sil","sly","smil","sli"],"rp":["ions","mil","lis","i'm","omi","y'","onsi","mily","mili","omin","lim","y's","i'l","i'll","ison"]},"213":{"input":[1,3,5,7,8],"tlw":["animal",491],"trw":["mail",328],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["sorry",899],"trw":["mirror",461],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["always",6467],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tion",71969],"trp":["lit",22460],"tlw":["going",6947],"trw":["into",18343],"lp":["tion","gl","tly","til","till","goin","bli"],"rp":["lit","ong","into","long","ling","lig","oing","litt","ittl","ibl","ngl","oint","ntly"]},"217":{"input":[1,4,5,7,8],"tlw":["point",3165],"trw":["national",867],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["girl",2370],"trw":["looking",3174],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["working",2448],"trw":["knowing",919],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["still",7621],"trw":["isn't",1565],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["among",2526],"trw":["lady",1132],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["story",2254],"trw":["morning",2986],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["company",2711],"trw":["important",2765],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["ou",377630],"lp":[],"rp":["ou","iou","uo","oui","eou","uou","oue"]},"225":{"input":[1,6,7,8],"tlp":["quo",328],"trp":["iquo",129],"lp":["quo"],"rp":["iquo","oqu","oque"]},"226":{"input":[2,6,7,8],"tlp":["rou",33045],"trp":["our",59933],"trw":["our",14347],"lp":["rou","riou","rrou","rizo"],"rp":["our","erio","orie","uro","erou","euro","urio","orei","urro","orou","ouri","oure","izo","oriz","iour","orru"]},"227":{"input":[1,2,6,7,8],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["sou",7964],"trp":["ous",26493],"lp":["sou","siou"],"rp":["ous","ious","u'","ou'","ouse","usio","esou","oise","ouis","ousi","eous","uous","osu","ouss","us'","usso","ies'"]},"229":{"input":[1,3,6,7,8],"tlw":["sioux",68],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["four",2961],"trw":["ours",177],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["wife's",127],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["vio",4502],"trp":["out",63916],"trw":["out",24396],"lp":["vio","voi","toge","tou","viou","gov","gove","geo","vou","goe"],"rp":["out","oug","ovi","oge","oget","utio","ovie","ego","oute","otiv"]},"233":{"input":[1,4,6,7,8],"tlw":["quote",89],"trw":["output",75],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["voice",2628],"trw":["occur",235],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["group",2351],"trw":["europe",720],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["goes",995],"trw":["i've",2219],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["positive",1027],"trw":["opposite",687],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["course",3730],"trw":["office",2363],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["support",1196],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["you",104946],"trw":["you",68463],"lp":[],"rp":["you","ul","oul","hou","oun","lu","ile","hil","ely","eli","lie","houl","ull","hile","nou","elie","line","youn","enou","lue"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["anyone",1715],"trw":["enjoy",693],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["rule",725],"trw":["your",20504],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["while",7024],"trw":["early",2452],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["smile",1413],"trw":["house",4935],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["anxious",432],"trw":["usually",1445],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["full",2345],"trw":["life",8740],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["families",960],"trw":["meanwhile",361],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["thought",7112],"trw":["little",9495],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["about",23108],"trw":["upon",4442],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["through",8798],"trw":["everyone",2219],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["without",5841],"trw":["large",2557],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["something",7615],"trw":["lives",1641],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["possible",2350],"trw":["immediately",1263],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["could",18061],"trw":["itself",2205],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["would",27522],"trw":["especially",1737],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/en-dvorak-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/en-dvorak-keymap.json index 64256c18ec..d7301ac637 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/en-dvorak-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/en-dvorak-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",410],"tlw":["a",211837],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"o","baseshift":"O","trp":["oo",93108],"trw":["o",531],"lp":[],"rp":["oo"]},"3":{"input":[1,2],"base":",","baseshift":"<","tlp":["ao",915],"trp":["oa",14939],"lp":["ao"],"rp":["oa"],"special":"punc"},"4":{"input":[3],"base":"e","baseshift":"E","trp":["ee",129154],"trw":["e",471],"lp":[],"rp":["ee"]},"5":{"input":[1,3],"base":"!","baseshift":"@","tlp":["ae",810],"trp":["ea",216643],"lp":["ae"],"rp":["ea","eea"],"special":"punc"},"6":{"input":[2,3],"base":".","baseshift":">","trp":["eo",22601],"lp":[],"rp":["eo","oe"],"special":"punc"},"7":{"input":[1,2,3],"lp":[],"rp":[]},"8":{"input":[4],"base":"i","baseshift":"I","trp":["ii",1762],"trw":["i",117501],"lp":[],"rp":["ii","iii"]},"9":{"input":[1,4],"base":"p","baseshift":"P","tlp":["ai",104869],"trp":["ia",38456],"tlw":["p",765],"lp":["ai","pa","ap","pp","pi","app","pai","apa","ppi","pap","appi","api","ppa","appa","pip"],"rp":["ia","ip","ipp","ipa","ippi"]},"10":{"input":[2,4],"base":"y","baseshift":"Y","trp":["io",113622],"trw":["y",176],"lp":[],"rp":["io","yo","oi","oy","yi","oyi","oyo"]},"11":{"input":[1,2,4],"tlp":["ay",87083],"trp":["op",53305],"tlw":["pay",1548],"trw":["ya",68],"lp":["ay","po","ppo","poi","ayi","py","pay","ppy","poo","appy","pop","apo"],"rp":["op","opp","ya","oppo","opi","yp","oya","oop"]},"12":{"input":[3,4],"base":"u","baseshift":"U","trp":["ie",85987],"trw":["u",744],"lp":[],"rp":["ie","ei","ue","ui","eu","uie","iu","uee","eei","ieu","uu"]},"13":{"input":[1,3,4],"tlp":["pe",115056],"trp":["up",44081],"tlw":["pipe",229],"trw":["up",23594],"lp":["pe","au","pu","ppe","pea","appe","ape","ppea","pie","pape","pee"],"rp":["up","ep","ua","eep","upp","epa","epe","eau","epi"]},"14":{"input":[2,3,4],"trp":["ou",377630],"trw":["you",68463],"lp":[],"rp":["ou","you","ey","ye","iou","eye","uy","oye","eyo","yee","oyee","uo","oui","eou","uou","uyi","yie","uye","oue","oyou"]},"15":{"input":[1,2,3,4],"tlp":["peo",15223],"trp":["eop",15223],"tlw":["pope",239],"lp":["peo","peop","aye","pou","popu","poe"],"rp":["eop","ope","yea","oup","upo","uppo","oppe","epo","ype","opu","eapo","opea","oope","opie"]},"16":{"input":[5],"base":"h","baseshift":"H","trw":["h",335],"lp":[],"rp":[]},"17":{"input":[1,5],"base":";","baseshift":":","tlp":["ah",3197],"trp":["ha",357027],"tlw":["ah",458],"trw":["ha",121],"lp":["ah","aha"],"rp":["ha"],"special":"punc"},"18":{"input":[2,5],"base":"b","baseshift":"B","tlp":["bo",64448],"trp":["ho",160810],"tlw":["b",695],"trw":["oh",2847],"lp":["bo","boo","bb","bob","bobb","bbo"],"rp":["ho","ob","hoo","oh","hb","hbo","obo","obb","oho"]},"19":{"input":[1,2,5],"tlp":["ab",55519],"trp":["oba",3176],"lp":["ab","ba","abo","bab","boa","abb","aba","aboa","aho"],"rp":["oba","obab","hab","hao","oah","habb"]},"20":{"input":[3,5],"base":"j","baseshift":"J","trp":["he",1036192],"trw":["he",92135],"lp":[],"rp":["he","je","eh","hee","ehe","ej","eje"]},"21":{"input":[1,3,5],"tlp":["aj",1718],"trp":["hea",22882],"lp":["aj","ahe","ahea","aje"],"rp":["hea","ja","eha","jea","eah","hae","ehea"]},"22":{"input":[2,3,5],"tlp":["be",175052],"trp":["jo",17794],"tlw":["be",44932],"trw":["job",3249],"lp":["be","bee","beh","bj","bje","bbe"],"rp":["jo","job","eb","joh","obe","obj","obje","oj","oje","eho","hoe","joe","ebo","heo"]},"23":{"input":[1,2,3,5],"tlp":["bea",5725],"trp":["joa",569],"tlw":["abee",97],"lp":["bea","beha","ajo","abe","abbe","abea","abee"],"rp":["joa","eba","eab","eeab","habe"]},"24":{"input":[4,5],"base":"f","baseshift":"F","tlp":["fi",67126],"trp":["hi",274759],"tlw":["f",277],"trw":["if",25154],"lp":["fi","ff","ffi","fif"],"rp":["hi","if","iff","ifi","iffi","hif","hf","ih"]},"25":{"input":[1,4,5],"tlp":["fa",47251],"trp":["hap",14305],"trw":["hip",126],"lp":["fa","af","ph","fai","aff","phi","aph","pha","ffa","affa","ffai","affi","pf","fia"],"rp":["hap","happ","hip","hai","hia","hipp"]},"26":{"input":[2,4,5],"tlp":["fo",133745],"trp":["of",272457],"tlw":["by",35333],"trw":["of",245539],"lp":["fo","by","bi","foo","boy","ffo","fy"],"rp":["of","off","ib","hy","offi","yb","ibi","hoi","ybo","ifo","hio","ofi","oof"]},"27":{"input":[1,2,4,5],"tlp":["abi",3591],"trp":["hop",4723],"tlw":["baby",848],"trw":["happy",1895],"lp":["abi","pho","ayb","phy","aby","baby","pab","apab","affo","bay","babi","aphy","bai"],"rp":["hop","habi","oph","iab","hopi","ophy","hopp"]},"28":{"input":[3,4,5],"tlp":["fe",67683],"trp":["ef",36973],"tlw":["fee",65],"trw":["huh",118],"lp":["fe","fu","ffe","fee","fie"],"rp":["ef","hei","ju","hu","ife","iffe","eff","ief","efu","uf","uff","efe","ehi","hie","effe"]},"29":{"input":[1,3,4,5],"tlp":["fea",4050],"trp":["eph",1305],"trw":["heap",97],"lp":["fea","afe","phe","affe","fau","pfu","pef"],"rp":["eph","jap","japa","hape","hau","heap","ephe","efea","eaf","ufa","jai","heep","uph"]},"30":{"input":[2,3,4,5],"tlp":["bu",70306],"trp":["hou",45889],"tlw":["buy",1026],"trw":["joy",650],"lp":["bu","bou","fou","bef","befo","bei","bui","behi"],"rp":["hou","hey","ub","efo","offe","oub","ibe","joy","ybe","joi","ubj","ubje"]},"31":{"input":[1,2,3,4,5],"tlw":["pub",80],"trw":["hope",1489],"lp":[],"rp":[]},"32":{"input":[6],"base":"t","baseshift":"T","tlp":["tt",55910],"tlw":["t",670],"lp":["tt"],"rp":[]},"33":{"input":[1,6],"base":"(","baseshift":"[","tlp":["at",371419],"tlw":["at",51085],"lp":["at","ta","att","tat","tta","atta","ata","taa","ataa"],"rp":[],"special":"punc"},"34":{"input":[2,6],"base":"w","baseshift":"W","tlp":["to",350815],"trp":["ot",133805],"tlw":["to",249163],"trw":["otto",67],"lp":["to","wo","tw","too","two","tow","woo","tto","tot","wt","ww","www","wow"],"rp":["ot","ow","ott","oot","oto","otto","owt"]},"35":{"input":[1,2,6],"tlp":["wa",198379],"trp":["owa",3731],"lp":["wa","aw","awa","wat","towa","ato","tota","twa","atto","tato","atoo","awo","toa","aot"],"rp":["owa","oat","ota","otta","otat"]},"36":{"input":[3,6],"base":"c","baseshift":"C","tlp":["te",259049],"trp":["et",117117],"tlw":["c",872],"trw":["et",324],"lp":["te","ce","ct","tte","cc","tc","cte","cce","tee","tec","tect"],"rp":["et","ec","ect","ett","eet","ece","ette","ete","ecte"]},"37":{"input":[1,3,6],"tlp":["ca",118675],"trp":["eat",31678],"tlw":["act",1387],"trw":["eat",1112],"lp":["ca","ac","ate","act","ace","atte","tea","cat","acc","atc","tate","tac","cate","acte","acce"],"rp":["eat","eca","eac","eate","eta"]},"38":{"input":[2,3,6],"tlp":["co",161789],"trp":["ew",37100],"tlw":["we",33258],"trw":["owe",137],"lp":["co","we","wee","twe","twee","cto","cco","coo"],"rp":["ew","oc","owe","eco","ote","etw","etwe","oce","occ","oct","octo","otte"]},"39":{"input":[1,2,3,6],"tlp":["wea",5512],"trp":["oac",2483],"tlw":["coat",590],"lp":["wea","acco","watc","wate","coa","acto","weat","coat","coac","awe","aco","coca","cato"],"rp":["oac","oca","occa","ewa","ocat","ocea","eato"]},"40":{"input":[4,6],"base":"k","baseshift":"K","tlp":["ti",213739],"trp":["it",311028],"trw":["it",92474],"lp":["ti","tti","tit","titi","ttit","tk"],"rp":["it","ki","ik","iti","itt","itti","kit","iki","kitt","kt"]},"41":{"input":[1,4,6],"tlp":["ati",45742],"trp":["ita",7797],"tlw":["tip",221],"trw":["kaa",57],"lp":["ati","ak","pt","tak","tai","aki","pat","ait","tia","tati","apt","pti","pit","taki","pati","pta"],"rp":["ita","iat","ka","itat"]},"42":{"input":[2,4,6],"tlp":["wi",119378],"trp":["ok",35246],"tlw":["took",5513],"trw":["kitty",157],"lp":["wi","wit","tio","ty","took","tty","twi"],"rp":["ok","ook","ity","itio","yt","oti","owi","oki","ooki","otio","yw","ky","ito"]},"43":{"input":[1,2,4,6],"tlp":["atio",33167],"trp":["opt",1183],"tlw":["way",11339],"trw":["okay",1081],"lp":["atio","way","away","top","pow","wai","wait","ptio","tay","pot","typ","pok","topp","wak","pty"],"rp":["opt","oka","kay","okay","ywa"]},"44":{"input":[3,4,6],"tlp":["tu",53060],"trp":["ut",147044],"tlw":["cut",1451],"trw":["ice",574],"lp":["tu","ck","ci","cu","cti","tic","tie"],"rp":["ut","ic","ke","uc","ike","ice","ite","ick","eci","ecti","ute","eti","ici"]},"45":{"input":[1,3,4,6],"tlp":["ake",27987],"trp":["ica",19163],"tlw":["take",7122],"trw":["keep",3496],"lp":["ake","ack","cau","take","pec","cia","acti","put","tua","pect","atu","pic","cap","aut","cep","cept"],"rp":["ica","ecau","ept","eak"]},"46":{"input":[2,3,4,6],"tlp":["cou",38026],"trp":["out",63916],"tlw":["city",2930],"trw":["out",24396],"lp":["cou","wou","ctio","cy","city","week","cio","ciou","tou"],"rp":["out","oke","ock","ooke","yet","oic","oice","oci","iew","utio","ety"]},"47":{"input":[1,2,3,4,6],"tlw":["type",863],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"d","baseshift":"D","tlp":["th",1104883],"trp":["ht",56378],"tlw":["th",802],"lp":["th","dd","dh","thd","ddh","tth"],"rp":["ht","hd","hth","htt"]},"49":{"input":[1,5,6],"tlp":["ad",140314],"trp":["hat",148416],"tlw":["that",110865],"trw":["had",63389],"lp":["ad","tha","that","da","ath","add","dat","dad","ada","data","atth","dha","ddha","thda","dadd"],"rp":["hat","had","hatt","hda","hath"]},"50":{"input":[2,5,6],"tlp":["wh",148489],"trp":["oth",46489],"tlw":["who",23669],"trw":["how",14162],"lp":["wh","do","tho","who","dow","bot","bod","both","doo","tood","bt","wd","tod"],"rp":["oth","od","how","ood","hot","odd","owd"]},"51":{"input":[1,2,5,6],"tlp":["wha",30534],"trp":["oad",3493],"tlw":["what",26770],"trw":["oath",137],"lp":["wha","what","tab","bat","bad","ado","batt","toda","boat","adow","dwa","daw","bath","bta","tba","atho"],"rp":["oad","oda","hado","obta"]},"52":{"input":[3,5,6],"tlp":["the",718961],"trp":["ed",326541],"tlw":["the",506536],"trw":["ed",253],"lp":["the","de","ch","ted","ded","che","tch","ced","dec","cted","ched","dde","dee"],"rp":["ed","eth","eed","hed","ethe","jec","ject"]},"53":{"input":[1,3,5,6],"tlp":["cha",21540],"trp":["ead",29380],"tlw":["death",2323],"trw":["each",6050],"lp":["cha","ach","ade","dea","athe","ated","atch","ache","tead","deat","aced","dead","date"],"rp":["ead","each","head","eath","eade","jac","hate"]},"54":{"input":[2,3,5,6],"tlp":["whe",44709],"trp":["othe",34663],"tlw":["bed",1960],"trw":["object",689],"lp":["whe","bec","bet","cho","wed","doe","choo","betw","bed","beco","bett","bjec","whet","doc","doct"],"rp":["othe","howe","owed","ode","ojec"]},"55":{"input":[1,2,3,5,6],"tlw":["watch",1263],"trw":["jaw",167],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["di",96016],"trp":["id",100069],"tlw":["did",12252],"trw":["hit",1079],"lp":["di","thi","ft","did","dif","diff","dit","tif","diti","fit","ddi","fift"],"rp":["id","ith","hit","ift","idd","ithi","kid","idi"]},"57":{"input":[1,4,5,6],"tlp":["aid",27860],"trp":["hapt",2000],"tlw":["paid",1096],"trw":["ida",198],"lp":["aid","aft","fat","adi","fath","dia","path","diat","taf","taff","addi","paid","pid","dai","adit","fait","aith"],"rp":["hapt","ida","hak"]},"58":{"input":[2,4,5,6],"tlp":["with",75749],"trp":["yth",7557],"tlw":["with",67032],"lp":["with","whi","dy","why","body","book","bit","whit","doi","thy","wif","food","wid","foot"],"rp":["yth","ythi","itho","ody","othi","oft"]},"59":{"input":[1,2,4,5,6],"tlw":["day",8306],"trw":["habit",454],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["thei",26847],"trp":["ide",35753],"tlw":["feet",2131],"trw":["effect",1185],"lp":["thei","du","fte","chi","fic","ffic","die","duc","tud"],"rp":["ide","ich","hic","ked","hich","uch","ud","ied","edi","ethi","uth"]},"61":{"input":[1,3,4,5,6],"tlw":["face",4765],"trw":["idea",2885],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["but",49620],"trw":["office",2363],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["about",23108],"trw":["hoped",506],"lp":[],"rp":[]},"64":{"input":[7],"base":"n","baseshift":"N","trp":["nn",20957],"trw":["n",169],"lp":[],"rp":["nn"]},"65":{"input":[1,7],"base":"'","baseshift":"\"","tlp":["an",578917],"trp":["na",51349],"tlw":["an",29559],"trw":["'",14271],"lp":["an","ann","an'","ana","anna","a'","a'a","aan"],"rp":["na","n'","nan","nna","''","'a","nann","'an","'n"],"special":"punc"},"66":{"input":[2,7],"base":"q","baseshift":"Q","trp":["on",380429],"tlw":["q",103],"trw":["on",61313],"lp":[],"rp":["on","no","oon","nno","ono","onn","non","noo","noon","nq","onq","nnon","oq"]},"67":{"input":[1,2,7],"tlp":["ano",7268],"trp":["on'",11539],"trw":["o'",138],"lp":["ano","anno","aq","anon","anq"],"rp":["on'","ona","o'","oan","onna","onan","noa","'no","oan'","'o"]},"68":{"input":[3,7],"base":"v","baseshift":"V","tlp":["ve",240401],"trp":["en",361122],"tlw":["v",386],"trw":["even",12216],"lp":["ve","ven"],"rp":["en","ne","ev","eve","een","even","ene","nev","nv","neve","nee","nne","nve","enn","nen","nven","enne","env"]},"69":{"input":[1,3,7],"tlp":["av",63772],"trp":["e'",16794],"tlw":["van",633],"lp":["av","ave","va","ane","van","anne","aven","ava"],"rp":["e'","ean","eav","nea","'v","'ve","eave","en'","ena","eva","ne'","nav"]},"70":{"input":[2,3,7],"tlp":["vo",13509],"trp":["one",63385],"tlw":["von",319],"trw":["one",30730],"lp":["vo","von"],"rp":["one","ov","ove","eq","eno","onv","eon","eone","onve","onne","evo","nov","nvo","none","nove","nnov","onen","eov"]},"71":{"input":[1,2,3,7],"tlp":["avo",2634],"trp":["one'",1039],"lp":["avo","aneo"],"rp":["one'","ova","nova","eano","eavo","oe'","eona","oane","ovna"]},"72":{"input":[4,7],"base":"x","baseshift":"X","tlp":["xi",4595],"trp":["in",644105],"tlw":["x",233],"trw":["in",155002],"lp":["xi","xin","xii","xiii"],"rp":["in","ni","nin","ini","inn","ix","nni","inin","nnin","inni","nx","nxi","nix","ixi","ixin"]},"73":{"input":[1,4,7],"tlp":["ain",43995],"trp":["i'",14185],"tlw":["pain",1250],"trw":["'i",461],"lp":["ain","xp","ani","pan","pin","xa","pain","ppin","pani","aini","ax","anin","xan","apan","anx"],"rp":["i'","ina","ian","nia","inan"]},"74":{"input":[2,4,7],"trp":["ion",94353],"trw":["nixon",129],"lp":[],"rp":["ion","ny","oin","yin","yon","nio","oni","nion","ox","nyo","nyon","yn","iq","ony","nny","inno","iny","inio","ino","niq"]},"75":{"input":[1,2,4,7],"tlp":["any",30867],"trp":["iona",6976],"tlw":["any",10758],"trw":["opinion",667],"lp":["any","pon","poin","ayin","pany","anyo","apon","anio","xpo","any'","ay'","ppon"],"rp":["iona","y'","opin","yan","onia","ny'","iano","yna"]},"76":{"input":[3,4,7],"tlp":["vi",54014],"trp":["un",97406],"tlw":["vi",155],"trw":["nine",768],"lp":["vi","vin","vie"],"rp":["un","iv","ive","ex","ine","ien","nu","ivi","uni","ein","eni","inu","iev","inv","evi","ieve","nex"]},"77":{"input":[1,3,4,7],"tlp":["pen",17197],"trp":["exp",16071],"tlw":["avenue",408],"trw":["i've",2219],"lp":["pen","xpe","avi","avin","aine","ppen","pene","pine","aun"],"rp":["exp","expe","u'","exa","iva","i'v","i've","epen","una","eani","eavi"]},"78":{"input":[2,3,4,7],"tlp":["qu",27187],"trp":["oun",39137],"tlw":["queen",763],"trw":["union",600],"lp":["qu","qui","que","vio","voi","viou","quen"],"rp":["oun","equ","nou","ovi","youn","ney","enou","yone","oney","equi","eque","ovin","ovie"]},"79":{"input":[1,2,3,4,7],"tlw":["anyone",1715],"trw":["upon",4442],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"g","baseshift":"G","tlp":["gh",90668],"trp":["ng",301290],"tlw":["g",298],"lp":["gh","gn","gg"],"rp":["ng","hn","nh","ngn","ngh","hnn"]},"81":{"input":[1,5,7],"tlp":["ag",47829],"trp":["han",36890],"tlw":["gang",279],"trw":["hang",373],"lp":["ag","ga","ang","aga","gan","anag","gna","gag","agg","g'","agn","agan","gang"],"rp":["han","hang","nag","nha","nga","ngag","ng'"]},"82":{"input":[2,5,7],"tlp":["go",53049],"trp":["ong",22252],"tlw":["go",9032],"lp":["go","goo","gon","bon","gno","gho","ghb","ghbo","goog"],"rp":["ong","og","hon","ohn","ogn","nob","hono","nobo","oog","nb","hno"]},"83":{"input":[1,2,5,7],"tlp":["ban",5102],"trp":["nab",1526],"tlw":["ago",1471],"trw":["noah",100],"lp":["ban","ago","goa","bag","aban","agon","gab","bona","bagh"],"rp":["nab","ho'","onab","oga","nhab","ogan","onag","'b","noah","ohn'","'oh"]},"84":{"input":[3,5,7],"tlp":["ge",97282],"trp":["hen",50214],"tlw":["gene",85],"trw":["egg",150],"lp":["ge","gen","gene","gge","ghe","gne","veh"],"rp":["hen","eg","nge","eng","ege","nj","enj","enge","neg","hene","egg","egen","nhe"]},"85":{"input":[1,3,5,7],"tlp":["age",21698],"trp":["hav",41867],"tlw":["gave",3038],"trw":["have",35739],"lp":["age","ange","gav","gave","agen","gage","vag"],"rp":["hav","have","he'","ega","egan","nage","heav","eag","ehav","jan","enga","jean","jane"]},"86":{"input":[2,3,5,7],"tlp":["been",20749],"trp":["oge",4232],"tlw":["been",20749],"trw":["john",1863],"lp":["been","beg","ben","gone","gov","bov","bove","gove","bene","geo","bv","goe"],"rp":["oge","onge","hone","john","njo","enjo","ego","obv"]},"87":{"input":[1,2,3,5,7],"tlw":["began",3725],"trw":["joan",332],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["gi",33313],"trp":["ing",245338],"tlw":["fig",732],"trw":["high",3405],"lp":["gi","fin","gin","fig","ging"],"rp":["ing","ig","hin","igh","hing","ning","nf","ign","nig","nigh","hig","high","inf","ngi","ngin"]},"89":{"input":[1,4,5,7],"tlp":["gai",12716],"trp":["iga",1887],"tlw":["again",7165],"trw":["hanging",518],"lp":["gai","gain","agai","ping","fina","agi","agin","aig","gani","fan","gina","aigh","pag","angi","gia","aign"],"rp":["iga","iag","igna","nfa"]},"90":{"input":[2,4,5,7],"tlp":["goi",7117],"trp":["ying",10969],"tlw":["going",6947],"trw":["ongoing",108],"lp":["goi","goin","big","gy","bin","gio","bing","box"],"rp":["ying","oing","onf","nfo","info","onfi","ogni","ogi","igio","igno","ogy","ighb"]},"91":{"input":[1,2,4,5,7],"tlw":["paying",444],"trw":["hoping",381],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gu",19194],"trp":["ug",51619],"tlw":["give",3971],"trw":["evening",1505],"lp":["gu","ving","giv","give","gue","fiv","five","fun","gine"],"rp":["ug","ugh","eing","ung","eig","hun","egi","eigh","ugg","ehin","egin"]},"93":{"input":[1,3,4,5,7],"tlw":["page",587],"trw":["having",3594],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["being",7746],"trw":["enough",4614],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["phone",1178],"trw":["heavy",1152],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"r","baseshift":"R","tlp":["rt",81050],"trp":["nt",218499],"tlw":["r",211],"lp":["rt","tr","rn","rr","tn","ttr","rtn","rtr","rnt"],"rp":["nt","ntr","nr"]},"97":{"input":[1,6,7],"tlp":["ar",265629],"trp":["'t",37625],"tlw":["ran",1611],"lp":["ar","ra","ant","art","tra","tan","rat","ran","t'","arr","tar","rta","arn","tant","ara"],"rp":["'t","n't","nat","nta","'r"]},"98":{"input":[2,6,7],"tlp":["ro",170933],"trp":["or",314634],"tlw":["town",2110],"trw":["not",43106],"lp":["ro","wor","wn","tor","ron","tro","row","roo","wr","ton"],"rp":["or","not","now","own","ort","nto","ont","oor","nor","orn"]},"99":{"input":[1,2,6,7],"tlp":["war",17594],"trp":["on't",11002],"tlw":["want",6609],"trw":["narrow",524],"lp":["war","wan","want","aro","anot","roa","raw","rwa","rwar","awar","won'","awn"],"rp":["on't","orta","ora","owar","onta","oar","orwa","orat"]},"100":{"input":[3,6,7],"tlp":["re",464927],"trp":["er",558051],"tlw":["ten",1916],"trw":["never",9168],"lp":["re","ver","ter","cr","ten","rc","ren","ree","rec","tter"],"rp":["er","ere","ent","nc","nce","ever","nte","enc","ence","ner"]},"101":{"input":[1,3,6,7],"tlp":["rea",59674],"trp":["ear",54836],"tlw":["are",29172],"trw":["near",2012],"lp":["rea","are","can","anc","reat","ance","car","rac","ater","rate","crea","ract","arc","care","ante"],"rp":["ear","era","'re","erat","earn"]},"102":{"input":[2,3,6,7],"tlp":["wer",47082],"trp":["ore",43307],"tlw":["were",34909],"trw":["over",12910],"lp":["wer","con","were","cont","wen","went","cor","cro","rov","ween","conc","rew"],"rp":["ore","over","new","onc","once","ower","orc","econ"]},"103":{"input":[1,2,3,6,7],"tlw":["water",2519],"trw":["ocean",381],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["ri",146328],"trp":["ir",91496],"tlw":["tin",227],"trw":["ink",130],"lp":["ri","tin","rk","rin","rit","tri","rri","xt","rti","rni","ttin","rnin"],"rp":["ir","int","kin","kn","nti","nk","ink","nit"]},"105":{"input":[1,4,6,7],"tlp":["pr",76723],"trp":["it'",8789],"tlw":["part",4589],"lp":["pr","par","part","pri","rai","air","ari","tain","ark","arri","rati","rp","arti","ria","akin","ank","rain","trai"],"rp":["it'","nati"]},"106":{"input":[2,4,6,7],"tlp":["tion",71969],"trp":["kno",19117],"tlw":["work",8749],"trw":["into",18343],"lp":["tion","ry","work","win","try","rio","rry","tory","rty","wri","writ"],"rp":["kno","into","ork","know","ori","ory","oint","ntio","owin"]},"107":{"input":[1,2,4,6,7],"tlw":["point",3165],"trw":["nation",393],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["ru",29549],"trp":["ur",136165],"tlw":["turn",2317],"trw":["next",4617],"lp":["ru","tur","rie","tiv","ric","ture","rien","tru","tive","turn"],"rp":["ur","eir","ure","eri","unt","ire","inc","inte","urn","enti"]},"109":{"input":[1,3,4,6,7],"tlw":["taken",2592],"trw":["experience",2559],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["very",10569],"trw":["your",20504],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["power",3130],"trw":["you're",4043],"lp":[],"rp":[]},"112":{"input":[5,6,7],"tlp":["ght",56087],"trp":["nd",415919],"tlw":["dr",852],"trw":["nd",119],"lp":["ght","rd","gr","dr","thr","rg","dn","rth","dg","rh","gt","gth","ddr"],"rp":["nd","hr","nth","ndr","ngt","ngr","ngth"]},"113":{"input":[1,5,6,7],"tlp":["and",307129],"trp":["har",16333],"tlw":["and",266855],"trw":["hand",5168],"lp":["and","ard","than","dn'","dn't","gra","arg","tand","rad","dar","dan","gar","dra","rang"],"rp":["har","hand","'d","hat'","hard","nda"]},"114":{"input":[2,5,6,7],"tlp":["br",30536],"trp":["ord",17538],"tlw":["down",11247],"trw":["north",1391],"lp":["br","don","thro","down","good","bro","gro","got","rob","word","bor","rod","door"],"rp":["ord","ond","hro","noth","hor","org","ndo"]},"115":{"input":[1,2,5,6,7],"tlw":["don't",9569],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["ther",83716],"trp":["her",160213],"tlw":["there",23867],"trw":["her",47940],"lp":["ther","red","der","get","then","gre","den","ger","ved","dre","rge","rned"],"rp":["her","here","ned","nde","end","nder","ered","nted"]},"117":{"input":[1,3,5,6,7],"tlw":["great",6807],"trw":["heard",3016],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["when",27718],"trw":["other",13909],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["another",6638],"trw":["edward",463],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["fr",62589],"trp":["ight",39009],"tlw":["think",7751],"trw":["night",4461],"lp":["fr","thin","ting","din","ding","ring","fir","rig","righ","fri","rf","didn","find"],"rp":["ight","ind","king","ndi","hink","idn","ndin"]},"121":{"input":[1,4,5,6,7],"tlw":["didn't",7051],"trw":["i'd",3142],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["for",70927],"trw":["nothing",5093],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["anything",3884],"trw":["ordinary",614],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["their",26687],"trw":["under",4429],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["after",12071],"trw":["happened",1976],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["before",10203],"trw":["often",3952],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["around",6455],"trw":["opened",1401],"lp":[],"rp":[]},"128":{"input":[8],"base":"s","baseshift":"S","tlp":["ss",89478],"tlw":["s",2993],"lp":["ss"],"rp":[]},"129":{"input":[1,8],"base":"-","baseshift":"_","tlp":["as",286499],"trp":["-s",481],"tlw":["as",63759],"trw":["-",1362],"lp":["as","sa","ass","ssa","assa","asa","sas","saa","ssas","sass"],"rp":["-s","-a"],"special":"punc"},"130":{"input":[2,8],"tlp":["so",117437],"trp":["os",70799],"tlw":["so",27040],"lp":["so","soo","sso"],"rp":["os","oss","oos","oso"],"special":"bksp","base":"os"},"131":{"input":[1,2,8],"tlp":["aso",4273],"trp":["oas",835],"lp":["aso","asso","soa","aos","so-"],"rp":["oas","o-","osa","ossa","-o"]},"132":{"input":[3,8],"base":")","baseshift":"]","tlp":["se",231764],"trp":["es",259811],"tlw":["see",9997],"lp":["se","see","sse","ses","sses","sess","sees"],"rp":["es","ess","ese","esse","ees","eese"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ase",11581],"trp":["eas",23956],"tlw":["sea",1374],"trw":["ease",378],"lp":["ase","sea","asse","ases","seas"],"rp":["eas","ease","essa","esea","easa","e-","-e","eass","-se","e-a","-es"]},"134":{"input":[2,3,8],"tlp":["soe",138],"trp":["ose",25993],"lp":["soe"],"rp":["ose","oes","osse","oose","eso","esso","oses","eos"]},"135":{"input":[1,2,3,8],"trp":["easo",4023],"lp":[],"rp":["easo"]},"136":{"input":[4,8],"base":"?","baseshift":"/","tlp":["si",120170],"trp":["is",263616],"trw":["is",60295],"lp":["si","ssi","sis","ssis","siss"],"rp":["is","isi","iss","issi","isis"],"special":"punc"},"137":{"input":[1,4,8],"tlp":["sp",40374],"trp":["ips",2652],"tlw":["pass",1068],"lp":["sp","sai","ps","pas","asi","pass","spi","assi","spa","aps","ais","sia","sap","asp","sapp","ssia"],"rp":["ips","isa","isp","isap"]},"138":{"input":[2,4,8],"tlp":["sio",15825],"trp":["ys",27984],"lp":["sio","sy","ssio","sys","ssy"],"rp":["ys","osi","ossi","isio","iso","ysi","oys","ois","ios","ysis","iosi","yos","yoss","oosi","osio"]},"139":{"input":[1,2,4,8],"tlp":["pos",16560],"trp":["osp",1974],"tlw":["say",7781],"lp":["pos","ays","say","spo","poss","posi","says","ppos","asy","asio","sayi","psy","sop"],"rp":["osp","ops","y-","ospi","oops","opos","osop"]},"140":{"input":[3,4,8],"tlp":["su",62257],"trp":["us",124701],"tlw":["sue",76],"trw":["us",10609],"lp":["su","ssu","sus","sui","sue","sie"],"rp":["us","use","ies","ise","usi","esi","ues","essi","esu","uss","usu","uis","ussi","uses"]},"141":{"input":[1,3,4,8],"tlp":["spe",18659],"trp":["esp",8233],"tlw":["pause",378],"trw":["usa",134],"lp":["spe","aus","ause","sup","supp","sua","spea","asu","sep","aise","assu","spee","pus"],"rp":["esp","espe","usa","usua","easi","easu","ups"]},"142":{"input":[2,3,4,8],"tlp":["sou",7964],"trp":["ous",26493],"trw":["eyes",5472],"lp":["sou","sey"],"rp":["ous","ious","yes","ouse","eyes","yse","usio","usy","uys","esou","yees","oise","ouis","ousi","eous","eys","uous","osu"]},"143":{"input":[1,2,3,4,8],"tlw":["suppose",803],"trw":["easy",1561],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","tlp":["sh",119750],"trp":["ms",20491],"trw":["m",1273],"lp":["sh","sm","shm","ssm","ssh"],"rp":["ms","mm","hs","hm","mms"]},"145":{"input":[1,5,8],"tlp":["am",72035],"trp":["ma",137500],"tlw":["am",4235],"trw":["has",11125],"lp":["am","sha","sam","sma","ash","ama","ams","sham","amm","aham","asm","asha"],"rp":["ma","has","mas","ham","mma","mass","-m","-ma"]},"146":{"input":[2,5,8],"tlp":["som",32033],"trp":["om",158331],"tlw":["boss",848],"trw":["mom",1398],"lp":["som","sho","bs","sb","bos","smo"],"rp":["om","mo","mb","mos","hos","omm","hom","oom","mom","obs","mmo","ommo","omb","moo"]},"147":{"input":[1,2,5,8],"tlp":["amo",4702],"trp":["oma",6690],"tlw":["bass",106],"trw":["obama",363],"lp":["amo","bas","amb","abs","sba","abso","bass","bam","bama","amba"],"rp":["oma","omma","mba","mbas","homa","omas","obam","hamb","-b","omba"]},"148":{"input":[3,5,8],"tlp":["she",58316],"trp":["me",235102],"tlw":["she",45928],"trw":["me",30278],"lp":["she","seem"],"rp":["me","em","hem","eme","hes","mes","hese","eem","mse","mem","ems","mme","eeme","emem","mee","hems","emse","eems"]},"149":{"input":[1,3,5,8],"tlp":["ame",34012],"trp":["mea",9606],"tlw":["same",6718],"trw":["james",771],"lp":["ame","same","ames","ashe","amme"],"rp":["mea","ema","eam","maj","hame","jam","meas","eams","hase","jame","eame","emma","e-m","e-ma","mae"]},"150":{"input":[2,3,5,8],"tlp":["some",31924],"trp":["ome",63421],"tlw":["some",15162],"trw":["home",4865],"lp":["some","bes","bse","semb"],"rp":["ome","hose","mbe","emb","embe","emo","home","memb","mome","meo","omeo","omes","obse","memo","omme","jobs"]},"151":{"input":[1,2,3,5,8],"tlw":["base",538],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["shi",11339],"trp":["his",109386],"tlw":["fish",451],"trw":["his",69304],"lp":["shi","sim","smi","sf","fis"],"rp":["his","im","mi","him","ish","mis","ims","hims","miss","imi","mmi","imm","mf","ism","isf"]},"153":{"input":[1,4,5,8],"tlp":["ami",8211],"trp":["mp",43386],"tlw":["ship",877],"trw":["map",280],"lp":["ami","fam","fami","ship","amp","simp","fas","aim","ashi","saf","pm"],"rp":["mp","imp","mpa","ima","mai","haps","iam","hips","-f"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["sib",6869],"trp":["my",49697],"tlw":["boys",1175],"trw":["my",40423],"lp":["sib","ssib","sof","sibi","boys","sym","shio"],"rp":["my","omi","mys","ym","mbi","omis","hys","ommi","hysi","omf","mfo","omfo","imb"]},"155":{"input":[1,2,4,5,8],"tlw":["shop",667],"trw":["may",6928],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["sum",4274],"trp":["ime",28758],"tlw":["sum",220],"trw":["jim",446],"lp":["sum","fes","suf","suff"],"rp":["ime","mu","um","jus","mus","imes","imse","ishe","hus","ume","ush","hum","emi","mmu","umm","imme"]},"157":{"input":[1,3,4,5,8],"tlw":["safe",789],"trw":["jump",350],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["busy",647],"trw":["house",4935],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["famous",816],"trw":["maybe",2276],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"z","baseshift":"Z","tlp":["st",260669],"tlw":["st",798],"lp":["st","ts","sts","zz","tst","tz","tts"],"rp":[]},"161":{"input":[1,6,8],"tlp":["sta",40389],"trp":["-t",1205],"tlw":["sat",2253],"lp":["sta","ast","stat","sat","az","tas","za","ats","zat","tast","t-","sast","asta","asts","t-s","t-t","azz","zza","tsta"],"rp":["-t"]},"162":{"input":[2,6,8],"tlp":["sto",21671],"trp":["ost",21248],"tlw":["toss",85],"trw":["oz",100],"lp":["sto","ws","sw","stoo","tos","swo","zo","wso","toss","tso","stot"],"rp":["ost","ows","ots","oz","oots","osts","osto","otos","otst"]},"163":{"input":[1,2,6,8],"tlp":["was",117615],"trp":["oast",835],"tlw":["was",112330],"lp":["was","saw","aws","to-","swa","wast","awso","asto","atso","wats","toas","sota"],"rp":["oast","oats","-tw","-two","-to","-to-","-w","-wo"]},"164":{"input":[3,6,8],"tlp":["ste",30114],"trp":["est",36800],"tlw":["set",3472],"lp":["ste","sc","ces","tes","ze","sec","cess","set","cts","cces","test","cs","tse","sett"],"rp":["est","esc","ets","este","ects","eces"]},"165":{"input":[1,3,6,8],"tlp":["cas",7637],"trp":["east",4973],"tlw":["case",2870],"trw":["east",920],"lp":["cas","ates","aste","case","sca","stea","aces","ccas","seat","sac","cast","aze","acts","stac","asc"],"rp":["east","esta","esca","-c","eats"]},"166":{"input":[2,3,6,8],"tlp":["swe",5581],"trp":["ews",3282],"tlw":["west",1068],"lp":["swe","soc","sco","seco","wes","west","cos","cost","ssoc","stoc","swee","scot","sew"],"rp":["ews","oces","otes","oze","esto","oste","osc"]},"167":{"input":[1,2,3,6,8],"tlw":["coast",540],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["sti",24448],"trp":["ist",28091],"tlw":["sit",1264],"trw":["its",10155],"lp":["sti","sk","sit","sist","tis","siti","ski","zi","tsi","tist","sitt","stit"],"rp":["ist","its","ks","iz","isti","isit","ists","itis"]},"169":{"input":[1,4,6,8],"tlp":["ask",11409],"trp":["ista",3836],"tlw":["ask",2497],"lp":["ask","sati","past","spit","azi","zati","stai","stak","atis","task","asti","asks","aski","stia","sak","pts","sita"],"rp":["ista","iza","izat"]},"170":{"input":[2,4,6,8],"tlp":["wis",5185],"trp":["osit",4706],"tlw":["sky",622],"lp":["wis","stio","syst","sity","sty","swi","sky","zy","swit","sito","twis","wist"],"rp":["osit","isto","yst","oks","ooks","izo","osti","isky"]},"171":{"input":[1,2,4,6,8],"tlw":["stop",1798],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["suc",11912],"trp":["ust",31229],"tlw":["success",1485],"lp":["suc","stu","ske","ties","cus","sic","sci","cis","succ","stic","cks"],"rp":["ust","iste","esti","ize","uest","kes","isc","uts","ices"]},"173":{"input":[1,3,4,6,8],"tlw":["speak",1583],"trw":["escape",642],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["weeks",1328],"trw":["keys",254],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["spoke",1285],"trw":["opposite",687],"lp":[],"rp":[]},"176":{"input":[5,6,8],"tlp":["ds",32521],"trp":["hts",3276],"lp":["ds","tm","ths","dm","sd","stm","dsh","dds","dst","thm","thst","sht","sth"],"rp":["hts","mst","mt","mth","htm","hst"]},"177":{"input":[1,5,6,8],"tlp":["adm",2373],"trp":["mat",11909],"tlw":["sad",457],"trw":["mad",373],"lp":["adm","dam","ads","sad","shad","tma","adam","amaz","sda","atm","stma","tmas","d-"],"rp":["mat","mad","matt","mast","msta","maz","hast"]},"178":{"input":[2,5,6,8],"tlp":["thos",7914],"trp":["most",15009],"tlw":["show",2474],"trw":["most",10396],"lp":["thos","wom","show","tom","dom","whom","whos","stom","shot","dows","bst","doz","ttom"],"rp":["most","mot","moth","mod","ods","host","oods"]},"179":{"input":[1,2,5,6,8],"tlw":["thomas",561],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["them",24753],"trp":["med",15366],"tlw":["them",21593],"trw":["met",1822],"lp":["them","sed","des","thes","tem","ssed","shed","sch","sted","tme","ches","dem","zed","desc","stem"],"rp":["med","met","meth","emed","meet"]},"181":{"input":[1,3,5,6,8],"tlw":["came",6889],"trw":["made",9696],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["those",7914],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["became",2829],"trw":["matthew",262],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["this",36089],"trp":["mit",4914],"tlw":["this",36089],"trw":["kids",1451],"lp":["this","tim","sid","dis","dist","dmi","tsid","tish","tisf"],"rp":["mit","hist","mid","mist","ids","mitt","midd","kids","mmit","imit","mik"]},"185":{"input":[1,4,5,6,8],"tlw":["said",23960],"trw":["maid",197],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["books",1442],"trw":["myth",226],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["days",3754],"trw":["habits",317],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["time",17984],"trw":["just",14589],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["asked",5484],"trw":["make",9390],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["sometimes",2685],"trw":["outside",2061],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["because",9879],"trw":["empty",823],"lp":[],"rp":[]},"192":{"input":[7,8],"base":"l","baseshift":"L","tlp":["sl",14047],"trp":["ll",183975],"trw":["l",235],"lp":["sl","sn","ssl"],"rp":["ll","ns","ls","nl","lls","ln","lln","nsl","nns"]},"193":{"input":[1,7,8],"tlp":["al",228009],"trp":["la",103279],"tlw":["all",30772],"trw":["la",689],"lp":["al","all","als","ans","sn'","san","asn","asn'","sla"],"rp":["la","'s","lan","nal","las","'l","'ll","lla","lass","nall","n's"]},"194":{"input":[2,7,8],"tlp":["son",18915],"trp":["lo",103908],"tlw":["soon",3191],"trw":["loss",625],"lp":["son","sol","soon","slo","sons","sq"],"rp":["lo","ol","ons","loo","lon","onl","oll","los","llo","lso","ool","olo","ollo","ols"]},"195":{"input":[1,2,7,8],"tlp":["also",7989],"trp":["onal",8944],"tlw":["also",7989],"trw":["loan",120],"lp":["also","alo","alon","ason","sona","allo","sola","son'"],"rp":["onal","olla","oal","ola","loa","oals","on's","o's","osal","olan","loan","o-n"]},"196":{"input":[3,7,8],"tlp":["sel",25483],"trp":["le",213808],"tlw":["seen",3375],"trw":["less",3333],"lp":["sel","sen","ves","vel"],"rp":["le","el","ell","lle","les","nes","ens","ness","eel","len","less","ele","lv","nse","lve","els"]},"197":{"input":[1,3,7,8],"tlp":["alle",8964],"trp":["lea",26849],"tlw":["save",729],"trw":["leave",2148],"lp":["alle","ale","val","sav","avel","vas","aves"],"rp":["lea","eal","e's","leas","ela","eall","leav","eans","lean","esn'","e'l","e'll","lane"]},"198":{"input":[2,3,7,8],"tlp":["vol",4101],"trp":["ole",7645],"tlw":["solve",211],"trw":["love",3654],"lp":["vol","velo","volv","sov"],"rp":["ole","lov","love","lose","elo","olle","lone","ones","olv","olve","ello","oesn","onse","nvol","olen","evol"]},"199":{"input":[1,2,3,7,8],"tlw":["alone",2184],"trw":["one's",680],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["sin",21536],"trp":["li",155342],"tlw":["six",1928],"trw":["ill",512],"lp":["sin","sil","ssin","six","sli","xis"],"rp":["li","il","ill","lin","ins","lli","nsi","ili","lis","llin","nis","illi","insi","inis"]},"201":{"input":[1,4,7,8],"tlp":["pl",68379],"trp":["ial",13366],"tlw":["plan",1335],"trw":["i'll",2287],"lp":["pl","pla","ali","ail","ains","plan","pli","xpl","plai","ppl","xpla"],"rp":["ial","lp","lai","lia","inal","lain","iall","lip","ila"]},"202":{"input":[2,4,7,8],"tlp":["sion",15757],"trp":["ly",122921],"tlw":["sly",561],"trw":["only",13824],"lp":["sion","sly"],"rp":["ly","lly","ions","nly","only","ily","oli","onsi","loy","lio","lion","ison","llio","ilo","oil","yl","inly","lyi"]},"203":{"input":[1,2,4,7,8],"tlw":["play",1696],"trw":["lay",1482],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["vis",5954],"trp":["ul",100189],"tlw":["sun",1066],"trw":["live",2131],"lp":["vis","visi","sine"],"rp":["ul","lu","ile","eli","lie","liv","ines","ull","live","usin","elie","line","lue","uil","elli","liev","elin"]},"205":{"input":[1,3,4,7,8],"tlw":["value",1339],"trw":["explain",790],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["soul",950],"trw":["louis",534],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["people",14668],"trw":["usually",1445],"lp":[],"rp":[]},"208":{"input":[5,7,8],"tlp":["gs",15960],"trp":["ngs",13154],"lp":["gs","gl","ghl","ggl","gm","gns","sg","ghs","gnm","ggs"],"rp":["ngs","ngl","lm","nm","hl","nsh","mn","lg","ml","lsh"]},"209":{"input":[1,5,7,8],"tlp":["alm",5014],"trp":["man",42306],"tlw":["small",3786],"trw":["man",9572],"lp":["alm","gla","smal","shal","gam","glan","sag","glas"],"rp":["man","mal","hal","'m","nam","mag","mall","hall","mana","mann","mman","lang"]},"210":{"input":[2,5,7,8],"tlp":["bl",48180],"trp":["mon",15025],"tlw":["song",454],"trw":["long",7506],"lp":["bl","blo","bloo","gol","glo"],"rp":["mon","long","hol","hool","lmo","lmos","obl","log","mong","mbl","mmon","olog","nom","onsh","onom"]},"211":{"input":[1,2,5,7,8],"tlw":["along",3060],"trw":["lab",187],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["ges",7464],"trp":["men",40378],"tlw":["smell",549],"trw":["men",6294],"lp":["ges","gle","vem","gges","veme"],"rp":["men","hel","msel","emen","lem","leg","engl","nme","nmen","ngle","lege","mel","hell","leng","lleg"]},"213":{"input":[1,3,5,7,8],"tlw":["game",1331],"trw":["name",3325],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["someone",3001],"trw":["move",1750],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["able",2600],"trw":["ebola",147],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["fl",14707],"trp":["min",22065],"tlw":["sign",979],"trw":["hill",676],"lp":["fl","sing","sig","sign","fil"],"rp":["min","lf","hil","mil","ling","ings","lif","lig","ligh","mig","migh","ming","lish","mili","nish"]},"217":{"input":[1,4,5,7,8],"tlw":["fall",1195],"trw":["i'm",6537],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["bill",951],"trw":["million",900],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["family",3955],"trw":["many",8068],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["feel",4278],"trw":["life",8740],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["simple",1385],"trw":["help",3633],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["business",3695],"trw":["money",3556],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["possible",2350],"trw":["impossible",978],"lp":[],"rp":[]},"224":{"input":[6,7,8],"tlp":["rs",105128],"trp":["lt",24155],"lp":["rs","tl","str","rl","rst","ttl","rts","rns","rls","stl","rtl","sr"],"rp":["lt","nts","nst","ntl","lr","nstr","lts","nz"]},"225":{"input":[1,6,7,8],"tlp":["t's",15472],"trp":["lat",15533],"tlw":["start",1979],"trw":["last",4981],"lp":["t's","tal","ars","stan","ral","arl","star","stra","sn't","alt","at's","alr","r's","rsta","ants","ras"],"rp":["lat","lar","last","nsta"]},"226":{"input":[2,6,7,8],"tlp":["stor",8576],"trp":["low",16681],"tlw":["sort",1672],"trw":["lot",2713],"lp":["stor","rso","rson","worl","ros","tol","rol","sor","ross","wl","stro"],"rp":["low","llow","ors","orl","lw","lot","lor","nsw","owl"]},"227":{"input":[1,2,6,7,8],"tlw":["wasn't",3475],"trw":["law",1217],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["res",45093],"trp":["ers",54211],"tlw":["tell",4528],"trw":["let",4207],"lp":["res","cl","tle","tel","rse","ser","ttle","rel","ress","cle","ster","rest","tell","serv","sent","rese","stre"],"rp":["ers","ents","let"]},"229":{"input":[1,3,6,7,8],"tlw":["call",2856],"trw":["later",4588],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["well",8952],"trw":["news",1412],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["across",2659],"trw":["local",1100],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["til",13601],"trp":["lik",24097],"tlw":["still",7621],"trw":["list",991],"lp":["til","ris","till","stil","stin","sir"],"rp":["lik","lit","irs","irst","lk","inst","litt","ittl","ilit","irl","list","kil","ntil","kill"]},"233":{"input":[1,4,6,7,8],"tlw":["talk",2625],"trw":["it's",8558],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["will",14271],"trw":["look",5477],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["always",6467],"trw":["national",867],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["since",3793],"trw":["like",19390],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["place",5268],"trw":["natural",1235],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["course",3730],"trw":["likely",1530],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["really",4931],"trw":["years",7833],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"tlp":["rm",33028],"trp":["ld",104617],"trw":["mr",4133],"lp":["rm","dl","rds","rld","rms","ghts","rsh","ddl","rtm","rnm"],"rp":["ld","nds","mr","ldn","lth","ldr","ndl","mrs","nths","htl"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["that's",4282],"trw":["hands",3247],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["world",6250],"trw":["old",6168],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["almost",3784],"trw":["normal",610],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["themselves",2651],"trw":["held",2063],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["called",4581],"trw":["large",2557],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["school",3844],"trw":["more",21171],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["table",2154],"trw":["major",1113],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["first",11244],"trw":["might",6921],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["against",4423],"trw":["making",2931],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["from",35952],"trw":["looking",3174],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["probably",2197],"trw":["important",2765],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["felt",4669],"trw":["left",5159],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["perhaps",2737],"trw":["instead",2310],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["would",27522],"trw":["looked",5103],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["already",3329],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",410],"tlw":["a",211837],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"o","baseshift":"O","trp":["oo",93108],"trw":["o",531],"lp":[],"rp":["oo"]},"3":{"input":[1,2],"base":",","baseshift":"<","tlp":["ao",915],"trp":["oa",14939],"lp":["ao"],"rp":["oa"],"special":"punc"},"4":{"input":[3],"base":"e","baseshift":"E","trp":["ee",129154],"trw":["e",471],"lp":[],"rp":["ee"]},"5":{"input":[1,3],"base":"!","baseshift":"@","tlp":["ae",810],"trp":["ea",216643],"lp":["ae"],"rp":["ea","eea"],"special":"punc"},"6":{"input":[2,3],"base":".","baseshift":">","trp":["eo",22601],"lp":[],"rp":["eo","oe"],"special":"punc"},"7":{"input":[1,2,3],"lp":[],"rp":[]},"8":{"input":[4],"base":"i","baseshift":"I","trp":["ii",1762],"trw":["i",117501],"lp":[],"rp":["ii","iii"]},"9":{"input":[1,4],"base":"p","baseshift":"P","tlp":["ai",104869],"trp":["ia",38456],"tlw":["p",765],"lp":["ai","pa","ap","pp","pi","app","pai","apa","ppi","pap","appi","api","ppa","appa","pip"],"rp":["ia","ip","ipp","ipa","ippi"]},"10":{"input":[2,4],"base":"y","baseshift":"Y","trp":["io",113622],"trw":["y",176],"lp":[],"rp":["io","yo","oi","oy","yi","oyi","oyo"]},"11":{"input":[1,2,4],"tlp":["ay",87083],"trp":["op",53305],"tlw":["pay",1548],"trw":["ya",68],"lp":["ay","po","ppo","poi","ayi","py","pay","ppy","poo","appy","pop","apo"],"rp":["op","opp","ya","oppo","opi","yp","oya","oop"]},"12":{"input":[3,4],"base":"u","baseshift":"U","trp":["ie",85987],"trw":["u",744],"lp":[],"rp":["ie","ei","ue","ui","eu","uie","iu","uee","eei","ieu","uu"]},"13":{"input":[1,3,4],"tlp":["pe",115056],"trp":["up",44081],"tlw":["pipe",229],"trw":["up",23594],"lp":["pe","au","pu","ppe","pea","appe","ape","ppea","pie","pape","pee"],"rp":["up","ep","ua","eep","upp","epa","epe","eau","epi"]},"14":{"input":[2,3,4],"trp":["ou",377630],"trw":["you",68463],"lp":[],"rp":["ou","you","ey","ye","iou","eye","uy","oye","eyo","yee","oyee","uo","oui","eou","uou","uyi","yie","uye","oue","oyou"]},"15":{"input":[1,2,3,4],"tlp":["peo",15223],"trp":["eop",15223],"tlw":["pope",239],"lp":["peo","peop","aye","pou","popu","poe"],"rp":["eop","ope","yea","oup","upo","uppo","oppe","epo","ype","opu","eapo","opea","oope","opie"]},"16":{"input":[5],"base":"h","baseshift":"H","trw":["h",335],"lp":[],"rp":[]},"17":{"input":[1,5],"base":";","baseshift":":","tlp":["ah",3197],"trp":["ha",357027],"tlw":["ah",458],"trw":["ha",121],"lp":["ah","aha"],"rp":["ha"],"special":"punc"},"18":{"input":[2,5],"base":"b","baseshift":"B","tlp":["bo",64448],"trp":["ho",160810],"tlw":["b",695],"trw":["oh",2847],"lp":["bo","boo","bb","bob","bobb","bbo"],"rp":["ho","ob","hoo","oh","hb","hbo","obo","obb","oho"]},"19":{"input":[1,2,5],"tlp":["ab",55519],"trp":["oba",3176],"lp":["ab","ba","abo","bab","boa","abb","aba","aboa","aho"],"rp":["oba","obab","hab","hao","oah","habb"]},"20":{"input":[3,5],"base":"j","baseshift":"J","trp":["he",1036192],"trw":["he",92135],"lp":[],"rp":["he","je","eh","hee","ehe","ej","eje"]},"21":{"input":[1,3,5],"tlp":["aj",1718],"trp":["hea",22882],"lp":["aj","ahe","ahea","aje"],"rp":["hea","ja","eha","jea","eah","hae","ehea"]},"22":{"input":[2,3,5],"tlp":["be",175052],"trp":["jo",17794],"tlw":["be",44932],"trw":["job",3249],"lp":["be","bee","beh","bj","bje","bbe"],"rp":["jo","job","eb","joh","obe","obj","obje","oj","oje","eho","hoe","joe","ebo","heo"]},"23":{"input":[1,2,3,5],"tlp":["bea",5725],"trp":["joa",569],"tlw":["abee",97],"lp":["bea","beha","ajo","abe","abbe","abea","abee"],"rp":["joa","eba","eab","eeab","habe"]},"24":{"input":[4,5],"base":"f","baseshift":"F","tlp":["fi",67126],"trp":["hi",274759],"tlw":["f",277],"trw":["if",25154],"lp":["fi","ff","ffi","fif"],"rp":["hi","if","iff","ifi","iffi","hif","hf","ih"]},"25":{"input":[1,4,5],"tlp":["fa",47251],"trp":["hap",14305],"trw":["hip",126],"lp":["fa","af","ph","fai","aff","phi","aph","pha","ffa","affa","ffai","affi","pf","fia"],"rp":["hap","happ","hip","hai","hia","hipp"]},"26":{"input":[2,4,5],"tlp":["fo",133745],"trp":["of",272457],"tlw":["by",35333],"trw":["of",245539],"lp":["fo","by","bi","foo","boy","ffo","fy"],"rp":["of","off","ib","hy","offi","yb","ibi","hoi","ybo","ifo","hio","ofi","oof"]},"27":{"input":[1,2,4,5],"tlp":["abi",3591],"trp":["hop",4723],"tlw":["baby",848],"trw":["happy",1895],"lp":["abi","pho","ayb","phy","aby","baby","pab","apab","affo","bay","babi","aphy","bai"],"rp":["hop","habi","oph","iab","hopi","ophy","hopp"]},"28":{"input":[3,4,5],"tlp":["fe",67683],"trp":["ef",36973],"tlw":["fee",65],"trw":["huh",118],"lp":["fe","fu","ffe","fee","fie"],"rp":["ef","hei","ju","hu","ife","iffe","eff","ief","efu","uf","uff","efe","ehi","hie","effe"]},"29":{"input":[1,3,4,5],"tlp":["fea",4050],"trp":["eph",1305],"trw":["heap",97],"lp":["fea","afe","phe","affe","fau","pfu","pef"],"rp":["eph","jap","japa","hape","hau","heap","ephe","efea","eaf","ufa","jai","heep","uph"]},"30":{"input":[2,3,4,5],"tlp":["bu",70306],"trp":["hou",45889],"tlw":["buy",1026],"trw":["joy",650],"lp":["bu","bou","fou","bef","befo","bei","bui","behi"],"rp":["hou","hey","ub","efo","offe","oub","ibe","joy","ybe","joi","ubj","ubje"]},"31":{"input":[1,2,3,4,5],"tlw":["pub",80],"trw":["hope",1489],"lp":[],"rp":[]},"32":{"input":[6],"base":"t","baseshift":"T","tlp":["tt",55910],"tlw":["t",670],"lp":["tt"],"rp":[]},"33":{"input":[1,6],"base":"(","baseshift":"[","tlp":["at",371419],"tlw":["at",51085],"lp":["at","ta","att","tat","tta","atta","ata","taa","ataa"],"rp":[],"special":"punc"},"34":{"input":[2,6],"base":"w","baseshift":"W","tlp":["to",350815],"trp":["ot",133805],"tlw":["to",249163],"trw":["otto",67],"lp":["to","wo","tw","too","two","tow","woo","tto","tot","wt","ww","www","wow"],"rp":["ot","ow","ott","oot","oto","otto","owt"]},"35":{"input":[1,2,6],"tlp":["wa",198379],"trp":["owa",3731],"lp":["wa","aw","awa","wat","towa","ato","tota","twa","atto","tato","atoo","awo","toa","aot"],"rp":["owa","oat","ota","otta","otat"]},"36":{"input":[3,6],"base":"c","baseshift":"C","tlp":["te",259049],"trp":["et",117117],"tlw":["c",872],"trw":["et",324],"lp":["te","ce","ct","tte","cc","tc","cte","cce","tee","tec","tect"],"rp":["et","ec","ect","ett","eet","ece","ette","ete","ecte"]},"37":{"input":[1,3,6],"tlp":["ca",118675],"trp":["eat",31678],"tlw":["act",1387],"trw":["eat",1112],"lp":["ca","ac","ate","act","ace","atte","tea","cat","acc","atc","tate","tac","cate","acte","acce"],"rp":["eat","eca","eac","eate","eta"]},"38":{"input":[2,3,6],"tlp":["co",161789],"trp":["ew",37100],"tlw":["we",33258],"trw":["owe",137],"lp":["co","we","wee","twe","twee","cto","cco","coo"],"rp":["ew","oc","owe","eco","ote","etw","etwe","oce","occ","oct","octo","otte"]},"39":{"input":[1,2,3,6],"tlp":["wea",5512],"trp":["oac",2483],"tlw":["coat",590],"lp":["wea","acco","watc","wate","coa","acto","weat","coat","coac","awe","aco","coca","cato"],"rp":["oac","oca","occa","ewa","ocat","ocea","eato"]},"40":{"input":[4,6],"base":"k","baseshift":"K","tlp":["ti",213739],"trp":["it",311028],"trw":["it",92474],"lp":["ti","tti","tit","titi","ttit","tk"],"rp":["it","ki","ik","iti","itt","itti","kit","iki","kitt","kt"]},"41":{"input":[1,4,6],"tlp":["ati",45742],"trp":["ita",7797],"tlw":["tip",221],"trw":["kaa",57],"lp":["ati","ak","pt","tak","tai","aki","pat","ait","tia","tati","apt","pti","pit","taki","pati","pta"],"rp":["ita","iat","ka","itat"]},"42":{"input":[2,4,6],"tlp":["wi",119378],"trp":["ok",35246],"tlw":["took",5513],"trw":["kitty",157],"lp":["wi","wit","tio","ty","took","tty","twi"],"rp":["ok","ook","ity","itio","yt","oti","owi","oki","ooki","otio","yw","ky","ito"]},"43":{"input":[1,2,4,6],"tlp":["atio",33167],"trp":["opt",1183],"tlw":["way",11339],"trw":["okay",1081],"lp":["atio","way","away","top","pow","wai","wait","ptio","tay","pot","typ","pok","topp","wak","pty"],"rp":["opt","oka","kay","okay","ywa"]},"44":{"input":[3,4,6],"tlp":["tu",53060],"trp":["ut",147044],"tlw":["cut",1451],"trw":["ice",574],"lp":["tu","ck","ci","cu","cti","tic","tie"],"rp":["ut","ic","ke","uc","ike","ice","ite","ick","eci","ecti","ute","eti","ici"]},"45":{"input":[1,3,4,6],"tlp":["ake",27987],"trp":["ica",19163],"tlw":["take",7122],"trw":["keep",3496],"lp":["ake","ack","cau","take","pec","cia","acti","put","tua","pect","atu","pic","cap","aut","cep","cept"],"rp":["ica","ecau","ept","eak"]},"46":{"input":[2,3,4,6],"tlp":["cou",38026],"trp":["out",63916],"tlw":["city",2930],"trw":["out",24396],"lp":["cou","wou","ctio","cy","city","week","cio","ciou","tou"],"rp":["out","oke","ock","ooke","yet","oic","oice","oci","iew","utio","ety"]},"47":{"input":[1,2,3,4,6],"tlw":["type",863],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"d","baseshift":"D","tlp":["th",1104883],"trp":["ht",56378],"tlw":["th",802],"lp":["th","dd","dh","thd","ddh","tth"],"rp":["ht","hd","hth","htt"]},"49":{"input":[1,5,6],"tlp":["ad",140314],"trp":["hat",148416],"tlw":["that",110865],"trw":["had",63389],"lp":["ad","tha","that","da","ath","add","dat","dad","ada","data","atth","dha","ddha","thda","dadd"],"rp":["hat","had","hatt","hda","hath"]},"50":{"input":[2,5,6],"tlp":["wh",148489],"trp":["oth",46489],"tlw":["who",23669],"trw":["how",14162],"lp":["wh","do","tho","who","dow","bot","bod","both","doo","tood","bt","wd","tod"],"rp":["oth","od","how","ood","hot","odd","owd"]},"51":{"input":[1,2,5,6],"tlp":["wha",30534],"trp":["oad",3493],"tlw":["what",26770],"trw":["oath",137],"lp":["wha","what","tab","bat","bad","ado","batt","toda","boat","adow","dwa","daw","bath","bta","tba","atho"],"rp":["oad","oda","hado","obta"]},"52":{"input":[3,5,6],"tlp":["the",718961],"trp":["ed",326541],"tlw":["the",506536],"trw":["ed",253],"lp":["the","de","ch","ted","ded","che","tch","ced","dec","cted","ched","dde","dee"],"rp":["ed","eth","eed","hed","ethe","jec","ject"]},"53":{"input":[1,3,5,6],"tlp":["cha",21540],"trp":["ead",29380],"tlw":["death",2323],"trw":["each",6050],"lp":["cha","ach","ade","dea","athe","ated","atch","ache","tead","deat","aced","dead","date"],"rp":["ead","each","head","eath","eade","jac","hate"]},"54":{"input":[2,3,5,6],"tlp":["whe",44709],"trp":["othe",34663],"tlw":["bed",1960],"trw":["object",689],"lp":["whe","bec","bet","cho","wed","doe","choo","betw","bed","beco","bett","bjec","whet","doc","doct"],"rp":["othe","howe","owed","ode","ojec"]},"55":{"input":[1,2,3,5,6],"tlw":["watch",1263],"trw":["jaw",167],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["di",96016],"trp":["id",100069],"tlw":["did",12252],"trw":["hit",1079],"lp":["di","thi","ft","did","dif","diff","dit","tif","diti","fit","ddi","fift"],"rp":["id","ith","hit","ift","idd","ithi","kid","idi"]},"57":{"input":[1,4,5,6],"tlp":["aid",27860],"trp":["hapt",2000],"tlw":["paid",1096],"trw":["ida",198],"lp":["aid","aft","fat","adi","fath","dia","path","diat","taf","taff","addi","paid","pid","dai","adit","fait","aith"],"rp":["hapt","ida","hak"]},"58":{"input":[2,4,5,6],"tlp":["with",75749],"trp":["yth",7557],"tlw":["with",67032],"lp":["with","whi","dy","why","body","book","bit","whit","doi","thy","wif","food","wid","foot"],"rp":["yth","ythi","itho","ody","othi","oft"]},"59":{"input":[1,2,4,5,6],"tlw":["day",8306],"trw":["habit",454],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["thei",26847],"trp":["ide",35753],"tlw":["feet",2131],"trw":["effect",1185],"lp":["thei","du","fte","chi","fic","ffic","die","duc","tud"],"rp":["ide","ich","hic","ked","hich","uch","ud","ied","edi","ethi","uth"]},"61":{"input":[1,3,4,5,6],"tlw":["face",4765],"trw":["idea",2885],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["but",49620],"trw":["office",2363],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["about",23108],"trw":["hoped",506],"lp":[],"rp":[]},"64":{"input":[7],"base":"n","baseshift":"N","trp":["nn",20957],"trw":["n",169],"lp":[],"rp":["nn"]},"65":{"input":[1,7],"base":"'","baseshift":"\"","tlp":["an",578917],"trp":["na",51349],"tlw":["an",29559],"trw":["'",14271],"lp":["an","ann","an'","ana","anna","a'","a'a","aan"],"rp":["na","n'","nan","nna","''","'a","nann","'an","'n"],"special":"punc"},"66":{"input":[2,7],"base":"q","baseshift":"Q","trp":["on",380429],"tlw":["q",103],"trw":["on",61313],"lp":[],"rp":["on","no","oon","nno","ono","onn","non","noo","noon","nq","onq","nnon","oq"]},"67":{"input":[1,2,7],"tlp":["ano",7268],"trp":["on'",11539],"trw":["o'",138],"lp":["ano","anno","aq","anon","anq"],"rp":["on'","ona","o'","oan","onna","onan","noa","'no","oan'","'o"]},"68":{"input":[3,7],"base":"v","baseshift":"V","tlp":["ve",240401],"trp":["en",361122],"tlw":["v",386],"trw":["even",12216],"lp":["ve","ven"],"rp":["en","ne","ev","eve","een","even","ene","nev","nv","neve","nee","nne","nve","enn","nen","nven","enne","env"]},"69":{"input":[1,3,7],"tlp":["av",63772],"trp":["e'",16794],"tlw":["van",633],"lp":["av","ave","va","ane","van","anne","aven","ava"],"rp":["e'","ean","eav","nea","'v","'ve","eave","en'","ena","eva","ne'","nav"]},"70":{"input":[2,3,7],"tlp":["vo",13509],"trp":["one",63385],"tlw":["von",319],"trw":["one",30730],"lp":["vo","von"],"rp":["one","ov","ove","eq","eno","onv","eon","eone","onve","onne","evo","nov","nvo","none","nove","nnov","onen","eov"]},"71":{"input":[1,2,3,7],"tlp":["avo",2634],"trp":["one'",1039],"lp":["avo","aneo"],"rp":["one'","ova","nova","eano","eavo","oe'","eona","oane","ovna"]},"72":{"input":[4,7],"base":"x","baseshift":"X","tlp":["xi",4595],"trp":["in",644105],"tlw":["x",233],"trw":["in",155002],"lp":["xi","xin","xii","xiii"],"rp":["in","ni","nin","ini","inn","ix","nni","inin","nnin","inni","nx","nxi","nix","ixi","ixin"]},"73":{"input":[1,4,7],"tlp":["ain",43995],"trp":["i'",14185],"tlw":["pain",1250],"trw":["'i",461],"lp":["ain","xp","ani","pan","pin","xa","pain","ppin","pani","aini","ax","anin","xan","apan","anx"],"rp":["i'","ina","ian","nia","inan"]},"74":{"input":[2,4,7],"trp":["ion",94353],"trw":["nixon",129],"lp":[],"rp":["ion","ny","oin","yin","yon","nio","oni","nion","ox","nyo","nyon","yn","iq","ony","nny","inno","iny","inio","ino","niq"]},"75":{"input":[1,2,4,7],"tlp":["any",30867],"trp":["iona",6976],"tlw":["any",10758],"trw":["opinion",667],"lp":["any","pon","poin","ayin","pany","anyo","apon","anio","xpo","any'","ay'","ppon"],"rp":["iona","y'","opin","yan","onia","ny'","iano","yna"]},"76":{"input":[3,4,7],"tlp":["vi",54014],"trp":["un",97406],"tlw":["vi",155],"trw":["nine",768],"lp":["vi","vin","vie"],"rp":["un","iv","ive","ex","ine","ien","nu","ivi","uni","ein","eni","inu","iev","inv","evi","ieve","nex"]},"77":{"input":[1,3,4,7],"tlp":["pen",17197],"trp":["exp",16071],"tlw":["avenue",408],"trw":["i've",2219],"lp":["pen","xpe","avi","avin","aine","ppen","pene","pine","aun"],"rp":["exp","expe","u'","exa","iva","i'v","i've","epen","una","eani","eavi"]},"78":{"input":[2,3,4,7],"tlp":["qu",27187],"trp":["oun",39137],"tlw":["queen",763],"trw":["union",600],"lp":["qu","qui","que","vio","voi","viou","quen"],"rp":["oun","equ","nou","ovi","youn","ney","enou","yone","oney","equi","eque","ovin","ovie"]},"79":{"input":[1,2,3,4,7],"tlw":["anyone",1715],"trw":["upon",4442],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"g","baseshift":"G","tlp":["gh",90668],"trp":["ng",301290],"tlw":["g",298],"lp":["gh","gn","gg"],"rp":["ng","hn","nh","ngn","ngh","hnn"]},"81":{"input":[1,5,7],"tlp":["ag",47829],"trp":["han",36890],"tlw":["gang",279],"trw":["hang",373],"lp":["ag","ga","ang","aga","gan","anag","gna","gag","agg","g'","agn","agan","gang"],"rp":["han","hang","nag","nha","nga","ngag","ng'"]},"82":{"input":[2,5,7],"tlp":["go",53049],"trp":["ong",22252],"tlw":["go",9032],"lp":["go","goo","gon","bon","gno","gho","ghb","ghbo","goog"],"rp":["ong","og","hon","ohn","ogn","nob","hono","nobo","oog","nb","hno"]},"83":{"input":[1,2,5,7],"tlp":["ban",5102],"trp":["nab",1526],"tlw":["ago",1471],"trw":["noah",100],"lp":["ban","ago","goa","bag","aban","agon","gab","bona","bagh"],"rp":["nab","ho'","onab","oga","nhab","ogan","onag","'b","noah","ohn'","'oh"]},"84":{"input":[3,5,7],"tlp":["ge",97282],"trp":["hen",50214],"tlw":["gene",85],"trw":["egg",150],"lp":["ge","gen","gene","gge","ghe","gne","veh"],"rp":["hen","eg","nge","eng","ege","nj","enj","enge","neg","hene","egg","egen","nhe"]},"85":{"input":[1,3,5,7],"tlp":["age",21698],"trp":["hav",41867],"tlw":["gave",3038],"trw":["have",35739],"lp":["age","ange","gav","gave","agen","gage","vag"],"rp":["hav","have","he'","ega","egan","nage","heav","eag","ehav","jan","enga","jean","jane"]},"86":{"input":[2,3,5,7],"tlp":["been",20749],"trp":["oge",4232],"tlw":["been",20749],"trw":["john",1863],"lp":["been","beg","ben","gone","gov","bov","bove","gove","bene","geo","bv","goe"],"rp":["oge","onge","hone","john","njo","enjo","ego","obv"]},"87":{"input":[1,2,3,5,7],"tlw":["began",3725],"trw":["joan",332],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["gi",33313],"trp":["ing",245338],"tlw":["fig",732],"trw":["high",3405],"lp":["gi","fin","gin","fig","ging"],"rp":["ing","ig","hin","igh","hing","ning","nf","ign","nig","nigh","hig","high","inf","ngi","ngin"]},"89":{"input":[1,4,5,7],"tlp":["gai",12716],"trp":["iga",1887],"tlw":["again",7165],"trw":["hanging",518],"lp":["gai","gain","agai","ping","fina","agi","agin","aig","gani","fan","gina","aigh","pag","angi","gia","aign"],"rp":["iga","iag","igna","nfa"]},"90":{"input":[2,4,5,7],"tlp":["goi",7117],"trp":["ying",10969],"tlw":["going",6947],"trw":["ongoing",108],"lp":["goi","goin","big","gy","bin","gio","bing","box"],"rp":["ying","oing","onf","nfo","info","onfi","ogni","ogi","igio","igno","ogy","ighb"]},"91":{"input":[1,2,4,5,7],"tlw":["paying",444],"trw":["hoping",381],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gu",19194],"trp":["ug",51619],"tlw":["give",3971],"trw":["evening",1505],"lp":["gu","ving","giv","give","gue","fiv","five","fun","gine"],"rp":["ug","ugh","eing","ung","eig","hun","egi","eigh","ugg","ehin","egin"]},"93":{"input":[1,3,4,5,7],"tlw":["page",587],"trw":["having",3594],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["being",7746],"trw":["enough",4614],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["phone",1178],"trw":["heavy",1152],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"r","baseshift":"R","tlp":["rt",81050],"trp":["nt",218499],"tlw":["r",211],"lp":["rt","tr","rn","rr","tn","ttr","rtn","rtr","rnt"],"rp":["nt","ntr","nr"]},"97":{"input":[1,6,7],"tlp":["ar",265629],"trp":["'t",37625],"tlw":["ran",1611],"lp":["ar","ra","ant","art","tra","tan","rat","ran","t'","arr","tar","rta","arn","tant","ara"],"rp":["'t","n't","nat","nta","'r"]},"98":{"input":[2,6,7],"tlp":["ro",170933],"trp":["or",314634],"tlw":["town",2110],"trw":["not",43106],"lp":["ro","wor","wn","tor","ron","tro","row","roo","wr","ton"],"rp":["or","not","now","own","ort","nto","ont","oor","nor","orn"]},"99":{"input":[1,2,6,7],"tlp":["war",17594],"trp":["on't",11002],"tlw":["want",6609],"trw":["narrow",524],"lp":["war","wan","want","aro","anot","roa","raw","rwa","rwar","awar","won'","awn"],"rp":["on't","orta","ora","owar","onta","oar","orwa","orat"]},"100":{"input":[3,6,7],"tlp":["re",464927],"trp":["er",558051],"tlw":["ten",1916],"trw":["never",9168],"lp":["re","ver","ter","cr","ten","rc","ren","ree","rec","tter"],"rp":["er","ere","ent","nc","nce","ever","nte","enc","ence","ner"]},"101":{"input":[1,3,6,7],"tlp":["rea",59674],"trp":["ear",54836],"tlw":["are",29172],"trw":["near",2012],"lp":["rea","are","can","anc","reat","ance","car","rac","ater","rate","crea","ract","arc","care","ante"],"rp":["ear","era","'re","erat","earn"]},"102":{"input":[2,3,6,7],"tlp":["wer",47082],"trp":["ore",43307],"tlw":["were",34909],"trw":["over",12910],"lp":["wer","con","were","cont","wen","went","cor","cro","rov","ween","conc","rew"],"rp":["ore","over","new","onc","once","ower","orc","econ"]},"103":{"input":[1,2,3,6,7],"tlw":["water",2519],"trw":["ocean",381],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["ri",146328],"trp":["ir",91496],"tlw":["tin",227],"trw":["ink",130],"lp":["ri","tin","rk","rin","rit","tri","rri","xt","rti","rni","ttin","rnin"],"rp":["ir","int","kin","kn","nti","nk","ink","nit"]},"105":{"input":[1,4,6,7],"tlp":["pr",76723],"trp":["it'",8789],"tlw":["part",4589],"lp":["pr","par","part","pri","rai","air","ari","tain","ark","arri","rati","rp","arti","ria","akin","ank","rain","trai"],"rp":["it'","nati"]},"106":{"input":[2,4,6,7],"tlp":["tion",71969],"trp":["kno",19117],"tlw":["work",8749],"trw":["into",18343],"lp":["tion","ry","work","win","try","rio","rry","tory","rty","wri","writ"],"rp":["kno","into","ork","know","ori","ory","oint","ntio","owin"]},"107":{"input":[1,2,4,6,7],"tlw":["point",3165],"trw":["nation",393],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["ru",29549],"trp":["ur",136165],"tlw":["turn",2317],"trw":["next",4617],"lp":["ru","tur","rie","tiv","ric","ture","rien","tru","tive","turn"],"rp":["ur","eir","ure","eri","unt","ire","inc","inte","urn","enti"]},"109":{"input":[1,3,4,6,7],"tlw":["taken",2592],"trw":["experience",2559],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["very",10569],"trw":["your",20504],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["power",3130],"trw":["you're",4043],"lp":[],"rp":[]},"112":{"input":[5,6,7],"tlp":["ght",56087],"trp":["nd",415919],"tlw":["dr",852],"trw":["nd",119],"lp":["ght","rd","gr","dr","thr","rg","dn","rth","dg","rh","gt","gth","ddr"],"rp":["nd","hr","nth","ndr","ngt","ngr","ngth"]},"113":{"input":[1,5,6,7],"tlp":["and",307129],"trp":["har",16333],"tlw":["and",266855],"trw":["hand",5168],"lp":["and","ard","than","dn'","dn't","gra","arg","tand","rad","dar","dan","gar","dra","rang"],"rp":["har","hand","'d","hat'","hard","nda"]},"114":{"input":[2,5,6,7],"tlp":["br",30536],"trp":["ord",17538],"tlw":["down",11247],"trw":["north",1391],"lp":["br","don","thro","down","good","bro","gro","got","rob","word","bor","rod","door"],"rp":["ord","ond","hro","noth","hor","org","ndo"]},"115":{"input":[1,2,5,6,7],"tlw":["don't",9569],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["ther",83716],"trp":["her",160213],"tlw":["there",23867],"trw":["her",47940],"lp":["ther","red","der","get","then","gre","den","ger","ved","dre","rge","rned"],"rp":["her","here","ned","nde","end","nder","ered","nted"]},"117":{"input":[1,3,5,6,7],"tlw":["great",6807],"trw":["heard",3016],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["when",27718],"trw":["other",13909],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["another",6638],"trw":["edward",463],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["fr",62589],"trp":["ight",39009],"tlw":["think",7751],"trw":["night",4461],"lp":["fr","thin","ting","din","ding","ring","fir","rig","righ","fri","rf","didn","find"],"rp":["ight","ind","king","ndi","hink","idn","ndin"]},"121":{"input":[1,4,5,6,7],"tlw":["didn't",7051],"trw":["i'd",3142],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["for",70927],"trw":["nothing",5093],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["anything",3884],"trw":["ordinary",614],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["their",26687],"trw":["under",4429],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["after",12071],"trw":["happened",1976],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["before",10203],"trw":["often",3952],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["around",6455],"trw":["opened",1401],"lp":[],"rp":[]},"128":{"input":[8],"base":"s","baseshift":"S","tlp":["ss",89478],"tlw":["s",2993],"lp":["ss"],"rp":[]},"129":{"input":[1,8],"base":"-","baseshift":"_","tlp":["as",286499],"trp":["-s",481],"tlw":["as",63759],"trw":["-",1362],"lp":["as","sa","ass","ssa","assa","asa","sas","saa","ssas","sass"],"rp":["-s","-a"],"special":"punc"},"130":{"input":[2,8],"tlp":["so",117437],"trp":["os",70799],"tlw":["so",27040],"lp":["so","soo","sso"],"rp":["os","oss","oos","oso"],"special":"bksp","base":"os"},"131":{"input":[1,2,8],"tlp":["aso",4273],"trp":["oas",835],"lp":["aso","asso","soa","aos","so-"],"rp":["oas","o-","osa","ossa","-o"]},"132":{"input":[3,8],"base":")","baseshift":"]","tlp":["se",231764],"trp":["es",259811],"tlw":["see",9997],"lp":["se","see","sse","ses","sses","sess","sees"],"rp":["es","ess","ese","esse","ees","eese"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ase",11581],"trp":["eas",23956],"tlw":["sea",1374],"trw":["ease",378],"lp":["ase","sea","asse","ases","seas"],"rp":["eas","ease","essa","esea","easa","e-","-e","eass","-se","e-a","-es"]},"134":{"input":[2,3,8],"tlp":["soe",138],"trp":["ose",25993],"lp":["soe"],"rp":["ose","oes","osse","oose","eso","esso","oses","eos"]},"135":{"input":[1,2,3,8],"trp":["easo",4023],"lp":[],"rp":["easo"]},"136":{"input":[4,8],"base":"?","baseshift":"/","tlp":["si",120170],"trp":["is",263616],"trw":["is",60295],"lp":["si","ssi","sis","ssis","siss"],"rp":["is","isi","iss","issi","isis"],"special":"punc"},"137":{"input":[1,4,8],"tlp":["sp",40374],"trp":["ips",2652],"tlw":["pass",1068],"lp":["sp","sai","ps","pas","asi","pass","spi","assi","spa","aps","ais","sia","sap","asp","sapp","ssia"],"rp":["ips","isa","isp","isap"]},"138":{"input":[2,4,8],"tlp":["sio",15825],"trp":["ys",27984],"lp":["sio","sy","ssio","sys","ssy"],"rp":["ys","osi","ossi","isio","iso","ysi","oys","ois","ios","ysis","iosi","yos","yoss","oosi","osio"]},"139":{"input":[1,2,4,8],"tlp":["pos",16560],"trp":["osp",1974],"tlw":["say",7781],"lp":["pos","ays","say","spo","poss","posi","says","ppos","asy","asio","sayi","psy","sop"],"rp":["osp","ops","y-","ospi","oops","opos","osop"]},"140":{"input":[3,4,8],"tlp":["su",62257],"trp":["us",124701],"tlw":["sue",76],"trw":["us",10609],"lp":["su","ssu","sus","sui","sue","sie"],"rp":["us","use","ies","ise","usi","esi","ues","essi","esu","uss","usu","uis","ussi","uses"]},"141":{"input":[1,3,4,8],"tlp":["spe",18659],"trp":["esp",8233],"tlw":["pause",378],"trw":["usa",134],"lp":["spe","aus","ause","sup","supp","sua","spea","asu","sep","aise","assu","spee","pus"],"rp":["esp","espe","usa","usua","easi","easu","ups"]},"142":{"input":[2,3,4,8],"tlp":["sou",7964],"trp":["ous",26493],"trw":["eyes",5472],"lp":["sou","sey"],"rp":["ous","ious","yes","ouse","eyes","yse","usio","usy","uys","esou","yees","oise","ouis","ousi","eous","eys","uous","osu"]},"143":{"input":[1,2,3,4,8],"tlw":["suppose",803],"trw":["easy",1561],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","tlp":["sh",119750],"trp":["ms",20491],"trw":["m",1273],"lp":["sh","sm","shm","ssm","ssh"],"rp":["ms","mm","hs","hm","mms"]},"145":{"input":[1,5,8],"tlp":["am",72035],"trp":["ma",137500],"tlw":["am",4235],"trw":["has",11125],"lp":["am","sha","sam","sma","ash","ama","ams","sham","amm","aham","asm","asha"],"rp":["ma","has","mas","ham","mma","mass","-m","-ma"]},"146":{"input":[2,5,8],"tlp":["som",32033],"trp":["om",158331],"tlw":["boss",848],"trw":["mom",1398],"lp":["som","sho","bs","sb","bos","smo"],"rp":["om","mo","mb","mos","hos","omm","hom","oom","mom","obs","mmo","ommo","omb","moo"]},"147":{"input":[1,2,5,8],"tlp":["amo",4702],"trp":["oma",6690],"tlw":["bass",106],"trw":["obama",363],"lp":["amo","bas","amb","abs","sba","abso","bass","bam","bama","amba"],"rp":["oma","omma","mba","mbas","homa","omas","obam","hamb","-b","omba"]},"148":{"input":[3,5,8],"tlp":["she",58316],"trp":["me",235102],"tlw":["she",45928],"trw":["me",30278],"lp":["she","seem"],"rp":["me","em","hem","eme","hes","mes","hese","eem","mse","mem","ems","mme","eeme","emem","mee","hems","emse","eems"]},"149":{"input":[1,3,5,8],"tlp":["ame",34012],"trp":["mea",9606],"tlw":["same",6718],"trw":["james",771],"lp":["ame","same","ames","ashe","amme"],"rp":["mea","ema","eam","maj","hame","jam","meas","eams","hase","jame","eame","emma","e-m","e-ma","mae"]},"150":{"input":[2,3,5,8],"tlp":["some",31924],"trp":["ome",63421],"tlw":["some",15162],"trw":["home",4865],"lp":["some","bes","bse","semb"],"rp":["ome","hose","mbe","emb","embe","emo","home","memb","mome","meo","omeo","omes","obse","memo","omme","jobs"]},"151":{"input":[1,2,3,5,8],"tlw":["base",538],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["shi",11339],"trp":["his",109386],"tlw":["fish",451],"trw":["his",69304],"lp":["shi","sim","smi","sf","fis"],"rp":["his","im","mi","him","ish","mis","ims","hims","miss","imi","mmi","imm","mf","ism","isf"]},"153":{"input":[1,4,5,8],"tlp":["ami",8211],"trp":["mp",43386],"tlw":["ship",877],"trw":["map",280],"lp":["ami","fam","fami","ship","amp","simp","fas","aim","ashi","saf","pm"],"rp":["mp","imp","mpa","ima","mai","haps","iam","hips","-f"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["sib",6869],"trp":["my",49697],"tlw":["boys",1175],"trw":["my",40423],"lp":["sib","ssib","sof","sibi","boys","sym","shio"],"rp":["my","omi","mys","ym","mbi","omis","hys","ommi","hysi","omf","mfo","omfo","imb"]},"155":{"input":[1,2,4,5,8],"tlw":["shop",667],"trw":["may",6928],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["sum",4274],"trp":["ime",28758],"tlw":["sum",220],"trw":["jim",446],"lp":["sum","fes","suf","suff"],"rp":["ime","mu","um","jus","mus","imes","imse","ishe","hus","ume","ush","hum","emi","mmu","umm","imme"]},"157":{"input":[1,3,4,5,8],"tlw":["safe",789],"trw":["jump",350],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["busy",647],"trw":["house",4935],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["famous",816],"trw":["maybe",2276],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"z","baseshift":"Z","tlp":["st",260669],"tlw":["st",798],"lp":["st","ts","sts","zz","tst","tz","tts"],"rp":[]},"161":{"input":[1,6,8],"tlp":["sta",40389],"trp":["-t",1205],"tlw":["sat",2253],"lp":["sta","ast","stat","sat","az","tas","za","ats","zat","tast","t-","sast","asta","asts","t-s","t-t","azz","zza","tsta"],"rp":["-t"]},"162":{"input":[2,6,8],"tlp":["sto",21671],"trp":["ost",21248],"tlw":["toss",85],"trw":["oz",100],"lp":["sto","ws","sw","stoo","tos","swo","zo","wso","toss","tso","stot"],"rp":["ost","ows","ots","oz","oots","osts","osto","otos","otst"]},"163":{"input":[1,2,6,8],"tlp":["was",117615],"trp":["oast",835],"tlw":["was",112330],"lp":["was","saw","aws","to-","swa","wast","awso","asto","atso","wats","toas","sota"],"rp":["oast","oats","-tw","-two","-to","-to-","-w","-wo"]},"164":{"input":[3,6,8],"tlp":["ste",30114],"trp":["est",36800],"tlw":["set",3472],"lp":["ste","sc","ces","tes","ze","sec","cess","set","cts","cces","test","cs","tse","sett"],"rp":["est","esc","ets","este","ects","eces"]},"165":{"input":[1,3,6,8],"tlp":["cas",7637],"trp":["east",4973],"tlw":["case",2870],"trw":["east",920],"lp":["cas","ates","aste","case","sca","stea","aces","ccas","seat","sac","cast","aze","acts","stac","asc"],"rp":["east","esta","esca","-c","eats"]},"166":{"input":[2,3,6,8],"tlp":["swe",5581],"trp":["ews",3282],"tlw":["west",1068],"lp":["swe","soc","sco","seco","wes","west","cos","cost","ssoc","stoc","swee","scot","sew"],"rp":["ews","oces","otes","oze","esto","oste","osc"]},"167":{"input":[1,2,3,6,8],"tlw":["coast",540],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["sti",24448],"trp":["ist",28091],"tlw":["sit",1264],"trw":["its",10155],"lp":["sti","sk","sit","sist","tis","siti","ski","zi","tsi","tist","sitt","stit"],"rp":["ist","its","ks","iz","isti","isit","ists","itis"]},"169":{"input":[1,4,6,8],"tlp":["ask",11409],"trp":["ista",3836],"tlw":["ask",2497],"lp":["ask","sati","past","spit","azi","zati","stai","stak","atis","task","asti","asks","aski","stia","sak","pts","sita"],"rp":["ista","iza","izat"]},"170":{"input":[2,4,6,8],"tlp":["wis",5185],"trp":["osit",4706],"tlw":["sky",622],"lp":["wis","stio","syst","sity","sty","swi","sky","zy","swit","sito","twis","wist"],"rp":["osit","isto","yst","oks","ooks","izo","osti","isky"]},"171":{"input":[1,2,4,6,8],"tlw":["stop",1798],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["suc",11912],"trp":["ust",31229],"tlw":["success",1485],"lp":["suc","stu","ske","ties","cus","sic","sci","cis","succ","stic","cks"],"rp":["ust","iste","esti","ize","uest","kes","isc","uts","ices"]},"173":{"input":[1,3,4,6,8],"tlw":["speak",1583],"trw":["escape",642],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["weeks",1328],"trw":["keys",254],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["spoke",1285],"trw":["opposite",687],"lp":[],"rp":[]},"176":{"input":[5,6,8],"tlp":["ds",32521],"trp":["hts",3276],"lp":["ds","tm","ths","dm","sd","stm","dsh","dds","dst","thm","thst","sht","sth"],"rp":["hts","mst","mt","mth","htm","hst"]},"177":{"input":[1,5,6,8],"tlp":["adm",2373],"trp":["mat",11909],"tlw":["sad",457],"trw":["mad",373],"lp":["adm","dam","ads","sad","shad","tma","adam","amaz","sda","atm","stma","tmas","d-"],"rp":["mat","mad","matt","mast","msta","maz","hast"]},"178":{"input":[2,5,6,8],"tlp":["thos",7914],"trp":["most",15009],"tlw":["show",2474],"trw":["most",10396],"lp":["thos","wom","show","tom","dom","whom","whos","stom","shot","dows","bst","doz","ttom"],"rp":["most","mot","moth","mod","ods","host","oods"]},"179":{"input":[1,2,5,6,8],"tlw":["thomas",561],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["them",24753],"trp":["med",15366],"tlw":["them",21593],"trw":["met",1822],"lp":["them","sed","des","thes","tem","ssed","shed","sch","sted","tme","ches","dem","zed","desc","stem"],"rp":["med","met","meth","emed","meet"]},"181":{"input":[1,3,5,6,8],"tlw":["came",6889],"trw":["made",9696],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["those",7914],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["became",2829],"trw":["matthew",262],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["this",36089],"trp":["mit",4914],"tlw":["this",36089],"trw":["kids",1451],"lp":["this","tim","sid","dis","dist","dmi","tsid","tish","tisf"],"rp":["mit","hist","mid","mist","ids","mitt","midd","kids","mmit","imit","mik"]},"185":{"input":[1,4,5,6,8],"tlw":["said",23960],"trw":["maid",197],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["books",1442],"trw":["myth",226],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["days",3754],"trw":["habits",317],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["time",17984],"trw":["just",14589],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["asked",5484],"trw":["make",9390],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["sometimes",2685],"trw":["outside",2061],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["because",9879],"trw":["empty",823],"lp":[],"rp":[]},"192":{"input":[7,8],"base":"l","baseshift":"L","tlp":["sl",14047],"trp":["ll",183975],"trw":["l",235],"lp":["sl","sn","ssl"],"rp":["ll","ns","ls","nl","lls","ln","lln","nsl","nns"]},"193":{"input":[1,7,8],"tlp":["al",228009],"trp":["la",103279],"tlw":["all",30772],"trw":["la",689],"lp":["al","all","als","ans","sn'","san","asn","asn'","sla"],"rp":["la","'s","lan","nal","las","'l","'ll","lla","lass","nall","n's"]},"194":{"input":[2,7,8],"tlp":["son",18915],"trp":["lo",103908],"tlw":["soon",3191],"trw":["loss",625],"lp":["son","sol","soon","slo","sons","sq"],"rp":["lo","ol","ons","loo","lon","onl","oll","los","llo","lso","ool","olo","ollo","ols"]},"195":{"input":[1,2,7,8],"tlp":["also",7989],"trp":["onal",8944],"tlw":["also",7989],"trw":["loan",120],"lp":["also","alo","alon","ason","sona","allo","sola","son'"],"rp":["onal","olla","oal","ola","loa","oals","on's","o's","osal","olan","loan","o-n"]},"196":{"input":[3,7,8],"tlp":["sel",25483],"trp":["le",213808],"tlw":["seen",3375],"trw":["less",3333],"lp":["sel","sen","ves","vel"],"rp":["le","el","ell","lle","les","nes","ens","ness","eel","len","less","ele","lv","nse","lve","els"]},"197":{"input":[1,3,7,8],"tlp":["alle",8964],"trp":["lea",26849],"tlw":["save",729],"trw":["leave",2148],"lp":["alle","ale","val","sav","avel","vas","aves"],"rp":["lea","eal","e's","leas","ela","eall","leav","eans","lean","esn'","e'l","e'll","lane"]},"198":{"input":[2,3,7,8],"tlp":["vol",4101],"trp":["ole",7645],"tlw":["solve",211],"trw":["love",3654],"lp":["vol","velo","volv","sov"],"rp":["ole","lov","love","lose","elo","olle","lone","ones","olv","olve","ello","oesn","onse","nvol","olen","evol"]},"199":{"input":[1,2,3,7,8],"tlw":["alone",2184],"trw":["one's",680],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["sin",21536],"trp":["li",155342],"tlw":["six",1928],"trw":["ill",512],"lp":["sin","sil","ssin","six","sli","xis"],"rp":["li","il","ill","lin","ins","lli","nsi","ili","lis","llin","nis","illi","insi","inis"]},"201":{"input":[1,4,7,8],"tlp":["pl",68379],"trp":["ial",13366],"tlw":["plan",1335],"trw":["i'll",2287],"lp":["pl","pla","ali","ail","ains","plan","pli","xpl","plai","ppl","xpla"],"rp":["ial","lp","lai","lia","inal","lain","iall","lip","ila"]},"202":{"input":[2,4,7,8],"tlp":["sion",15757],"trp":["ly",122921],"tlw":["sly",561],"trw":["only",13824],"lp":["sion","sly"],"rp":["ly","lly","ions","nly","only","ily","oli","onsi","loy","lio","lion","ison","llio","ilo","oil","yl","inly","lyi"]},"203":{"input":[1,2,4,7,8],"tlw":["play",1696],"trw":["lay",1482],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["vis",5954],"trp":["ul",100189],"tlw":["sun",1066],"trw":["live",2131],"lp":["vis","visi","sine"],"rp":["ul","lu","ile","eli","lie","liv","ines","ull","live","usin","elie","line","lue","uil","elli","liev","elin"]},"205":{"input":[1,3,4,7,8],"tlw":["value",1339],"trw":["explain",790],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["soul",950],"trw":["louis",534],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["people",14668],"trw":["usually",1445],"lp":[],"rp":[]},"208":{"input":[5,7,8],"tlp":["gs",15960],"trp":["ngs",13154],"lp":["gs","gl","ghl","ggl","gm","gns","sg","ghs","gnm","ggs"],"rp":["ngs","ngl","lm","nm","hl","nsh","mn","lg","ml","lsh"]},"209":{"input":[1,5,7,8],"tlp":["alm",5014],"trp":["man",42306],"tlw":["small",3786],"trw":["man",9572],"lp":["alm","gla","smal","shal","gam","glan","sag","glas"],"rp":["man","mal","hal","'m","nam","mag","mall","hall","mana","mann","mman","lang"]},"210":{"input":[2,5,7,8],"tlp":["bl",48180],"trp":["mon",15025],"tlw":["song",454],"trw":["long",7506],"lp":["bl","blo","bloo","gol","glo"],"rp":["mon","long","hol","hool","lmo","lmos","obl","log","mong","mbl","mmon","olog","nom","onsh","onom"]},"211":{"input":[1,2,5,7,8],"tlw":["along",3060],"trw":["lab",187],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["ges",7464],"trp":["men",40378],"tlw":["smell",549],"trw":["men",6294],"lp":["ges","gle","vem","gges","veme"],"rp":["men","hel","msel","emen","lem","leg","engl","nme","nmen","ngle","lege","mel","hell","leng","lleg"]},"213":{"input":[1,3,5,7,8],"tlw":["game",1331],"trw":["name",3325],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["someone",3001],"trw":["move",1750],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["able",2600],"trw":["ebola",147],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["fl",14707],"trp":["min",22065],"tlw":["sign",979],"trw":["hill",676],"lp":["fl","sing","sig","sign","fil"],"rp":["min","lf","hil","mil","ling","ings","lif","lig","ligh","mig","migh","ming","lish","mili","nish"]},"217":{"input":[1,4,5,7,8],"tlw":["fall",1195],"trw":["i'm",6537],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["bill",951],"trw":["million",900],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["family",3955],"trw":["many",8068],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["feel",4278],"trw":["life",8740],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["simple",1385],"trw":["help",3633],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["business",3695],"trw":["money",3556],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["possible",2350],"trw":["impossible",978],"lp":[],"rp":[]},"224":{"input":[6,7,8],"tlp":["rs",105128],"trp":["lt",24155],"lp":["rs","tl","str","rl","rst","ttl","rts","rns","rls","stl","rtl","sr"],"rp":["lt","nts","nst","ntl","lr","nstr","lts","nz"]},"225":{"input":[1,6,7,8],"tlp":["t's",15472],"trp":["lat",15533],"tlw":["start",1979],"trw":["last",4981],"lp":["t's","tal","ars","stan","ral","arl","star","stra","sn't","alt","at's","alr","r's","rsta","ants","ras"],"rp":["lat","lar","last","nsta"]},"226":{"input":[2,6,7,8],"tlp":["stor",8576],"trp":["low",16681],"tlw":["sort",1672],"trw":["lot",2713],"lp":["stor","rso","rson","worl","ros","tol","rol","sor","ross","wl","stro"],"rp":["low","llow","ors","orl","lw","lot","lor","nsw","owl"]},"227":{"input":[1,2,6,7,8],"tlw":["wasn't",3475],"trw":["law",1217],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["res",45093],"trp":["ers",54211],"tlw":["tell",4528],"trw":["let",4207],"lp":["res","cl","tle","tel","rse","ser","ttle","rel","ress","cle","ster","rest","tell","serv","sent","rese","stre"],"rp":["ers","ents","let"]},"229":{"input":[1,3,6,7,8],"tlw":["call",2856],"trw":["later",4588],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["well",8952],"trw":["news",1412],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["across",2659],"trw":["local",1100],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["til",13601],"trp":["lik",24097],"tlw":["still",7621],"trw":["list",991],"lp":["til","ris","till","stil","stin","sir"],"rp":["lik","lit","irs","irst","lk","inst","litt","ittl","ilit","irl","list","kil","ntil","kill"]},"233":{"input":[1,4,6,7,8],"tlw":["talk",2625],"trw":["it's",8558],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["will",14271],"trw":["look",5477],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["always",6467],"trw":["national",867],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["since",3793],"trw":["like",19390],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["place",5268],"trw":["natural",1235],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["course",3730],"trw":["likely",1530],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["really",4931],"trw":["years",7833],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"tlp":["rm",33028],"trp":["ld",104617],"trw":["mr",4133],"lp":["rm","dl","rds","rld","rms","ghts","rsh","ddl","rtm","rnm"],"rp":["ld","nds","mr","ldn","lth","ldr","ndl","mrs","nths","htl"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["that's",4282],"trw":["hands",3247],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["world",6250],"trw":["old",6168],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["almost",3784],"trw":["normal",610],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["themselves",2651],"trw":["held",2063],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["called",4581],"trw":["large",2557],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["school",3844],"trw":["more",21171],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["table",2154],"trw":["major",1113],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["first",11244],"trw":["might",6921],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["against",4423],"trw":["making",2931],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["from",35952],"trw":["looking",3174],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["probably",2197],"trw":["important",2765],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["felt",4669],"trw":["left",5159],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["perhaps",2737],"trw":["instead",2310],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["would",27522],"trw":["looked",5103],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["already",3329],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/en-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/en-keymap.json index 44a1a08813..054183678a 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/en-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/en-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",410],"tlw":["a",211837],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",89478],"tlw":["s",2993],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",286499],"tlw":["was",112330],"lp":["as","wa","was","sa","aw","ass","ws","awa","sw","ssa","saw","assa","aws","asa","swa","sas","ww","saa","www","ssas"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",129154],"tlw":["e",471],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",216643],"tlw":["x",233],"lp":["ea","ex","xa","exa","xe","exe","ax","ae","axe","eea"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["ed",326541],"tlw":["see",9997],"lp":["ed","es","se","de","ess","ds","see","sed","ese","ded","des","eed","sse","dd","ses","ssed","esse","dde","dee","sses"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",140314],"tlw":["we",33258],"lp":["ad","we","da","ew","ead","eas","ade","dea","ase","wee","sea","wed","swe","wea","asse","ease","add","ews","eade","essa"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",55910],"tlw":["t",670],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",371419],"tlw":["at",51085],"lp":["at","ta","fa","ff","ft","af","att","aft","tat","fat","aff","tta","atta","tf","taf","taff","ata","ffa","affa","atf"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",260669],"tlw":["c",872],"lp":["st","ct","ts","sc","cc","tc","sts","cts","cs","tst","cst","tts","stc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",118675],"tlw":["fact",3233],"lp":["ca","ac","sta","act","tw","ast","fac","cat","acc","cas","stat","wat","sat","atc","fact","tac","sca","watc","sf","fas"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",558051],"tlw":["tree",670],"lp":["er","re","te","et","ere","rt","tr","ter","rr","tte","ree","ett","tter","tre","ret","eet","ert","ette","ete","rte"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",265629],"tlw":["are",29172],"lp":["ar","ra","fe","fr","rea","ear","are","ate","ef","art","eat","tra","rat","fte","reat","era","ffe","arr","afte","fter"],"rp":[]},"14":{"input":[2,3,4],"tlp":["ce",144944],"tlw":["set",3472],"lp":["ce","rs","ec","ers","ted","rd","res","est","red","der","cr","ect","ste","dr","str","rc","ces","rst","rec","rse"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["wer",47082],"tlw":["were",34909],"lp":["wer","were","ard","ace","war","car","eca","ars","eac","read","rac","ears","ated","wr","ward","star","twe","stra","crea","reas"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",20957],"trw":["n",169],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",578917],"trp":["na",51349],"tlw":["an",29559],"lp":["an","ann","ana","anna","aq","aan","anq"],"rp":["na","nan","nna","nq","nann"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",9321],"trp":["ns",85305],"trw":["j",365],"lp":["sn"],"rp":["ns","nj","nns"]},"19":{"input":[1,2,5],"tlp":["wn",31110],"trp":["ja",7328],"tlw":["san",544],"trw":["jaw",167],"lp":["wn","ans","wan","san","asn","answ","wasn","aj","sq","awn","asan","sna","wns","anw"],"rp":["ja","nsw","jan","nw","nsa","nwa"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",361122],"trp":["ne",208843],"tlw":["eye",1504],"trw":["ye",442],"lp":["en","ey","een","ene","eye","enn","enne","eny","enny"],"rp":["ne","ye","ny","nee","nne","ney","yn","nen","nny","yee","yne"]},"21":{"input":[1,3,5],"tlp":["ay",87083],"trp":["yea",12043],"tlw":["any",10758],"trw":["nay",83],"lp":["ay","any","ean","eq","ane","aye","anne","ena","xan","exan","anx","eane","enan","enea"],"rp":["yea","nea","nex","ya","nx","yan"]},"22":{"input":[2,3,5],"tlp":["end",27020],"trp":["nd",415919],"tlw":["eyes",5472],"trw":["need",4397],"lp":["end","dy","den","sen","dn","ens","sy","ense"],"rp":["nd","ned","ys","nde","nes","nds","ness","je","yes","nse","need","nded"]},"23":{"input":[1,2,3,5],"tlp":["and",307129],"trp":["new",18090],"tlw":["and",266855],"trw":["new",10172],"lp":["and","way","day","ays","say","wen","ways","ady","ands","away","eady","ween","dan","days","ande","says","sand"],"rp":["new","nda","nswe"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",3003],"trp":["nt",218499],"tlw":["b",695],"lp":["bt","tn","bb","tb"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ab",55519],"trp":["nat",11510],"tlw":["fan",245],"lp":["ab","ba","ant","tan","tant","tab","ban","bab","bat","fan","batt","anta","fant","abb"],"rp":["nat","nf","nta","nab","nfa","nant"]},"26":{"input":[2,4,5],"tlp":["bs",6980],"trp":["nc",79565],"tlw":["bc",95],"lp":["bs","bj","sb","bst","bts","bc","bsc","bbs","cn","cb","cbs","stn"],"rp":["nc","nts","nst","nsc","nct","ncts"]},"27":{"input":[1,2,4,5],"tlp":["can",27607],"trp":["nsta",3211],"tlw":["can",15149],"lp":["can","anc","stan","bac","want","tanc","bas","ants","cann","abs","sba","sban","stab","sant","cq","acq","cans"],"rp":["nsta","jac","nanc"]},"28":{"input":[3,4,5],"tlp":["be",175052],"trp":["nte",31075],"tlw":["be",44932],"trw":["yet",4449],"lp":["be","ent","ry","ty","rn","by","br","ery","ten","ren","bee","been","ber","rne","ern","bet"],"rp":["nte","ner","nter","ntr"]},"29":{"input":[1,3,4,5],"tlp":["ran",19074],"trp":["year",11125],"tlw":["ran",1611],"trw":["next",4617],"lp":["ran","ary","bef","arn","bea","ante","earn","bra","brea","aren","tran","ften","anyt","bar","rtan","req"],"rp":["year","nera","next","near"]},"30":{"input":[2,3,4,5],"tlp":["enc",25606],"trp":["nce",54473],"tlw":["best",3733],"lp":["enc","ence","bec","ents","cen","cent","rned","dent","sent","bes","renc","bed","cy","tend"],"rp":["nce","nder","nted","jec","ject","nces"]},"31":{"input":[1,2,3,4,5],"tlw":["went",6413],"trw":["years",7833],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",1762],"trw":["i",117501],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",104869],"trp":["ia",38456],"tlw":["aziz",61],"lp":["ai","az","za","zi","azi","zz","azz","zza","ziz","aziz"],"rp":["ia","iz","iza","izi","izz","izza","iai"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",120170],"trp":["is",263616],"trw":["is",60295],"lp":["si","ssi","sk","sis","ski","sks","ssis"],"rp":["is","ki","ik","ks","isi","iss","issi","isk","kis","kiss","iki","isis","isks"]},"35":{"input":[1,2,6],"tlp":["wi",119378],"trp":["ka",3991],"tlw":["ask",2497],"trw":["kaa",57],"lp":["wi","ak","sai","ask","asi","aki","wis","assi","wai","ais","sia","swi","ssia","wak","asks","aski","siz","asis"],"rp":["ka","isa"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",51232],"trp":["ie",85987],"lp":["ei","eei"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",9545],"trp":["ize",5603],"tlw":["xiii",65],"trw":["ix",80],"lp":["ze","xi","exi","aze","ez","eez","eiz","eze","eeze","eize","xie","axi","zei","ezi","eezi","eizi"],"rp":["ize","ix","ixe","ixi"]},"38":{"input":[2,3,6],"tlp":["di",96016],"trp":["id",100069],"tlw":["did",12252],"trw":["kids",1451],"lp":["di","did","sid","side","dis","esi","edi","die","ek","eek","ske","essi"],"rp":["id","ke","ide","ike","ked","ies","ied","ise"]},"39":{"input":[1,2,3,6],"tlp":["ake",27987],"trp":["idea",4816],"tlw":["said",23960],"trw":["idea",2885],"lp":["ake","aid","said","eak","aske","adi","dia","akes","week","six","zed","eadi","easi","edia","xis","aise"],"rp":["idea","iew","ized","ida"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",213739],"trp":["it",311028],"tlw":["tv",551],"trw":["it",92474],"lp":["ti","vi","tiv","tti","tit","vit","tivi","viv","titi","ttit","viti","tv"],"rp":["it","iv","iti","itt","ivi","itti","itiv","ivit"]},"41":{"input":[1,4,6],"tlp":["fi",67126],"trp":["if",58122],"tlw":["fit",689],"trw":["if",25154],"lp":["fi","av","ati","va","tai","ffi","avi","ait","fai","tia","tati","ativ","vat","tif"],"rp":["if","iff","ita","ift","iat","ifi"]},"42":{"input":[2,4,6],"tlp":["ck",51278],"trp":["ic",118179],"tlw":["sit",1264],"trw":["its",10155],"lp":["ck","ci","sti","cti","tic","sit","cit","vis","vic","sist","sic","ctiv","visi","tis"],"rp":["ic","ist","its","ick","ici","ict"]},"43":{"input":[1,2,4,6],"tlp":["wit",77056],"trp":["ica",19163],"tlw":["wait",1256],"trw":["isaac",209],"lp":["wit","ack","tak","fic","cia","acti","ffic","wait","tica","sati","cati","wif","taki","fici","aci"],"rp":["ica","ista","icat","ific","icia"]},"44":{"input":[3,4,6],"tlp":["ve",240401],"trp":["ir",91496],"tlw":["ever",4714],"trw":["ive",85],"lp":["ve","ri","ver","ev","eve","ever","eir","rie","eri","rit","rv","tri","rri","tive","erv","rti"],"rp":["ir","ive","ite","ire"]},"45":{"input":[1,3,4,6],"tlp":["ave",49806],"trp":["ife",12017],"tlw":["five",2604],"lp":["ave","fir","rai","air","ari","fri","arri","frie","rati","arti","ria","eav","trai","rtai","fie","eave"],"rp":["ife","iffe","ief","iate"]},"46":{"input":[2,3,4,6],"tlp":["rk",28978],"trp":["ice",25015],"tlw":["tried",2205],"lp":["rk","ved","ves","ric","ris","eci","ecti","serv","esti","ried","cri","rke","cke","vid","ties","vers"],"rp":["ice","irs","irst","iste"]},"47":{"input":[1,2,3,4,6],"tlw":["first",11244],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",644105],"trw":["in",155002],"lp":[],"rp":["in","hi","ni","hin","nin","ini","inn","nni","inin","hn","nnin","inni","nh","hni","inh","hini","hnn","ih"]},"49":{"input":[1,5,6],"tlp":["ain",43995],"trp":["ha",357027],"tlw":["ah",458],"trw":["han",268],"lp":["ain","ani","ah","aini","zin","anin","aniz","azin"],"rp":["ha","han","ina","ian","hai","niz","nia","iq","inan","niza","nha","niq"]},"50":{"input":[2,5,6],"tlp":["sh",119750],"trp":["his",109386],"tlw":["skin",661],"trw":["his",69304],"lp":["sh","sin","shi","ssin"],"rp":["his","kin","kn","nk","ins","ish","ink","nsi","hink","nis","nki","nkin","hs","nish","inki","insi"]},"51":{"input":[1,2,5,6],"tlp":["wh",148489],"trp":["has",13193],"tlw":["wish",1198],"trw":["has",11125],"lp":["wh","whi","wha","win","sha","ains","akin","ank","ash","wish","ashi","anks","wash","sian","anis","asin","whis"],"rp":["has","hank","ians"]},"52":{"input":[3,5,6],"tlp":["ein",10146],"trp":["he",1036192],"tlw":["eh",128],"trw":["he",92135],"lp":["ein","eh","eni","enin","ehi","ehin"],"rp":["he","hen","hey","ine","hei","ien","hy","yi","yin","hee","hie","nie","nei","inne"]},"53":{"input":[1,3,5,6],"tlp":["aine",5046],"trp":["hea",22882],"tlw":["annie",159],"trw":["yeah",918],"lp":["aine","ayi","ayin","eha","eani","zen","anie","ahe","anxi","ahea","eah","zy","zine","azy","xh","exh"],"rp":["hea","nize","nxi","yeah"]},"54":{"input":[2,3,5,6],"tlp":["she",58316],"trp":["ind",31046],"tlw":["she",45928],"trw":["kind",3481],"lp":["she","din","didn","shed"],"rp":["ind","hes","hed","ndi","hese","ines","ined","iend","iden","idn","kne","ndin","ken","nsid","ishe","indi"]},"55":{"input":[1,2,3,5,6],"tlw":["when",27718],"trw":["had",63389],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["th",1104883],"trp":["ith",80740],"tlw":["bit",1490],"trw":["hit",1079],"lp":["th","thi","thin","tin","bi","vin","ttin","bit"],"rp":["ith","ht","int","nti","ib","nv","nit","hit","inv","ntin","nth","ivin"]},"57":{"input":[1,4,5,6],"tlp":["tha",132122],"trp":["hat",148416],"tlw":["that",110865],"trw":["hat",521],"lp":["tha","that","ath","fin","than","tain","avin","fath","aint","van","fina","atin","abi","fini"],"rp":["hat","hav","inf","nati","havi","ntai"]},"58":{"input":[2,4,5,6],"tlp":["ch",138742],"trp":["ich",25423],"tlw":["this",36089],"trw":["nick",237],"lp":["ch","this","chi","tch","sib","chin","sch","ssib","stin","sinc","cin"],"rp":["ich","hic","hich","inc","inst","nch","nci","nic","hts"]},"59":{"input":[1,2,4,5,6],"tlw":["with",67032],"trw":["jack",1623],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["the",718961],"trp":["her",160213],"tlw":["the",506536],"trw":["her",47940],"lp":["the","ther","they","ven","thei","very","rin","thr","even","then","eth","enti","rien"],"rp":["her","here","heir","hr","ity","inte","nev"]},"61":{"input":[1,3,4,5,6],"tlw":["father",3696],"trw":["have",35739],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["these",9773],"trw":["interest",1336],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["where",9655],"trw":["heard",3016],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",93108],"trw":["o",531],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",915],"trp":["oa",14939],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",117437],"trp":["os",70799],"tlw":["so",27040],"lp":["so","soo","sso"],"rp":["os","oss","oos","oso"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",92580],"trp":["ow",122368],"tlw":["wow",113],"lp":["wo","aso","woo","asso","swo","wso","awso","soa","aos","wow","awo","sow"],"rp":["ow","ows","owa","oas","osa","ossa","owo"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",22601],"trp":["oe",10755],"trw":["-",1362],"lp":["eo","e-"],"rp":["oe","o-","-e","-o"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",296],"trp":["ox",1874],"lp":["xo","exo","e-a","axo"],"rp":["ox","oxe","-a"]},"70":{"input":[2,3,7],"tlp":["do",77376],"trp":["od",44403],"tlw":["do",18689],"trw":["odd",416],"lp":["do","doe","does","doo","eso","esso","edo"],"rp":["od","ose","ood","oes","ode","osed","odd","osse","ods","oose","oods","odde","oses"]},"71":{"input":[1,2,3,7],"tlp":["dow",14691],"trp":["owe",15537],"tlw":["wood",515],"trw":["owed",149],"lp":["dow","easo","ado","wood","dows","adow","sado","ewo"],"rp":["owe","owed","oad","owd","oda","owde","owds","-da","o-da","oads","oade","oxes"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",350815],"trp":["ot",133805],"tlw":["to",249163],"trw":["otto",67],"lp":["to","go","too","goo","got","gg","tog","gt","tto","gott","tot","gto"],"rp":["ot","og","ott","oot","oto","otto","oog","otog"]},"73":{"input":[1,4,7],"tlp":["fo",133745],"trp":["of",272457],"tlw":["ago",1471],"trw":["of",245539],"lp":["fo","ag","ga","aga","foo","gat","tag","ago","ato","ffo","goa","foot","gag","agg","tota"],"rp":["of","off","oft","oat","ota"]},"74":{"input":[2,4,7],"tlp":["co",161789],"trp":["oc",25929],"tlw":["cost",675],"lp":["co","sto","gs","cto","soc","sco","cco","stoo","cog","coo","cos","cost","cot","ssoc"],"rp":["oc","ost","occ","oct","ots","octo"]},"75":{"input":[1,2,4,7],"tlp":["two",12798],"trp":["oac",2483],"tlw":["two",11667],"lp":["two","tow","acco","towa","coa","sag","foc","sof","ssag","soft","acto","stag","cof","coff","coat"],"rp":["oac","oca","occa","oast","ocat"]},"76":{"input":[3,4,7],"tlp":["ro",170933],"trp":["or",314634],"tlw":["get",10986],"trw":["or",34654],"lp":["ro","ge","gr","eg","get","gre","rg","tor","ger","tro","roo","rge","gro","rot"],"rp":["or","ore","ort","ote","oor","orr"]},"77":{"input":[1,3,4,7],"tlp":["for",111436],"trp":["orta",4717],"tlw":["for",70927],"trw":["offer",1014],"lp":["for","fro","age","fore","efo","efor","gra","grea","arg","aro","ega","fort","arge","roa","gar","rag"],"rp":["orta","ora","offe","ofte"]},"78":{"input":[2,3,4,7],"tlp":["eco",13557],"trp":["ord",17538],"tlw":["good",9480],"trw":["order",2602],"lp":["eco","good","cor","stor","ges","rso","erso","cro","ged","ros","dg","rod","dge","door","sor","ross"],"rp":["ord","ors","orde","orc"]},"79":{"input":[1,2,3,4,7],"tlw":["words",3228],"trw":["offered",1121],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",380429],"trw":["on",61313],"lp":[],"rp":["on","ou","no","un","oun","nu","nou","oon","nno","unn","ono","onn","non","noo","noon","noun","uo","nnou","onou","unu"]},"81":{"input":[1,5,7],"tlp":["au",32369],"trp":["ua",23498],"lp":["au","qu","ano","qua","anno","aun","anu","anua","quan","quo"],"rp":["ua","ona","una","nua","oan","nqu","onna","uan","onq","onqu"]},"82":{"input":[2,5,7],"tlp":["su",62257],"trp":["us",124701],"tlw":["soon",3191],"trw":["us",10609],"lp":["su","son","sou","ssu","soon","soun","sun","sus","sons"],"rp":["us","ons","ous","ju","jo","jus","uss","usu","nsu","njo","oj"]},"83":{"input":[1,2,5,7],"tlp":["wou",29932],"trp":["now",32603],"tlw":["won",495],"trw":["now",13343],"lp":["wou","aus","won","ason","sua","sona","asu","assu","ajo","squ","squa","woun"],"rp":["now","own","nown","usa","usua","usan","ousa","nows"]},"84":{"input":[3,5,7],"tlp":["eno",5765],"trp":["yo",112940],"trw":["you",68463],"lp":["eno","enou","eu","eon","eone"],"rp":["yo","you","one","ue","oy","yon","youn","yone","oney","uy","uen","oye","nue","une","onne"]},"85":{"input":[1,3,5,7],"tlp":["que",9630],"trp":["oya",1710],"tlw":["anyone",1715],"lp":["que","equ","eau","eque","quen","anyo","quee","equa","xu","exu","xua","exua","aneo","xon"],"rp":["oya","unex","ux","nque","uxu","unea"]},"86":{"input":[2,3,5,7],"tlp":["du",19747],"trp":["und",37128],"tlw":["done",3602],"trw":["use",3572],"lp":["du","don","done","esu"],"rp":["und","use","ound","ud","ond","unde","ues","ouse","used","ody","ude","ndo","odu","onde","udd","ones"]},"87":{"input":[1,2,3,5,7],"tlw":["down",11247],"trw":["owned",326],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bu",70306],"trp":["ng",301290],"tlw":["but",49620],"trw":["not",43106],"lp":["bu","bo","tu","but","bou","bout","gu","gn"],"rp":["ng","ut","out","not","ug","oug","ong","ob","nto","ont","unt","ub"]},"89":{"input":[1,4,5,7],"tlp":["abo",26472],"trp":["uf",3979],"tlw":["about",23108],"lp":["abo","fu","abou","ang","fou","gan","aug","tua","atu","anot","foun","aut"],"rp":["uf","onf","uff","natu","nfo","nag","oba","uat"]},"90":{"input":[2,4,5,7],"tlp":["con",43239],"trp":["uc",39944],"tlw":["cut",1451],"trw":["just",14589],"lp":["con","cou","cu","suc","cons","cont","stu","coun","bus","cus","ctu","conc"],"rp":["uc","ust","just","ngs","onc","unc","uct","job"]},"91":{"input":[1,2,4,5,7],"tlw":["town",2110],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["rou",33045],"trp":["ur",136165],"tlw":["turn",2317],"trw":["your",20504],"lp":["rou","ru","tur","roug","gen","ture","roun","tru","turn","ron","bro","eng"],"rp":["ur","our","ure","your","nge","urn","ute","nger"]},"93":{"input":[1,3,4,5,7],"tlw":["before",10203],"trw":["often",3952],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["course",3730],"trw":["once",5524],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["because",9879],"trw":["understand",2238],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["ll",183975],"trw":["oil",657],"lp":[],"rp":["ll","li","io","il","lo","ol","ill","oi","loo","oll","lli","ili","llo","oli","ool","illi","olo","ollo","lio","llio"]},"97":{"input":[1,6,7],"tlp":["al",228009],"trp":["la",103279],"tlw":["all",30772],"trw":["la",689],"lp":["al","all","ali","ail","alo","allo","ala","aliz","alli"],"rp":["la","ial","lai","lia","lla","liz","iall","ila","olla","oal","ola"]},"98":{"input":[2,6,7],"tlp":["sio",15825],"trp":["ok",35246],"tlw":["skills",834],"trw":["look",5477],"lp":["sio","sl","ssio","sol","sil"],"rp":["ok","ls","ook","lik","look","lk","los","lis","lso","osi","ossi","lls","oki","kil","isio"]},"99":{"input":[1,2,6,7],"tlp":["wil",18445],"trp":["low",16681],"tlw":["will",14271],"trw":["low",1274],"lp":["wil","will","als","alk","also","wal","alw","alwa","walk","wl","wall"],"rp":["low","las","llow","lw","lwa","owi","lass","owl","law"]},"100":{"input":[3,6,7],"tlp":["el",142952],"trp":["le",213808],"tlw":["el",99],"trw":["lie",725],"lp":["el","ell","eli","eel","ele","elie","elo","elli","eeli","ello","elle"],"rp":["le","lle","ile","lie","ole","olle","ille","lee","iel"]},"101":{"input":[1,3,6,7],"tlp":["eal",18892],"trp":["lea",26849],"tlw":["alex",152],"lp":["eal","alle","ale","ela","eall","eali","aile","alex","eale","eliz","xio","elea","ael"],"rp":["lea","lex","lize","lexa","oze","llea","lexi"]},"102":{"input":[2,3,6,7],"tlp":["sel",25483],"trp":["ld",104617],"tlw":["else",2789],"trw":["like",19390],"lp":["sel","dl","els","eld","del","dle"],"rp":["ld","like","old","led","les","oke","lled","ild","less","oked","ooke","lose","ldi","lde"]},"103":{"input":[1,2,3,6,7],"tlw":["well",8952],"trw":["lead",1050],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["tio",72429],"trp":["ig",72061],"tlw":["till",1036],"trw":["lot",2713],"lp":["tio","gi","tl","gl","til","vo","ttl","till","giv"],"rp":["ig","ov","lt","lit","lig","liv","litt","ittl","lv","itio","oti"]},"105":{"input":[1,4,6,7],"tlp":["atio",33167],"trp":["lf",21773],"tlw":["fall",1195],"lp":["atio","tal","fl","gai","agai","alt","val","fol","gla","fig","flo","foll","agi","fil","alit"],"rp":["lf","lat","lif","offi","lati"]},"106":{"input":[2,4,6,7],"tlp":["cl",31724],"trp":["lic",9087],"tlw":["still",7621],"trw":["lost",2029],"lp":["cl","ctio","col","stil","sig","clo","took","clos","stio","cov","coll","soci","ctl"],"rp":["lic","ock","osit","loc","oic","oci","list"]},"107":{"input":[1,2,4,6,7],"tlw":["call",2856],"trw":["last",4981],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rl",25465],"trp":["ove",39462],"tlw":["tell",4528],"trw":["over",12910],"lp":["rl","tle","tel","ttle","rel","rig","vel","tell","give","rio","elt","rov"],"rp":["ove","over","let","ori","lve","live","orl","love"]},"109":{"input":[1,3,4,6,7],"tlw":["felt",4669],"trw":["life",8740],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["told",5605],"trw":["lives",1641],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["work",8749],"trw":["least",2856],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ho",160810],"trw":["oh",2847],"lp":[],"rp":["ho","ul","ion","oul","hou","ui","lin","lu","nl","hu","lon","oin","hil","onl","hol","iou","uni","houl","ull","hoo"]},"113":{"input":[1,5,6,7],"tlp":["qui",11723],"trp":["lan",16797],"tlw":["annual",207],"trw":["hall",950],"lp":["qui","alon","alu","qual","ainl","aul"],"rp":["lan","nal","ual","onal","hal","iona","uall","ula","hall","inal","lain","lau","nall","lian"]},"114":{"input":[2,5,6,7],"tlp":["sho",24544],"trp":["kno",19117],"tlw":["soul",950],"trw":["john",1863],"lp":["sho","sion","shou","sul"],"rp":["kno","ions","hos","ious","usi","hous","usin","onsi","lish","hus","okin","ush","lus","lkin","usl","ousl"]},"115":{"input":[1,2,5,6,7],"tlw":["who",23669],"trw":["how",14162],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["ely",17170],"trp":["ly",122921],"trw":["only",13824],"lp":["ely","elin","enl"],"rp":["ly","lly","nly","only","hel","ily","len","hile","line","lue","hole","lone","loy","hone","ully","llen","ule"]},"117":{"input":[1,3,5,6,7],"tlw":["alone",2184],"trw":["lay",1482],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["should",7178],"trw":["house",4935],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["would",27522],"trw":["usually",1445],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["gh",90668],"trp":["ing",245338],"tlw":["thought",7112],"trw":["into",18343],"lp":["gh","tion","ght","bl","tho","ting","thou"],"rp":["ing","igh","oth","ugh","ight","hing","ough","ning","into","ught","houg","long","ling"]},"121":{"input":[1,4,5,6,7],"tlw":["again",7165],"trw":["having",3594],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["such",8032],"trw":["looking",3174],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["without",5841],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["through",8798],"trw":["other",13909],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["another",6638],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["could",18061],"trw":["others",3864],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["already",3329],"trw":["however",3319],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",37015],"trw":["p",765],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",46764],"trp":["pa",72065],"trw":["pa",273],"lp":["ap","app","apa","appa"],"rp":["pa","pap","ppa","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",40374],"trp":["ps",13734],"lp":["sp","ssp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",3930],"trp":["pas",8500],"tlw":["sap",81],"trw":["pass",1068],"lp":["spa","aps","sap","asp","sapp","wsp","wspa","spap","assp"],"rp":["pas","pass","pw","pwa","paw","paws"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",39298],"trp":["pe",115056],"trw":["'",14271],"lp":["ep","e'","eep","epe","epp","eppe","eepe"],"rp":["pe","ppe","pee","''","'e","p'"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["xp",16071],"trp":["pea",10889],"lp":["xp","exp","appe","xpe","expe","ape","epa","eap","epea","xpa","expa","a'","eape","a'a","x'","ax'"],"rp":["pea","ppea","pape","'a"]},"134":{"input":[2,3,8],"tlp":["spe",18659],"trp":["'s",36901],"tlw":["deep",1465],"trw":["'s",213],"lp":["spe","e's","esp","e'd","dep","espe","deep","sep","desp","depe","spee","eps","d'","d's"],"rp":["'s","'d","ped","pped","pes","pse"]},"135":{"input":[1,2,3,8],"tlp":["we'",3765],"trp":["'w",281],"tlw":["we'd",695],"trw":["passed",1693],"lp":["we'","spea","depa","sepa","aspe","ewsp","we'd","weap","aped","weep","wep","apes","apse","swep","a's","xped","espa","dpa"],"rp":["'w","peas"]},"136":{"input":[4,8],"tlp":["tp",256],"trp":["pt",19963],"lp":["tp","ttp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",4201],"trp":["pat",6411],"tlw":["tap",153],"trw":["pat",193],"lp":["apt","apta","tap","tapp"],"rp":["pat","pta","patt","pf","ptat"]},"138":{"input":[2,4,8],"trp":["pts",388],"lp":[],"rp":["pts","pst","ptc","pc"]},"139":{"input":[1,2,4,8],"tlp":["cap",5240],"trp":["pac",3604],"tlw":["cap",258],"trw":["past",2353],"lp":["cap","capt","spac","scap","capa","apac","spat","fsp","ffsp","caps"],"rp":["pac","past","pact","patc","psta","pats"]},"140":{"input":[3,4,8],"tlp":["t'",15643],"trp":["pr",76723],"trw":["per",611],"lp":["t'","rep","ept","rp","tep","r'","er'","rpr","re'","ere'"],"rp":["pr","'t","per","pre","'r","'re","pte","ppr","pet","pret"]},"141":{"input":[1,3,4,8],"tlp":["at'",5623],"trp":["par",26731],"tlw":["appear",816],"trw":["part",4589],"lp":["at'","xper","epar","rap","appr","aper","apte","repa","xpr","expr","xpre","apar"],"rp":["par","part","pare","pear","pra","perf","pera","para"]},"142":{"input":[2,3,4,8],"tlp":["t's",15472],"trp":["pres",13007],"tlw":["step",1154],"trw":["press",708],"lp":["t's","spec","cep","cept","resp","step","r's","er's","re's","spr","sper","ccep","teps"],"rp":["pres","pec","pers","pect","perc","prec","pted"]},"143":{"input":[1,2,3,4,8],"tlw":["we're",1513],"trw":["perfect",1065],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mp",43386],"trw":["m",1273],"lp":[],"rp":["mp","mm","nm","mn","pm","np"]},"145":{"input":[1,5,8],"tlp":["am",72035],"trp":["ma",137500],"tlw":["am",4235],"trw":["man",9572],"lp":["am","amp","ama","apan","amm","ampa","amn","aman"],"rp":["ma","man","pan","mpa","nam","mpan","mana","mma","mann","mman","nap","map"]},"146":{"input":[2,5,8],"tlp":["sm",13242],"trp":["ms",20491],"trw":["ms",185],"lp":["sm","ssm"],"rp":["ms","nsp","mps","nsm","mns","mms"]},"147":{"input":[1,2,5,8],"tlp":["sam",7005],"trp":["mas",4399],"tlw":["sam",133],"trw":["mass",521],"lp":["sam","sma","ams","span","ansp","amps","snap","asm","assm","ssma"],"rp":["mas","maj","mass","jap","japa","mans","jam","mw","mpas","pans"]},"148":{"input":[3,5,8],"tlp":["em",87362],"trp":["me",235102],"tlw":["enemy",1028],"trw":["my",40423],"lp":["em","eme","eem","emp","emen","eeme","emem"],"rp":["me","my","n'","men","pen","mem","'m","y'","mme","ppen","pene","py","mee"]},"149":{"input":[1,3,5,8],"tlp":["ame",34012],"trp":["may",9648],"tlw":["an'",417],"trw":["many",8068],"lp":["ame","ema","eam","an'","xam","exam","eman","appy","xamp","amen","xpen"],"rp":["may","mea","many","mean","name","pany","pay","pane","man'"]},"150":{"input":[2,3,5,8],"tlp":["dn'",13235],"trp":["med",15366],"tlw":["seemed",4232],"trw":["jem",320],"lp":["dn'","seem","sn'","ems","emed","spen","dem","dm","emse","esn'"],"rp":["med","mes","mse","mys","pend","myse","y's","n's","mmed","pens"]},"151":{"input":[1,2,3,5,8],"tlw":["same",6718],"trw":["made",9696],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",4765],"trp":["mb",19208],"lp":["tm","bm"],"rp":["mb","mpt","ntm","pb","mt","mpb"]},"153":{"input":[1,4,5,8],"tlp":["fam",7099],"trp":["mat",11909],"trw":["mba",123],"lp":["fam","amb","tma","tnam","atm","apab","amat","bam","bama","amba","tam"],"rp":["mat","matt","mf","mba","mpat","pant","pab","mant","mbat"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["stm",1138],"trp":["mst",943],"lp":["stm"],"rp":["mst","mc","mbs","mpts","mcc","mcs"]},"155":{"input":[1,2,4,5,8],"tlw":["camp",660],"trw":["pants",299],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",33028],"trp":["n't",37419],"tlw":["remember",2277],"trw":["mr",4133],"lp":["rm","rem","emb","erm","tem","embe","reme","rme","temp","tme","tmen"],"rp":["n't","ment","met","mer","mbe","mber","mr","memb","meet"]},"157":{"input":[1,3,4,5,8],"tlw":["army",2073],"trw":["matter",2479],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["spent",1640],"trw":["mrs",2541],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["came",6889],"trw":["parents",2027],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",28303],"lp":[],"rp":["pi","ip","ppi","ipp","ippi","pip","ipi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["appi",2174],"trp":["pai",6465],"trw":["pizza",143],"lp":["appi","api"],"rp":["pai","ipa","pia","piz","pizz","iap","ippa"]},"162":{"input":[2,6,8],"tlp":["spi",5949],"trp":["ips",2652],"tlw":["sip",104],"trw":["piss",63],"lp":["spi","sip","ssip","sipp","skip","spis"],"rp":["ips","isp","pis","kp","pk","pki","piss","kip","psi","kipp"]},"163":{"input":[1,2,6,8],"tlp":["spai",637],"trp":["isap",1148],"lp":["spai","wip","aspi","apk","apki","wipi","apis"],"rp":["isap","ispa","kpa"]},"164":{"input":[3,6,8],"tlp":["epi",1744],"trp":["i'",14185],"trw":["'i",461],"lp":["epi","eepi","eppi"],"rp":["i'","pie","ippe","ipe","'i","pipe","ppie","ip'"]},"165":{"input":[1,3,6,8],"tlp":["epai",321],"trp":["iz'",67],"lp":["epai","z'","eapi"],"rp":["iz'"]},"166":{"input":[2,3,6,8],"tlp":["disp",1152],"trp":["keep",4608],"tlw":["spies",180],"trw":["keep",3496],"lp":["disp","espi","dip","spie","epis"],"rp":["keep","i'd","kep","pid","ispe","pied","pies","pedi","iped","ip's","k'","k's","ipes","kesp","psid"]},"167":{"input":[1,2,3,6,8],"tlw":["speak",1583],"trw":["paid",1096],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",610],"trp":["pti",3889],"tlw":["tip",221],"trw":["pit",127],"lp":["tip","tipp"],"rp":["pti","pit","ipt","ipti"]},"169":{"input":[1,4,6,8],"tlp":["apit",605],"trp":["pati",1779],"lp":["apit"],"rp":["pati","pita","ptai","ipat","pav","ptia"]},"170":{"input":[2,4,6,8],"tlp":["cip",2669],"trp":["pic",5474],"tlw":["tips",128],"trw":["pick",801],"lp":["cip","spit","spic","scip","tips","ckp"],"rp":["pic","pick","pict","icip","pici","pitc","pist","pics","ptic"]},"171":{"input":[1,2,4,6,8],"trw":["pack",385],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",2627],"trp":["pri",13942],"tlw":["trip",647],"trw":["i've",2219],"lp":["rip","rpri","epti","trip","ript","e'v","e've"],"rp":["pri","it'","peri","'v","'ve","pir","i'v","i've","priv","piri","prev","pite","peti"]},"173":{"input":[1,3,4,6,8],"tlw":["repair",185],"trw":["private",1010],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["despite",946],"trw":["it's",8558],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["we've",750],"trw":["paris",1353],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["im",93559],"trw":["him",28423],"lp":[],"rp":["im","mi","him","min","ph","imp","pin","hip","imi","ppin","mmi","imm","phi","mini","hm","nim","mmin","imin","pini","mpi"]},"177":{"input":[1,5,6,8],"tlp":["ami",8211],"trp":["hap",14305],"tlw":["aim",231],"trw":["pain",1250],"lp":["ami","aim","amin","aph","anim","amaz"],"rp":["hap","happ","ima","mai","main","pain","ham","pani","iam","mina","nima","pha","maz","impa"]},"178":{"input":[2,5,6,8],"tlp":["ship",5146],"trp":["mis",8985],"tlw":["ship",877],"trw":["miss",1642],"lp":["ship","sim","smi","simp","simi","shm","spin"],"rp":["mis","ims","hims","miss","hips","ism","mik","insp","ishm","hisp","nspi","jim","km"]},"179":{"input":[1,2,5,6,8],"tlw":["spanish",469],"trw":["mask",160],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",2800],"trp":["ime",28758],"trw":["i'm",6537],"lp":["emi","emin","epin","eph"],"rp":["ime","hem","he'","i'm","mine","hey'","phy","imme","pine","imen","phe","peni","hme","in'","hmen","meh"]},"181":{"input":[1,3,5,6,8],"tlw":["examine",179],"trw":["happy",1895],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["she'd",1495],"trw":["mind",4439],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["shame",796],"trw":["make",9390],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",28120],"trp":["mit",4914],"tlw":["tim",128],"trw":["ibm",109],"lp":["tim","timi","bmi"],"rp":["mit","mbi","mitt","mmit","imit","mbin","ntim","imb","mpti","ptin","mbit","intm","mith","itm","mitm","ptim","pth"]},"185":{"input":[1,4,5,6,8],"trw":["path",946],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",320],"trw":["pitch",164],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["captain",1078],"trw":["match",450],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["them",21593],"trw":["prevent",380],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["remain",740],"trw":["haven't",641],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["didn't",7051],"trw":["isn't",1565],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["that's",4282],"trw":["perhaps",2737],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",68607],"trw":["pop",223],"lp":[],"rp":["po","op","ppo","opp","oppo","poo","pop","oop","opo","popp"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",1508],"trp":["opa",186],"lp":["apo","appo"],"rp":["opa","oap"]},"194":{"input":[2,7,8],"tlp":["spo",7683],"trp":["pos",16560],"lp":["spo","sop","spos","sspo","spoo"],"rp":["pos","poss","ppos","osp","ops","oops","opos","osop","pso"]},"195":{"input":[1,2,7,8],"tlp":["soap",132],"trp":["pow",4845],"tlw":["soap",132],"lp":["soap"],"rp":["pow","posa"]},"196":{"input":[3,7,8],"tlp":["eop",15223],"trp":["peo",15223],"trw":["pope",239],"lp":["eop","epo"],"rp":["peo","peop","ope","oppe","o'","poe","oope","pope","oe'","'o","-p"]},"197":{"input":[1,3,7,8],"tlp":["eapo",649],"trp":["opea",428],"lp":["eapo","xpo","expo"],"rp":["opea","-pa"]},"198":{"input":[2,3,7,8],"tlp":["espo",3005],"trp":["pose",4757],"trw":["possessed",333],"lp":["espo","dop"],"rp":["pose","oped","ospe","o's","osep","opes","od'","od's","o'd","oe's","pod","oss'"]},"199":{"input":[1,2,3,7,8],"tlw":["exposed",267],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",6183],"trp":["pot",2394],"tlw":["top",1822],"trw":["pot",221],"lp":["top","topp","toop"],"rp":["pot","opt","pto","pott","ptop"]},"201":{"input":[1,4,7,8],"tlp":["gap",376],"trp":["pag",1322],"tlw":["gap",204],"trw":["potato",74],"lp":["gap","apto","gapo","atop"],"rp":["pag","pota","opag","paga"]},"202":{"input":[2,4,7,8],"tlp":["stop",3680],"trp":["post",1282],"tlw":["stop",1798],"trw":["post",644],"lp":["stop","cop","spot","tops","cops","coop","copp","gosp","copt","scop"],"rp":["post","poc","pots","pco"]},"203":{"input":[1,2,4,7,8],"tlw":["gaps",71],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",6404],"trp":["pro",33640],"tlw":["report",778],"trw":["poor",1596],"lp":["rop","rope","repo","epor","rpo","ropo","ropp","rpor","roop"],"rp":["pro","por","port","oper","ppor","prop","ppro","prog","poor","prot","orp"]},"205":{"input":[1,3,4,7,8],"tlw":["rapport",98],"trw":["page",587],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["stopped",1419],"trw":["process",1455],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["corporate",363],"trw":["power",3130],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",158331],"trw":["up",23594],"lp":[],"rp":["om","mo","up","mu","pu","um","omp","mon","omm","pon","oom","mom","mpo","mou","upp","oup","upo","upon","uppo","num"]},"209":{"input":[1,5,7,8],"tlp":["amo",4702],"trp":["oma",6690],"trw":["mao",108],"lp":["amo","amon","amou","apon","amu","ampu"],"rp":["oma","ompa","oman","uma","uman","omma","pau","manu","mona","mau","upa","napo","mao","opam"]},"210":{"input":[2,5,7,8],"tlp":["som",32033],"trp":["mos",15768],"tlw":["sum",220],"trw":["jump",350],"lp":["som","sup","supp","sum","spon","summ","smo","susp","ssum"],"rp":["mos","mus","pons","mous","mpos","pus","ups","usp","ums","mons","oms"]},"211":{"input":[1,2,5,7,8],"tlw":["woman",3590],"trw":["mason",79],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emo",6070],"trp":["ome",63421],"trw":["money",3556],"lp":["emo","epu"],"rp":["ome","on'","omen","u'","ou'","you'","open","mome","ume","mone","meo","omeo","meon","memo","omme","umen","ompe","umme"]},"213":{"input":[1,3,5,7,8],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["some",15162],"trw":["opened",1401],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["women",3612],"trw":["paused",403],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",5301],"trp":["mot",10460],"tlw":["tom",762],"trw":["put",5210],"lp":["tom","tum","gm","bom","bomb","tup","ttom"],"rp":["mot","put","umb","pub","mont","numb","mong","omb","mout","mput","upt","putt","ptu"]},"217":{"input":[1,4,5,7,8],"tlw":["among",2526],"trw":["obama",363],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["common",1407],"trw":["most",10396],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["famous",816],"trw":["moscow",341],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["room",5055],"trw":["more",21171],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["from",35952],"trw":["program",634],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["don't",9569],"trw":["person",3411],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["company",2711],"trw":["major",1113],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",68379],"trw":["pool",330],"lp":[],"rp":["pl","opl","lp","poi","pol","pli","poli","plo","ppl","lip","lop","opi","pil","ipl","ppli","ppoi","lipp","oppi","pill","pilo"]},"225":{"input":[1,6,7,8],"tlp":["appl",2216],"trp":["pla",24558],"tlw":["apollo",82],"trw":["lap",242],"lp":["appl","apol","alp"],"rp":["pla","plai","pal","lap","pala","ipal","llap","pola","lapp","ppal","pall","ppla","palo"]},"226":{"input":[2,6,7,8],"tlp":["spok",1763],"trp":["posi",4502],"tlw":["slip",260],"trw":["lips",930],"lp":["spok","spl","slip","spli","spoi","spio"],"rp":["posi","pok","lips","ospi","plis","ispl","ispo","lps","plos","pois","piso","kpl","opk","opki"]},"227":{"input":[1,2,6,7,8],"tlw":["slap",95],"trw":["pillow",134],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["eopl",15223],"trp":["ple",30676],"trw":["people",14668],"lp":["eopl","elp","epl","elop","e'l","e'll","epli"],"rp":["ple","ople","'l","'ll","plie","i'l","i'll","leep","iple","lope","pel","pple","lep"]},"229":{"input":[1,3,6,7,8],"tlw":["apple",631],"trw":["pale",447],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spoke",1285],"trw":["people's",449],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["we'll",807],"trw":["please",985],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["topi",337],"trp":["ptio",2778],"trw":["pilot",266],"lp":["topi","tipl","tpl"],"rp":["ptio","opti","ptl","pig","plit","pov","pilg","plot","ltip","lpt","lpit"]},"233":{"input":[1,4,6,7,8],"tlw":["flip",108],"trw":["plato",120],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["split",254],"trw":["politics",443],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["capital",544],"trw":["political",1085],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["grip",165],"trw":["prove",546],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["april",549],"trw":["plate",447],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["replied",1257],"trw":["police",1092],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["special",1059],"trw":["place",5268],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["mil",16287],"trw":["million",900],"lp":[],"rp":["mil","mpl","hom","lm","omi","poin","ompl","impo","hop","mili","pul","impl","lmo","hum","omin","pho","minu","lim","muni","pull"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["animal",491],"trw":["human",2178],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["shop",667],"trw":["mission",568],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["small",3786],"trw":["plans",687],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["employee",275],"trw":["home",4865],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["example",1694],"trw":["play",1696],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["simply",1710],"trw":["pulled",1252],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["explained",950],"trw":["played",975],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"trw":["might",6921],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",366],"trw":["imagination",438],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["coming",1985],"trw":["much",10233],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["almost",3784],"trw":["making",2931],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["government",1285],"trw":["mother",4253],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["family",3955],"trw":["important",2765],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["something",7615],"trw":["possible",2350],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["especially",1737],"trw":["himself",5632],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",410],"tlw":["a",211837],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",89478],"tlw":["s",2993],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",286499],"tlw":["was",112330],"lp":["as","wa","was","sa","aw","ass","ws","awa","sw","ssa","saw","assa","aws","asa","swa","sas","ww","saa","www","ssas"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",129154],"tlw":["e",471],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",216643],"tlw":["x",233],"lp":["ea","ex","xa","exa","xe","exe","ax","ae","axe","eea"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["ed",326541],"tlw":["see",9997],"lp":["ed","es","se","de","ess","ds","see","sed","ese","ded","des","eed","sse","dd","ses","ssed","esse","dde","dee","sses"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",140314],"tlw":["we",33258],"lp":["ad","we","da","ew","ead","eas","ade","dea","ase","wee","sea","wed","swe","wea","asse","ease","add","ews","eade","essa"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",55910],"tlw":["t",670],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",371419],"tlw":["at",51085],"lp":["at","ta","fa","ff","ft","af","att","aft","tat","fat","aff","tta","atta","tf","taf","taff","ata","ffa","affa","atf"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",260669],"tlw":["c",872],"lp":["st","ct","ts","sc","cc","tc","sts","cts","cs","tst","cst","tts","stc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",118675],"tlw":["fact",3233],"lp":["ca","ac","sta","act","tw","ast","fac","cat","acc","cas","stat","wat","sat","atc","fact","tac","sca","watc","sf","fas"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",558051],"tlw":["tree",670],"lp":["er","re","te","et","ere","rt","tr","ter","rr","tte","ree","ett","tter","tre","ret","eet","ert","ette","ete","rte"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",265629],"tlw":["are",29172],"lp":["ar","ra","fe","fr","rea","ear","are","ate","ef","art","eat","tra","rat","fte","reat","era","ffe","arr","afte","fter"],"rp":[]},"14":{"input":[2,3,4],"tlp":["ce",144944],"tlw":["set",3472],"lp":["ce","rs","ec","ers","ted","rd","res","est","red","der","cr","ect","ste","dr","str","rc","ces","rst","rec","rse"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["wer",47082],"tlw":["were",34909],"lp":["wer","were","ard","ace","war","car","eca","ars","eac","read","rac","ears","ated","wr","ward","star","twe","stra","crea","reas"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",20957],"trw":["n",169],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",578917],"trp":["na",51349],"tlw":["an",29559],"lp":["an","ann","ana","anna","aq","aan","anq"],"rp":["na","nan","nna","nq","nann"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",9321],"trp":["ns",85305],"trw":["j",365],"lp":["sn"],"rp":["ns","nj","nns"]},"19":{"input":[1,2,5],"tlp":["wn",31110],"trp":["ja",7328],"tlw":["san",544],"trw":["jaw",167],"lp":["wn","ans","wan","san","asn","answ","wasn","aj","sq","awn","asan","sna","wns","anw"],"rp":["ja","nsw","jan","nw","nsa","nwa"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",361122],"trp":["ne",208843],"tlw":["eye",1504],"trw":["ye",442],"lp":["en","ey","een","ene","eye","enn","enne","eny","enny"],"rp":["ne","ye","ny","nee","nne","ney","yn","nen","nny","yee","yne"]},"21":{"input":[1,3,5],"tlp":["ay",87083],"trp":["yea",12043],"tlw":["any",10758],"trw":["nay",83],"lp":["ay","any","ean","eq","ane","aye","anne","ena","xan","exan","anx","eane","enan","enea"],"rp":["yea","nea","nex","ya","nx","yan"]},"22":{"input":[2,3,5],"tlp":["end",27020],"trp":["nd",415919],"tlw":["eyes",5472],"trw":["need",4397],"lp":["end","dy","den","sen","dn","ens","sy","ense"],"rp":["nd","ned","ys","nde","nes","nds","ness","je","yes","nse","need","nded"]},"23":{"input":[1,2,3,5],"tlp":["and",307129],"trp":["new",18090],"tlw":["and",266855],"trw":["new",10172],"lp":["and","way","day","ays","say","wen","ways","ady","ands","away","eady","ween","dan","days","ande","says","sand"],"rp":["new","nda","nswe"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",3003],"trp":["nt",218499],"tlw":["b",695],"lp":["bt","tn","bb","tb"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ab",55519],"trp":["nat",11510],"tlw":["fan",245],"lp":["ab","ba","ant","tan","tant","tab","ban","bab","bat","fan","batt","anta","fant","abb"],"rp":["nat","nf","nta","nab","nfa","nant"]},"26":{"input":[2,4,5],"tlp":["bs",6980],"trp":["nc",79565],"tlw":["bc",95],"lp":["bs","bj","sb","bst","bts","bc","bsc","bbs","cn","cb","cbs","stn"],"rp":["nc","nts","nst","nsc","nct","ncts"]},"27":{"input":[1,2,4,5],"tlp":["can",27607],"trp":["nsta",3211],"tlw":["can",15149],"lp":["can","anc","stan","bac","want","tanc","bas","ants","cann","abs","sba","sban","stab","sant","cq","acq","cans"],"rp":["nsta","jac","nanc"]},"28":{"input":[3,4,5],"tlp":["be",175052],"trp":["nte",31075],"tlw":["be",44932],"trw":["yet",4449],"lp":["be","ent","ry","ty","rn","by","br","ery","ten","ren","bee","been","ber","rne","ern","bet"],"rp":["nte","ner","nter","ntr"]},"29":{"input":[1,3,4,5],"tlp":["ran",19074],"trp":["year",11125],"tlw":["ran",1611],"trw":["next",4617],"lp":["ran","ary","bef","arn","bea","ante","earn","bra","brea","aren","tran","ften","anyt","bar","rtan","req"],"rp":["year","nera","next","near"]},"30":{"input":[2,3,4,5],"tlp":["enc",25606],"trp":["nce",54473],"tlw":["best",3733],"lp":["enc","ence","bec","ents","cen","cent","rned","dent","sent","bes","renc","bed","cy","tend"],"rp":["nce","nder","nted","jec","ject","nces"]},"31":{"input":[1,2,3,4,5],"tlw":["went",6413],"trw":["years",7833],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",1762],"trw":["i",117501],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",104869],"trp":["ia",38456],"tlw":["aziz",61],"lp":["ai","az","za","zi","azi","zz","azz","zza","ziz","aziz"],"rp":["ia","iz","iza","izi","izz","izza","iai"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",120170],"trp":["is",263616],"trw":["is",60295],"lp":["si","ssi","sk","sis","ski","sks","ssis"],"rp":["is","ki","ik","ks","isi","iss","issi","isk","kis","kiss","iki","isis","isks"]},"35":{"input":[1,2,6],"tlp":["wi",119378],"trp":["ka",3991],"tlw":["ask",2497],"trw":["kaa",57],"lp":["wi","ak","sai","ask","asi","aki","wis","assi","wai","ais","sia","swi","ssia","wak","asks","aski","siz","asis"],"rp":["ka","isa"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",51232],"trp":["ie",85987],"lp":["ei","eei"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",9545],"trp":["ize",5603],"tlw":["xiii",65],"trw":["ix",80],"lp":["ze","xi","exi","aze","ez","eez","eiz","eze","eeze","eize","xie","axi","zei","ezi","eezi","eizi"],"rp":["ize","ix","ixe","ixi"]},"38":{"input":[2,3,6],"tlp":["di",96016],"trp":["id",100069],"tlw":["did",12252],"trw":["kids",1451],"lp":["di","did","sid","side","dis","esi","edi","die","ek","eek","ske","essi"],"rp":["id","ke","ide","ike","ked","ies","ied","ise"]},"39":{"input":[1,2,3,6],"tlp":["ake",27987],"trp":["idea",4816],"tlw":["said",23960],"trw":["idea",2885],"lp":["ake","aid","said","eak","aske","adi","dia","akes","week","six","zed","eadi","easi","edia","xis","aise"],"rp":["idea","iew","ized","ida"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",213739],"trp":["it",311028],"tlw":["tv",551],"trw":["it",92474],"lp":["ti","vi","tiv","tti","tit","vit","tivi","viv","titi","ttit","viti","tv"],"rp":["it","iv","iti","itt","ivi","itti","itiv","ivit"]},"41":{"input":[1,4,6],"tlp":["fi",67126],"trp":["if",58122],"tlw":["fit",689],"trw":["if",25154],"lp":["fi","av","ati","va","tai","ffi","avi","ait","fai","tia","tati","ativ","vat","tif"],"rp":["if","iff","ita","ift","iat","ifi"]},"42":{"input":[2,4,6],"tlp":["ck",51278],"trp":["ic",118179],"tlw":["sit",1264],"trw":["its",10155],"lp":["ck","ci","sti","cti","tic","sit","cit","vis","vic","sist","sic","ctiv","visi","tis"],"rp":["ic","ist","its","ick","ici","ict"]},"43":{"input":[1,2,4,6],"tlp":["wit",77056],"trp":["ica",19163],"tlw":["wait",1256],"trw":["isaac",209],"lp":["wit","ack","tak","fic","cia","acti","ffic","wait","tica","sati","cati","wif","taki","fici","aci"],"rp":["ica","ista","icat","ific","icia"]},"44":{"input":[3,4,6],"tlp":["ve",240401],"trp":["ir",91496],"tlw":["ever",4714],"trw":["ive",85],"lp":["ve","ri","ver","ev","eve","ever","eir","rie","eri","rit","rv","tri","rri","tive","erv","rti"],"rp":["ir","ive","ite","ire"]},"45":{"input":[1,3,4,6],"tlp":["ave",49806],"trp":["ife",12017],"tlw":["five",2604],"lp":["ave","fir","rai","air","ari","fri","arri","frie","rati","arti","ria","eav","trai","rtai","fie","eave"],"rp":["ife","iffe","ief","iate"]},"46":{"input":[2,3,4,6],"tlp":["rk",28978],"trp":["ice",25015],"tlw":["tried",2205],"lp":["rk","ved","ves","ric","ris","eci","ecti","serv","esti","ried","cri","rke","cke","vid","ties","vers"],"rp":["ice","irs","irst","iste"]},"47":{"input":[1,2,3,4,6],"tlw":["first",11244],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",644105],"trw":["in",155002],"lp":[],"rp":["in","hi","ni","hin","nin","ini","inn","nni","inin","hn","nnin","inni","nh","hni","inh","hini","hnn","ih"]},"49":{"input":[1,5,6],"tlp":["ain",43995],"trp":["ha",357027],"tlw":["ah",458],"trw":["han",268],"lp":["ain","ani","ah","aini","zin","anin","aniz","azin"],"rp":["ha","han","ina","ian","hai","niz","nia","iq","inan","niza","nha","niq"]},"50":{"input":[2,5,6],"tlp":["sh",119750],"trp":["his",109386],"tlw":["skin",661],"trw":["his",69304],"lp":["sh","sin","shi","ssin"],"rp":["his","kin","kn","nk","ins","ish","ink","nsi","hink","nis","nki","nkin","hs","nish","inki","insi"]},"51":{"input":[1,2,5,6],"tlp":["wh",148489],"trp":["has",13193],"tlw":["wish",1198],"trw":["has",11125],"lp":["wh","whi","wha","win","sha","ains","akin","ank","ash","wish","ashi","anks","wash","sian","anis","asin","whis"],"rp":["has","hank","ians"]},"52":{"input":[3,5,6],"tlp":["ein",10146],"trp":["he",1036192],"tlw":["eh",128],"trw":["he",92135],"lp":["ein","eh","eni","enin","ehi","ehin"],"rp":["he","hen","hey","ine","hei","ien","hy","yi","yin","hee","hie","nie","nei","inne"]},"53":{"input":[1,3,5,6],"tlp":["aine",5046],"trp":["hea",22882],"tlw":["annie",159],"trw":["yeah",918],"lp":["aine","ayi","ayin","eha","eani","zen","anie","ahe","anxi","ahea","eah","zy","zine","azy","xh","exh"],"rp":["hea","nize","nxi","yeah"]},"54":{"input":[2,3,5,6],"tlp":["she",58316],"trp":["ind",31046],"tlw":["she",45928],"trw":["kind",3481],"lp":["she","din","didn","shed"],"rp":["ind","hes","hed","ndi","hese","ines","ined","iend","iden","idn","kne","ndin","ken","nsid","ishe","indi"]},"55":{"input":[1,2,3,5,6],"tlw":["when",27718],"trw":["had",63389],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["th",1104883],"trp":["ith",80740],"tlw":["bit",1490],"trw":["hit",1079],"lp":["th","thi","thin","tin","bi","vin","ttin","bit"],"rp":["ith","ht","int","nti","ib","nv","nit","hit","inv","ntin","nth","ivin"]},"57":{"input":[1,4,5,6],"tlp":["tha",132122],"trp":["hat",148416],"tlw":["that",110865],"trw":["hat",521],"lp":["tha","that","ath","fin","than","tain","avin","fath","aint","van","fina","atin","abi","fini"],"rp":["hat","hav","inf","nati","havi","ntai"]},"58":{"input":[2,4,5,6],"tlp":["ch",138742],"trp":["ich",25423],"tlw":["this",36089],"trw":["nick",237],"lp":["ch","this","chi","tch","sib","chin","sch","ssib","stin","sinc","cin"],"rp":["ich","hic","hich","inc","inst","nch","nci","nic","hts"]},"59":{"input":[1,2,4,5,6],"tlw":["with",67032],"trw":["jack",1623],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["the",718961],"trp":["her",160213],"tlw":["the",506536],"trw":["her",47940],"lp":["the","ther","they","ven","thei","very","rin","thr","even","then","eth","enti","rien"],"rp":["her","here","heir","hr","ity","inte","nev"]},"61":{"input":[1,3,4,5,6],"tlw":["father",3696],"trw":["have",35739],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["these",9773],"trw":["interest",1336],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["where",9655],"trw":["heard",3016],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",93108],"trw":["o",531],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",915],"trp":["oa",14939],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",117437],"trp":["os",70799],"tlw":["so",27040],"lp":["so","soo","sso"],"rp":["os","oss","oos","oso"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",92580],"trp":["ow",122368],"tlw":["wow",113],"lp":["wo","aso","woo","asso","swo","wso","awso","soa","aos","wow","awo","sow"],"rp":["ow","ows","owa","oas","osa","ossa","owo"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",22601],"trp":["oe",10755],"trw":["-",1362],"lp":["eo","e-"],"rp":["oe","o-","-e","-o"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",296],"trp":["ox",1874],"lp":["xo","exo","e-a","axo"],"rp":["ox","oxe","-a"]},"70":{"input":[2,3,7],"tlp":["do",77376],"trp":["od",44403],"tlw":["do",18689],"trw":["odd",416],"lp":["do","doe","does","doo","eso","esso","edo"],"rp":["od","ose","ood","oes","ode","osed","odd","osse","ods","oose","oods","odde","oses"]},"71":{"input":[1,2,3,7],"tlp":["dow",14691],"trp":["owe",15537],"tlw":["wood",515],"trw":["owed",149],"lp":["dow","easo","ado","wood","dows","adow","sado","ewo"],"rp":["owe","owed","oad","owd","oda","owde","owds","-da","o-da","oads","oade","oxes"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",350815],"trp":["ot",133805],"tlw":["to",249163],"trw":["otto",67],"lp":["to","go","too","goo","got","gg","tog","gt","tto","gott","tot","gto"],"rp":["ot","og","ott","oot","oto","otto","oog","otog"]},"73":{"input":[1,4,7],"tlp":["fo",133745],"trp":["of",272457],"tlw":["ago",1471],"trw":["of",245539],"lp":["fo","ag","ga","aga","foo","gat","tag","ago","ato","ffo","goa","foot","gag","agg","tota"],"rp":["of","off","oft","oat","ota"]},"74":{"input":[2,4,7],"tlp":["co",161789],"trp":["oc",25929],"tlw":["cost",675],"lp":["co","sto","gs","cto","soc","sco","cco","stoo","cog","coo","cos","cost","cot","ssoc"],"rp":["oc","ost","occ","oct","ots","octo"]},"75":{"input":[1,2,4,7],"tlp":["two",12798],"trp":["oac",2483],"tlw":["two",11667],"lp":["two","tow","acco","towa","coa","sag","foc","sof","ssag","soft","acto","stag","cof","coff","coat"],"rp":["oac","oca","occa","oast","ocat"]},"76":{"input":[3,4,7],"tlp":["ro",170933],"trp":["or",314634],"tlw":["get",10986],"trw":["or",34654],"lp":["ro","ge","gr","eg","get","gre","rg","tor","ger","tro","roo","rge","gro","rot"],"rp":["or","ore","ort","ote","oor","orr"]},"77":{"input":[1,3,4,7],"tlp":["for",111436],"trp":["orta",4717],"tlw":["for",70927],"trw":["offer",1014],"lp":["for","fro","age","fore","efo","efor","gra","grea","arg","aro","ega","fort","arge","roa","gar","rag"],"rp":["orta","ora","offe","ofte"]},"78":{"input":[2,3,4,7],"tlp":["eco",13557],"trp":["ord",17538],"tlw":["good",9480],"trw":["order",2602],"lp":["eco","good","cor","stor","ges","rso","erso","cro","ged","ros","dg","rod","dge","door","sor","ross"],"rp":["ord","ors","orde","orc"]},"79":{"input":[1,2,3,4,7],"tlw":["words",3228],"trw":["offered",1121],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",380429],"trw":["on",61313],"lp":[],"rp":["on","ou","no","un","oun","nu","nou","oon","nno","unn","ono","onn","non","noo","noon","noun","uo","nnou","onou","unu"]},"81":{"input":[1,5,7],"tlp":["au",32369],"trp":["ua",23498],"lp":["au","qu","ano","qua","anno","aun","anu","anua","quan","quo"],"rp":["ua","ona","una","nua","oan","nqu","onna","uan","onq","onqu"]},"82":{"input":[2,5,7],"tlp":["su",62257],"trp":["us",124701],"tlw":["soon",3191],"trw":["us",10609],"lp":["su","son","sou","ssu","soon","soun","sun","sus","sons"],"rp":["us","ons","ous","ju","jo","jus","uss","usu","nsu","njo","oj"]},"83":{"input":[1,2,5,7],"tlp":["wou",29932],"trp":["now",32603],"tlw":["won",495],"trw":["now",13343],"lp":["wou","aus","won","ason","sua","sona","asu","assu","ajo","squ","squa","woun"],"rp":["now","own","nown","usa","usua","usan","ousa","nows"]},"84":{"input":[3,5,7],"tlp":["eno",5765],"trp":["yo",112940],"trw":["you",68463],"lp":["eno","enou","eu","eon","eone"],"rp":["yo","you","one","ue","oy","yon","youn","yone","oney","uy","uen","oye","nue","une","onne"]},"85":{"input":[1,3,5,7],"tlp":["que",9630],"trp":["oya",1710],"tlw":["anyone",1715],"lp":["que","equ","eau","eque","quen","anyo","quee","equa","xu","exu","xua","exua","aneo","xon"],"rp":["oya","unex","ux","nque","uxu","unea"]},"86":{"input":[2,3,5,7],"tlp":["du",19747],"trp":["und",37128],"tlw":["done",3602],"trw":["use",3572],"lp":["du","don","done","esu"],"rp":["und","use","ound","ud","ond","unde","ues","ouse","used","ody","ude","ndo","odu","onde","udd","ones"]},"87":{"input":[1,2,3,5,7],"tlw":["down",11247],"trw":["owned",326],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bu",70306],"trp":["ng",301290],"tlw":["but",49620],"trw":["not",43106],"lp":["bu","bo","tu","but","bou","bout","gu","gn"],"rp":["ng","ut","out","not","ug","oug","ong","ob","nto","ont","unt","ub"]},"89":{"input":[1,4,5,7],"tlp":["abo",26472],"trp":["uf",3979],"tlw":["about",23108],"lp":["abo","fu","abou","ang","fou","gan","aug","tua","atu","anot","foun","aut"],"rp":["uf","onf","uff","natu","nfo","nag","oba","uat"]},"90":{"input":[2,4,5,7],"tlp":["con",43239],"trp":["uc",39944],"tlw":["cut",1451],"trw":["just",14589],"lp":["con","cou","cu","suc","cons","cont","stu","coun","bus","cus","ctu","conc"],"rp":["uc","ust","just","ngs","onc","unc","uct","job"]},"91":{"input":[1,2,4,5,7],"tlw":["town",2110],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["rou",33045],"trp":["ur",136165],"tlw":["turn",2317],"trw":["your",20504],"lp":["rou","ru","tur","roug","gen","ture","roun","tru","turn","ron","bro","eng"],"rp":["ur","our","ure","your","nge","urn","ute","nger"]},"93":{"input":[1,3,4,5,7],"tlw":["before",10203],"trw":["often",3952],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["course",3730],"trw":["once",5524],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["because",9879],"trw":["understand",2238],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["ll",183975],"trw":["oil",657],"lp":[],"rp":["ll","li","io","il","lo","ol","ill","oi","loo","oll","lli","ili","llo","oli","ool","illi","olo","ollo","lio","llio"]},"97":{"input":[1,6,7],"tlp":["al",228009],"trp":["la",103279],"tlw":["all",30772],"trw":["la",689],"lp":["al","all","ali","ail","alo","allo","ala","aliz","alli"],"rp":["la","ial","lai","lia","lla","liz","iall","ila","olla","oal","ola"]},"98":{"input":[2,6,7],"tlp":["sio",15825],"trp":["ok",35246],"tlw":["skills",834],"trw":["look",5477],"lp":["sio","sl","ssio","sol","sil"],"rp":["ok","ls","ook","lik","look","lk","los","lis","lso","osi","ossi","lls","oki","kil","isio"]},"99":{"input":[1,2,6,7],"tlp":["wil",18445],"trp":["low",16681],"tlw":["will",14271],"trw":["low",1274],"lp":["wil","will","als","alk","also","wal","alw","alwa","walk","wl","wall"],"rp":["low","las","llow","lw","lwa","owi","lass","owl","law"]},"100":{"input":[3,6,7],"tlp":["el",142952],"trp":["le",213808],"tlw":["el",99],"trw":["lie",725],"lp":["el","ell","eli","eel","ele","elie","elo","elli","eeli","ello","elle"],"rp":["le","lle","ile","lie","ole","olle","ille","lee","iel"]},"101":{"input":[1,3,6,7],"tlp":["eal",18892],"trp":["lea",26849],"tlw":["alex",152],"lp":["eal","alle","ale","ela","eall","eali","aile","alex","eale","eliz","xio","elea","ael"],"rp":["lea","lex","lize","lexa","oze","llea","lexi"]},"102":{"input":[2,3,6,7],"tlp":["sel",25483],"trp":["ld",104617],"tlw":["else",2789],"trw":["like",19390],"lp":["sel","dl","els","eld","del","dle"],"rp":["ld","like","old","led","les","oke","lled","ild","less","oked","ooke","lose","ldi","lde"]},"103":{"input":[1,2,3,6,7],"tlw":["well",8952],"trw":["lead",1050],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["tio",72429],"trp":["ig",72061],"tlw":["till",1036],"trw":["lot",2713],"lp":["tio","gi","tl","gl","til","vo","ttl","till","giv"],"rp":["ig","ov","lt","lit","lig","liv","litt","ittl","lv","itio","oti"]},"105":{"input":[1,4,6,7],"tlp":["atio",33167],"trp":["lf",21773],"tlw":["fall",1195],"lp":["atio","tal","fl","gai","agai","alt","val","fol","gla","fig","flo","foll","agi","fil","alit"],"rp":["lf","lat","lif","offi","lati"]},"106":{"input":[2,4,6,7],"tlp":["cl",31724],"trp":["lic",9087],"tlw":["still",7621],"trw":["lost",2029],"lp":["cl","ctio","col","stil","sig","clo","took","clos","stio","cov","coll","soci","ctl"],"rp":["lic","ock","osit","loc","oic","oci","list"]},"107":{"input":[1,2,4,6,7],"tlw":["call",2856],"trw":["last",4981],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rl",25465],"trp":["ove",39462],"tlw":["tell",4528],"trw":["over",12910],"lp":["rl","tle","tel","ttle","rel","rig","vel","tell","give","rio","elt","rov"],"rp":["ove","over","let","ori","lve","live","orl","love"]},"109":{"input":[1,3,4,6,7],"tlw":["felt",4669],"trw":["life",8740],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["told",5605],"trw":["lives",1641],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["work",8749],"trw":["least",2856],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ho",160810],"trw":["oh",2847],"lp":[],"rp":["ho","ul","ion","oul","hou","ui","lin","lu","nl","hu","lon","oin","hil","onl","hol","iou","uni","houl","ull","hoo"]},"113":{"input":[1,5,6,7],"tlp":["qui",11723],"trp":["lan",16797],"tlw":["annual",207],"trw":["hall",950],"lp":["qui","alon","alu","qual","ainl","aul"],"rp":["lan","nal","ual","onal","hal","iona","uall","ula","hall","inal","lain","lau","nall","lian"]},"114":{"input":[2,5,6,7],"tlp":["sho",24544],"trp":["kno",19117],"tlw":["soul",950],"trw":["john",1863],"lp":["sho","sion","shou","sul"],"rp":["kno","ions","hos","ious","usi","hous","usin","onsi","lish","hus","okin","ush","lus","lkin","usl","ousl"]},"115":{"input":[1,2,5,6,7],"tlw":["who",23669],"trw":["how",14162],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["ely",17170],"trp":["ly",122921],"trw":["only",13824],"lp":["ely","elin","enl"],"rp":["ly","lly","nly","only","hel","ily","len","hile","line","lue","hole","lone","loy","hone","ully","llen","ule"]},"117":{"input":[1,3,5,6,7],"tlw":["alone",2184],"trw":["lay",1482],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["should",7178],"trw":["house",4935],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["would",27522],"trw":["usually",1445],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["gh",90668],"trp":["ing",245338],"tlw":["thought",7112],"trw":["into",18343],"lp":["gh","tion","ght","bl","tho","ting","thou"],"rp":["ing","igh","oth","ugh","ight","hing","ough","ning","into","ught","houg","long","ling"]},"121":{"input":[1,4,5,6,7],"tlw":["again",7165],"trw":["having",3594],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["such",8032],"trw":["looking",3174],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["without",5841],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["through",8798],"trw":["other",13909],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["another",6638],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["could",18061],"trw":["others",3864],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["already",3329],"trw":["however",3319],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",37015],"trw":["p",765],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",46764],"trp":["pa",72065],"trw":["pa",273],"lp":["ap","app","apa","appa"],"rp":["pa","pap","ppa","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",40374],"trp":["ps",13734],"lp":["sp","ssp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",3930],"trp":["pas",8500],"tlw":["sap",81],"trw":["pass",1068],"lp":["spa","aps","sap","asp","sapp","wsp","wspa","spap","assp"],"rp":["pas","pass","pw","pwa","paw","paws"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",39298],"trp":["pe",115056],"trw":["'",14271],"lp":["ep","e'","eep","epe","epp","eppe","eepe"],"rp":["pe","ppe","pee","''","'e","p'"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["xp",16071],"trp":["pea",10889],"lp":["xp","exp","appe","xpe","expe","ape","epa","eap","epea","xpa","expa","a'","eape","a'a","x'","ax'"],"rp":["pea","ppea","pape","'a"]},"134":{"input":[2,3,8],"tlp":["spe",18659],"trp":["'s",36901],"tlw":["deep",1465],"trw":["'s",213],"lp":["spe","e's","esp","e'd","dep","espe","deep","sep","desp","depe","spee","eps","d'","d's"],"rp":["'s","'d","ped","pped","pes","pse"]},"135":{"input":[1,2,3,8],"tlp":["we'",3765],"trp":["'w",281],"tlw":["we'd",695],"trw":["passed",1693],"lp":["we'","spea","depa","sepa","aspe","ewsp","we'd","weap","aped","weep","wep","apes","apse","swep","a's","xped","espa","dpa"],"rp":["'w","peas"]},"136":{"input":[4,8],"tlp":["tp",256],"trp":["pt",19963],"lp":["tp","ttp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",4201],"trp":["pat",6411],"tlw":["tap",153],"trw":["pat",193],"lp":["apt","apta","tap","tapp"],"rp":["pat","pta","patt","pf","ptat"]},"138":{"input":[2,4,8],"trp":["pts",388],"lp":[],"rp":["pts","pst","ptc","pc"]},"139":{"input":[1,2,4,8],"tlp":["cap",5240],"trp":["pac",3604],"tlw":["cap",258],"trw":["past",2353],"lp":["cap","capt","spac","scap","capa","apac","spat","fsp","ffsp","caps"],"rp":["pac","past","pact","patc","psta","pats"]},"140":{"input":[3,4,8],"tlp":["t'",15643],"trp":["pr",76723],"trw":["per",611],"lp":["t'","rep","ept","rp","tep","r'","er'","rpr","re'","ere'"],"rp":["pr","'t","per","pre","'r","'re","pte","ppr","pet","pret"]},"141":{"input":[1,3,4,8],"tlp":["at'",5623],"trp":["par",26731],"tlw":["appear",816],"trw":["part",4589],"lp":["at'","xper","epar","rap","appr","aper","apte","repa","xpr","expr","xpre","apar"],"rp":["par","part","pare","pear","pra","perf","pera","para"]},"142":{"input":[2,3,4,8],"tlp":["t's",15472],"trp":["pres",13007],"tlw":["step",1154],"trw":["press",708],"lp":["t's","spec","cep","cept","resp","step","r's","er's","re's","spr","sper","ccep","teps"],"rp":["pres","pec","pers","pect","perc","prec","pted"]},"143":{"input":[1,2,3,4,8],"tlw":["we're",1513],"trw":["perfect",1065],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mp",43386],"trw":["m",1273],"lp":[],"rp":["mp","mm","nm","mn","pm","np"]},"145":{"input":[1,5,8],"tlp":["am",72035],"trp":["ma",137500],"tlw":["am",4235],"trw":["man",9572],"lp":["am","amp","ama","apan","amm","ampa","amn","aman"],"rp":["ma","man","pan","mpa","nam","mpan","mana","mma","mann","mman","nap","map"]},"146":{"input":[2,5,8],"tlp":["sm",13242],"trp":["ms",20491],"trw":["ms",185],"lp":["sm","ssm"],"rp":["ms","nsp","mps","nsm","mns","mms"]},"147":{"input":[1,2,5,8],"tlp":["sam",7005],"trp":["mas",4399],"tlw":["sam",133],"trw":["mass",521],"lp":["sam","sma","ams","span","ansp","amps","snap","asm","assm","ssma"],"rp":["mas","maj","mass","jap","japa","mans","jam","mw","mpas","pans"]},"148":{"input":[3,5,8],"tlp":["em",87362],"trp":["me",235102],"tlw":["enemy",1028],"trw":["my",40423],"lp":["em","eme","eem","emp","emen","eeme","emem"],"rp":["me","my","n'","men","pen","mem","'m","y'","mme","ppen","pene","py","mee"]},"149":{"input":[1,3,5,8],"tlp":["ame",34012],"trp":["may",9648],"tlw":["an'",417],"trw":["many",8068],"lp":["ame","ema","eam","an'","xam","exam","eman","appy","xamp","amen","xpen"],"rp":["may","mea","many","mean","name","pany","pay","pane","man'"]},"150":{"input":[2,3,5,8],"tlp":["dn'",13235],"trp":["med",15366],"tlw":["seemed",4232],"trw":["jem",320],"lp":["dn'","seem","sn'","ems","emed","spen","dem","dm","emse","esn'"],"rp":["med","mes","mse","mys","pend","myse","y's","n's","mmed","pens"]},"151":{"input":[1,2,3,5,8],"tlw":["same",6718],"trw":["made",9696],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",4765],"trp":["mb",19208],"lp":["tm","bm"],"rp":["mb","mpt","ntm","pb","mt","mpb"]},"153":{"input":[1,4,5,8],"tlp":["fam",7099],"trp":["mat",11909],"trw":["mba",123],"lp":["fam","amb","tma","tnam","atm","apab","amat","bam","bama","amba","tam"],"rp":["mat","matt","mf","mba","mpat","pant","pab","mant","mbat"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["stm",1138],"trp":["mst",943],"lp":["stm"],"rp":["mst","mc","mbs","mpts","mcc","mcs"]},"155":{"input":[1,2,4,5,8],"tlw":["camp",660],"trw":["pants",299],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",33028],"trp":["n't",37419],"tlw":["remember",2277],"trw":["mr",4133],"lp":["rm","rem","emb","erm","tem","embe","reme","rme","temp","tme","tmen"],"rp":["n't","ment","met","mer","mbe","mber","mr","memb","meet"]},"157":{"input":[1,3,4,5,8],"tlw":["army",2073],"trw":["matter",2479],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["spent",1640],"trw":["mrs",2541],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["came",6889],"trw":["parents",2027],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",28303],"lp":[],"rp":["pi","ip","ppi","ipp","ippi","pip","ipi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["appi",2174],"trp":["pai",6465],"trw":["pizza",143],"lp":["appi","api"],"rp":["pai","ipa","pia","piz","pizz","iap","ippa"]},"162":{"input":[2,6,8],"tlp":["spi",5949],"trp":["ips",2652],"tlw":["sip",104],"trw":["piss",63],"lp":["spi","sip","ssip","sipp","skip","spis"],"rp":["ips","isp","pis","kp","pk","pki","piss","kip","psi","kipp"]},"163":{"input":[1,2,6,8],"tlp":["spai",637],"trp":["isap",1148],"lp":["spai","wip","aspi","apk","apki","wipi","apis"],"rp":["isap","ispa","kpa"]},"164":{"input":[3,6,8],"tlp":["epi",1744],"trp":["i'",14185],"trw":["'i",461],"lp":["epi","eepi","eppi"],"rp":["i'","pie","ippe","ipe","'i","pipe","ppie","ip'"]},"165":{"input":[1,3,6,8],"tlp":["epai",321],"trp":["iz'",67],"lp":["epai","z'","eapi"],"rp":["iz'"]},"166":{"input":[2,3,6,8],"tlp":["disp",1152],"trp":["keep",4608],"tlw":["spies",180],"trw":["keep",3496],"lp":["disp","espi","dip","spie","epis"],"rp":["keep","i'd","kep","pid","ispe","pied","pies","pedi","iped","ip's","k'","k's","ipes","kesp","psid"]},"167":{"input":[1,2,3,6,8],"tlw":["speak",1583],"trw":["paid",1096],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",610],"trp":["pti",3889],"tlw":["tip",221],"trw":["pit",127],"lp":["tip","tipp"],"rp":["pti","pit","ipt","ipti"]},"169":{"input":[1,4,6,8],"tlp":["apit",605],"trp":["pati",1779],"lp":["apit"],"rp":["pati","pita","ptai","ipat","pav","ptia"]},"170":{"input":[2,4,6,8],"tlp":["cip",2669],"trp":["pic",5474],"tlw":["tips",128],"trw":["pick",801],"lp":["cip","spit","spic","scip","tips","ckp"],"rp":["pic","pick","pict","icip","pici","pitc","pist","pics","ptic"]},"171":{"input":[1,2,4,6,8],"trw":["pack",385],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",2627],"trp":["pri",13942],"tlw":["trip",647],"trw":["i've",2219],"lp":["rip","rpri","epti","trip","ript","e'v","e've"],"rp":["pri","it'","peri","'v","'ve","pir","i'v","i've","priv","piri","prev","pite","peti"]},"173":{"input":[1,3,4,6,8],"tlw":["repair",185],"trw":["private",1010],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["despite",946],"trw":["it's",8558],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["we've",750],"trw":["paris",1353],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["im",93559],"trw":["him",28423],"lp":[],"rp":["im","mi","him","min","ph","imp","pin","hip","imi","ppin","mmi","imm","phi","mini","hm","nim","mmin","imin","pini","mpi"]},"177":{"input":[1,5,6,8],"tlp":["ami",8211],"trp":["hap",14305],"tlw":["aim",231],"trw":["pain",1250],"lp":["ami","aim","amin","aph","anim","amaz"],"rp":["hap","happ","ima","mai","main","pain","ham","pani","iam","mina","nima","pha","maz","impa"]},"178":{"input":[2,5,6,8],"tlp":["ship",5146],"trp":["mis",8985],"tlw":["ship",877],"trw":["miss",1642],"lp":["ship","sim","smi","simp","simi","shm","spin"],"rp":["mis","ims","hims","miss","hips","ism","mik","insp","ishm","hisp","nspi","jim","km"]},"179":{"input":[1,2,5,6,8],"tlw":["spanish",469],"trw":["mask",160],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",2800],"trp":["ime",28758],"trw":["i'm",6537],"lp":["emi","emin","epin","eph"],"rp":["ime","hem","he'","i'm","mine","hey'","phy","imme","pine","imen","phe","peni","hme","in'","hmen","meh"]},"181":{"input":[1,3,5,6,8],"tlw":["examine",179],"trw":["happy",1895],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["she'd",1495],"trw":["mind",4439],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["shame",796],"trw":["make",9390],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",28120],"trp":["mit",4914],"tlw":["tim",128],"trw":["ibm",109],"lp":["tim","timi","bmi"],"rp":["mit","mbi","mitt","mmit","imit","mbin","ntim","imb","mpti","ptin","mbit","intm","mith","itm","mitm","ptim","pth"]},"185":{"input":[1,4,5,6,8],"trw":["path",946],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",320],"trw":["pitch",164],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["captain",1078],"trw":["match",450],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["them",21593],"trw":["prevent",380],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["remain",740],"trw":["haven't",641],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["didn't",7051],"trw":["isn't",1565],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["that's",4282],"trw":["perhaps",2737],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",68607],"trw":["pop",223],"lp":[],"rp":["po","op","ppo","opp","oppo","poo","pop","oop","opo","popp"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",1508],"trp":["opa",186],"lp":["apo","appo"],"rp":["opa","oap"]},"194":{"input":[2,7,8],"tlp":["spo",7683],"trp":["pos",16560],"lp":["spo","sop","spos","sspo","spoo"],"rp":["pos","poss","ppos","osp","ops","oops","opos","osop","pso"]},"195":{"input":[1,2,7,8],"tlp":["soap",132],"trp":["pow",4845],"tlw":["soap",132],"lp":["soap"],"rp":["pow","posa"]},"196":{"input":[3,7,8],"tlp":["eop",15223],"trp":["peo",15223],"trw":["pope",239],"lp":["eop","epo"],"rp":["peo","peop","ope","oppe","o'","poe","oope","pope","oe'","'o","-p"]},"197":{"input":[1,3,7,8],"tlp":["eapo",649],"trp":["opea",428],"lp":["eapo","xpo","expo"],"rp":["opea","-pa"]},"198":{"input":[2,3,7,8],"tlp":["espo",3005],"trp":["pose",4757],"trw":["possessed",333],"lp":["espo","dop"],"rp":["pose","oped","ospe","o's","osep","opes","od'","od's","o'd","oe's","pod","oss'"]},"199":{"input":[1,2,3,7,8],"tlw":["exposed",267],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",6183],"trp":["pot",2394],"tlw":["top",1822],"trw":["pot",221],"lp":["top","topp","toop"],"rp":["pot","opt","pto","pott","ptop"]},"201":{"input":[1,4,7,8],"tlp":["gap",376],"trp":["pag",1322],"tlw":["gap",204],"trw":["potato",74],"lp":["gap","apto","gapo","atop"],"rp":["pag","pota","opag","paga"]},"202":{"input":[2,4,7,8],"tlp":["stop",3680],"trp":["post",1282],"tlw":["stop",1798],"trw":["post",644],"lp":["stop","cop","spot","tops","cops","coop","copp","gosp","copt","scop"],"rp":["post","poc","pots","pco"]},"203":{"input":[1,2,4,7,8],"tlw":["gaps",71],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",6404],"trp":["pro",33640],"tlw":["report",778],"trw":["poor",1596],"lp":["rop","rope","repo","epor","rpo","ropo","ropp","rpor","roop"],"rp":["pro","por","port","oper","ppor","prop","ppro","prog","poor","prot","orp"]},"205":{"input":[1,3,4,7,8],"tlw":["rapport",98],"trw":["page",587],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["stopped",1419],"trw":["process",1455],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["corporate",363],"trw":["power",3130],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",158331],"trw":["up",23594],"lp":[],"rp":["om","mo","up","mu","pu","um","omp","mon","omm","pon","oom","mom","mpo","mou","upp","oup","upo","upon","uppo","num"]},"209":{"input":[1,5,7,8],"tlp":["amo",4702],"trp":["oma",6690],"trw":["mao",108],"lp":["amo","amon","amou","apon","amu","ampu"],"rp":["oma","ompa","oman","uma","uman","omma","pau","manu","mona","mau","upa","napo","mao","opam"]},"210":{"input":[2,5,7,8],"tlp":["som",32033],"trp":["mos",15768],"tlw":["sum",220],"trw":["jump",350],"lp":["som","sup","supp","sum","spon","summ","smo","susp","ssum"],"rp":["mos","mus","pons","mous","mpos","pus","ups","usp","ums","mons","oms"]},"211":{"input":[1,2,5,7,8],"tlw":["woman",3590],"trw":["mason",79],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emo",6070],"trp":["ome",63421],"trw":["money",3556],"lp":["emo","epu"],"rp":["ome","on'","omen","u'","ou'","you'","open","mome","ume","mone","meo","omeo","meon","memo","omme","umen","ompe","umme"]},"213":{"input":[1,3,5,7,8],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["some",15162],"trw":["opened",1401],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["women",3612],"trw":["paused",403],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",5301],"trp":["mot",10460],"tlw":["tom",762],"trw":["put",5210],"lp":["tom","tum","gm","bom","bomb","tup","ttom"],"rp":["mot","put","umb","pub","mont","numb","mong","omb","mout","mput","upt","putt","ptu"]},"217":{"input":[1,4,5,7,8],"tlw":["among",2526],"trw":["obama",363],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["common",1407],"trw":["most",10396],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["famous",816],"trw":["moscow",341],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["room",5055],"trw":["more",21171],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["from",35952],"trw":["program",634],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["don't",9569],"trw":["person",3411],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["company",2711],"trw":["major",1113],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",68379],"trw":["pool",330],"lp":[],"rp":["pl","opl","lp","poi","pol","pli","poli","plo","ppl","lip","lop","opi","pil","ipl","ppli","ppoi","lipp","oppi","pill","pilo"]},"225":{"input":[1,6,7,8],"tlp":["appl",2216],"trp":["pla",24558],"tlw":["apollo",82],"trw":["lap",242],"lp":["appl","apol","alp"],"rp":["pla","plai","pal","lap","pala","ipal","llap","pola","lapp","ppal","pall","ppla","palo"]},"226":{"input":[2,6,7,8],"tlp":["spok",1763],"trp":["posi",4502],"tlw":["slip",260],"trw":["lips",930],"lp":["spok","spl","slip","spli","spoi","spio"],"rp":["posi","pok","lips","ospi","plis","ispl","ispo","lps","plos","pois","piso","kpl","opk","opki"]},"227":{"input":[1,2,6,7,8],"tlw":["slap",95],"trw":["pillow",134],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["eopl",15223],"trp":["ple",30676],"trw":["people",14668],"lp":["eopl","elp","epl","elop","e'l","e'll","epli"],"rp":["ple","ople","'l","'ll","plie","i'l","i'll","leep","iple","lope","pel","pple","lep"]},"229":{"input":[1,3,6,7,8],"tlw":["apple",631],"trw":["pale",447],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spoke",1285],"trw":["people's",449],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["we'll",807],"trw":["please",985],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["topi",337],"trp":["ptio",2778],"trw":["pilot",266],"lp":["topi","tipl","tpl"],"rp":["ptio","opti","ptl","pig","plit","pov","pilg","plot","ltip","lpt","lpit"]},"233":{"input":[1,4,6,7,8],"tlw":["flip",108],"trw":["plato",120],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["split",254],"trw":["politics",443],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["capital",544],"trw":["political",1085],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["grip",165],"trw":["prove",546],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["april",549],"trw":["plate",447],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["replied",1257],"trw":["police",1092],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["special",1059],"trw":["place",5268],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["mil",16287],"trw":["million",900],"lp":[],"rp":["mil","mpl","hom","lm","omi","poin","ompl","impo","hop","mili","pul","impl","lmo","hum","omin","pho","minu","lim","muni","pull"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["animal",491],"trw":["human",2178],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["shop",667],"trw":["mission",568],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["small",3786],"trw":["plans",687],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["employee",275],"trw":["home",4865],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["example",1694],"trw":["play",1696],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["simply",1710],"trw":["pulled",1252],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["explained",950],"trw":["played",975],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"trw":["might",6921],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",366],"trw":["imagination",438],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["coming",1985],"trw":["much",10233],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["almost",3784],"trw":["making",2931],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["government",1285],"trw":["mother",4253],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["family",3955],"trw":["important",2765],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["something",7615],"trw":["possible",2350],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["especially",1737],"trw":["himself",5632],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/es-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/es-keymap.json index f8240db297..81395368b8 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/es-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/es-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",68],"tlw":["a",207382],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",1790],"tlw":["s",277],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",412461],"lp":["as","sa","asa","sas","asas","wa","ass","ssa","was","saa","aw"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",4724],"tlw":["e",5916],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",27380],"tlw":["ex",477],"lp":["ea","ex","ae","xa","exa","ax","axa","xx"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",743538],"tlw":["de",453446],"lp":["de","es","se","ed","des","ese","ede","sd","esd","desd","sde","esde","ses","ded","dese","eses","edes","eded","sed","ees"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",219474],"tlw":["esa",8099],"lp":["ad","da","dad","ada","esa","eda","ade","das","ase","sad","edad","sea","dea","dade","esas","asad","ades","desa","adas","ases"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",782],"tlw":["t",90],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",307672],"tlw":["f",113],"lp":["ta","at","fa","ata","af","afa","tat","fat","fata","att","taf","ft","atat","tata","ff","ataf","tf","atf"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",235201],"tlw":["c",615],"lp":["st","sc","ct","cc","tc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",200066],"tlw":["casa",9057],"lp":["ca","ac","sta","cas","ast","tas","asta","casa","sca","aca","act","sac","stas","tac","cta","acc","sf","fac","cat","cast"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",499829],"tlw":["te",14709],"lp":["er","re","te","tr","rt","rr","et","ert","ter","tre","ere","err","rte","rre","ete","erte","ret","rer","etr","terr"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ra",416643],"tlw":["era",32659],"lp":["ra","ar","era","tra","ara","tar","are","fe","rta","art","fr","rar","rra","erra","ef","erta","atr","eta","arr","rat"],"rp":[]},"14":{"input":[2,3,4],"tlp":["est",139908],"tlw":["ser",12211],"lp":["est","ec","ce","res","rec","rd","cer","cr","dr","ste","rs","ser","tes","str","ces","rc","esc","der","erd","ece"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["esta",69315],"tlw":["esta",18675],"lp":["esta","ras","ace","car","rad","tad","tras","acer","adr","arec","sar","cad","ard","rac","rda","adre","dar","stra","rca","erda"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",1348],"trw":["n",91],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",382423],"trp":["na",233186],"tlw":["ana",597],"lp":["an","ana","aq","anan","anq","ann","anna"],"rp":["na","nq","nan","nana","nna"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",1069],"trp":["ns",48331],"trw":["j",166],"lp":["sn"],"rp":["ns","nj"]},"19":{"input":[1,2,5],"tlp":["aj",27458],"trp":["ja",36319],"tlw":["san",1894],"trw":["ja",145],"lp":["aj","san","aja","anas","ans","sq","saj","anj","ansa","asan","ajas","ajan"],"rp":["ja","nas","nsa","jan","jas","naj","nsan","nsaj"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",684719],"trp":["ne",94467],"tlw":["en",194129],"trw":["y",254303],"lp":["en","ene","ey","enen","eye","eyen","een","enn","enne"],"rp":["ne","ye","nen","yen","ny","nne","nny","yn","yene","yne"]},"21":{"input":[1,3,5],"tlp":["ena",25795],"trp":["ya",27580],"tlw":["ay",587],"trw":["ya",19283],"lp":["ena","ay","ane","eq","aya","ean","aye","aen","enan","ayan","enea","anen","ayen","anea","xq","exq"],"rp":["ya","nea","yan","nex"]},"22":{"input":[2,3,5],"tlp":["ej",40475],"trp":["nd",141755],"tlw":["deje",506],"lp":["ej","end","sen","ens","den","dej","ende","esen","eje","enes","ense"],"rp":["nd","je","nes","nde","nse","ndes","jes","nden","yend"]},"23":{"input":[1,2,3,5],"tlp":["and",60909],"trp":["nad",25609],"tlw":["deja",806],"trw":["nada",10498],"lp":["and","eja","ensa","aje","deja","dan","enas","ande","anda","ejan","sena","enda","anad","dena","dand"],"rp":["nad","nda","nada","jad","jand"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",656],"trp":["nt",349002],"tlw":["b",221],"lp":["bt","tb","bn"],"rp":["nt"]},"25":{"input":[1,4,5],"tlp":["ab",230416],"trp":["nta",49640],"tlw":["tan",12045],"lp":["ab","ba","aba","ant","tan","tab","taba","ban","tant","aban","anta","bat","tana"],"rp":["nta","nf","ntan","nat","ntab","nab","naba"]},"26":{"input":[2,4,5],"tlp":["bs",5233],"trp":["nc",100151],"lp":["bs","bj","bst","cn","sb","bc","tj"],"rp":["nc","nst","nsc"]},"27":{"input":[1,2,4,5],"tlp":["stab",23089],"trp":["nca",10670],"tlw":["santa",1043],"lp":["stab","cab","sab","anc","baj","can","stan","caba","abaj","bas","acab","baja","saba","sant","tanc","bast"],"rp":["nca","ntas","nac","nsta"]},"28":{"input":[3,4,5],"tlp":["ent",186144],"trp":["nte",139591],"tlw":["entre",11695],"lp":["ent","br","ente","ten","bre","be","entr","eb","ren","rn","ber","ener","ern","tene"],"rp":["nte","ntr","ner","ntre","nter","nten"]},"29":{"input":[1,3,4,5],"tlp":["ran",49950],"trp":["ntra",26185],"tlw":["eran",5913],"trw":["yabran",492],"lp":["ran","ante","abe","enta","bra","abr","rab","rq","raba","bar","eran","aber","trab","abra","tran","rant"],"rp":["ntra","nar","nera","ntar"]},"30":{"input":[2,3,4,5],"tlp":["enc",41323],"trp":["ntes",22621],"tlw":["debe",1755],"lp":["enc","sent","cen","deb","dent","bres","tend","rend","rden","tenc","debe","cent"],"rp":["ntes","nce","jer","nces","nec","nece","ndr","nder"]},"31":{"input":[1,2,3,4,5],"tlw":["estaba",15906],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",1864],"trw":["i",432],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["za",46428],"trp":["ia",302035],"lp":["za","az","ai","aza","aia","zi","azi","zz","aiz","azz"],"rp":["ia","iz","iza","izz","iaz"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",193578],"trp":["is",104027],"tlw":["si",37389],"lp":["si","sis","sk","ssi"],"rp":["is","isi","ki","iss","isis","ik","iki","kis","ikis","kiss","isk","issi"]},"35":{"input":[1,2,6],"tlp":["asi",27185],"trp":["ias",18810],"tlw":["asi",11044],"trw":["kazz",77],"lp":["asi","sia","asia","zas","ais","sias","wi","asis","aisa","wis","wiss","azas","ak"],"rp":["ias","isa","izas","isas","ka","ika","issa"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",15743],"trp":["ie",233722],"lp":["ei","eei"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ez",37550],"trp":["iez",3157],"tlw":["xii",131],"trw":["ix",78],"lp":["ez","eza","xi","exi","eia","axi","xii","zie","azie","xix","xiii","ze"],"rp":["iez","ieza","ix"]},"38":{"input":[2,3,6],"tlp":["di",175458],"trp":["id",129921],"tlw":["seis",1304],"trw":["kid",113],"lp":["di","edi","sie","esi","die","sid","dis","did","side","eis","esid","edid","sei"],"rp":["id","ide","ies","ied","idi","iese","ise"]},"39":{"input":[1,2,3,6],"tlp":["dia",37584],"trp":["ida",49293],"tlw":["dia",8188],"trw":["idea",2311],"lp":["dia","adi","edia","dias","adie","dida","siad","zad","sida","xis","exis","esia","aid","diez"],"rp":["ida","idad","iad","idea","idas","ieda"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",133369],"trp":["it",63123],"tlw":["ti",1888],"trw":["iv",187],"lp":["ti","vi","viv","tiv","tit","vivi","vit","tti","tivi","vii","viii"],"rp":["it","iv","iti","ivi","itiv"]},"41":{"input":[1,4,6],"tlp":["va",51609],"trp":["ita",23108],"tlw":["va",3371],"lp":["va","fi","av","via","tia","avi","ati","avia","ava","fia","vita","tiva","afi","fav","ativ"],"rp":["ita","if","ifi","iva","iat"]},"42":{"input":[2,4,6],"tlp":["ci",238810],"trp":["ic",95632],"lp":["ci","sti","vis","tic","sit","cci","vist","cis","cti","sic","vic","visi","sist","cit","tici"],"rp":["ic","ist","ici","isti","isc"]},"43":{"input":[1,2,4,6],"tlp":["cia",69052],"trp":["ica",24474],"tlw":["casi",5393],"lp":["cia","aci","acia","fic","fici","casi","cias","tica","stia","taci","vas","sita","asti","saci","acti","acci"],"rp":["ica","ista","icia","ific"]},"44":{"input":[3,4,6],"tlp":["ri",190312],"trp":["ir",83670],"tlw":["ver",6228],"trw":["ir",2754],"lp":["ri","ve","ev","eri","ver","tie","vie","rti","rri","rit","rv","rie","tir","erv","tri","teri"],"rp":["ir","ier","iert","ire"]},"45":{"input":[1,3,4,6],"tlp":["ria",49114],"trp":["ira",16443],"tlw":["vez",12860],"trw":["ira",503],"lp":["ria","ari","eva","eria","vez","aria","raz","ave","var","zar","arti","rz","erz","rav","rza","fie"],"rp":["ira","iera","itar","iar"]},"46":{"input":[2,3,4,6],"tlp":["eci",43130],"trp":["ice",8339],"tlw":["decir",4827],"trw":["irse",431],"lp":["eci","cie","reci","dic","vid","deci","cid","rid","ris","cri","tid","dir","cier","cir","esti","rdi","dri","ves"],"rp":["ice","iste"]},"47":{"input":[1,2,3,4,6],"tlw":["vida",8817],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",187273],"trw":["ni",13944],"lp":[],"rp":["in","ni","hi","nin","ini","hin","hn","inn","nh","hnn"]},"49":{"input":[1,5,6],"tlp":["ah",14690],"trp":["ha",179890],"tlw":["ahi",2676],"trw":["ha",13606],"lp":["ah","ani","anz","anza","ahi","ania","zan","zq"],"rp":["ha","ian","ina","nia","nz","nza","han","hiz","iq","nian","iana","nina"]},"50":{"input":[2,5,6],"tlp":["sin",33228],"trp":["ij",25903],"tlw":["sin",21600],"lp":["sin","sini","sh","shi"],"rp":["ij","nsi","hij","ins","his","nis","ji","nsis","inis","insi","jin","nk","hisi","iji","inj","nins"]},"51":{"input":[1,2,5,6],"tlp":["siq",2408],"trp":["has",20672],"tlw":["ansia",145],"trw":["has",2554],"lp":["siq","ansi","sina","asin","anis","ash"],"rp":["has","ija","iaj","inas","hija","nzas","jai","nias","iaja","nsia","ijas","isaj","hans","isan"]},"52":{"input":[3,5,6],"tlp":["eni",26205],"trp":["ien",107409],"tlw":["eh",468],"trw":["he",7264],"lp":["eni","ein","enie","eh","enin","ehi","enei"],"rp":["ien","he","iene","ine","nie","nien","hie","inie","hen","inen","nei","nhe","nine"]},"53":{"input":[1,3,5,6],"tlp":["enia",16307],"trp":["hay",9090],"trw":["hay",7403],"lp":["enia","enz","enza","eina","enaz","eian","ezan","anie","eniz","aine"],"rp":["hay","haya","inea","ienz","hae","nez","hez","iena","yah","inez"]},"54":{"input":[2,3,5,6],"tlp":["dij",16709],"trp":["ndi",19946],"tlw":["dije",1690],"trw":["ines",410],"lp":["dij","endi","enid","sien","din","dien","dine","dije","ensi"],"rp":["ndi","iend","nid","ind","iden","ndid","indi","iej","ije","nsid","iens"]},"55":{"input":[1,2,3,5,6],"tlw":["ansiedad",269],"trw":["nadie",5526],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",119303],"trp":["ib",32479],"trw":["ibn",155],"lp":["bi","tin","vin","bit","th","tint"],"rp":["ib","int","nti","nv","ibi","nvi","ntin","inti","inv","nit","invi","niv","init","nvit"]},"57":{"input":[1,4,5,6],"tlp":["abi",63989],"trp":["hab",72658],"tlw":["fin",4343],"trw":["habia",39290],"lp":["abi","bia","abia","fin","bian","van","anti","fina","vant","vab","vaba","abit","zab"],"rp":["hab","habi","iba","inf","nfi","itan","ntia"]},"58":{"input":[2,4,5,6],"tlp":["ch",74839],"trp":["nci",46192],"lp":["ch","cin","sib","chi","stin","cinc","cib","chic","sint","cibi"],"rp":["nci","inc","nic","hic","ich","inci","inst","hist","nch","hici"]},"59":{"input":[1,2,4,5,6],"tlw":["sabia",3858],"trw":["hasta",13934],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["bie",35373],"trp":["ient",36355],"tlw":["bien",10956],"lp":["bie","bien","ven","teni","bri","enti","tien","bier","rin","rib","ebi","rien","vien","vent"],"rp":["ient","inte","her","nve","ibr","nri"]},"61":{"input":[1,3,4,5,6],"tlw":["tenia",10650],"trw":["haber",3961],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["tienes",1622],"trw":["interes",873],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["cabeza",5567],"trw":["hacer",6941],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",993],"trw":["o",22465],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",736],"trp":["oa",1039],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",149815],"trp":["os",465150],"tlw":["sos",79],"trw":["os",2177],"lp":["so","sos","sso"],"rp":["os","oso","osos","oss","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["aso",13706],"trp":["osa",17222],"lp":["aso","asos","aos","saso","wo"],"rp":["osa","osas","ow","oas"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",16208],"trp":["oe",2284],"trw":["-",992],"lp":["eo"],"rp":["oe"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",492],"trp":["ox",1396],"lp":["xo","exo"],"rp":["ox"]},"70":{"input":[2,3,7],"tlp":["do",328036],"trp":["od",79897],"tlw":["dos",13303],"lp":["do","dos","eso","edo","esos","dedo","seo","eseo","dose","edos","deo","eos","seos"],"rp":["od","odo","odos","ode","ose","oses","oes"]},"71":{"input":[1,2,3,7],"tlp":["ado",89938],"trp":["oda",15354],"tlw":["dado",2055],"lp":["ado","ados","dado","sado","eado","aseo","sexo","adeo","dosa","dox","adox"],"rp":["oda","odas","odea","osad","owe"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",261028],"trp":["ot",48115],"tlw":["g",93],"lp":["to","go","tot","got","goo","goog","tog","gt","gto","gg","goto","tto"],"rp":["ot","og","oto","oog","otog","ogo","ogg"]},"73":{"input":[1,4,7],"tlp":["ga",53335],"trp":["of",10649],"tlw":["foto",316],"trw":["of",213],"lp":["ga","ag","fo","ato","ago","aga","tota","fot","foto","gat","tag","afo","gota","gato","tago","gaf"],"rp":["of","ota","oga","ofo"]},"74":{"input":[2,4,7],"tlp":["co",351806],"trp":["oc",68424],"tlw":["toco",325],"lp":["co","sto","tos","cos","cto","sco","gos","stos","sot","cost","coc","cog","soc","sg"],"rp":["oc","oco","ost","osot","osc","oct"]},"75":{"input":[1,2,4,7],"tlp":["cosa",9340],"trp":["oca",11672],"tlw":["cosas",5443],"lp":["cosa","aco","caso","gas","acto","atos","gac","sof","toca","saco","asto","cato","sag","asco","acos"],"rp":["oca","ocas","osta","otas","osof"]},"76":{"input":[3,4,7],"tlp":["ro",246584],"trp":["or",270405],"tlw":["error",581],"trw":["otro",8826],"lp":["ro","ero","eg","tro","gr","ge","rg","tor","ego","rto","reg","erto","rro","rgo"],"rp":["or","otr","otro","ort","ore","orr"]},"77":{"input":[1,3,4,7],"tlp":["gra",22435],"trp":["ora",27567],"tlw":["rato",1491],"trw":["otra",7718],"lp":["gra","aro","gar","ega","arg","for","argo","rga","egar","atro","arga","rato","rof","agr","age","arro","arto"],"rp":["ora","otra","orta"]},"78":{"input":[2,3,4,7],"tlp":["tod",44574],"trp":["ord",10842],"tlw":["todo",18934],"trw":["otros",4846],"lp":["tod","ros","todo","esto","seg","cor","tros","dor","stro","rso","rdo","erso","ecto","eco","eros","corr","reco"],"rp":["ord","ores","oce"]},"79":{"input":[1,2,3,4,7],"tlw":["toda",5491],"trw":["otras",3010],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",376567],"trw":["no",116565],"lp":[],"rp":["on","no","un","nu","uno","ono","nun","uo","nuo","non","ou","onu","onun","uu","oun","nou","nnu","nuno","onn"]},"81":{"input":[1,5,7],"tlp":["qu",432873],"trp":["una",93404],"tlw":["aun",5685],"trw":["una",79449],"lp":["qu","ano","aqu","au","aun","aunq","anu","anqu"],"rp":["una","ua","uan","ona","nqu","unq","unqu","nua","oq","oqu","uq","uqu"]},"82":{"input":[2,5,7],"tlp":["su",160644],"trp":["us",78931],"tlw":["su",81749],"trw":["nos",11959],"lp":["su","sus","son","sun"],"rp":["us","jo","nos","ju","jos","ons","oj","uj","unos","ojo","uso","ojos","jun","nso","noso","jus"]},"83":{"input":[1,2,5,7],"tlp":["anos",18802],"trp":["unas",5230],"tlw":["anos",8719],"trw":["unas",3324],"lp":["anos","ajo","sona","aus","asu","sua","ausa","squ","asun"],"rp":["unas","usa","jua","juan","onas","oja","uas","onaj","onsa","osq","osqu"]},"84":{"input":[3,5,7],"tlp":["eno",33962],"trp":["ue",565691],"trw":["yo",19966],"lp":["eno","eu","enu","eon","eun","eyo"],"rp":["ue","yo","uen","one","uy","nue","oy","ueno","uyo","yu","oye","une","oyo","yun"]},"85":{"input":[1,3,5,7],"tlp":["que",383802],"trp":["nque",7839],"tlw":["que",312514],"lp":["que","aque","ayo","equ","eque","quen","ayu","anue","ayun","aneo","xu","exu","xua","exua"],"rp":["nque","uena","uya","oya","uque","oque"]},"86":{"input":[2,3,5,7],"tlp":["du",23000],"trp":["ndo",74158],"tlw":["donde",10101],"trw":["jose",1204],"lp":["du","don","ejo","endo","dond","enos","seno","sue"],"rp":["ndo","ues","ud","ond","ued","ones","onde","und","uje","nues","undo","uede"]},"87":{"input":[1,2,3,5,7],"tlw":["quedo",2301],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["gu",90299],"trp":["nto",80019],"tlw":["tu",10629],"trw":["noto",316],"lp":["gu","tu","gun","bo","bu","ton","gunt"],"rp":["nto","ob","ont","ng","unt","ub","ut","unto","nton","ug","ngu","uto","ngo"]},"89":{"input":[1,4,5,7],"tlp":["fu",44220],"trp":["uga",7270],"tlw":["tanto",6066],"trw":["nota",486],"lp":["fu","anto","gua","gan","guna","tua","agu","ang","agua","fun","abo","atu","fon"],"rp":["uga","unta","uant","onta","onf","uta","oba"]},"90":{"input":[2,4,5,7],"tlp":["con",167856],"trp":["uc",36702],"tlw":["con",92933],"trw":["junto",3143],"lp":["con","cu","cont","sob","cons","scu","cono","stu","tonc"],"rp":["uc","noc","ust","nco","onc","ntos","unc","ocu","onoc","ncon","nunc"]},"91":{"input":[1,2,4,5,7],"tlw":["bajo",4396],"trw":["nunca",6044],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ento",40726],"trp":["ur",54620],"tlw":["gente",4061],"trw":["negro",1571],"lp":["ento","ron","egu","ru","gen","egun","eron","enor","tur","bue","buen"],"rp":["ur","uer","obr","obre","nor","uert","ontr","uro","uent"]},"93":{"input":[1,3,4,5,7],"tlw":["fue",13323],"trw":["obra",1151],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["sobre",15089],"trw":["usted",6039],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["cuando",21007],"trw":["nuestra",3160],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["lo",300357],"trw":["lo",69406],"lp":[],"rp":["lo","io","ll","li","ol","il","llo","olo","ill","ili","oli","lli","illo","lio","oi","ilo","oll","iol","ollo","ilio"]},"97":{"input":[1,6,7],"tlp":["al",268424],"trp":["la",523649],"tlw":["al",55586],"trw":["la",292004],"lp":["al","zo","all","ali","ala","azo","alo","alli","alla","allo"],"rp":["la","lla","lia","illa","ial","oz","ola","izo","ilia","ila"]},"98":{"input":[2,6,7],"tlp":["sol",26132],"trp":["los",142568],"tlw":["solo",13145],"trw":["los",122255],"lp":["sol","sio","solo","sil","sill","sl","soli"],"rp":["los","ios","llos","osi","iso","isio","ls","ioso","lis","ols","lso","loso","isl"]},"99":{"input":[1,2,6,7],"tlp":["sal",19326],"trp":["las",90934],"tlw":["salio",1704],"trw":["las",76432],"lp":["sal","sali","zos","asio","sola","sala","azos","sla","alas","salo","asil","als","alis"],"rp":["las","llas","iosa","lsa","olas","isla","olsa"]},"100":{"input":[3,6,7],"tlp":["el",426668],"trp":["le",198463],"tlw":["el",234850],"trw":["le",48083],"lp":["el","ell","ello","elo","ele","eli","elle","elli"],"rp":["le","lle","ole","ile","iel","lie","ielo","leo","lee","iole","lei","ille"]},"101":{"input":[1,3,6,7],"tlp":["ella",27778],"trp":["lez",2228],"tlw":["ella",14508],"trw":["leia",238],"lp":["ella","ale","ela","alle","eal","eali","ezo","alie","alez","eliz","elia","ael","xio","exio"],"rp":["lez","leza","lea","iale","oxi","llez"]},"102":{"input":[2,3,6,7],"tlp":["del",76844],"trp":["ido",57544],"tlw":["del",70196],"trw":["les",7650],"lp":["del","dio","dios","dido","sido","edio","esio","dol","sile","eles"],"rp":["ido","les","odi","lid","ld","idos","ilid","oles","idio","iles"]},"103":{"input":[1,2,3,6,7],"tlw":["ellas",1912],"trw":["lado",4590],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",45659],"trp":["ig",52962],"tlw":["volvio",2823],"trw":["oigo",95],"lp":["vo","gi","vio","vol","tio","volv","gl"],"rp":["ig","lt","lg","lv","ito","ov","igo","olv","lgo","lvi","olvi","lto","lig"]},"105":{"input":[1,4,6,7],"tlp":["alg",26073],"trp":["lta",13054],"tlw":["algo",9338],"trw":["italia",381],"lp":["alg","tal","alt","algo","fl","alta","val","agi","voz","fal","alto","tall","avo","alv","gia"],"rp":["lta","iga","lat","ofi","lav"]},"106":{"input":[2,4,6,7],"tlp":["cio",75669],"trp":["ico",18875],"tlw":["visto",3153],"trw":["loco",681],"lp":["cio","cl","sig","col","ccio","cil","vos","cios","colo"],"rp":["ico","lic","icio","oci","isto","lc","loc","icos","lici","lico","igos"]},"107":{"input":[1,2,4,6,7],"tlw":["facil",1160],"trw":["oficial",985],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rio",36719],"trp":["leg",18029],"tlw":["rio",1831],"trw":["llego",2460],"lp":["rio","rl","erio","evo","gri","tori","tel","erl","rlo","rig"],"rp":["leg","ori","lev","lleg","iero","lor","llev","ove","ler","iro"]},"109":{"input":[1,3,4,6,7],"tlw":["favor",1408],"trw":["llegar",2630],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["cierto",3067],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["todavia",3269],"trw":["llegado",1772],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ui",77353],"trw":["nino",1684],"lp":[],"rp":["ui","ion","ho","lu","ul","ino","hu","uni","oni","nio","lin","lon","ulo","iu","inu","olu","onio","uin","nino","uil"]},"113":{"input":[1,5,6,7],"tlp":["qui",49071],"trp":["lan",19182],"tlw":["aqui",6351],"trw":["hizo",5133],"lp":["qui","aho","aqui","zon","azon","alq","alqu"],"rp":["lan","ual","nal","uz","iona","hizo","ula","iqu","lq","lqu","lqui","inal","ualq"]},"114":{"input":[2,5,6,7],"tlp":["sion",15408],"trp":["ijo",20150],"tlw":["sino",5212],"trw":["hijo",3480],"lp":["sion","sino","sul","solu"],"rp":["ijo","hos","hijo","usi","uis","lus","inos","onsi","luso","ijos","usio","ulos","nsio","luis","jul","juli"]},"115":{"input":[1,2,5,6,7],"tlw":["quiso",1107],"trw":["julia",613],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["elen",1805],"trp":["uel",35859],"trw":["hoy",2254],"lp":["elen","euni"],"rp":["uel","uie","uien","len","uell","ione","lue","uelo","llen","ilen","lien","hoy","ley","hue","lone","line","leno","nel"]},"117":{"input":[1,3,5,6,7],"tlw":["quien",8560],"trw":["linea",925],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["dijo",13944],"trw":["lejos",1983],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["aquellos",2619],"trw":["juez",487],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",44167],"trp":["lgu",15861],"tlw":["tuvo",2452],"trw":["ningun",2097],"lp":["bl","gui","tuv","bio","vu"],"rp":["lgu","ult","igu","lgun","uv","ubi","itu","ing","ibl","hub","onv","lib","hubi","ulti","obl"]},"121":{"input":[1,4,5,6,7],"tlw":["alguna",3442],"trw":["ninguna",2180],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["cinco",2085],"trw":["incluso",2762],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["cual",3860],"trw":["habitacion",1620],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["voy",2278],"trw":["luego",6071],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["ahora",9282],"trw":["lugar",4548],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["dicho",3458],"trw":["noche",5939],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["ciudad",3866],"trw":["historia",2737],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",273],"trw":["p",308],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",34091],"trp":["pa",189321],"trw":["papa",1263],"lp":["ap","apa"],"rp":["pa","pap","papa","ppa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",58765],"trp":["ps",612],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",11453],"trp":["pas",22840],"trw":["pasa",1406],"lp":["spa","asp","sap","sapa","apas","spas"],"rp":["pas","pasa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",17553],"trp":["pe",152316],"tlw":["ep",67],"trw":["pepe",388],"lp":["ep","epe","epp"],"rp":["pe","pep","pepe"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["xp",7112],"trp":["pape",1900],"trw":["pa'",77],"lp":["xp","exp","ape","epa","xpe","expe","a'","xpa","expa"],"rp":["pape","pea","pa'","pepa"]},"134":{"input":[2,3,8],"tlp":["esp",48661],"trp":["pes",7009],"trw":["pese",726],"lp":["esp","spe","espe","desp","sep","dep","sesp","depe","sped","spes"],"rp":["pes","ped","pese","pede"]},"135":{"input":[1,2,3,8],"tlp":["espa",10359],"trp":["pad",10546],"tlw":["espada",1195],"trw":["pase",469],"lp":["espa","esap","aspe","spad","sepa","xped","apad","epas","depa","spea"],"rp":["pad","pesa","pada","pase","peda","pade","pead"]},"136":{"input":[4,8],"trp":["pt",3066],"lp":[],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",602],"trp":["pat",4693],"tlw":["tapa",136],"trw":["pata",128],"lp":["tap","apat","tapa","apt","apta"],"rp":["pat","pta","pata"]},"138":{"input":[2,4,8],"trp":["pc",1379],"lp":[],"rp":["pc"]},"139":{"input":[1,2,4,8],"tlp":["cap",8573],"trp":["pac",6048],"tlw":["capa",378],"trw":["patas",294],"lp":["cap","capa","spac","apac","scap","capt"],"rp":["pac","past","pact"]},"140":{"input":[3,4,8],"tlp":["rp",9074],"trp":["pr",105517],"trw":["peter",135],"lp":["rp","rep","erp","rpr","rpre","ept","repe","epr","epre","repr","rpe"],"rp":["pr","per","pre","pet","pert","pret","prep","perr","pete"]},"141":{"input":[1,3,4,8],"tlp":["apar",7464],"trp":["par",95147],"tlw":["aparte",525],"trw":["para",50839],"lp":["apar","apr","epar","rap","apre","repa","xper","xpr","expr","xpre","epta"],"rp":["par","para","pare","part","pera","pra","perf","patr","pref"]},"142":{"input":[2,3,4,8],"tlp":["resp",9516],"trp":["pres",14702],"tlw":["espere",155],"trw":["perder",971],"lp":["resp","sper","spec","cep","cept","spet","epc","cepc","spr","espr","spre"],"rp":["pres","pec","pers","perd","prec","pect","pedr","perc","pece"]},"143":{"input":[1,2,3,4,8],"tlw":["espera",1024],"trw":["padre",6018],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mp",72228],"trw":["m",171],"lp":[],"rp":["mp","nm","mn","mpp"]},"145":{"input":[1,5,8],"tlp":["am",111190],"trp":["ma",217996],"tlw":["ama",379],"trw":["manana",3399],"lp":["am","ama","amp","aman","ampa"],"rp":["ma","man","pan","mpa","mana","mpan","pana","mam","nam","mama","mna","maq","pam","mpam","nap"]},"146":{"input":[2,5,8],"tlp":["sm",16472],"trp":["nsp",1139],"lp":["sm"],"rp":["nsp","mps","nsm"]},"147":{"input":[1,2,5,8],"tlp":["span",4757],"trp":["mas",62981],"tlw":["sam",202],"trw":["mas",42217],"lp":["span","sma","sam","amas","asm","smas","asma","asam","ansp"],"rp":["mas","jam","jama","nsam","paj","paja","masa","maj","mpas","mnas","mans"]},"148":{"input":[3,5,8],"tlp":["em",88958],"trp":["me",181753],"trw":["me",47087],"lp":["em","emp","eme","emen","empe","enem","epen","emn"],"rp":["me","men","pen","mpe","nem","nme","mem","mene","nmen","mpen","pene","pey"]},"149":{"input":[1,3,5,8],"tlp":["ame",24574],"trp":["mane",7021],"tlw":["examen",171],"trw":["pena",1009],"lp":["ame","amen","ema","eman","apen","enam","eam","eame","xam"],"rp":["mane","may","peq","pena","pane","mae","mena","max","name","mame","mex"]},"150":{"input":[2,3,5,8],"tlp":["dem",13584],"trp":["med",13820],"tlw":["depende",152],"trw":["meses",1727],"lp":["dem","sem","ejem","dm","seme","emej","spej","emed"],"rp":["med","pens","mej","mes","mens","jem","jemp","mese","nmed","pend","mend","pej"]},"151":{"input":[1,2,3,5,8],"tlw":["ademas",3394],"trw":["mesa",2367],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",622],"trp":["mb",53887],"lp":["tm","bm"],"rp":["mb"]},"153":{"input":[1,4,5,8],"tlp":["tam",22247],"trp":["mba",6413],"tlw":["fama",385],"trw":["mata",229],"lp":["tam","amb","tamb","fam","tamp","amab","bam","atam","abam","amba"],"rp":["mba","mat","mant","mab","maba","mata","pant","pab","ntam","mbat"],"special":"numsym"},"154":{"input":[2,4,5,8],"lp":[],"rp":[]},"155":{"input":[1,2,4,5,8],"tlw":["cama",1722],"trw":["pasaba",1017],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",44145],"trp":["ment",47484],"tlw":["repente",849],"trw":["mente",1213],"lp":["rm","erm","empr","tem","rme","emb","rem","term","temp"],"rp":["ment","mbr","mbre","mer","mpr","mpre","pren","met","perm","ntem","mper"]},"157":{"input":[1,3,4,5,8],"tlw":["tema",888],"trw":["manera",3467],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["empece",256],"trw":["presente",701],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["armas",1351],"trw":["madre",4699],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",45492],"lp":[],"rp":["pi","ip","ipi","pip"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",5901],"trp":["pia",3578],"trw":["paz",1186],"lp":["api","apaz","zap","zapa","apia","apiz"],"rp":["pia","paz","pai","ipa","piz","pipa","ppai"]},"162":{"input":[2,6,8],"tlp":["spi",5706],"trp":["isp",4720],"lp":["spi"],"rp":["isp","pis","psi","ispi"]},"163":{"input":[1,2,6,8],"tlp":["spia",239],"trp":["pais",2619],"trw":["pais",1820],"lp":["spia","aspi"],"rp":["pais","pasi","ispa","pias","pisa","psia","ipas"]},"164":{"input":[3,6,8],"tlp":["epi",1192],"trp":["pie",14289],"trw":["pie",2140],"lp":["epi"],"rp":["pie","ipe","ipie","pei"]},"165":{"input":[1,3,6,8],"trp":["pez",4584],"trw":["pieza",377],"lp":[],"rp":["pez","peza","piez"]},"166":{"input":[2,3,6,8],"tlp":["espi",3579],"trp":["pid",4842],"trw":["pies",1461],"lp":["espi","disp","dip","epis","spie","spid"],"rp":["pid","pedi","pied","pies","pidi","pide","pesi","ispe","ipes","k'","kesp"]},"167":{"input":[1,2,3,6,8],"tlw":["despedida",172],"trw":["paises",358],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",2633],"trp":["pit",4928],"lp":["tip","tipi"],"rp":["pit","piti","pti","ipt","ipit"]},"169":{"input":[1,4,6,8],"tlp":["apit",3167],"trp":["pita",2814],"tlw":["tapia",110],"lp":["apit","tapi","vap"],"rp":["pita","pati","pav"]},"170":{"input":[2,4,6,8],"tlp":["cip",5255],"trp":["pci",1379],"lp":["cip","cipi","spit","scip","visp"],"rp":["pci","pist","icip","pic","ipc","ipci","ipic","psic","pisc","ptic"]},"171":{"input":[1,2,4,6,8],"tlw":["capaz",1523],"trw":["pista",305],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["repi",892],"trp":["pri",18110],"tlw":["repetir",243],"trw":["pierre",163],"lp":["repi","epit","epti","rip","rpi","trip","epri","erpi"],"rp":["pri","peri","pir","pier","piri","peti","priv","prev","ptie","piet","perv","pite"]},"173":{"input":[1,3,4,6,8],"tlw":["repetia",185],"trw":["partir",944],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["especie",1047],"trw":["pedir",513],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["capacidad",547],"trw":["parecia",4070],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",147074],"trw":["mi",29966],"lp":[],"rp":["mi","im","min","imp","imi","nim","inm","pin","mpi","mini","nmi","impi","pini","imin","inim","hip","him","imn","ph","phi"]},"177":{"input":[1,5,6,8],"tlp":["ami",19873],"trp":["ima",14150],"tlw":["anima",95],"trw":["mia",816],"lp":["ami","amin","anim","aim"],"rp":["ima","mina","iam","mia","mani","nima","pani","impa","ham","mpia","niam","mai","nami","mian","inam","imam"]},"178":{"input":[2,5,6,8],"tlp":["sim",4131],"trp":["mis",25550],"trw":["mis",5514],"lp":["sim","simp","simi","spin","smi","smis","sism"],"rp":["mis","ism","mism","misi","isim","insp","nspi","jim","nism","imis","hisp","ismi","jimi"]},"179":{"input":[1,2,5,6,8],"tlw":["animas",76],"trw":["misma",3576],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",4450],"trp":["mie",21370],"lp":["emi","empi","emin"],"rp":["mie","iem","iemp","mien","ime","imie","hem","inme","imen","pien","nemi","impe","miem","mpie","meni","heme","mine"]},"181":{"input":[1,3,5,6,8],"tlw":["empieza",396],"trw":["maxima",192],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["dime",307],"trw":["impide",99],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["demasiadas",229],"trw":["media",1745],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",9690],"trp":["mbi",15416],"lp":["tim","vim","timi","vimi","timb"],"rp":["mbi","mit","miti","ntim","pint","imit","imb","itm","pib","mbit","itim","ivim","mbin","mib","ptib"]},"185":{"input":[1,4,5,6,8],"trw":["pinta",126],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",64],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["capitan",1308],"trw":["incapaz",452],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["verme",274],"trw":["primer",2357],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["tambien",10237],"trw":["primera",3631],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["siempre",8021],"trw":["presidente",1129],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["encima",2175],"trw":["mientras",7333],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",202728],"trw":["pop",64],"lp":[],"rp":["po","op","opo","pop","ppo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",2962],"trp":["opa",4287],"trw":["popa",199],"lp":["apo"],"rp":["opa","popa"]},"194":{"input":[2,7,8],"tlp":["spo",8366],"trp":["pos",15078],"trw":["pos",130],"lp":["spo","spos","sop","sosp","sopo"],"rp":["pos","osp","opos","poso","pso","ops"]},"195":{"input":[1,2,7,8],"tlp":["apos",275],"trp":["paso",5668],"tlw":["sopa",128],"trw":["paso",4414],"lp":["apos","sopa"],"rp":["paso","opas","posa","pow"]},"196":{"input":[3,7,8],"tlp":["epo",1772],"trp":["ope",2726],"lp":["epo","eppo"],"rp":["ope","peo","poe","opeo","pope"]},"197":{"input":[1,3,7,8],"tlp":["xpo",209],"trp":["opea",131],"lp":["xpo","expo"],"rp":["opea"]},"198":{"input":[2,3,7,8],"tlp":["espo",6435],"trp":["pod",19770],"tlw":["esposo",391],"trw":["peso",623],"lp":["espo","epos","depo","dop","speo","dope"],"rp":["pod","pode","pose","ospe","peso","poes","psoe","peos","podo"]},"199":{"input":[1,2,3,7,8],"tlw":["esposa",926],"trw":["pasado",2726],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",143],"trp":["pto",1342],"trw":["opto",99],"lp":["top"],"rp":["pto","pot","opt","opto"]},"201":{"input":[1,4,7,8],"tlp":["apag",394],"trp":["pag",2930],"tlw":["apago",137],"trw":["pago",329],"lp":["apag","tapo"],"rp":["pag","paga","pago","pato","opag","opta"]},"202":{"input":[2,4,7,8],"tlp":["cop",1471],"trp":["poc",14176],"trw":["poco",8226],"lp":["cop","scop","copo","tops"],"rp":["poc","poco","post","opc","ptos"]},"203":{"input":[1,2,4,7,8],"tlw":["copa",496],"trw":["pocas",752],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",11433],"trp":["por",105551],"tlw":["torpe",134],"trw":["por",82819],"lp":["rop","rpo","erpo","trop","ropo","epto"],"rp":["por","pero","pro","preg","prop","port","orp","orpr","preo","prot","opor","peor","oper","peg"]},"205":{"input":[1,3,4,7,8],"tlw":["ropa",972],"trw":["pagar",556],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["espero",808],"trw":["poder",3232],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["aspecto",1030],"trw":["profesor",509],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["mo",151250],"trw":["puno",277],"lp":[],"rp":["mo","om","pu","mu","omo","mpo","um","omp","up","pon","mon","mun","mom","pun","upo","nom","omu","omun","num","umo"]},"209":{"input":[1,5,7,8],"tlp":["amo",19266],"trp":["mano",16278],"tlw":["amo",786],"trw":["mano",5872],"lp":["amo","ampo","apu","amon","aum"],"rp":["mano","oma","ompa","uma","pano","upa","uman","oman","manu","pau","mona","maqu","namo","umna","uap"]},"210":{"input":[2,5,7,8],"tlp":["spu",13016],"trp":["mos",30677],"tlw":["somos",935],"trw":["puso",2090],"lp":["spu","smo","sup","spon","som","supo","supu","sum","somo","smos"],"rp":["mos","muj","pus","puso","mpos","mus","moso","omos","pons","usp"]},"211":{"input":[1,2,5,7,8],"tlw":["suma",280],"trw":["manos",4296],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emo",15453],"trp":["pue",46340],"tlw":["empeno",236],"trw":["muy",14472],"lp":["emo","empo","emon","epu"],"rp":["pue","ome","muy","omen","mue","meno","mome","ume","pone","upe","umen","nume","nemo","upue","poy","memo"]},"213":{"input":[1,3,5,7,8],"tlw":["apoyo",685],"trw":["pequeno",1827],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["despues",9579],"trw":["menos",6628],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["amado",313],"trw":["mando",1140],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",6546],"trp":["omb",23704],"tlw":["tomo",1241],"trw":["punto",3190],"lp":["tom","tum","tumb","tomo","tup","bom","tmo"],"rp":["omb","punt","nomb","umb","pub","mont","pob","mbo","mot","pong","put","moto","umbo"]},"217":{"input":[1,4,5,7,8],"tlw":["toma",528],"trw":["punta",577],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["como",50874],"trw":["puntos",421],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["tampoco",2231],"trw":["montanas",596],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["grupo",2081],"trw":["momento",6711],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forma",3330],"trw":["porque",13945],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["cuerpo",3541],"trw":["mujer",5923],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["respuesta",1354],"trw":["personas",2316],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",26745],"trw":["pollo",147],"lp":[],"rp":["pl","opi","pli","pio","pol","poli","lp","ipo","olp","plo","opio","ipio","pil","lip","lop","plio","ipl","pill","ilip","lipo"]},"225":{"input":[1,6,7,8],"tlp":["apl",391],"trp":["pal",11994],"tlw":["apolo",118],"trw":["plaza",1014],"lp":["apl","apol","apil","apli","alop","apla"],"rp":["pal","pla","pala","opia","ipal","lpa","plaz","palo","pali","plia","pila","poz","pozo","lap"]},"226":{"input":[2,6,7,8],"tlp":["spl",427],"trp":["posi",7976],"tlw":["soplo",116],"trw":["piso",796],"lp":["spl","sopl","spio"],"rp":["posi","ispo","pios","piso","ospi","ipos","plos","lpis","opsi"]},"227":{"input":[1,2,6,7,8],"trw":["pasillo",584],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["epl",1170],"trp":["pel",8010],"trw":["piel",1315],"lp":["epl","epli","elip","eple"],"rp":["pel","ple","lpe","olpe","peli","pelo","piel","pele","opie","pell","lipe","lope","pole","lpeo","pleo","opel"]},"229":{"input":[1,3,6,7,8],"trw":["papel",1409],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["episodio",202],"trw":["podido",1018],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["espalda",1291],"trw":["podia",6502],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["golp",2796],"trp":["polv",730],"tlw":["tipo",2063],"trw":["polvo",512],"lp":["golp","tipo","gip","gipt","tipl"],"rp":["polv","pito","ipto","ipot","ltip","plit"]},"233":{"input":[1,4,6,7,8],"tlw":["filipo",307],"trw":["patio",737],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["tipos",271],"trw":["politicos",569],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["capital",627],"trw":["politica",1189],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["golpe",1615],"trw":["propio",2058],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["felipe",457],"trw":["propia",1864],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["replico",777],"trw":["perdido",1215],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["especial",896],"trw":["podria",2740],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["hom",15529],"trw":["mil",2026],"lp":[],"rp":["hom","mil","lm","mpl","imo","omi","mili","impo","mino","hum","lim","moni","ompl","mio","mpli","lum","poni","pul","mplo","impl"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["alma",1817],"trw":["mal",3264],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"trw":["mismo",8546],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["suponia",297],"trw":["humanos",580],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["empleo",215],"trw":["pleno",336],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["empezo",1641],"trw":["manuel",722],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["ejemplo",1285],"trw":["medio",3051],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["demasiado",2974],"trw":["podian",1303],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"trw":["ultimo",2103],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["amigo",2622],"trw":["ultima",1629],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["conmigo",1217],"trw":["mucho",7468],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["camino",3366],"trw":["muchas",2632],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["tiempo",9492],"trw":["hombre",8282],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["finalmente",1135],"trw":["hermano",2152],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["respondio",2029],"trw":["hombres",5292],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["comenzo",1401],"trw":["palabras",3233],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",68],"tlw":["a",207382],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",1790],"tlw":["s",277],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",412461],"lp":["as","sa","asa","sas","asas","wa","ass","ssa","was","saa","aw"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",4724],"tlw":["e",5916],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",27380],"tlw":["ex",477],"lp":["ea","ex","ae","xa","exa","ax","axa","xx"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",743538],"tlw":["de",453446],"lp":["de","es","se","ed","des","ese","ede","sd","esd","desd","sde","esde","ses","ded","dese","eses","edes","eded","sed","ees"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",219474],"tlw":["esa",8099],"lp":["ad","da","dad","ada","esa","eda","ade","das","ase","sad","edad","sea","dea","dade","esas","asad","ades","desa","adas","ases"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",782],"tlw":["t",90],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",307672],"tlw":["f",113],"lp":["ta","at","fa","ata","af","afa","tat","fat","fata","att","taf","ft","atat","tata","ff","ataf","tf","atf"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",235201],"tlw":["c",615],"lp":["st","sc","ct","cc","tc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",200066],"tlw":["casa",9057],"lp":["ca","ac","sta","cas","ast","tas","asta","casa","sca","aca","act","sac","stas","tac","cta","acc","sf","fac","cat","cast"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",499829],"tlw":["te",14709],"lp":["er","re","te","tr","rt","rr","et","ert","ter","tre","ere","err","rte","rre","ete","erte","ret","rer","etr","terr"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ra",416643],"tlw":["era",32659],"lp":["ra","ar","era","tra","ara","tar","are","fe","rta","art","fr","rar","rra","erra","ef","erta","atr","eta","arr","rat"],"rp":[]},"14":{"input":[2,3,4],"tlp":["est",139908],"tlw":["ser",12211],"lp":["est","ec","ce","res","rec","rd","cer","cr","dr","ste","rs","ser","tes","str","ces","rc","esc","der","erd","ece"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["esta",69315],"tlw":["esta",18675],"lp":["esta","ras","ace","car","rad","tad","tras","acer","adr","arec","sar","cad","ard","rac","rda","adre","dar","stra","rca","erda"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",1348],"trw":["n",91],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",382423],"trp":["na",233186],"tlw":["ana",597],"lp":["an","ana","aq","anan","anq","ann","anna"],"rp":["na","nq","nan","nana","nna"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",1069],"trp":["ns",48331],"trw":["j",166],"lp":["sn"],"rp":["ns","nj"]},"19":{"input":[1,2,5],"tlp":["aj",27458],"trp":["ja",36319],"tlw":["san",1894],"trw":["ja",145],"lp":["aj","san","aja","anas","ans","sq","saj","anj","ansa","asan","ajas","ajan"],"rp":["ja","nas","nsa","jan","jas","naj","nsan","nsaj"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",684719],"trp":["ne",94467],"tlw":["en",194129],"trw":["y",254303],"lp":["en","ene","ey","enen","eye","eyen","een","enn","enne"],"rp":["ne","ye","nen","yen","ny","nne","nny","yn","yene","yne"]},"21":{"input":[1,3,5],"tlp":["ena",25795],"trp":["ya",27580],"tlw":["ay",587],"trw":["ya",19283],"lp":["ena","ay","ane","eq","aya","ean","aye","aen","enan","ayan","enea","anen","ayen","anea","xq","exq"],"rp":["ya","nea","yan","nex"]},"22":{"input":[2,3,5],"tlp":["ej",40475],"trp":["nd",141755],"tlw":["deje",506],"lp":["ej","end","sen","ens","den","dej","ende","esen","eje","enes","ense"],"rp":["nd","je","nes","nde","nse","ndes","jes","nden","yend"]},"23":{"input":[1,2,3,5],"tlp":["and",60909],"trp":["nad",25609],"tlw":["deja",806],"trw":["nada",10498],"lp":["and","eja","ensa","aje","deja","dan","enas","ande","anda","ejan","sena","enda","anad","dena","dand"],"rp":["nad","nda","nada","jad","jand"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",656],"trp":["nt",349002],"tlw":["b",221],"lp":["bt","tb","bn"],"rp":["nt"]},"25":{"input":[1,4,5],"tlp":["ab",230416],"trp":["nta",49640],"tlw":["tan",12045],"lp":["ab","ba","aba","ant","tan","tab","taba","ban","tant","aban","anta","bat","tana"],"rp":["nta","nf","ntan","nat","ntab","nab","naba"]},"26":{"input":[2,4,5],"tlp":["bs",5233],"trp":["nc",100151],"lp":["bs","bj","bst","cn","sb","bc","tj"],"rp":["nc","nst","nsc"]},"27":{"input":[1,2,4,5],"tlp":["stab",23089],"trp":["nca",10670],"tlw":["santa",1043],"lp":["stab","cab","sab","anc","baj","can","stan","caba","abaj","bas","acab","baja","saba","sant","tanc","bast"],"rp":["nca","ntas","nac","nsta"]},"28":{"input":[3,4,5],"tlp":["ent",186144],"trp":["nte",139591],"tlw":["entre",11695],"lp":["ent","br","ente","ten","bre","be","entr","eb","ren","rn","ber","ener","ern","tene"],"rp":["nte","ntr","ner","ntre","nter","nten"]},"29":{"input":[1,3,4,5],"tlp":["ran",49950],"trp":["ntra",26185],"tlw":["eran",5913],"trw":["yabran",492],"lp":["ran","ante","abe","enta","bra","abr","rab","rq","raba","bar","eran","aber","trab","abra","tran","rant"],"rp":["ntra","nar","nera","ntar"]},"30":{"input":[2,3,4,5],"tlp":["enc",41323],"trp":["ntes",22621],"tlw":["debe",1755],"lp":["enc","sent","cen","deb","dent","bres","tend","rend","rden","tenc","debe","cent"],"rp":["ntes","nce","jer","nces","nec","nece","ndr","nder"]},"31":{"input":[1,2,3,4,5],"tlw":["estaba",15906],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",1864],"trw":["i",432],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["za",46428],"trp":["ia",302035],"lp":["za","az","ai","aza","aia","zi","azi","zz","aiz","azz"],"rp":["ia","iz","iza","izz","iaz"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",193578],"trp":["is",104027],"tlw":["si",37389],"lp":["si","sis","sk","ssi"],"rp":["is","isi","ki","iss","isis","ik","iki","kis","ikis","kiss","isk","issi"]},"35":{"input":[1,2,6],"tlp":["asi",27185],"trp":["ias",18810],"tlw":["asi",11044],"trw":["kazz",77],"lp":["asi","sia","asia","zas","ais","sias","wi","asis","aisa","wis","wiss","azas","ak"],"rp":["ias","isa","izas","isas","ka","ika","issa"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",15743],"trp":["ie",233722],"lp":["ei","eei"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ez",37550],"trp":["iez",3157],"tlw":["xii",131],"trw":["ix",78],"lp":["ez","eza","xi","exi","eia","axi","xii","zie","azie","xix","xiii","ze"],"rp":["iez","ieza","ix"]},"38":{"input":[2,3,6],"tlp":["di",175458],"trp":["id",129921],"tlw":["seis",1304],"trw":["kid",113],"lp":["di","edi","sie","esi","die","sid","dis","did","side","eis","esid","edid","sei"],"rp":["id","ide","ies","ied","idi","iese","ise"]},"39":{"input":[1,2,3,6],"tlp":["dia",37584],"trp":["ida",49293],"tlw":["dia",8188],"trw":["idea",2311],"lp":["dia","adi","edia","dias","adie","dida","siad","zad","sida","xis","exis","esia","aid","diez"],"rp":["ida","idad","iad","idea","idas","ieda"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",133369],"trp":["it",63123],"tlw":["ti",1888],"trw":["iv",187],"lp":["ti","vi","viv","tiv","tit","vivi","vit","tti","tivi","vii","viii"],"rp":["it","iv","iti","ivi","itiv"]},"41":{"input":[1,4,6],"tlp":["va",51609],"trp":["ita",23108],"tlw":["va",3371],"lp":["va","fi","av","via","tia","avi","ati","avia","ava","fia","vita","tiva","afi","fav","ativ"],"rp":["ita","if","ifi","iva","iat"]},"42":{"input":[2,4,6],"tlp":["ci",238810],"trp":["ic",95632],"lp":["ci","sti","vis","tic","sit","cci","vist","cis","cti","sic","vic","visi","sist","cit","tici"],"rp":["ic","ist","ici","isti","isc"]},"43":{"input":[1,2,4,6],"tlp":["cia",69052],"trp":["ica",24474],"tlw":["casi",5393],"lp":["cia","aci","acia","fic","fici","casi","cias","tica","stia","taci","vas","sita","asti","saci","acti","acci"],"rp":["ica","ista","icia","ific"]},"44":{"input":[3,4,6],"tlp":["ri",190312],"trp":["ir",83670],"tlw":["ver",6228],"trw":["ir",2754],"lp":["ri","ve","ev","eri","ver","tie","vie","rti","rri","rit","rv","rie","tir","erv","tri","teri"],"rp":["ir","ier","iert","ire"]},"45":{"input":[1,3,4,6],"tlp":["ria",49114],"trp":["ira",16443],"tlw":["vez",12860],"trw":["ira",503],"lp":["ria","ari","eva","eria","vez","aria","raz","ave","var","zar","arti","rz","erz","rav","rza","fie"],"rp":["ira","iera","itar","iar"]},"46":{"input":[2,3,4,6],"tlp":["eci",43130],"trp":["ice",8339],"tlw":["decir",4827],"trw":["irse",431],"lp":["eci","cie","reci","dic","vid","deci","cid","rid","ris","cri","tid","dir","cier","cir","esti","rdi","dri","ves"],"rp":["ice","iste"]},"47":{"input":[1,2,3,4,6],"tlw":["vida",8817],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",187273],"trw":["ni",13944],"lp":[],"rp":["in","ni","hi","nin","ini","hin","hn","inn","nh","hnn"]},"49":{"input":[1,5,6],"tlp":["ah",14690],"trp":["ha",179890],"tlw":["ahi",2676],"trw":["ha",13606],"lp":["ah","ani","anz","anza","ahi","ania","zan","zq"],"rp":["ha","ian","ina","nia","nz","nza","han","hiz","iq","nian","iana","nina"]},"50":{"input":[2,5,6],"tlp":["sin",33228],"trp":["ij",25903],"tlw":["sin",21600],"lp":["sin","sini","sh","shi"],"rp":["ij","nsi","hij","ins","his","nis","ji","nsis","inis","insi","jin","nk","hisi","iji","inj","nins"]},"51":{"input":[1,2,5,6],"tlp":["siq",2408],"trp":["has",20672],"tlw":["ansia",145],"trw":["has",2554],"lp":["siq","ansi","sina","asin","anis","ash"],"rp":["has","ija","iaj","inas","hija","nzas","jai","nias","iaja","nsia","ijas","isaj","hans","isan"]},"52":{"input":[3,5,6],"tlp":["eni",26205],"trp":["ien",107409],"tlw":["eh",468],"trw":["he",7264],"lp":["eni","ein","enie","eh","enin","ehi","enei"],"rp":["ien","he","iene","ine","nie","nien","hie","inie","hen","inen","nei","nhe","nine"]},"53":{"input":[1,3,5,6],"tlp":["enia",16307],"trp":["hay",9090],"trw":["hay",7403],"lp":["enia","enz","enza","eina","enaz","eian","ezan","anie","eniz","aine"],"rp":["hay","haya","inea","ienz","hae","nez","hez","iena","yah","inez"]},"54":{"input":[2,3,5,6],"tlp":["dij",16709],"trp":["ndi",19946],"tlw":["dije",1690],"trw":["ines",410],"lp":["dij","endi","enid","sien","din","dien","dine","dije","ensi"],"rp":["ndi","iend","nid","ind","iden","ndid","indi","iej","ije","nsid","iens"]},"55":{"input":[1,2,3,5,6],"tlw":["ansiedad",269],"trw":["nadie",5526],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",119303],"trp":["ib",32479],"trw":["ibn",155],"lp":["bi","tin","vin","bit","th","tint"],"rp":["ib","int","nti","nv","ibi","nvi","ntin","inti","inv","nit","invi","niv","init","nvit"]},"57":{"input":[1,4,5,6],"tlp":["abi",63989],"trp":["hab",72658],"tlw":["fin",4343],"trw":["habia",39290],"lp":["abi","bia","abia","fin","bian","van","anti","fina","vant","vab","vaba","abit","zab"],"rp":["hab","habi","iba","inf","nfi","itan","ntia"]},"58":{"input":[2,4,5,6],"tlp":["ch",74839],"trp":["nci",46192],"lp":["ch","cin","sib","chi","stin","cinc","cib","chic","sint","cibi"],"rp":["nci","inc","nic","hic","ich","inci","inst","hist","nch","hici"]},"59":{"input":[1,2,4,5,6],"tlw":["sabia",3858],"trw":["hasta",13934],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["bie",35373],"trp":["ient",36355],"tlw":["bien",10956],"lp":["bie","bien","ven","teni","bri","enti","tien","bier","rin","rib","ebi","rien","vien","vent"],"rp":["ient","inte","her","nve","ibr","nri"]},"61":{"input":[1,3,4,5,6],"tlw":["tenia",10650],"trw":["haber",3961],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["tienes",1622],"trw":["interes",873],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["cabeza",5567],"trw":["hacer",6941],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",993],"trw":["o",22465],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",736],"trp":["oa",1039],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",149815],"trp":["os",465150],"tlw":["sos",79],"trw":["os",2177],"lp":["so","sos","sso"],"rp":["os","oso","osos","oss","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["aso",13706],"trp":["osa",17222],"lp":["aso","asos","aos","saso","wo"],"rp":["osa","osas","ow","oas"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",16208],"trp":["oe",2284],"trw":["-",992],"lp":["eo"],"rp":["oe"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",492],"trp":["ox",1396],"lp":["xo","exo"],"rp":["ox"]},"70":{"input":[2,3,7],"tlp":["do",328036],"trp":["od",79897],"tlw":["dos",13303],"lp":["do","dos","eso","edo","esos","dedo","seo","eseo","dose","edos","deo","eos","seos"],"rp":["od","odo","odos","ode","ose","oses","oes"]},"71":{"input":[1,2,3,7],"tlp":["ado",89938],"trp":["oda",15354],"tlw":["dado",2055],"lp":["ado","ados","dado","sado","eado","aseo","sexo","adeo","dosa","dox","adox"],"rp":["oda","odas","odea","osad","owe"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",261028],"trp":["ot",48115],"tlw":["g",93],"lp":["to","go","tot","got","goo","goog","tog","gt","gto","gg","goto","tto"],"rp":["ot","og","oto","oog","otog","ogo","ogg"]},"73":{"input":[1,4,7],"tlp":["ga",53335],"trp":["of",10649],"tlw":["foto",316],"trw":["of",213],"lp":["ga","ag","fo","ato","ago","aga","tota","fot","foto","gat","tag","afo","gota","gato","tago","gaf"],"rp":["of","ota","oga","ofo"]},"74":{"input":[2,4,7],"tlp":["co",351806],"trp":["oc",68424],"tlw":["toco",325],"lp":["co","sto","tos","cos","cto","sco","gos","stos","sot","cost","coc","cog","soc","sg"],"rp":["oc","oco","ost","osot","osc","oct"]},"75":{"input":[1,2,4,7],"tlp":["cosa",9340],"trp":["oca",11672],"tlw":["cosas",5443],"lp":["cosa","aco","caso","gas","acto","atos","gac","sof","toca","saco","asto","cato","sag","asco","acos"],"rp":["oca","ocas","osta","otas","osof"]},"76":{"input":[3,4,7],"tlp":["ro",246584],"trp":["or",270405],"tlw":["error",581],"trw":["otro",8826],"lp":["ro","ero","eg","tro","gr","ge","rg","tor","ego","rto","reg","erto","rro","rgo"],"rp":["or","otr","otro","ort","ore","orr"]},"77":{"input":[1,3,4,7],"tlp":["gra",22435],"trp":["ora",27567],"tlw":["rato",1491],"trw":["otra",7718],"lp":["gra","aro","gar","ega","arg","for","argo","rga","egar","atro","arga","rato","rof","agr","age","arro","arto"],"rp":["ora","otra","orta"]},"78":{"input":[2,3,4,7],"tlp":["tod",44574],"trp":["ord",10842],"tlw":["todo",18934],"trw":["otros",4846],"lp":["tod","ros","todo","esto","seg","cor","tros","dor","stro","rso","rdo","erso","ecto","eco","eros","corr","reco"],"rp":["ord","ores","oce"]},"79":{"input":[1,2,3,4,7],"tlw":["toda",5491],"trw":["otras",3010],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",376567],"trw":["no",116565],"lp":[],"rp":["on","no","un","nu","uno","ono","nun","uo","nuo","non","ou","onu","onun","uu","oun","nou","nnu","nuno","onn"]},"81":{"input":[1,5,7],"tlp":["qu",432873],"trp":["una",93404],"tlw":["aun",5685],"trw":["una",79449],"lp":["qu","ano","aqu","au","aun","aunq","anu","anqu"],"rp":["una","ua","uan","ona","nqu","unq","unqu","nua","oq","oqu","uq","uqu"]},"82":{"input":[2,5,7],"tlp":["su",160644],"trp":["us",78931],"tlw":["su",81749],"trw":["nos",11959],"lp":["su","sus","son","sun"],"rp":["us","jo","nos","ju","jos","ons","oj","uj","unos","ojo","uso","ojos","jun","nso","noso","jus"]},"83":{"input":[1,2,5,7],"tlp":["anos",18802],"trp":["unas",5230],"tlw":["anos",8719],"trw":["unas",3324],"lp":["anos","ajo","sona","aus","asu","sua","ausa","squ","asun"],"rp":["unas","usa","jua","juan","onas","oja","uas","onaj","onsa","osq","osqu"]},"84":{"input":[3,5,7],"tlp":["eno",33962],"trp":["ue",565691],"trw":["yo",19966],"lp":["eno","eu","enu","eon","eun","eyo"],"rp":["ue","yo","uen","one","uy","nue","oy","ueno","uyo","yu","oye","une","oyo","yun"]},"85":{"input":[1,3,5,7],"tlp":["que",383802],"trp":["nque",7839],"tlw":["que",312514],"lp":["que","aque","ayo","equ","eque","quen","ayu","anue","ayun","aneo","xu","exu","xua","exua"],"rp":["nque","uena","uya","oya","uque","oque"]},"86":{"input":[2,3,5,7],"tlp":["du",23000],"trp":["ndo",74158],"tlw":["donde",10101],"trw":["jose",1204],"lp":["du","don","ejo","endo","dond","enos","seno","sue"],"rp":["ndo","ues","ud","ond","ued","ones","onde","und","uje","nues","undo","uede"]},"87":{"input":[1,2,3,5,7],"tlw":["quedo",2301],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["gu",90299],"trp":["nto",80019],"tlw":["tu",10629],"trw":["noto",316],"lp":["gu","tu","gun","bo","bu","ton","gunt"],"rp":["nto","ob","ont","ng","unt","ub","ut","unto","nton","ug","ngu","uto","ngo"]},"89":{"input":[1,4,5,7],"tlp":["fu",44220],"trp":["uga",7270],"tlw":["tanto",6066],"trw":["nota",486],"lp":["fu","anto","gua","gan","guna","tua","agu","ang","agua","fun","abo","atu","fon"],"rp":["uga","unta","uant","onta","onf","uta","oba"]},"90":{"input":[2,4,5,7],"tlp":["con",167856],"trp":["uc",36702],"tlw":["con",92933],"trw":["junto",3143],"lp":["con","cu","cont","sob","cons","scu","cono","stu","tonc"],"rp":["uc","noc","ust","nco","onc","ntos","unc","ocu","onoc","ncon","nunc"]},"91":{"input":[1,2,4,5,7],"tlw":["bajo",4396],"trw":["nunca",6044],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ento",40726],"trp":["ur",54620],"tlw":["gente",4061],"trw":["negro",1571],"lp":["ento","ron","egu","ru","gen","egun","eron","enor","tur","bue","buen"],"rp":["ur","uer","obr","obre","nor","uert","ontr","uro","uent"]},"93":{"input":[1,3,4,5,7],"tlw":["fue",13323],"trw":["obra",1151],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["sobre",15089],"trw":["usted",6039],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["cuando",21007],"trw":["nuestra",3160],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["lo",300357],"trw":["lo",69406],"lp":[],"rp":["lo","io","ll","li","ol","il","llo","olo","ill","ili","oli","lli","illo","lio","oi","ilo","oll","iol","ollo","ilio"]},"97":{"input":[1,6,7],"tlp":["al",268424],"trp":["la",523649],"tlw":["al",55586],"trw":["la",292004],"lp":["al","zo","all","ali","ala","azo","alo","alli","alla","allo"],"rp":["la","lla","lia","illa","ial","oz","ola","izo","ilia","ila"]},"98":{"input":[2,6,7],"tlp":["sol",26132],"trp":["los",142568],"tlw":["solo",13145],"trw":["los",122255],"lp":["sol","sio","solo","sil","sill","sl","soli"],"rp":["los","ios","llos","osi","iso","isio","ls","ioso","lis","ols","lso","loso","isl"]},"99":{"input":[1,2,6,7],"tlp":["sal",19326],"trp":["las",90934],"tlw":["salio",1704],"trw":["las",76432],"lp":["sal","sali","zos","asio","sola","sala","azos","sla","alas","salo","asil","als","alis"],"rp":["las","llas","iosa","lsa","olas","isla","olsa"]},"100":{"input":[3,6,7],"tlp":["el",426668],"trp":["le",198463],"tlw":["el",234850],"trw":["le",48083],"lp":["el","ell","ello","elo","ele","eli","elle","elli"],"rp":["le","lle","ole","ile","iel","lie","ielo","leo","lee","iole","lei","ille"]},"101":{"input":[1,3,6,7],"tlp":["ella",27778],"trp":["lez",2228],"tlw":["ella",14508],"trw":["leia",238],"lp":["ella","ale","ela","alle","eal","eali","ezo","alie","alez","eliz","elia","ael","xio","exio"],"rp":["lez","leza","lea","iale","oxi","llez"]},"102":{"input":[2,3,6,7],"tlp":["del",76844],"trp":["ido",57544],"tlw":["del",70196],"trw":["les",7650],"lp":["del","dio","dios","dido","sido","edio","esio","dol","sile","eles"],"rp":["ido","les","odi","lid","ld","idos","ilid","oles","idio","iles"]},"103":{"input":[1,2,3,6,7],"tlw":["ellas",1912],"trw":["lado",4590],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",45659],"trp":["ig",52962],"tlw":["volvio",2823],"trw":["oigo",95],"lp":["vo","gi","vio","vol","tio","volv","gl"],"rp":["ig","lt","lg","lv","ito","ov","igo","olv","lgo","lvi","olvi","lto","lig"]},"105":{"input":[1,4,6,7],"tlp":["alg",26073],"trp":["lta",13054],"tlw":["algo",9338],"trw":["italia",381],"lp":["alg","tal","alt","algo","fl","alta","val","agi","voz","fal","alto","tall","avo","alv","gia"],"rp":["lta","iga","lat","ofi","lav"]},"106":{"input":[2,4,6,7],"tlp":["cio",75669],"trp":["ico",18875],"tlw":["visto",3153],"trw":["loco",681],"lp":["cio","cl","sig","col","ccio","cil","vos","cios","colo"],"rp":["ico","lic","icio","oci","isto","lc","loc","icos","lici","lico","igos"]},"107":{"input":[1,2,4,6,7],"tlw":["facil",1160],"trw":["oficial",985],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rio",36719],"trp":["leg",18029],"tlw":["rio",1831],"trw":["llego",2460],"lp":["rio","rl","erio","evo","gri","tori","tel","erl","rlo","rig"],"rp":["leg","ori","lev","lleg","iero","lor","llev","ove","ler","iro"]},"109":{"input":[1,3,4,6,7],"tlw":["favor",1408],"trw":["llegar",2630],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["cierto",3067],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["todavia",3269],"trw":["llegado",1772],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ui",77353],"trw":["nino",1684],"lp":[],"rp":["ui","ion","ho","lu","ul","ino","hu","uni","oni","nio","lin","lon","ulo","iu","inu","olu","onio","uin","nino","uil"]},"113":{"input":[1,5,6,7],"tlp":["qui",49071],"trp":["lan",19182],"tlw":["aqui",6351],"trw":["hizo",5133],"lp":["qui","aho","aqui","zon","azon","alq","alqu"],"rp":["lan","ual","nal","uz","iona","hizo","ula","iqu","lq","lqu","lqui","inal","ualq"]},"114":{"input":[2,5,6,7],"tlp":["sion",15408],"trp":["ijo",20150],"tlw":["sino",5212],"trw":["hijo",3480],"lp":["sion","sino","sul","solu"],"rp":["ijo","hos","hijo","usi","uis","lus","inos","onsi","luso","ijos","usio","ulos","nsio","luis","jul","juli"]},"115":{"input":[1,2,5,6,7],"tlw":["quiso",1107],"trw":["julia",613],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["elen",1805],"trp":["uel",35859],"trw":["hoy",2254],"lp":["elen","euni"],"rp":["uel","uie","uien","len","uell","ione","lue","uelo","llen","ilen","lien","hoy","ley","hue","lone","line","leno","nel"]},"117":{"input":[1,3,5,6,7],"tlw":["quien",8560],"trw":["linea",925],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["dijo",13944],"trw":["lejos",1983],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["aquellos",2619],"trw":["juez",487],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",44167],"trp":["lgu",15861],"tlw":["tuvo",2452],"trw":["ningun",2097],"lp":["bl","gui","tuv","bio","vu"],"rp":["lgu","ult","igu","lgun","uv","ubi","itu","ing","ibl","hub","onv","lib","hubi","ulti","obl"]},"121":{"input":[1,4,5,6,7],"tlw":["alguna",3442],"trw":["ninguna",2180],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["cinco",2085],"trw":["incluso",2762],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["cual",3860],"trw":["habitacion",1620],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["voy",2278],"trw":["luego",6071],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["ahora",9282],"trw":["lugar",4548],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["dicho",3458],"trw":["noche",5939],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["ciudad",3866],"trw":["historia",2737],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",273],"trw":["p",308],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",34091],"trp":["pa",189321],"trw":["papa",1263],"lp":["ap","apa"],"rp":["pa","pap","papa","ppa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",58765],"trp":["ps",612],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",11453],"trp":["pas",22840],"trw":["pasa",1406],"lp":["spa","asp","sap","sapa","apas","spas"],"rp":["pas","pasa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",17553],"trp":["pe",152316],"tlw":["ep",67],"trw":["pepe",388],"lp":["ep","epe","epp"],"rp":["pe","pep","pepe"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["xp",7112],"trp":["pape",1900],"trw":["pa'",77],"lp":["xp","exp","ape","epa","xpe","expe","a'","xpa","expa"],"rp":["pape","pea","pa'","pepa"]},"134":{"input":[2,3,8],"tlp":["esp",48661],"trp":["pes",7009],"trw":["pese",726],"lp":["esp","spe","espe","desp","sep","dep","sesp","depe","sped","spes"],"rp":["pes","ped","pese","pede"]},"135":{"input":[1,2,3,8],"tlp":["espa",10359],"trp":["pad",10546],"tlw":["espada",1195],"trw":["pase",469],"lp":["espa","esap","aspe","spad","sepa","xped","apad","epas","depa","spea"],"rp":["pad","pesa","pada","pase","peda","pade","pead"]},"136":{"input":[4,8],"trp":["pt",3066],"lp":[],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",602],"trp":["pat",4693],"tlw":["tapa",136],"trw":["pata",128],"lp":["tap","apat","tapa","apt","apta"],"rp":["pat","pta","pata"]},"138":{"input":[2,4,8],"trp":["pc",1379],"lp":[],"rp":["pc"]},"139":{"input":[1,2,4,8],"tlp":["cap",8573],"trp":["pac",6048],"tlw":["capa",378],"trw":["patas",294],"lp":["cap","capa","spac","apac","scap","capt"],"rp":["pac","past","pact"]},"140":{"input":[3,4,8],"tlp":["rp",9074],"trp":["pr",105517],"trw":["peter",135],"lp":["rp","rep","erp","rpr","rpre","ept","repe","epr","epre","repr","rpe"],"rp":["pr","per","pre","pet","pert","pret","prep","perr","pete"]},"141":{"input":[1,3,4,8],"tlp":["apar",7464],"trp":["par",95147],"tlw":["aparte",525],"trw":["para",50839],"lp":["apar","apr","epar","rap","apre","repa","xper","xpr","expr","xpre","epta"],"rp":["par","para","pare","part","pera","pra","perf","patr","pref"]},"142":{"input":[2,3,4,8],"tlp":["resp",9516],"trp":["pres",14702],"tlw":["espere",155],"trw":["perder",971],"lp":["resp","sper","spec","cep","cept","spet","epc","cepc","spr","espr","spre"],"rp":["pres","pec","pers","perd","prec","pect","pedr","perc","pece"]},"143":{"input":[1,2,3,4,8],"tlw":["espera",1024],"trw":["padre",6018],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mp",72228],"trw":["m",171],"lp":[],"rp":["mp","nm","mn","mpp"]},"145":{"input":[1,5,8],"tlp":["am",111190],"trp":["ma",217996],"tlw":["ama",379],"trw":["manana",3399],"lp":["am","ama","amp","aman","ampa"],"rp":["ma","man","pan","mpa","mana","mpan","pana","mam","nam","mama","mna","maq","pam","mpam","nap"]},"146":{"input":[2,5,8],"tlp":["sm",16472],"trp":["nsp",1139],"lp":["sm"],"rp":["nsp","mps","nsm"]},"147":{"input":[1,2,5,8],"tlp":["span",4757],"trp":["mas",62981],"tlw":["sam",202],"trw":["mas",42217],"lp":["span","sma","sam","amas","asm","smas","asma","asam","ansp"],"rp":["mas","jam","jama","nsam","paj","paja","masa","maj","mpas","mnas","mans"]},"148":{"input":[3,5,8],"tlp":["em",88958],"trp":["me",181753],"trw":["me",47087],"lp":["em","emp","eme","emen","empe","enem","epen","emn"],"rp":["me","men","pen","mpe","nem","nme","mem","mene","nmen","mpen","pene","pey"]},"149":{"input":[1,3,5,8],"tlp":["ame",24574],"trp":["mane",7021],"tlw":["examen",171],"trw":["pena",1009],"lp":["ame","amen","ema","eman","apen","enam","eam","eame","xam"],"rp":["mane","may","peq","pena","pane","mae","mena","max","name","mame","mex"]},"150":{"input":[2,3,5,8],"tlp":["dem",13584],"trp":["med",13820],"tlw":["depende",152],"trw":["meses",1727],"lp":["dem","sem","ejem","dm","seme","emej","spej","emed"],"rp":["med","pens","mej","mes","mens","jem","jemp","mese","nmed","pend","mend","pej"]},"151":{"input":[1,2,3,5,8],"tlw":["ademas",3394],"trw":["mesa",2367],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",622],"trp":["mb",53887],"lp":["tm","bm"],"rp":["mb"]},"153":{"input":[1,4,5,8],"tlp":["tam",22247],"trp":["mba",6413],"tlw":["fama",385],"trw":["mata",229],"lp":["tam","amb","tamb","fam","tamp","amab","bam","atam","abam","amba"],"rp":["mba","mat","mant","mab","maba","mata","pant","pab","ntam","mbat"],"special":"numsym"},"154":{"input":[2,4,5,8],"lp":[],"rp":[]},"155":{"input":[1,2,4,5,8],"tlw":["cama",1722],"trw":["pasaba",1017],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",44145],"trp":["ment",47484],"tlw":["repente",849],"trw":["mente",1213],"lp":["rm","erm","empr","tem","rme","emb","rem","term","temp"],"rp":["ment","mbr","mbre","mer","mpr","mpre","pren","met","perm","ntem","mper"]},"157":{"input":[1,3,4,5,8],"tlw":["tema",888],"trw":["manera",3467],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["empece",256],"trw":["presente",701],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["armas",1351],"trw":["madre",4699],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",45492],"lp":[],"rp":["pi","ip","ipi","pip"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",5901],"trp":["pia",3578],"trw":["paz",1186],"lp":["api","apaz","zap","zapa","apia","apiz"],"rp":["pia","paz","pai","ipa","piz","pipa","ppai"]},"162":{"input":[2,6,8],"tlp":["spi",5706],"trp":["isp",4720],"lp":["spi"],"rp":["isp","pis","psi","ispi"]},"163":{"input":[1,2,6,8],"tlp":["spia",239],"trp":["pais",2619],"trw":["pais",1820],"lp":["spia","aspi"],"rp":["pais","pasi","ispa","pias","pisa","psia","ipas"]},"164":{"input":[3,6,8],"tlp":["epi",1192],"trp":["pie",14289],"trw":["pie",2140],"lp":["epi"],"rp":["pie","ipe","ipie","pei"]},"165":{"input":[1,3,6,8],"trp":["pez",4584],"trw":["pieza",377],"lp":[],"rp":["pez","peza","piez"]},"166":{"input":[2,3,6,8],"tlp":["espi",3579],"trp":["pid",4842],"trw":["pies",1461],"lp":["espi","disp","dip","epis","spie","spid"],"rp":["pid","pedi","pied","pies","pidi","pide","pesi","ispe","ipes","k'","kesp"]},"167":{"input":[1,2,3,6,8],"tlw":["despedida",172],"trw":["paises",358],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",2633],"trp":["pit",4928],"lp":["tip","tipi"],"rp":["pit","piti","pti","ipt","ipit"]},"169":{"input":[1,4,6,8],"tlp":["apit",3167],"trp":["pita",2814],"tlw":["tapia",110],"lp":["apit","tapi","vap"],"rp":["pita","pati","pav"]},"170":{"input":[2,4,6,8],"tlp":["cip",5255],"trp":["pci",1379],"lp":["cip","cipi","spit","scip","visp"],"rp":["pci","pist","icip","pic","ipc","ipci","ipic","psic","pisc","ptic"]},"171":{"input":[1,2,4,6,8],"tlw":["capaz",1523],"trw":["pista",305],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["repi",892],"trp":["pri",18110],"tlw":["repetir",243],"trw":["pierre",163],"lp":["repi","epit","epti","rip","rpi","trip","epri","erpi"],"rp":["pri","peri","pir","pier","piri","peti","priv","prev","ptie","piet","perv","pite"]},"173":{"input":[1,3,4,6,8],"tlw":["repetia",185],"trw":["partir",944],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["especie",1047],"trw":["pedir",513],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["capacidad",547],"trw":["parecia",4070],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",147074],"trw":["mi",29966],"lp":[],"rp":["mi","im","min","imp","imi","nim","inm","pin","mpi","mini","nmi","impi","pini","imin","inim","hip","him","imn","ph","phi"]},"177":{"input":[1,5,6,8],"tlp":["ami",19873],"trp":["ima",14150],"tlw":["anima",95],"trw":["mia",816],"lp":["ami","amin","anim","aim"],"rp":["ima","mina","iam","mia","mani","nima","pani","impa","ham","mpia","niam","mai","nami","mian","inam","imam"]},"178":{"input":[2,5,6,8],"tlp":["sim",4131],"trp":["mis",25550],"trw":["mis",5514],"lp":["sim","simp","simi","spin","smi","smis","sism"],"rp":["mis","ism","mism","misi","isim","insp","nspi","jim","nism","imis","hisp","ismi","jimi"]},"179":{"input":[1,2,5,6,8],"tlw":["animas",76],"trw":["misma",3576],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",4450],"trp":["mie",21370],"lp":["emi","empi","emin"],"rp":["mie","iem","iemp","mien","ime","imie","hem","inme","imen","pien","nemi","impe","miem","mpie","meni","heme","mine"]},"181":{"input":[1,3,5,6,8],"tlw":["empieza",396],"trw":["maxima",192],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["dime",307],"trw":["impide",99],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["demasiadas",229],"trw":["media",1745],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",9690],"trp":["mbi",15416],"lp":["tim","vim","timi","vimi","timb"],"rp":["mbi","mit","miti","ntim","pint","imit","imb","itm","pib","mbit","itim","ivim","mbin","mib","ptib"]},"185":{"input":[1,4,5,6,8],"trw":["pinta",126],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",64],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["capitan",1308],"trw":["incapaz",452],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["verme",274],"trw":["primer",2357],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["tambien",10237],"trw":["primera",3631],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["siempre",8021],"trw":["presidente",1129],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["encima",2175],"trw":["mientras",7333],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",202728],"trw":["pop",64],"lp":[],"rp":["po","op","opo","pop","ppo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",2962],"trp":["opa",4287],"trw":["popa",199],"lp":["apo"],"rp":["opa","popa"]},"194":{"input":[2,7,8],"tlp":["spo",8366],"trp":["pos",15078],"trw":["pos",130],"lp":["spo","spos","sop","sosp","sopo"],"rp":["pos","osp","opos","poso","pso","ops"]},"195":{"input":[1,2,7,8],"tlp":["apos",275],"trp":["paso",5668],"tlw":["sopa",128],"trw":["paso",4414],"lp":["apos","sopa"],"rp":["paso","opas","posa","pow"]},"196":{"input":[3,7,8],"tlp":["epo",1772],"trp":["ope",2726],"lp":["epo","eppo"],"rp":["ope","peo","poe","opeo","pope"]},"197":{"input":[1,3,7,8],"tlp":["xpo",209],"trp":["opea",131],"lp":["xpo","expo"],"rp":["opea"]},"198":{"input":[2,3,7,8],"tlp":["espo",6435],"trp":["pod",19770],"tlw":["esposo",391],"trw":["peso",623],"lp":["espo","epos","depo","dop","speo","dope"],"rp":["pod","pode","pose","ospe","peso","poes","psoe","peos","podo"]},"199":{"input":[1,2,3,7,8],"tlw":["esposa",926],"trw":["pasado",2726],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",143],"trp":["pto",1342],"trw":["opto",99],"lp":["top"],"rp":["pto","pot","opt","opto"]},"201":{"input":[1,4,7,8],"tlp":["apag",394],"trp":["pag",2930],"tlw":["apago",137],"trw":["pago",329],"lp":["apag","tapo"],"rp":["pag","paga","pago","pato","opag","opta"]},"202":{"input":[2,4,7,8],"tlp":["cop",1471],"trp":["poc",14176],"trw":["poco",8226],"lp":["cop","scop","copo","tops"],"rp":["poc","poco","post","opc","ptos"]},"203":{"input":[1,2,4,7,8],"tlw":["copa",496],"trw":["pocas",752],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",11433],"trp":["por",105551],"tlw":["torpe",134],"trw":["por",82819],"lp":["rop","rpo","erpo","trop","ropo","epto"],"rp":["por","pero","pro","preg","prop","port","orp","orpr","preo","prot","opor","peor","oper","peg"]},"205":{"input":[1,3,4,7,8],"tlw":["ropa",972],"trw":["pagar",556],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["espero",808],"trw":["poder",3232],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["aspecto",1030],"trw":["profesor",509],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["mo",151250],"trw":["puno",277],"lp":[],"rp":["mo","om","pu","mu","omo","mpo","um","omp","up","pon","mon","mun","mom","pun","upo","nom","omu","omun","num","umo"]},"209":{"input":[1,5,7,8],"tlp":["amo",19266],"trp":["mano",16278],"tlw":["amo",786],"trw":["mano",5872],"lp":["amo","ampo","apu","amon","aum"],"rp":["mano","oma","ompa","uma","pano","upa","uman","oman","manu","pau","mona","maqu","namo","umna","uap"]},"210":{"input":[2,5,7,8],"tlp":["spu",13016],"trp":["mos",30677],"tlw":["somos",935],"trw":["puso",2090],"lp":["spu","smo","sup","spon","som","supo","supu","sum","somo","smos"],"rp":["mos","muj","pus","puso","mpos","mus","moso","omos","pons","usp"]},"211":{"input":[1,2,5,7,8],"tlw":["suma",280],"trw":["manos",4296],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emo",15453],"trp":["pue",46340],"tlw":["empeno",236],"trw":["muy",14472],"lp":["emo","empo","emon","epu"],"rp":["pue","ome","muy","omen","mue","meno","mome","ume","pone","upe","umen","nume","nemo","upue","poy","memo"]},"213":{"input":[1,3,5,7,8],"tlw":["apoyo",685],"trw":["pequeno",1827],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["despues",9579],"trw":["menos",6628],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["amado",313],"trw":["mando",1140],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",6546],"trp":["omb",23704],"tlw":["tomo",1241],"trw":["punto",3190],"lp":["tom","tum","tumb","tomo","tup","bom","tmo"],"rp":["omb","punt","nomb","umb","pub","mont","pob","mbo","mot","pong","put","moto","umbo"]},"217":{"input":[1,4,5,7,8],"tlw":["toma",528],"trw":["punta",577],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["como",50874],"trw":["puntos",421],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["tampoco",2231],"trw":["montanas",596],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["grupo",2081],"trw":["momento",6711],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forma",3330],"trw":["porque",13945],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["cuerpo",3541],"trw":["mujer",5923],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["respuesta",1354],"trw":["personas",2316],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",26745],"trw":["pollo",147],"lp":[],"rp":["pl","opi","pli","pio","pol","poli","lp","ipo","olp","plo","opio","ipio","pil","lip","lop","plio","ipl","pill","ilip","lipo"]},"225":{"input":[1,6,7,8],"tlp":["apl",391],"trp":["pal",11994],"tlw":["apolo",118],"trw":["plaza",1014],"lp":["apl","apol","apil","apli","alop","apla"],"rp":["pal","pla","pala","opia","ipal","lpa","plaz","palo","pali","plia","pila","poz","pozo","lap"]},"226":{"input":[2,6,7,8],"tlp":["spl",427],"trp":["posi",7976],"tlw":["soplo",116],"trw":["piso",796],"lp":["spl","sopl","spio"],"rp":["posi","ispo","pios","piso","ospi","ipos","plos","lpis","opsi"]},"227":{"input":[1,2,6,7,8],"trw":["pasillo",584],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["epl",1170],"trp":["pel",8010],"trw":["piel",1315],"lp":["epl","epli","elip","eple"],"rp":["pel","ple","lpe","olpe","peli","pelo","piel","pele","opie","pell","lipe","lope","pole","lpeo","pleo","opel"]},"229":{"input":[1,3,6,7,8],"trw":["papel",1409],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["episodio",202],"trw":["podido",1018],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["espalda",1291],"trw":["podia",6502],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["golp",2796],"trp":["polv",730],"tlw":["tipo",2063],"trw":["polvo",512],"lp":["golp","tipo","gip","gipt","tipl"],"rp":["polv","pito","ipto","ipot","ltip","plit"]},"233":{"input":[1,4,6,7,8],"tlw":["filipo",307],"trw":["patio",737],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["tipos",271],"trw":["politicos",569],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["capital",627],"trw":["politica",1189],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["golpe",1615],"trw":["propio",2058],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["felipe",457],"trw":["propia",1864],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["replico",777],"trw":["perdido",1215],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["especial",896],"trw":["podria",2740],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["hom",15529],"trw":["mil",2026],"lp":[],"rp":["hom","mil","lm","mpl","imo","omi","mili","impo","mino","hum","lim","moni","ompl","mio","mpli","lum","poni","pul","mplo","impl"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["alma",1817],"trw":["mal",3264],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"trw":["mismo",8546],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["suponia",297],"trw":["humanos",580],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["empleo",215],"trw":["pleno",336],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["empezo",1641],"trw":["manuel",722],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["ejemplo",1285],"trw":["medio",3051],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["demasiado",2974],"trw":["podian",1303],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"trw":["ultimo",2103],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["amigo",2622],"trw":["ultima",1629],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["conmigo",1217],"trw":["mucho",7468],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["camino",3366],"trw":["muchas",2632],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["tiempo",9492],"trw":["hombre",8282],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["finalmente",1135],"trw":["hermano",2152],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["respondio",2029],"trw":["hombres",5292],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["comenzo",1401],"trw":["palabras",3233],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/fn-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/fn-keymap.json index 04e421cf2a..24e357aa16 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/fn-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/fn-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",258251],"tlw":["a",455],"lp":["aa","aaa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",66466],"tlw":["s",731],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",177484],"tlw":["saa",2123],"lp":["sa","as","ssa","saa","ass","assa","aas","ssaa","aass","sas","sass","asa","saas","aaas","wa","ssas","aasa","asas"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",59327],"tlw":["e",519],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",19583],"tlw":["x",52],"lp":["ea","ae","eaa","ex","ax","aae"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["se",143967],"tlw":["se",27105],"lp":["se","es","de","ess","ed","ses","see","des","ede","dess","edes","ees","sess","eess","ese","eese","esee","sse","ssee","eed"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",33895],"tlw":["saada",1657],"lp":["da","essa","ad","ase","eda","aad","ada","eas","aada","ade","saad","sea","esa","aase","ades","seaa","das","daa","eass","asee"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",182756],"tlw":["t",129],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",443960],"tlw":["tata",2224],"lp":["ta","at","tta","taa","att","ttaa","aat","ata","atta","aatt","tat","aata","tata","ataa","fa","ff","ft","af","tatt","aff"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",131877],"tlw":["st",145],"lp":["st","ts","sc","tc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["sta",78874],"tlw":["taas",3738],"lp":["sta","ast","asta","staa","tas","ats","aast","taas","saat","tass","tsa","stas","sat","tast","satt","ac","stat","sata","tsas","sast"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["et",120310],"tlw":["te",3216],"lp":["et","te","ett","er","tte","re","rt","rr","tee","err","eet","ette","ert","tet","ete","tett","ter","rte","ere","etee"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",56709],"tlw":["etta",32564],"lp":["ar","ra","etta","tar","rra","era","erra","raa","eta","rta","aar","art","ara","ate","are","atte","rat","etaa","eraa","erta"],"rp":[]},"14":{"input":[2,3,4],"tlp":["est",21714],"tlw":["ester",156],"lp":["est","tse","ste","set","sest","rs","det","ets","res","dest","ress","tsee","este","sett","dett","rd","rest","ster","tses","der"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["esta",12314],"tlw":["eras",1057],"lp":["esta","ras","ars","eras","atse","dat","rast","aste","east","aras","tsea","etsa","rass","aset","sar","seta","ard","edat","sef","datt"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",48589],"trw":["n",1456],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",427381],"trp":["na",121169],"tlw":["anna",1340],"trw":["na",532],"lp":["an","aan","ana","ann","anna","anaa","aana","anan","aann","anq"],"rp":["na","nna","naa","naan","nan","nnan","nnaa","nq"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",381],"trp":["ns",47964],"trw":["j",621],"lp":["sn"],"rp":["ns","nss","nj"]},"19":{"input":[1,2,5],"tlp":["san",29730],"trp":["ja",188698],"tlw":["ajan",1077],"trw":["ja",138817],"lp":["san","ans","ansa","aj","saan","aja","anss","sana","aans","ajan","ssan"],"rp":["ja","nsa","jaa","jan","nssa","jas","jaan","nas","nsan"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",297363],"trp":["ne",120612],"tlw":["en",8035],"trw":["ne",8601],"lp":["en","een","enn","ene","enne","enen","ey","enee"],"rp":["ne","nen","ny","nne","yy","nee","yn","nnen","yny","neen","nny","yyn"]},"21":{"input":[1,3,5],"tlp":["ane",47273],"trp":["nay",5887],"tlw":["enaa",3363],"trw":["naen",437],"lp":["ane","anen","ay","ena","any","anne","enaa","aen","anee","aane","enna","ean","ayn","eaan","eena","ayny"],"rp":["nay","ya","nae","ynna"]},"22":{"input":[2,3,5],"tlp":["sen",43375],"trp":["ys",15306],"tlw":["sen",18097],"lp":["sen","ens","sy","den","seen","eens","sens","syn","syd","syy"],"rp":["ys","je","yd","ysy","nes","jen","yde","yys","nd","nnes"]},"23":{"input":[1,2,3,5],"tlp":["dan",14539],"trp":["yda",4761],"tlw":["sydan",458],"trw":["jaada",316],"lp":["dan","ensa","syda","anes","sena","ayd","asen","ayde","edan","daan","sean","and","ande","ays","ayda","assy","esan"],"rp":["yda","ydan","ysa"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",82],"trp":["nt",46733],"tlw":["b",145],"lp":["bb","tn"],"rp":["nt","ntt","nb"]},"25":{"input":[1,4,5],"tlp":["taan",23917],"trp":["nta",24277],"tlw":["antaa",1443],"lp":["taan","ant","tan","anta","ttan","tann","aant","tana","ba","antt","anat","atan","bat","ab"],"rp":["nta","ntaa","nat","ntan","nnat","natt"]},"26":{"input":[2,4,5],"tlp":["bj",117],"trp":["nc",817],"lp":["bj","sb","sbj"],"rp":["nc","nst"]},"27":{"input":[1,2,4,5],"tlp":["ajat",5379],"trp":["jat",10551],"tlw":["sanat",714],"trw":["jattaa",503],"lp":["ajat","stan","taj","taja","tans","ttaj","sant","tsan","anc","cq","acq","staj"],"rp":["jat","jatt","jast","nast","jac","jacq","jata","ntas"]},"28":{"input":[3,4,5],"tlp":["ten",35400],"trp":["yt",52934],"tlw":["eteen",754],"trw":["nyt",14068],"lp":["ten","ty","tten","ent","teen","ren","tyy","tyt","tytt"],"rp":["yt","nyt","ytt","net","nte","yty","neet","ynyt","nty","nett","nnet"]},"29":{"input":[1,3,4,5],"tlp":["ayt",12824],"trp":["nayt",5724],"tlw":["taytyy",2000],"trw":["naet",1065],"lp":["ayt","ran","tay","aytt","tayt","anyt","anet","tany","rran","ayty","enta","raan","taen","aten","tya","aren","rann"],"rp":["nayt","ytta","yta"]},"30":{"input":[2,3,4,5],"tlp":["rj",9328],"trp":["yst",5033],"tlw":["syntynyt",298],"lp":["rj","sten","sty","tys","rje","tens","tsen","sent","tyst","esty","synt","etys","syt","rjee","syyt","stys"],"rp":["yst","nest","jet","jest"]},"31":{"input":[1,2,3,4,5],"tlw":["sentaan",644],"trw":["jaanyt",372],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",103087],"trw":["i",313],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",154264],"trp":["ia",39589],"tlw":["z",67],"lp":["ai","aai","zi","az","zz","zzi","za","aza"],"rp":["ia","iaa","iia","iai","iz","izz","izzi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",217633],"trp":["is",146392],"tlw":["siis",3048],"trw":["k",311],"lp":["si","sk","sii","ski","sis"],"rp":["is","ki","ik","ks","kk","isi","ksi","ikk","kki","ikki","iss","iis","kii","iks","iksi"]},"35":{"input":[1,2,6],"tlp":["ak",50178],"trp":["ka",233392],"tlw":["sai",2457],"trw":["kaikki",9023],"lp":["ak","aik","ais","asi","aikk","sia","aks","aka","aki","ska","aisi"],"rp":["ka","kaa","ika","kai","kaik","kas","kka","issa","isa"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",107437],"trp":["ie",70245],"tlw":["ei",34289],"lp":["ei"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ez",677],"trp":["ix",36],"tlw":["xii",62],"trw":["ix",36],"lp":["ez","xi","ezi","exi","ze","xii","aie","eia"],"rp":["ix"]},"38":{"input":[2,3,6],"tlp":["ek",18980],"trp":["ke",62524],"tlw":["die",61],"trw":["keksi",101],"lp":["ek","eid","eik","eis","sie","sei","esi","eks","ske","sek"],"rp":["ke","ise","id","kse","ike","ies","ide","ises","kei","kes"]},"39":{"input":[1,2,3,6],"tlp":["eida",12497],"trp":["ida",14485],"tlw":["eika",6048],"trw":["kaikkea",823],"lp":["eida","aise","eika","eka","aike","seka","ake","akse","aske","aid","aide","dak"],"rp":["ida","kea","ikea","ieda","kad","kade","keas","kkea"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",98241],"trp":["it",143226],"tlw":["v",870],"trw":["iv",91],"lp":["ti","vi","tti","tii","vii","ttii","vit","tiv","ttiv","vitt","viit"],"rp":["it","iv","itt","iit","iti","itti","ivi","iitt","ivit"]},"41":{"input":[1,4,6],"tlp":["va",182750],"trp":["ita",65115],"tlw":["tai",4545],"lp":["va","vat","av","vai","ava","vaa","tai","aiv","aiva","tav","tava","ait","aav","avat"],"rp":["ita","iva","ivat","iita","itta","itaa"]},"42":{"input":[2,4,6],"tlp":["sit",26898],"trp":["ist",39998],"tlw":["viisi",327],"trw":["itki",255],"lp":["sit","sti","tk","sitt","siit","siv","tki","tsi","sv","vis","tis"],"rp":["ist","its","itk","isti","itsi","itki","kiv","iist","kiit"]},"43":{"input":[1,2,4,6],"tlp":["vas",19036],"trp":["ista",23491],"tlw":["sita",11781],"trw":["kavi",1357],"lp":["vas","vast","tka","sita","asti","tak","vaik","aist","atk","taka","siva","asv","tais","tasi","atka"],"rp":["ista","kat","kats","kasv","kav"]},"44":{"input":[3,4,6],"tlp":["ri",43375],"trp":["ir",15903],"tlw":["ettei",3147],"trw":["irti",421],"lp":["ri","ve","vie","tie","ev","tei","eit","rv","eri","eiv","etti","tiet","eti","ttei","vet"],"rp":["ir","itte","ite","iet","ier"]},"45":{"input":[1,3,4,6],"tlp":["ari",10391],"trp":["ieta",3954],"tlw":["eivat",3839],"lp":["ari","eva","var","eita","arv","eiva","ria","evat","arvi","tarv","vaar","vart","rva","raav","tari","veta","rai"],"rp":["ieta","ira","iera"]},"46":{"input":[2,3,4,6],"tlp":["rk",13550],"trp":["itse",13494],"tlw":["teki",1489],"trw":["itse",3766],"lp":["rk","esti","tek","etk","rkk","rsi","tied","ris","tke","rke","teid"],"rp":["itse","ker","kir","iste","iset","kert","kerr","irk","kirk"]},"47":{"input":[1,2,3,4,6],"tlw":["tieda",1175],"trw":["kertaa",1619],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",333976],"trw":["niin",26801],"lp":[],"rp":["in","ni","iin","nii","niin","ih","hi","inn","nh","nin","iih","hin","nni","hn","ihi","ihin","ini","iinn","inni","nhi"]},"49":{"input":[1,5,6],"tlp":["ah",50528],"trp":["ha",155587],"tlw":["aina",4737],"trw":["han",60727],"lp":["ah","ain","aha","ani","ahan","aina","anh","anha"],"rp":["ha","han","ina","nai","iina","nah","ian","nha","haa","iha","nain","ihan"]},"50":{"input":[2,5,6],"tlp":["sin",32954],"trp":["nk",49072],"tlw":["sikin",37],"trw":["kiinni",1175],"lp":["sin","siin","siih","skin"],"rp":["nk","kin","ink","nki","nkin","nsi","isin","iink","ij","hk","inki","ksin","nis","kiin","ins","ikin"]},"51":{"input":[1,2,5,6],"tlp":["akin",7540],"trp":["kaan",25562],"tlw":["sina",5798],"trw":["kanssa",4169],"lp":["akin","sina","ank"],"rp":["kaan","nka","kan","inka","kans","nak","nkaa","nais","naki","kana","ija","inak","kah","ikan","hka","jai","isan"]},"52":{"input":[3,5,6],"tlp":["eh",17793],"trp":["he",62964],"tlw":["enin",79],"trw":["he",9072],"lp":["eh","eni","ein","ehe"],"rp":["he","ine","inen","hy","yh","hei","ien","yi","hen","ieh","ihe","iihe","ihen","iehe","hny","inne"]},"53":{"input":[1,3,5,6],"tlp":["aine",8961],"trp":["hane",41802],"tlw":["eihan",834],"trw":["hanen",25783],"lp":["aine","ahe","ahny","eiha","eha","eina","ehia","ehan","enia","anhe","aihe","enha","ahne","eani"],"rp":["hane","yha","yhan","hea","hena","inay"]},"54":{"input":[2,3,5,6],"tlp":["enk",14707],"trp":["hd",22326],"tlw":["siihen",4304],"trw":["niiden",2381],"lp":["enk","enki","ensi","ehd"],"rp":["hd","ky","isen","ken","hde","yk","yks","heid","ksen","iden","hden","kein","yksi","kys","kysy","keen"]},"55":{"input":[1,2,3,5,6],"tlw":["ehka",1532],"trw":["heidan",5518],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["tiin",8421],"trp":["ht",36404],"tlw":["viini",52],"trw":["nti",182],"lp":["tiin","vin","tin","vih","th","viin"],"rp":["ht","hti","niit","nti","int","hit","ntti","nit","init","nv","iint","nitt","hv","itin"]},"57":{"input":[1,4,5,6],"tlp":["van",24884],"trp":["hta",10602],"tlw":["vaan",7099],"trw":["hanta",8388],"lp":["van","aht","tah","vaan","vain","vah","vanh","taht","ahti","vaha","avan","tain","taha","vana"],"rp":["hta","hant","ivan","htaa","hat","inta"]},"58":{"input":[2,4,5,6],"tlp":["tkin",2359],"trp":["ntis",951],"tlw":["viisin",90],"trw":["kiinnitti",90],"lp":["tkin","ch","tsin","tins","stin","tij","vink","tsh","tsij","tch"],"rp":["ntis","nist","hist","nci","hits","ncis","nsiv","itsh","nits","htik"]},"59":{"input":[1,2,4,5,6],"tlw":["vastaan",3099],"trw":["niista",1303],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["rin",8705],"trp":["yv",14540],"tlw":["tehnyt",1374],"trw":["hyvin",4061],"lp":["rin","teh","tyi","eht","ven","rh"],"rp":["yv","hyv","het","iten","her","yht","hte","yvi","herr","hyvi","yvin","ytti","heit","hnyt"]},"61":{"input":[1,3,4,5,6],"tlw":["taytyi",1362],"trw":["hanet",4513],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["sitten",8039],"trw":["kenties",944],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["teidan",2121],"trw":["kerran",2976],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",9026],"trw":["o",542],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",201],"trp":["oa",14352],"lp":["ao"],"rp":["oa","oaa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",15574],"trp":["os",54094],"tlw":["so",36],"lp":["so","soo","sso","sos","soss"],"rp":["os","oss","oso","oos","ooss"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["soa",566],"trp":["ossa",8151],"trw":["osaa",838],"lp":["soa","aso","sao","ssao"],"rp":["ossa","osa","oas","osaa","osas","ow"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",536],"trp":["oe",3004],"trw":["-",534],"lp":["eo"],"rp":["oe"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",142],"trp":["ox",358],"lp":["a-","a-a","xo"],"rp":["ox","-a","oxo"]},"70":{"input":[2,3,7],"tlp":["do",12063],"trp":["od",8394],"lp":["do","dos","edo","sod","soe","doss","esso","eos","eoss","edos"],"rp":["od","ode","odo","ose","odos","oose","oses","odes","oes","oess"]},"71":{"input":[1,2,3,7],"tlp":["ado",599],"trp":["oda",1130],"tlw":["sodassa",75],"lp":["ado","soda","aado","dow","eado","adow"],"rp":["oda","odas","odaa"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",61617],"trp":["ot",51834],"tlw":["g",128],"trw":["ogoot",161],"lp":["to","tto","tot","too","tott","go","gt","goo","goot","gto","ttoo","gg"],"rp":["ot","ott","oto","otto","oot","og","ogo","ogoo"]},"73":{"input":[1,4,7],"tlp":["ato",2846],"trp":["ota",12728],"tlw":["totta",1107],"trw":["ottaa",1121],"lp":["ato","toa","ga","atto","ag","gat","gata","aato","ttoa","ago","gatt","toaa","fo"],"rp":["ota","otta","otaa","of","oat","oata","otoa"]},"74":{"input":[2,4,7],"tlp":["sto",3632],"trp":["ost",9527],"lp":["sto","tso","tos","sot","co","toss","tost","sott","stos","tsoo","stot","stoo","tsos","tsot","gs"],"rp":["ost","ots","oc","osto","osot"]},"75":{"input":[1,2,4,7],"tlp":["atso",3515],"trp":["osta",6277],"tlw":["sota",171],"trw":["ostaa",147],"lp":["atso","asto","gas","sota","atos","tsoa","sato","stoa","gast","sof","aggs","asot"],"rp":["osta","oast","otsa","osat","osof","owc"]},"76":{"input":[3,4,7],"tlp":["ro",11439],"trp":["or",16598],"tlw":["eero",648],"lp":["ro","ero","rto","tor","erto","ge","eto","rot","rg","erg","rro","erro","etto"],"rp":["or","ote","ort","ore","oet","oett","otte"]},"77":{"input":[1,3,4,7],"tlp":["rag",1424],"trp":["ora",1253],"tlw":["erottaa",195],"lp":["rag","aro","rtoa","rof","atro","rota","etoa","rofe","gra","aroo","roa","eroa","for"],"rp":["ora","oraa","orta","ofe","oeta","orea","otar"]},"78":{"input":[2,3,4,7],"tlp":["dot",4568],"trp":["odot",2046],"tlw":["god",157],"lp":["dot","dott","tod","tode","dost","ros","stor","sor","doto","cor","cort","roc","serg","ssor","tsoe","tros","ross"],"rp":["odot","oste","ors"]},"79":{"input":[1,2,3,4,7],"tlw":["grace",80],"trw":["odottaa",481],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",111283],"trw":["on",43019],"lp":[],"rp":["on","un","uu","uo","nu","no","ou","uon","nun","unn","onn","uun","unu","nnu","nuo","oon","nno","non","nou","onu"]},"81":{"input":[1,5,7],"tlp":["au",31984],"trp":["ua",18997],"lp":["au","ano","anu","aun","annu","aanu","aua","anoa","anon","auan"],"rp":["ua","nua","noa","ona","una","nau","uan","uona","onaa","unna"]},"82":{"input":[2,5,7],"tlp":["su",33737],"trp":["jo",99696],"tlw":["sun",387],"trw":["jos",9131],"lp":["su","suu","suo"],"rp":["jo","us","jos","ju","jon","oj","uus","jou","juu","uos","joss","ous","uns","nous","nus","ons","uss"]},"83":{"input":[1,2,5,7],"tlp":["sano",17998],"trp":["oja",7593],"tlw":["sanoa",1500],"trw":["jossa",2870],"lp":["sano","aus","asu","ausu","ajo","anoj","aju","sua"],"rp":["oja","noas","onsa","ussa","uja","noja","unsa","ojan","osan","uas","uoja","ojaa"]},"84":{"input":[3,5,7],"tlp":["eu",8909],"trp":["yo",14437],"tlw":["eno",84],"trw":["yon",465],"lp":["eu","enu","eno","ennu"],"rp":["yo","one","onne","unne","oy","ue","uone","yon","onee","une","oen","neu","unee","onen","noe","noen"]},"85":{"input":[1,3,5,7],"tlp":["que",622],"trp":["yona",396],"trw":["yona",396],"lp":["que","anoe","aune","aue","enoa","euna","xon","aneu","aeu"],"rp":["yona","nox","oxon","-na","-nay","nque","naeu","unay"]},"86":{"input":[2,3,5,7],"tlp":["seu",5113],"trp":["ud",9289],"tlw":["syo",106],"trw":["uuden",713],"lp":["seu","don","du","suud","syo"],"rp":["ud","ude","uud","uude","yos","use","uden","uod","oje","ojen","udes","uode","oyd","ues","oden"]},"87":{"input":[1,2,3,5,7],"tlw":["sanoen",554],"trw":["juoda",134],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tu",97385],"trp":["ut",111271],"tlw":["tuo",4127],"trw":["outo",170],"lp":["tu","tun","tuo","ttu","ton","tunt","tuu"],"rp":["ut","utt","nut","uut","ng","unt","uot","unut","nnut","nto","uutt","utu","ont"]},"89":{"input":[1,4,5,7],"tlp":["anut",9016],"trp":["utta",36184],"tlw":["tuota",1414],"trw":["uutta",628],"lp":["anut","tanu","aut","tua","atu","autt","anto","attu","ttua","anot","tau","agn","ang"],"rp":["utta","uta","uuta","nga","onta","uota","unta"]},"90":{"input":[2,4,5,7],"tlp":["stu",9987],"trp":["jot",16587],"tlw":["totuus",204],"trw":["joutunut",411],"lp":["stu","tus","tuns","tuos","suut","toj","tust","stun","tsu","stus","sut"],"rp":["jot","ust","nust","jost","jout","nost","jott","uost","uots"]},"91":{"input":[1,2,4,5,7],"tlw":["saanut",2403],"trw":["jota",3761],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ru",10641],"trp":["ur",27188],"tlw":["tytto",1225],"trw":["nuoren",497],"lp":["ru","eur","ettu","tyo","rou","ruu","tur","eut"],"rp":["ur","uur","uor","ure","uure","ute","nuor","uten","unte","yot","uute","ytto"]},"93":{"input":[1,3,4,5,7],"tlw":["tyota",814],"trw":["yota",359],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["suuren",1116],"trw":["joten",283],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["suurta",798],"trw":["uudestaan",554],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["ll",180531],"trw":["oli",55295],"lp":[],"rp":["ll","ol","li","oi","oli","il","ill","lo","oll","lli","loi","llo","lloi","illo","lii","io","olli","ilo","oil","oill"]},"97":{"input":[1,6,7],"tlp":["al",103204],"trp":["la",161361],"tlw":["alla",1156],"trw":["olla",4699],"lp":["al","all","alla","ala","aal","aall","ali","alli","alo","ail","alai"],"rp":["la","lla","illa","lai","olla","laa","ila","llai","llaa"]},"98":{"input":[2,6,7],"tlp":["sil",23278],"trp":["ko",79476],"tlw":["soi",379],"trw":["olisi",9034],"lp":["sil","sill"],"rp":["ko","ok","lis","ois","lk","lisi","olis","koi","oik","llis","osk","oko","kok","kos","koko","iko","oisi","lko"]},"99":{"input":[1,2,6,7],"tlp":["alk",11320],"trp":["oka",22378],"tlw":["silla",7800],"trw":["koska",1773],"lp":["alk","sal","alko","alka","alas","aiko","ako","sala","sall"],"rp":["oka","lais","las","kal","lka","oska","kall","lak","oika","lkaa","laki"]},"100":{"input":[3,6,7],"tlp":["el",107523],"trp":["le",115183],"tlw":["eli",822],"trw":["ole",10027],"lp":["el","ell","elle","eli","ele","eil","eill","elli"],"rp":["le","lle","ole","iel","lee","ille","llee","iell","olle","iele","lei","lel"]},"101":{"input":[1,3,6,7],"tlp":["ella",24479],"trp":["iela",9775],"tlw":["elaa",782],"trw":["lea",62],"lp":["ella","ela","alle","ale","eal","elaa","eall","elia","aile","elai","alee","alel","a-al","aale","alea","elal"],"rp":["iela","lea","-al","lae"]},"102":{"input":[2,3,6,7],"tlp":["sel",13503],"trp":["oise",7642],"tlw":["eiko",1404],"trw":["kello",600],"lp":["sel","sell","siel","del","dell","elk","eiso","seli","skel"],"rp":["oise","lke","oike","lise","les","kel","lkee","kell","okse","isel","oid"]},"103":{"input":[1,2,3,6,7],"tlw":["siella",4520],"trw":["keskella",829],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",29749],"trp":["lt",22549],"tlw":["voi",5384],"trw":["otti",1283],"lp":["vo","toi","voi","til","toiv","gi","voit"],"rp":["lt","oit","ov","liv","oliv","oitt","oiv","lit","lv","ilt","otti","oti","ito"]},"105":{"input":[1,4,6,7],"tlp":["val",18640],"trp":["lta",17662],"tlw":["taalla",3001],"trw":["olivat",8509],"lp":["val","tal","alt","vall","alta","vali","taal","talo","aval","tila","tall","valt"],"rp":["lta","liva","ova","ovat","oita","oiva","ilta","lat"]},"106":{"input":[2,4,6,7],"tlp":["tois",11857],"trp":["otk",7732],"tlw":["voisi",1258],"trw":["kiitos",454],"lp":["tois","tko","svo","vois","tosi","tok","soit","vos","tsoi","tkoi","svoi","stoi"],"rp":["otk","oist","list","kot","kov","isto","koti","osti"]},"107":{"input":[1,2,4,6,7],"tlw":["saattoi",861],"trw":["katsoi",951],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["tel",10931],"trp":["lev",8000],"tlw":["teille",1239],"trw":["olet",1963],"lp":["tel","viel","elt","vel","teli","tell","ttel","ril","rill","evo","elv"],"rp":["lev","let","ori","olet","olev","ielt","lett","ove","leet"]},"109":{"input":[1,3,4,6,7],"tlw":["viela",8600],"trw":["oleva",577],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["toiset",990],"trw":["kertoi",658],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["sielta",1053],"trw":["katseli",846],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ui",66193],"trw":["olin",2657],"lp":[],"rp":["ui","ul","lu","uin","inu","oin","hu","oh","ull","llu","uh","uol","noi","uul","lin","ollu","loin","uli","huo","luo"]},"113":{"input":[1,5,6,7],"tlp":["anoi",9266],"trp":["lah",8966],"tlw":["ainoa",772],"trw":["liian",1614],"lp":["anoi","aino","auh","alan","aul","auni","alu"],"rp":["lah","ulla","lan","inua","laan","hal","inoa","lain","lau","uha","nal","hall","ula"]},"114":{"input":[2,5,6,7],"tlp":["sinu",6349],"trp":["ku",115005],"tlw":["silloin",5497],"trw":["kuin",22585],"lp":["sinu"],"rp":["ku","kui","kuin","kun","uk","jok","kuu","onk","lj","joi","nku","kuul","koh","uks","jonk","usk","nkui","kul","usi"]},"115":{"input":[1,2,5,6,7],"tlw":["sanoi",7087],"trw":["joka",18978],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["elu",3144],"trp":["len",16714],"tlw":["eilen",316],"trw":["olen",5653],"lp":["elu","elen"],"rp":["len","yl","nel","ule","nell","leen","olen","uole","ulle","yll","hel","oine","line","ulee","llen","uule","yli","ly"]},"117":{"input":[1,3,5,6,7],"tlw":["aanella",765],"trw":["hanelle",4619],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["ennenkuin",1410],"trw":["oikein",2049],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["sellainen",739],"trw":["kylla",3839],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["tul",21501],"trp":["lut",16706],"tlw":["tuli",4747],"trw":["ollut",10662],"lp":["tul","tui","vu","tuli","vuo","voin","tull","toin"],"rp":["lut","llut","uv","oht","uit","inut","hto","ing","ult","htu","itu","utti"]},"121":{"input":[1,4,5,6,7],"tlw":["tulla",1527],"trw":["lahti",967],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["tunsi",1344],"trw":["istui",1253],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["ainoastaan",2528],"trw":["jotka",7436],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["tulee",3128],"trw":["nuori",1213],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["rouva",1878],"trw":["olevan",1792],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["suuri",2189],"trw":["kuitenkin",3603],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["tahdon",933],"trw":["kuitenkaan",984],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",8308],"trw":["p",1108],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",22497],"trp":["pa",77545],"trw":["paa",544],"lp":["ap","apa","app","apaa","aap","appa","aapa"],"rp":["pa","paa","pap","ppa","papp","ppaa","paaa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",2110],"trp":["ps",4292],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["aps",4165],"trp":["paas",5700],"trw":["paassa",773],"lp":["aps","spa","saap","apas","asp","aspa","sap","saps","apsa"],"rp":["paas","pas","ppas","psa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",2526],"trp":["pe",16376],"trw":["'",576],"lp":["ep","epp","e'","eep"],"rp":["pe","'e","pee","ppe"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["epa",1849],"trp":["pea",2103],"tlw":["aape",205],"lp":["epa","ape","aape","apea","eppa","appe","epaa"],"rp":["pea","'a","pape","pae","peaa","paae"]},"134":{"input":[2,3,8],"tlp":["s'",618],"trp":["pse",2270],"lp":["s'","sep","esp","sepp","d'","spe","ss'","s'e","es'"],"rp":["pse","pes","psee","ped","pede","pses","pees"]},"135":{"input":[1,2,3,8],"tlp":["apse",2143],"trp":["peas",737],"tlw":["sepa",189],"trw":["paase",202],"lp":["apse","espa","sepa","epas","d'a","d'as"],"rp":["peas","pesa","'as"]},"136":{"input":[4,8],"tlp":["tp",203],"trp":["pt",207],"lp":["tp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",6856],"trp":["paat",3775],"tlw":["tapa",257],"trw":["paata",312],"lp":["tap","tapa","tapp","apt","taap","tpa","apat"],"rp":["paat","pat"]},"138":{"input":[2,4,8],"lp":[],"rp":[]},"139":{"input":[1,2,4,8],"tlp":["stap",241],"trp":["past",383],"trw":["paasta",1393],"lp":["stap","spat"],"rp":["past"]},"140":{"input":[3,4,8],"tlp":["t'",2289],"trp":["per",3933],"tlw":["ett'",217],"lp":["t'","tt'","ett'","t'e","tt'e","rp","rpe","rpee","r'","rr'","rep","err'"],"rp":["per","pet","pett","pr","pte","ptee","pere","pre"]},"141":{"input":[1,3,4,8],"tlp":["arp",756],"trp":["par",8411],"trw":["paeta",156],"lp":["arp","tarp","arpe","aper","t'a","rap","rapa","apte","epat","arr'","rapp","fe'"],"rp":["par","pera","pare","para","paet","pate","part","peat"]},"142":{"input":[2,3,4,8],"tlp":["spr",153],"trp":["pset",690],"lp":["spr","spre","tsep","st'"],"rp":["pset"]},"143":{"input":[1,2,3,4,8],"tlw":["d'astarac",81],"trw":["perasta",769],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",28094],"trw":["m",905],"lp":[],"rp":["mm","mp","np","nm","mpp"]},"145":{"input":[1,5,8],"tlp":["am",46002],"trp":["ma",123834],"trw":["nama",1502],"lp":["am","ama","amaa","aman","aam","amm","aama","amp"],"rp":["ma","maa","man","maan","mma","pan","mpa","mman","npa","paan","nam","nama"]},"146":{"input":[2,5,8],"tlp":["sm",505],"lp":["sm"],"rp":[]},"147":{"input":[1,2,5,8],"tlp":["sam",8343],"trp":["mas",10187],"tlw":["samassa",1358],"trw":["paansa",590],"lp":["sam","sama","amas","span","saam","samm","ssam","sma","sanm","asm"],"rp":["mas","mass","mans","maas","mmas","panj","maj","pans","mpas","jam"]},"148":{"input":[3,5,8],"tlp":["em",30930],"trp":["me",55008],"tlw":["emme",1059],"trw":["me",4210],"lp":["em","emm","emp","emme","enem"],"rp":["me","men","my","mme","ym","py","nem","mene","menn","ymm","nemm","ymp","ymy","pyy","mee"]},"149":{"input":[1,3,5,8],"tlp":["ema",9490],"trp":["ympa",2574],"tlw":["enemman",2199],"trw":["menna",1245],"lp":["ema","emma","emaa","ame","amme","eman","empa","amen","enpa","eam","eamm","eamp"],"rp":["ympa","ymma","mea","pane","yma","nema","ymaa","mpea"]},"150":{"input":[2,3,5,8],"tlp":["sem",3594],"trp":["mes",2527],"tlw":["esm",37],"trw":["pysyy",153],"lp":["sem","semm","sym","symy","spen","dem","demm"],"rp":["mes","pys","ysym","psen","pysy","mess","mens","pyys","mys","ymys","pyyd","meyd","pend"]},"151":{"input":[1,2,3,5,8],"tlw":["sydamensa",387],"trw":["pyydan",244],"lp":[],"rp":[]},"152":{"input":[4,5,8],"trp":["mb",336],"lp":[],"rp":["mb","mmb"]},"153":{"input":[1,4,5,8],"tlp":["tam",18925],"trp":["mat",13373],"tlw":["tama",6514],"trw":["maata",654],"lp":["tam","tama","amat","ttam","tamm","ammb","atam","taam","tamp","amb"],"rp":["mat","matt","mmat","maat","mant","pant","mata","ntam","ntap"],"special":"numsym"},"154":{"input":[2,4,5,8],"lp":[],"rp":[]},"155":{"input":[1,2,4,5,8],"tlw":["samat",179],"trw":["maasta",321],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",5379],"trp":["mer",3161],"tlw":["ett'en",165],"trw":["mr",635],"lp":["rm","rem","tem","remp","remm","temm","rme","ttem","temp"],"rp":["mer","met","mr","pent","ment","mere","pyyt","ntem","pyr","myr","metr"]},"157":{"input":[1,3,4,5,8],"tlw":["emanta",515],"trw":["ymmarra",345],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"trw":["mrs",279],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["armas",161],"trw":["paassyt",507],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",36935],"lp":[],"rp":["pi","ip","ppi","pii","iip","ipp","ipi","iipp","iipi","piip","ipii","ppii"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",2247],"trp":["pai",17547],"trw":["pappi",810],"lp":["api","appi","apai","aip","aipa","aapi","aipp"],"rp":["pai","pia","ipa","papi","ppia","ipaa","ippa","piaa"]},"162":{"input":[2,6,8],"tlp":["sip",134],"trp":["pik",1832],"lp":["sip","siip"],"rp":["pik","psi","pis","pikk","isp","piis","iisp","pisi","piki","kip","ksip","kkip","kipi","piik","psis","piks","isip","kiip"]},"163":{"input":[1,2,6,8],"tlp":["apsi",1759],"trp":["paik",2876],"tlw":["saapi",132],"trw":["paasi",542],"lp":["apsi","spai","apis","sipa"],"rp":["paik","pak","kap","pasi","ispa","kapa","pais","kapp","paak","pakk","psia","paks","kaip","kkap","ipas","pias"]},"164":{"input":[3,6,8],"tlp":["eip",817],"trp":["pie",5244],"lp":["eip","epi","eppi","eipp","e'i","eepi"],"rp":["pie","'ei","pei","ipe","'i","iep","ppie","iepp","iepi","iipe","ipie"]},"165":{"input":[1,3,6,8],"tlp":["epai",1133],"trp":["'ai",235],"tlw":["eipa",378],"lp":["epai","eipa","epia","apei"],"rp":["'ai","ipea"]},"166":{"input":[2,3,6,8],"tlp":["siep",69],"trp":["pid",1813],"trw":["kiipesi",44],"lp":["siep"],"rp":["pid","pesi","pide","k'","peek","kk'","ikk'","pek","pike","pekk","kipe","pidi","is'","ksep","k'e","kk'e","k'ei","ipid","iss'"]},"167":{"input":[1,2,3,6,8],"tlw":["sieppasi",69],"trw":["pida",405],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["viip",485],"trp":["pit",11493],"trw":["piti",1713],"lp":["viip"],"rp":["pit","piti","piv","ipit","ppiv","pitt","ipiv"]},"169":{"input":[1,4,6,8],"tlp":["vap",1883],"trp":["paiv",6732],"tlw":["vapaa",269],"trw":["pitaa",1916],"lp":["vap","vapa","vaip","vapi","apit","taip","tapi"],"rp":["paiv","pita","pait","itap","piva","paav"]},"170":{"input":[2,4,6,8],"trp":["pitk",4224],"trw":["pisti",361],"lp":[],"rp":["pitk","pist"]},"171":{"input":[1,2,4,6,8],"tlw":["sitapaitsi",428],"trw":["pitaisi",756],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["t'ei",979],"trp":["peri",1054],"tlw":["ett'ei",867],"trw":["peitti",175],"lp":["t'ei","riip","reip","repi","viep","t'i","rip"],"rp":["peri","peit","piet","pite","piir","pir","it'","pier","pri","pirt","'eiv","iit'","irip"]},"173":{"input":[1,3,4,6,8],"tlw":["ett'eivat",74],"trw":["pari",989],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["sit'",100],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["tarpeeksi",310],"trw":["parka",244],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",120870],"trw":["mihin",694],"lp":[],"rp":["mi","min","im","hm","ihm","mmi","hmi","ihmi","mmin","imm","imi","nim","iim","mpi","mii","nimi","miin","pin","pim","hmin"]},"177":{"input":[1,5,6,8],"tlp":["aim",2568],"trp":["mina",17633],"trw":["mina",16504],"lp":["aim","ami","apah","amia"],"rp":["mina","mai","ima","pain","pah","mia","main","mah","maai","imma","pian","paha","ham","imaa","maah","imai"]},"178":{"input":[2,5,6,8],"tlp":["sim",3768],"trp":["mis",12062],"trw":["miksi",1344],"lp":["sim","simm","smi"],"rp":["mis","mik","hmis","miss","mink","nsim","misi","miks","imis","kim","isim","jim","mpik","ism","mk","kimp","ismi"]},"179":{"input":[1,2,5,6,8],"trw":["mika",3480],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emmi",3536],"trp":["mie",19226],"tlw":["ennemmin",163],"trw":["meni",1459],"lp":["emmi","empi","emi"],"rp":["mie","mei","ime","mieh","pien","iime","meni","hem","imei","imme","hemm","nime","hym","mein","hymy","hme","mine"]},"181":{"input":[1,3,5,6,8],"trw":["miehia",566],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["esim",379],"trw":["mies",3388],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["ensimainen",403],"trw":["meidan",2780],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["viim",3133],"trp":["mit",21696],"trw":["nimitti",52],"lp":["viim","tim","ttim","vim","vimm","timm","tinp"],"rp":["mit","mitt","imit","mint","htim","miit","mmit","npit","pint","miv","imiv"]},"185":{"input":[1,4,5,6,8],"trw":["mita",10059],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"trw":["pitkin",1130],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"trw":["mista",982],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["viimein",718],"trw":["miten",2370],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["eteenpain",770],"trw":["meita",1361],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["sittemmin",355],"trw":["ihmiset",1045],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["varmaankin",428],"trw":["miesta",877],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",17061],"lp":[],"rp":["po","op","opp","ppo","oop","oopp","poo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",392],"trp":["opa",760],"lp":["apo","appo","aapo"],"rp":["opa","poa","ppoa","oopa","opaa"]},"194":{"input":[2,7,8],"tlp":["sop",886],"trp":["pos",648],"lp":["sop"],"rp":["pos","osp"]},"195":{"input":[1,2,7,8],"trp":["ospa",434],"lp":[],"rp":["ospa"]},"196":{"input":[3,7,8],"tlp":["epo",141],"trp":["ope",2399],"lp":["epo","epoo"],"rp":["ope","'o","oppe"]},"197":{"input":[1,3,7,8],"tlp":["epoa",105],"trp":["opea",620],"lp":["epoa"],"rp":["opea"]},"198":{"input":[2,3,7,8],"tlp":["s'o",328],"trp":["osep",102],"lp":["s'o"],"rp":["osep"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["gtp",153],"trp":["pot",295],"lp":["gtp","tpo","gtpo","top"],"rp":["pot","pott"]},"201":{"input":[1,4,7,8],"tlp":["apot",165],"trp":["pato",255],"lp":["apot","tapo","topa"],"rp":["pato","pota","otap"]},"202":{"input":[2,4,7,8],"trp":["post",449],"lp":[],"rp":["post"]},"203":{"input":[1,2,4,7,8],"trw":["paatos",82],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["tpor",153],"trp":["opet",1620],"trw":["peto",55],"lp":["tpor","tope","roop"],"rp":["opet","por","port","pro","poro","peto"]},"205":{"input":[1,3,4,7,8],"trw":["opettaa",197],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"trw":["petosta",39],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["mu",58870],"trw":["muu",588],"lp":[],"rp":["mu","pu","om","mo","muu","um","uom","puo","up","mon","pun","puu","upu","upun","opu","umm","ppu","nom","uum","mmo"]},"209":{"input":[1,5,7,8],"tlp":["aup",2791],"trp":["oma",16400],"tlw":["apua",470],"trw":["oman",1021],"lp":["aup","apu","aupu","amo","amu","apau","aamu","aapu","anom"],"rp":["oma","uma","uoma","omaa","oman","pau","noma","upa","umaa","umma","panu"]},"210":{"input":[2,5,7,8],"tlp":["suom",4018],"trp":["jum",4241],"tlw":["suom",417],"lp":["suom","som","sum"],"rp":["jum","mus","poj","jop","mons","muus","pus","moj","opus","moos","josp","puss","omus","mos","npoj","psu","psuu"]},"211":{"input":[1,2,5,7,8],"tlw":["sanomaan",203],"trw":["pojan",607],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emmo",1235],"trp":["myo",6382],"tlw":["emo",86],"trw":["monen",273],"lp":["emmo","emu"],"rp":["myo","ome","uome","omen","poy","mone","upe","nope","pue","myon","ume","uem","yom","meno","pyo","omme","uemm","pune"]},"213":{"input":[1,3,5,7,8],"trw":["myonnan",82],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["suomen",1322],"trw":["myos",1706],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["suomessa",236],"trw":["poydan",440],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",3714],"trp":["mut",29213],"tlw":["tom",275],"trw":["muut",992],"lp":["tom","ttom","tum","tuom","tomu","bom","gbom","tup","ttum"],"rp":["mut","mutt","muut","pung","mont","puut","muot","put","mbo","mmbo","puto"]},"217":{"input":[1,4,5,7,8],"trw":["mutta",28564],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"trw":["muutos",112],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["tuomas",244],"trw":["pojat",604],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["bergbom",465],"trw":["muuten",1081],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["tuntemaan",300],"trw":["poytaan",161],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["sprengtport",116],"trw":["prudence",171],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["etupaassa",239],"trw":["opettaja",379],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["poi",8488],"trw":["oppi",180],"lp":[],"rp":["poi","lop","lp","oppi","opi","pil","pol","lpo","lopp","ppil","lip","iop","liop","ilp","lpp","lppo","ippo","ppol","poli","pio"]},"225":{"input":[1,6,7,8],"tlp":["alp",476],"trp":["pal",8702],"trw":["lapi",904],"lp":["alp","alap"],"rp":["pal","lap","pala","paal","lapi","pail","pila","ppal","lapa","lipa","lpa","palo","lpaa","llap","lapp","iopa","opai","ilpa"]},"226":{"input":[2,6,7,8],"tlp":["sopi",829],"trp":["poik",4206],"tlw":["sopii",210],"trw":["pois",3248],"lp":["sopi"],"rp":["poik","pois","lpos","kop","lkop","opis","polk","posk","losp","psil","pilk","oisp","kilp","pios"]},"227":{"input":[1,2,6,7,8],"trw":["poika",1648],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elp",1235],"trp":["pel",3429],"tlw":["ell'ei",70],"trw":["piilee",68],"lp":["elp","elpo","elpp","elip","ell'"],"rp":["pel","lpe","l'","lep","ll'","pelo","peli","leip","ppel","lope","peel","pell","'ol","'oli","ill'"]},"229":{"input":[1,3,6,7,8],"tlw":["epailla",102],"trw":["paalle",747],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["s'oli",178],"trw":["pelko",234],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["sill'aikaa",122],"trw":["pelkaa",283],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["voip",114],"trp":["pilv",391],"tlw":["voipi",114],"trw":["ippolit",287],"lp":["voip","vilp","tiop"],"rp":["pilv","opiv","polv","polt","lpit","lpot","pito"]},"233":{"input":[1,4,6,7,8],"tlw":["apotti",165],"trw":["palata",236],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["potki",36],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["sopiva",101],"trw":["palasivat",135],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["viel'",99],"trw":["perille",288],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["vielapa",360],"trw":["portaita",183],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["tok'",38],"trw":["posket",92],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["tarpeellista",75],"trw":["lapset",690],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["lm",22428],"trw":["minun",5382],"lp":[],"rp":["lm","minu","ilm","puh","puol","mui","oim","mil","puhu","huom","lmi","omi","mill","moi","olm","ilmi","imo","pui","mol","moin"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["aamulla",431],"trw":["minua",4742],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["silmin",342],"trw":["pikku",1155],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["samalla",1927],"trw":["paljon",3194],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["minulle",3318],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["elaman",1008],"trw":["meilla",1051],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["semmoinen",325],"trw":["myoskin",2227],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["suomalaisen",431],"trw":["kallem",1117],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["toimi",174],"trw":["minut",1928],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["tapahtunut",602],"trw":["muutamia",1006],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["sopinut",80],"trw":["muutkin",289],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["silmat",1184],"trw":["minusta",1102],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["toimeen",479],"trw":["miltei",281],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["epailematta",384],"trw":["molemmat",921],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["rupesi",652],"trw":["helposti",449],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["tapauksessa",366],"trw":["puolesta",598],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",258251],"tlw":["a",455],"lp":["aa","aaa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",66466],"tlw":["s",731],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",177484],"tlw":["saa",2123],"lp":["sa","as","ssa","saa","ass","assa","aas","ssaa","aass","sas","sass","asa","saas","aaas","wa","ssas","aasa","asas"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",59327],"tlw":["e",519],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",19583],"tlw":["x",52],"lp":["ea","ae","eaa","ex","ax","aae"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["se",143967],"tlw":["se",27105],"lp":["se","es","de","ess","ed","ses","see","des","ede","dess","edes","ees","sess","eess","ese","eese","esee","sse","ssee","eed"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",33895],"tlw":["saada",1657],"lp":["da","essa","ad","ase","eda","aad","ada","eas","aada","ade","saad","sea","esa","aase","ades","seaa","das","daa","eass","asee"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",182756],"tlw":["t",129],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",443960],"tlw":["tata",2224],"lp":["ta","at","tta","taa","att","ttaa","aat","ata","atta","aatt","tat","aata","tata","ataa","fa","ff","ft","af","tatt","aff"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",131877],"tlw":["st",145],"lp":["st","ts","sc","tc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["sta",78874],"tlw":["taas",3738],"lp":["sta","ast","asta","staa","tas","ats","aast","taas","saat","tass","tsa","stas","sat","tast","satt","ac","stat","sata","tsas","sast"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["et",120310],"tlw":["te",3216],"lp":["et","te","ett","er","tte","re","rt","rr","tee","err","eet","ette","ert","tet","ete","tett","ter","rte","ere","etee"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",56709],"tlw":["etta",32564],"lp":["ar","ra","etta","tar","rra","era","erra","raa","eta","rta","aar","art","ara","ate","are","atte","rat","etaa","eraa","erta"],"rp":[]},"14":{"input":[2,3,4],"tlp":["est",21714],"tlw":["ester",156],"lp":["est","tse","ste","set","sest","rs","det","ets","res","dest","ress","tsee","este","sett","dett","rd","rest","ster","tses","der"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["esta",12314],"tlw":["eras",1057],"lp":["esta","ras","ars","eras","atse","dat","rast","aste","east","aras","tsea","etsa","rass","aset","sar","seta","ard","edat","sef","datt"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",48589],"trw":["n",1456],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",427381],"trp":["na",121169],"tlw":["anna",1340],"trw":["na",532],"lp":["an","aan","ana","ann","anna","anaa","aana","anan","aann","anq"],"rp":["na","nna","naa","naan","nan","nnan","nnaa","nq"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",381],"trp":["ns",47964],"trw":["j",621],"lp":["sn"],"rp":["ns","nss","nj"]},"19":{"input":[1,2,5],"tlp":["san",29730],"trp":["ja",188698],"tlw":["ajan",1077],"trw":["ja",138817],"lp":["san","ans","ansa","aj","saan","aja","anss","sana","aans","ajan","ssan"],"rp":["ja","nsa","jaa","jan","nssa","jas","jaan","nas","nsan"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",297363],"trp":["ne",120612],"tlw":["en",8035],"trw":["ne",8601],"lp":["en","een","enn","ene","enne","enen","ey","enee"],"rp":["ne","nen","ny","nne","yy","nee","yn","nnen","yny","neen","nny","yyn"]},"21":{"input":[1,3,5],"tlp":["ane",47273],"trp":["nay",5887],"tlw":["enaa",3363],"trw":["naen",437],"lp":["ane","anen","ay","ena","any","anne","enaa","aen","anee","aane","enna","ean","ayn","eaan","eena","ayny"],"rp":["nay","ya","nae","ynna"]},"22":{"input":[2,3,5],"tlp":["sen",43375],"trp":["ys",15306],"tlw":["sen",18097],"lp":["sen","ens","sy","den","seen","eens","sens","syn","syd","syy"],"rp":["ys","je","yd","ysy","nes","jen","yde","yys","nd","nnes"]},"23":{"input":[1,2,3,5],"tlp":["dan",14539],"trp":["yda",4761],"tlw":["sydan",458],"trw":["jaada",316],"lp":["dan","ensa","syda","anes","sena","ayd","asen","ayde","edan","daan","sean","and","ande","ays","ayda","assy","esan"],"rp":["yda","ydan","ysa"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",82],"trp":["nt",46733],"tlw":["b",145],"lp":["bb","tn"],"rp":["nt","ntt","nb"]},"25":{"input":[1,4,5],"tlp":["taan",23917],"trp":["nta",24277],"tlw":["antaa",1443],"lp":["taan","ant","tan","anta","ttan","tann","aant","tana","ba","antt","anat","atan","bat","ab"],"rp":["nta","ntaa","nat","ntan","nnat","natt"]},"26":{"input":[2,4,5],"tlp":["bj",117],"trp":["nc",817],"lp":["bj","sb","sbj"],"rp":["nc","nst"]},"27":{"input":[1,2,4,5],"tlp":["ajat",5379],"trp":["jat",10551],"tlw":["sanat",714],"trw":["jattaa",503],"lp":["ajat","stan","taj","taja","tans","ttaj","sant","tsan","anc","cq","acq","staj"],"rp":["jat","jatt","jast","nast","jac","jacq","jata","ntas"]},"28":{"input":[3,4,5],"tlp":["ten",35400],"trp":["yt",52934],"tlw":["eteen",754],"trw":["nyt",14068],"lp":["ten","ty","tten","ent","teen","ren","tyy","tyt","tytt"],"rp":["yt","nyt","ytt","net","nte","yty","neet","ynyt","nty","nett","nnet"]},"29":{"input":[1,3,4,5],"tlp":["ayt",12824],"trp":["nayt",5724],"tlw":["taytyy",2000],"trw":["naet",1065],"lp":["ayt","ran","tay","aytt","tayt","anyt","anet","tany","rran","ayty","enta","raan","taen","aten","tya","aren","rann"],"rp":["nayt","ytta","yta"]},"30":{"input":[2,3,4,5],"tlp":["rj",9328],"trp":["yst",5033],"tlw":["syntynyt",298],"lp":["rj","sten","sty","tys","rje","tens","tsen","sent","tyst","esty","synt","etys","syt","rjee","syyt","stys"],"rp":["yst","nest","jet","jest"]},"31":{"input":[1,2,3,4,5],"tlw":["sentaan",644],"trw":["jaanyt",372],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",103087],"trw":["i",313],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",154264],"trp":["ia",39589],"tlw":["z",67],"lp":["ai","aai","zi","az","zz","zzi","za","aza"],"rp":["ia","iaa","iia","iai","iz","izz","izzi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",217633],"trp":["is",146392],"tlw":["siis",3048],"trw":["k",311],"lp":["si","sk","sii","ski","sis"],"rp":["is","ki","ik","ks","kk","isi","ksi","ikk","kki","ikki","iss","iis","kii","iks","iksi"]},"35":{"input":[1,2,6],"tlp":["ak",50178],"trp":["ka",233392],"tlw":["sai",2457],"trw":["kaikki",9023],"lp":["ak","aik","ais","asi","aikk","sia","aks","aka","aki","ska","aisi"],"rp":["ka","kaa","ika","kai","kaik","kas","kka","issa","isa"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",107437],"trp":["ie",70245],"tlw":["ei",34289],"lp":["ei"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ez",677],"trp":["ix",36],"tlw":["xii",62],"trw":["ix",36],"lp":["ez","xi","ezi","exi","ze","xii","aie","eia"],"rp":["ix"]},"38":{"input":[2,3,6],"tlp":["ek",18980],"trp":["ke",62524],"tlw":["die",61],"trw":["keksi",101],"lp":["ek","eid","eik","eis","sie","sei","esi","eks","ske","sek"],"rp":["ke","ise","id","kse","ike","ies","ide","ises","kei","kes"]},"39":{"input":[1,2,3,6],"tlp":["eida",12497],"trp":["ida",14485],"tlw":["eika",6048],"trw":["kaikkea",823],"lp":["eida","aise","eika","eka","aike","seka","ake","akse","aske","aid","aide","dak"],"rp":["ida","kea","ikea","ieda","kad","kade","keas","kkea"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",98241],"trp":["it",143226],"tlw":["v",870],"trw":["iv",91],"lp":["ti","vi","tti","tii","vii","ttii","vit","tiv","ttiv","vitt","viit"],"rp":["it","iv","itt","iit","iti","itti","ivi","iitt","ivit"]},"41":{"input":[1,4,6],"tlp":["va",182750],"trp":["ita",65115],"tlw":["tai",4545],"lp":["va","vat","av","vai","ava","vaa","tai","aiv","aiva","tav","tava","ait","aav","avat"],"rp":["ita","iva","ivat","iita","itta","itaa"]},"42":{"input":[2,4,6],"tlp":["sit",26898],"trp":["ist",39998],"tlw":["viisi",327],"trw":["itki",255],"lp":["sit","sti","tk","sitt","siit","siv","tki","tsi","sv","vis","tis"],"rp":["ist","its","itk","isti","itsi","itki","kiv","iist","kiit"]},"43":{"input":[1,2,4,6],"tlp":["vas",19036],"trp":["ista",23491],"tlw":["sita",11781],"trw":["kavi",1357],"lp":["vas","vast","tka","sita","asti","tak","vaik","aist","atk","taka","siva","asv","tais","tasi","atka"],"rp":["ista","kat","kats","kasv","kav"]},"44":{"input":[3,4,6],"tlp":["ri",43375],"trp":["ir",15903],"tlw":["ettei",3147],"trw":["irti",421],"lp":["ri","ve","vie","tie","ev","tei","eit","rv","eri","eiv","etti","tiet","eti","ttei","vet"],"rp":["ir","itte","ite","iet","ier"]},"45":{"input":[1,3,4,6],"tlp":["ari",10391],"trp":["ieta",3954],"tlw":["eivat",3839],"lp":["ari","eva","var","eita","arv","eiva","ria","evat","arvi","tarv","vaar","vart","rva","raav","tari","veta","rai"],"rp":["ieta","ira","iera"]},"46":{"input":[2,3,4,6],"tlp":["rk",13550],"trp":["itse",13494],"tlw":["teki",1489],"trw":["itse",3766],"lp":["rk","esti","tek","etk","rkk","rsi","tied","ris","tke","rke","teid"],"rp":["itse","ker","kir","iste","iset","kert","kerr","irk","kirk"]},"47":{"input":[1,2,3,4,6],"tlw":["tieda",1175],"trw":["kertaa",1619],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",333976],"trw":["niin",26801],"lp":[],"rp":["in","ni","iin","nii","niin","ih","hi","inn","nh","nin","iih","hin","nni","hn","ihi","ihin","ini","iinn","inni","nhi"]},"49":{"input":[1,5,6],"tlp":["ah",50528],"trp":["ha",155587],"tlw":["aina",4737],"trw":["han",60727],"lp":["ah","ain","aha","ani","ahan","aina","anh","anha"],"rp":["ha","han","ina","nai","iina","nah","ian","nha","haa","iha","nain","ihan"]},"50":{"input":[2,5,6],"tlp":["sin",32954],"trp":["nk",49072],"tlw":["sikin",37],"trw":["kiinni",1175],"lp":["sin","siin","siih","skin"],"rp":["nk","kin","ink","nki","nkin","nsi","isin","iink","ij","hk","inki","ksin","nis","kiin","ins","ikin"]},"51":{"input":[1,2,5,6],"tlp":["akin",7540],"trp":["kaan",25562],"tlw":["sina",5798],"trw":["kanssa",4169],"lp":["akin","sina","ank"],"rp":["kaan","nka","kan","inka","kans","nak","nkaa","nais","naki","kana","ija","inak","kah","ikan","hka","jai","isan"]},"52":{"input":[3,5,6],"tlp":["eh",17793],"trp":["he",62964],"tlw":["enin",79],"trw":["he",9072],"lp":["eh","eni","ein","ehe"],"rp":["he","ine","inen","hy","yh","hei","ien","yi","hen","ieh","ihe","iihe","ihen","iehe","hny","inne"]},"53":{"input":[1,3,5,6],"tlp":["aine",8961],"trp":["hane",41802],"tlw":["eihan",834],"trw":["hanen",25783],"lp":["aine","ahe","ahny","eiha","eha","eina","ehia","ehan","enia","anhe","aihe","enha","ahne","eani"],"rp":["hane","yha","yhan","hea","hena","inay"]},"54":{"input":[2,3,5,6],"tlp":["enk",14707],"trp":["hd",22326],"tlw":["siihen",4304],"trw":["niiden",2381],"lp":["enk","enki","ensi","ehd"],"rp":["hd","ky","isen","ken","hde","yk","yks","heid","ksen","iden","hden","kein","yksi","kys","kysy","keen"]},"55":{"input":[1,2,3,5,6],"tlw":["ehka",1532],"trw":["heidan",5518],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["tiin",8421],"trp":["ht",36404],"tlw":["viini",52],"trw":["nti",182],"lp":["tiin","vin","tin","vih","th","viin"],"rp":["ht","hti","niit","nti","int","hit","ntti","nit","init","nv","iint","nitt","hv","itin"]},"57":{"input":[1,4,5,6],"tlp":["van",24884],"trp":["hta",10602],"tlw":["vaan",7099],"trw":["hanta",8388],"lp":["van","aht","tah","vaan","vain","vah","vanh","taht","ahti","vaha","avan","tain","taha","vana"],"rp":["hta","hant","ivan","htaa","hat","inta"]},"58":{"input":[2,4,5,6],"tlp":["tkin",2359],"trp":["ntis",951],"tlw":["viisin",90],"trw":["kiinnitti",90],"lp":["tkin","ch","tsin","tins","stin","tij","vink","tsh","tsij","tch"],"rp":["ntis","nist","hist","nci","hits","ncis","nsiv","itsh","nits","htik"]},"59":{"input":[1,2,4,5,6],"tlw":["vastaan",3099],"trw":["niista",1303],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["rin",8705],"trp":["yv",14540],"tlw":["tehnyt",1374],"trw":["hyvin",4061],"lp":["rin","teh","tyi","eht","ven","rh"],"rp":["yv","hyv","het","iten","her","yht","hte","yvi","herr","hyvi","yvin","ytti","heit","hnyt"]},"61":{"input":[1,3,4,5,6],"tlw":["taytyi",1362],"trw":["hanet",4513],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["sitten",8039],"trw":["kenties",944],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["teidan",2121],"trw":["kerran",2976],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",9026],"trw":["o",542],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",201],"trp":["oa",14352],"lp":["ao"],"rp":["oa","oaa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",15574],"trp":["os",54094],"tlw":["so",36],"lp":["so","soo","sso","sos","soss"],"rp":["os","oss","oso","oos","ooss"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["soa",566],"trp":["ossa",8151],"trw":["osaa",838],"lp":["soa","aso","sao","ssao"],"rp":["ossa","osa","oas","osaa","osas","ow"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",536],"trp":["oe",3004],"trw":["-",534],"lp":["eo"],"rp":["oe"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",142],"trp":["ox",358],"lp":["a-","a-a","xo"],"rp":["ox","-a","oxo"]},"70":{"input":[2,3,7],"tlp":["do",12063],"trp":["od",8394],"lp":["do","dos","edo","sod","soe","doss","esso","eos","eoss","edos"],"rp":["od","ode","odo","ose","odos","oose","oses","odes","oes","oess"]},"71":{"input":[1,2,3,7],"tlp":["ado",599],"trp":["oda",1130],"tlw":["sodassa",75],"lp":["ado","soda","aado","dow","eado","adow"],"rp":["oda","odas","odaa"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",61617],"trp":["ot",51834],"tlw":["g",128],"trw":["ogoot",161],"lp":["to","tto","tot","too","tott","go","gt","goo","goot","gto","ttoo","gg"],"rp":["ot","ott","oto","otto","oot","og","ogo","ogoo"]},"73":{"input":[1,4,7],"tlp":["ato",2846],"trp":["ota",12728],"tlw":["totta",1107],"trw":["ottaa",1121],"lp":["ato","toa","ga","atto","ag","gat","gata","aato","ttoa","ago","gatt","toaa","fo"],"rp":["ota","otta","otaa","of","oat","oata","otoa"]},"74":{"input":[2,4,7],"tlp":["sto",3632],"trp":["ost",9527],"lp":["sto","tso","tos","sot","co","toss","tost","sott","stos","tsoo","stot","stoo","tsos","tsot","gs"],"rp":["ost","ots","oc","osto","osot"]},"75":{"input":[1,2,4,7],"tlp":["atso",3515],"trp":["osta",6277],"tlw":["sota",171],"trw":["ostaa",147],"lp":["atso","asto","gas","sota","atos","tsoa","sato","stoa","gast","sof","aggs","asot"],"rp":["osta","oast","otsa","osat","osof","owc"]},"76":{"input":[3,4,7],"tlp":["ro",11439],"trp":["or",16598],"tlw":["eero",648],"lp":["ro","ero","rto","tor","erto","ge","eto","rot","rg","erg","rro","erro","etto"],"rp":["or","ote","ort","ore","oet","oett","otte"]},"77":{"input":[1,3,4,7],"tlp":["rag",1424],"trp":["ora",1253],"tlw":["erottaa",195],"lp":["rag","aro","rtoa","rof","atro","rota","etoa","rofe","gra","aroo","roa","eroa","for"],"rp":["ora","oraa","orta","ofe","oeta","orea","otar"]},"78":{"input":[2,3,4,7],"tlp":["dot",4568],"trp":["odot",2046],"tlw":["god",157],"lp":["dot","dott","tod","tode","dost","ros","stor","sor","doto","cor","cort","roc","serg","ssor","tsoe","tros","ross"],"rp":["odot","oste","ors"]},"79":{"input":[1,2,3,4,7],"tlw":["grace",80],"trw":["odottaa",481],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",111283],"trw":["on",43019],"lp":[],"rp":["on","un","uu","uo","nu","no","ou","uon","nun","unn","onn","uun","unu","nnu","nuo","oon","nno","non","nou","onu"]},"81":{"input":[1,5,7],"tlp":["au",31984],"trp":["ua",18997],"lp":["au","ano","anu","aun","annu","aanu","aua","anoa","anon","auan"],"rp":["ua","nua","noa","ona","una","nau","uan","uona","onaa","unna"]},"82":{"input":[2,5,7],"tlp":["su",33737],"trp":["jo",99696],"tlw":["sun",387],"trw":["jos",9131],"lp":["su","suu","suo"],"rp":["jo","us","jos","ju","jon","oj","uus","jou","juu","uos","joss","ous","uns","nous","nus","ons","uss"]},"83":{"input":[1,2,5,7],"tlp":["sano",17998],"trp":["oja",7593],"tlw":["sanoa",1500],"trw":["jossa",2870],"lp":["sano","aus","asu","ausu","ajo","anoj","aju","sua"],"rp":["oja","noas","onsa","ussa","uja","noja","unsa","ojan","osan","uas","uoja","ojaa"]},"84":{"input":[3,5,7],"tlp":["eu",8909],"trp":["yo",14437],"tlw":["eno",84],"trw":["yon",465],"lp":["eu","enu","eno","ennu"],"rp":["yo","one","onne","unne","oy","ue","uone","yon","onee","une","oen","neu","unee","onen","noe","noen"]},"85":{"input":[1,3,5,7],"tlp":["que",622],"trp":["yona",396],"trw":["yona",396],"lp":["que","anoe","aune","aue","enoa","euna","xon","aneu","aeu"],"rp":["yona","nox","oxon","-na","-nay","nque","naeu","unay"]},"86":{"input":[2,3,5,7],"tlp":["seu",5113],"trp":["ud",9289],"tlw":["syo",106],"trw":["uuden",713],"lp":["seu","don","du","suud","syo"],"rp":["ud","ude","uud","uude","yos","use","uden","uod","oje","ojen","udes","uode","oyd","ues","oden"]},"87":{"input":[1,2,3,5,7],"tlw":["sanoen",554],"trw":["juoda",134],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tu",97385],"trp":["ut",111271],"tlw":["tuo",4127],"trw":["outo",170],"lp":["tu","tun","tuo","ttu","ton","tunt","tuu"],"rp":["ut","utt","nut","uut","ng","unt","uot","unut","nnut","nto","uutt","utu","ont"]},"89":{"input":[1,4,5,7],"tlp":["anut",9016],"trp":["utta",36184],"tlw":["tuota",1414],"trw":["uutta",628],"lp":["anut","tanu","aut","tua","atu","autt","anto","attu","ttua","anot","tau","agn","ang"],"rp":["utta","uta","uuta","nga","onta","uota","unta"]},"90":{"input":[2,4,5,7],"tlp":["stu",9987],"trp":["jot",16587],"tlw":["totuus",204],"trw":["joutunut",411],"lp":["stu","tus","tuns","tuos","suut","toj","tust","stun","tsu","stus","sut"],"rp":["jot","ust","nust","jost","jout","nost","jott","uost","uots"]},"91":{"input":[1,2,4,5,7],"tlw":["saanut",2403],"trw":["jota",3761],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ru",10641],"trp":["ur",27188],"tlw":["tytto",1225],"trw":["nuoren",497],"lp":["ru","eur","ettu","tyo","rou","ruu","tur","eut"],"rp":["ur","uur","uor","ure","uure","ute","nuor","uten","unte","yot","uute","ytto"]},"93":{"input":[1,3,4,5,7],"tlw":["tyota",814],"trw":["yota",359],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["suuren",1116],"trw":["joten",283],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["suurta",798],"trw":["uudestaan",554],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["ll",180531],"trw":["oli",55295],"lp":[],"rp":["ll","ol","li","oi","oli","il","ill","lo","oll","lli","loi","llo","lloi","illo","lii","io","olli","ilo","oil","oill"]},"97":{"input":[1,6,7],"tlp":["al",103204],"trp":["la",161361],"tlw":["alla",1156],"trw":["olla",4699],"lp":["al","all","alla","ala","aal","aall","ali","alli","alo","ail","alai"],"rp":["la","lla","illa","lai","olla","laa","ila","llai","llaa"]},"98":{"input":[2,6,7],"tlp":["sil",23278],"trp":["ko",79476],"tlw":["soi",379],"trw":["olisi",9034],"lp":["sil","sill"],"rp":["ko","ok","lis","ois","lk","lisi","olis","koi","oik","llis","osk","oko","kok","kos","koko","iko","oisi","lko"]},"99":{"input":[1,2,6,7],"tlp":["alk",11320],"trp":["oka",22378],"tlw":["silla",7800],"trw":["koska",1773],"lp":["alk","sal","alko","alka","alas","aiko","ako","sala","sall"],"rp":["oka","lais","las","kal","lka","oska","kall","lak","oika","lkaa","laki"]},"100":{"input":[3,6,7],"tlp":["el",107523],"trp":["le",115183],"tlw":["eli",822],"trw":["ole",10027],"lp":["el","ell","elle","eli","ele","eil","eill","elli"],"rp":["le","lle","ole","iel","lee","ille","llee","iell","olle","iele","lei","lel"]},"101":{"input":[1,3,6,7],"tlp":["ella",24479],"trp":["iela",9775],"tlw":["elaa",782],"trw":["lea",62],"lp":["ella","ela","alle","ale","eal","elaa","eall","elia","aile","elai","alee","alel","a-al","aale","alea","elal"],"rp":["iela","lea","-al","lae"]},"102":{"input":[2,3,6,7],"tlp":["sel",13503],"trp":["oise",7642],"tlw":["eiko",1404],"trw":["kello",600],"lp":["sel","sell","siel","del","dell","elk","eiso","seli","skel"],"rp":["oise","lke","oike","lise","les","kel","lkee","kell","okse","isel","oid"]},"103":{"input":[1,2,3,6,7],"tlw":["siella",4520],"trw":["keskella",829],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",29749],"trp":["lt",22549],"tlw":["voi",5384],"trw":["otti",1283],"lp":["vo","toi","voi","til","toiv","gi","voit"],"rp":["lt","oit","ov","liv","oliv","oitt","oiv","lit","lv","ilt","otti","oti","ito"]},"105":{"input":[1,4,6,7],"tlp":["val",18640],"trp":["lta",17662],"tlw":["taalla",3001],"trw":["olivat",8509],"lp":["val","tal","alt","vall","alta","vali","taal","talo","aval","tila","tall","valt"],"rp":["lta","liva","ova","ovat","oita","oiva","ilta","lat"]},"106":{"input":[2,4,6,7],"tlp":["tois",11857],"trp":["otk",7732],"tlw":["voisi",1258],"trw":["kiitos",454],"lp":["tois","tko","svo","vois","tosi","tok","soit","vos","tsoi","tkoi","svoi","stoi"],"rp":["otk","oist","list","kot","kov","isto","koti","osti"]},"107":{"input":[1,2,4,6,7],"tlw":["saattoi",861],"trw":["katsoi",951],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["tel",10931],"trp":["lev",8000],"tlw":["teille",1239],"trw":["olet",1963],"lp":["tel","viel","elt","vel","teli","tell","ttel","ril","rill","evo","elv"],"rp":["lev","let","ori","olet","olev","ielt","lett","ove","leet"]},"109":{"input":[1,3,4,6,7],"tlw":["viela",8600],"trw":["oleva",577],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["toiset",990],"trw":["kertoi",658],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["sielta",1053],"trw":["katseli",846],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ui",66193],"trw":["olin",2657],"lp":[],"rp":["ui","ul","lu","uin","inu","oin","hu","oh","ull","llu","uh","uol","noi","uul","lin","ollu","loin","uli","huo","luo"]},"113":{"input":[1,5,6,7],"tlp":["anoi",9266],"trp":["lah",8966],"tlw":["ainoa",772],"trw":["liian",1614],"lp":["anoi","aino","auh","alan","aul","auni","alu"],"rp":["lah","ulla","lan","inua","laan","hal","inoa","lain","lau","uha","nal","hall","ula"]},"114":{"input":[2,5,6,7],"tlp":["sinu",6349],"trp":["ku",115005],"tlw":["silloin",5497],"trw":["kuin",22585],"lp":["sinu"],"rp":["ku","kui","kuin","kun","uk","jok","kuu","onk","lj","joi","nku","kuul","koh","uks","jonk","usk","nkui","kul","usi"]},"115":{"input":[1,2,5,6,7],"tlw":["sanoi",7087],"trw":["joka",18978],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["elu",3144],"trp":["len",16714],"tlw":["eilen",316],"trw":["olen",5653],"lp":["elu","elen"],"rp":["len","yl","nel","ule","nell","leen","olen","uole","ulle","yll","hel","oine","line","ulee","llen","uule","yli","ly"]},"117":{"input":[1,3,5,6,7],"tlw":["aanella",765],"trw":["hanelle",4619],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["ennenkuin",1410],"trw":["oikein",2049],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["sellainen",739],"trw":["kylla",3839],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["tul",21501],"trp":["lut",16706],"tlw":["tuli",4747],"trw":["ollut",10662],"lp":["tul","tui","vu","tuli","vuo","voin","tull","toin"],"rp":["lut","llut","uv","oht","uit","inut","hto","ing","ult","htu","itu","utti"]},"121":{"input":[1,4,5,6,7],"tlw":["tulla",1527],"trw":["lahti",967],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["tunsi",1344],"trw":["istui",1253],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["ainoastaan",2528],"trw":["jotka",7436],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["tulee",3128],"trw":["nuori",1213],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["rouva",1878],"trw":["olevan",1792],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["suuri",2189],"trw":["kuitenkin",3603],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["tahdon",933],"trw":["kuitenkaan",984],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",8308],"trw":["p",1108],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",22497],"trp":["pa",77545],"trw":["paa",544],"lp":["ap","apa","app","apaa","aap","appa","aapa"],"rp":["pa","paa","pap","ppa","papp","ppaa","paaa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",2110],"trp":["ps",4292],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["aps",4165],"trp":["paas",5700],"trw":["paassa",773],"lp":["aps","spa","saap","apas","asp","aspa","sap","saps","apsa"],"rp":["paas","pas","ppas","psa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",2526],"trp":["pe",16376],"trw":["'",576],"lp":["ep","epp","e'","eep"],"rp":["pe","'e","pee","ppe"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["epa",1849],"trp":["pea",2103],"tlw":["aape",205],"lp":["epa","ape","aape","apea","eppa","appe","epaa"],"rp":["pea","'a","pape","pae","peaa","paae"]},"134":{"input":[2,3,8],"tlp":["s'",618],"trp":["pse",2270],"lp":["s'","sep","esp","sepp","d'","spe","ss'","s'e","es'"],"rp":["pse","pes","psee","ped","pede","pses","pees"]},"135":{"input":[1,2,3,8],"tlp":["apse",2143],"trp":["peas",737],"tlw":["sepa",189],"trw":["paase",202],"lp":["apse","espa","sepa","epas","d'a","d'as"],"rp":["peas","pesa","'as"]},"136":{"input":[4,8],"tlp":["tp",203],"trp":["pt",207],"lp":["tp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",6856],"trp":["paat",3775],"tlw":["tapa",257],"trw":["paata",312],"lp":["tap","tapa","tapp","apt","taap","tpa","apat"],"rp":["paat","pat"]},"138":{"input":[2,4,8],"lp":[],"rp":[]},"139":{"input":[1,2,4,8],"tlp":["stap",241],"trp":["past",383],"trw":["paasta",1393],"lp":["stap","spat"],"rp":["past"]},"140":{"input":[3,4,8],"tlp":["t'",2289],"trp":["per",3933],"tlw":["ett'",217],"lp":["t'","tt'","ett'","t'e","tt'e","rp","rpe","rpee","r'","rr'","rep","err'"],"rp":["per","pet","pett","pr","pte","ptee","pere","pre"]},"141":{"input":[1,3,4,8],"tlp":["arp",756],"trp":["par",8411],"trw":["paeta",156],"lp":["arp","tarp","arpe","aper","t'a","rap","rapa","apte","epat","arr'","rapp","fe'"],"rp":["par","pera","pare","para","paet","pate","part","peat"]},"142":{"input":[2,3,4,8],"tlp":["spr",153],"trp":["pset",690],"lp":["spr","spre","tsep","st'"],"rp":["pset"]},"143":{"input":[1,2,3,4,8],"tlw":["d'astarac",81],"trw":["perasta",769],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",28094],"trw":["m",905],"lp":[],"rp":["mm","mp","np","nm","mpp"]},"145":{"input":[1,5,8],"tlp":["am",46002],"trp":["ma",123834],"trw":["nama",1502],"lp":["am","ama","amaa","aman","aam","amm","aama","amp"],"rp":["ma","maa","man","maan","mma","pan","mpa","mman","npa","paan","nam","nama"]},"146":{"input":[2,5,8],"tlp":["sm",505],"lp":["sm"],"rp":[]},"147":{"input":[1,2,5,8],"tlp":["sam",8343],"trp":["mas",10187],"tlw":["samassa",1358],"trw":["paansa",590],"lp":["sam","sama","amas","span","saam","samm","ssam","sma","sanm","asm"],"rp":["mas","mass","mans","maas","mmas","panj","maj","pans","mpas","jam"]},"148":{"input":[3,5,8],"tlp":["em",30930],"trp":["me",55008],"tlw":["emme",1059],"trw":["me",4210],"lp":["em","emm","emp","emme","enem"],"rp":["me","men","my","mme","ym","py","nem","mene","menn","ymm","nemm","ymp","ymy","pyy","mee"]},"149":{"input":[1,3,5,8],"tlp":["ema",9490],"trp":["ympa",2574],"tlw":["enemman",2199],"trw":["menna",1245],"lp":["ema","emma","emaa","ame","amme","eman","empa","amen","enpa","eam","eamm","eamp"],"rp":["ympa","ymma","mea","pane","yma","nema","ymaa","mpea"]},"150":{"input":[2,3,5,8],"tlp":["sem",3594],"trp":["mes",2527],"tlw":["esm",37],"trw":["pysyy",153],"lp":["sem","semm","sym","symy","spen","dem","demm"],"rp":["mes","pys","ysym","psen","pysy","mess","mens","pyys","mys","ymys","pyyd","meyd","pend"]},"151":{"input":[1,2,3,5,8],"tlw":["sydamensa",387],"trw":["pyydan",244],"lp":[],"rp":[]},"152":{"input":[4,5,8],"trp":["mb",336],"lp":[],"rp":["mb","mmb"]},"153":{"input":[1,4,5,8],"tlp":["tam",18925],"trp":["mat",13373],"tlw":["tama",6514],"trw":["maata",654],"lp":["tam","tama","amat","ttam","tamm","ammb","atam","taam","tamp","amb"],"rp":["mat","matt","mmat","maat","mant","pant","mata","ntam","ntap"],"special":"numsym"},"154":{"input":[2,4,5,8],"lp":[],"rp":[]},"155":{"input":[1,2,4,5,8],"tlw":["samat",179],"trw":["maasta",321],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",5379],"trp":["mer",3161],"tlw":["ett'en",165],"trw":["mr",635],"lp":["rm","rem","tem","remp","remm","temm","rme","ttem","temp"],"rp":["mer","met","mr","pent","ment","mere","pyyt","ntem","pyr","myr","metr"]},"157":{"input":[1,3,4,5,8],"tlw":["emanta",515],"trw":["ymmarra",345],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"trw":["mrs",279],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["armas",161],"trw":["paassyt",507],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",36935],"lp":[],"rp":["pi","ip","ppi","pii","iip","ipp","ipi","iipp","iipi","piip","ipii","ppii"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",2247],"trp":["pai",17547],"trw":["pappi",810],"lp":["api","appi","apai","aip","aipa","aapi","aipp"],"rp":["pai","pia","ipa","papi","ppia","ipaa","ippa","piaa"]},"162":{"input":[2,6,8],"tlp":["sip",134],"trp":["pik",1832],"lp":["sip","siip"],"rp":["pik","psi","pis","pikk","isp","piis","iisp","pisi","piki","kip","ksip","kkip","kipi","piik","psis","piks","isip","kiip"]},"163":{"input":[1,2,6,8],"tlp":["apsi",1759],"trp":["paik",2876],"tlw":["saapi",132],"trw":["paasi",542],"lp":["apsi","spai","apis","sipa"],"rp":["paik","pak","kap","pasi","ispa","kapa","pais","kapp","paak","pakk","psia","paks","kaip","kkap","ipas","pias"]},"164":{"input":[3,6,8],"tlp":["eip",817],"trp":["pie",5244],"lp":["eip","epi","eppi","eipp","e'i","eepi"],"rp":["pie","'ei","pei","ipe","'i","iep","ppie","iepp","iepi","iipe","ipie"]},"165":{"input":[1,3,6,8],"tlp":["epai",1133],"trp":["'ai",235],"tlw":["eipa",378],"lp":["epai","eipa","epia","apei"],"rp":["'ai","ipea"]},"166":{"input":[2,3,6,8],"tlp":["siep",69],"trp":["pid",1813],"trw":["kiipesi",44],"lp":["siep"],"rp":["pid","pesi","pide","k'","peek","kk'","ikk'","pek","pike","pekk","kipe","pidi","is'","ksep","k'e","kk'e","k'ei","ipid","iss'"]},"167":{"input":[1,2,3,6,8],"tlw":["sieppasi",69],"trw":["pida",405],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["viip",485],"trp":["pit",11493],"trw":["piti",1713],"lp":["viip"],"rp":["pit","piti","piv","ipit","ppiv","pitt","ipiv"]},"169":{"input":[1,4,6,8],"tlp":["vap",1883],"trp":["paiv",6732],"tlw":["vapaa",269],"trw":["pitaa",1916],"lp":["vap","vapa","vaip","vapi","apit","taip","tapi"],"rp":["paiv","pita","pait","itap","piva","paav"]},"170":{"input":[2,4,6,8],"trp":["pitk",4224],"trw":["pisti",361],"lp":[],"rp":["pitk","pist"]},"171":{"input":[1,2,4,6,8],"tlw":["sitapaitsi",428],"trw":["pitaisi",756],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["t'ei",979],"trp":["peri",1054],"tlw":["ett'ei",867],"trw":["peitti",175],"lp":["t'ei","riip","reip","repi","viep","t'i","rip"],"rp":["peri","peit","piet","pite","piir","pir","it'","pier","pri","pirt","'eiv","iit'","irip"]},"173":{"input":[1,3,4,6,8],"tlw":["ett'eivat",74],"trw":["pari",989],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["sit'",100],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["tarpeeksi",310],"trw":["parka",244],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",120870],"trw":["mihin",694],"lp":[],"rp":["mi","min","im","hm","ihm","mmi","hmi","ihmi","mmin","imm","imi","nim","iim","mpi","mii","nimi","miin","pin","pim","hmin"]},"177":{"input":[1,5,6,8],"tlp":["aim",2568],"trp":["mina",17633],"trw":["mina",16504],"lp":["aim","ami","apah","amia"],"rp":["mina","mai","ima","pain","pah","mia","main","mah","maai","imma","pian","paha","ham","imaa","maah","imai"]},"178":{"input":[2,5,6,8],"tlp":["sim",3768],"trp":["mis",12062],"trw":["miksi",1344],"lp":["sim","simm","smi"],"rp":["mis","mik","hmis","miss","mink","nsim","misi","miks","imis","kim","isim","jim","mpik","ism","mk","kimp","ismi"]},"179":{"input":[1,2,5,6,8],"trw":["mika",3480],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emmi",3536],"trp":["mie",19226],"tlw":["ennemmin",163],"trw":["meni",1459],"lp":["emmi","empi","emi"],"rp":["mie","mei","ime","mieh","pien","iime","meni","hem","imei","imme","hemm","nime","hym","mein","hymy","hme","mine"]},"181":{"input":[1,3,5,6,8],"trw":["miehia",566],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["esim",379],"trw":["mies",3388],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["ensimainen",403],"trw":["meidan",2780],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["viim",3133],"trp":["mit",21696],"trw":["nimitti",52],"lp":["viim","tim","ttim","vim","vimm","timm","tinp"],"rp":["mit","mitt","imit","mint","htim","miit","mmit","npit","pint","miv","imiv"]},"185":{"input":[1,4,5,6,8],"trw":["mita",10059],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"trw":["pitkin",1130],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"trw":["mista",982],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["viimein",718],"trw":["miten",2370],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["eteenpain",770],"trw":["meita",1361],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["sittemmin",355],"trw":["ihmiset",1045],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["varmaankin",428],"trw":["miesta",877],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",17061],"lp":[],"rp":["po","op","opp","ppo","oop","oopp","poo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",392],"trp":["opa",760],"lp":["apo","appo","aapo"],"rp":["opa","poa","ppoa","oopa","opaa"]},"194":{"input":[2,7,8],"tlp":["sop",886],"trp":["pos",648],"lp":["sop"],"rp":["pos","osp"]},"195":{"input":[1,2,7,8],"trp":["ospa",434],"lp":[],"rp":["ospa"]},"196":{"input":[3,7,8],"tlp":["epo",141],"trp":["ope",2399],"lp":["epo","epoo"],"rp":["ope","'o","oppe"]},"197":{"input":[1,3,7,8],"tlp":["epoa",105],"trp":["opea",620],"lp":["epoa"],"rp":["opea"]},"198":{"input":[2,3,7,8],"tlp":["s'o",328],"trp":["osep",102],"lp":["s'o"],"rp":["osep"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["gtp",153],"trp":["pot",295],"lp":["gtp","tpo","gtpo","top"],"rp":["pot","pott"]},"201":{"input":[1,4,7,8],"tlp":["apot",165],"trp":["pato",255],"lp":["apot","tapo","topa"],"rp":["pato","pota","otap"]},"202":{"input":[2,4,7,8],"trp":["post",449],"lp":[],"rp":["post"]},"203":{"input":[1,2,4,7,8],"trw":["paatos",82],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["tpor",153],"trp":["opet",1620],"trw":["peto",55],"lp":["tpor","tope","roop"],"rp":["opet","por","port","pro","poro","peto"]},"205":{"input":[1,3,4,7,8],"trw":["opettaa",197],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"trw":["petosta",39],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["mu",58870],"trw":["muu",588],"lp":[],"rp":["mu","pu","om","mo","muu","um","uom","puo","up","mon","pun","puu","upu","upun","opu","umm","ppu","nom","uum","mmo"]},"209":{"input":[1,5,7,8],"tlp":["aup",2791],"trp":["oma",16400],"tlw":["apua",470],"trw":["oman",1021],"lp":["aup","apu","aupu","amo","amu","apau","aamu","aapu","anom"],"rp":["oma","uma","uoma","omaa","oman","pau","noma","upa","umaa","umma","panu"]},"210":{"input":[2,5,7,8],"tlp":["suom",4018],"trp":["jum",4241],"tlw":["suom",417],"lp":["suom","som","sum"],"rp":["jum","mus","poj","jop","mons","muus","pus","moj","opus","moos","josp","puss","omus","mos","npoj","psu","psuu"]},"211":{"input":[1,2,5,7,8],"tlw":["sanomaan",203],"trw":["pojan",607],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emmo",1235],"trp":["myo",6382],"tlw":["emo",86],"trw":["monen",273],"lp":["emmo","emu"],"rp":["myo","ome","uome","omen","poy","mone","upe","nope","pue","myon","ume","uem","yom","meno","pyo","omme","uemm","pune"]},"213":{"input":[1,3,5,7,8],"trw":["myonnan",82],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["suomen",1322],"trw":["myos",1706],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["suomessa",236],"trw":["poydan",440],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",3714],"trp":["mut",29213],"tlw":["tom",275],"trw":["muut",992],"lp":["tom","ttom","tum","tuom","tomu","bom","gbom","tup","ttum"],"rp":["mut","mutt","muut","pung","mont","puut","muot","put","mbo","mmbo","puto"]},"217":{"input":[1,4,5,7,8],"trw":["mutta",28564],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"trw":["muutos",112],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["tuomas",244],"trw":["pojat",604],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["bergbom",465],"trw":["muuten",1081],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["tuntemaan",300],"trw":["poytaan",161],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["sprengtport",116],"trw":["prudence",171],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["etupaassa",239],"trw":["opettaja",379],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["poi",8488],"trw":["oppi",180],"lp":[],"rp":["poi","lop","lp","oppi","opi","pil","pol","lpo","lopp","ppil","lip","iop","liop","ilp","lpp","lppo","ippo","ppol","poli","pio"]},"225":{"input":[1,6,7,8],"tlp":["alp",476],"trp":["pal",8702],"trw":["lapi",904],"lp":["alp","alap"],"rp":["pal","lap","pala","paal","lapi","pail","pila","ppal","lapa","lipa","lpa","palo","lpaa","llap","lapp","iopa","opai","ilpa"]},"226":{"input":[2,6,7,8],"tlp":["sopi",829],"trp":["poik",4206],"tlw":["sopii",210],"trw":["pois",3248],"lp":["sopi"],"rp":["poik","pois","lpos","kop","lkop","opis","polk","posk","losp","psil","pilk","oisp","kilp","pios"]},"227":{"input":[1,2,6,7,8],"trw":["poika",1648],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elp",1235],"trp":["pel",3429],"tlw":["ell'ei",70],"trw":["piilee",68],"lp":["elp","elpo","elpp","elip","ell'"],"rp":["pel","lpe","l'","lep","ll'","pelo","peli","leip","ppel","lope","peel","pell","'ol","'oli","ill'"]},"229":{"input":[1,3,6,7,8],"tlw":["epailla",102],"trw":["paalle",747],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["s'oli",178],"trw":["pelko",234],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["sill'aikaa",122],"trw":["pelkaa",283],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["voip",114],"trp":["pilv",391],"tlw":["voipi",114],"trw":["ippolit",287],"lp":["voip","vilp","tiop"],"rp":["pilv","opiv","polv","polt","lpit","lpot","pito"]},"233":{"input":[1,4,6,7,8],"tlw":["apotti",165],"trw":["palata",236],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["potki",36],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["sopiva",101],"trw":["palasivat",135],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["viel'",99],"trw":["perille",288],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["vielapa",360],"trw":["portaita",183],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["tok'",38],"trw":["posket",92],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["tarpeellista",75],"trw":["lapset",690],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["lm",22428],"trw":["minun",5382],"lp":[],"rp":["lm","minu","ilm","puh","puol","mui","oim","mil","puhu","huom","lmi","omi","mill","moi","olm","ilmi","imo","pui","mol","moin"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["aamulla",431],"trw":["minua",4742],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["silmin",342],"trw":["pikku",1155],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["samalla",1927],"trw":["paljon",3194],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["minulle",3318],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["elaman",1008],"trw":["meilla",1051],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["semmoinen",325],"trw":["myoskin",2227],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["suomalaisen",431],"trw":["kallem",1117],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["toimi",174],"trw":["minut",1928],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["tapahtunut",602],"trw":["muutamia",1006],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["sopinut",80],"trw":["muutkin",289],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["silmat",1184],"trw":["minusta",1102],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["toimeen",479],"trw":["miltei",281],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["epailematta",384],"trw":["molemmat",921],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["rupesi",652],"trw":["helposti",449],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["tapauksessa",366],"trw":["puolesta",598],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/fr-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/fr-keymap.json index 22c4f4cd26..9613ba92b6 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/fr-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/fr-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlw":["a",186860],"lp":[],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",130131],"tlw":["s",189],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",154012],"tlw":["sa",35710],"lp":["as","sa","ass","ssa","assa","wa","asa","sas","ssas","sass","aw","was","sw"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",43082],"tlw":["e",648],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",45510],"tlw":["x",164],"lp":["ea","ex","xe","xa","exa","exe","ae","ax","xee"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["es",647732],"tlw":["de",329573],"lp":["es","de","se","des","sse","ses","ess","ed","esse","ds","ese","ees","dess","see","dee","ede","sses","eds","ssee","dese"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",113149],"tlw":["sexe",325],"lp":["da","asse","ad","essa","ade","ada","sea","dea","eda","ase","we","deda","das","sex","ew","ades","esa","ssea","adea","dex"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",56643],"tlw":["t",179],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",168893],"tlw":["ta",2612],"lp":["ta","fa","at","ff","att","af","tat","tta","aff","ffa","affa","ata","atta","fat","tf","ttf","ft","fata","tata"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",141218],"tlw":["c",294],"lp":["st","ts","ct","sc","cc","cs","tc","cts","sts"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",78160],"tlw":["ca",22002],"lp":["ca","ac","sta","fac","act","acc","cas","sac","tac","cat","tas","sat","ats","ast","aca","sca","cac","cca","fs","sf"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["re",583533],"tlw":["et",174550],"lp":["re","et","er","te","tr","tre","rt","ere","rr","ete","ter","tte","etr","ett","rte","ret","etre","ette","err","rre"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",199557],"tlw":["frere",1316],"lp":["ar","ra","eta","fe","tra","art","fr","arr","era","ef","rta","fer","are","atte","ara","ate","rra","fra","ref","rea"],"rp":[]},"14":{"input":[2,3,4],"tlp":["ce",214983],"tlw":["ce",47447],"lp":["ce","ec","est","res","rs","rd","dr","ser","rc","tes","cr","ers","dre","ste","ces","tres","cet","der","cett","rec"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["ard",29774],"tlw":["tard",3213],"lp":["ard","ace","arc","car","ras","sera","arde","rac","rda","arda","dra","arce","cra","tard","face","esta","rsa","xc","exc","acte"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",57349],"trw":["n",242],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",332256],"trp":["na",60823],"tlw":["anna",1043],"trw":["na",258],"lp":["an","ann","aq","anq","anna","ana","anan"],"rp":["na","nna","nan","nq","nnan","nann","nana"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",130],"trp":["ns",191473],"trw":["j",225],"lp":["sn"],"rp":["ns","nj"]},"19":{"input":[1,2,5],"tlp":["ans",94605],"trp":["ja",25027],"tlw":["sans",15580],"trw":["jan",70],"lp":["ans","san","sq","sans","ssan","aj","asq","ansa","wn","wan"],"rp":["ja","nsa","jan","nsan","nas","jas","nja","nw","nwa"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",547626],"trp":["ne",292024],"tlw":["en",90753],"trw":["ne",63131],"lp":["en","ene","enn","enne","ey","enny","eye"],"rp":["ne","nne","ye","nee","ny","nnee","nny","nen","yen","nnen","yn","yne","ney"]},"21":{"input":[1,3,5],"tlp":["ena",18722],"trp":["ya",10697],"tlw":["annee",430],"trw":["nanny",98],"lp":["ena","ay","enan","anne","ane","eq","ean","aye","aya","ayan","any","xan","anny","enq","exan"],"rp":["ya","yan","nea","nnea","nean"]},"22":{"input":[2,3,5],"tlp":["end",46705],"trp":["nd",127339],"tlw":["sens",2477],"trw":["je",94389],"lp":["end","ens","sen","ense","ej","den","dej","esen","sens","ends","ende"],"rp":["nd","je","nde","nse","nes","nds","ys","nees","ndes"]},"23":{"input":[1,2,3,5],"tlp":["dan",83378],"trp":["nda",18852],"tlw":["dans",69810],"trw":["jean",744],"lp":["dan","dans","and","ande","enda","anda","eja","deja","esq","say","ssay","ensa","ands","ays","saye","saya"],"rp":["nda","ndan","jea","jean"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",863],"trp":["nt",395069],"tlw":["b",429],"lp":["bb","bt","tn"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ant",99116],"trp":["nf",14856],"tlw":["tant",2815],"lp":["ant","ab","ba","tan","tant","tab","fan","bat","fant","ban","anta","batt","aba","bab"],"rp":["nf","nta","nant","nfa","nfan","nat"]},"26":{"input":[2,4,5],"tlp":["bs",4870],"trp":["nc",84806],"lp":["bs","bj","bsc","bst","sb"],"rp":["nc","nts","nst","nsc","ncs","nct"]},"27":{"input":[1,2,4,5],"tlp":["anc",29956],"trp":["nca",8089],"tlw":["bas",1760],"lp":["anc","sant","stan","bas","ants","can","anca","tanc","sanc","abs","sab","cab","bass","ancs","cq","acq"],"rp":["nca","nsta","jac","ntac"]},"28":{"input":[3,4,5],"tlp":["ent",205997],"trp":["nte",52433],"tlw":["entre",6016],"lp":["ent","ten","ren","be","br","rn","ente","entr","bre","rent","ern","rne","tent","tten"],"rp":["nte","ntr","ntre","ner","nten","nter"]},"29":{"input":[1,3,4,5],"tlp":["ran",32995],"trp":["ntra",4859],"tlw":["enfant",1479],"lp":["ran","rq","enf","tena","ante","bra","rna","bea","enta","rant","tran","enfa","rtan","fran","arq","bar","arb","fen","rena"],"rp":["ntra"]},"30":{"input":[2,3,4,5],"tlp":["enc",33290],"trp":["nce",37449],"tlw":["cent",1511],"trw":["jeter",658],"lp":["enc","endr","tend","ence","rend","sent","cen","ents","cent","bes","dern","dent","scen","renc","deb"],"rp":["nce","ndr","ndre","jet","ncer"]},"31":{"input":[1,2,3,4,5],"tlw":["bras",4531],"trw":["jeta",1297],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",352],"trw":["ii",352],"lp":[],"rp":["ii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",540051],"trp":["ia",19364],"tlw":["ai",3119],"lp":["ai","za","zi","zai","az","zz","azi","zzi","aza","zza","ziz","aziz","ziza"],"rp":["ia","iz","iza","iai","izai","izz","izzi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",117702],"trp":["is",301576],"tlw":["si",24030],"trw":["k",204],"lp":["si","ssi","sis","ssis","sk","ski","sisk"],"rp":["is","iss","isi","ki","ik","issi","ks","isk","kk","isis","kis","iski","kiss"]},"35":{"input":[1,2,6],"tlp":["ais",132120],"trp":["isa",17988],"tlw":["sais",5940],"lp":["ais","sai","aiss","sais","ssai","assi","aisa","aisi","asi","wi","ak","sia","sias"],"rp":["isa","issa","isai","ka","ias","kw","iais"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",36481],"trp":["ie",241794],"lp":["ei"],"rp":["ie","iei","iee"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ez",35534],"trp":["ix",16144],"tlw":["aie",130],"lp":["ez","aie","xi","ze","exi","xie","eai","aix","axi","zie","eiz","eize","eze","eez","xai"],"rp":["ix","iez","ixe","ixa","ize"]},"38":{"input":[2,3,6],"tlp":["di",97853],"trp":["id",28086],"tlw":["dis",1668],"trw":["idee",1596],"lp":["di","dis","sie","die","essi","esi","sei","edi","ssie"],"rp":["id","ide","ise","isse","ke","ied","ies","idee","idi","ieds","ises"]},"39":{"input":[1,2,3,6],"tlp":["dai",9749],"trp":["ida",1007],"tlw":["assez",2893],"lp":["dai","sez","aise","ssez","aid","dix","saie","dia","aide","disa","adi","xis","exis","six","dez","edia","adie","daie"],"rp":["ida","idea"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",116014],"trp":["it",399129],"tlw":["vit",2136],"lp":["ti","vi","tit","vit","viv","tiv","tti","ttit","vivi","tivi","titi"],"rp":["it","iv","iti","ivi","itt","ivit","itiv","itti"]},"41":{"input":[1,4,6],"tlp":["ait",223936],"trp":["if",12313],"tlw":["avait",34178],"trw":["if",198],"lp":["ait","av","va","tai","vai","ava","avai","tait","vait","fai","fi","ati","fait","fit","ffi","avi"],"rp":["if","ita","iva","iff"]},"42":{"input":[2,4,6],"tlp":["ci",50221],"trp":["ic",35688],"tlw":["vis",479],"trw":["ici",5070],"lp":["ci","vis","sit","sti","cti","ck","visi","vic","cit","ssit","tis","tic","sci","cis"],"rp":["ic","ist","ici","its","isit","ict"]},"43":{"input":[1,2,4,6],"tlp":["sait",14527],"trp":["ica",3062],"tlw":["vais",3612],"lp":["sait","vais","sav","fais","visa","tais","fic","cai","sava","ffic","aci","sati","vas","fici","cia","acti","stai","ack"],"rp":["ica","ista"]},"44":{"input":[3,4,6],"tlp":["ve",170346],"trp":["ir",150486],"tlw":["vie",6638],"lp":["ve","ri","ev","ver","rie","vr","vie","rit","eve","rri","eti","rti","eri","tie"],"rp":["ir","ire","ier","ite","iere","ive"]},"45":{"input":[1,3,4,6],"tlp":["etai",66155],"tlw":["etait",29101],"lp":["etai","rai","ave","air","aire","rait","eva","fair","rav","taie","vra","arri","arti","vrai","ari","vaie","erai","vez","trai","trav"],"rp":[]},"46":{"input":[2,3,4,6],"tlp":["dit",34652],"trp":["ice",6888],"tlw":["dit",17108],"lp":["dit","vec","ris","dev","vers","dir","cie","dire","cri","eci","serv","esti","sir","rci","vid","rise"],"rp":["ice","iste","ites","iers"]},"47":{"input":[1,2,3,4,6],"tlw":["avec",32748],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",206097],"trw":["ni",4413],"lp":[],"rp":["in","ni","hi","ini","nni","hin","inn","hn","nh","inni","nin","hni","inin","ih","hnn"]},"49":{"input":[1,5,6],"tlp":["ain",53875],"trp":["ha",60789],"tlw":["ah",2082],"trw":["hanna",151],"lp":["ain","ani","ah","aha","zain"],"rp":["ha","nai","iq","han","nnai","ina","hai","ian","inq","haq","niq","hain","nz","inai","nia"]},"50":{"input":[2,5,6],"tlp":["sin",6536],"trp":["ins",29943],"tlw":["siskin",137],"lp":["sin","sh","ssin","sins","shi","sini"],"rp":["ins","nsi","his","insi","nis","ji","isin","kin","inis","nk","nsis","ish","ij","nnis"]},"51":{"input":[1,2,5,6],"tlp":["ains",11321],"trp":["nais",6028],"tlw":["ainsi",3447],"trw":["jai",619],"lp":["ains","siq","sha","shan","ash","sain","anis","win","asin"],"rp":["nais","isan","isq","has","nsai","kah","kaha","hais","hass","jai","hasa"]},"52":{"input":[3,5,6],"tlp":["ein",12287],"trp":["he",90853],"tlw":["eh",1812],"trw":["hein",876],"lp":["ein","eni","eine","eh"],"rp":["he","ien","ine","nie","ienn","hie","nnie","hee","hen","hien","inee","nei","hei","hein","hine","hy"]},"53":{"input":[1,3,5,6],"tlp":["aien",30150],"trp":["hez",5597],"tlw":["ayez",139],"trw":["nez",1504],"lp":["aien","aine","enai","anie","enez","ayai","enia","zy"],"rp":["hez","nez","yai","yez","naie","nze","inze","heq","hae","hany","ixan","iane"]},"54":{"input":[2,3,5,6],"tlp":["endi",4399],"trp":["ndi",15037],"tlw":["sein",422],"trw":["indiens",185],"lp":["endi","din","sine","ensi","sien","deh","dien"],"rp":["ndi","hes","ind","iens","ines","ndis","iden","indi","nsie","ky","nsei","hesi","nsid"]},"55":{"input":[1,2,3,5,6],"tlw":["whisky",263],"trw":["jadis",260],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",37344],"trp":["int",28711],"tlw":["vin",885],"lp":["bi","tin","th","vin","vint","bit","bin","thi"],"rp":["int","nti","ib","nv","nvi","ntin","nit","ntit","niv","inv","init","invi"]},"57":{"input":[1,4,5,6],"tlp":["van",25237],"trp":["nait",11496],"tlw":["avant",8624],"trw":["navait",354],"lp":["van","vant","avan","fin","tain","aint","tiq","abi","bai","fini","atin","abit"],"rp":["nait","nfi","ntai","nfin","hab","habi","hant","ivan"]},"58":{"input":[2,4,5,6],"tlp":["ch",136528],"trp":["nch",8814],"tlw":["chic",138],"trw":["instinct",141],"lp":["ch","chi","cin","sib","ssib","stin","chin","tch"],"rp":["nch","inc","inst","nci","hist","ich","nic","nsci","isib","inci","nist","nsti"]},"59":{"input":[1,2,4,5,6],"tlw":["cinq",2262],"trw":["instant",2350],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["ven",26666],"trp":["ient",38518],"tlw":["bien",22012],"trw":["hier",848],"lp":["ven","bie","bien","enti","rien","enir","vent","vien","rin","env","rni","even","veni","erni"],"rp":["ient","her","inte","nir","nier","hev"]},"61":{"input":[1,3,4,5,6],"tlw":["etaient",7356],"trw":["navire",568],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["dernier",2102],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["devant",6605],"trw":["jardin",804],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",3036],"trw":["o",368],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",1455],"trp":["oa",938],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",164552],"trp":["os",50157],"trw":["os",408],"lp":["so","sso"],"rp":["os","oss","oso"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",820],"trp":["osa",3212],"lp":["wo","woo","asso","aso","aos","sao","wao","swo"],"rp":["osa","ow","owa","ossa","oas"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["e-",5380],"trp":["-e",12923],"trw":["-",5238],"lp":["e-","eo","ee-","e-o"],"rp":["-e","oe","-o"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",8193],"trp":["-a",862],"lp":["a-","x-","xo","exo","ea-","axo","a-a"],"rp":["-a","-a-","ox","oxe"]},"70":{"input":[2,3,7],"tlp":["do",52067],"trp":["ose",20090],"tlw":["dos",2170],"trw":["ose",204],"lp":["do","s-","eso","dos","es-","deso","soe","d-","esso","doss"],"rp":["ose","od","-d","-de","ode","oses","osse","-des","-s","ood"]},"71":{"input":[1,2,3,7],"tlp":["a-d",1260],"trp":["owe",807],"trw":["owe",223],"lp":["a-d","da-","ado","as-","a-de","wood","sa-","x-s","x-se","dexo","s-a","s-a-","saxo"],"rp":["owe","-a-d","-w","-we","oad","odw","oodw"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",128509],"trp":["ot",47901],"tlw":["tot",1188],"lp":["to","go","gt","tot","tto","gg","tog","gto","goo","got"],"rp":["ot","ott","og","oto","otto","otog"]},"73":{"input":[1,4,7],"tlp":["ag",49385],"trp":["of",7071],"trw":["ota",208],"lp":["ag","fo","ga","tag","gag","ffo","gat","aga","ato","tota","ago","afo","agg","atto","gato"],"rp":["of","off","ota","ofo","otta"]},"74":{"input":[2,4,7],"tlp":["co",202727],"trp":["oc",21912],"tlw":["scott",175],"lp":["co","cot","sto","cco","gts","soc","gs","cos","cost","cto","sco","coo","tos","coc"],"rp":["oc","occ","ots","ost","oct","otos"]},"75":{"input":[1,2,4,7],"tlp":["sag",9331],"trp":["oca",927],"tlw":["costas",502],"lp":["sag","aco","acco","faco","ssag","gas","sfo","agas","cag","cof","coff","fos","foss","gac","gats","gatc"],"rp":["oca","occa","osta","ocat"]},"76":{"input":[3,4,7],"tlp":["ro",122176],"trp":["or",127784],"tlw":["gorge",1040],"trw":["or",770],"lp":["ro","ge","t-","tro","gr","eg","reg","rg","t-e","ger","rge","eto"],"rp":["or","ort","orte","ore","otr","otre","ote","-t"]},"77":{"input":[1,3,4,7],"tlp":["age",30406],"trp":["orta",6654],"tlw":["fort",2164],"trw":["offert",256],"lp":["age","gar","ega","gra","egar","for","rega","arg","arge","a-t","a-t-","fort","fro","gea","rof","rag","tage","aro","rage"],"rp":["orta"]},"78":{"input":[2,3,4,7],"tlp":["cor",18700],"trp":["ors",18331],"tlw":["cote",5418],"trw":["orc",491],"lp":["cor","eco","cro","sor","core","sort","st-","est-","roc","t-c","t-ce","ges","st-c","dro","rso","erso"],"rp":["ors","ord","-c","-ce"]},"79":{"input":[1,2,3,4,7],"tlw":["regard",4785],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["ou",485081],"trw":["un",105377],"lp":[],"rp":["ou","on","un","no","nou","onn","nu","non","uo","nnu","onnu","nno","nnon","ono","oon","onon","uu","uun","uon","unn"]},"81":{"input":[1,5,7],"tlp":["qu",374405],"trp":["ua",32749],"tlw":["au",38456],"trw":["noua",61],"lp":["qu","au","qua","quan","quo","aqu","anqu","anno"],"rp":["ua","uan","onna","nqu","oq","oqu","oua","nua","uq","uqu","nqua","ona"]},"82":{"input":[2,5,7],"tlp":["su",105459],"trp":["us",202802],"tlw":["son",49965],"trw":["nous",27592],"lp":["su","son","sou","sonn","sous","ssu"],"rp":["us","ous","jo","ons","jou","nous","uss","ju","jus","uj","ujo","ujou","ouj","oujo"]},"83":{"input":[1,2,5,7],"tlp":["squ",20943],"trp":["usq",8393],"tlw":["sonna",267],"trw":["joanna",329],"lp":["squ","aus","auss","sau","ajo","ajou","auj","aujo","assu","asqu","squa"],"rp":["usq","usqu","jusq","ussa","onsa","usa","jau","jaun","joua"]},"84":{"input":[3,5,7],"tlp":["eu",220654],"trp":["ue",233945],"tlw":["eu",4099],"trw":["une",73318],"lp":["eu","enu","eun","eune","eno"],"rp":["ue","une","onne","oy","yeu","oue","oeu","oye","nue","neu","one","ueu","u-","n-","uy"]},"85":{"input":[1,3,5,7],"tlp":["que",190819],"trp":["ux",83482],"tlw":["que",98515],"trw":["yeux",10617],"lp":["que","eux","eau","aux","aque","eaux","equ","au-","eque","quen","eux-"],"rp":["ux","yeux","oya","nque","oque","oux","uque","ux-","noux"]},"86":{"input":[2,3,5,7],"tlp":["du",78771],"trp":["ond",27438],"tlw":["du",57769],"trw":["jeune",4462],"lp":["du","don","deu","seu","dou","donn","eus","euse","endu","essu"],"rp":["ond","ues","ud","use","onde","ndu","jeu","jeun","-j","-je"]},"87":{"input":[1,2,3,5,7],"tlw":["deux",15643],"trw":["judas",547],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tou",80480],"trp":["ut",149891],"tlw":["tout",29188],"trw":["ont",5688],"lp":["tou","tu","tout","bo","gn","gu","bou","bon","ton","bu"],"rp":["ut","out","ont","ng","ob","ong","ub","uto","ug","not"]},"89":{"input":[1,4,5,7],"tlp":["aut",41481],"trp":["uf",8214],"tlw":["fut",4720],"lp":["aut","ang","fu","fon","fau","agn","faut","fou","fut","auto","atu","quat","font"],"rp":["uf","uta","uff","uat","onta","ouf","ouff"]},"90":{"input":[2,4,5,7],"tlp":["con",57360],"trp":["uc",26771],"tlw":["sont",9987],"lp":["con","cou","cu","cont","sont","conn","tous","cons","touj","cun","bouc"],"rp":["uc","nco","onc","ouc","ust","just","ucu","ucun","uco"]},"91":{"input":[1,2,4,5,7],"tlw":["facon",2654],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["eur",78762],"trp":["ur",328352],"tlw":["toute",6285],"trw":["notre",4935],"lp":["eur","rou","ru","tour","eut","gen","trou","gne","eure","gue"],"rp":["ur","our","ure","ute","oute","utr","utre","nge","ontr","urn"]},"93":{"input":[1,3,4,5,7],"tlw":["autre",5877],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["sur",51346],"trw":["jour",4530],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["grand",4887],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["il",274962],"trw":["il",109781],"lp":[],"rp":["il","oi","ll","li","lo","io","ill","ol","loi","ili","oli","lli","oil","oll","llo","illi","olo","iol","ilo","lio"]},"97":{"input":[1,6,7],"tlp":["al",90167],"trp":["la",335135],"tlw":["alla",769],"trw":["la",216676],"lp":["al","all","alo","ail","aill","ali","alla","ala","allo","alai"],"rp":["la","lai","lla","llai","illa","ila","oila","ial","olla","ola"]},"98":{"input":[2,6,7],"tlp":["soi",15762],"trp":["ois",37730],"tlw":["sol",2016],"trw":["ils",17730],"lp":["soi","sio","sol","ssio","sil"],"rp":["ois","ls","ils","iso","lis","ossi","oisi","liss","osi","isio","los","isso","oiss","ok","ilis"]},"99":{"input":[1,2,6,7],"tlp":["aiso",9482],"trp":["lais",13196],"tlw":["siloa",232],"trw":["laissa",1173],"lp":["aiso","sal","sall","alis","salo","asio","ails","sali","sala","wil","wal","slow","will"],"rp":["lais","las","lass","lisa","low","osai","oisa"]},"100":{"input":[3,6,7],"tlp":["el",190433],"trp":["le",657856],"tlw":["elle",59054],"trw":["le",177879],"lp":["el","ell","elle","eil","ele","eill","elo","eli"],"rp":["le","lle","ille","lie","ile","ole","-i","-il","-el","-ell","i-","lei"]},"101":{"input":[1,3,6,7],"tlp":["ale",15620],"trp":["oix",8324],"tlw":["allez",1376],"trw":["lizzie",89],"lp":["ale","ela","alle","z-","ez-","alie","eal","eali","elai","ai-"],"rp":["oix","lez","-la","la-","laie","llez","lex","lea","iale","lez-"]},"102":{"input":[2,3,6,7],"tlp":["doi",7114],"trp":["les",154394],"tlw":["elles",3562],"trw":["les",123647],"lp":["doi","sel","sile","esoi","sole","del","dis-","els","dois","ssel","dol"],"rp":["les","lles","is-","oid","lise","oise","iles","ld","less"]},"103":{"input":[1,2,3,6,7],"tlw":["salle",2270],"trw":["laisse",2177],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",127497],"trp":["ig",30369],"tlw":["toi",4595],"trw":["lit",2373],"lp":["vo","voi","tio","gi","toi","gl","vot","vil","vol","vill","voit"],"rp":["ig","oit","lit","oig","liv","lt","lig","itio","lot"]},"105":{"input":[1,4,6,7],"tlp":["avo",15975],"trp":["lait",13889],"tlw":["voila",2492],"trw":["livia",632],"lp":["avo","foi","atio","avoi","fil","fl","tal","fill","agi","val","vail","tail","fal","fall","fla","gal"],"rp":["lait","lat","lag","iga"]},"106":{"input":[2,4,6,7],"tlp":["cl",21798],"trp":["lic",7092],"tlw":["soit",3898],"trw":["kotko",169],"lp":["cl","col","ctio","sig","cil","stio","soit","stoi","vois","coi","coll","cli","glis","vos"],"rp":["lic","isto","olic","igts","osit","loc"]},"107":{"input":[1,2,4,6,7],"tlw":["fois",9209],"trw":["lac",564],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["roi",25378],"trp":["oir",45550],"tlw":["votre",6708],"trw":["livre",1128],"lp":["roi","voir","rl","t-i","t-il","tel","rle","troi","roit","votr"],"rp":["oir","ler","lor","lev","it-","oire","let","it-i","lier","ller"]},"109":{"input":[1,3,4,6,7],"tlw":["voix",6714],"trw":["leva",2445],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["trois",5530],"trw":["levres",1891],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["alors",9986],"trw":["laisser",1893],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ui",198698],"trw":["lui",41038],"lp":[],"rp":["ui","lu","ul","ion","lui","ho","oin","lon","oul","uoi","uil","oui","hu","inu","noi","hon","uill","nui","lou","uni"]},"113":{"input":[1,5,6,7],"tlp":["qui",72449],"trp":["lan",19838],"tlw":["qui",60034],"trw":["hall",554],"lp":["qui","quoi","quil","aul"],"rp":["lan","iqu","lq","lqu","hau","ula","oula","ulai","liq","liqu","nal","uai","haqu","laq","laqu","niqu"]},"114":{"input":[2,5,6,7],"tlp":["sui",21452],"trp":["lus",40230],"tlw":["suis",11506],"trw":["john",694],"lp":["sui","suis","sion","soin"],"rp":["lus","uis","ussi","ison","hos","ions","oins","usi","onsi","uiss","uk","luk","lusi","lons","joi","nsui"]},"115":{"input":[1,2,5,6,7],"tlw":["aussi",11177],"trw":["ouais",603],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eul",11197],"trp":["leu",32420],"tlw":["euh",642],"trw":["lieu",1585],"lp":["eul","eule","elu","elui","eui","euil"],"rp":["leu","uel","ieu","ule","len","heu","oule","uell","lieu","lleu","ilen","nel","lein","ly"]},"117":{"input":[1,3,5,6,7],"tlw":["quelque",6947],"trw":["laquelle",1557],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["seul",3625],"trw":["luke",3101],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["quelques",6336],"trw":["la-dedans",355],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["vou",60021],"trp":["uv",57671],"tlw":["vu",3991],"trw":["nuit",3923],"lp":["vou","bl","tion","vu","voul","von","gin"],"rp":["uv","ouv","uit","ign","long","itu","ibl","nouv","ing","oint","lut","uiv","ubl"]},"121":{"input":[1,4,5,6,7],"tlw":["voulait",2213],"trw":["haut",2023],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["vous",46221],"trw":["longs",581],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["avons",2442],"trw":["lanca",1051],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["trouve",3189],"trw":["leur",13514],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["veux",4192],"trw":["nouveau",4416],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["chose",7901],"trw":["leurs",6620],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["chaque",3120],"trw":["lorsque",2306],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",26335],"trw":["p",553],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",48180],"trp":["pa",224861],"tlw":["ap",72],"trw":["papa",974],"lp":["ap","app","appa","apa"],"rp":["pa","ppa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",20685],"trp":["ps",18522],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",4429],"trp":["pas",100009],"tlw":["saps",129],"trw":["pas",84383],"lp":["spa","asp","sap","aps","sapp","saps"],"rp":["pas","pass"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",48775],"trp":["pe",136807],"tlw":["epee",266],"trw":["'",318],"lp":["ep","epe","epee","e'"],"rp":["pe","'e","ppe","'ep","pee","ppee","pep","pepe","p'","'epe"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["epa",8854],"trp":["'a",123917],"trw":["pape",116],"lp":["epa","appe","xp","exp","ape","xpe","expe","apea"],"rp":["'a","'ap","'app","'ex","'ea","pea","'exp","'epa","'ape","'exa","'exe","pape"]},"134":{"input":[2,3,8],"tlp":["d'",72817],"trp":["'es",50133],"tlw":["epees",70],"trw":["pdd",99],"lp":["d'","s'","s'e","d'e","esp","dep","spe","s'es","espe","sep","sesp","depe","d'es","eps"],"rp":["'es","'esp","pes","'ess","ped","pese"]},"135":{"input":[1,2,3,8],"tlp":["d'a",18719],"trp":["'as",4949],"tlw":["depasse",270],"trw":["passe",4560],"lp":["d'a","s'a","s'ap","depa","epas","s'as","d'ap","d'ea","espa","s'ex","sepa","aspe","s'ad","d'ad","d'ex","xped"],"rp":["'as","'ass","'ad","pesa"]},"136":{"input":[4,8],"trp":["pt",10944],"trw":["pt",1183],"lp":[],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",1491],"trp":["pat",3801],"tlw":["tapa",68],"lp":["tap","apt","tapa"],"rp":["pat","patt","pta","pf"]},"138":{"input":[2,4,8],"trp":["pc",625],"lp":[],"rp":["pc"]},"139":{"input":[1,2,4,8],"tlp":["cap",4228],"trp":["pac",1260],"tlw":["cap",326],"lp":["cap","capa","spac","apac","apc","capt"],"rp":["pac","pats","past"]},"140":{"input":[3,4,8],"tlp":["rep",21795],"trp":["pr",118408],"tlw":["repete",469],"trw":["pere",4207],"lp":["rep","epr","rp","repr","ept","t'","epre","rpr","repe"],"rp":["pr","pre","per","'et","pet","pere","pte","ppr","'etr","pret","pete"]},"141":{"input":[1,3,4,8],"tlp":["apr",9449],"trp":["par",86969],"tlw":["frappe",557],"trw":["par",27661],"lp":["apr","apre","rap","rapp","appr","epar","repa","t'a","aper"],"rp":["par","'eta","part","'ar","pare","para","ppar","'arr","parf","'at","'att"]},"142":{"input":[2,3,4,8],"tlp":["c'",37695],"trp":["'est",44521],"tlw":["c'est",27418],"trw":["pres",4017],"lp":["c'","c'e","c'es","c'et","s'et","spec","cep","rps","d'et","resp","cept","spr"],"rp":["'est","pres","pers","pec","prec","perd","'ec","pect"]},"143":{"input":[1,2,3,4,8],"tlw":["apres",7671],"trw":["parce",4758],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",78967],"trw":["m",2037],"lp":[],"rp":["mm","mp","nm","mn","pn","np"]},"145":{"input":[1,5,8],"tlp":["am",51798],"trp":["ma",187703],"trw":["ma",11423],"lp":["am","ama","amp","aman","amm","ampa","anm","anap"],"rp":["ma","man","mpa","mma","pan","mam","mama","manq","mman","paq","nap","pann"]},"146":{"input":[2,5,8],"tlp":["sm",1338],"trp":["mps",12697],"trw":["ms",179],"lp":["sm"],"rp":["mps","nsp","ms","nsm"]},"147":{"input":[1,2,5,8],"tlp":["sam",1341],"trp":["jam",12043],"tlw":["sam",363],"trw":["pans",80],"lp":["sam","amas","samm","ansp","asm","amps","ansm","span","sma"],"rp":["jam","jama","mas","mass","masq","maj","mpas","mw","njam","mans","nsma"]},"148":{"input":[3,5,8],"tlp":["em",168013],"trp":["me",306012],"tlw":["emmene",192],"trw":["me",28601],"lp":["em","eme","emen","emp","emm","emme"],"rp":["me","men","mme","n'","mem","pen","'en","meme","n'e","mmen","m'","'y","mpe","n'y"]},"149":{"input":[1,3,5,8],"tlp":["ema",18574],"trp":["n'a",19043],"tlw":["ame",424],"trw":["m'a",4088],"lp":["ema","eman","ame","amme","amen","xem","exem","xemp","ampe","xam","exam"],"rp":["n'a","m'a","pay","'an","'am","mena","paye","'ann","mane"]},"150":{"input":[2,3,5,8],"tlp":["dem",20176],"trp":["j'",30702],"tlw":["s'en",2720],"trw":["mes",6170],"lp":["dem","sem","emps","s'en","deme","d'en","seme","ssem","emes"],"rp":["j'","mes","pens","mmes","n'es","pend","j'e","med","j'en","mess","ndem"]},"151":{"input":[1,2,3,5,8],"tlw":["demande",3741],"trw":["pays",1471],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",463],"trp":["mb",31529],"lp":["tm","bm","ttm"],"rp":["mb","mpt","mt"]},"153":{"input":[1,4,5,8],"tlp":["amb",5301],"trp":["mat",6196],"tlw":["amant",146],"trw":["mat",200],"lp":["amb","fam","apab","tam","tamm","atm","amat","bap","bapt"],"rp":["mat","pab","mba","mant","mbat","pant","mpat","mpta","matt","mab","mban"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",1559],"trp":["mc",93],"tlw":["cm",1559],"lp":["cm"],"rp":["mc"]},"155":{"input":[1,2,4,5,8],"tlw":["camp",691],"trw":["passant",523],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",29998],"trp":["ment",81650],"tlw":["type",1817],"trw":["mere",4432],"lp":["rm","tem","rem","rme","temp","teme","emb","erm","reme"],"rp":["ment","mer","pren","met","mbr","mbre","mpr","prem","n'et","mpre","mbe"]},"157":{"input":[1,3,4,5,8],"tlw":["femme",6271],"trw":["payer",631],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["temps",9524],"trw":["n'est",6536],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["femmes",2197],"trw":["pendant",4274],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",30694],"lp":[],"rp":["pi","ip","ipp","ipi","pip","ppi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",6237],"trp":["pai",4095],"trw":["pizza",69],"lp":["api","apai"],"rp":["pai","papi","ipa","pia","ppai","piz","pizz","ippa","piaz"]},"162":{"input":[2,6,8],"tlp":["spi",1730],"trp":["isp",3645],"trw":["pis",282],"lp":["spi"],"rp":["isp","pis"]},"163":{"input":[1,2,6,8],"tlp":["apis",563],"trp":["ispa",2356],"trw":["passai",91],"lp":["apis","spai"],"rp":["ispa","pais"]},"164":{"input":[3,6,8],"tlp":["epi",615],"trp":["'i",49129],"trw":["pipe",239],"lp":["epi"],"rp":["'i","pie","pei","ipe","ippe","pipe","ie'"]},"165":{"input":[1,3,6,8],"tlp":["apie",1594],"trp":["'ai",30601],"trw":["paix",638],"lp":["apie","epai"],"rp":["'ai","'exi","paix","'aie","paie"]},"166":{"input":[2,3,6,8],"tlp":["s'i",6660],"trp":["pied",4225],"tlw":["d'idees",66],"trw":["pieds",2197],"lp":["s'i","disp","d'i","espi","depi","d'id","epis","dip"],"rp":["pied","pid","pide","'id","'ide","ispe","ipes","pedi","'k","'ke","'kee","pidi"]},"167":{"input":[1,2,3,6,8],"tlw":["epais",338],"trw":["peake",83],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",158],"trp":["pit",5509],"trw":["pitt",410],"lp":["tip"],"rp":["pit","pti","ipit","pitt","piti","ipt","ipti","piv"]},"169":{"input":[1,4,6,8],"tlp":["apit",2174],"trp":["pita",2057],"tlw":["tapait",66],"lp":["apit","tapi","vap","apti"],"rp":["pita","pati","pait","pav","ptai","pavi","ipat"]},"170":{"input":[2,4,6,8],"tlp":["cip",2146],"trp":["pist",956],"trw":["pic",121],"lp":["cip","cipi","scip"],"rp":["pist","icip","pic","pisc","pick","ptis"]},"171":{"input":[1,2,4,6,8],"tlw":["tapis",563],"trw":["passait",777],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["epri",3352],"trp":["pri",24618],"tlw":["reprit",1215],"trw":["petit",6366],"lp":["epri","rpri","epti","rip","epit"],"rp":["pri","peti","prit","pier","pir","peri","pire","prie","prev","ppri","pitr","priv","'ev","pite","'evi"]},"173":{"input":[1,3,4,6,8],"tlw":["t'ai",504],"trw":["partie",2466],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["esprit",982],"trw":["pris",3067],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["c'etait",9128],"trw":["paris",1112],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",66310],"trw":["pin",80],"lp":[],"rp":["mi","im","min","imp","ph","imm","phi","nim","pin","imi","mpi","mmi","mini","hm","minn","imin","inim","pini","nip","mih"]},"177":{"input":[1,5,6,8],"tlp":["ami",10224],"trp":["mai",88086],"tlw":["ami",1414],"trw":["main",8212],"lp":["ami","amai","aim","amin","anim","aima"],"rp":["mai","main","ima","ham","hap","mani","iam","hamp","mina","nima","pain","hapi","happ","imai"]},"178":{"input":[2,5,6,8],"tlp":["sim",4174],"trp":["mis",9740],"trw":["mis",1921],"lp":["sim","simp","sph","smi","ssim","snip"],"rp":["mis","jim","miss","insp","mmis","mik","mins","nspi","ism","nism","jimm","pins","ijim","misi"]},"179":{"input":[1,2,5,6,8],"tlw":["amis",1180],"trw":["mais",42478],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",15514],"trp":["mie",15315],"tlw":["ennemi",205],"trw":["peine",2455],"lp":["emi","emie","emin","eph"],"rp":["mie","ime","'h","imen","'in","hem","'im","mine","hemi","pein","'imp","iem","ieme","mei","imme","'he"]},"181":{"input":[1,3,5,6,8],"tlw":["aime",856],"trw":["n'ai",2898],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["demi",438],"trw":["mise",705],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["semaine",1154],"trw":["j'ai",15346],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",5445],"trp":["mit",5727],"tlw":["tim",73],"trw":["mit",2329],"lp":["tim","thm","timi","bim","timb"],"rp":["mit","ntim","mbi","imb","imit","mpit","ptib","mbin","miti","mith","itim","mv","mvi"]},"185":{"input":[1,4,5,6,8],"tlw":["faim",558],"trw":["matin",2422],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",155],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["champ",458],"trw":["massif",152],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["termine",610],"trw":["premiere",3206],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["vraiment",3840],"trw":["n'etait",4972],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["chemin",1720],"trw":["merci",1888],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["chambre",2756],"trw":["j'avais",3059],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",155941],"trw":["pop",58],"lp":[],"rp":["po","op","ppo","opo","opp","pop","oppo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["appo",2216],"trp":["opa",340],"lp":["appo","apo"],"rp":["opa"]},"194":{"input":[2,7,8],"tlp":["spo",3643],"trp":["pos",17016],"lp":["spo","spos","sop"],"rp":["pos","poss","opos","ppos","osop","osp","pso"]},"195":{"input":[1,2,7,8],"trp":["posa",2884],"trw":["posa",1155],"lp":[],"rp":["posa","pow"]},"196":{"input":[3,7,8],"tlp":["epo",13316],"trp":["'o",22659],"lp":["epo"],"rp":["'o","'oe","ope","oppe","'epo","-p","poe","-pe","o'","'op","'ope","-po"]},"197":{"input":[1,3,7,8],"tlp":["xpo",114],"trp":["-pa",135],"lp":["xpo","expo"],"rp":["-pa","'a-"]},"198":{"input":[2,3,7,8],"tlp":["d'o",3873],"trp":["pose",6350],"tlw":["depose",222],"trw":["pose",1409],"lp":["d'o","espo","epos","d'oe","s'o","depo","d-p","d-pe","epso","dop","d'os"],"rp":["pose","'od","'ode","'os","-sep","osep","poes","ps-","'ose"]},"199":{"input":[1,2,3,7,8],"tlw":["deposa",185],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1434],"trp":["pot",1385],"tlw":["top",89],"trw":["pot",240],"lp":["top"],"rp":["pot","pto","opt"]},"201":{"input":[1,4,7,8],"tlp":["apot",365],"trp":["pag",5377],"tlw":["tapota",134],"lp":["apot","tapo"],"rp":["pag","pota"]},"202":{"input":[2,4,7,8],"tlp":["cop",842],"trp":["poc",1602],"tlw":["stop",73],"trw":["pots",103],"lp":["cop","copt","stop"],"rp":["poc","post","pco","pots"]},"203":{"input":[1,2,4,7,8],"tlw":["capot",86],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",11883],"trp":["pro",26938],"tlw":["trop",6088],"trw":["porte",7561],"lp":["rop","repo","trop","ropr","ropo","epro"],"rp":["pro","por","port","prop","orp","opr","'or","ppor","opre","ppro","prot","-top","'ore","prog"]},"205":{"input":[1,3,4,7,8],"tlw":["rapport",803],"trw":["page",1683],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["corps",3633],"trw":["propos",951],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["d'accord",1426],"trw":["passage",1091],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",114832],"trw":["mon",15902],"lp":[],"rp":["om","mo","pou","omm","mon","pu","up","omp","oup","um","mu","pon","nom","mou","mpo","mom","upp","mun","uppo","mmu"]},"209":{"input":[1,5,7,8],"tlp":["amo",2232],"trp":["pau",6517],"trw":["mona",153],"lp":["amo","amou","aup","aum","appu","amu","aupa","anmo"],"rp":["pau","oma","mau","ompa","upa","uma","omma","poq","poqu","oman","oupa","paqu"]},"210":{"input":[2,5,7,8],"tlp":["som",5403],"trp":["pous",4373],"trw":["noms",472],"lp":["som","somm","sup","soup","supp","spon","susp"],"rp":["pous","mons","mus","pons","mpos","ups","oups","mos","oms","noms","usp","mous","jup"]},"211":{"input":[1,2,5,7,8],"trw":["poussa",827],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["epon",8146],"trp":["u'",72122],"tlw":["emu",95],"trw":["peu",10328],"lp":["epon","epu"],"rp":["u'","omme","'u","'un","peu","u'e","'une","'on","ome","u'u","u'un","ume","upe","-m","omen","u'o","u'on","mome"]},"213":{"input":[1,3,5,7,8],"tlw":["qu'on",6252],"trw":["peux",3366],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["d'un",18560],"trw":["monde",5892],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["d'eau",1024],"trw":["jusqu'a",4050],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",8498],"trp":["omb",12802],"tlw":["tom",1064],"trw":["mot",1938],"lp":["tom","tomb","ttom","tup","tum","tmo"],"rp":["omb","mont","mot","ompt","nomb","put","pub","mbo","mob","pont","mmob","mout","omt","mpto"]},"217":{"input":[1,4,5,7,8],"tlw":["tomba",500],"trw":["monta",334],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["coup",5443],"trw":["mots",1844],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["combat",528],"trw":["poussant",233],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["tomber",1545],"trw":["pour",54806],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forme",1597],"trw":["pourtant",2127],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["comme",26616],"trw":["personne",4398],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["qu'est-ce",3758],"trw":["presque",3280],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",81861],"trw":["poil",237],"lp":[],"rp":["pl","poi","pli","pol","poli","plo","lip","ilip","lop","lopp","opi","pil","lipp","lp","ppl","ipl","poil","ppli","ploi","pilo"]},"225":{"input":[1,6,7,8],"tlp":["alp",231],"trp":["pla",16627],"trw":["plaza",92],"lp":["alp","alop","apil","apol","appl"],"rp":["pla","plai","pal","ipal","pala","opai","lpa","pali","pail","lap","lapi","plaz","plia","opla"]},"226":{"input":[2,6,7,8],"tlp":["spoi",1196],"trp":["posi",1139],"trw":["poils",186],"lp":["spoi","spl"],"rp":["posi","ispo","pois","plis","plos","piso","pok"]},"227":{"input":[1,2,6,7,8],"trw":["palais",478],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elep",2381],"trp":["l'",88780],"trw":["l'oeil",749],"lp":["elep","epl","elop"],"rp":["l'","'il","l'e","'el","'ell","ple","l'o","l'i","pel","ppel","plei","pele","lep","pell","'oei","l'ep","l'oe"]},"229":{"input":[1,3,6,7,8],"tlw":["appele",632],"trw":["l'a",2169],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["s'il",4703],"trw":["l'idee",964],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["s'appelle",386],"trw":["l'aide",479],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tipl",158],"trp":["ptio",1479],"lp":["tipl"],"rp":["ptio","poig","poit","opit","ptoi","pig","pivo","plit","ltip","lpt","lpit","pito","pilt","plot"]},"233":{"input":[1,4,6,7,8],"tlw":["galop",145],"trw":["plait",891],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["capital",85],"trw":["posait",183],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["reprit-il",188],"trw":["l'oreille",587],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["appeler",517],"trw":["l'air",3916],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["desespoir",393],"trw":["police",1783],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["d'avoir",1685],"trw":["place",3372],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["plu",43647],"trw":["moi",12680],"lp":[],"rp":["plu","moi","pui","hom","homm","mpl","mil","moin","mill","poin","lum","impo","pho","impl","minu","umi","hum","upi","ompl","mili"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["animal",319],"trw":["mal",4543],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simon",341],"trw":["plus",37565],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["salim",412],"trw":["maison",4491],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["homme",5277],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["qu'il",23610],"trw":["mieux",3375],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["depuis",5560],"trw":["hommes",4084],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["qu'ils",4873],"trw":["musique",825],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["bulpitt",89],"trw":["point",3139],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",348],"trw":["pouvait",3877],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["commis",274],"trw":["jimbo",666],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["thomas",448],"trw":["mauvais",894],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["telephone",2027],"trw":["lumiere",2031],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["famille",1962],"trw":["pourquoi",6282],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["repondit",2783],"trw":["longtemps",2380],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["semblait",1934],"trw":["larmes",1018],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlw":["a",186860],"lp":[],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",130131],"tlw":["s",189],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",154012],"tlw":["sa",35710],"lp":["as","sa","ass","ssa","assa","wa","asa","sas","ssas","sass","aw","was","sw"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",43082],"tlw":["e",648],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",45510],"tlw":["x",164],"lp":["ea","ex","xe","xa","exa","exe","ae","ax","xee"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["es",647732],"tlw":["de",329573],"lp":["es","de","se","des","sse","ses","ess","ed","esse","ds","ese","ees","dess","see","dee","ede","sses","eds","ssee","dese"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",113149],"tlw":["sexe",325],"lp":["da","asse","ad","essa","ade","ada","sea","dea","eda","ase","we","deda","das","sex","ew","ades","esa","ssea","adea","dex"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",56643],"tlw":["t",179],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",168893],"tlw":["ta",2612],"lp":["ta","fa","at","ff","att","af","tat","tta","aff","ffa","affa","ata","atta","fat","tf","ttf","ft","fata","tata"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",141218],"tlw":["c",294],"lp":["st","ts","ct","sc","cc","cs","tc","cts","sts"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",78160],"tlw":["ca",22002],"lp":["ca","ac","sta","fac","act","acc","cas","sac","tac","cat","tas","sat","ats","ast","aca","sca","cac","cca","fs","sf"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["re",583533],"tlw":["et",174550],"lp":["re","et","er","te","tr","tre","rt","ere","rr","ete","ter","tte","etr","ett","rte","ret","etre","ette","err","rre"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",199557],"tlw":["frere",1316],"lp":["ar","ra","eta","fe","tra","art","fr","arr","era","ef","rta","fer","are","atte","ara","ate","rra","fra","ref","rea"],"rp":[]},"14":{"input":[2,3,4],"tlp":["ce",214983],"tlw":["ce",47447],"lp":["ce","ec","est","res","rs","rd","dr","ser","rc","tes","cr","ers","dre","ste","ces","tres","cet","der","cett","rec"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["ard",29774],"tlw":["tard",3213],"lp":["ard","ace","arc","car","ras","sera","arde","rac","rda","arda","dra","arce","cra","tard","face","esta","rsa","xc","exc","acte"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",57349],"trw":["n",242],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",332256],"trp":["na",60823],"tlw":["anna",1043],"trw":["na",258],"lp":["an","ann","aq","anq","anna","ana","anan"],"rp":["na","nna","nan","nq","nnan","nann","nana"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",130],"trp":["ns",191473],"trw":["j",225],"lp":["sn"],"rp":["ns","nj"]},"19":{"input":[1,2,5],"tlp":["ans",94605],"trp":["ja",25027],"tlw":["sans",15580],"trw":["jan",70],"lp":["ans","san","sq","sans","ssan","aj","asq","ansa","wn","wan"],"rp":["ja","nsa","jan","nsan","nas","jas","nja","nw","nwa"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",547626],"trp":["ne",292024],"tlw":["en",90753],"trw":["ne",63131],"lp":["en","ene","enn","enne","ey","enny","eye"],"rp":["ne","nne","ye","nee","ny","nnee","nny","nen","yen","nnen","yn","yne","ney"]},"21":{"input":[1,3,5],"tlp":["ena",18722],"trp":["ya",10697],"tlw":["annee",430],"trw":["nanny",98],"lp":["ena","ay","enan","anne","ane","eq","ean","aye","aya","ayan","any","xan","anny","enq","exan"],"rp":["ya","yan","nea","nnea","nean"]},"22":{"input":[2,3,5],"tlp":["end",46705],"trp":["nd",127339],"tlw":["sens",2477],"trw":["je",94389],"lp":["end","ens","sen","ense","ej","den","dej","esen","sens","ends","ende"],"rp":["nd","je","nde","nse","nes","nds","ys","nees","ndes"]},"23":{"input":[1,2,3,5],"tlp":["dan",83378],"trp":["nda",18852],"tlw":["dans",69810],"trw":["jean",744],"lp":["dan","dans","and","ande","enda","anda","eja","deja","esq","say","ssay","ensa","ands","ays","saye","saya"],"rp":["nda","ndan","jea","jean"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",863],"trp":["nt",395069],"tlw":["b",429],"lp":["bb","bt","tn"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ant",99116],"trp":["nf",14856],"tlw":["tant",2815],"lp":["ant","ab","ba","tan","tant","tab","fan","bat","fant","ban","anta","batt","aba","bab"],"rp":["nf","nta","nant","nfa","nfan","nat"]},"26":{"input":[2,4,5],"tlp":["bs",4870],"trp":["nc",84806],"lp":["bs","bj","bsc","bst","sb"],"rp":["nc","nts","nst","nsc","ncs","nct"]},"27":{"input":[1,2,4,5],"tlp":["anc",29956],"trp":["nca",8089],"tlw":["bas",1760],"lp":["anc","sant","stan","bas","ants","can","anca","tanc","sanc","abs","sab","cab","bass","ancs","cq","acq"],"rp":["nca","nsta","jac","ntac"]},"28":{"input":[3,4,5],"tlp":["ent",205997],"trp":["nte",52433],"tlw":["entre",6016],"lp":["ent","ten","ren","be","br","rn","ente","entr","bre","rent","ern","rne","tent","tten"],"rp":["nte","ntr","ntre","ner","nten","nter"]},"29":{"input":[1,3,4,5],"tlp":["ran",32995],"trp":["ntra",4859],"tlw":["enfant",1479],"lp":["ran","rq","enf","tena","ante","bra","rna","bea","enta","rant","tran","enfa","rtan","fran","arq","bar","arb","fen","rena"],"rp":["ntra"]},"30":{"input":[2,3,4,5],"tlp":["enc",33290],"trp":["nce",37449],"tlw":["cent",1511],"trw":["jeter",658],"lp":["enc","endr","tend","ence","rend","sent","cen","ents","cent","bes","dern","dent","scen","renc","deb"],"rp":["nce","ndr","ndre","jet","ncer"]},"31":{"input":[1,2,3,4,5],"tlw":["bras",4531],"trw":["jeta",1297],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",352],"trw":["ii",352],"lp":[],"rp":["ii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",540051],"trp":["ia",19364],"tlw":["ai",3119],"lp":["ai","za","zi","zai","az","zz","azi","zzi","aza","zza","ziz","aziz","ziza"],"rp":["ia","iz","iza","iai","izai","izz","izzi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",117702],"trp":["is",301576],"tlw":["si",24030],"trw":["k",204],"lp":["si","ssi","sis","ssis","sk","ski","sisk"],"rp":["is","iss","isi","ki","ik","issi","ks","isk","kk","isis","kis","iski","kiss"]},"35":{"input":[1,2,6],"tlp":["ais",132120],"trp":["isa",17988],"tlw":["sais",5940],"lp":["ais","sai","aiss","sais","ssai","assi","aisa","aisi","asi","wi","ak","sia","sias"],"rp":["isa","issa","isai","ka","ias","kw","iais"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",36481],"trp":["ie",241794],"lp":["ei"],"rp":["ie","iei","iee"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ez",35534],"trp":["ix",16144],"tlw":["aie",130],"lp":["ez","aie","xi","ze","exi","xie","eai","aix","axi","zie","eiz","eize","eze","eez","xai"],"rp":["ix","iez","ixe","ixa","ize"]},"38":{"input":[2,3,6],"tlp":["di",97853],"trp":["id",28086],"tlw":["dis",1668],"trw":["idee",1596],"lp":["di","dis","sie","die","essi","esi","sei","edi","ssie"],"rp":["id","ide","ise","isse","ke","ied","ies","idee","idi","ieds","ises"]},"39":{"input":[1,2,3,6],"tlp":["dai",9749],"trp":["ida",1007],"tlw":["assez",2893],"lp":["dai","sez","aise","ssez","aid","dix","saie","dia","aide","disa","adi","xis","exis","six","dez","edia","adie","daie"],"rp":["ida","idea"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",116014],"trp":["it",399129],"tlw":["vit",2136],"lp":["ti","vi","tit","vit","viv","tiv","tti","ttit","vivi","tivi","titi"],"rp":["it","iv","iti","ivi","itt","ivit","itiv","itti"]},"41":{"input":[1,4,6],"tlp":["ait",223936],"trp":["if",12313],"tlw":["avait",34178],"trw":["if",198],"lp":["ait","av","va","tai","vai","ava","avai","tait","vait","fai","fi","ati","fait","fit","ffi","avi"],"rp":["if","ita","iva","iff"]},"42":{"input":[2,4,6],"tlp":["ci",50221],"trp":["ic",35688],"tlw":["vis",479],"trw":["ici",5070],"lp":["ci","vis","sit","sti","cti","ck","visi","vic","cit","ssit","tis","tic","sci","cis"],"rp":["ic","ist","ici","its","isit","ict"]},"43":{"input":[1,2,4,6],"tlp":["sait",14527],"trp":["ica",3062],"tlw":["vais",3612],"lp":["sait","vais","sav","fais","visa","tais","fic","cai","sava","ffic","aci","sati","vas","fici","cia","acti","stai","ack"],"rp":["ica","ista"]},"44":{"input":[3,4,6],"tlp":["ve",170346],"trp":["ir",150486],"tlw":["vie",6638],"lp":["ve","ri","ev","ver","rie","vr","vie","rit","eve","rri","eti","rti","eri","tie"],"rp":["ir","ire","ier","ite","iere","ive"]},"45":{"input":[1,3,4,6],"tlp":["etai",66155],"tlw":["etait",29101],"lp":["etai","rai","ave","air","aire","rait","eva","fair","rav","taie","vra","arri","arti","vrai","ari","vaie","erai","vez","trai","trav"],"rp":[]},"46":{"input":[2,3,4,6],"tlp":["dit",34652],"trp":["ice",6888],"tlw":["dit",17108],"lp":["dit","vec","ris","dev","vers","dir","cie","dire","cri","eci","serv","esti","sir","rci","vid","rise"],"rp":["ice","iste","ites","iers"]},"47":{"input":[1,2,3,4,6],"tlw":["avec",32748],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",206097],"trw":["ni",4413],"lp":[],"rp":["in","ni","hi","ini","nni","hin","inn","hn","nh","inni","nin","hni","inin","ih","hnn"]},"49":{"input":[1,5,6],"tlp":["ain",53875],"trp":["ha",60789],"tlw":["ah",2082],"trw":["hanna",151],"lp":["ain","ani","ah","aha","zain"],"rp":["ha","nai","iq","han","nnai","ina","hai","ian","inq","haq","niq","hain","nz","inai","nia"]},"50":{"input":[2,5,6],"tlp":["sin",6536],"trp":["ins",29943],"tlw":["siskin",137],"lp":["sin","sh","ssin","sins","shi","sini"],"rp":["ins","nsi","his","insi","nis","ji","isin","kin","inis","nk","nsis","ish","ij","nnis"]},"51":{"input":[1,2,5,6],"tlp":["ains",11321],"trp":["nais",6028],"tlw":["ainsi",3447],"trw":["jai",619],"lp":["ains","siq","sha","shan","ash","sain","anis","win","asin"],"rp":["nais","isan","isq","has","nsai","kah","kaha","hais","hass","jai","hasa"]},"52":{"input":[3,5,6],"tlp":["ein",12287],"trp":["he",90853],"tlw":["eh",1812],"trw":["hein",876],"lp":["ein","eni","eine","eh"],"rp":["he","ien","ine","nie","ienn","hie","nnie","hee","hen","hien","inee","nei","hei","hein","hine","hy"]},"53":{"input":[1,3,5,6],"tlp":["aien",30150],"trp":["hez",5597],"tlw":["ayez",139],"trw":["nez",1504],"lp":["aien","aine","enai","anie","enez","ayai","enia","zy"],"rp":["hez","nez","yai","yez","naie","nze","inze","heq","hae","hany","ixan","iane"]},"54":{"input":[2,3,5,6],"tlp":["endi",4399],"trp":["ndi",15037],"tlw":["sein",422],"trw":["indiens",185],"lp":["endi","din","sine","ensi","sien","deh","dien"],"rp":["ndi","hes","ind","iens","ines","ndis","iden","indi","nsie","ky","nsei","hesi","nsid"]},"55":{"input":[1,2,3,5,6],"tlw":["whisky",263],"trw":["jadis",260],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",37344],"trp":["int",28711],"tlw":["vin",885],"lp":["bi","tin","th","vin","vint","bit","bin","thi"],"rp":["int","nti","ib","nv","nvi","ntin","nit","ntit","niv","inv","init","invi"]},"57":{"input":[1,4,5,6],"tlp":["van",25237],"trp":["nait",11496],"tlw":["avant",8624],"trw":["navait",354],"lp":["van","vant","avan","fin","tain","aint","tiq","abi","bai","fini","atin","abit"],"rp":["nait","nfi","ntai","nfin","hab","habi","hant","ivan"]},"58":{"input":[2,4,5,6],"tlp":["ch",136528],"trp":["nch",8814],"tlw":["chic",138],"trw":["instinct",141],"lp":["ch","chi","cin","sib","ssib","stin","chin","tch"],"rp":["nch","inc","inst","nci","hist","ich","nic","nsci","isib","inci","nist","nsti"]},"59":{"input":[1,2,4,5,6],"tlw":["cinq",2262],"trw":["instant",2350],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["ven",26666],"trp":["ient",38518],"tlw":["bien",22012],"trw":["hier",848],"lp":["ven","bie","bien","enti","rien","enir","vent","vien","rin","env","rni","even","veni","erni"],"rp":["ient","her","inte","nir","nier","hev"]},"61":{"input":[1,3,4,5,6],"tlw":["etaient",7356],"trw":["navire",568],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["dernier",2102],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["devant",6605],"trw":["jardin",804],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",3036],"trw":["o",368],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",1455],"trp":["oa",938],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",164552],"trp":["os",50157],"trw":["os",408],"lp":["so","sso"],"rp":["os","oss","oso"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",820],"trp":["osa",3212],"lp":["wo","woo","asso","aso","aos","sao","wao","swo"],"rp":["osa","ow","owa","ossa","oas"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["e-",5380],"trp":["-e",12923],"trw":["-",5238],"lp":["e-","eo","ee-","e-o"],"rp":["-e","oe","-o"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",8193],"trp":["-a",862],"lp":["a-","x-","xo","exo","ea-","axo","a-a"],"rp":["-a","-a-","ox","oxe"]},"70":{"input":[2,3,7],"tlp":["do",52067],"trp":["ose",20090],"tlw":["dos",2170],"trw":["ose",204],"lp":["do","s-","eso","dos","es-","deso","soe","d-","esso","doss"],"rp":["ose","od","-d","-de","ode","oses","osse","-des","-s","ood"]},"71":{"input":[1,2,3,7],"tlp":["a-d",1260],"trp":["owe",807],"trw":["owe",223],"lp":["a-d","da-","ado","as-","a-de","wood","sa-","x-s","x-se","dexo","s-a","s-a-","saxo"],"rp":["owe","-a-d","-w","-we","oad","odw","oodw"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",128509],"trp":["ot",47901],"tlw":["tot",1188],"lp":["to","go","gt","tot","tto","gg","tog","gto","goo","got"],"rp":["ot","ott","og","oto","otto","otog"]},"73":{"input":[1,4,7],"tlp":["ag",49385],"trp":["of",7071],"trw":["ota",208],"lp":["ag","fo","ga","tag","gag","ffo","gat","aga","ato","tota","ago","afo","agg","atto","gato"],"rp":["of","off","ota","ofo","otta"]},"74":{"input":[2,4,7],"tlp":["co",202727],"trp":["oc",21912],"tlw":["scott",175],"lp":["co","cot","sto","cco","gts","soc","gs","cos","cost","cto","sco","coo","tos","coc"],"rp":["oc","occ","ots","ost","oct","otos"]},"75":{"input":[1,2,4,7],"tlp":["sag",9331],"trp":["oca",927],"tlw":["costas",502],"lp":["sag","aco","acco","faco","ssag","gas","sfo","agas","cag","cof","coff","fos","foss","gac","gats","gatc"],"rp":["oca","occa","osta","ocat"]},"76":{"input":[3,4,7],"tlp":["ro",122176],"trp":["or",127784],"tlw":["gorge",1040],"trw":["or",770],"lp":["ro","ge","t-","tro","gr","eg","reg","rg","t-e","ger","rge","eto"],"rp":["or","ort","orte","ore","otr","otre","ote","-t"]},"77":{"input":[1,3,4,7],"tlp":["age",30406],"trp":["orta",6654],"tlw":["fort",2164],"trw":["offert",256],"lp":["age","gar","ega","gra","egar","for","rega","arg","arge","a-t","a-t-","fort","fro","gea","rof","rag","tage","aro","rage"],"rp":["orta"]},"78":{"input":[2,3,4,7],"tlp":["cor",18700],"trp":["ors",18331],"tlw":["cote",5418],"trw":["orc",491],"lp":["cor","eco","cro","sor","core","sort","st-","est-","roc","t-c","t-ce","ges","st-c","dro","rso","erso"],"rp":["ors","ord","-c","-ce"]},"79":{"input":[1,2,3,4,7],"tlw":["regard",4785],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["ou",485081],"trw":["un",105377],"lp":[],"rp":["ou","on","un","no","nou","onn","nu","non","uo","nnu","onnu","nno","nnon","ono","oon","onon","uu","uun","uon","unn"]},"81":{"input":[1,5,7],"tlp":["qu",374405],"trp":["ua",32749],"tlw":["au",38456],"trw":["noua",61],"lp":["qu","au","qua","quan","quo","aqu","anqu","anno"],"rp":["ua","uan","onna","nqu","oq","oqu","oua","nua","uq","uqu","nqua","ona"]},"82":{"input":[2,5,7],"tlp":["su",105459],"trp":["us",202802],"tlw":["son",49965],"trw":["nous",27592],"lp":["su","son","sou","sonn","sous","ssu"],"rp":["us","ous","jo","ons","jou","nous","uss","ju","jus","uj","ujo","ujou","ouj","oujo"]},"83":{"input":[1,2,5,7],"tlp":["squ",20943],"trp":["usq",8393],"tlw":["sonna",267],"trw":["joanna",329],"lp":["squ","aus","auss","sau","ajo","ajou","auj","aujo","assu","asqu","squa"],"rp":["usq","usqu","jusq","ussa","onsa","usa","jau","jaun","joua"]},"84":{"input":[3,5,7],"tlp":["eu",220654],"trp":["ue",233945],"tlw":["eu",4099],"trw":["une",73318],"lp":["eu","enu","eun","eune","eno"],"rp":["ue","une","onne","oy","yeu","oue","oeu","oye","nue","neu","one","ueu","u-","n-","uy"]},"85":{"input":[1,3,5,7],"tlp":["que",190819],"trp":["ux",83482],"tlw":["que",98515],"trw":["yeux",10617],"lp":["que","eux","eau","aux","aque","eaux","equ","au-","eque","quen","eux-"],"rp":["ux","yeux","oya","nque","oque","oux","uque","ux-","noux"]},"86":{"input":[2,3,5,7],"tlp":["du",78771],"trp":["ond",27438],"tlw":["du",57769],"trw":["jeune",4462],"lp":["du","don","deu","seu","dou","donn","eus","euse","endu","essu"],"rp":["ond","ues","ud","use","onde","ndu","jeu","jeun","-j","-je"]},"87":{"input":[1,2,3,5,7],"tlw":["deux",15643],"trw":["judas",547],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tou",80480],"trp":["ut",149891],"tlw":["tout",29188],"trw":["ont",5688],"lp":["tou","tu","tout","bo","gn","gu","bou","bon","ton","bu"],"rp":["ut","out","ont","ng","ob","ong","ub","uto","ug","not"]},"89":{"input":[1,4,5,7],"tlp":["aut",41481],"trp":["uf",8214],"tlw":["fut",4720],"lp":["aut","ang","fu","fon","fau","agn","faut","fou","fut","auto","atu","quat","font"],"rp":["uf","uta","uff","uat","onta","ouf","ouff"]},"90":{"input":[2,4,5,7],"tlp":["con",57360],"trp":["uc",26771],"tlw":["sont",9987],"lp":["con","cou","cu","cont","sont","conn","tous","cons","touj","cun","bouc"],"rp":["uc","nco","onc","ouc","ust","just","ucu","ucun","uco"]},"91":{"input":[1,2,4,5,7],"tlw":["facon",2654],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["eur",78762],"trp":["ur",328352],"tlw":["toute",6285],"trw":["notre",4935],"lp":["eur","rou","ru","tour","eut","gen","trou","gne","eure","gue"],"rp":["ur","our","ure","ute","oute","utr","utre","nge","ontr","urn"]},"93":{"input":[1,3,4,5,7],"tlw":["autre",5877],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["sur",51346],"trw":["jour",4530],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["grand",4887],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["il",274962],"trw":["il",109781],"lp":[],"rp":["il","oi","ll","li","lo","io","ill","ol","loi","ili","oli","lli","oil","oll","llo","illi","olo","iol","ilo","lio"]},"97":{"input":[1,6,7],"tlp":["al",90167],"trp":["la",335135],"tlw":["alla",769],"trw":["la",216676],"lp":["al","all","alo","ail","aill","ali","alla","ala","allo","alai"],"rp":["la","lai","lla","llai","illa","ila","oila","ial","olla","ola"]},"98":{"input":[2,6,7],"tlp":["soi",15762],"trp":["ois",37730],"tlw":["sol",2016],"trw":["ils",17730],"lp":["soi","sio","sol","ssio","sil"],"rp":["ois","ls","ils","iso","lis","ossi","oisi","liss","osi","isio","los","isso","oiss","ok","ilis"]},"99":{"input":[1,2,6,7],"tlp":["aiso",9482],"trp":["lais",13196],"tlw":["siloa",232],"trw":["laissa",1173],"lp":["aiso","sal","sall","alis","salo","asio","ails","sali","sala","wil","wal","slow","will"],"rp":["lais","las","lass","lisa","low","osai","oisa"]},"100":{"input":[3,6,7],"tlp":["el",190433],"trp":["le",657856],"tlw":["elle",59054],"trw":["le",177879],"lp":["el","ell","elle","eil","ele","eill","elo","eli"],"rp":["le","lle","ille","lie","ile","ole","-i","-il","-el","-ell","i-","lei"]},"101":{"input":[1,3,6,7],"tlp":["ale",15620],"trp":["oix",8324],"tlw":["allez",1376],"trw":["lizzie",89],"lp":["ale","ela","alle","z-","ez-","alie","eal","eali","elai","ai-"],"rp":["oix","lez","-la","la-","laie","llez","lex","lea","iale","lez-"]},"102":{"input":[2,3,6,7],"tlp":["doi",7114],"trp":["les",154394],"tlw":["elles",3562],"trw":["les",123647],"lp":["doi","sel","sile","esoi","sole","del","dis-","els","dois","ssel","dol"],"rp":["les","lles","is-","oid","lise","oise","iles","ld","less"]},"103":{"input":[1,2,3,6,7],"tlw":["salle",2270],"trw":["laisse",2177],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",127497],"trp":["ig",30369],"tlw":["toi",4595],"trw":["lit",2373],"lp":["vo","voi","tio","gi","toi","gl","vot","vil","vol","vill","voit"],"rp":["ig","oit","lit","oig","liv","lt","lig","itio","lot"]},"105":{"input":[1,4,6,7],"tlp":["avo",15975],"trp":["lait",13889],"tlw":["voila",2492],"trw":["livia",632],"lp":["avo","foi","atio","avoi","fil","fl","tal","fill","agi","val","vail","tail","fal","fall","fla","gal"],"rp":["lait","lat","lag","iga"]},"106":{"input":[2,4,6,7],"tlp":["cl",21798],"trp":["lic",7092],"tlw":["soit",3898],"trw":["kotko",169],"lp":["cl","col","ctio","sig","cil","stio","soit","stoi","vois","coi","coll","cli","glis","vos"],"rp":["lic","isto","olic","igts","osit","loc"]},"107":{"input":[1,2,4,6,7],"tlw":["fois",9209],"trw":["lac",564],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["roi",25378],"trp":["oir",45550],"tlw":["votre",6708],"trw":["livre",1128],"lp":["roi","voir","rl","t-i","t-il","tel","rle","troi","roit","votr"],"rp":["oir","ler","lor","lev","it-","oire","let","it-i","lier","ller"]},"109":{"input":[1,3,4,6,7],"tlw":["voix",6714],"trw":["leva",2445],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["trois",5530],"trw":["levres",1891],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["alors",9986],"trw":["laisser",1893],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ui",198698],"trw":["lui",41038],"lp":[],"rp":["ui","lu","ul","ion","lui","ho","oin","lon","oul","uoi","uil","oui","hu","inu","noi","hon","uill","nui","lou","uni"]},"113":{"input":[1,5,6,7],"tlp":["qui",72449],"trp":["lan",19838],"tlw":["qui",60034],"trw":["hall",554],"lp":["qui","quoi","quil","aul"],"rp":["lan","iqu","lq","lqu","hau","ula","oula","ulai","liq","liqu","nal","uai","haqu","laq","laqu","niqu"]},"114":{"input":[2,5,6,7],"tlp":["sui",21452],"trp":["lus",40230],"tlw":["suis",11506],"trw":["john",694],"lp":["sui","suis","sion","soin"],"rp":["lus","uis","ussi","ison","hos","ions","oins","usi","onsi","uiss","uk","luk","lusi","lons","joi","nsui"]},"115":{"input":[1,2,5,6,7],"tlw":["aussi",11177],"trw":["ouais",603],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eul",11197],"trp":["leu",32420],"tlw":["euh",642],"trw":["lieu",1585],"lp":["eul","eule","elu","elui","eui","euil"],"rp":["leu","uel","ieu","ule","len","heu","oule","uell","lieu","lleu","ilen","nel","lein","ly"]},"117":{"input":[1,3,5,6,7],"tlw":["quelque",6947],"trw":["laquelle",1557],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["seul",3625],"trw":["luke",3101],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["quelques",6336],"trw":["la-dedans",355],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["vou",60021],"trp":["uv",57671],"tlw":["vu",3991],"trw":["nuit",3923],"lp":["vou","bl","tion","vu","voul","von","gin"],"rp":["uv","ouv","uit","ign","long","itu","ibl","nouv","ing","oint","lut","uiv","ubl"]},"121":{"input":[1,4,5,6,7],"tlw":["voulait",2213],"trw":["haut",2023],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["vous",46221],"trw":["longs",581],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["avons",2442],"trw":["lanca",1051],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["trouve",3189],"trw":["leur",13514],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["veux",4192],"trw":["nouveau",4416],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["chose",7901],"trw":["leurs",6620],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["chaque",3120],"trw":["lorsque",2306],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",26335],"trw":["p",553],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",48180],"trp":["pa",224861],"tlw":["ap",72],"trw":["papa",974],"lp":["ap","app","appa","apa"],"rp":["pa","ppa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",20685],"trp":["ps",18522],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",4429],"trp":["pas",100009],"tlw":["saps",129],"trw":["pas",84383],"lp":["spa","asp","sap","aps","sapp","saps"],"rp":["pas","pass"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",48775],"trp":["pe",136807],"tlw":["epee",266],"trw":["'",318],"lp":["ep","epe","epee","e'"],"rp":["pe","'e","ppe","'ep","pee","ppee","pep","pepe","p'","'epe"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["epa",8854],"trp":["'a",123917],"trw":["pape",116],"lp":["epa","appe","xp","exp","ape","xpe","expe","apea"],"rp":["'a","'ap","'app","'ex","'ea","pea","'exp","'epa","'ape","'exa","'exe","pape"]},"134":{"input":[2,3,8],"tlp":["d'",72817],"trp":["'es",50133],"tlw":["epees",70],"trw":["pdd",99],"lp":["d'","s'","s'e","d'e","esp","dep","spe","s'es","espe","sep","sesp","depe","d'es","eps"],"rp":["'es","'esp","pes","'ess","ped","pese"]},"135":{"input":[1,2,3,8],"tlp":["d'a",18719],"trp":["'as",4949],"tlw":["depasse",270],"trw":["passe",4560],"lp":["d'a","s'a","s'ap","depa","epas","s'as","d'ap","d'ea","espa","s'ex","sepa","aspe","s'ad","d'ad","d'ex","xped"],"rp":["'as","'ass","'ad","pesa"]},"136":{"input":[4,8],"trp":["pt",10944],"trw":["pt",1183],"lp":[],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",1491],"trp":["pat",3801],"tlw":["tapa",68],"lp":["tap","apt","tapa"],"rp":["pat","patt","pta","pf"]},"138":{"input":[2,4,8],"trp":["pc",625],"lp":[],"rp":["pc"]},"139":{"input":[1,2,4,8],"tlp":["cap",4228],"trp":["pac",1260],"tlw":["cap",326],"lp":["cap","capa","spac","apac","apc","capt"],"rp":["pac","pats","past"]},"140":{"input":[3,4,8],"tlp":["rep",21795],"trp":["pr",118408],"tlw":["repete",469],"trw":["pere",4207],"lp":["rep","epr","rp","repr","ept","t'","epre","rpr","repe"],"rp":["pr","pre","per","'et","pet","pere","pte","ppr","'etr","pret","pete"]},"141":{"input":[1,3,4,8],"tlp":["apr",9449],"trp":["par",86969],"tlw":["frappe",557],"trw":["par",27661],"lp":["apr","apre","rap","rapp","appr","epar","repa","t'a","aper"],"rp":["par","'eta","part","'ar","pare","para","ppar","'arr","parf","'at","'att"]},"142":{"input":[2,3,4,8],"tlp":["c'",37695],"trp":["'est",44521],"tlw":["c'est",27418],"trw":["pres",4017],"lp":["c'","c'e","c'es","c'et","s'et","spec","cep","rps","d'et","resp","cept","spr"],"rp":["'est","pres","pers","pec","prec","perd","'ec","pect"]},"143":{"input":[1,2,3,4,8],"tlw":["apres",7671],"trw":["parce",4758],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",78967],"trw":["m",2037],"lp":[],"rp":["mm","mp","nm","mn","pn","np"]},"145":{"input":[1,5,8],"tlp":["am",51798],"trp":["ma",187703],"trw":["ma",11423],"lp":["am","ama","amp","aman","amm","ampa","anm","anap"],"rp":["ma","man","mpa","mma","pan","mam","mama","manq","mman","paq","nap","pann"]},"146":{"input":[2,5,8],"tlp":["sm",1338],"trp":["mps",12697],"trw":["ms",179],"lp":["sm"],"rp":["mps","nsp","ms","nsm"]},"147":{"input":[1,2,5,8],"tlp":["sam",1341],"trp":["jam",12043],"tlw":["sam",363],"trw":["pans",80],"lp":["sam","amas","samm","ansp","asm","amps","ansm","span","sma"],"rp":["jam","jama","mas","mass","masq","maj","mpas","mw","njam","mans","nsma"]},"148":{"input":[3,5,8],"tlp":["em",168013],"trp":["me",306012],"tlw":["emmene",192],"trw":["me",28601],"lp":["em","eme","emen","emp","emm","emme"],"rp":["me","men","mme","n'","mem","pen","'en","meme","n'e","mmen","m'","'y","mpe","n'y"]},"149":{"input":[1,3,5,8],"tlp":["ema",18574],"trp":["n'a",19043],"tlw":["ame",424],"trw":["m'a",4088],"lp":["ema","eman","ame","amme","amen","xem","exem","xemp","ampe","xam","exam"],"rp":["n'a","m'a","pay","'an","'am","mena","paye","'ann","mane"]},"150":{"input":[2,3,5,8],"tlp":["dem",20176],"trp":["j'",30702],"tlw":["s'en",2720],"trw":["mes",6170],"lp":["dem","sem","emps","s'en","deme","d'en","seme","ssem","emes"],"rp":["j'","mes","pens","mmes","n'es","pend","j'e","med","j'en","mess","ndem"]},"151":{"input":[1,2,3,5,8],"tlw":["demande",3741],"trw":["pays",1471],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",463],"trp":["mb",31529],"lp":["tm","bm","ttm"],"rp":["mb","mpt","mt"]},"153":{"input":[1,4,5,8],"tlp":["amb",5301],"trp":["mat",6196],"tlw":["amant",146],"trw":["mat",200],"lp":["amb","fam","apab","tam","tamm","atm","amat","bap","bapt"],"rp":["mat","pab","mba","mant","mbat","pant","mpat","mpta","matt","mab","mban"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",1559],"trp":["mc",93],"tlw":["cm",1559],"lp":["cm"],"rp":["mc"]},"155":{"input":[1,2,4,5,8],"tlw":["camp",691],"trw":["passant",523],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",29998],"trp":["ment",81650],"tlw":["type",1817],"trw":["mere",4432],"lp":["rm","tem","rem","rme","temp","teme","emb","erm","reme"],"rp":["ment","mer","pren","met","mbr","mbre","mpr","prem","n'et","mpre","mbe"]},"157":{"input":[1,3,4,5,8],"tlw":["femme",6271],"trw":["payer",631],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["temps",9524],"trw":["n'est",6536],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["femmes",2197],"trw":["pendant",4274],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",30694],"lp":[],"rp":["pi","ip","ipp","ipi","pip","ppi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",6237],"trp":["pai",4095],"trw":["pizza",69],"lp":["api","apai"],"rp":["pai","papi","ipa","pia","ppai","piz","pizz","ippa","piaz"]},"162":{"input":[2,6,8],"tlp":["spi",1730],"trp":["isp",3645],"trw":["pis",282],"lp":["spi"],"rp":["isp","pis"]},"163":{"input":[1,2,6,8],"tlp":["apis",563],"trp":["ispa",2356],"trw":["passai",91],"lp":["apis","spai"],"rp":["ispa","pais"]},"164":{"input":[3,6,8],"tlp":["epi",615],"trp":["'i",49129],"trw":["pipe",239],"lp":["epi"],"rp":["'i","pie","pei","ipe","ippe","pipe","ie'"]},"165":{"input":[1,3,6,8],"tlp":["apie",1594],"trp":["'ai",30601],"trw":["paix",638],"lp":["apie","epai"],"rp":["'ai","'exi","paix","'aie","paie"]},"166":{"input":[2,3,6,8],"tlp":["s'i",6660],"trp":["pied",4225],"tlw":["d'idees",66],"trw":["pieds",2197],"lp":["s'i","disp","d'i","espi","depi","d'id","epis","dip"],"rp":["pied","pid","pide","'id","'ide","ispe","ipes","pedi","'k","'ke","'kee","pidi"]},"167":{"input":[1,2,3,6,8],"tlw":["epais",338],"trw":["peake",83],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",158],"trp":["pit",5509],"trw":["pitt",410],"lp":["tip"],"rp":["pit","pti","ipit","pitt","piti","ipt","ipti","piv"]},"169":{"input":[1,4,6,8],"tlp":["apit",2174],"trp":["pita",2057],"tlw":["tapait",66],"lp":["apit","tapi","vap","apti"],"rp":["pita","pati","pait","pav","ptai","pavi","ipat"]},"170":{"input":[2,4,6,8],"tlp":["cip",2146],"trp":["pist",956],"trw":["pic",121],"lp":["cip","cipi","scip"],"rp":["pist","icip","pic","pisc","pick","ptis"]},"171":{"input":[1,2,4,6,8],"tlw":["tapis",563],"trw":["passait",777],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["epri",3352],"trp":["pri",24618],"tlw":["reprit",1215],"trw":["petit",6366],"lp":["epri","rpri","epti","rip","epit"],"rp":["pri","peti","prit","pier","pir","peri","pire","prie","prev","ppri","pitr","priv","'ev","pite","'evi"]},"173":{"input":[1,3,4,6,8],"tlw":["t'ai",504],"trw":["partie",2466],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["esprit",982],"trw":["pris",3067],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["c'etait",9128],"trw":["paris",1112],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",66310],"trw":["pin",80],"lp":[],"rp":["mi","im","min","imp","ph","imm","phi","nim","pin","imi","mpi","mmi","mini","hm","minn","imin","inim","pini","nip","mih"]},"177":{"input":[1,5,6,8],"tlp":["ami",10224],"trp":["mai",88086],"tlw":["ami",1414],"trw":["main",8212],"lp":["ami","amai","aim","amin","anim","aima"],"rp":["mai","main","ima","ham","hap","mani","iam","hamp","mina","nima","pain","hapi","happ","imai"]},"178":{"input":[2,5,6,8],"tlp":["sim",4174],"trp":["mis",9740],"trw":["mis",1921],"lp":["sim","simp","sph","smi","ssim","snip"],"rp":["mis","jim","miss","insp","mmis","mik","mins","nspi","ism","nism","jimm","pins","ijim","misi"]},"179":{"input":[1,2,5,6,8],"tlw":["amis",1180],"trw":["mais",42478],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",15514],"trp":["mie",15315],"tlw":["ennemi",205],"trw":["peine",2455],"lp":["emi","emie","emin","eph"],"rp":["mie","ime","'h","imen","'in","hem","'im","mine","hemi","pein","'imp","iem","ieme","mei","imme","'he"]},"181":{"input":[1,3,5,6,8],"tlw":["aime",856],"trw":["n'ai",2898],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["demi",438],"trw":["mise",705],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["semaine",1154],"trw":["j'ai",15346],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",5445],"trp":["mit",5727],"tlw":["tim",73],"trw":["mit",2329],"lp":["tim","thm","timi","bim","timb"],"rp":["mit","ntim","mbi","imb","imit","mpit","ptib","mbin","miti","mith","itim","mv","mvi"]},"185":{"input":[1,4,5,6,8],"tlw":["faim",558],"trw":["matin",2422],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",155],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["champ",458],"trw":["massif",152],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["termine",610],"trw":["premiere",3206],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["vraiment",3840],"trw":["n'etait",4972],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["chemin",1720],"trw":["merci",1888],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["chambre",2756],"trw":["j'avais",3059],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",155941],"trw":["pop",58],"lp":[],"rp":["po","op","ppo","opo","opp","pop","oppo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["appo",2216],"trp":["opa",340],"lp":["appo","apo"],"rp":["opa"]},"194":{"input":[2,7,8],"tlp":["spo",3643],"trp":["pos",17016],"lp":["spo","spos","sop"],"rp":["pos","poss","opos","ppos","osop","osp","pso"]},"195":{"input":[1,2,7,8],"trp":["posa",2884],"trw":["posa",1155],"lp":[],"rp":["posa","pow"]},"196":{"input":[3,7,8],"tlp":["epo",13316],"trp":["'o",22659],"lp":["epo"],"rp":["'o","'oe","ope","oppe","'epo","-p","poe","-pe","o'","'op","'ope","-po"]},"197":{"input":[1,3,7,8],"tlp":["xpo",114],"trp":["-pa",135],"lp":["xpo","expo"],"rp":["-pa","'a-"]},"198":{"input":[2,3,7,8],"tlp":["d'o",3873],"trp":["pose",6350],"tlw":["depose",222],"trw":["pose",1409],"lp":["d'o","espo","epos","d'oe","s'o","depo","d-p","d-pe","epso","dop","d'os"],"rp":["pose","'od","'ode","'os","-sep","osep","poes","ps-","'ose"]},"199":{"input":[1,2,3,7,8],"tlw":["deposa",185],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1434],"trp":["pot",1385],"tlw":["top",89],"trw":["pot",240],"lp":["top"],"rp":["pot","pto","opt"]},"201":{"input":[1,4,7,8],"tlp":["apot",365],"trp":["pag",5377],"tlw":["tapota",134],"lp":["apot","tapo"],"rp":["pag","pota"]},"202":{"input":[2,4,7,8],"tlp":["cop",842],"trp":["poc",1602],"tlw":["stop",73],"trw":["pots",103],"lp":["cop","copt","stop"],"rp":["poc","post","pco","pots"]},"203":{"input":[1,2,4,7,8],"tlw":["capot",86],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",11883],"trp":["pro",26938],"tlw":["trop",6088],"trw":["porte",7561],"lp":["rop","repo","trop","ropr","ropo","epro"],"rp":["pro","por","port","prop","orp","opr","'or","ppor","opre","ppro","prot","-top","'ore","prog"]},"205":{"input":[1,3,4,7,8],"tlw":["rapport",803],"trw":["page",1683],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["corps",3633],"trw":["propos",951],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["d'accord",1426],"trw":["passage",1091],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",114832],"trw":["mon",15902],"lp":[],"rp":["om","mo","pou","omm","mon","pu","up","omp","oup","um","mu","pon","nom","mou","mpo","mom","upp","mun","uppo","mmu"]},"209":{"input":[1,5,7,8],"tlp":["amo",2232],"trp":["pau",6517],"trw":["mona",153],"lp":["amo","amou","aup","aum","appu","amu","aupa","anmo"],"rp":["pau","oma","mau","ompa","upa","uma","omma","poq","poqu","oman","oupa","paqu"]},"210":{"input":[2,5,7,8],"tlp":["som",5403],"trp":["pous",4373],"trw":["noms",472],"lp":["som","somm","sup","soup","supp","spon","susp"],"rp":["pous","mons","mus","pons","mpos","ups","oups","mos","oms","noms","usp","mous","jup"]},"211":{"input":[1,2,5,7,8],"trw":["poussa",827],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["epon",8146],"trp":["u'",72122],"tlw":["emu",95],"trw":["peu",10328],"lp":["epon","epu"],"rp":["u'","omme","'u","'un","peu","u'e","'une","'on","ome","u'u","u'un","ume","upe","-m","omen","u'o","u'on","mome"]},"213":{"input":[1,3,5,7,8],"tlw":["qu'on",6252],"trw":["peux",3366],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["d'un",18560],"trw":["monde",5892],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["d'eau",1024],"trw":["jusqu'a",4050],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",8498],"trp":["omb",12802],"tlw":["tom",1064],"trw":["mot",1938],"lp":["tom","tomb","ttom","tup","tum","tmo"],"rp":["omb","mont","mot","ompt","nomb","put","pub","mbo","mob","pont","mmob","mout","omt","mpto"]},"217":{"input":[1,4,5,7,8],"tlw":["tomba",500],"trw":["monta",334],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["coup",5443],"trw":["mots",1844],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["combat",528],"trw":["poussant",233],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["tomber",1545],"trw":["pour",54806],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forme",1597],"trw":["pourtant",2127],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["comme",26616],"trw":["personne",4398],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["qu'est-ce",3758],"trw":["presque",3280],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",81861],"trw":["poil",237],"lp":[],"rp":["pl","poi","pli","pol","poli","plo","lip","ilip","lop","lopp","opi","pil","lipp","lp","ppl","ipl","poil","ppli","ploi","pilo"]},"225":{"input":[1,6,7,8],"tlp":["alp",231],"trp":["pla",16627],"trw":["plaza",92],"lp":["alp","alop","apil","apol","appl"],"rp":["pla","plai","pal","ipal","pala","opai","lpa","pali","pail","lap","lapi","plaz","plia","opla"]},"226":{"input":[2,6,7,8],"tlp":["spoi",1196],"trp":["posi",1139],"trw":["poils",186],"lp":["spoi","spl"],"rp":["posi","ispo","pois","plis","plos","piso","pok"]},"227":{"input":[1,2,6,7,8],"trw":["palais",478],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elep",2381],"trp":["l'",88780],"trw":["l'oeil",749],"lp":["elep","epl","elop"],"rp":["l'","'il","l'e","'el","'ell","ple","l'o","l'i","pel","ppel","plei","pele","lep","pell","'oei","l'ep","l'oe"]},"229":{"input":[1,3,6,7,8],"tlw":["appele",632],"trw":["l'a",2169],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["s'il",4703],"trw":["l'idee",964],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["s'appelle",386],"trw":["l'aide",479],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tipl",158],"trp":["ptio",1479],"lp":["tipl"],"rp":["ptio","poig","poit","opit","ptoi","pig","pivo","plit","ltip","lpt","lpit","pito","pilt","plot"]},"233":{"input":[1,4,6,7,8],"tlw":["galop",145],"trw":["plait",891],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["capital",85],"trw":["posait",183],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["reprit-il",188],"trw":["l'oreille",587],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["appeler",517],"trw":["l'air",3916],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["desespoir",393],"trw":["police",1783],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["d'avoir",1685],"trw":["place",3372],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["plu",43647],"trw":["moi",12680],"lp":[],"rp":["plu","moi","pui","hom","homm","mpl","mil","moin","mill","poin","lum","impo","pho","impl","minu","umi","hum","upi","ompl","mili"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["animal",319],"trw":["mal",4543],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simon",341],"trw":["plus",37565],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["salim",412],"trw":["maison",4491],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["homme",5277],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["qu'il",23610],"trw":["mieux",3375],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["depuis",5560],"trw":["hommes",4084],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["qu'ils",4873],"trw":["musique",825],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["bulpitt",89],"trw":["point",3139],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",348],"trw":["pouvait",3877],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["commis",274],"trw":["jimbo",666],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["thomas",448],"trw":["mauvais",894],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["telephone",2027],"trw":["lumiere",2031],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["famille",1962],"trw":["pourquoi",6282],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["repondit",2783],"trw":["longtemps",2380],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["semblait",1934],"trw":["larmes",1018],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/hu-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/hu-keymap.json index c7516e776f..ec03cb5989 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/hu-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/hu-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",383],"tlw":["a",307731],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",24364],"tlw":["s",39563],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",66595],"tlw":["was",3404],"lp":["as","sa","ass","wa","asa","was","sas","ssa","assa","sass","aw","sasa","awa","ws","saw","sw","ww","asas","aws","www"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",3291],"tlw":["e",6340],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",12313],"tlw":["x",109],"lp":["ea","ex","ae","xa","exa","xe","exe","xx"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["es",161633],"tlw":["es",60379],"lp":["es","de","se","ed","ese","des","ede","ess","dd","sse","edes","ds","esse","edd","dese","ses","sed","sd","eed","ded"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",36504],"tlw":["we",1547],"lp":["ad","da","ada","we","das","add","sad","sada","ase","ead","dasa","ew","ade","adas","ads","dea","eas","asd","esa","desa"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",111811],"tlw":["t",315],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",110634],"tlw":["at",3435],"lp":["ta","at","att","tta","ata","fa","tat","atta","tata","af","ft","ff","tatt","aft","fat","atat","tf","aff","afa","ffa"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["cs",52385],"tlw":["c",503],"lp":["cs","st","ts","ct","cc","tc","sc","scs","tts","sts","csc","cscs","cts","stt"],"rp":[]},"11":{"input":[1,2,4],"tlp":["csa",25323],"tlw":["fact",237],"lp":["csa","ac","ca","ast","tas","acs","sta","ats","atas","sat","csas","cas","tw","act","tsa","cat","stat","cast","tasa","asta"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",141919],"tlw":["te",4722],"lp":["er","et","te","re","rt","ett","ere","ert","ete","tet","tte","ette","rr","ter","tett","rte","etet","ret","erte","eret"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",117406],"tlw":["arra",2662],"lp":["ar","ra","fe","ara","art","tar","rta","tart","rat","arr","fr","rra","fer","arta","ef","ate","arra","arat","tra","rea"],"rp":[]},"14":{"input":[2,3,4],"tlp":["rs",15788],"tlw":["este",960],"lp":["rs","dt","rd","res","ste","est","tes","erd","ce","rde","ec","rc","erde","ers","eres","set","cse","det","etes","este"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["dta",9305],"tlw":["were",1692],"lp":["dta","adt","rad","arad","ars","rsa","arc","adta","sar","tars","arsa","wer","ras","radt","dar","ard","were","dat","dra","rsad"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",30933],"trw":["n",210],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",171406],"trp":["na",74976],"tlw":["an",1125],"trw":["na",433],"lp":["an","ann","ana","anna","anan"],"rp":["na","nna","nan","nnan","nana","nq"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",2399],"trp":["ns",7890],"trw":["j",225],"lp":["sn"],"rp":["ns","jj","nj","js","jn"]},"19":{"input":[1,2,5],"tlp":["aj",26099],"trp":["ja",44839],"tlw":["aj",46],"trw":["jaj",1254],"lp":["aj","aja","san","ans","saj","saja","sna","asn","asna","wn","ajan","ssan","ajn","ajna"],"rp":["ja","jan","jaj","nas","jna","jana"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",192896],"trp":["ne",139773],"tlw":["en",13217],"trw":["ne",6355],"lp":["en","enn","eny","ene","enne","enye","ey","enny","een"],"rp":["ne","ny","ye","yen","nne","nye","nny","yn","yne","nen","nyn"]},"21":{"input":[1,3,5],"tlp":["any",20653],"trp":["ya",37836],"tlw":["any",460],"lp":["any","ane","ean","anya","eany","anny","ay","anyn","ena","enna","eq"],"rp":["ya","yan","nya","yna","yana","yany","nyna","yea","ynya"]},"22":{"input":[2,3,5],"tlp":["den",14339],"trp":["nd",76373],"tlw":["ej",386],"trw":["need",144],"lp":["den","dj","ej","sen","end","eje","esen","dn","ende"],"rp":["nd","nde","je","nden","ys","ndj","jd","yes","yj","nse","jen"]},"23":{"input":[1,2,3,5],"tlp":["and",17737],"trp":["ndja",5958],"tlw":["and",12896],"trw":["new",369],"lp":["and","dja","ajd","adj","dan","adn","adja","dna","sand","anyj","day","way","ande"],"rp":["ndja","nda","yas","yja","ndan","nyja","ysa"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",33278],"trp":["nt",65227],"tlw":["b",333],"lp":["bb","tn","tb","bn","bbn","bt"],"rp":["nt","nb","ntb","nnt","ntt"]},"25":{"input":[1,4,5],"tlp":["ba",46116],"trp":["nat",3727],"tlw":["abban",1391],"lp":["ba","ab","ban","tan","aba","abb","ant","aban","bba","bban","abba","bat","tana","anat","atn"],"rp":["nat","nta","nba","nban","nf"]},"26":{"input":[2,4,5],"tlp":["tj",4670],"trp":["nc",13855],"tlw":["stb",576],"lp":["tj","sb","bs","stb","bbs","cb","bj","sbb","csb","csn"],"rp":["nc","ncs","jt","nst","nts","jb","nbs","ntj","jts","jtj"]},"27":{"input":[1,2,4,5],"tlp":["ajt",5087],"trp":["jat",5127],"tlw":["sajat",1345],"lp":["ajt","tja","ajta","anc","ajat","atj","atja","baj","can","ancs","faj","fj","sab","sba","bac","sabb"],"rp":["jat","jta","jab","jaba"]},"28":{"input":[3,4,5],"tlp":["be",65601],"trp":["nte",8707],"tlw":["be",6609],"lp":["be","ben","ent","ten","eb","ber","rn","ebe","ren","ebb","ty","bbe","eben","ry","bet","rten"],"rp":["nte","yet","yt","yer"]},"29":{"input":[1,3,4,5],"tlp":["ran",8885],"trp":["yar",8550],"tlw":["bar",1464],"trw":["natty",172],"lp":["ran","bar","aran","arn","rany","tya","aty","rna","fen","rab","atya","bara","rba","arna","ary","rant"],"rp":["yar","yat","yf","yta"]},"30":{"input":[2,3,4,5],"tlp":["sten",4933],"trp":["ndt",3578],"tlw":["esetben",368],"lp":["sten","rj","bes","rend","enc","seb","renc","csen","dent","sebb","bec","ejet","erj","tend","encs"],"rp":["ndt","ncse","nce","jet","jr"]},"31":{"input":[1,2,3,4,5],"tlw":["rajta",1591],"trw":["jart",812],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",2593],"trw":["i",2017],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["az",158164],"trp":["ia",19708],"tlw":["az",99800],"lp":["az","za","zi","ai","zz","aza","zza","zaz","azz","azza","azi","zaza","zia","azaz","zai"],"rp":["ia","iz","iai","iza","izi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",22088],"trp":["is",89346],"tlw":["si",71],"trw":["is",40982],"lp":["si","sk","sik","sis","ssi","ski"],"rp":["is","ki","ik","kk","kis","kik","iss","ks","isk","kiss","isi","iki","ksi","ikk"]},"35":{"input":[1,2,6],"tlp":["sz",176990],"trp":["ka",44404],"tlw":["aki",3851],"trw":["iszik",209],"lp":["sz","ak","sza","sak","ssz","szi","aka","asz","aki","zs","akk","assz","zik","wi","asi","ssza","szik","zsa"],"rp":["ka","isz"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",6348],"trp":["ie",7511],"lp":["ei","eei"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",100252],"trp":["ize",2949],"tlw":["ez",13097],"trw":["ize",69],"lp":["ze","ez","eze","aze","zze","ezz","ezze","ezi","eza","xi","zei","ezei","zez","zeze","ezai","xix","xii"],"rp":["ize","ix","izze"]},"38":{"input":[2,3,6],"tlp":["ek",80676],"trp":["ke",88251],"tlw":["did",582],"trw":["ide",1572],"lp":["ek","di","eke","eki","edi","dik","dek","ddi","ekk","sek","ske","sid"],"rp":["ke","id","ide","ked","kes","ike","ise","kek"]},"39":{"input":[1,2,3,6],"tlp":["sze",62411],"trp":["kez",11007],"tlw":["ezek",1919],"trw":["kezd",305],"lp":["sze","esz","esze","zd","zek","ezd","ezek","ssze","azd","zda","azda","szek","dez","adi","zeke","zes"],"rp":["kez","keze","kezd","isze"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",26187],"trp":["it",48328],"tlw":["ti",467],"trw":["itt",6106],"lp":["ti","vi","tv","vit","tit","tiv","vitt","vv","tti","vt","vii","viii"],"rp":["it","iv","itt","iti","ivi","itv","ivt","itiv"]},"41":{"input":[1,4,6],"tlp":["va",85476],"trp":["if",3685],"tlw":["azt",15369],"trw":["if",856],"lp":["va","zt","azt","fi","zta","av","ava","fia","azta","ati","ziv","vat","zat","viz","tva","tiz","fiat"],"rp":["if","iat","iva"]},"42":{"input":[2,4,6],"tlp":["csi",6831],"trp":["ic",8214],"tlw":["cit",131],"trw":["kit",1125],"lp":["csi","ci","vis","tk","viss","tis","sti","stv","sit","tik"],"rp":["ic","ist","kiv","ics","kit","kt","kic","kics","its","icsi"]},"43":{"input":[1,2,4,6],"tlp":["csak",20970],"trp":["kat",7650],"tlw":["csak",17322],"lp":["csak","szt","tak","cz","wit","tsz","vas","aszt","szta","sziv","tisz","atsz","czi","ttak","visz","cia"],"rp":["kat","iszt","kiva","kta"]},"44":{"input":[3,4,6],"tlp":["ve",74884],"trp":["ir",33168],"tlw":["vette",950],"trw":["irt",530],"lp":["ve","ri","ev","eve","vet","ver","rv","eri","eti","vett","tve","eir","rve","evet"],"rp":["ir","ive","ire","irt","ite","itte"]},"45":{"input":[1,3,4,6],"tlp":["zer",25432],"trp":["ira",15949],"tlw":["ezt",5966],"lp":["zer","zet","ezt","zere","var","zte","ezet","zett","ari","zert","ezte","vez","ria","zar","ezer","azer","rva","veze","zeri"],"rp":["ira"]},"46":{"input":[2,3,4,6],"tlp":["tek",13729],"trp":["ket",19030],"tlw":["vers",850],"trw":["ket",6195],"lp":["tek","ves","dv","rk","eket","rek","erek","dve","edv","edve","ttek","vid"],"rp":["ket","ker","kir","kere","iste","kerd","kedv","kr"]},"47":{"input":[1,2,3,4,6],"tlw":["akar",1873],"trw":["kezet",1015],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",100465],"trw":["in",9209],"lp":[],"rp":["in","ni","hi","nin","nni","hin","inn","ih","hh","ini","nh","inni","inh","hn","hinn","nii","hni","nini","hih","nnin"]},"49":{"input":[1,5,6],"tlp":["ah",5695],"trp":["ha",99222],"tlw":["ah",347],"trw":["ha",15507],"lp":["ah","zn","ani","zin","zan","zni","zna","ain","azan","aha"],"rp":["ha","han","haz","haza","ian","ina","nz","hia","nia","hazi"]},"50":{"input":[2,5,6],"tlp":["sin",3147],"trp":["nk",18980],"trw":["his",3359],"lp":["sin","sh","sni"],"rp":["nk","his","kin","nki","kn","ink","nik","nis","ij","kh","ins","ish","ikn","nkin","kikn","nsi","jh"]},"51":{"input":[1,2,5,6],"tlp":["wh",5945],"trp":["nak",17010],"tlw":["annak",3112],"trw":["hisz",637],"lp":["wh","szin","anak","szn","zaj","ank","whi","sina","aszn","szaj"],"rp":["nak","nka","nnak","has","haj","jak","hisz","kan","inka","hasz"]},"52":{"input":[3,5,6],"tlp":["eh",18062],"trp":["he",78848],"tlw":["enni",263],"trw":["he",3277],"lp":["eh","ehe","enni","eni","enyi","ein"],"rp":["he","yi","nyi","nnyi","ine","neh","hey","hen","hei","yh","nehe","inne","ien","nyh"]},"53":{"input":[1,3,5,6],"tlp":["zen",10585],"trp":["hane",4811],"tlw":["ezen",1479],"trw":["nehany",1282],"lp":["zen","eha","ezen","enz","ehan","ehez","zne","ezn","ezni"],"rp":["hane","nez","neha","hany","hez","yha","izen","neze","yz","yze","yez"]},"54":{"input":[2,3,5,6],"tlp":["enk",5048],"trp":["nek",29850],"tlw":["ennek",2112],"trw":["neki",6003],"lp":["enk","enek","enki","dni","senk"],"rp":["nek","ind","inde","neki","yek","neke","ken","yik","nnek","ndi","indi","inek","kine","nke","kne"]},"55":{"input":[1,2,3,5,6],"tlw":["when",993],"trw":["had",1905],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["th",71797],"trp":["int",32779],"tlw":["th",242],"trw":["hit",168],"lp":["th","bi","thi","bbi","tni","tth","vin","thin"],"rp":["int","ith","nth","inth","ib","ht","nti","hiv","hit","nv","hitt","nit"]},"57":{"input":[1,4,5,6],"tlp":["van",18634],"trp":["hat",22178],"tlw":["van",11948],"trw":["hat",6837],"lp":["van","tha","that","biz","ztan","zb","zab","ath","vab","vabb","zaba","zint","tvan","vann"],"rp":["hat","hata","ntha","hav","ivan","hab"]},"58":{"input":[2,4,5,6],"tlp":["ch",5920],"trp":["inc",7312],"tlw":["this",2307],"trw":["nincs",3085],"lp":["ch","this","csin","sinc","chi","bis"],"rp":["inc","incs","ninc","kb","kint","ich","hic","hich","nci","hist","nsti","inst","itj","nkit"]},"59":{"input":[1,2,4,5,6],"tlw":["with",3691],"trw":["inkabb",1478],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["the",47933],"trp":["het",10465],"tlw":["the",34738],"trw":["het",978],"lp":["the","ehet","ven","rin","ther","they","rint","teh","erin","thei","bir"],"rp":["het","her","inte","nev","neve","hete","hir","heir","yv"]},"61":{"input":[1,3,4,5,6],"tlw":["tehat",2571],"trw":["have",1230],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["these",599],"trw":["isten",2805],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["szerint",2186],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",1820],"trw":["o",10573],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","trp":["oa",760],"lp":[],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",41762],"trp":["os",59448],"tlw":["so",930],"trw":["os",131],"lp":["so","sos","soso","sso","soo"],"rp":["os","oss","oso","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["aso",4417],"trp":["osa",3764],"lp":["aso","wo","asos","swo","woo","asso"],"rp":["osa","ow","ossa","owa","ows"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",1230],"trp":["-e",3142],"trw":["-",1439],"lp":["eo","e-","e-o"],"rp":["-e","oe","o-","-o","o-o"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",237],"trp":["-a",532],"trw":["-a",180],"lp":["a-","a-e","xo"],"rp":["-a","ox"]},"70":{"input":[2,3,7],"tlp":["do",41052],"trp":["od",15802],"tlw":["eso",376],"trw":["-es",254],"lp":["do","sod","dos","eso","dod","edo","d-","d-e","sose"],"rp":["od","ose","odo","ode","od-","od-e","odes","ood","osse","-d","-es"]},"71":{"input":[1,2,3,7],"tlp":["ado",4227],"trp":["oda",6077],"tlw":["ado",161],"trw":["oda",2095],"lp":["ado","soda","asod","dow","easo","doa","dosa","as-","ados","wood","adod","ewo"],"rp":["oda","owe","odas","-as","odaa","owed","-oda","odae"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",78142],"trp":["og",80035],"tlw":["to",11182],"trw":["ott",6355],"lp":["to","go","tot","tott","got","gt","gg","tto","gott","gto","tog"],"rp":["og","ot","ott","ogo","ogt","ogot","oto","ogto","otot"]},"73":{"input":[1,4,7],"tlp":["ag",87943],"trp":["of",19703],"tlw":["fog",1642],"trw":["of",16836],"lp":["ag","ga","fo","aga","ato","fog","ago","gat","agat","atot","agot","gta","foga","gf","fogo","agg"],"rp":["of","otta","oga","ota"]},"74":{"input":[2,4,7],"tlp":["cso",6549],"trp":["ost",9595],"tlw":["sot",1437],"lp":["cso","co","tos","gs","sot","gos","sto","sg","csos","csot","soc","cco","cto","ttos","sog"],"rp":["ost","oc","ocs","ogs","osto"]},"75":{"input":[1,2,4,7],"tlp":["sag",7512],"trp":["osag",1075],"tlw":["two",477],"lp":["sag","agos","sago","gas","atos","asag","agas","tosa","acso","ssag","tsag","gosa","two","saga","sga","gsa","ags"],"rp":["osag","oca","ocsa"]},"76":{"input":[3,4,7],"tlp":["eg",183750],"trp":["or",88200],"tlw":["eg",697],"trw":["oreg",2917],"lp":["eg","ro","ge","ege","reg","tor","gr","get","ero","tort","eget","rto","teg","rg","ger"],"rp":["or","ore","oro","ort","oreg"]},"77":{"input":[1,3,4,7],"tlp":["aro",14078],"trp":["ora",5234],"tlw":["for",3067],"trw":["ora",808],"lp":["aro","for","gar","rag","arto","fro","ega","rof","grof","egf","gra","arg","aror","taro","forr","rga","efo","arag"],"rp":["ora","orra"]},"78":{"input":[2,3,4,7],"tlp":["seg",14126],"trp":["ors",6702],"tlw":["eros",707],"trw":["ordog",649],"lp":["seg","ges","eges","ros","sege","dot","dott","rdo","deg","sor","dor","dog","ged","eseg","ross","tseg","egs","eros"],"rp":["ors","ord"]},"79":{"input":[1,2,3,4,7],"tlw":["adott",1280],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",101004],"trw":["on",3707],"lp":[],"rp":["on","un","no","ou","onn","nu","ono","oun","non","uno","nno","nnu","unn","nnon","nun","nnun","uo","onu","nou","oon"]},"81":{"input":[1,5,7],"tlp":["ano",4244],"trp":["ona",5750],"tlw":["au",143],"trw":["onnan",503],"lp":["ano","au","anu","qu","anno","anon","qua","anua"],"rp":["ona","onna","ua","una","uan","oan","unan","onan","nua","onq","nqu","onqu"]},"82":{"input":[2,5,7],"tlp":["su",6983],"trp":["jo",26548],"tlw":["son",366],"trw":["jo",6226],"lp":["su","son","ssu"],"rp":["jo","us","ju","uj","nos","jon","ons","onos","jos","oj","ous","jonn","jus","jjo","jjon","joj","jun"]},"83":{"input":[1,2,5,7],"tlp":["anos",2908],"trp":["jano",2283],"tlw":["sajnos",113],"trw":["janos",2073],"lp":["anos","ajo","ason","wou","aus","ajos","aju","asu","ajjo"],"rp":["jano","osan","own","now","uja","usa","onas","ujsa","oja","ujja","jua"]},"84":{"input":[3,5,7],"tlp":["eu",1868],"trp":["yo",25659],"tlw":["eu",103],"trw":["one",972],"lp":["eu","enu"],"rp":["yo","ony","yu","nyo","yon","nyu","onyo","one","ue","y-","onny","y-e","onne","yun","uny","you","yony","oen"]},"85":{"input":[1,3,5,7],"tlp":["anyo",2334],"trp":["unya",473],"tlw":["que",241],"trw":["-an",97],"lp":["anyo","que","an-","an-e","equ","equa","anyu","aux","eque","quee"],"rp":["unya","onya","-na","yano","oya","yanu","yona","-an","nque","ux"]},"86":{"input":[2,3,5,7],"tlp":["du",7212],"trp":["ond",20755],"tlw":["du",322],"trw":["und",201],"lp":["du","don","endo","edu"],"rp":["ond","ud","ndo","ondo","udo","ondj","yos","und","nyos","udj","udn","ndu","osen","use","yedu","unde"]},"87":{"input":[1,2,3,5,7],"tlw":["adjon",401],"trw":["odaadja",48],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tu",26336],"trp":["ut",29088],"tlw":["tobb",2199],"trw":["not",2568],"lp":["tu","bo","tob","tobb","gon","bu","gu","ton","gn"],"rp":["ut","ob","ng","ug","obb","ont","uto","not","onb","nto","ung"]},"89":{"input":[1,4,5,7],"tlp":["ang",4181],"trp":["nag",18488],"tlw":["about",409],"trw":["utan",3611],"lp":["ang","fu","abo","gan","gab","gna","aton","tona","ango","agu","gaba"],"rp":["nag","uta","utan","oba","nga","unga","onba","utat","obba"]},"90":{"input":[2,4,5,7],"tlp":["gj",3961],"trp":["job",3981],"tlw":["bus",289],"trw":["jott",1407],"lp":["gj","csu","cou","sob","con","cson","sobb"],"rp":["job","jobb","jot","jott","jto","ntos","ust","uc","jut","ogj","ujt","jtot","juto"]},"91":{"input":[1,2,4,5,7],"tlw":["fogja",947],"trw":["jobban",1258],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gy",213097],"trp":["ogy",60410],"tlw":["egy",31147],"trw":["ugy",8993],"lp":["gy","egy","gye","gyo","egye","ru","gen","egen","gyon","geny","gyu","eng","gyen","enge","bor"],"rp":["ogy","ur","ugy","oru","nge"]},"93":{"input":[1,3,4,5,7],"tlw":["baro",394],"trw":["nagy",10563],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["tudott",1092],"trw":["ures",337],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["tudja",1421],"trw":["ujra",1374],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["ol",117661],"trw":["l",1029],"lp":[],"rp":["ol","lo","ll","il","li","io","ill","llo","olo","lol","oi","oll","oli","lli","ili","illi","ilo","ollo","iol","lio"]},"97":{"input":[1,6,7],"tlp":["al",141761],"trp":["la",89690],"tlw":["all",2554],"trw":["la",881],"lp":["al","zo","ala","all","alo","azo","zol","alal","alla","zal","ali","allo"],"rp":["la","oz","ozo","lal","lla","ila","ola","ozz"]},"98":{"input":[2,6,7],"tlp":["sok",10043],"trp":["ko",67727],"tlw":["sok",3390],"trw":["ok",1198],"lp":["sok","sol","sko"],"rp":["ko","ok","lk","ls","iko","kko","lso","oko","kol","los","lko","lok","kos","lis","lik","kl","ols"]},"99":{"input":[1,2,6,7],"tlp":["szo",28916],"trp":["koz",17882],"tlw":["azok",1917],"trw":["law",597],"lp":["szo","zok","akko","szol","sszo","alk","azok","ako","soka","szok"],"rp":["koz","osz","oka","las","ossz","kozo","lak","kal","ozs","lasz"]},"100":{"input":[3,6,7],"tlp":["el",185226],"trp":["le",131988],"tlw":["el",11925],"trw":["le",3722],"lp":["el","ele","ell","elo","elle","eli","elel","elol"],"rp":["le","lle","lel","ole","ille","lole","lele","ile","lelo","olle","-i","lei"]},"101":{"input":[1,3,6,7],"tlp":["zel",9993],"trp":["lea",5723],"tlw":["ezzel",1164],"trw":["lexi",93],"lp":["zel","ezo","zele","ela","zzel","zle","zelo","zell","ale","alle","zeli","eal","ezel","elz","ezal","azel","elal"],"rp":["lea","oze","ozel"]},"102":{"input":[2,3,6,7],"tlp":["dol",7310],"trp":["ld",13454],"tlw":["elso",2743],"trw":["kell",5494],"lp":["dol","elk","els","elso","del","eles","elke","dok"],"rp":["ld","kel","les","kell","old","ido","oke","lek","lke","ldo","led","lese"]},"103":{"input":[1,2,3,6,7],"tlw":["szel",525],"trw":["lesz",3740],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",40145],"trp":["lt",63226],"tlw":["volt",20311],"trw":["ivott",154],"lp":["vo","vol","volt","gi","tl","tol","vil","tio","gl"],"rp":["lt","ig","olt","ov","lot","lott","lv","lg","olg","lto","lit"]},"105":{"input":[1,4,6,7],"tlp":["val",23257],"trp":["lat",20885],"tlw":["alatt",3368],"trw":["igaz",1408],"lp":["val","tal","vag","alt","fol","vala","zot","tala","zott","gaz","alat","alta","valo"],"rp":["lat","lta","latt","ova","lag","ozot","olta"]},"106":{"input":[2,4,6,7],"tlp":["tok",4349],"trp":["kot",3836],"tlw":["titkos",290],"trw":["kolto",379],"lp":["tok","gis","gok","tko","gk","tols"],"rp":["kot","kov","lc","olc","okt","lcs","kolt","loc","olcs","koc","icso","kott","okot","oci"]},"107":{"input":[1,2,4,6,7],"tlw":["voltak",2244],"trw":["kozott",2109],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["vel",12822],"trp":["let",20248],"tlw":["elott",2567],"trw":["lett",3000],"lp":["vel","tel","egi","elt","veg","elet","vele","rol","tle","elot","tele"],"rp":["let","leg","lett","llet","ove","lte","lete","lev","iro"]},"109":{"input":[1,3,4,6,7],"tlw":["fel",5055],"trw":["left",288],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["ekkor",1030],"trw":["kellett",2170],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["akkor",5794],"trw":["orszag",966],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ho",91631],"trw":["hol",3321],"lp":[],"rp":["ho","ul","ln","oln","hol","hu","lu","lon","oh","ulo","ion","hun","ulon","lni","iu","hon","nl","nul","oul","uh"]},"113":{"input":[1,5,6,7],"tlp":["zon",17866],"trp":["lan",11536],"tlw":["azon",1845],"trw":["hozza",2127],"lp":["zon","zu","azon","alan","aho","zul","alu"],"rp":["lan","hal","lna","olna","hoz","nal","hall","hozz","oha","uz","izon","hala","llan"]},"114":{"input":[2,5,6,7],"tlp":["soh",2706],"trp":["ku",14889],"trw":["jol",2741],"lp":["soh","sul","sho"],"rp":["ku","kul","unk","uk","lj","kon","kulo","hos","jol","lku","lkul","juk","hus","hoss","konn","uks","nok"]},"115":{"input":[1,2,5,6,7],"tlw":["soha",1668],"trw":["kozul",1472],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["ely",25178],"trp":["ly",62035],"tlw":["ellen",1350],"trw":["oly",2731],"lp":["ely","elye","elen"],"rp":["ly","len","lye","oly","leh","lehe","ily","lyen","hel","hely","ilye","llen","nel","ule","lyi","yel","lyn"]},"117":{"input":[1,3,5,6,7],"tlw":["equal",129],"trw":["olyan",5589],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["ejjel",683],"trw":["nelkul",2214],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["asszony",2441],"trw":["kisasszony",460],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["voln",8076],"trp":["hog",60062],"tlw":["tobbi",901],"trw":["otthon",874],"lp":["voln","bol","gh","tion","bl","tho","tul","gin","vu","ght","gint"],"rp":["hog","ult","ing","hung","oth","obbi","lonb","lob","ivu"]},"121":{"input":[1,4,5,6,7],"tlw":["volna",7681],"trw":["hova",947],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["such",497],"trw":["king",1415],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["viszont",558],"trw":["ifju",760],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["bele",1164],"trw":["hogy",55048],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["vagy",8524],"trw":["horvath",1175],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["egyik",2647],"trw":["korul",1156],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["vagyok",3023],"trw":["kiraly",5259],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",4972],"trw":["p",636],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",22391],"trp":["pa",18427],"tlw":["apa",231],"trw":["pap",604],"lp":["ap","apa","app","appa"],"rp":["pa","pap","ppa","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",1610],"trp":["ps",1710],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["sap",895],"trp":["pas",1331],"trw":["pas",147],"lp":["sap","sapa","spa","aps","apas","asp","aspa","apsa"],"rp":["pas","pass","pasa","psa","paps"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",23212],"trp":["pe",28344],"tlw":["epp",420],"trw":["'",39],"lp":["ep","epe","epp","eppe","eep","e'"],"rp":["pe","ppe","pee"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",1036],"trp":["pea",574],"tlw":["a'",897],"lp":["ape","a'","xp","exp","appe","xpe","expe","eap","epa"],"rp":["pea","ppea","pape"]},"134":{"input":[2,3,8],"tlp":["epes",1628],"trp":["ped",6768],"trw":["'s",163],"lp":["epes","eps","spe","esp","sep","sepp","epse","espe","desp","s'","s's","epd","dep"],"rp":["ped","pes","'s","pess","pse","pese","pd"]},"135":{"input":[1,2,3,8],"tlp":["dap",867],"trp":["pad",901],"tlw":["apad",98],"trw":["passed",66],"lp":["dap","dape","apes","apad","esap","weap","spea","as'","as's","aped"],"rp":["pad","peda","peas"]},"136":{"input":[4,8],"tlp":["tp",115],"trp":["pt",1949],"lp":["tp","ttp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",1138],"trp":["pta",935],"tlw":["apat",58],"trw":["papat",43],"lp":["apt","apta","apat","tap","tapa","apf"],"rp":["pta","pat","pf","pata"]},"138":{"input":[2,4,8],"trp":["pc",781],"lp":[],"rp":["pc","pcs"]},"139":{"input":[1,2,4,8],"tlp":["apc",704],"trp":["past",91],"tlw":["csapat",159],"trw":["past",91],"lp":["apc","apcs","csap","cap","sapt","capt","scap","spac"],"rp":["past","pcsa","pac"]},"140":{"input":[3,4,8],"tlp":["epet",1843],"trp":["pr",5345],"trw":["peter",932],"lp":["epet","rep","rp","erep","ept","repe","tep","epte","epr","epre"],"rp":["pr","per","pet","pete","pre","pett","pte","pere","ppet","ppr"]},"141":{"input":[1,3,4,8],"tlp":["apr",954],"trp":["par",5757],"tlw":["expert",89],"trw":["par",1156],"lp":["apr","arp","rpa","arpa","apra","rap","xper","appr","aper","apte","erap"],"rp":["par","part","para","pera","pra","pfe","pear","perf","pate"]},"142":{"input":[2,3,4,8],"tlp":["step",391],"trp":["pest",1888],"tlw":["csepp",134],"trw":["pest",218],"lp":["step","spec","csep","resp","cep","cept","epc","epcs","r's","er's","rdep","spr"],"rp":["pest","pers","perc","pres","pec","pecs","pect","pted"]},"143":{"input":[1,2,3,4,8],"tlw":["arpad",569],"trw":["peace",107],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",5907],"trw":["m",703],"lp":[],"rp":["mm","mp","pn","nm","mn","pm","np","nnm"]},"145":{"input":[1,5,8],"tlp":["am",53502],"trp":["ma",92967],"tlw":["am",1222],"trw":["ma",3061],"lp":["am","ama","apam","amp","apn","amn","amna"],"rp":["ma","nap","man","pan","nam","mma","pam","mpa","napp","mam","nnap","mna","nma"]},"146":{"input":[2,5,8],"tlp":["sm",4467],"trp":["pj",2668],"lp":["sm"],"rp":["pj","ms","mj","mps"]},"147":{"input":[1,2,5,8],"tlp":["apj",2668],"trp":["mas",14915],"tlw":["apja",679],"trw":["mas",3210],"lp":["apj","apja","sam","snap","sma","amas","span"],"rp":["mas","maj","pja","masn","pjan","napj","mass","jam","paj","mpas","mans","maja","masa"]},"148":{"input":[3,5,8],"tlp":["em",127947],"trp":["me",140514],"tlw":["eppen",1670],"trw":["nem",50476],"lp":["em","eme","emm","epen","emen","emp","enem"],"rp":["me","nem","men","pen","menn","nep","ym","neme","ppen","meny","my","nepe","mem"]},"149":{"input":[1,3,5,8],"tlp":["ame",9265],"trp":["yma",2568],"tlw":["anyam",835],"trw":["many",675],"lp":["ame","anem","amen","ema","xam","exam","xamp","eman","eam"],"rp":["yma","many","yam","nyam","name","may","yama","mea","mean","nema","pean"]},"150":{"input":[2,3,5,8],"tlp":["sem",13924],"trp":["mes",7145],"tlw":["sem",8470],"trw":["nemes",571],"lp":["sem","sme","semm","emes","dem","ems","dnem","esem","deme","ejem","dm","edm"],"rp":["mes","mess","menj","med","mese","mse","jem","nems"]},"151":{"input":[1,2,3,5,8],"tlw":["adam",721],"trw":["majd",4082],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["bp",213],"trp":["mb",15442],"tlw":["bp",213],"lp":["bp","tm"],"rp":["mb","mt","pb","mpt"]},"153":{"input":[1,4,5,8],"tlp":["tam",7013],"trp":["mat",4622],"tlw":["babam",244],"trw":["mta",69],"lp":["tam","amb","ttam","amat","tama","bam","amba","abam","fam"],"rp":["mat","mba","mban","mab","maba","pant","matt","mta","ptam","mbat","mant"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["csm",290],"trp":["mc",1065],"tlw":["cm",129],"lp":["csm","cm"],"rp":["mc","mcs","mts"]},"155":{"input":[1,2,4,5,8],"tlw":["tamas",235],"trw":["mast",389],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["emb",12508],"trp":["mer",17137],"tlw":["ember",5090],"trw":["mert",10572],"lp":["emb","embe","rm","tem","erm","rme","erme","emet","rem","term","ttem","erem"],"rp":["mer","mbe","mert","mber","ment","met","yerm","mere"]},"157":{"input":[1,3,4,5,8],"tlw":["ram",766],"trw":["mar",14439],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["erdemes",264],"trw":["mester",269],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["tamadt",304],"trw":["matyas",1445],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",6058],"lp":[],"rp":["pi","ip","pip"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",1249],"trp":["pai",741],"tlw":["apai",47],"trw":["papi",72],"lp":["api","zp","apai","zap"],"rp":["pai","ipa","pz","pia","papi","pipa"]},"162":{"input":[2,6,8],"tlp":["spi",214],"trp":["pis",406],"tlw":["sip",39],"lp":["spi","sip"],"rp":["pis","isp","pk"]},"163":{"input":[1,2,6,8],"tlp":["szp",99],"trp":["kap",3878],"trw":["kap",330],"lp":["szp","apsz","szap"],"rp":["kap","pasz","psz","kapi","ispa","pszi","pisz","pak","paks","kaps","psza"]},"164":{"input":[3,6,8],"tlp":["epi",405],"trp":["pie",218],"lp":["epi","epie"],"rp":["pie"]},"165":{"input":[1,3,6,8],"tlp":["zep",7772],"trp":["pze",497],"lp":["zep","zepe","epz","epze","z'","zepi","epez"],"rp":["pze","iz'","pez","pezi"]},"166":{"input":[2,3,6,8],"tlp":["epek",443],"trp":["pedi",6445],"trw":["kepes",493],"lp":["epek","skep","epk","espi"],"rp":["pedi","kep","kepe","kepp","pek","ikep","keep","pies","pied"]},"167":{"input":[1,2,3,6,8],"tlw":["szep",5043],"trw":["kepzes",85],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",62],"trp":["pit",714],"lp":["tip"],"rp":["pit","pv","pvi","pti"]},"169":{"input":[1,4,6,8],"tlp":["apit",393],"trp":["pita",305],"trw":["pava",90],"lp":["apit","apv"],"rp":["pita","ipat","pati","pav","pava","pitz","pva"]},"170":{"input":[2,4,6,8],"tlp":["cip",416],"trp":["pist",271],"lp":["cip","spit"],"rp":["pist","pic","icip","pvis","pict","pics"]},"171":{"input":[1,2,4,6,8],"tlw":["csaptak",83],"trw":["kapta",303],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["epit",176],"trp":["pri",1125],"tlw":["epitett",92],"lp":["epit","rip","epv","epvi","epve","epir"],"rp":["pri","pir","pve","pite","pvet","piri","peri","prev","petv","pire"]},"173":{"input":[1,3,4,6,8],"trw":["ipari",85],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["despite",105],"trw":["kepet",297],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["szerepet",241],"trw":["persze",601],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",105379],"trw":["mi",6559],"lp":[],"rp":["mi","min","im","mmi","him","mih","imp","ph","pin","hm","imm","mini","pni","mpi","mh","phi","pih","inp","pini","nim"]},"177":{"input":[1,5,6,8],"tlp":["ami",13718],"trp":["mz",2071],"tlw":["ami",1585],"trw":["mai",619],"lp":["ami","zam","amin","zama","zm","zzam","zma"],"rp":["mz","mia","mai","iam","ham","hama","maz","napi","ima","izm","miha","izma","miai"]},"178":{"input":[2,5,6,8],"tlp":["sim",317],"trp":["mik",10073],"trw":["mik",271],"lp":["sim","smi","smin","simp","simi","ship"],"rp":["mik","ism","mis","kim","mink","km","mk","ims","hims","miss","misk","mikn","mmik"]},"179":{"input":[1,2,5,6,8],"tlw":["szama",327],"trw":["masik",2051],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emmi",3676],"trp":["mie",2185],"tlw":["enyim",109],"trw":["menni",726],"lp":["emmi","emi","emei","eph","ephe","empi"],"rp":["mie","ime","hem","mine","nemi","imen","mei","meh","phe","phen","mehe","mihe","yim","nepi"]},"181":{"input":[1,3,5,6,8],"tlw":["amennyi",66],"trw":["hanem",4711],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["semmi",1966],"trw":["minden",7752],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["szepen",924],"trw":["messze",712],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",1125],"trp":["mint",20757],"trw":["mint",15155],"lp":["tim"],"rp":["mint","mit","miv","mmit","mib","http","mitt","ptim","mmiv","imb","mitv","mmib","nmit","pith"]},"185":{"input":[1,4,5,6,8],"tlw":["amit",1691],"trw":["mintha",2774],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["cim",39],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["szamat",111],"trw":["masikat",211],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["them",1440],"trw":["miert",1425],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["ereztem",268],"trw":["nemzeti",722],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["semmit",1211],"trw":["mindent",1246],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["szamara",1197],"trw":["mindjart",1584],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",11623],"trw":["op",133],"lp":[],"rp":["po","op","opo","opp","oop","ppo","oppo","pop"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",4028],"trp":["opa",952],"lp":["apo","appo"],"rp":["opa","oppa","papo","opap"]},"194":{"input":[2,7,8],"tlp":["spo",489],"trp":["pos",929],"lp":["spo","sop","sopo","sopp"],"rp":["pos","ops","pso","oops","poss","ppos"]},"195":{"input":[1,2,7,8],"tlp":["apos",470],"trp":["pow",266],"lp":["apos","sapo","apso"],"rp":["pow","posa","opas"]},"196":{"input":[3,7,8],"tlp":["eop",677],"trp":["ope",1301],"trw":["pope",55],"lp":["eop","epo","ep-","ep-e","eopo"],"rp":["ope","peo","peop","-op","o-op","-ope","oope","-p","o-p","poe","p-","p-e","pope","oppe"]},"197":{"input":[1,3,7,8],"tlp":["eapo",51],"trp":["opea",193],"lp":["eapo"],"rp":["opea"]},"198":{"input":[2,3,7,8],"tlp":["dop",118],"trp":["pose",49],"lp":["dop","epso","espo","epos"],"rp":["pose","oped","osep"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["gp",235],"trp":["pot",2175],"lp":["gp","top"],"rp":["pot","pott","pog","opt","opot","pto","poto"]},"201":{"input":[1,4,7,8],"tlp":["apot",1897],"trp":["poga",242],"tlw":["fopap",36],"trw":["papot",116],"lp":["apot","apto","gpa","fop","fopa"],"rp":["poga","pag","pota","pato","paga","opf","pfo","opta"]},"202":{"input":[2,4,7,8],"tlp":["csop",415],"trp":["pcso",700],"tlw":["csopp",40],"lp":["csop","coop"],"rp":["pcso","post"]},"203":{"input":[1,2,4,7,8],"tlw":["csapott",121],"trw":["papsag",47],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",1475],"trp":["pro",2619],"tlw":["gep",120],"trw":["por",106],"lp":["rop","rope","ropp","gep","egp","g'","roop","ro-p","gepe","gpe"],"rp":["pro","por","port","oper","opor","prog","pero","prot","ppor","ppro"]},"205":{"input":[1,3,4,7,8],"tlw":["apro",445],"trw":["poeta",81],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["troops",160],"trw":["process",152],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["gaspar",102],"trw":["power",166],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["mo",35377],"trw":["up",463],"lp":[],"rp":["mo","om","mon","mu","mun","pu","up","omo","pon","nom","omm","oup","um","mpo","omp","onom","mpon","num","pom","upo"]},"209":{"input":[1,5,7,8],"tlp":["amo",1826],"trp":["oma",2710],"trw":["napon",471],"lp":["amo","amu","apon","apu","amon","anom","apun"],"rp":["oma","napo","oman","upa","upan","onap","omma","ompa","uma","uman","omam","onma","mano"]},"210":{"input":[2,5,7,8],"tlp":["sup",1243],"trp":["mos",10693],"tlw":["sum",38],"trw":["mos",122],"lp":["sup","som","somo","spon","supp"],"rp":["mos","pus","moso","oms","mus","ups","oups","usp","mso","pusp","uspo","pons","omj","osm","pson"]},"211":{"input":[1,2,5,7,8],"tlw":["samu",63],"trw":["pompas",221],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["epu",963],"trp":["yom",2209],"trw":["unnep",70],"lp":["epu","empo","emu","emo","emon"],"rp":["yom","ome","nyom","yomo","-m","omme","opme","ompe","mue","ymu","onym","nymu","memo","omen","ume"]},"213":{"input":[1,3,5,7,8],"trw":["nyoman",158],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["some",472],"trw":["modon",602],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["adom",249],"trw":["mondja",3298],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",2250],"trp":["mut",1499],"tlw":["gomb",66],"trw":["mogott",467],"lp":["tom","gm","gom","gmo","gmon","bom"],"rp":["mut","pont","omb","mog","mbo","mogo","mong","mot","pub","put","mbom","ogom","umb","numb"]},"217":{"input":[1,4,5,7,8],"tlw":["among",360],"trw":["maga",4082],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["common",147],"trw":["most",8125],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["csupan",725],"trw":["magas",697],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["engem",1555],"trw":["meg",36148],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["from",2513],"trw":["magyar",4376],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["tudom",1658],"trw":["mondott",476],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["egymast",707],"trw":["mondta",2475],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",3315],"trw":["pl",264],"lp":[],"rp":["pl","pil","pill","pol","plo","poli","opl","lop","lp","opi","poi","ipo","ipl","lip","ilip","lopo","pipo","lipo","lpi","opol"]},"225":{"input":[1,6,7,8],"tlp":["alap",1705],"trp":["lap",2645],"tlw":["alap",49],"trw":["pal",363],"lp":["alap","zpo","alp","zapo","apol"],"rp":["lap","pal","palo","lapo","pla","opai","ppal","llap","pala","ozp","ozpo","poz","pozi","lapi","pali"]},"226":{"input":[2,6,7,8],"tlp":["spok",377],"trp":["pok",1363],"trw":["pokol",157],"lp":["spok","sipo"],"rp":["pok","poko","kop","kopo","pko","posi","lisp","ipok","pkol","plok","oisp"]},"227":{"input":[1,2,6,7,8],"tlw":["alapos",56],"trw":["papok",148],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["eopl",632],"trp":["lep",2067],"trw":["people",540],"lp":["eopl","elep","elop","elp","epel","epl","eplo"],"rp":["lep","ple","pel","lepe","ople","iple","-pi","o-pi","pole","lepo","ppel","ilep","leop"]},"229":{"input":[1,3,6,7,8],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spoke",44],"trw":["peoples",92],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["eposz",50],"trw":["kozepso",112],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["topi",149],"trp":["pig",452],"trw":["lopott",92],"lp":["topi","gpi","gpil"],"rp":["pig","polg","ipot","ptol","opti","lpig","pito","lopt","opv","lopv"]},"233":{"input":[1,4,6,7,8],"tlw":["allapot",76],"trw":["palota",179],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["topic",99],"trw":["kopott",78],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["csapatok",70],"trw":["kapott",697],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["lepett",361],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["alapveto",130],"trw":["polgari",178],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["csoportok",138],"trw":["pedig",6327],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["co-operative",438],"trw":["pasztor",331],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["lm",13260],"trw":["mino",264],"lp":[],"rp":["lm","lom","mil","mul","lmi","ml","lmo","mpl","mol","pul","hom","miu","mplo","plom","omol","mli","lmu","hop","lmon","oml"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["alom",310],"trw":["hozzam",615],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simon",66],"trw":["miklos",345],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["alapjan",546],"trw":["munka",592],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["elem",115],"trw":["mely",4580],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["amely",1640],"trw":["mihaly",309],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["selyem",203],"trw":["midon",1554],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["amelyek",644],"trw":["masodik",891],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"trw":["mig",2990],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["valami",3022],"trw":["lattam",817],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["cimu",318],"trw":["much",250],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"trw":["maganak",843],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["velem",847],"trw":["mellett",2095],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["amelyet",615],"trw":["harom",3127],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["gyermek",947],"trw":["mikor",6075],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["amikor",2030],"trw":["magyarok",775],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",383],"tlw":["a",307731],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",24364],"tlw":["s",39563],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",66595],"tlw":["was",3404],"lp":["as","sa","ass","wa","asa","was","sas","ssa","assa","sass","aw","sasa","awa","ws","saw","sw","ww","asas","aws","www"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",3291],"tlw":["e",6340],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",12313],"tlw":["x",109],"lp":["ea","ex","ae","xa","exa","xe","exe","xx"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["es",161633],"tlw":["es",60379],"lp":["es","de","se","ed","ese","des","ede","ess","dd","sse","edes","ds","esse","edd","dese","ses","sed","sd","eed","ded"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",36504],"tlw":["we",1547],"lp":["ad","da","ada","we","das","add","sad","sada","ase","ead","dasa","ew","ade","adas","ads","dea","eas","asd","esa","desa"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",111811],"tlw":["t",315],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",110634],"tlw":["at",3435],"lp":["ta","at","att","tta","ata","fa","tat","atta","tata","af","ft","ff","tatt","aft","fat","atat","tf","aff","afa","ffa"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["cs",52385],"tlw":["c",503],"lp":["cs","st","ts","ct","cc","tc","sc","scs","tts","sts","csc","cscs","cts","stt"],"rp":[]},"11":{"input":[1,2,4],"tlp":["csa",25323],"tlw":["fact",237],"lp":["csa","ac","ca","ast","tas","acs","sta","ats","atas","sat","csas","cas","tw","act","tsa","cat","stat","cast","tasa","asta"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",141919],"tlw":["te",4722],"lp":["er","et","te","re","rt","ett","ere","ert","ete","tet","tte","ette","rr","ter","tett","rte","etet","ret","erte","eret"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",117406],"tlw":["arra",2662],"lp":["ar","ra","fe","ara","art","tar","rta","tart","rat","arr","fr","rra","fer","arta","ef","ate","arra","arat","tra","rea"],"rp":[]},"14":{"input":[2,3,4],"tlp":["rs",15788],"tlw":["este",960],"lp":["rs","dt","rd","res","ste","est","tes","erd","ce","rde","ec","rc","erde","ers","eres","set","cse","det","etes","este"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["dta",9305],"tlw":["were",1692],"lp":["dta","adt","rad","arad","ars","rsa","arc","adta","sar","tars","arsa","wer","ras","radt","dar","ard","were","dat","dra","rsad"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",30933],"trw":["n",210],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",171406],"trp":["na",74976],"tlw":["an",1125],"trw":["na",433],"lp":["an","ann","ana","anna","anan"],"rp":["na","nna","nan","nnan","nana","nq"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",2399],"trp":["ns",7890],"trw":["j",225],"lp":["sn"],"rp":["ns","jj","nj","js","jn"]},"19":{"input":[1,2,5],"tlp":["aj",26099],"trp":["ja",44839],"tlw":["aj",46],"trw":["jaj",1254],"lp":["aj","aja","san","ans","saj","saja","sna","asn","asna","wn","ajan","ssan","ajn","ajna"],"rp":["ja","jan","jaj","nas","jna","jana"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",192896],"trp":["ne",139773],"tlw":["en",13217],"trw":["ne",6355],"lp":["en","enn","eny","ene","enne","enye","ey","enny","een"],"rp":["ne","ny","ye","yen","nne","nye","nny","yn","yne","nen","nyn"]},"21":{"input":[1,3,5],"tlp":["any",20653],"trp":["ya",37836],"tlw":["any",460],"lp":["any","ane","ean","anya","eany","anny","ay","anyn","ena","enna","eq"],"rp":["ya","yan","nya","yna","yana","yany","nyna","yea","ynya"]},"22":{"input":[2,3,5],"tlp":["den",14339],"trp":["nd",76373],"tlw":["ej",386],"trw":["need",144],"lp":["den","dj","ej","sen","end","eje","esen","dn","ende"],"rp":["nd","nde","je","nden","ys","ndj","jd","yes","yj","nse","jen"]},"23":{"input":[1,2,3,5],"tlp":["and",17737],"trp":["ndja",5958],"tlw":["and",12896],"trw":["new",369],"lp":["and","dja","ajd","adj","dan","adn","adja","dna","sand","anyj","day","way","ande"],"rp":["ndja","nda","yas","yja","ndan","nyja","ysa"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",33278],"trp":["nt",65227],"tlw":["b",333],"lp":["bb","tn","tb","bn","bbn","bt"],"rp":["nt","nb","ntb","nnt","ntt"]},"25":{"input":[1,4,5],"tlp":["ba",46116],"trp":["nat",3727],"tlw":["abban",1391],"lp":["ba","ab","ban","tan","aba","abb","ant","aban","bba","bban","abba","bat","tana","anat","atn"],"rp":["nat","nta","nba","nban","nf"]},"26":{"input":[2,4,5],"tlp":["tj",4670],"trp":["nc",13855],"tlw":["stb",576],"lp":["tj","sb","bs","stb","bbs","cb","bj","sbb","csb","csn"],"rp":["nc","ncs","jt","nst","nts","jb","nbs","ntj","jts","jtj"]},"27":{"input":[1,2,4,5],"tlp":["ajt",5087],"trp":["jat",5127],"tlw":["sajat",1345],"lp":["ajt","tja","ajta","anc","ajat","atj","atja","baj","can","ancs","faj","fj","sab","sba","bac","sabb"],"rp":["jat","jta","jab","jaba"]},"28":{"input":[3,4,5],"tlp":["be",65601],"trp":["nte",8707],"tlw":["be",6609],"lp":["be","ben","ent","ten","eb","ber","rn","ebe","ren","ebb","ty","bbe","eben","ry","bet","rten"],"rp":["nte","yet","yt","yer"]},"29":{"input":[1,3,4,5],"tlp":["ran",8885],"trp":["yar",8550],"tlw":["bar",1464],"trw":["natty",172],"lp":["ran","bar","aran","arn","rany","tya","aty","rna","fen","rab","atya","bara","rba","arna","ary","rant"],"rp":["yar","yat","yf","yta"]},"30":{"input":[2,3,4,5],"tlp":["sten",4933],"trp":["ndt",3578],"tlw":["esetben",368],"lp":["sten","rj","bes","rend","enc","seb","renc","csen","dent","sebb","bec","ejet","erj","tend","encs"],"rp":["ndt","ncse","nce","jet","jr"]},"31":{"input":[1,2,3,4,5],"tlw":["rajta",1591],"trw":["jart",812],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",2593],"trw":["i",2017],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["az",158164],"trp":["ia",19708],"tlw":["az",99800],"lp":["az","za","zi","ai","zz","aza","zza","zaz","azz","azza","azi","zaza","zia","azaz","zai"],"rp":["ia","iz","iai","iza","izi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",22088],"trp":["is",89346],"tlw":["si",71],"trw":["is",40982],"lp":["si","sk","sik","sis","ssi","ski"],"rp":["is","ki","ik","kk","kis","kik","iss","ks","isk","kiss","isi","iki","ksi","ikk"]},"35":{"input":[1,2,6],"tlp":["sz",176990],"trp":["ka",44404],"tlw":["aki",3851],"trw":["iszik",209],"lp":["sz","ak","sza","sak","ssz","szi","aka","asz","aki","zs","akk","assz","zik","wi","asi","ssza","szik","zsa"],"rp":["ka","isz"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",6348],"trp":["ie",7511],"lp":["ei","eei"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",100252],"trp":["ize",2949],"tlw":["ez",13097],"trw":["ize",69],"lp":["ze","ez","eze","aze","zze","ezz","ezze","ezi","eza","xi","zei","ezei","zez","zeze","ezai","xix","xii"],"rp":["ize","ix","izze"]},"38":{"input":[2,3,6],"tlp":["ek",80676],"trp":["ke",88251],"tlw":["did",582],"trw":["ide",1572],"lp":["ek","di","eke","eki","edi","dik","dek","ddi","ekk","sek","ske","sid"],"rp":["ke","id","ide","ked","kes","ike","ise","kek"]},"39":{"input":[1,2,3,6],"tlp":["sze",62411],"trp":["kez",11007],"tlw":["ezek",1919],"trw":["kezd",305],"lp":["sze","esz","esze","zd","zek","ezd","ezek","ssze","azd","zda","azda","szek","dez","adi","zeke","zes"],"rp":["kez","keze","kezd","isze"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",26187],"trp":["it",48328],"tlw":["ti",467],"trw":["itt",6106],"lp":["ti","vi","tv","vit","tit","tiv","vitt","vv","tti","vt","vii","viii"],"rp":["it","iv","itt","iti","ivi","itv","ivt","itiv"]},"41":{"input":[1,4,6],"tlp":["va",85476],"trp":["if",3685],"tlw":["azt",15369],"trw":["if",856],"lp":["va","zt","azt","fi","zta","av","ava","fia","azta","ati","ziv","vat","zat","viz","tva","tiz","fiat"],"rp":["if","iat","iva"]},"42":{"input":[2,4,6],"tlp":["csi",6831],"trp":["ic",8214],"tlw":["cit",131],"trw":["kit",1125],"lp":["csi","ci","vis","tk","viss","tis","sti","stv","sit","tik"],"rp":["ic","ist","kiv","ics","kit","kt","kic","kics","its","icsi"]},"43":{"input":[1,2,4,6],"tlp":["csak",20970],"trp":["kat",7650],"tlw":["csak",17322],"lp":["csak","szt","tak","cz","wit","tsz","vas","aszt","szta","sziv","tisz","atsz","czi","ttak","visz","cia"],"rp":["kat","iszt","kiva","kta"]},"44":{"input":[3,4,6],"tlp":["ve",74884],"trp":["ir",33168],"tlw":["vette",950],"trw":["irt",530],"lp":["ve","ri","ev","eve","vet","ver","rv","eri","eti","vett","tve","eir","rve","evet"],"rp":["ir","ive","ire","irt","ite","itte"]},"45":{"input":[1,3,4,6],"tlp":["zer",25432],"trp":["ira",15949],"tlw":["ezt",5966],"lp":["zer","zet","ezt","zere","var","zte","ezet","zett","ari","zert","ezte","vez","ria","zar","ezer","azer","rva","veze","zeri"],"rp":["ira"]},"46":{"input":[2,3,4,6],"tlp":["tek",13729],"trp":["ket",19030],"tlw":["vers",850],"trw":["ket",6195],"lp":["tek","ves","dv","rk","eket","rek","erek","dve","edv","edve","ttek","vid"],"rp":["ket","ker","kir","kere","iste","kerd","kedv","kr"]},"47":{"input":[1,2,3,4,6],"tlw":["akar",1873],"trw":["kezet",1015],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",100465],"trw":["in",9209],"lp":[],"rp":["in","ni","hi","nin","nni","hin","inn","ih","hh","ini","nh","inni","inh","hn","hinn","nii","hni","nini","hih","nnin"]},"49":{"input":[1,5,6],"tlp":["ah",5695],"trp":["ha",99222],"tlw":["ah",347],"trw":["ha",15507],"lp":["ah","zn","ani","zin","zan","zni","zna","ain","azan","aha"],"rp":["ha","han","haz","haza","ian","ina","nz","hia","nia","hazi"]},"50":{"input":[2,5,6],"tlp":["sin",3147],"trp":["nk",18980],"trw":["his",3359],"lp":["sin","sh","sni"],"rp":["nk","his","kin","nki","kn","ink","nik","nis","ij","kh","ins","ish","ikn","nkin","kikn","nsi","jh"]},"51":{"input":[1,2,5,6],"tlp":["wh",5945],"trp":["nak",17010],"tlw":["annak",3112],"trw":["hisz",637],"lp":["wh","szin","anak","szn","zaj","ank","whi","sina","aszn","szaj"],"rp":["nak","nka","nnak","has","haj","jak","hisz","kan","inka","hasz"]},"52":{"input":[3,5,6],"tlp":["eh",18062],"trp":["he",78848],"tlw":["enni",263],"trw":["he",3277],"lp":["eh","ehe","enni","eni","enyi","ein"],"rp":["he","yi","nyi","nnyi","ine","neh","hey","hen","hei","yh","nehe","inne","ien","nyh"]},"53":{"input":[1,3,5,6],"tlp":["zen",10585],"trp":["hane",4811],"tlw":["ezen",1479],"trw":["nehany",1282],"lp":["zen","eha","ezen","enz","ehan","ehez","zne","ezn","ezni"],"rp":["hane","nez","neha","hany","hez","yha","izen","neze","yz","yze","yez"]},"54":{"input":[2,3,5,6],"tlp":["enk",5048],"trp":["nek",29850],"tlw":["ennek",2112],"trw":["neki",6003],"lp":["enk","enek","enki","dni","senk"],"rp":["nek","ind","inde","neki","yek","neke","ken","yik","nnek","ndi","indi","inek","kine","nke","kne"]},"55":{"input":[1,2,3,5,6],"tlw":["when",993],"trw":["had",1905],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["th",71797],"trp":["int",32779],"tlw":["th",242],"trw":["hit",168],"lp":["th","bi","thi","bbi","tni","tth","vin","thin"],"rp":["int","ith","nth","inth","ib","ht","nti","hiv","hit","nv","hitt","nit"]},"57":{"input":[1,4,5,6],"tlp":["van",18634],"trp":["hat",22178],"tlw":["van",11948],"trw":["hat",6837],"lp":["van","tha","that","biz","ztan","zb","zab","ath","vab","vabb","zaba","zint","tvan","vann"],"rp":["hat","hata","ntha","hav","ivan","hab"]},"58":{"input":[2,4,5,6],"tlp":["ch",5920],"trp":["inc",7312],"tlw":["this",2307],"trw":["nincs",3085],"lp":["ch","this","csin","sinc","chi","bis"],"rp":["inc","incs","ninc","kb","kint","ich","hic","hich","nci","hist","nsti","inst","itj","nkit"]},"59":{"input":[1,2,4,5,6],"tlw":["with",3691],"trw":["inkabb",1478],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["the",47933],"trp":["het",10465],"tlw":["the",34738],"trw":["het",978],"lp":["the","ehet","ven","rin","ther","they","rint","teh","erin","thei","bir"],"rp":["het","her","inte","nev","neve","hete","hir","heir","yv"]},"61":{"input":[1,3,4,5,6],"tlw":["tehat",2571],"trw":["have",1230],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["these",599],"trw":["isten",2805],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["szerint",2186],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",1820],"trw":["o",10573],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","trp":["oa",760],"lp":[],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",41762],"trp":["os",59448],"tlw":["so",930],"trw":["os",131],"lp":["so","sos","soso","sso","soo"],"rp":["os","oss","oso","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["aso",4417],"trp":["osa",3764],"lp":["aso","wo","asos","swo","woo","asso"],"rp":["osa","ow","ossa","owa","ows"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",1230],"trp":["-e",3142],"trw":["-",1439],"lp":["eo","e-","e-o"],"rp":["-e","oe","o-","-o","o-o"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",237],"trp":["-a",532],"trw":["-a",180],"lp":["a-","a-e","xo"],"rp":["-a","ox"]},"70":{"input":[2,3,7],"tlp":["do",41052],"trp":["od",15802],"tlw":["eso",376],"trw":["-es",254],"lp":["do","sod","dos","eso","dod","edo","d-","d-e","sose"],"rp":["od","ose","odo","ode","od-","od-e","odes","ood","osse","-d","-es"]},"71":{"input":[1,2,3,7],"tlp":["ado",4227],"trp":["oda",6077],"tlw":["ado",161],"trw":["oda",2095],"lp":["ado","soda","asod","dow","easo","doa","dosa","as-","ados","wood","adod","ewo"],"rp":["oda","owe","odas","-as","odaa","owed","-oda","odae"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",78142],"trp":["og",80035],"tlw":["to",11182],"trw":["ott",6355],"lp":["to","go","tot","tott","got","gt","gg","tto","gott","gto","tog"],"rp":["og","ot","ott","ogo","ogt","ogot","oto","ogto","otot"]},"73":{"input":[1,4,7],"tlp":["ag",87943],"trp":["of",19703],"tlw":["fog",1642],"trw":["of",16836],"lp":["ag","ga","fo","aga","ato","fog","ago","gat","agat","atot","agot","gta","foga","gf","fogo","agg"],"rp":["of","otta","oga","ota"]},"74":{"input":[2,4,7],"tlp":["cso",6549],"trp":["ost",9595],"tlw":["sot",1437],"lp":["cso","co","tos","gs","sot","gos","sto","sg","csos","csot","soc","cco","cto","ttos","sog"],"rp":["ost","oc","ocs","ogs","osto"]},"75":{"input":[1,2,4,7],"tlp":["sag",7512],"trp":["osag",1075],"tlw":["two",477],"lp":["sag","agos","sago","gas","atos","asag","agas","tosa","acso","ssag","tsag","gosa","two","saga","sga","gsa","ags"],"rp":["osag","oca","ocsa"]},"76":{"input":[3,4,7],"tlp":["eg",183750],"trp":["or",88200],"tlw":["eg",697],"trw":["oreg",2917],"lp":["eg","ro","ge","ege","reg","tor","gr","get","ero","tort","eget","rto","teg","rg","ger"],"rp":["or","ore","oro","ort","oreg"]},"77":{"input":[1,3,4,7],"tlp":["aro",14078],"trp":["ora",5234],"tlw":["for",3067],"trw":["ora",808],"lp":["aro","for","gar","rag","arto","fro","ega","rof","grof","egf","gra","arg","aror","taro","forr","rga","efo","arag"],"rp":["ora","orra"]},"78":{"input":[2,3,4,7],"tlp":["seg",14126],"trp":["ors",6702],"tlw":["eros",707],"trw":["ordog",649],"lp":["seg","ges","eges","ros","sege","dot","dott","rdo","deg","sor","dor","dog","ged","eseg","ross","tseg","egs","eros"],"rp":["ors","ord"]},"79":{"input":[1,2,3,4,7],"tlw":["adott",1280],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",101004],"trw":["on",3707],"lp":[],"rp":["on","un","no","ou","onn","nu","ono","oun","non","uno","nno","nnu","unn","nnon","nun","nnun","uo","onu","nou","oon"]},"81":{"input":[1,5,7],"tlp":["ano",4244],"trp":["ona",5750],"tlw":["au",143],"trw":["onnan",503],"lp":["ano","au","anu","qu","anno","anon","qua","anua"],"rp":["ona","onna","ua","una","uan","oan","unan","onan","nua","onq","nqu","onqu"]},"82":{"input":[2,5,7],"tlp":["su",6983],"trp":["jo",26548],"tlw":["son",366],"trw":["jo",6226],"lp":["su","son","ssu"],"rp":["jo","us","ju","uj","nos","jon","ons","onos","jos","oj","ous","jonn","jus","jjo","jjon","joj","jun"]},"83":{"input":[1,2,5,7],"tlp":["anos",2908],"trp":["jano",2283],"tlw":["sajnos",113],"trw":["janos",2073],"lp":["anos","ajo","ason","wou","aus","ajos","aju","asu","ajjo"],"rp":["jano","osan","own","now","uja","usa","onas","ujsa","oja","ujja","jua"]},"84":{"input":[3,5,7],"tlp":["eu",1868],"trp":["yo",25659],"tlw":["eu",103],"trw":["one",972],"lp":["eu","enu"],"rp":["yo","ony","yu","nyo","yon","nyu","onyo","one","ue","y-","onny","y-e","onne","yun","uny","you","yony","oen"]},"85":{"input":[1,3,5,7],"tlp":["anyo",2334],"trp":["unya",473],"tlw":["que",241],"trw":["-an",97],"lp":["anyo","que","an-","an-e","equ","equa","anyu","aux","eque","quee"],"rp":["unya","onya","-na","yano","oya","yanu","yona","-an","nque","ux"]},"86":{"input":[2,3,5,7],"tlp":["du",7212],"trp":["ond",20755],"tlw":["du",322],"trw":["und",201],"lp":["du","don","endo","edu"],"rp":["ond","ud","ndo","ondo","udo","ondj","yos","und","nyos","udj","udn","ndu","osen","use","yedu","unde"]},"87":{"input":[1,2,3,5,7],"tlw":["adjon",401],"trw":["odaadja",48],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tu",26336],"trp":["ut",29088],"tlw":["tobb",2199],"trw":["not",2568],"lp":["tu","bo","tob","tobb","gon","bu","gu","ton","gn"],"rp":["ut","ob","ng","ug","obb","ont","uto","not","onb","nto","ung"]},"89":{"input":[1,4,5,7],"tlp":["ang",4181],"trp":["nag",18488],"tlw":["about",409],"trw":["utan",3611],"lp":["ang","fu","abo","gan","gab","gna","aton","tona","ango","agu","gaba"],"rp":["nag","uta","utan","oba","nga","unga","onba","utat","obba"]},"90":{"input":[2,4,5,7],"tlp":["gj",3961],"trp":["job",3981],"tlw":["bus",289],"trw":["jott",1407],"lp":["gj","csu","cou","sob","con","cson","sobb"],"rp":["job","jobb","jot","jott","jto","ntos","ust","uc","jut","ogj","ujt","jtot","juto"]},"91":{"input":[1,2,4,5,7],"tlw":["fogja",947],"trw":["jobban",1258],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gy",213097],"trp":["ogy",60410],"tlw":["egy",31147],"trw":["ugy",8993],"lp":["gy","egy","gye","gyo","egye","ru","gen","egen","gyon","geny","gyu","eng","gyen","enge","bor"],"rp":["ogy","ur","ugy","oru","nge"]},"93":{"input":[1,3,4,5,7],"tlw":["baro",394],"trw":["nagy",10563],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["tudott",1092],"trw":["ures",337],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["tudja",1421],"trw":["ujra",1374],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["ol",117661],"trw":["l",1029],"lp":[],"rp":["ol","lo","ll","il","li","io","ill","llo","olo","lol","oi","oll","oli","lli","ili","illi","ilo","ollo","iol","lio"]},"97":{"input":[1,6,7],"tlp":["al",141761],"trp":["la",89690],"tlw":["all",2554],"trw":["la",881],"lp":["al","zo","ala","all","alo","azo","zol","alal","alla","zal","ali","allo"],"rp":["la","oz","ozo","lal","lla","ila","ola","ozz"]},"98":{"input":[2,6,7],"tlp":["sok",10043],"trp":["ko",67727],"tlw":["sok",3390],"trw":["ok",1198],"lp":["sok","sol","sko"],"rp":["ko","ok","lk","ls","iko","kko","lso","oko","kol","los","lko","lok","kos","lis","lik","kl","ols"]},"99":{"input":[1,2,6,7],"tlp":["szo",28916],"trp":["koz",17882],"tlw":["azok",1917],"trw":["law",597],"lp":["szo","zok","akko","szol","sszo","alk","azok","ako","soka","szok"],"rp":["koz","osz","oka","las","ossz","kozo","lak","kal","ozs","lasz"]},"100":{"input":[3,6,7],"tlp":["el",185226],"trp":["le",131988],"tlw":["el",11925],"trw":["le",3722],"lp":["el","ele","ell","elo","elle","eli","elel","elol"],"rp":["le","lle","lel","ole","ille","lole","lele","ile","lelo","olle","-i","lei"]},"101":{"input":[1,3,6,7],"tlp":["zel",9993],"trp":["lea",5723],"tlw":["ezzel",1164],"trw":["lexi",93],"lp":["zel","ezo","zele","ela","zzel","zle","zelo","zell","ale","alle","zeli","eal","ezel","elz","ezal","azel","elal"],"rp":["lea","oze","ozel"]},"102":{"input":[2,3,6,7],"tlp":["dol",7310],"trp":["ld",13454],"tlw":["elso",2743],"trw":["kell",5494],"lp":["dol","elk","els","elso","del","eles","elke","dok"],"rp":["ld","kel","les","kell","old","ido","oke","lek","lke","ldo","led","lese"]},"103":{"input":[1,2,3,6,7],"tlw":["szel",525],"trw":["lesz",3740],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",40145],"trp":["lt",63226],"tlw":["volt",20311],"trw":["ivott",154],"lp":["vo","vol","volt","gi","tl","tol","vil","tio","gl"],"rp":["lt","ig","olt","ov","lot","lott","lv","lg","olg","lto","lit"]},"105":{"input":[1,4,6,7],"tlp":["val",23257],"trp":["lat",20885],"tlw":["alatt",3368],"trw":["igaz",1408],"lp":["val","tal","vag","alt","fol","vala","zot","tala","zott","gaz","alat","alta","valo"],"rp":["lat","lta","latt","ova","lag","ozot","olta"]},"106":{"input":[2,4,6,7],"tlp":["tok",4349],"trp":["kot",3836],"tlw":["titkos",290],"trw":["kolto",379],"lp":["tok","gis","gok","tko","gk","tols"],"rp":["kot","kov","lc","olc","okt","lcs","kolt","loc","olcs","koc","icso","kott","okot","oci"]},"107":{"input":[1,2,4,6,7],"tlw":["voltak",2244],"trw":["kozott",2109],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["vel",12822],"trp":["let",20248],"tlw":["elott",2567],"trw":["lett",3000],"lp":["vel","tel","egi","elt","veg","elet","vele","rol","tle","elot","tele"],"rp":["let","leg","lett","llet","ove","lte","lete","lev","iro"]},"109":{"input":[1,3,4,6,7],"tlw":["fel",5055],"trw":["left",288],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["ekkor",1030],"trw":["kellett",2170],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["akkor",5794],"trw":["orszag",966],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ho",91631],"trw":["hol",3321],"lp":[],"rp":["ho","ul","ln","oln","hol","hu","lu","lon","oh","ulo","ion","hun","ulon","lni","iu","hon","nl","nul","oul","uh"]},"113":{"input":[1,5,6,7],"tlp":["zon",17866],"trp":["lan",11536],"tlw":["azon",1845],"trw":["hozza",2127],"lp":["zon","zu","azon","alan","aho","zul","alu"],"rp":["lan","hal","lna","olna","hoz","nal","hall","hozz","oha","uz","izon","hala","llan"]},"114":{"input":[2,5,6,7],"tlp":["soh",2706],"trp":["ku",14889],"trw":["jol",2741],"lp":["soh","sul","sho"],"rp":["ku","kul","unk","uk","lj","kon","kulo","hos","jol","lku","lkul","juk","hus","hoss","konn","uks","nok"]},"115":{"input":[1,2,5,6,7],"tlw":["soha",1668],"trw":["kozul",1472],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["ely",25178],"trp":["ly",62035],"tlw":["ellen",1350],"trw":["oly",2731],"lp":["ely","elye","elen"],"rp":["ly","len","lye","oly","leh","lehe","ily","lyen","hel","hely","ilye","llen","nel","ule","lyi","yel","lyn"]},"117":{"input":[1,3,5,6,7],"tlw":["equal",129],"trw":["olyan",5589],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["ejjel",683],"trw":["nelkul",2214],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["asszony",2441],"trw":["kisasszony",460],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["voln",8076],"trp":["hog",60062],"tlw":["tobbi",901],"trw":["otthon",874],"lp":["voln","bol","gh","tion","bl","tho","tul","gin","vu","ght","gint"],"rp":["hog","ult","ing","hung","oth","obbi","lonb","lob","ivu"]},"121":{"input":[1,4,5,6,7],"tlw":["volna",7681],"trw":["hova",947],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["such",497],"trw":["king",1415],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["viszont",558],"trw":["ifju",760],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["bele",1164],"trw":["hogy",55048],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["vagy",8524],"trw":["horvath",1175],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["egyik",2647],"trw":["korul",1156],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["vagyok",3023],"trw":["kiraly",5259],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",4972],"trw":["p",636],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",22391],"trp":["pa",18427],"tlw":["apa",231],"trw":["pap",604],"lp":["ap","apa","app","appa"],"rp":["pa","pap","ppa","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",1610],"trp":["ps",1710],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["sap",895],"trp":["pas",1331],"trw":["pas",147],"lp":["sap","sapa","spa","aps","apas","asp","aspa","apsa"],"rp":["pas","pass","pasa","psa","paps"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",23212],"trp":["pe",28344],"tlw":["epp",420],"trw":["'",39],"lp":["ep","epe","epp","eppe","eep","e'"],"rp":["pe","ppe","pee"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",1036],"trp":["pea",574],"tlw":["a'",897],"lp":["ape","a'","xp","exp","appe","xpe","expe","eap","epa"],"rp":["pea","ppea","pape"]},"134":{"input":[2,3,8],"tlp":["epes",1628],"trp":["ped",6768],"trw":["'s",163],"lp":["epes","eps","spe","esp","sep","sepp","epse","espe","desp","s'","s's","epd","dep"],"rp":["ped","pes","'s","pess","pse","pese","pd"]},"135":{"input":[1,2,3,8],"tlp":["dap",867],"trp":["pad",901],"tlw":["apad",98],"trw":["passed",66],"lp":["dap","dape","apes","apad","esap","weap","spea","as'","as's","aped"],"rp":["pad","peda","peas"]},"136":{"input":[4,8],"tlp":["tp",115],"trp":["pt",1949],"lp":["tp","ttp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",1138],"trp":["pta",935],"tlw":["apat",58],"trw":["papat",43],"lp":["apt","apta","apat","tap","tapa","apf"],"rp":["pta","pat","pf","pata"]},"138":{"input":[2,4,8],"trp":["pc",781],"lp":[],"rp":["pc","pcs"]},"139":{"input":[1,2,4,8],"tlp":["apc",704],"trp":["past",91],"tlw":["csapat",159],"trw":["past",91],"lp":["apc","apcs","csap","cap","sapt","capt","scap","spac"],"rp":["past","pcsa","pac"]},"140":{"input":[3,4,8],"tlp":["epet",1843],"trp":["pr",5345],"trw":["peter",932],"lp":["epet","rep","rp","erep","ept","repe","tep","epte","epr","epre"],"rp":["pr","per","pet","pete","pre","pett","pte","pere","ppet","ppr"]},"141":{"input":[1,3,4,8],"tlp":["apr",954],"trp":["par",5757],"tlw":["expert",89],"trw":["par",1156],"lp":["apr","arp","rpa","arpa","apra","rap","xper","appr","aper","apte","erap"],"rp":["par","part","para","pera","pra","pfe","pear","perf","pate"]},"142":{"input":[2,3,4,8],"tlp":["step",391],"trp":["pest",1888],"tlw":["csepp",134],"trw":["pest",218],"lp":["step","spec","csep","resp","cep","cept","epc","epcs","r's","er's","rdep","spr"],"rp":["pest","pers","perc","pres","pec","pecs","pect","pted"]},"143":{"input":[1,2,3,4,8],"tlw":["arpad",569],"trw":["peace",107],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",5907],"trw":["m",703],"lp":[],"rp":["mm","mp","pn","nm","mn","pm","np","nnm"]},"145":{"input":[1,5,8],"tlp":["am",53502],"trp":["ma",92967],"tlw":["am",1222],"trw":["ma",3061],"lp":["am","ama","apam","amp","apn","amn","amna"],"rp":["ma","nap","man","pan","nam","mma","pam","mpa","napp","mam","nnap","mna","nma"]},"146":{"input":[2,5,8],"tlp":["sm",4467],"trp":["pj",2668],"lp":["sm"],"rp":["pj","ms","mj","mps"]},"147":{"input":[1,2,5,8],"tlp":["apj",2668],"trp":["mas",14915],"tlw":["apja",679],"trw":["mas",3210],"lp":["apj","apja","sam","snap","sma","amas","span"],"rp":["mas","maj","pja","masn","pjan","napj","mass","jam","paj","mpas","mans","maja","masa"]},"148":{"input":[3,5,8],"tlp":["em",127947],"trp":["me",140514],"tlw":["eppen",1670],"trw":["nem",50476],"lp":["em","eme","emm","epen","emen","emp","enem"],"rp":["me","nem","men","pen","menn","nep","ym","neme","ppen","meny","my","nepe","mem"]},"149":{"input":[1,3,5,8],"tlp":["ame",9265],"trp":["yma",2568],"tlw":["anyam",835],"trw":["many",675],"lp":["ame","anem","amen","ema","xam","exam","xamp","eman","eam"],"rp":["yma","many","yam","nyam","name","may","yama","mea","mean","nema","pean"]},"150":{"input":[2,3,5,8],"tlp":["sem",13924],"trp":["mes",7145],"tlw":["sem",8470],"trw":["nemes",571],"lp":["sem","sme","semm","emes","dem","ems","dnem","esem","deme","ejem","dm","edm"],"rp":["mes","mess","menj","med","mese","mse","jem","nems"]},"151":{"input":[1,2,3,5,8],"tlw":["adam",721],"trw":["majd",4082],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["bp",213],"trp":["mb",15442],"tlw":["bp",213],"lp":["bp","tm"],"rp":["mb","mt","pb","mpt"]},"153":{"input":[1,4,5,8],"tlp":["tam",7013],"trp":["mat",4622],"tlw":["babam",244],"trw":["mta",69],"lp":["tam","amb","ttam","amat","tama","bam","amba","abam","fam"],"rp":["mat","mba","mban","mab","maba","pant","matt","mta","ptam","mbat","mant"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["csm",290],"trp":["mc",1065],"tlw":["cm",129],"lp":["csm","cm"],"rp":["mc","mcs","mts"]},"155":{"input":[1,2,4,5,8],"tlw":["tamas",235],"trw":["mast",389],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["emb",12508],"trp":["mer",17137],"tlw":["ember",5090],"trw":["mert",10572],"lp":["emb","embe","rm","tem","erm","rme","erme","emet","rem","term","ttem","erem"],"rp":["mer","mbe","mert","mber","ment","met","yerm","mere"]},"157":{"input":[1,3,4,5,8],"tlw":["ram",766],"trw":["mar",14439],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["erdemes",264],"trw":["mester",269],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["tamadt",304],"trw":["matyas",1445],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",6058],"lp":[],"rp":["pi","ip","pip"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",1249],"trp":["pai",741],"tlw":["apai",47],"trw":["papi",72],"lp":["api","zp","apai","zap"],"rp":["pai","ipa","pz","pia","papi","pipa"]},"162":{"input":[2,6,8],"tlp":["spi",214],"trp":["pis",406],"tlw":["sip",39],"lp":["spi","sip"],"rp":["pis","isp","pk"]},"163":{"input":[1,2,6,8],"tlp":["szp",99],"trp":["kap",3878],"trw":["kap",330],"lp":["szp","apsz","szap"],"rp":["kap","pasz","psz","kapi","ispa","pszi","pisz","pak","paks","kaps","psza"]},"164":{"input":[3,6,8],"tlp":["epi",405],"trp":["pie",218],"lp":["epi","epie"],"rp":["pie"]},"165":{"input":[1,3,6,8],"tlp":["zep",7772],"trp":["pze",497],"lp":["zep","zepe","epz","epze","z'","zepi","epez"],"rp":["pze","iz'","pez","pezi"]},"166":{"input":[2,3,6,8],"tlp":["epek",443],"trp":["pedi",6445],"trw":["kepes",493],"lp":["epek","skep","epk","espi"],"rp":["pedi","kep","kepe","kepp","pek","ikep","keep","pies","pied"]},"167":{"input":[1,2,3,6,8],"tlw":["szep",5043],"trw":["kepzes",85],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",62],"trp":["pit",714],"lp":["tip"],"rp":["pit","pv","pvi","pti"]},"169":{"input":[1,4,6,8],"tlp":["apit",393],"trp":["pita",305],"trw":["pava",90],"lp":["apit","apv"],"rp":["pita","ipat","pati","pav","pava","pitz","pva"]},"170":{"input":[2,4,6,8],"tlp":["cip",416],"trp":["pist",271],"lp":["cip","spit"],"rp":["pist","pic","icip","pvis","pict","pics"]},"171":{"input":[1,2,4,6,8],"tlw":["csaptak",83],"trw":["kapta",303],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["epit",176],"trp":["pri",1125],"tlw":["epitett",92],"lp":["epit","rip","epv","epvi","epve","epir"],"rp":["pri","pir","pve","pite","pvet","piri","peri","prev","petv","pire"]},"173":{"input":[1,3,4,6,8],"trw":["ipari",85],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["despite",105],"trw":["kepet",297],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["szerepet",241],"trw":["persze",601],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",105379],"trw":["mi",6559],"lp":[],"rp":["mi","min","im","mmi","him","mih","imp","ph","pin","hm","imm","mini","pni","mpi","mh","phi","pih","inp","pini","nim"]},"177":{"input":[1,5,6,8],"tlp":["ami",13718],"trp":["mz",2071],"tlw":["ami",1585],"trw":["mai",619],"lp":["ami","zam","amin","zama","zm","zzam","zma"],"rp":["mz","mia","mai","iam","ham","hama","maz","napi","ima","izm","miha","izma","miai"]},"178":{"input":[2,5,6,8],"tlp":["sim",317],"trp":["mik",10073],"trw":["mik",271],"lp":["sim","smi","smin","simp","simi","ship"],"rp":["mik","ism","mis","kim","mink","km","mk","ims","hims","miss","misk","mikn","mmik"]},"179":{"input":[1,2,5,6,8],"tlw":["szama",327],"trw":["masik",2051],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emmi",3676],"trp":["mie",2185],"tlw":["enyim",109],"trw":["menni",726],"lp":["emmi","emi","emei","eph","ephe","empi"],"rp":["mie","ime","hem","mine","nemi","imen","mei","meh","phe","phen","mehe","mihe","yim","nepi"]},"181":{"input":[1,3,5,6,8],"tlw":["amennyi",66],"trw":["hanem",4711],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["semmi",1966],"trw":["minden",7752],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["szepen",924],"trw":["messze",712],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",1125],"trp":["mint",20757],"trw":["mint",15155],"lp":["tim"],"rp":["mint","mit","miv","mmit","mib","http","mitt","ptim","mmiv","imb","mitv","mmib","nmit","pith"]},"185":{"input":[1,4,5,6,8],"tlw":["amit",1691],"trw":["mintha",2774],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["cim",39],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["szamat",111],"trw":["masikat",211],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["them",1440],"trw":["miert",1425],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["ereztem",268],"trw":["nemzeti",722],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["semmit",1211],"trw":["mindent",1246],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["szamara",1197],"trw":["mindjart",1584],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",11623],"trw":["op",133],"lp":[],"rp":["po","op","opo","opp","oop","ppo","oppo","pop"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",4028],"trp":["opa",952],"lp":["apo","appo"],"rp":["opa","oppa","papo","opap"]},"194":{"input":[2,7,8],"tlp":["spo",489],"trp":["pos",929],"lp":["spo","sop","sopo","sopp"],"rp":["pos","ops","pso","oops","poss","ppos"]},"195":{"input":[1,2,7,8],"tlp":["apos",470],"trp":["pow",266],"lp":["apos","sapo","apso"],"rp":["pow","posa","opas"]},"196":{"input":[3,7,8],"tlp":["eop",677],"trp":["ope",1301],"trw":["pope",55],"lp":["eop","epo","ep-","ep-e","eopo"],"rp":["ope","peo","peop","-op","o-op","-ope","oope","-p","o-p","poe","p-","p-e","pope","oppe"]},"197":{"input":[1,3,7,8],"tlp":["eapo",51],"trp":["opea",193],"lp":["eapo"],"rp":["opea"]},"198":{"input":[2,3,7,8],"tlp":["dop",118],"trp":["pose",49],"lp":["dop","epso","espo","epos"],"rp":["pose","oped","osep"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["gp",235],"trp":["pot",2175],"lp":["gp","top"],"rp":["pot","pott","pog","opt","opot","pto","poto"]},"201":{"input":[1,4,7,8],"tlp":["apot",1897],"trp":["poga",242],"tlw":["fopap",36],"trw":["papot",116],"lp":["apot","apto","gpa","fop","fopa"],"rp":["poga","pag","pota","pato","paga","opf","pfo","opta"]},"202":{"input":[2,4,7,8],"tlp":["csop",415],"trp":["pcso",700],"tlw":["csopp",40],"lp":["csop","coop"],"rp":["pcso","post"]},"203":{"input":[1,2,4,7,8],"tlw":["csapott",121],"trw":["papsag",47],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",1475],"trp":["pro",2619],"tlw":["gep",120],"trw":["por",106],"lp":["rop","rope","ropp","gep","egp","g'","roop","ro-p","gepe","gpe"],"rp":["pro","por","port","oper","opor","prog","pero","prot","ppor","ppro"]},"205":{"input":[1,3,4,7,8],"tlw":["apro",445],"trw":["poeta",81],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["troops",160],"trw":["process",152],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["gaspar",102],"trw":["power",166],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["mo",35377],"trw":["up",463],"lp":[],"rp":["mo","om","mon","mu","mun","pu","up","omo","pon","nom","omm","oup","um","mpo","omp","onom","mpon","num","pom","upo"]},"209":{"input":[1,5,7,8],"tlp":["amo",1826],"trp":["oma",2710],"trw":["napon",471],"lp":["amo","amu","apon","apu","amon","anom","apun"],"rp":["oma","napo","oman","upa","upan","onap","omma","ompa","uma","uman","omam","onma","mano"]},"210":{"input":[2,5,7,8],"tlp":["sup",1243],"trp":["mos",10693],"tlw":["sum",38],"trw":["mos",122],"lp":["sup","som","somo","spon","supp"],"rp":["mos","pus","moso","oms","mus","ups","oups","usp","mso","pusp","uspo","pons","omj","osm","pson"]},"211":{"input":[1,2,5,7,8],"tlw":["samu",63],"trw":["pompas",221],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["epu",963],"trp":["yom",2209],"trw":["unnep",70],"lp":["epu","empo","emu","emo","emon"],"rp":["yom","ome","nyom","yomo","-m","omme","opme","ompe","mue","ymu","onym","nymu","memo","omen","ume"]},"213":{"input":[1,3,5,7,8],"trw":["nyoman",158],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["some",472],"trw":["modon",602],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["adom",249],"trw":["mondja",3298],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",2250],"trp":["mut",1499],"tlw":["gomb",66],"trw":["mogott",467],"lp":["tom","gm","gom","gmo","gmon","bom"],"rp":["mut","pont","omb","mog","mbo","mogo","mong","mot","pub","put","mbom","ogom","umb","numb"]},"217":{"input":[1,4,5,7,8],"tlw":["among",360],"trw":["maga",4082],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["common",147],"trw":["most",8125],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["csupan",725],"trw":["magas",697],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["engem",1555],"trw":["meg",36148],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["from",2513],"trw":["magyar",4376],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["tudom",1658],"trw":["mondott",476],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["egymast",707],"trw":["mondta",2475],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",3315],"trw":["pl",264],"lp":[],"rp":["pl","pil","pill","pol","plo","poli","opl","lop","lp","opi","poi","ipo","ipl","lip","ilip","lopo","pipo","lipo","lpi","opol"]},"225":{"input":[1,6,7,8],"tlp":["alap",1705],"trp":["lap",2645],"tlw":["alap",49],"trw":["pal",363],"lp":["alap","zpo","alp","zapo","apol"],"rp":["lap","pal","palo","lapo","pla","opai","ppal","llap","pala","ozp","ozpo","poz","pozi","lapi","pali"]},"226":{"input":[2,6,7,8],"tlp":["spok",377],"trp":["pok",1363],"trw":["pokol",157],"lp":["spok","sipo"],"rp":["pok","poko","kop","kopo","pko","posi","lisp","ipok","pkol","plok","oisp"]},"227":{"input":[1,2,6,7,8],"tlw":["alapos",56],"trw":["papok",148],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["eopl",632],"trp":["lep",2067],"trw":["people",540],"lp":["eopl","elep","elop","elp","epel","epl","eplo"],"rp":["lep","ple","pel","lepe","ople","iple","-pi","o-pi","pole","lepo","ppel","ilep","leop"]},"229":{"input":[1,3,6,7,8],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spoke",44],"trw":["peoples",92],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["eposz",50],"trw":["kozepso",112],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["topi",149],"trp":["pig",452],"trw":["lopott",92],"lp":["topi","gpi","gpil"],"rp":["pig","polg","ipot","ptol","opti","lpig","pito","lopt","opv","lopv"]},"233":{"input":[1,4,6,7,8],"tlw":["allapot",76],"trw":["palota",179],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["topic",99],"trw":["kopott",78],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["csapatok",70],"trw":["kapott",697],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["lepett",361],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["alapveto",130],"trw":["polgari",178],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["csoportok",138],"trw":["pedig",6327],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["co-operative",438],"trw":["pasztor",331],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["lm",13260],"trw":["mino",264],"lp":[],"rp":["lm","lom","mil","mul","lmi","ml","lmo","mpl","mol","pul","hom","miu","mplo","plom","omol","mli","lmu","hop","lmon","oml"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["alom",310],"trw":["hozzam",615],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simon",66],"trw":["miklos",345],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["alapjan",546],"trw":["munka",592],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["elem",115],"trw":["mely",4580],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["amely",1640],"trw":["mihaly",309],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["selyem",203],"trw":["midon",1554],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["amelyek",644],"trw":["masodik",891],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"trw":["mig",2990],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["valami",3022],"trw":["lattam",817],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["cimu",318],"trw":["much",250],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"trw":["maganak",843],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["velem",847],"trw":["mellett",2095],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["amelyet",615],"trw":["harom",3127],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["gyermek",947],"trw":["mikor",6075],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["amikor",2030],"trw":["magyarok",775],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/it-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/it-keymap.json index 9c3d3400ff..56265a3572 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/it-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/it-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",76],"tlw":["a",134646],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",181781],"tlw":["s",689],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",147177],"tlw":["sa",4372],"lp":["sa","as","ssa","ass","assa","asa","sas","wa","sass","ssas","aw","saw","was","awa","ws"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",2590],"tlw":["e",285768],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",16928],"tlw":["ex",571],"lp":["ea","ae","ex","ax","xe"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",299367],"tlw":["se",42825],"lp":["de","se","es","ess","sse","ed","esse","ede","ese","des","dd","sed","edd","dess","sede","edes","ses","sess","dde","dee"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",161213],"tlw":["da",50742],"lp":["da","ad","essa","esa","ade","ada","asse","ase","aes","add","dea","ades","eda","we","aese","seda","ew","sea","adde","aesa"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",206553],"tlw":["t",2430],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",338700],"tlw":["fa",5357],"lp":["ta","at","fa","att","tta","tat","ata","ff","fat","fatt","af","atta","tata","aff","ffa","affa","ttat","ffat","tatt","taf"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",249453],"tlw":["c",1986],"lp":["st","sc","cc","ts","ct","tc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",149612],"tlw":["casa",7589],"lp":["ca","sta","ac","acc","stat","cas","asc","fac","cat","cca","ast","sat","sca","casa","facc","sf","acca","asta","tas","ssat"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",504768],"tlw":["te",8282],"lp":["er","re","te","tr","et","rt","ere","ett","ter","rr","tre","tte","rte","ert","err","ret","ette","rre","etr","tere"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ra",368409],"tlw":["era",57211],"lp":["ra","ar","era","are","tra","fe","rat","art","rta","fr","tar","far","ara","eta","etta","fer","tare","arte","ratt","fra"],"rp":[]},"14":{"input":[2,3,4],"tlp":["ce",118940],"tlw":["essere",13580],"lp":["ce","est","ec","rs","str","rc","res","ser","rd","ste","ers","tes","erc","cr","der","cer","sser","tess","dere","ece"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["sar",25172],"tlw":["testa",5675],"lp":["sar","esta","stra","ard","car","sare","ace","rad","dar","dat","rda","rac","adr","racc","rca","ars","dare","ssar","face","erca"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",46289],"trw":["n",1203],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",351085],"trp":["na",191784],"tlw":["an",861],"trw":["na",3153],"lp":["an","ann","ana","anna","anq","anan"],"rp":["na","nq","nna","nan","nnan"]},"18":{"input":[2,5],"base":"j","baseshift":"J","trp":["ns",40629],"trw":["j",428],"lp":[],"rp":["ns","nj","jn"]},"19":{"input":[1,2,5],"tlp":["san",10754],"trp":["nsa",10125],"tlw":["san",820],"lp":["san","ssan","sann","ans","sq","wn","asq","aj","sana","anj","anja","aja"],"rp":["nsa","nas","ja","nsan","nja","nasa","nsas","nass"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",325999],"trp":["ne",240032],"tlw":["en",427],"trw":["ne",18897],"lp":["en","ene","enn","enne","ey","enen","eyn","een","enny","eyne"],"rp":["ne","nne","ny","yn","nny","nen","yne","ye","nyn","nee"]},"21":{"input":[1,3,5],"tlp":["ena",10474],"trp":["nea",2742],"tlw":["aye",382],"lp":["ena","ane","ay","ean","ayn","ayne","enna","eq","anne","anea","aye","aen","eann"],"rp":["nea","nean","yna","nae","nyna","ynae","ya"]},"22":{"input":[2,3,5],"tlp":["sen",39413],"trp":["nd",129982],"tlw":["sen",952],"trw":["nes",163],"lp":["sen","end","ens","den","ende","sens","esen","eden","dend","ssen","dy"],"rp":["nd","nde","nes","ness","nse","nden","je","nsen","nese"]},"23":{"input":[1,2,3,5],"tlp":["and",60721],"trp":["nda",24205],"tlw":["and",382],"trw":["new",833],"lp":["and","anda","ensa","ande","dan","enda","sand","dand","dann","wen","esan","wene","dena","sean","anes","andy"],"rp":["nda","ndan","new","nand"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",46376],"trp":["nt",291380],"tlw":["b",526],"lp":["bb","tn"],"rp":["nt"]},"25":{"input":[1,4,5],"tlp":["ant",64341],"trp":["nta",37477],"tlw":["tanta",636],"trw":["nata",204],"lp":["ant","tan","ba","ab","tant","abb","ban","anta","fan","bba","bat","abba","batt"],"rp":["nta","nat","nf","ntan","ntat","nata","nfa"]},"26":{"input":[2,4,5],"tlp":["sb",2201],"trp":["nc",80441],"lp":["sb","cn","tsb"],"rp":["nc","nst","nsc"]},"27":{"input":[1,2,4,5],"tlp":["anc",55675],"trp":["nca",4603],"tlw":["basta",1053],"lp":["anc","can","stan","bas","cant","bast","anca","cq","acq","sant","bbas","bass","ccan","sab","sba","banc"],"rp":["nca","nasc","jac","ntas"]},"28":{"input":[3,4,5],"tlp":["ent",152199],"trp":["nte",100114],"tlw":["bene",6300],"trw":["nere",364],"lp":["ent","ente","be","rn","eb","br","ebb","ten","bbe","ebbe","reb","rebb","entr","ren","ber","ben","ener"],"rp":["nte","ntr","ner"]},"29":{"input":[1,3,4,5],"tlp":["ran",45980],"trp":["nar",8583],"tlw":["entrare",873],"trw":["nera",1031],"lp":["ran","eran","ante","bra","enta","areb","rna","tran","bar","rtan","rant","fran","abbr","erna"],"rp":["nar","ntra","nare","nera","ntar","nfe"]},"30":{"input":[2,3,4,5],"tlp":["sent",16908],"trp":["nce",6484],"tlw":["sebbene",761],"lp":["sent","cen","dent","rend","cent","cend","tend","scen","sten","deb","ecen","cenn","ccen"],"rp":["nce","nder","nec","nece","nest","nces","ncer"]},"31":{"input":[1,2,3,4,5],"tlw":["sarebbe",7398],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",3469],"trw":["i",56666],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["zi",77724],"trp":["ia",200353],"tlw":["ai",8188],"lp":["zi","za","ai","az","zz","azi","zza","azz","zia","zzi","azza","azzi","aia","azia"],"rp":["ia","iz","izi","izia","izz","iaz"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",267038],"trp":["is",117042],"tlw":["si",95698],"trw":["k",250],"lp":["si","ssi","sis","sk","siss","ssis","sii","sisi","ski"],"rp":["is","iss","isi","issi","ki","ik","isk","ks","kik"]},"35":{"input":[1,2,6],"tlp":["sia",18324],"trp":["issa",4411],"tlw":["sia",7163],"trw":["ka",126],"lp":["sia","asi","assi","sai","ak","siz","sizi","ssia","saz","sazi","sias","ssai","aki","wi","asia"],"rp":["issa","isa","ias","iasi","ka"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",64002],"trp":["ie",107111],"lp":["ei"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ez",20251],"trp":["ize",737],"tlw":["zie",189],"trw":["ix",82],"lp":["ez","ezz","ezza","ze","ezi","zie","azie","zze","ezzi","azze","xi","eaz","eazi","aie","ezze","eez","eze"],"rp":["ize","ix","izie"]},"38":{"input":[2,3,6],"tlp":["di",428636],"trp":["id",39251],"tlw":["di",272620],"trw":["idee",923],"lp":["di","dis","dei","esi","edi","diss","essi","die","sie","sid","side","sei","ddi"],"rp":["id","ide","isse","ied","ise","ies","idi"]},"39":{"input":[1,2,3,6],"tlp":["dia",9487],"trp":["ida",5456],"tlw":["dai",4684],"trw":["idea",948],"lp":["dia","dai","adi","diz","dizi","edia","esia","addi","ake","edai","adiz","aid","disa","aesi","aida","ediz"],"rp":["ida","idea","iesa","idia"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",201674],"trp":["it",120823],"tlw":["ti",13315],"trw":["ivi",381],"lp":["ti","vi","tti","vit","tiv","vv","tit","viv","vvi","ttiv","tivi","vitt"],"rp":["it","iv","itt","iti","ivi","itti","ivit","itiv"]},"41":{"input":[1,4,6],"tlp":["va",190389],"trp":["ita",47351],"tlw":["vita",7521],"lp":["va","av","fi","ava","tav","ati","tava","via","atti","vita","avi","avv","ffi","vat"],"rp":["ita","iva","if","iat","ifi","itta"]},"42":{"input":[2,4,6],"tlp":["ci",164338],"trp":["ic",121416],"tlw":["ci",18525],"lp":["ci","sci","sti","tic","vis","cci","cit","sic","vist","sit","sist","vic","cis","vici"],"rp":["ic","ist","ici","icc","isc","isti"]},"43":{"input":[1,2,4,6],"tlp":["cia",31011],"trp":["ica",28164],"tlw":["stava",5638],"lp":["cia","fic","acci","stav","asci","ccia","tica","fici","scia","cav","ffic","cita","aci","cava","ciat","fica"],"rp":["ica","ista","iac","ific"]},"44":{"input":[3,4,6],"tlp":["ri",271321],"trp":["ir",53396],"tlw":["ri",3645],"trw":["ieri",513],"lp":["ri","ve","ev","ver","vev","eri","rit","tri","riv","rri","vr","rti","vre","rv","rie"],"rp":["ir","ire","ive","ier","iet"]},"45":{"input":[1,3,4,6],"tlp":["eva",73289],"trp":["iar",12328],"tlw":["aveva",25419],"lp":["eva","ave","veva","avev","ari","ria","rav","avr","aver","avre","arti","raz","riva","teva","rava","rz","razi","aria","var"],"rp":["iar"]},"46":{"input":[2,3,4,6],"tlp":["ris",22044],"trp":["ice",15501],"tlw":["dire",5876],"lp":["ris","ric","vers","dic","dir","dev","rsi","div","esti","cri","eci","cie","ved","dire","vec","cev","rdi","dive","ves"],"rp":["ice"]},"47":{"input":[1,2,3,4,6],"tlw":["avesse",3478],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",320519],"trw":["in",109997],"lp":[],"rp":["in","ni","hi","ini","nni","hin","hn","inn","hnn","nin","inni","nh","iin","hini"]},"49":{"input":[1,5,6],"tlp":["ani",19586],"trp":["nz",54632],"tlw":["anni",5707],"trw":["ha",18022],"lp":["ani","anz","anza","anni","anzi","ah"],"rp":["nz","nza","ha","ina","ian","hia","nzi","han","hann","hai","nia","niz","naz","nizi"]},"50":{"input":[2,5,6],"tlp":["sin",7946],"trp":["nsi",15035],"tlw":["sin",309],"lp":["sin","sh","sini","ssin","shi","shin","sinn"],"rp":["nsi","nis","ins","inis","insi","niss","his","nsis","hiss","nk","kn","nkn","hisk"]},"51":{"input":[1,2,5,6],"tlp":["sian",1135],"trp":["nsaz",1239],"tlw":["assassini",163],"trw":["hans",173],"lp":["sian","sha","shai","ansi","ash","anis","ank","wh","whi","whis","shak","sina","asha"],"rp":["nsaz","jak","kan","nsai","nsia","hak","hans"]},"52":{"input":[3,5,6],"tlp":["eni",10691],"trp":["he",257312],"tlw":["eh",464],"trw":["nei",6212],"lp":["eni","eh","ein","enni"],"rp":["he","ien","ine","hie","nie","nei","iene","nien","hnny","hien","ieni","hen","iy","hei","nhe","nhei"]},"53":{"input":[1,3,5,6],"tlp":["enz",33789],"trp":["ienz",3732],"tlw":["annie",76],"trw":["haze",116],"lp":["enz","enza","enzi","anie","enze","anze","zien","aine","anei","enez","enia"],"rp":["ienz","nze","iena","inea","hez","hezz","iane","nez","nezz"]},"54":{"input":[2,3,5,6],"tlp":["din",9601],"trp":["ndi",18448],"tlw":["sensi",395],"trw":["jessie",395],"lp":["din","ensi","dine","dini","enis","endi"],"rp":["ndi","ind","indi","nsie","iden","hies","ines","nsid","hied","ndie","inse","hes","hese","iend"]},"55":{"input":[1,2,3,5,6],"tlw":["senza",11519],"trw":["jake",1119],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",59544],"trp":["nti",54757],"tlw":["bi",1153],"lp":["bi","tin","bbi","bit","vin","th","bin"],"rp":["nti","int","ib","nv","ibi","inv","nit","ntin","niv","init","nvi","ntit","ntiv"]},"57":{"input":[1,4,5,6],"tlp":["van",36986],"trp":["inf",7482],"tlw":["avanti",2333],"trw":["infatti",1929],"lp":["van","fin","anti","avan","bia","abi","tanz","bbia","vant","abbi","fini","bian","tina"],"rp":["inf","ivan","nfi","nif","nita","nav","inat"]},"58":{"input":[2,4,5,6],"tlp":["ch",325862],"trp":["nch",30760],"tlw":["chi",6236],"trw":["nisci",250],"lp":["ch","chi","cch","cchi","cin","sib","sibi","sch","ssib","bis","schi"],"rp":["nch","inc","nci","inci","ich","nic","icin","ntic","nist"]},"59":{"input":[1,2,4,5,6],"tlw":["stanza",2031],"trw":["jack",1501],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["enti",29283],"trp":["inte",12868],"tlw":["viene",2680],"trw":["niente",4357],"lp":["enti","ven","vreb","vent","rin","veni","rni","vien","bri","venn"],"rp":["inte","ient","nve","iven","inve","ibe","iber","nev","ibr","nir"]},"61":{"input":[1,3,4,5,6],"tlw":["avrebbe",7187],"trw":["infine",1261],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["che",190983],"trw":["invece",4329],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["anche",22478],"trw":["neanche",898],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",538],"trw":["o",24888],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",1339],"trp":["oa",935],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",207940],"trp":["os",147196],"tlw":["so",6170],"trw":["oso",79],"lp":["so","sso","sos"],"rp":["os","oss","osso","oso","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["asso",6821],"trp":["osa",24654],"tlw":["sasso",152],"trw":["ossa",382],"lp":["asso","aso","aos","wo","sao"],"rp":["osa","ossa","ow","ows"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",5232],"trp":["oe",8136],"trw":["-",14856],"lp":["eo"],"rp":["oe","o-"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",67],"lp":["xo"],"rp":[]},"70":{"input":[2,3,7],"tlp":["do",158471],"trp":["od",22403],"tlw":["do",2723],"trw":["od",70],"lp":["do","esso","eso","edo","dos","doss","ddo","eddo","sod","ddos","sodd","seo"],"rp":["od","osse","odo","ose","ode","oes","odd","odes"]},"71":{"input":[1,2,3,7],"tlp":["ado",4250],"trp":["oda",1104],"tlw":["adesso",3039],"lp":["ado","addo","aseo","ados","dado"],"rp":["oda","oad","owd","owde","osea"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",401592],"trp":["ot",65714],"tlw":["to",7313],"trw":["otto",700],"lp":["to","tto","gg","go","tog","tot","gog","got","gott","gt","gto","ggo"],"rp":["ot","og","ott","otto","ogg","oto","ogo","otog"]},"73":{"input":[1,4,7],"tlp":["ato",73996],"trp":["of",9885],"tlw":["fatto",10159],"trw":["of",731],"lp":["ato","ag","fo","ga","atto","tato","agg","aga","tag","gat","ago","fog","fot","gato","foto"],"rp":["of","ota","off","ofo","otta"]},"74":{"input":[2,4,7],"tlp":["co",390163],"trp":["oc",56253],"tlw":["sotto",6145],"trw":["oc",194],"lp":["co","sto","cos","cco","sco","sog","sot","sott","cost","soc","sg","tos","ttos","tost"],"rp":["oc","ost","occ","osc","osto","oco"]},"75":{"input":[1,2,4,7],"tlp":["cosa",19547],"trp":["osta",6879],"tlw":["cosa",13626],"lp":["cosa","fos","foss","acco","cato","sato","asco","caso","sag","sagg","sof","sfo","aco","asto","soff","ssag","asfo"],"rp":["osta","occa","oca"]},"76":{"input":[3,4,7],"tlp":["ro",227920],"trp":["or",269472],"tlw":["ero",2296],"trw":["ore",1264],"lp":["ro","eg","tro","ero","ge","gr","tor","etto","rto","rg","erto","gge","egg","ttor"],"rp":["or","ore","ort","oro","ote","orr"]},"77":{"input":[1,3,4,7],"tlp":["for",26973],"trp":["ora",39990],"tlw":["forte",2002],"trw":["ora",7824],"lp":["for","gra","aro","rag","rato","ega","raga","rof","gar","fort","fro","arg","ator","ragg","rofo","egat","efo"],"rp":["ora","orta","orat"]},"78":{"input":[2,3,4,7],"tlp":["cor",38804],"trp":["ors",15158],"tlw":["stesso",6792],"lp":["cor","esto","rso","erso","seg","sor","rdo","ros","eco","deg","seco","stro","cord","stor","cors"],"rp":["ors","ostr","ord","orse","oce"]},"79":{"input":[1,2,3,4,7],"tlw":["fosse",8373],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",433832],"trw":["un",115533],"lp":[],"rp":["on","no","un","non","uo","ono","nu","uno","nno","nuo","onn","uon","nun","uono","nono","nnu","onno","ou","onu","nuno"]},"81":{"input":[1,5,7],"tlp":["qu",190328],"trp":["ua",132700],"tlw":["qua",1585],"trw":["una",79579],"lp":["qu","qua","ano","quan","anno","au","anqu","annu","quo"],"rp":["ua","una","uan","ona","nqu","unq","unqu","onna","nua","uona","uann"]},"82":{"input":[2,5,7],"tlp":["su",132637],"trp":["us",36612],"tlw":["sono",21614],"trw":["uso",357],"lp":["su","son","suo","sono","ssu","sun","ssun","suno","sus","suon","sson"],"rp":["us","nos","ons","nso","onos","uss","jo","uso","uns"]},"83":{"input":[1,2,5,7],"tlp":["sua",24168],"trp":["uas",6999],"tlw":["sua",23065],"trw":["naso",1168],"lp":["sua","quas","sona","aus","ausa","suna","susa","assu","squ","sano","squa","ssua"],"rp":["uas","usa","usan","onsa","naso","ussa","own","jona"]},"84":{"input":[3,5,7],"tlp":["eno",16301],"trp":["ue",125676],"trw":["oy",212],"lp":["eno","enu","eu","enno","eon","eone"],"rp":["ue","one","onne","une","uen","yo","n-","oy","neo","uone","onen","nue","uy","noe"]},"85":{"input":[1,3,5,7],"tlp":["que",97787],"trp":["nque",9338],"tlw":["que",683],"lp":["que","equ","eque","quen","aneo","enua","aone","eau","aneu","anue"],"rp":["nque","yoa","uane"]},"86":{"input":[2,3,5,7],"tlp":["du",34768],"trp":["ndo",56462],"tlw":["due",12347],"trw":["nessuno",3678],"lp":["du","due","don","endo","donn","essu","enso","sue","edu","dun","sone"],"rp":["ndo","ues","ond","ondo","ud","onde","ude","use","onse"]},"87":{"input":[1,2,3,5,7],"tlw":["quando",17079],"trw":["nessuna",1517],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tu",92522],"trp":["ut",89032],"tlw":["tutto",14989],"trw":["noto",633],"lp":["tu","tut","gn","tutt","gu","gno","bo"],"rp":["ut","nto","utt","ont","ng","uto","utto","ogn","ob","ub","ngo","not","ung"]},"89":{"input":[1,4,5,7],"tlp":["anto",26642],"trp":["onta",14073],"tlw":["quanto",9498],"trw":["nota",688],"lp":["anto","fu","gua","fon","atu","gna","ang","tua","agn","fuo","bano","aut"],"rp":["onta","uant","uta","utta","nato","natu","onf","uat"]},"90":{"input":[2,4,5,7],"tlp":["con",129147],"trp":["nco",21375],"tlw":["con",65735],"trw":["jung",428],"lp":["con","cu","cont","cun","cono","cons","sogn","scu","stu","cuo","sub","conc"],"rp":["nco","uc","usc","nost","ucc","nosc","ust","onc"]},"91":{"input":[1,2,4,5,7],"tlw":["bocca",2528],"trw":["nascosto",446],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ento",24735],"trp":["ur",55498],"tlw":["tutte",5259],"trw":["notte",3456],"lp":["ento","rno","ru","tur","ron","gen","torn","gnor","gue","egn"],"rp":["ur","orn","nor","ntro","orno","uro","ontr","ure","onte","uor"]},"93":{"input":[1,3,4,5,7],"tlw":["erano",13650],"trw":["natura",2226],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["contro",4167],"trw":["nostro",2381],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["questo",17502],"trw":["nostra",2563],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["ll",292163],"trw":["il",150399],"lp":[],"rp":["ll","io","li","il","ol","lo","llo","olo","oi","lio","lli","oli","ili","oll","ill","ilo","ollo","iol","olli","oio"]},"97":{"input":[1,6,7],"tlp":["al",306120],"trp":["la",389912],"tlw":["al",34419],"trw":["la",169844],"lp":["al","all","zio","alla","azio","ali","zo","allo","zzo","ala","alo","azzo","alz"],"rp":["la","lla","ola","lia","ial","izio","lz"]},"98":{"input":[2,6,7],"tlp":["sol",35720],"trp":["osi",21430],"tlw":["solo",15660],"trw":["los",154],"lp":["sol","solo","sio","ssio","soli","sil","ssol","soll"],"rp":["osi","iso","ossi","ios","ls","lis","isio","ioso","los","ols","lsi","loso"]},"99":{"input":[1,2,6,7],"tlp":["sal",7582],"trp":["las",8686],"tlw":["sola",1804],"trw":["ossia",438],"lp":["sal","sola","als","sali","alsi","alis","zios","sala","asio","wil","wal","salo","will"],"rp":["las","osiz","lass","lsia","iosa","oak","oaki"]},"100":{"input":[3,6,7],"tlp":["el",300307],"trp":["le",283237],"tlw":["el",414],"trw":["le",75413],"lp":["el","ell","elle","ello","elli","ele","eli","elo"],"rp":["le","lle","ile","ole","lei","lie","iel","olle","ielo","ioe","ille","liel"]},"101":{"input":[1,3,6,7],"tlp":["ella",86423],"trp":["iale",6102],"tlw":["alle",8523],"lp":["ella","ale","alle","ela","eal","ezzo","ezio","eale","elai","elaz","eali","aile","alie"],"rp":["iale","lez","lezz","llez","lea","lezi","olez"]},"102":{"input":[2,3,6,7],"tlp":["del",145198],"trp":["ido",5517],"tlw":["del",59660],"trw":["les",352],"lp":["del","dell","dio","dol","sole","sile","dolo","deli","sold"],"rp":["ido","ld","les","odi","oesi","less","old","lid","lse","iod","olse"]},"103":{"input":[1,2,3,6,7],"tlw":["della",49783],"trw":["ideale",372],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["gi",98127],"trp":["lt",89489],"tlw":["gli",38211],"trw":["oggi",2072],"lp":["gi","gl","gli","vo","gio","vol","ggi","volt","glio","ggio"],"rp":["lt","ov","olt","ig","ito","lto","igl","igli","lit","olto"]},"105":{"input":[1,4,6,7],"tlp":["alt",36637],"trp":["lta",24023],"tlw":["volta",7909],"trw":["lato",1361],"lp":["alt","tal","gia","aggi","agi","avo","glia","agl","agli","gaz","val","fig","agaz"],"rp":["lta","olta","ova","lita","iato","lat","lav"]},"106":{"input":[2,4,6,7],"tlp":["col",38715],"trp":["ico",29735],"tlw":["cosi",14686],"lp":["col","cio","cosi","sig","colo","voc","ccol","tico","soci","cl","coll"],"rp":["ico","lc","lic","oci","lco","isto","icol","lcos","icco"]},"107":{"input":[1,2,4,6,7],"tlw":["cavallo",1015],"trw":["lasciato",1193],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rio",23501],"trp":["lor",31885],"tlw":["vero",3849],"trw":["loro",17911],"lp":["rio","egl","egli","rl","rov","gior","evo","tori","rol","trov"],"rp":["lor","ltr","ori","ove","ior","loro","let","lett","ltro","leg"]},"109":{"input":[1,3,4,6,7],"tlw":["allora",5910],"trw":["lavoro",2692],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["dove",7905],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["storia",3176],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["iu",69600],"trw":["lui",16197],"lp":[],"rp":["iu","ion","ui","lu","ul","ino","oni","ull","lui","ho","ioni","uoi","lin","uni","lun","hio","inu","lon","noi","iun"]},"113":{"input":[1,5,6,7],"tlp":["zion",44305],"trp":["ual",34744],"tlw":["qui",6480],"trw":["hanno",4870],"lp":["zion","qual","qui","quin","alu"],"rp":["ual","ulla","nal","lan","nzio","uz","uali","iano","uzi","uzio","onal","iona","inua","inqu","nzo"]},"114":{"input":[2,5,6,7],"tlp":["sul",27914],"trp":["ius",9576],"tlw":["sul",12074],"trw":["john",422],"lp":["sul","sull","sion","suoi","sui","sino","solu"],"rp":["ius","usi","onsi","lus","joh","john","isu","hius","uis","nsio","ussi","usio","isul"]},"115":{"input":[1,2,5,6,7],"tlw":["sulla",9250],"trw":["unknown",242],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"trp":["nel",55639],"tlw":["ellen",168],"trw":["nel",25842],"lp":[],"rp":["nel","ione","uel","uell","nell","len","ulle","uei","ilen","uole","olen","line","ieno","ly","lly","llen","hel","iyo","onie","lien"]},"117":{"input":[1,3,5,6,7],"tlw":["quella",13048],"trw":["nella",18121],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["sulle",3574],"trw":["johnny",2025],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["quindi",2988],"trw":["honda",1391],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bil",19308],"trp":["ing",11351],"tlw":["tutti",11017],"trw":["ogni",9891],"lp":["bil","gni","vu","giu","gin","bl"],"rp":["ing","utti","ign","ogni","uov","ibil","nuov","ult","igno","lib","onti","itu","iut","lung"]},"121":{"input":[1,4,5,6,7],"tlw":["fino",4978],"trw":["lingua",2263],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["cui",15060],"trw":["occhi",7963],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["qualcosa",5921],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["giorno",5009],"trw":["intorno",2138],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["avevano",4836],"trw":["labbra",1521],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["vecchio",2836],"trw":["luce",3993],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["qualche",7372],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",38074],"trw":["p",2856],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",53641],"trp":["pa",113853],"tlw":["ap",277],"trw":["pa",1374],"lp":["ap","app","appa","apa"],"rp":["pa","ppa","pap","papa","papp"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",57528],"trp":["ps",391],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["sap",10722],"trp":["pas",13080],"tlw":["spa",392],"trw":["passa",483],"lp":["sap","spa","asp","sapp","aspa","asap","spas"],"rp":["pas","pass","ppas"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",9203],"trp":["pe",210895],"tlw":["e'",746],"trw":["'",1162],"lp":["ep","epp","e'","eppe","epe"],"rp":["pe","'e","ppe","'ep","pep","pepe","pee"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",12996],"trp":["'a",34981],"tlw":["a'",123],"trw":["pae",158],"lp":["ape","appe","epa","a'","epap","a'a","eppa"],"rp":["'a","pae","pea","'ap","'ape","pape","'app","'ex"]},"134":{"input":[2,3,8],"tlp":["spe",21318],"trp":["pes",6844],"tlw":["de'",420],"lp":["spe","d'","esp","spes","s'","espe","s'e","sep","sepp","d'e","sped","d'es","de'"],"rp":["pes","'es","pess","'ess","'esp","ped","ppes"]},"135":{"input":[1,2,3,8],"tlp":["sape",7738],"trp":["pad",5524],"tlw":["spada",415],"trw":["paese",1433],"lp":["sape","d'a","aspe","sepa","spad","dap","dapp","s'a","apes","spea","s'as"],"rp":["pad","paes","pesa","'as","'ass","pada","pade","peda","'asp"]},"136":{"input":[4,8],"tlp":["tp",67],"trp":["pt",593],"trw":["pt",593],"lp":["tp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",444],"trp":["pat",3422],"tlw":["tappa",74],"trw":["pat",105],"lp":["tap","tapp"],"rp":["pat","pata","patt","ppat"]},"138":{"input":[2,4,8],"lp":[],"rp":[]},"139":{"input":[1,2,4,8],"tlp":["cap",16620],"trp":["pac",3619],"tlw":["cap",137],"trw":["passata",399],"lp":["cap","capa","apac","capp","scap"],"rp":["pac","past","pasc","pacc","paca"]},"140":{"input":[3,4,8],"tlp":["rp",6335],"trp":["pr",145579],"trw":["per",80117],"lp":["rp","t'","rep","rpr","rpre","rpe"],"rp":["pr","per","pre","pet","'er","pett","pert","pere","ppr","ppre","pete","perr","pret","prep"]},"141":{"input":[1,3,4,8],"tlp":["rap",5944],"trp":["par",50789],"tlw":["aperta",930],"trw":["parte",8500],"lp":["rap","aper","rapp","apr","appr","epar","t'a"],"rp":["par","part","'era","pra","pare","pera","'ar","ppar","perf","prat","para","'art","'at"]},"142":{"input":[2,3,4,8],"tlp":["c'",13326],"trp":["pres",21493],"tlw":["c'e",5387],"trw":["prese",1400],"lp":["c'","c'e","spet","c'er","sper","spec","spr","espr","spre","resp","st'"],"rp":["pres","perc","pers","pec","prec","perd","pecc","'est","pesc"]},"143":{"input":[1,2,3,4,8],"tlw":["c'era",5795],"trw":["padre",3195],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mp",63764],"trw":["m",580],"lp":[],"rp":["mp","mm","pn","pm"]},"145":{"input":[1,5,8],"tlp":["am",93470],"trp":["ma",209998],"tlw":["ama",245],"trw":["ma",53590],"lp":["am","ama","amm","amp","amma","ampa","aman","anam"],"rp":["ma","man","mma","mpa","pan","mana","mam","nam","mamm","nap","mpan","pann"]},"146":{"input":[2,5,8],"tlp":["sm",3714],"lp":["sm"],"rp":[]},"147":{"input":[1,2,5,8],"tlp":["sam",2868],"trp":["mas",6926],"tlw":["sam",230],"trw":["massa",628],"lp":["sam","asm","sma","asma","ssam"],"rp":["mas","mass","nsap","jam","mpas","njam","pasq","mmas","nasp","nsam"]},"148":{"input":[3,5,8],"tlp":["em",69499],"trp":["me",205039],"trw":["me",9600],"lp":["em","emp","eme","emen","emm","emme"],"rp":["me","men","pen","n'","mme","nem","ppen","mmen","mpe","nemm","nep","m'","mem","nepp"]},"149":{"input":[1,3,5,8],"tlp":["ame",31411],"trp":["pena",4673],"tlw":["appena",3899],"trw":["'na",1029],"lp":["ame","amen","ema","amme","eam","eame","emma"],"rp":["pena","'an","n'a","mane","'am","mae","'ann","nema","'na","name","pane","neam","mame"]},"150":{"input":[2,3,5,8],"tlp":["sem",25705],"trp":["pens",14000],"tlw":["sem",596],"trw":["mese",638],"lp":["sem","semp","esem","spen","sme","dem","ssem"],"rp":["pens","mes","mess","med","pend","mmed","mens","n'es","mese","mped","mede","mmes","mend"]},"151":{"input":[1,2,3,5,8],"tlw":["damane",190],"trw":["pensa",920],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",759],"trp":["mb",24935],"lp":["tm"],"rp":["mb"]},"153":{"input":[1,4,5,8],"tlp":["tam",11090],"trp":["mat",11944],"tlw":["fama",205],"trw":["mat",965],"lp":["tam","amb","fam","bam","bamb","ttam","amat","atam","tamp","amba"],"rp":["mat","matt","mant","mba","ntam","mata","mpat","mmat","pant","mbat"],"special":"numsym"},"154":{"input":[2,4,5,8],"lp":[],"rp":[]},"155":{"input":[1,2,4,5,8],"tlw":["stampa",344],"trw":["manca",395],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",30451],"trp":["ment",73144],"tlw":["be'",1001],"trw":["mentre",7346],"lp":["rm","tem","temp","empr","erm","emb","embr","rme","rem","term","trem"],"rp":["ment","mpr","mpre","mer","mbr","met","mett","pren","ntem"]},"157":{"input":[1,3,4,5,8],"tlw":["entrambe",518],"trw":["mare",1575],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["sempre",11019],"trw":["prendere",1451],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["sembra",1918],"trw":["madre",2851],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",115591],"trw":["pi",1894],"lp":[],"rp":["pi","ip","ipi","ppi","pii","pip","ipp"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",10470],"trp":["pia",13275],"trw":["piazza",530],"lp":["api","appi","apii"],"rp":["pia","paz","pazi","ipa","ppia","pai","pazz","piaz","iap","iapi","ipaz","iapp","pipa","piz","pizz","ppai"]},"162":{"input":[2,6,8],"tlp":["spi",10357],"trp":["isp",11667],"tlw":["spi",83],"lp":["spi"],"rp":["isp","pis","psi","ispi"]},"163":{"input":[1,2,6,8],"tlp":["spia",1284],"trp":["ispa",273],"tlw":["sappia",270],"trw":["passi",1081],"lp":["spia","apis","spaz","sapi","aspi"],"rp":["ispa","pais","isap","pias"]},"164":{"input":[3,6,8],"tlp":["epi",750],"trp":["pie",14120],"trw":["pie",288],"lp":["epi","eppi"],"rp":["pie","'i","ipe","i'","'ip","iep","pei","ppie","iepi","iepe"]},"165":{"input":[1,3,6,8],"tlp":["apie",832],"trp":["pez",2090],"trw":["pezzi",621],"lp":["apie","z'","zz'","ezz'","z'a","ai'"],"rp":["pez","pezz","'az","'azi","'ai"]},"166":{"input":[2,3,6,8],"tlp":["disp",3751],"trp":["pied",3956],"tlw":["spie",208],"trw":["piedi",2995],"lp":["disp","spie","dip","dipe","espi","d'i","dipi","s'i"],"rp":["pied","ispe","pid","'id","'ide","pedi","'esi","'is","pidi","ipes","'edi","kesp"]},"167":{"input":[1,2,3,6,8],"tlw":["appesi",112],"trw":["paesi",504],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",2675],"trp":["pit",7247],"tlw":["tipi",332],"lp":["tip","tipi"],"rp":["pit","piv","piti","pitt","ipit"]},"169":{"input":[1,4,6,8],"tlp":["apit",4239],"trp":["pita",2661],"trw":["piatti",270],"lp":["apit","apiv","vap"],"rp":["pita","pav","piat","pavi","piva","pati","pava","ipat"]},"170":{"input":[2,4,6,8],"tlp":["cip",5282],"trp":["pic",6757],"tlw":["tipici",78],"lp":["cip","cipi","spit","scip","stip","tisp"],"rp":["pic","picc","pisc","pist","ipic","psic","icip","pick","pici"]},"171":{"input":[1,2,4,6,8],"tlw":["capi",635],"trw":["passava",443],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",3818],"trp":["pri",41676],"tlw":["ripete",508],"trw":["pri",723],"lp":["rip","ripr","ripe","v'","v'e"],"rp":["pri","pir","peri","pev","piri","priv","piet","pire","prie","ipr","ipet","ipre","prir","prev","pier"]},"173":{"input":[1,3,4,6,8],"tlw":["apri",920],"trw":["parti",1322],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["specie",1573],"trw":["presi",303],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["sapeva",2346],"trw":["piacere",1214],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",125525],"trw":["mi",29736],"lp":[],"rp":["mi","im","min","imp","imi","mini","mpi","mmi","imm","nim","mmin","pin","inim","immi","mim","mimi","impi","pini","ph","ipin"]},"177":{"input":[1,5,6,8],"tlp":["ami",11196],"trp":["ima",27754],"tlw":["anima",623],"trw":["mai",10502],"lp":["ami","anim","ammi","ampi"],"rp":["ima","iam","mai","mia","mani","mina","hiam","pian","imma","iama","nima","iman","maz","impa","mazi","manz"]},"178":{"input":[2,5,6,8],"tlp":["sim",7979],"trp":["mis",8876],"tlw":["spin",81],"trw":["misi",410],"lp":["sim","ssim","simi","spin","smi","simp","smis","sism"],"rp":["mis","miss","mmis","ism","pins","misi","nism","imis","jim","mk"]},"179":{"input":[1,2,5,6,8],"tlw":["spina",102],"trw":["massima",364],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["empi",4592],"trp":["ime",13962],"tlw":["ehm",84],"trw":["miei",2459],"lp":["empi","emi"],"rp":["ime","imen","'in","mie","'h","iem","'im","pien","ieme","miei","'imp","impe","imme","h'","mine","ipen","inem","'imm"]},"181":{"input":[1,3,5,6,8],"tlw":["zampe",282],"trw":["piena",963],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["dimmi",325],"trw":["insieme",2565],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["assieme",502],"trw":["pensai",375],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",12886],"trp":["mbi",7548],"tlw":["tim",512],"trw":["miti",105],"lp":["tim","ttim","vim","timi","bim","bimb"],"rp":["mbi","mit","mbin","imit","ntim","imb","pint","mpit","miti","itm","mbit","miv","mith","mpiv"]},"185":{"input":[1,4,5,6,8],"tlw":["bambini",1251],"trw":["mattina",971],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",194],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["amici",1446],"trw":["macchina",1679],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["tempi",1297],"trw":["perrin",1178],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["veramente",1194],"trw":["prima",12710],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["sentimenti",600],"trw":["perche",14386],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["sembrava",3174],"trw":["presenza",1054],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",170696],"trw":["po",1713],"lp":[],"rp":["po","op","opo","ppo","opp","oppo","pop","popo","oop","ppop"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["appo",3603],"trp":["opa",1076],"lp":["appo","apo"],"rp":["opa","oppa","pao"]},"194":{"input":[2,7,8],"tlp":["spo",12332],"trp":["pos",30275],"tlw":["spo",162],"trw":["posso",2175],"lp":["spo","spos","sop","sosp","sopp"],"rp":["pos","poss","osp","opos","poso","ppos"]},"195":{"input":[1,2,7,8],"tlp":["sapo",395],"trp":["posa",1234],"tlw":["sposa",181],"trw":["passo",2265],"lp":["sapo","aspo","apos"],"rp":["posa"]},"196":{"input":[3,7,8],"tlp":["epo",996],"trp":["'o",10586],"trw":["po'",5326],"lp":["epo","eop","eppo"],"rp":["'o","ope","o'","poe","po'","'op","'ope","peo","'epo","oppe","oope","opeo","'opp","opee"]},"197":{"input":[1,3,7,8],"tlp":["eopa",82],"trp":["opea",192],"lp":["eopa"],"rp":["opea"]},"198":{"input":[2,3,7,8],"tlp":["dop",11237],"trp":["pose",2787],"tlw":["dopo",9632],"trw":["peso",740],"lp":["dop","dopo","d'o","espo","dopp","depo","epos"],"rp":["pose","poes","ospe","peso","os'","os'e","'od","'os","'odo","pod","opod","pode","'osp"]},"199":{"input":[1,2,3,7,8],"tlw":["appeso",230],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",650],"trp":["pot",22315],"tlw":["topo",171],"lp":["top","topo","ttop"],"rp":["pot","pog","ppog","pogg","pott","opot","ppot","opog"]},"201":{"input":[1,4,7,8],"trp":["pag",5925],"trw":["patto",180],"lp":[],"rp":["pag","paga","pato","opag","pago","ppag"]},"202":{"input":[2,4,7,8],"tlp":["cop",6022],"trp":["post",9448],"tlw":["scopo",742],"trw":["poco",4741],"lp":["cop","scop","copp","copo","coop","spog","cosp"],"rp":["post","poc","poco"]},"203":{"input":[1,2,4,7,8],"tlw":["capo",2162],"trw":["passato",1802],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",21378],"trp":["pro",42777],"tlw":["troppo",4434],"trw":["pero",4668],"lp":["rop","ropr","trop","ropp","rpo","ropo"],"rp":["pro","por","opr","port","pote","prop","oper","pero","'or","orp","potr","ppor","orpo","poet"]},"205":{"input":[1,3,4,7,8],"tlw":["rapporto",1150],"trw":["porta",4253],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["corpo",2667],"trw":["presto",1698],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["sopra",3357],"trw":["peccato",398],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["mo",124534],"trw":["puo",6756],"lp":[],"rp":["mo","om","pu","mpo","um","mon","omp","up","uom","mu","omo","puo","pun","uomo","omm","mom","nom","ppu","pon","mun"]},"209":{"input":[1,5,7,8],"tlp":["amo",18506],"trp":["oma",10024],"tlw":["amo",246],"trw":["mano",6828],"lp":["amo","ampo","appu","apu","aum","amon"],"rp":["oma","mano","oman","ompa","uma","uman","pau","upa","munq","omma","napo","mona","uam","nuam"]},"210":{"input":[2,5,7,8],"tlp":["sup",3910],"trp":["mos",4879],"tlw":["sommo",127],"trw":["possono",1433],"lp":["sup","spon","som","smo","somm","sum","spu","ssum","supp","spun"],"rp":["mos","mus","mpos","nsom","moss","pons","moso","nsum","mous","moos"]},"211":{"input":[1,2,5,7,8],"tlw":["somma",313],"trw":["pausa",424],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["empo",10444],"trp":["ome",58690],"trw":["meno",4910],"lp":["empo","emo","eppu"],"rp":["ome","'u","meno","omen","un'","ume","mome","'un","'uo","'uom","nome","upe","nume","umen","omme","n'o","un'o"]},"213":{"input":[1,3,5,7,8],"trw":["umane",290],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["d'un",897],"trw":["modo",7852],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["domanda",1306],"trw":["pensando",468],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",2271],"trp":["punt",7081],"tlw":["tom",318],"trw":["punto",4093],"lp":["tom","tup","gom"],"rp":["punt","mont","omb","potu","pub","pubb","mot","mog","mbo","put","mob","pug","mut","pugn","moto","puto","pont"]},"217":{"input":[1,4,5,7,8],"tlw":["appunto",879],"trw":["punta",775],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["com",539],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["campo",1259],"trw":["manco",711],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["tempo",9244],"trw":["momento",5714],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forma",2605],"trw":["paura",1888],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["come",44183],"trw":["persone",2066],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["comunque",2203],"trw":["persona",1755],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["poi",14737],"trw":["poi",13201],"lp":[],"rp":["poi","pl","pol","pio","pli","lp","poli","olp","ipo","opol","lpo","olpo","oppi","lpi","olpi","opi","polo","ipio","ppio","ipl"]},"225":{"input":[1,6,7,8],"tlp":["alp",617],"trp":["pal",8270],"trw":["paio",1036],"lp":["alp","apol","alap"],"rp":["pal","pall","pola","paio","pala","ipal","pla","lpa","olpa","poz","pozz","palp","pali","pila","opia","lap","paol"]},"226":{"input":[2,6,7,8],"tlp":["spl",884],"trp":["ispo",7900],"tlw":["spio",684],"trw":["polso",267],"lp":["spl","spio","splo","spli"],"rp":["ispo","posi","ospi","pols","ipos","piso","lpis","plos"]},"227":{"input":[1,2,6,7,8],"tlw":["spazio",928],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["ell'",11381],"trp":["l'",63315],"trw":["pelle",1317],"lp":["ell'","epl","epli"],"rp":["l'","ll'","l'i","l'o","l'e","pel","ll'i","pell","ple","ll'e","ll'o","lpe","'io","l'op","ppel","pelo","olpe"]},"229":{"input":[1,3,6,7,8],"tlw":["appello",93],"trw":["pezzo",996],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["doppio",286],"trw":["poesie",742],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["spalle",2219],"trw":["poesia",1881],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tipo",1710],"trp":["pito",3299],"tlw":["tipo",1710],"trw":["piglio",445],"lp":["tipo","topi","volp"],"rp":["pito","pov","pig","pigl","piog","ipot","polv","polt","lpit","poti","ipig","pogl","piov","lpiv"]},"233":{"input":[1,4,6,7,8],"tlw":["appoggio",268],"trw":["pioggia",738],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["colpo",1583],"trw":["piccolo",2047],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["capito",1303],"trw":["piccola",1514],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["proprio",7247],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"trw":["poteva",4863],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["rispose",2477],"trw":["percio",1506],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["capelli",2276],"trw":["particolare",1528],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["piu",40881],"trw":["piu",38322],"lp":[],"rp":["piu","lm","imo","omi","mol","omin","mio","mpl","mil","uomi","impo","ilm","mpli","lim","ompl","ommi","mili","mpio","imil","umi"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["animali",640],"trw":["piano",2006],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simili",901],"trw":["luminoso",184],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["siamo",2506],"trw":["possiamo",953],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["l'uomo",2192],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["almeno",2906],"trw":["mezzo",2952],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["esempio",1778],"trw":["modi",645],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["domani",713],"trw":["posizione",1014],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"trw":["molto",8286],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["abbiamo",2561],"trw":["montalbano",3474],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["comincio",1412],"trw":["piuttosto",1744],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["amico",1691],"trw":["possibilita",1220],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"trw":["meglio",3762],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["finalmente",1303],"trw":["ormai",2373],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["semplice",1455],"trw":["possibile",2609],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["commissario",2277],"trw":["l'unica",795],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",76],"tlw":["a",134646],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",181781],"tlw":["s",689],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",147177],"tlw":["sa",4372],"lp":["sa","as","ssa","ass","assa","asa","sas","wa","sass","ssas","aw","saw","was","awa","ws"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",2590],"tlw":["e",285768],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",16928],"tlw":["ex",571],"lp":["ea","ae","ex","ax","xe"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",299367],"tlw":["se",42825],"lp":["de","se","es","ess","sse","ed","esse","ede","ese","des","dd","sed","edd","dess","sede","edes","ses","sess","dde","dee"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",161213],"tlw":["da",50742],"lp":["da","ad","essa","esa","ade","ada","asse","ase","aes","add","dea","ades","eda","we","aese","seda","ew","sea","adde","aesa"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",206553],"tlw":["t",2430],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",338700],"tlw":["fa",5357],"lp":["ta","at","fa","att","tta","tat","ata","ff","fat","fatt","af","atta","tata","aff","ffa","affa","ttat","ffat","tatt","taf"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",249453],"tlw":["c",1986],"lp":["st","sc","cc","ts","ct","tc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",149612],"tlw":["casa",7589],"lp":["ca","sta","ac","acc","stat","cas","asc","fac","cat","cca","ast","sat","sca","casa","facc","sf","acca","asta","tas","ssat"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",504768],"tlw":["te",8282],"lp":["er","re","te","tr","et","rt","ere","ett","ter","rr","tre","tte","rte","ert","err","ret","ette","rre","etr","tere"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ra",368409],"tlw":["era",57211],"lp":["ra","ar","era","are","tra","fe","rat","art","rta","fr","tar","far","ara","eta","etta","fer","tare","arte","ratt","fra"],"rp":[]},"14":{"input":[2,3,4],"tlp":["ce",118940],"tlw":["essere",13580],"lp":["ce","est","ec","rs","str","rc","res","ser","rd","ste","ers","tes","erc","cr","der","cer","sser","tess","dere","ece"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["sar",25172],"tlw":["testa",5675],"lp":["sar","esta","stra","ard","car","sare","ace","rad","dar","dat","rda","rac","adr","racc","rca","ars","dare","ssar","face","erca"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",46289],"trw":["n",1203],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",351085],"trp":["na",191784],"tlw":["an",861],"trw":["na",3153],"lp":["an","ann","ana","anna","anq","anan"],"rp":["na","nq","nna","nan","nnan"]},"18":{"input":[2,5],"base":"j","baseshift":"J","trp":["ns",40629],"trw":["j",428],"lp":[],"rp":["ns","nj","jn"]},"19":{"input":[1,2,5],"tlp":["san",10754],"trp":["nsa",10125],"tlw":["san",820],"lp":["san","ssan","sann","ans","sq","wn","asq","aj","sana","anj","anja","aja"],"rp":["nsa","nas","ja","nsan","nja","nasa","nsas","nass"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",325999],"trp":["ne",240032],"tlw":["en",427],"trw":["ne",18897],"lp":["en","ene","enn","enne","ey","enen","eyn","een","enny","eyne"],"rp":["ne","nne","ny","yn","nny","nen","yne","ye","nyn","nee"]},"21":{"input":[1,3,5],"tlp":["ena",10474],"trp":["nea",2742],"tlw":["aye",382],"lp":["ena","ane","ay","ean","ayn","ayne","enna","eq","anne","anea","aye","aen","eann"],"rp":["nea","nean","yna","nae","nyna","ynae","ya"]},"22":{"input":[2,3,5],"tlp":["sen",39413],"trp":["nd",129982],"tlw":["sen",952],"trw":["nes",163],"lp":["sen","end","ens","den","ende","sens","esen","eden","dend","ssen","dy"],"rp":["nd","nde","nes","ness","nse","nden","je","nsen","nese"]},"23":{"input":[1,2,3,5],"tlp":["and",60721],"trp":["nda",24205],"tlw":["and",382],"trw":["new",833],"lp":["and","anda","ensa","ande","dan","enda","sand","dand","dann","wen","esan","wene","dena","sean","anes","andy"],"rp":["nda","ndan","new","nand"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",46376],"trp":["nt",291380],"tlw":["b",526],"lp":["bb","tn"],"rp":["nt"]},"25":{"input":[1,4,5],"tlp":["ant",64341],"trp":["nta",37477],"tlw":["tanta",636],"trw":["nata",204],"lp":["ant","tan","ba","ab","tant","abb","ban","anta","fan","bba","bat","abba","batt"],"rp":["nta","nat","nf","ntan","ntat","nata","nfa"]},"26":{"input":[2,4,5],"tlp":["sb",2201],"trp":["nc",80441],"lp":["sb","cn","tsb"],"rp":["nc","nst","nsc"]},"27":{"input":[1,2,4,5],"tlp":["anc",55675],"trp":["nca",4603],"tlw":["basta",1053],"lp":["anc","can","stan","bas","cant","bast","anca","cq","acq","sant","bbas","bass","ccan","sab","sba","banc"],"rp":["nca","nasc","jac","ntas"]},"28":{"input":[3,4,5],"tlp":["ent",152199],"trp":["nte",100114],"tlw":["bene",6300],"trw":["nere",364],"lp":["ent","ente","be","rn","eb","br","ebb","ten","bbe","ebbe","reb","rebb","entr","ren","ber","ben","ener"],"rp":["nte","ntr","ner"]},"29":{"input":[1,3,4,5],"tlp":["ran",45980],"trp":["nar",8583],"tlw":["entrare",873],"trw":["nera",1031],"lp":["ran","eran","ante","bra","enta","areb","rna","tran","bar","rtan","rant","fran","abbr","erna"],"rp":["nar","ntra","nare","nera","ntar","nfe"]},"30":{"input":[2,3,4,5],"tlp":["sent",16908],"trp":["nce",6484],"tlw":["sebbene",761],"lp":["sent","cen","dent","rend","cent","cend","tend","scen","sten","deb","ecen","cenn","ccen"],"rp":["nce","nder","nec","nece","nest","nces","ncer"]},"31":{"input":[1,2,3,4,5],"tlw":["sarebbe",7398],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",3469],"trw":["i",56666],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["zi",77724],"trp":["ia",200353],"tlw":["ai",8188],"lp":["zi","za","ai","az","zz","azi","zza","azz","zia","zzi","azza","azzi","aia","azia"],"rp":["ia","iz","izi","izia","izz","iaz"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",267038],"trp":["is",117042],"tlw":["si",95698],"trw":["k",250],"lp":["si","ssi","sis","sk","siss","ssis","sii","sisi","ski"],"rp":["is","iss","isi","issi","ki","ik","isk","ks","kik"]},"35":{"input":[1,2,6],"tlp":["sia",18324],"trp":["issa",4411],"tlw":["sia",7163],"trw":["ka",126],"lp":["sia","asi","assi","sai","ak","siz","sizi","ssia","saz","sazi","sias","ssai","aki","wi","asia"],"rp":["issa","isa","ias","iasi","ka"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",64002],"trp":["ie",107111],"lp":["ei"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ez",20251],"trp":["ize",737],"tlw":["zie",189],"trw":["ix",82],"lp":["ez","ezz","ezza","ze","ezi","zie","azie","zze","ezzi","azze","xi","eaz","eazi","aie","ezze","eez","eze"],"rp":["ize","ix","izie"]},"38":{"input":[2,3,6],"tlp":["di",428636],"trp":["id",39251],"tlw":["di",272620],"trw":["idee",923],"lp":["di","dis","dei","esi","edi","diss","essi","die","sie","sid","side","sei","ddi"],"rp":["id","ide","isse","ied","ise","ies","idi"]},"39":{"input":[1,2,3,6],"tlp":["dia",9487],"trp":["ida",5456],"tlw":["dai",4684],"trw":["idea",948],"lp":["dia","dai","adi","diz","dizi","edia","esia","addi","ake","edai","adiz","aid","disa","aesi","aida","ediz"],"rp":["ida","idea","iesa","idia"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",201674],"trp":["it",120823],"tlw":["ti",13315],"trw":["ivi",381],"lp":["ti","vi","tti","vit","tiv","vv","tit","viv","vvi","ttiv","tivi","vitt"],"rp":["it","iv","itt","iti","ivi","itti","ivit","itiv"]},"41":{"input":[1,4,6],"tlp":["va",190389],"trp":["ita",47351],"tlw":["vita",7521],"lp":["va","av","fi","ava","tav","ati","tava","via","atti","vita","avi","avv","ffi","vat"],"rp":["ita","iva","if","iat","ifi","itta"]},"42":{"input":[2,4,6],"tlp":["ci",164338],"trp":["ic",121416],"tlw":["ci",18525],"lp":["ci","sci","sti","tic","vis","cci","cit","sic","vist","sit","sist","vic","cis","vici"],"rp":["ic","ist","ici","icc","isc","isti"]},"43":{"input":[1,2,4,6],"tlp":["cia",31011],"trp":["ica",28164],"tlw":["stava",5638],"lp":["cia","fic","acci","stav","asci","ccia","tica","fici","scia","cav","ffic","cita","aci","cava","ciat","fica"],"rp":["ica","ista","iac","ific"]},"44":{"input":[3,4,6],"tlp":["ri",271321],"trp":["ir",53396],"tlw":["ri",3645],"trw":["ieri",513],"lp":["ri","ve","ev","ver","vev","eri","rit","tri","riv","rri","vr","rti","vre","rv","rie"],"rp":["ir","ire","ive","ier","iet"]},"45":{"input":[1,3,4,6],"tlp":["eva",73289],"trp":["iar",12328],"tlw":["aveva",25419],"lp":["eva","ave","veva","avev","ari","ria","rav","avr","aver","avre","arti","raz","riva","teva","rava","rz","razi","aria","var"],"rp":["iar"]},"46":{"input":[2,3,4,6],"tlp":["ris",22044],"trp":["ice",15501],"tlw":["dire",5876],"lp":["ris","ric","vers","dic","dir","dev","rsi","div","esti","cri","eci","cie","ved","dire","vec","cev","rdi","dive","ves"],"rp":["ice"]},"47":{"input":[1,2,3,4,6],"tlw":["avesse",3478],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",320519],"trw":["in",109997],"lp":[],"rp":["in","ni","hi","ini","nni","hin","hn","inn","hnn","nin","inni","nh","iin","hini"]},"49":{"input":[1,5,6],"tlp":["ani",19586],"trp":["nz",54632],"tlw":["anni",5707],"trw":["ha",18022],"lp":["ani","anz","anza","anni","anzi","ah"],"rp":["nz","nza","ha","ina","ian","hia","nzi","han","hann","hai","nia","niz","naz","nizi"]},"50":{"input":[2,5,6],"tlp":["sin",7946],"trp":["nsi",15035],"tlw":["sin",309],"lp":["sin","sh","sini","ssin","shi","shin","sinn"],"rp":["nsi","nis","ins","inis","insi","niss","his","nsis","hiss","nk","kn","nkn","hisk"]},"51":{"input":[1,2,5,6],"tlp":["sian",1135],"trp":["nsaz",1239],"tlw":["assassini",163],"trw":["hans",173],"lp":["sian","sha","shai","ansi","ash","anis","ank","wh","whi","whis","shak","sina","asha"],"rp":["nsaz","jak","kan","nsai","nsia","hak","hans"]},"52":{"input":[3,5,6],"tlp":["eni",10691],"trp":["he",257312],"tlw":["eh",464],"trw":["nei",6212],"lp":["eni","eh","ein","enni"],"rp":["he","ien","ine","hie","nie","nei","iene","nien","hnny","hien","ieni","hen","iy","hei","nhe","nhei"]},"53":{"input":[1,3,5,6],"tlp":["enz",33789],"trp":["ienz",3732],"tlw":["annie",76],"trw":["haze",116],"lp":["enz","enza","enzi","anie","enze","anze","zien","aine","anei","enez","enia"],"rp":["ienz","nze","iena","inea","hez","hezz","iane","nez","nezz"]},"54":{"input":[2,3,5,6],"tlp":["din",9601],"trp":["ndi",18448],"tlw":["sensi",395],"trw":["jessie",395],"lp":["din","ensi","dine","dini","enis","endi"],"rp":["ndi","ind","indi","nsie","iden","hies","ines","nsid","hied","ndie","inse","hes","hese","iend"]},"55":{"input":[1,2,3,5,6],"tlw":["senza",11519],"trw":["jake",1119],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",59544],"trp":["nti",54757],"tlw":["bi",1153],"lp":["bi","tin","bbi","bit","vin","th","bin"],"rp":["nti","int","ib","nv","ibi","inv","nit","ntin","niv","init","nvi","ntit","ntiv"]},"57":{"input":[1,4,5,6],"tlp":["van",36986],"trp":["inf",7482],"tlw":["avanti",2333],"trw":["infatti",1929],"lp":["van","fin","anti","avan","bia","abi","tanz","bbia","vant","abbi","fini","bian","tina"],"rp":["inf","ivan","nfi","nif","nita","nav","inat"]},"58":{"input":[2,4,5,6],"tlp":["ch",325862],"trp":["nch",30760],"tlw":["chi",6236],"trw":["nisci",250],"lp":["ch","chi","cch","cchi","cin","sib","sibi","sch","ssib","bis","schi"],"rp":["nch","inc","nci","inci","ich","nic","icin","ntic","nist"]},"59":{"input":[1,2,4,5,6],"tlw":["stanza",2031],"trw":["jack",1501],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["enti",29283],"trp":["inte",12868],"tlw":["viene",2680],"trw":["niente",4357],"lp":["enti","ven","vreb","vent","rin","veni","rni","vien","bri","venn"],"rp":["inte","ient","nve","iven","inve","ibe","iber","nev","ibr","nir"]},"61":{"input":[1,3,4,5,6],"tlw":["avrebbe",7187],"trw":["infine",1261],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["che",190983],"trw":["invece",4329],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["anche",22478],"trw":["neanche",898],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",538],"trw":["o",24888],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",1339],"trp":["oa",935],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",207940],"trp":["os",147196],"tlw":["so",6170],"trw":["oso",79],"lp":["so","sso","sos"],"rp":["os","oss","osso","oso","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["asso",6821],"trp":["osa",24654],"tlw":["sasso",152],"trw":["ossa",382],"lp":["asso","aso","aos","wo","sao"],"rp":["osa","ossa","ow","ows"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",5232],"trp":["oe",8136],"trw":["-",14856],"lp":["eo"],"rp":["oe","o-"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",67],"lp":["xo"],"rp":[]},"70":{"input":[2,3,7],"tlp":["do",158471],"trp":["od",22403],"tlw":["do",2723],"trw":["od",70],"lp":["do","esso","eso","edo","dos","doss","ddo","eddo","sod","ddos","sodd","seo"],"rp":["od","osse","odo","ose","ode","oes","odd","odes"]},"71":{"input":[1,2,3,7],"tlp":["ado",4250],"trp":["oda",1104],"tlw":["adesso",3039],"lp":["ado","addo","aseo","ados","dado"],"rp":["oda","oad","owd","owde","osea"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",401592],"trp":["ot",65714],"tlw":["to",7313],"trw":["otto",700],"lp":["to","tto","gg","go","tog","tot","gog","got","gott","gt","gto","ggo"],"rp":["ot","og","ott","otto","ogg","oto","ogo","otog"]},"73":{"input":[1,4,7],"tlp":["ato",73996],"trp":["of",9885],"tlw":["fatto",10159],"trw":["of",731],"lp":["ato","ag","fo","ga","atto","tato","agg","aga","tag","gat","ago","fog","fot","gato","foto"],"rp":["of","ota","off","ofo","otta"]},"74":{"input":[2,4,7],"tlp":["co",390163],"trp":["oc",56253],"tlw":["sotto",6145],"trw":["oc",194],"lp":["co","sto","cos","cco","sco","sog","sot","sott","cost","soc","sg","tos","ttos","tost"],"rp":["oc","ost","occ","osc","osto","oco"]},"75":{"input":[1,2,4,7],"tlp":["cosa",19547],"trp":["osta",6879],"tlw":["cosa",13626],"lp":["cosa","fos","foss","acco","cato","sato","asco","caso","sag","sagg","sof","sfo","aco","asto","soff","ssag","asfo"],"rp":["osta","occa","oca"]},"76":{"input":[3,4,7],"tlp":["ro",227920],"trp":["or",269472],"tlw":["ero",2296],"trw":["ore",1264],"lp":["ro","eg","tro","ero","ge","gr","tor","etto","rto","rg","erto","gge","egg","ttor"],"rp":["or","ore","ort","oro","ote","orr"]},"77":{"input":[1,3,4,7],"tlp":["for",26973],"trp":["ora",39990],"tlw":["forte",2002],"trw":["ora",7824],"lp":["for","gra","aro","rag","rato","ega","raga","rof","gar","fort","fro","arg","ator","ragg","rofo","egat","efo"],"rp":["ora","orta","orat"]},"78":{"input":[2,3,4,7],"tlp":["cor",38804],"trp":["ors",15158],"tlw":["stesso",6792],"lp":["cor","esto","rso","erso","seg","sor","rdo","ros","eco","deg","seco","stro","cord","stor","cors"],"rp":["ors","ostr","ord","orse","oce"]},"79":{"input":[1,2,3,4,7],"tlw":["fosse",8373],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",433832],"trw":["un",115533],"lp":[],"rp":["on","no","un","non","uo","ono","nu","uno","nno","nuo","onn","uon","nun","uono","nono","nnu","onno","ou","onu","nuno"]},"81":{"input":[1,5,7],"tlp":["qu",190328],"trp":["ua",132700],"tlw":["qua",1585],"trw":["una",79579],"lp":["qu","qua","ano","quan","anno","au","anqu","annu","quo"],"rp":["ua","una","uan","ona","nqu","unq","unqu","onna","nua","uona","uann"]},"82":{"input":[2,5,7],"tlp":["su",132637],"trp":["us",36612],"tlw":["sono",21614],"trw":["uso",357],"lp":["su","son","suo","sono","ssu","sun","ssun","suno","sus","suon","sson"],"rp":["us","nos","ons","nso","onos","uss","jo","uso","uns"]},"83":{"input":[1,2,5,7],"tlp":["sua",24168],"trp":["uas",6999],"tlw":["sua",23065],"trw":["naso",1168],"lp":["sua","quas","sona","aus","ausa","suna","susa","assu","squ","sano","squa","ssua"],"rp":["uas","usa","usan","onsa","naso","ussa","own","jona"]},"84":{"input":[3,5,7],"tlp":["eno",16301],"trp":["ue",125676],"trw":["oy",212],"lp":["eno","enu","eu","enno","eon","eone"],"rp":["ue","one","onne","une","uen","yo","n-","oy","neo","uone","onen","nue","uy","noe"]},"85":{"input":[1,3,5,7],"tlp":["que",97787],"trp":["nque",9338],"tlw":["que",683],"lp":["que","equ","eque","quen","aneo","enua","aone","eau","aneu","anue"],"rp":["nque","yoa","uane"]},"86":{"input":[2,3,5,7],"tlp":["du",34768],"trp":["ndo",56462],"tlw":["due",12347],"trw":["nessuno",3678],"lp":["du","due","don","endo","donn","essu","enso","sue","edu","dun","sone"],"rp":["ndo","ues","ond","ondo","ud","onde","ude","use","onse"]},"87":{"input":[1,2,3,5,7],"tlw":["quando",17079],"trw":["nessuna",1517],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tu",92522],"trp":["ut",89032],"tlw":["tutto",14989],"trw":["noto",633],"lp":["tu","tut","gn","tutt","gu","gno","bo"],"rp":["ut","nto","utt","ont","ng","uto","utto","ogn","ob","ub","ngo","not","ung"]},"89":{"input":[1,4,5,7],"tlp":["anto",26642],"trp":["onta",14073],"tlw":["quanto",9498],"trw":["nota",688],"lp":["anto","fu","gua","fon","atu","gna","ang","tua","agn","fuo","bano","aut"],"rp":["onta","uant","uta","utta","nato","natu","onf","uat"]},"90":{"input":[2,4,5,7],"tlp":["con",129147],"trp":["nco",21375],"tlw":["con",65735],"trw":["jung",428],"lp":["con","cu","cont","cun","cono","cons","sogn","scu","stu","cuo","sub","conc"],"rp":["nco","uc","usc","nost","ucc","nosc","ust","onc"]},"91":{"input":[1,2,4,5,7],"tlw":["bocca",2528],"trw":["nascosto",446],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ento",24735],"trp":["ur",55498],"tlw":["tutte",5259],"trw":["notte",3456],"lp":["ento","rno","ru","tur","ron","gen","torn","gnor","gue","egn"],"rp":["ur","orn","nor","ntro","orno","uro","ontr","ure","onte","uor"]},"93":{"input":[1,3,4,5,7],"tlw":["erano",13650],"trw":["natura",2226],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["contro",4167],"trw":["nostro",2381],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["questo",17502],"trw":["nostra",2563],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["ll",292163],"trw":["il",150399],"lp":[],"rp":["ll","io","li","il","ol","lo","llo","olo","oi","lio","lli","oli","ili","oll","ill","ilo","ollo","iol","olli","oio"]},"97":{"input":[1,6,7],"tlp":["al",306120],"trp":["la",389912],"tlw":["al",34419],"trw":["la",169844],"lp":["al","all","zio","alla","azio","ali","zo","allo","zzo","ala","alo","azzo","alz"],"rp":["la","lla","ola","lia","ial","izio","lz"]},"98":{"input":[2,6,7],"tlp":["sol",35720],"trp":["osi",21430],"tlw":["solo",15660],"trw":["los",154],"lp":["sol","solo","sio","ssio","soli","sil","ssol","soll"],"rp":["osi","iso","ossi","ios","ls","lis","isio","ioso","los","ols","lsi","loso"]},"99":{"input":[1,2,6,7],"tlp":["sal",7582],"trp":["las",8686],"tlw":["sola",1804],"trw":["ossia",438],"lp":["sal","sola","als","sali","alsi","alis","zios","sala","asio","wil","wal","salo","will"],"rp":["las","osiz","lass","lsia","iosa","oak","oaki"]},"100":{"input":[3,6,7],"tlp":["el",300307],"trp":["le",283237],"tlw":["el",414],"trw":["le",75413],"lp":["el","ell","elle","ello","elli","ele","eli","elo"],"rp":["le","lle","ile","ole","lei","lie","iel","olle","ielo","ioe","ille","liel"]},"101":{"input":[1,3,6,7],"tlp":["ella",86423],"trp":["iale",6102],"tlw":["alle",8523],"lp":["ella","ale","alle","ela","eal","ezzo","ezio","eale","elai","elaz","eali","aile","alie"],"rp":["iale","lez","lezz","llez","lea","lezi","olez"]},"102":{"input":[2,3,6,7],"tlp":["del",145198],"trp":["ido",5517],"tlw":["del",59660],"trw":["les",352],"lp":["del","dell","dio","dol","sole","sile","dolo","deli","sold"],"rp":["ido","ld","les","odi","oesi","less","old","lid","lse","iod","olse"]},"103":{"input":[1,2,3,6,7],"tlw":["della",49783],"trw":["ideale",372],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["gi",98127],"trp":["lt",89489],"tlw":["gli",38211],"trw":["oggi",2072],"lp":["gi","gl","gli","vo","gio","vol","ggi","volt","glio","ggio"],"rp":["lt","ov","olt","ig","ito","lto","igl","igli","lit","olto"]},"105":{"input":[1,4,6,7],"tlp":["alt",36637],"trp":["lta",24023],"tlw":["volta",7909],"trw":["lato",1361],"lp":["alt","tal","gia","aggi","agi","avo","glia","agl","agli","gaz","val","fig","agaz"],"rp":["lta","olta","ova","lita","iato","lat","lav"]},"106":{"input":[2,4,6,7],"tlp":["col",38715],"trp":["ico",29735],"tlw":["cosi",14686],"lp":["col","cio","cosi","sig","colo","voc","ccol","tico","soci","cl","coll"],"rp":["ico","lc","lic","oci","lco","isto","icol","lcos","icco"]},"107":{"input":[1,2,4,6,7],"tlw":["cavallo",1015],"trw":["lasciato",1193],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rio",23501],"trp":["lor",31885],"tlw":["vero",3849],"trw":["loro",17911],"lp":["rio","egl","egli","rl","rov","gior","evo","tori","rol","trov"],"rp":["lor","ltr","ori","ove","ior","loro","let","lett","ltro","leg"]},"109":{"input":[1,3,4,6,7],"tlw":["allora",5910],"trw":["lavoro",2692],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["dove",7905],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["storia",3176],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["iu",69600],"trw":["lui",16197],"lp":[],"rp":["iu","ion","ui","lu","ul","ino","oni","ull","lui","ho","ioni","uoi","lin","uni","lun","hio","inu","lon","noi","iun"]},"113":{"input":[1,5,6,7],"tlp":["zion",44305],"trp":["ual",34744],"tlw":["qui",6480],"trw":["hanno",4870],"lp":["zion","qual","qui","quin","alu"],"rp":["ual","ulla","nal","lan","nzio","uz","uali","iano","uzi","uzio","onal","iona","inua","inqu","nzo"]},"114":{"input":[2,5,6,7],"tlp":["sul",27914],"trp":["ius",9576],"tlw":["sul",12074],"trw":["john",422],"lp":["sul","sull","sion","suoi","sui","sino","solu"],"rp":["ius","usi","onsi","lus","joh","john","isu","hius","uis","nsio","ussi","usio","isul"]},"115":{"input":[1,2,5,6,7],"tlw":["sulla",9250],"trw":["unknown",242],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"trp":["nel",55639],"tlw":["ellen",168],"trw":["nel",25842],"lp":[],"rp":["nel","ione","uel","uell","nell","len","ulle","uei","ilen","uole","olen","line","ieno","ly","lly","llen","hel","iyo","onie","lien"]},"117":{"input":[1,3,5,6,7],"tlw":["quella",13048],"trw":["nella",18121],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["sulle",3574],"trw":["johnny",2025],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["quindi",2988],"trw":["honda",1391],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bil",19308],"trp":["ing",11351],"tlw":["tutti",11017],"trw":["ogni",9891],"lp":["bil","gni","vu","giu","gin","bl"],"rp":["ing","utti","ign","ogni","uov","ibil","nuov","ult","igno","lib","onti","itu","iut","lung"]},"121":{"input":[1,4,5,6,7],"tlw":["fino",4978],"trw":["lingua",2263],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["cui",15060],"trw":["occhi",7963],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["qualcosa",5921],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["giorno",5009],"trw":["intorno",2138],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["avevano",4836],"trw":["labbra",1521],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["vecchio",2836],"trw":["luce",3993],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["qualche",7372],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",38074],"trw":["p",2856],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",53641],"trp":["pa",113853],"tlw":["ap",277],"trw":["pa",1374],"lp":["ap","app","appa","apa"],"rp":["pa","ppa","pap","papa","papp"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",57528],"trp":["ps",391],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["sap",10722],"trp":["pas",13080],"tlw":["spa",392],"trw":["passa",483],"lp":["sap","spa","asp","sapp","aspa","asap","spas"],"rp":["pas","pass","ppas"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",9203],"trp":["pe",210895],"tlw":["e'",746],"trw":["'",1162],"lp":["ep","epp","e'","eppe","epe"],"rp":["pe","'e","ppe","'ep","pep","pepe","pee"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",12996],"trp":["'a",34981],"tlw":["a'",123],"trw":["pae",158],"lp":["ape","appe","epa","a'","epap","a'a","eppa"],"rp":["'a","pae","pea","'ap","'ape","pape","'app","'ex"]},"134":{"input":[2,3,8],"tlp":["spe",21318],"trp":["pes",6844],"tlw":["de'",420],"lp":["spe","d'","esp","spes","s'","espe","s'e","sep","sepp","d'e","sped","d'es","de'"],"rp":["pes","'es","pess","'ess","'esp","ped","ppes"]},"135":{"input":[1,2,3,8],"tlp":["sape",7738],"trp":["pad",5524],"tlw":["spada",415],"trw":["paese",1433],"lp":["sape","d'a","aspe","sepa","spad","dap","dapp","s'a","apes","spea","s'as"],"rp":["pad","paes","pesa","'as","'ass","pada","pade","peda","'asp"]},"136":{"input":[4,8],"tlp":["tp",67],"trp":["pt",593],"trw":["pt",593],"lp":["tp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",444],"trp":["pat",3422],"tlw":["tappa",74],"trw":["pat",105],"lp":["tap","tapp"],"rp":["pat","pata","patt","ppat"]},"138":{"input":[2,4,8],"lp":[],"rp":[]},"139":{"input":[1,2,4,8],"tlp":["cap",16620],"trp":["pac",3619],"tlw":["cap",137],"trw":["passata",399],"lp":["cap","capa","apac","capp","scap"],"rp":["pac","past","pasc","pacc","paca"]},"140":{"input":[3,4,8],"tlp":["rp",6335],"trp":["pr",145579],"trw":["per",80117],"lp":["rp","t'","rep","rpr","rpre","rpe"],"rp":["pr","per","pre","pet","'er","pett","pert","pere","ppr","ppre","pete","perr","pret","prep"]},"141":{"input":[1,3,4,8],"tlp":["rap",5944],"trp":["par",50789],"tlw":["aperta",930],"trw":["parte",8500],"lp":["rap","aper","rapp","apr","appr","epar","t'a"],"rp":["par","part","'era","pra","pare","pera","'ar","ppar","perf","prat","para","'art","'at"]},"142":{"input":[2,3,4,8],"tlp":["c'",13326],"trp":["pres",21493],"tlw":["c'e",5387],"trw":["prese",1400],"lp":["c'","c'e","spet","c'er","sper","spec","spr","espr","spre","resp","st'"],"rp":["pres","perc","pers","pec","prec","perd","pecc","'est","pesc"]},"143":{"input":[1,2,3,4,8],"tlw":["c'era",5795],"trw":["padre",3195],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mp",63764],"trw":["m",580],"lp":[],"rp":["mp","mm","pn","pm"]},"145":{"input":[1,5,8],"tlp":["am",93470],"trp":["ma",209998],"tlw":["ama",245],"trw":["ma",53590],"lp":["am","ama","amm","amp","amma","ampa","aman","anam"],"rp":["ma","man","mma","mpa","pan","mana","mam","nam","mamm","nap","mpan","pann"]},"146":{"input":[2,5,8],"tlp":["sm",3714],"lp":["sm"],"rp":[]},"147":{"input":[1,2,5,8],"tlp":["sam",2868],"trp":["mas",6926],"tlw":["sam",230],"trw":["massa",628],"lp":["sam","asm","sma","asma","ssam"],"rp":["mas","mass","nsap","jam","mpas","njam","pasq","mmas","nasp","nsam"]},"148":{"input":[3,5,8],"tlp":["em",69499],"trp":["me",205039],"trw":["me",9600],"lp":["em","emp","eme","emen","emm","emme"],"rp":["me","men","pen","n'","mme","nem","ppen","mmen","mpe","nemm","nep","m'","mem","nepp"]},"149":{"input":[1,3,5,8],"tlp":["ame",31411],"trp":["pena",4673],"tlw":["appena",3899],"trw":["'na",1029],"lp":["ame","amen","ema","amme","eam","eame","emma"],"rp":["pena","'an","n'a","mane","'am","mae","'ann","nema","'na","name","pane","neam","mame"]},"150":{"input":[2,3,5,8],"tlp":["sem",25705],"trp":["pens",14000],"tlw":["sem",596],"trw":["mese",638],"lp":["sem","semp","esem","spen","sme","dem","ssem"],"rp":["pens","mes","mess","med","pend","mmed","mens","n'es","mese","mped","mede","mmes","mend"]},"151":{"input":[1,2,3,5,8],"tlw":["damane",190],"trw":["pensa",920],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",759],"trp":["mb",24935],"lp":["tm"],"rp":["mb"]},"153":{"input":[1,4,5,8],"tlp":["tam",11090],"trp":["mat",11944],"tlw":["fama",205],"trw":["mat",965],"lp":["tam","amb","fam","bam","bamb","ttam","amat","atam","tamp","amba"],"rp":["mat","matt","mant","mba","ntam","mata","mpat","mmat","pant","mbat"],"special":"numsym"},"154":{"input":[2,4,5,8],"lp":[],"rp":[]},"155":{"input":[1,2,4,5,8],"tlw":["stampa",344],"trw":["manca",395],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",30451],"trp":["ment",73144],"tlw":["be'",1001],"trw":["mentre",7346],"lp":["rm","tem","temp","empr","erm","emb","embr","rme","rem","term","trem"],"rp":["ment","mpr","mpre","mer","mbr","met","mett","pren","ntem"]},"157":{"input":[1,3,4,5,8],"tlw":["entrambe",518],"trw":["mare",1575],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["sempre",11019],"trw":["prendere",1451],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["sembra",1918],"trw":["madre",2851],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",115591],"trw":["pi",1894],"lp":[],"rp":["pi","ip","ipi","ppi","pii","pip","ipp"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",10470],"trp":["pia",13275],"trw":["piazza",530],"lp":["api","appi","apii"],"rp":["pia","paz","pazi","ipa","ppia","pai","pazz","piaz","iap","iapi","ipaz","iapp","pipa","piz","pizz","ppai"]},"162":{"input":[2,6,8],"tlp":["spi",10357],"trp":["isp",11667],"tlw":["spi",83],"lp":["spi"],"rp":["isp","pis","psi","ispi"]},"163":{"input":[1,2,6,8],"tlp":["spia",1284],"trp":["ispa",273],"tlw":["sappia",270],"trw":["passi",1081],"lp":["spia","apis","spaz","sapi","aspi"],"rp":["ispa","pais","isap","pias"]},"164":{"input":[3,6,8],"tlp":["epi",750],"trp":["pie",14120],"trw":["pie",288],"lp":["epi","eppi"],"rp":["pie","'i","ipe","i'","'ip","iep","pei","ppie","iepi","iepe"]},"165":{"input":[1,3,6,8],"tlp":["apie",832],"trp":["pez",2090],"trw":["pezzi",621],"lp":["apie","z'","zz'","ezz'","z'a","ai'"],"rp":["pez","pezz","'az","'azi","'ai"]},"166":{"input":[2,3,6,8],"tlp":["disp",3751],"trp":["pied",3956],"tlw":["spie",208],"trw":["piedi",2995],"lp":["disp","spie","dip","dipe","espi","d'i","dipi","s'i"],"rp":["pied","ispe","pid","'id","'ide","pedi","'esi","'is","pidi","ipes","'edi","kesp"]},"167":{"input":[1,2,3,6,8],"tlw":["appesi",112],"trw":["paesi",504],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",2675],"trp":["pit",7247],"tlw":["tipi",332],"lp":["tip","tipi"],"rp":["pit","piv","piti","pitt","ipit"]},"169":{"input":[1,4,6,8],"tlp":["apit",4239],"trp":["pita",2661],"trw":["piatti",270],"lp":["apit","apiv","vap"],"rp":["pita","pav","piat","pavi","piva","pati","pava","ipat"]},"170":{"input":[2,4,6,8],"tlp":["cip",5282],"trp":["pic",6757],"tlw":["tipici",78],"lp":["cip","cipi","spit","scip","stip","tisp"],"rp":["pic","picc","pisc","pist","ipic","psic","icip","pick","pici"]},"171":{"input":[1,2,4,6,8],"tlw":["capi",635],"trw":["passava",443],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",3818],"trp":["pri",41676],"tlw":["ripete",508],"trw":["pri",723],"lp":["rip","ripr","ripe","v'","v'e"],"rp":["pri","pir","peri","pev","piri","priv","piet","pire","prie","ipr","ipet","ipre","prir","prev","pier"]},"173":{"input":[1,3,4,6,8],"tlw":["apri",920],"trw":["parti",1322],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["specie",1573],"trw":["presi",303],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["sapeva",2346],"trw":["piacere",1214],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",125525],"trw":["mi",29736],"lp":[],"rp":["mi","im","min","imp","imi","mini","mpi","mmi","imm","nim","mmin","pin","inim","immi","mim","mimi","impi","pini","ph","ipin"]},"177":{"input":[1,5,6,8],"tlp":["ami",11196],"trp":["ima",27754],"tlw":["anima",623],"trw":["mai",10502],"lp":["ami","anim","ammi","ampi"],"rp":["ima","iam","mai","mia","mani","mina","hiam","pian","imma","iama","nima","iman","maz","impa","mazi","manz"]},"178":{"input":[2,5,6,8],"tlp":["sim",7979],"trp":["mis",8876],"tlw":["spin",81],"trw":["misi",410],"lp":["sim","ssim","simi","spin","smi","simp","smis","sism"],"rp":["mis","miss","mmis","ism","pins","misi","nism","imis","jim","mk"]},"179":{"input":[1,2,5,6,8],"tlw":["spina",102],"trw":["massima",364],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["empi",4592],"trp":["ime",13962],"tlw":["ehm",84],"trw":["miei",2459],"lp":["empi","emi"],"rp":["ime","imen","'in","mie","'h","iem","'im","pien","ieme","miei","'imp","impe","imme","h'","mine","ipen","inem","'imm"]},"181":{"input":[1,3,5,6,8],"tlw":["zampe",282],"trw":["piena",963],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["dimmi",325],"trw":["insieme",2565],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["assieme",502],"trw":["pensai",375],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",12886],"trp":["mbi",7548],"tlw":["tim",512],"trw":["miti",105],"lp":["tim","ttim","vim","timi","bim","bimb"],"rp":["mbi","mit","mbin","imit","ntim","imb","pint","mpit","miti","itm","mbit","miv","mith","mpiv"]},"185":{"input":[1,4,5,6,8],"tlw":["bambini",1251],"trw":["mattina",971],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",194],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["amici",1446],"trw":["macchina",1679],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["tempi",1297],"trw":["perrin",1178],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["veramente",1194],"trw":["prima",12710],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["sentimenti",600],"trw":["perche",14386],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["sembrava",3174],"trw":["presenza",1054],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",170696],"trw":["po",1713],"lp":[],"rp":["po","op","opo","ppo","opp","oppo","pop","popo","oop","ppop"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["appo",3603],"trp":["opa",1076],"lp":["appo","apo"],"rp":["opa","oppa","pao"]},"194":{"input":[2,7,8],"tlp":["spo",12332],"trp":["pos",30275],"tlw":["spo",162],"trw":["posso",2175],"lp":["spo","spos","sop","sosp","sopp"],"rp":["pos","poss","osp","opos","poso","ppos"]},"195":{"input":[1,2,7,8],"tlp":["sapo",395],"trp":["posa",1234],"tlw":["sposa",181],"trw":["passo",2265],"lp":["sapo","aspo","apos"],"rp":["posa"]},"196":{"input":[3,7,8],"tlp":["epo",996],"trp":["'o",10586],"trw":["po'",5326],"lp":["epo","eop","eppo"],"rp":["'o","ope","o'","poe","po'","'op","'ope","peo","'epo","oppe","oope","opeo","'opp","opee"]},"197":{"input":[1,3,7,8],"tlp":["eopa",82],"trp":["opea",192],"lp":["eopa"],"rp":["opea"]},"198":{"input":[2,3,7,8],"tlp":["dop",11237],"trp":["pose",2787],"tlw":["dopo",9632],"trw":["peso",740],"lp":["dop","dopo","d'o","espo","dopp","depo","epos"],"rp":["pose","poes","ospe","peso","os'","os'e","'od","'os","'odo","pod","opod","pode","'osp"]},"199":{"input":[1,2,3,7,8],"tlw":["appeso",230],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",650],"trp":["pot",22315],"tlw":["topo",171],"lp":["top","topo","ttop"],"rp":["pot","pog","ppog","pogg","pott","opot","ppot","opog"]},"201":{"input":[1,4,7,8],"trp":["pag",5925],"trw":["patto",180],"lp":[],"rp":["pag","paga","pato","opag","pago","ppag"]},"202":{"input":[2,4,7,8],"tlp":["cop",6022],"trp":["post",9448],"tlw":["scopo",742],"trw":["poco",4741],"lp":["cop","scop","copp","copo","coop","spog","cosp"],"rp":["post","poc","poco"]},"203":{"input":[1,2,4,7,8],"tlw":["capo",2162],"trw":["passato",1802],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",21378],"trp":["pro",42777],"tlw":["troppo",4434],"trw":["pero",4668],"lp":["rop","ropr","trop","ropp","rpo","ropo"],"rp":["pro","por","opr","port","pote","prop","oper","pero","'or","orp","potr","ppor","orpo","poet"]},"205":{"input":[1,3,4,7,8],"tlw":["rapporto",1150],"trw":["porta",4253],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["corpo",2667],"trw":["presto",1698],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["sopra",3357],"trw":["peccato",398],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["mo",124534],"trw":["puo",6756],"lp":[],"rp":["mo","om","pu","mpo","um","mon","omp","up","uom","mu","omo","puo","pun","uomo","omm","mom","nom","ppu","pon","mun"]},"209":{"input":[1,5,7,8],"tlp":["amo",18506],"trp":["oma",10024],"tlw":["amo",246],"trw":["mano",6828],"lp":["amo","ampo","appu","apu","aum","amon"],"rp":["oma","mano","oman","ompa","uma","uman","pau","upa","munq","omma","napo","mona","uam","nuam"]},"210":{"input":[2,5,7,8],"tlp":["sup",3910],"trp":["mos",4879],"tlw":["sommo",127],"trw":["possono",1433],"lp":["sup","spon","som","smo","somm","sum","spu","ssum","supp","spun"],"rp":["mos","mus","mpos","nsom","moss","pons","moso","nsum","mous","moos"]},"211":{"input":[1,2,5,7,8],"tlw":["somma",313],"trw":["pausa",424],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["empo",10444],"trp":["ome",58690],"trw":["meno",4910],"lp":["empo","emo","eppu"],"rp":["ome","'u","meno","omen","un'","ume","mome","'un","'uo","'uom","nome","upe","nume","umen","omme","n'o","un'o"]},"213":{"input":[1,3,5,7,8],"trw":["umane",290],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["d'un",897],"trw":["modo",7852],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["domanda",1306],"trw":["pensando",468],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",2271],"trp":["punt",7081],"tlw":["tom",318],"trw":["punto",4093],"lp":["tom","tup","gom"],"rp":["punt","mont","omb","potu","pub","pubb","mot","mog","mbo","put","mob","pug","mut","pugn","moto","puto","pont"]},"217":{"input":[1,4,5,7,8],"tlw":["appunto",879],"trw":["punta",775],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["com",539],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["campo",1259],"trw":["manco",711],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["tempo",9244],"trw":["momento",5714],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forma",2605],"trw":["paura",1888],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["come",44183],"trw":["persone",2066],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["comunque",2203],"trw":["persona",1755],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["poi",14737],"trw":["poi",13201],"lp":[],"rp":["poi","pl","pol","pio","pli","lp","poli","olp","ipo","opol","lpo","olpo","oppi","lpi","olpi","opi","polo","ipio","ppio","ipl"]},"225":{"input":[1,6,7,8],"tlp":["alp",617],"trp":["pal",8270],"trw":["paio",1036],"lp":["alp","apol","alap"],"rp":["pal","pall","pola","paio","pala","ipal","pla","lpa","olpa","poz","pozz","palp","pali","pila","opia","lap","paol"]},"226":{"input":[2,6,7,8],"tlp":["spl",884],"trp":["ispo",7900],"tlw":["spio",684],"trw":["polso",267],"lp":["spl","spio","splo","spli"],"rp":["ispo","posi","ospi","pols","ipos","piso","lpis","plos"]},"227":{"input":[1,2,6,7,8],"tlw":["spazio",928],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["ell'",11381],"trp":["l'",63315],"trw":["pelle",1317],"lp":["ell'","epl","epli"],"rp":["l'","ll'","l'i","l'o","l'e","pel","ll'i","pell","ple","ll'e","ll'o","lpe","'io","l'op","ppel","pelo","olpe"]},"229":{"input":[1,3,6,7,8],"tlw":["appello",93],"trw":["pezzo",996],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["doppio",286],"trw":["poesie",742],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["spalle",2219],"trw":["poesia",1881],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tipo",1710],"trp":["pito",3299],"tlw":["tipo",1710],"trw":["piglio",445],"lp":["tipo","topi","volp"],"rp":["pito","pov","pig","pigl","piog","ipot","polv","polt","lpit","poti","ipig","pogl","piov","lpiv"]},"233":{"input":[1,4,6,7,8],"tlw":["appoggio",268],"trw":["pioggia",738],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["colpo",1583],"trw":["piccolo",2047],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["capito",1303],"trw":["piccola",1514],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["proprio",7247],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"trw":["poteva",4863],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["rispose",2477],"trw":["percio",1506],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["capelli",2276],"trw":["particolare",1528],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["piu",40881],"trw":["piu",38322],"lp":[],"rp":["piu","lm","imo","omi","mol","omin","mio","mpl","mil","uomi","impo","ilm","mpli","lim","ompl","ommi","mili","mpio","imil","umi"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["animali",640],"trw":["piano",2006],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simili",901],"trw":["luminoso",184],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["siamo",2506],"trw":["possiamo",953],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["l'uomo",2192],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["almeno",2906],"trw":["mezzo",2952],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["esempio",1778],"trw":["modi",645],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["domani",713],"trw":["posizione",1014],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"trw":["molto",8286],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["abbiamo",2561],"trw":["montalbano",3474],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["comincio",1412],"trw":["piuttosto",1744],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["amico",1691],"trw":["possibilita",1220],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"trw":["meglio",3762],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["finalmente",1303],"trw":["ormai",2373],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["semplice",1455],"trw":["possibile",2609],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["commissario",2277],"trw":["l'unica",795],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/nl-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/nl-keymap.json index 4ce0c11bf4..2869e8f77c 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/nl-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/nl-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",565178],"tlw":["a",1899],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",31510],"tlw":["s",593],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["wa",249084],"tlw":["was",91211],"lp":["wa","as","was","waa","sa","aas","ass","ssa","ws","wass","assa","sw","aw","saa","swa","swaa","ww","awa","awaa","waas"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",595701],"tlw":["e",445],"lp":["ee","eee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",9134],"tlw":["x",171],"lp":["ea","ex","ax","ae","xe","xa","eaa","exa","axe","exe"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",835524],"tlw":["de",381576],"lp":["de","es","ed","se","ede","dd","dde","ds","eed","ees","sse","dee","eds","eeds","deed","ess","sd","ese","dse","eede"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",270505],"tlw":["we",27843],"lp":["da","we","ad","wee","daa","ew","ewe","ade","add","adde","eda","wees","ewee","wd","dw","aad","edaa","wde","asse","ada"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",33524],"tlw":["t",381],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",290899],"tlw":["af",9932],"lp":["at","ta","aat","af","ft","taa","fa","ff","taat","taf","att","tat","aaf","aatt","ata","aff","fat","tf","tta","aft"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",260352],"tlw":["c",381],"lp":["st","sc","ts","ct","tst","ssc","cc","stt","tsc","tc","sts","stst","sst","stsc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ac",73946],"tlw":["wat",36195],"lp":["ac","wat","sta","tw","ast","staa","ats","aats","fs","wac","ca","aast","atst","act","afs","tas","fst","twa","fac","tac"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",710975],"tlw":["te",105276],"lp":["er","et","te","re","eer","ter","ere","rt","tr","ete","tte","ert","ree","eet","rte","tre","tee","ett","rr","ette"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",396560],"tlw":["extra",700],"lp":["ar","aar","ra","ef","raa","eef","are","ate","eft","eeft","fe","art","tra","era","ater","fr","rat","ara","afe","ffe"],"rp":[]},"14":{"input":[2,3,4],"tlp":["rd",138895],"tlw":["eerste",6507],"lp":["rd","der","ste","rs","erd","rde","ers","est","dr","ec","erde","dere","ets","rst","eder","erst","eest","eerd","ster","str"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["dat",155858],"tlw":["dat",136467],"lp":["dat","waar","wer","daar","war","fd","ard","weer","ware","werd","rw","erw","twe","twee","dac","aard","dra","fde","weet","ader"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",51105],"trw":["n",1346],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",559245],"trp":["na",127869],"tlw":["aan",55690],"trw":["na",10653],"lp":["an","aan","ann","ana","anna","aann","anaa","aq"],"rp":["na","naa","nna","nan","naan","nnaa"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",9856],"trp":["jn",169981],"trw":["j",357],"lp":["sn","sj"],"rp":["jn","ns","js","nj","jns"]},"19":{"input":[1,2,5],"tlp":["wan",14017],"trp":["ja",31023],"tlw":["san",173],"trw":["ja",6777],"lp":["wan","ans","wann","aans","anw","sna","san","aanw","anj","aj","asj"],"rp":["ja","jaa","jna","nw","naas","jan","jas","jw","nja"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",1522448],"trp":["ne",132761],"tlw":["en",225891],"trw":["nee",4568],"lp":["en","een","ene","enen","enn","enne","enee","ey","eene","eeen"],"rp":["ne","nen","nne","nnen","nee","nnee","neen","ny","nny","yn"]},"21":{"input":[1,3,5],"tlp":["anne",10606],"trp":["ya",413],"tlw":["anne",219],"lp":["anne","ena","ane","enaa","anen","ean","ay","anee","eaan","enan","xan","exan","anny","xy","exy","eq","eena"],"rp":["ya","yan","nane"]},"22":{"input":[2,3,5],"tlp":["den",130605],"trp":["nd",254142],"tlw":["eens",9370],"trw":["je",69369],"lp":["den","ens","end","sen","ende","eden","eens","dden","ssen","ense","sje"],"rp":["nd","nde","je","jd","nden","nse","nsen","jde","jes"]},"23":{"input":[1,2,3,5],"tlp":["and",86982],"trp":["nda",7813],"tlw":["dan",33270],"trw":["new",907],"lp":["and","dan","ande","wen","aand","anda","daan","anse","ands","aden","wens","anwe","wend"],"rp":["nda","nad","ndaa","nwe","nada","nade","ndan"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",17696],"trp":["nt",98660],"tlw":["b",387],"lp":["bb","bt","tb","tn"],"rp":["nt","nb","ntb","ntt"]},"25":{"input":[1,4,5],"tlp":["ant",32323],"trp":["nat",8926],"tlw":["baan",878],"trw":["nat",410],"lp":["ant","ba","taan","tan","baa","ban","ab","anta","aant","tba","anaf","tant","fan","baan","fant"],"rp":["nat","nta","naf","nf","nba"]},"26":{"input":[2,4,5],"tlp":["tj",16496],"trp":["nst",10582],"lp":["tj","bs","sb","stj","stb","tsn"],"rp":["nst","nc","jt","nts","nsc","ntj","jst","jnt","ntst","ntsn","nct","jntj","ntsc","jb"]},"27":{"input":[1,2,4,5],"tlp":["want",6670],"trp":["jf",10865],"tlw":["want",6458],"trw":["naast",3850],"lp":["want","antw","stan","baas","anc","atj","fj","abs","bas","aatj","anst"],"rp":["jf","ntw","nac","jft","jac","nsta","ntac","nanc","ntas"]},"28":{"input":[3,4,5],"tlp":["be",171694],"trp":["nte",12846],"tlw":["ben",10919],"trw":["net",7100],"lp":["be","ten","ren","eb","ben","br","eren","ent","eten","bbe","bben","ebb","ebbe","rb","bee","rn","tten","bet","ber"],"rp":["nte"]},"29":{"input":[1,3,4,5],"tlp":["aren",23808],"trp":["naar",55710],"tlw":["eraan",1152],"trw":["naar",52688],"lp":["aren","aten","ran","rna","bra","arn","aarn","arna","baar","ante","bar","rba","erba","fran","eran","arb","fen","raan","rant"],"rp":["naar"]},"30":{"input":[2,3,4,5],"tlp":["rden",25498],"trp":["nder",65247],"tlw":["beetje",4094],"lp":["rden","bes","tje","bed","sten","best","etj","etje","eetj","tend","cen","rend","besc","cent","enst","tjes"],"rp":["nder","nste","ntje","ndr"]},"31":{"input":[1,2,3,4,5],"tlw":["waren",17010],"trw":["jaar",7230],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",416],"trw":["i",704],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["zi",217546],"trp":["ia",10521],"tlw":["z",113],"lp":["zi","za","ai","zaa","aai","az","azi","zz","zia","azia","zaai","zzi"],"rp":["ia","iz","iaa","iza","izi","izaa","izz","izzi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",19356],"trp":["ik",185103],"trw":["ik",149098],"lp":["si","ssi","sk","sis","ssis"],"rp":["ik","is","kk","ki","iss","ks","ikk","kki","iks","isi","isk","issi","kis","ikki","isis"]},"35":{"input":[1,2,6],"tlp":["wi",80880],"trp":["ka",52225],"tlw":["zaak",1687],"trw":["kaas",199],"lp":["wi","ak","aak","zw","wis","zwa","akk","zak","zaak","wak","zwaa","wakk","zwi"],"rp":["ka","kw","kwa","kaa","ika","kas","kwaa"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",112497],"trp":["ie",427576],"tlw":["ei",126],"trw":["ie",333],"lp":["ei","eie","eei"],"rp":["ie","iee"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",250139],"trp":["ize",3585],"tlw":["ze",116542],"lp":["ze","ez","zei","eze","zie","ezi","ezie","zee","aze","aie","eiz","aaie","eza","eize","xi","axi","eiza"],"rp":["ize","iez","ieze"]},"38":{"input":[2,3,6],"tlp":["di",156986],"trp":["ke",180090],"tlw":["die",84576],"trw":["keek",10339],"lp":["di","ek","die","eke","eek","eid","ekk","ekke"],"rp":["ke","id","kke","kee","ide","keek","ied","idd","iede","iek","ies","idde"]},"39":{"input":[1,2,3,6],"tlp":["ake",15537],"tlw":["deze",10880],"trw":["kwaad",950],"lp":["ake","dez","deze","wie","akke","zek","zeke","aid","wei","aaid","aide","wez","wek","ziek","week","zes","zwe","ewi","zake","adi"],"rp":[]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",92155],"trp":["it",127567],"tlw":["tv",365],"trw":["it",435],"lp":["ti","vi","tv","tti","tit","vit","titi","tiv","tivi","viv","tvi","vivi"],"rp":["it","itt","iti","iv","ivi","itv","ivit","itti"]},"41":{"input":[1,4,6],"tlp":["va",224506],"trp":["if",3864],"tlw":["zat",6137],"trw":["if",78],"lp":["va","zit","av","ati","zat","fi","zitt","vaa","tz","fti","ffi","via","tzi","avi","vat","tai"],"rp":["if","ita","itz","ift"]},"42":{"input":[2,4,6],"tlp":["sti",15829],"trp":["ic",74589],"tlw":["vis",333],"trw":["kist",358],"lp":["sti","ci","ck","cti","tis","sit","tisc","vis","tk","tik","sv"],"rp":["ic","kt","ist","issc","ikt","isc","its","ici","kst"]},"43":{"input":[1,2,4,6],"tlp":["zic",46006],"trp":["kat",1851],"tlw":["wist",7236],"trw":["kast",575],"lp":["zic","akt","aakt","wist","vas","vast","twi","wit","vaak","zac","tak","stak","witt","asti","acti","vak","cia","ack"],"rp":["kat","kast"]},"44":{"input":[3,4,6],"tlp":["ve",223463],"trp":["iet",126034],"tlw":["vier",2544],"lp":["ve","ver","ri","ev","vr","eve","tie","rie","eri","vee","rv","vert","erv","vri","rei","vie"],"rp":["iet","ier","ite","itte"]},"45":{"input":[1,3,4,6],"tlp":["ari",10534],"trp":["ief",8550],"tlw":["zette",2378],"lp":["ari","zet","rz","vra","eva","rva","atie","vraa","zett","erz","raai","vera","erva","arv","aarv","ave","verz","aari","var"],"rp":["ief"]},"46":{"input":[2,3,4,6],"tlp":["rk",33984],"trp":["iets",24709],"tlw":["dit",13642],"trw":["iets",14243],"lp":["rk","erk","dit","verd","rek","dri","vers","rke","erke","eker","ric","tek","drie"],"rp":["iets","kte","ker","kr","keer","iste","kri"]},"47":{"input":[1,2,3,4,6],"tlw":["vader",6824],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",343391],"trw":["in",146093],"lp":[],"rp":["in","hi","ni","inn","nin","nh","ini","nni","hin","hn","nnin","inni","inh","hni","hnn","ih","nhi","inin","inhi"]},"49":{"input":[1,5,6],"tlp":["zin",7282],"trp":["ha",212677],"tlw":["zin",2379],"trw":["hanna",165],"lp":["zin","ani","ah","anz","anni","zinn","anh","zan","aanz"],"rp":["ha","haa","han","nz","hz","ina","nzi","ian","inz","nza","nzin"]},"50":{"input":[2,5,6],"trp":["ij",550946],"trw":["hij",131508],"lp":[],"rp":["ij","ijn","hij","jk","ijk","nk","kin","kij","kijk","ji","kn","ink","jij","nis","ins","nik","ijs","kni","hijn","isj"]},"51":{"input":[1,2,5,6],"tlp":["zij",124236],"trp":["kan",22915],"tlw":["zijn",106271],"trw":["kan",12791],"lp":["zij","zijn","wij","ank","win","wijz","wijn","wijs","anks","aank","zwij","wink"],"rp":["kan","jz","ijz","ijna","kans","haas","kaan","kwij"]},"52":{"input":[3,5,6],"tlp":["ein",21712],"trp":["he",426236],"tlw":["eh",524],"trw":["hen",5498],"lp":["ein","eh","eni","eine","ehe","enin","eini","enh"],"rp":["he","nie","ien","hee","hie","inne","hei","ine","hen","heen","hien","nhe"]},"53":{"input":[1,3,5,6],"tlp":["zien",14842],"trp":["nze",8382],"tlw":["zien",8781],"trw":["inzien",116],"lp":["zien","zen","eha","ezen","anie","enz","azen","ezin","ehan","aien","anze","ehaa","enza","eenz","enzi"],"rp":["nze","hze","izen","nzen","hae"]},"54":{"input":[2,3,5,6],"tlp":["eken",22412],"trp":["ken",85243],"tlw":["denk",3418],"trw":["kijken",4068],"lp":["eken","enk","din","denk","enke"],"rp":["ken","ind","ijd","nke","jke","ijke","inde","kken","heid","kind","iend","ndi","nken","kend","ijde"]},"55":{"input":[1,2,3,5,6],"tlw":["weken",1635],"trw":["had",55453],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",59526],"trp":["ht",123626],"tlw":["bh",81],"lp":["bi","th","vin","bin","binn","tin","ttin"],"rp":["ht","hti","int","nti","nv","htt","htin","inti","htb","hit","ntv","ib","nth"]},"57":{"input":[1,4,5,6],"tlp":["van",189387],"trp":["hat",1531],"tlw":["van",171860],"trw":["haat",432],"lp":["van","vana","anti","tha","anv","aanv","anva","fin","ath","anav","abi","fh"],"rp":["hat","nva","nati","htba","inf","nav","hav","haat"]},"58":{"input":[2,4,5,6],"tlp":["ch",268567],"trp":["ich",66755],"tlw":["bij",29299],"trw":["kijkt",1607],"lp":["ch","cht","sch","bij","tij","chi","schi","chti","ssch","vij","bijn","chij"],"rp":["ich","icht","jv","ijv","isch","jkt","ijkt","hts"]},"59":{"input":[1,2,4,5,6],"tlw":["zich",32148],"trw":["kant",2963],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["ven",53110],"trp":["het",230522],"tlw":["even",9723],"trw":["het",226716],"lp":["ven","even","rin","rh","erh","erin","rien","the","verb"],"rp":["het","niet","hte","heb","hter","hebb","her","hten","hier","hr","iten"]},"61":{"input":[1,3,4,5,6],"tlw":["zitten",5880],"trw":["haar",73072],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["tijd",8288],"trw":["niets",8728],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["achter",7426],"trw":["hard",1821],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",285058],"trw":["o",2376],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",407],"trp":["oa",7486],"lp":["ao"],"rp":["oa","ooa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",27187],"trp":["os",19065],"tlw":["so",132],"lp":["so","soo","sso"],"rp":["os","oos","oss","oso","osoo"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",53022],"trp":["ow",2105],"lp":["wo","woo","aso","aos","sow","woa"],"rp":["ow","owa","osa","owaa","ossa"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",2682],"trp":["oe",232725],"trw":["-",7439],"lp":["eo","e-","eoo","eoe"],"rp":["oe","o-","-o","-oo"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",189],"trp":["-a",938],"lp":["xo","exo","a-","x-","ex-"],"rp":["-a","o-a","ox","oea"]},"70":{"input":[2,3,7],"tlp":["do",77681],"trp":["oed",31676],"tlw":["dood",3509],"lp":["do","doo","doe","dood","edo","so-","edoe","dod","dode","se-"],"rp":["oed","od","oes","oede","ood","ode","-s","ods","ose","oods"]},"71":{"input":[1,2,3,7],"tlp":["ewo",10898],"trp":["oda",3201],"tlw":["woede",613],"lp":["ewo","ewoo","woe","woed","dwo","woes","edwo","ado","so-a","d-a","dow","ados","wod"],"rp":["oda","oew","oewe","owe","-w","-we","oad"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",114612],"trp":["og",71340],"tlw":["tot",16339],"trw":["oog",1205],"lp":["to","go","tot","gt","gg","tg","too","goo","tto","toot","got"],"rp":["og","ot","oot","oog","ott","oto","otto","ogt","oogt"]},"73":{"input":[1,4,7],"tlp":["ag",68842],"trp":["of",61079],"tlw":["gaat",6123],"trw":["of",29931],"lp":["ag","ga","gaa","fo","aag","gaat","gaf","fg","afg","foo","fot","foto","gat","tof","agt","aagt"],"rp":["of","oof","off","oga"]},"74":{"input":[2,4,7],"tlp":["sto",24832],"trp":["oc",27927],"tlw":["stoot",131],"trw":["oogst",77],"lp":["sto","co","toc","gs","gst","sg","stoo","gc","sgc","soc","cto"],"rp":["oc","ots","ost","oots","otst","oost","ogs","oogs","ogst"]},"75":{"input":[1,2,4,7],"tlp":["sof",6578],"trp":["oca",652],"tlw":["stof",570],"lp":["sof","two","twoo","gas","wag","gast","stof","woog","wsg","gw","aco","ags","wog","astg","sag","ssag","twag"],"rp":["oca","ocaa","osof"]},"76":{"input":[3,4,7],"tlp":["ge",441497],"trp":["or",220309],"tlw":["toe",7828],"trw":["oor",713],"lp":["ge","ro","eg","ege","gr","toe","rg","gee","roe","gro","ger","teg","tege","rge","erg"],"rp":["or","oor","oet","oge","oeg"]},"77":{"input":[1,3,4,7],"tlp":["age",21589],"trp":["-f",7172],"tlw":["graag",2369],"lp":["age","aro","aaro","raag","gra","rag","rage","t-f","t-fa","ega","fge","afge","for","graa","arg"],"rp":["-f","-fa","oef","ora","-fo"]},"78":{"input":[2,3,4,7],"tlp":["door",33484],"trp":["ord",50515],"tlw":["door",27762],"lp":["door","gd","ges","goed","ged","gde","egd","dro","gest","rdo","gesc","god","egde"],"rp":["ord","orde","oord","oest","ordt","ors","orst"]},"79":{"input":[1,2,3,4,7],"tlw":["weg",9038],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",217953],"trw":["nu",18377],"lp":[],"rp":["on","ou","no","un","nu","uu","oon","unn","noo","nou","onn","non","ono","nno","nuu","oun","onno","uno","nnu","oonn"]},"81":{"input":[1,5,7],"tlp":["au",17538],"trp":["nau",2224],"tlw":["qua",92],"trw":["oan",54],"lp":["au","ano","anu","qu","qua","anon","anua","aou"],"rp":["nau","ua","ona","onaa","oan","nua","uan","onna","oq","oqu","nao","noa"]},"82":{"input":[2,5,7],"tlp":["su",4221],"trp":["us",37357],"tlw":["suus",122],"trw":["ons",10726],"lp":["su","soon","son","sno"],"rp":["us","jo","ons","ju","jon","uss","jou","nos","ous","joo","uns","usj","jos","oj","osj","jus"]},"83":{"input":[1,2,5,7],"tlp":["woon",7683],"trp":["uw",53486],"tlw":["wou",586],"trw":["uw",2686],"lp":["woon","auw","won","wu","wus","anos","wou","aus","wonn"],"rp":["uw","ouw","nauw","uws","jouw","nwo","nwoo","onw","nuw","uwa","nuwa"]},"84":{"input":[3,5,7],"tlp":["eu",50132],"trp":["oen",39532],"trw":["you",472],"lp":["eu","eno","enoe","eeu","eun","enu","enoo"],"rp":["oen","unne","noe","one","onne","oene","neu","ue","n-","onen","yo","onee","you"]},"85":{"input":[1,3,5,7],"tlp":["eau",2046],"trp":["ux",203],"lp":["eau","que","e-na","equ","eque","enau","xon","an-","ean-","quen","ena-"],"rp":["ux","uxe","-na","oya","-an","o-an","na-","oyaa"]},"86":{"input":[2,3,5,7],"tlp":["du",25835],"trp":["ond",80377],"tlw":["doen",9594],"trw":["oude",3893],"lp":["du","doen","dus","deu","don","eus","edu"],"rp":["ond","onde","ud","oud","ude","oude","uden","usse","nod","udd","udde","oden","oond"]},"87":{"input":[1,2,3,5,7],"tlw":["wonen",867],"trw":["ouwe",411],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bo",35213],"trp":["ng",141175],"tlw":["boog",1018],"trw":["nog",33780],"lp":["bo","tu","ton","bu","tuu","gon","boo","gu","bou"],"rp":["ng","nog","ont","ong","ut","ug","ob","unt","uto","ub","out"]},"89":{"input":[1,4,5,7],"tlp":["ang",42251],"trp":["natu",6022],"tlw":["gaan",11291],"trw":["nota",126],"lp":["ang","gaan","fon","font","atu","atuu","gan","aut","auto","aang","gang","foon","bang","anto","tua"],"rp":["natu","uf","onta","uff","noga"]},"90":{"input":[2,4,5,7],"tlp":["ston",12659],"trp":["uc",9757],"tlw":["boos",682],"trw":["jong",894],"lp":["ston","stu","tus","tuss","con","cont","stuu","cu","bos","conc"],"rp":["uc","ust","jong","jg","ngs","ngst","onts","jgt","onc","noc"]},"91":{"input":[1,2,4,5,7],"tlw":["angst",1249],"trw":["jacob",378],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gen",143754],"trp":["ur",56772],"tlw":["toen",23218],"trw":["ogen",8241],"lp":["gen","ru","egen","toen","geen","eur","geb","rou","beg","ron","eru","rug","geno","ggen"],"rp":["ur","nge","ngen","uur","onge","ogen"]},"93":{"input":[1,3,4,5,7],"tlw":["gegaan",1465],"trw":["naartoe",554],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["stond",8649],"trw":["onder",8950],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["worden",11389],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["li",171979],"trw":["l",236],"lp":[],"rp":["li","ll","lo","il","ol","oi","ooi","loo","ill","lli","ili","oll","io","oli","ool","ilo","olo","illi","llo","oil"]},"97":{"input":[1,6,7],"tlp":["al",225980],"trp":["la",129950],"tlw":["zo",26684],"trw":["la",525],"lp":["al","zo","all","aal","zal","zoa","zoal","ali","zoo","zoi"],"rp":["la","laa","oal","oz","lla","olla","ola","ial","laz","lia"]},"98":{"input":[2,6,7],"tlp":["sl",31416],"trp":["ls",78404],"tlw":["slok",358],"trw":["ook",30107],"lp":["sl","slo","sli","sloo"],"rp":["ls","ko","ok","ook","kl","lk","lik","lso","klo","okk","los","lis","olk","loos","kli","koo"]},"99":{"input":[1,2,6,7],"tlp":["als",67283],"trp":["lka",8548],"tlw":["als",51537],"trw":["las",791],"lp":["als","wil","sla","also","will","slaa","wal","wol","alis","zow"],"rp":["lka","lkaa","kla","oals","las","lak","klaa","lw","kal","klas"]},"100":{"input":[3,6,7],"tlp":["el",334993],"trp":["le",209513],"tlw":["el",147],"trw":["leo",319],"lp":["el","eli","ele","eel","ell","elle","elo","eil","eloo"],"rp":["le","lle","lee","lie","oel","lei","iel","llee","ille","loe","oei"]},"101":{"input":[1,3,6,7],"tlp":["alle",39915],"trp":["lez",2818],"tlw":["alle",6909],"trw":["lizzie",74],"lp":["alle","zel","ale","ela","zoe","ezel","ezo","ezoe","zoie","elaa","eal","ziel","ael"],"rp":["lez","oze","leze","laze","iale","oez","lezi"]},"102":{"input":[2,3,6,7],"tlp":["eld",44452],"trp":["ld",72634],"tlw":["elke",2943],"trw":["leek",4071],"lp":["eld","del","elde","elk","deli","els","esl"],"rp":["ld","lde","kel","oek","kle","ild","ilde","les","lles","keli","klei","led","lke"]},"103":{"input":[1,2,3,6,7],"tlw":["wel",21511],"trw":["kale",288],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",141909],"trp":["ig",90099],"tlw":["vol",3408],"trw":["ooit",2846],"lp":["vo","voo","gi","vol","tig","volg","vl","gl","gli"],"rp":["ig","ov","lt","lg","oit","ooit","olg","lig","lti","lot","lit"]},"105":{"input":[1,4,6,7],"tlp":["alt",12700],"trp":["lf",27918],"tlw":["zag",8836],"trw":["laat",4912],"lp":["alt","val","zag","alti","tal","fl","avo","vall","zig","gla","alf","zov","vla","taal","gz"],"rp":["lf","laat","lat","lag","loof"]},"106":{"input":[2,4,6,7],"tlp":["stig",5578],"trp":["lic",9686],"tlw":["stil",1726],"trw":["kost",381],"lp":["stig","slot","stil","col","gis","cl","sig","volk","voc","gist","tok","stok"],"rp":["lic","kig","kkig","okt","lots","kost","koc","lst"]},"107":{"input":[1,2,4,6,7],"tlw":["alsof",6162],"trw":["last",650],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["voor",79011],"trp":["ove",54444],"tlw":["voor",54531],"trw":["over",27647],"lp":["voor","gel","rl","tel","gev","vro","voe","erl","veel","rli","voel","eig","vroe","evo","eige"],"rp":["ove","over","ige","lev","leve"]},"109":{"input":[1,3,4,6,7],"tlw":["zelf",5574],"trw":["later",4901],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["voelde",4707],"trw":["kreeg",3295],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["elkaar",7935],"trw":["laatste",4077],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ui",114860],"trw":["hun",16526],"lp":[],"rp":["ui","ho","hu","hoo","lu","ul","hui","hou","hun","lin","nl","nooi","lui","nli","ull","hon","lon","ulli","hul","uin"]},"113":{"input":[1,5,6,7],"tlp":["zou",30976],"trp":["lan",39246],"tlw":["zou",25914],"trw":["hal",496],"lp":["zou","zon","zu","zul","zull","zoon","anui"],"rp":["lan","hal","onz","haal","uz","lau","uiz","nal","uzi","nla","nlan","llan","laan"]},"114":{"input":[2,5,6,7],"trp":["lij",77650],"trw":["kon",15534],"lp":[],"rp":["lij","lijk","uis","uk","kon","ku","kun","huis","kunn","jl","ijl","nlij","onk","uik","luk","ukk","jul","luis","jull","link"]},"115":{"input":[1,2,5,6,7],"tlw":["zus",901],"trw":["hals",521],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["elen",11125],"trp":["len",43428],"tlw":["ellen",353],"trw":["hoe",13915],"lp":["elen","eho","elu","enl","elin","enli"],"rp":["len","hoe","llen","hel","hele","leen","heel","ieu","nieu","nel","lein","leu","hiel","ly"]},"117":{"input":[1,3,5,6,7],"tlw":["alleen",11766],"trw":["onze",5956],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["snel",4364],"trw":["kunnen",11536],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["zouden",4749],"trw":["nieuwe",3839],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",35668],"trp":["ing",72541],"tlw":["ging",11015],"trw":["uit",32730],"lp":["bl","gin","ging","bli","von","bov","bui","buit","ting","blo","tui","ving","gh"],"rp":["ing","uit","ling","nig","ning","htig","hoog"]},"121":{"input":[1,4,5,6,7],"tlw":["vanuit",1383],"trw":["lang",5446],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["toch",11105],"trw":["kunt",2792],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["blijft",1361],"trw":["langs",3708],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["eigen",5173],"trw":["leven",7694],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["zeggen",6400],"trw":["laten",6557],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["vond",4220],"trw":["krijgen",3495],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["altijd",8787],"trw":["hoofd",7271],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",12540],"trw":["p",961],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",30480],"trp":["pa",44369],"tlw":["aap",260],"trw":["papa",882],"lp":["ap","app","aap","apa","appa"],"rp":["pa","paa","pap","ppa","papa","papp"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",30385],"trp":["ps",2263],"lp":["sp"],"rp":["ps","psp"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",3276],"trp":["pas",6100],"trw":["pas",3162],"lp":["spa","wap","asp","spaa","aps","wsp","wapp"],"rp":["pas","pass","pw","pasp","ppas"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",32631],"trp":["pe",64915],"trw":["'",114697],"lp":["ep","epe","eep","epp","eppe","e'","ee'"],"rp":["pe","ppe","pee","'e","'ee","''","pep","pepe","'p"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["appe",4414],"trp":["'a",772],"trw":["px",303],"lp":["appe","ape","epa","epaa","a'","xp","exp","xpe","expe","apa'"],"rp":["'a","px","pape","pa'"]},"134":{"input":[2,3,8],"tlp":["spe",7419],"trp":["'s",4942],"trw":["'s",2281],"lp":["spe","esp","spee","dp","espe","sep","d'","dep","eps","dpe","d's","epse"],"rp":["'s","'d","pd","'de","pes","pese","pse","ped"]},"135":{"input":[1,2,3,8],"tlp":["wape",918],"trp":["'w",3268],"tlw":["da's",142],"trw":["'we",656],"lp":["wape","a's","aspe","espa","dap","dapp","epas","dpa","da'","ewap"],"rp":["'w","'wa","'da","pad","'we","'waa","pda","padd","'daa","'wee"]},"136":{"input":[4,8],"tlp":["tp",294],"trp":["pt",17059],"trw":["pt",3175],"lp":["tp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",4643],"trp":["pat",1164],"trw":["pat",62],"lp":["tap","apt","tapt","tapp","aapt","tpa","tpaa","fp","afp","aafp"],"rp":["pat","patt"]},"138":{"input":[2,4,8],"tlp":["tsp",813],"trp":["pst",986],"lp":["tsp"],"rp":["pst","psc"]},"139":{"input":[1,2,4,8],"tlp":["stap",4318],"trp":["past",1080],"tlw":["stap",923],"trw":["past",219],"lp":["stap","fsp","afsp","tspa","cap","capa","apst","spac","spat"],"rp":["past","psta","pac","pats"]},"140":{"input":[3,4,8],"tlp":["rp",6434],"trp":["pr",39150],"trw":["'t",3159],"lp":["rp","erp","reep","ept","rpe","erpe","rep","epr","epte","repe","eper"],"rp":["pr","per","pre","pte","'t","pet","pper","pete","pree"]},"141":{"input":[1,3,4,8],"tlp":["rap",4098],"trp":["pra",9631],"tlw":["trap",1366],"trw":["paar",6885],"lp":["rap","apte","trap","rapp","tape","rapt","apar","epar","epra"],"rp":["pra","paar","par","prat","praa","part","ppar","para","perf","pera","patr"]},"142":{"input":[2,3,4,8],"tlp":["spr",12727],"trp":["pers",3101],"tlw":["respect",322],"trw":["pers",244],"lp":["spr","spre","espr","spec","rsp","rspr","sper","ersp","cep","cept","tspr","sept"],"rp":["pers","prec","pec","pect","pres","pdr","perd","pste"]},"143":{"input":[1,2,3,4,8],"tlw":["stapte",1114],"trw":["'dat",1386],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",11785],"trw":["m",364],"lp":[],"rp":["mm","mp","nm","pn","pm","np","mn"]},"145":{"input":[1,5,8],"tlp":["am",70985],"trp":["ma",173379],"trw":["man",11151],"lp":["am","aam","amp","ama","amm"],"rp":["ma","maa","man","nam","pan","naam","mann","maan","nap","pann","nma","mam","nmaa","mma","mama"]},"146":{"input":[2,5,8],"tlp":["sm",4193],"trp":["ms",12782],"trw":["ms",164],"lp":["sm","sms"],"rp":["ms","jp","pj","nsp","mpj","nsm","jsm","jm","mps"]},"147":{"input":[1,2,5,8],"tlp":["wam",13717],"trp":["jam",1619],"tlw":["span",501],"trw":["massa",211],"lp":["wam","sam","span","sma","ams","snap","apj","smaa","aams","asm"],"rp":["jam","mas","jasp","jamm","mans","maj","mw","panj","jap","mass"]},"148":{"input":[3,5,8],"tlp":["em",102948],"trp":["me",272103],"tlw":["em",708],"trw":["me",29423],"lp":["em","eme","emen","eem","epen","enm","emm"],"rp":["me","men","mee","pen","'n","mme","ppen","nem","neme","mpe","mene","meen","neem"]},"149":{"input":[1,3,5,8],"tlp":["ema",26711],"trp":["name",3318],"tlw":["aannemen",185],"trw":["mannen",3680],"lp":["ema","ame","emaa","eman","amen","apen","enma","amme","ampe","eam","eema","emma","enam","eaam"],"rp":["name","'ma","'maa","max","pame","'na"]},"150":{"input":[2,3,5,8],"tlp":["emd",5986],"trp":["md",17766],"tlw":["sms'je",55],"trw":["mensen",8143],"lp":["emd","emde","dem","eemd","sme"],"rp":["md","mens","mde","mees","'j","pje","med","mes","pend","jpe","jpen","'je","mede","mend","mden"]},"151":{"input":[1,2,3,5,8],"tlw":["samen",3346],"trw":["maanden",1720],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",3132],"trp":["mt",9354],"trw":["mt",93],"lp":["tm","bm"],"rp":["mt","mb","ntm","mpt","pb","mbt","ntp"]},"153":{"input":[1,4,5,8],"tlp":["fam",4992],"trp":["mat",3403],"tlw":["tam",57],"trw":["maat",316],"lp":["fam","tam","amb","tma","fm","tmaa","amt","aamt","ambt","afm","amat"],"rp":["mat","maat","mant","napt","mba","mf","matt","mfa","mfan"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",234],"trp":["mst",4009],"tlw":["cm",234],"lp":["cm","stm"],"rp":["mst","jpt","ntsp","msc","nstm"]},"155":{"input":[1,2,4,5,8],"tlw":["stam",199],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",26544],"trp":["met",89793],"tlw":["ermee",749],"trw":["met",82919],"lp":["rm","rme","erm","tem","rmee","rmen","reem","bep","erme","temm","emt"],"rp":["met","mer","meer","ment","mete","mmer","mte","mbe","mber"]},"157":{"input":[1,3,4,5,8],"tlw":["armen",1959],"trw":["maar",65784],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["stem",3280],"trw":["meeste",1332],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["waarmee",1313],"trw":["jasper",582],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",15794],"lp":[],"rp":["pi","ip","ipp","ppi","pip"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",2645],"trp":["pz",1834],"trw":["pizza",62],"lp":["api","appi"],"rp":["pz","papi","pzi","pai","pia","pza","pzaa","piz","pizz"]},"162":{"input":[2,6,8],"tlp":["spi",2906],"trp":["pk",1286],"trw":["pik",322],"lp":["spi"],"rp":["pk","pis","pik","kip","isp","ips","kipp","pikk","kp","ksp","kspi","pki"]},"163":{"input":[1,2,6,8],"tlp":["apk",775],"trp":["pak",6092],"trw":["pak",881],"lp":["apk","aapk","apka","wip"],"rp":["pak","kap","pakk","kapi","pka","pwi","kaps","kapp","ppak","kaap","paki","pkw","pkwa"]},"164":{"input":[3,6,8],"tlp":["epi",821],"trp":["iep",14334],"lp":["epi","eppi"],"rp":["iep","pie","'i","iepe","ippe","ipe","iepi","ppie","pipe","pei","piep","i'"]},"165":{"input":[1,3,6,8],"tlp":["apie",1574],"trp":["'z",1130],"tlw":["appie",556],"trw":["'ze",578],"lp":["apie","z'","zeep","zi'","azi'"],"rp":["'z","'ze","pze","'zi"]},"166":{"input":[2,3,6,8],"tlp":["diep",3859],"trp":["'ik",3806],"tlw":["diep",1774],"trw":["'ik",3806],"lp":["diep","spie","disp","dpi","espi","epk"],"rp":["'ik","'k","'di","'die","'is","pike","ieps","'ki","i's","pke","pkee","peek","piek","iepk"]},"167":{"input":[1,2,3,6,8],"tlw":["zweep",76],"trw":["'wie",183],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",323],"trp":["pit",1634],"tlw":["tip",80],"trw":["pitt",114],"lp":["tip"],"rp":["pit","pv","ipt","pti","pitt","pvi","itp"]},"169":{"input":[1,4,6,8],"tlp":["apit",813],"trp":["pva",678],"lp":["apit","tapi"],"rp":["pva","pati","pvat","pita","itpa"]},"170":{"input":[2,4,6,8],"tlp":["cip",273],"trp":["pitc",623],"tlw":["spits",84],"lp":["cip","stip","spit","scip","tips"],"rp":["pitc","pist","itsp","pisc","ptis","pits","pikt","pic","pick","psti"]},"171":{"input":[1,2,4,6,8],"trw":["pakt",384],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["riep",2691],"trp":["pri",3982],"tlw":["riep",2470],"trw":["piper",395],"lp":["riep","verp","rip","epti","ript"],"rp":["pri","pier","ierp","peri","pite","piet","prei","iper","iept","prie","ipte","perv","ptie","'v","priv"]},"173":{"input":[1,3,4,6,8],"trw":["papier",791],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["spreekt",454],"trw":["precies",2555],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["sprak",1554],"trw":["pakte",1998],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",99056],"trw":["min",402],"lp":[],"rp":["mi","im","min","nmi","mmi","mh","ph","pni","imm","hip","nmin","pin","imp","inm","inmi","mmin","nip","mini","hm","phi"]},"177":{"input":[1,5,6,8],"tlp":["ami",5412],"trp":["hap",4798],"trw":["hap",187],"lp":["ami","zaam","zam","anmi"],"rp":["hap","mani","haam","ham","happ","ima","iam","pha","inam","mai","pani","mah","hamm","hamp","mha","mz"]},"178":{"input":[2,5,6,8],"tlp":["sim",1232],"trp":["mij",56462],"tlw":["spin",52],"trw":["mijn",42155],"lp":["sim","spij","simp","smi"],"rp":["mij","mijn","mis","miss","pij","ijp","pijn","mins","insp","knip","jim","mik","mmis","jimm","pijp","pijk"]},"179":{"input":[1,2,5,6,8],"tlw":["smaak",381],"trw":["kwam",9677],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",1479],"trp":["hem",38924],"tlw":["eph",104],"trw":["hem",36783],"lp":["emi","eim","enmi","emmi","epin"],"rp":["hem","iem","mei","niem","'h","ime","pnie","'he","imme","heim","heme","hep","mhe","impe","meni"]},"181":{"input":[1,3,5,6,8],"tlw":["z'n",1280],"trw":["maxima",176],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"trw":["meisje",3089],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["zwemmen",284],"trw":["maken",6874],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",1065],"trp":["imt",1214],"tlw":["tim",122],"trw":["htm",71],"lp":["tim","tmi","timi"],"rp":["imt","mit","itm","ntim","htm","mbi","nipt","mv","mbin","imit","htp","miti","mith","mbit","mitt"]},"185":{"input":[1,4,5,6,8],"tlw":["fatima",79],"trw":["mattia",98],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["schip",1068],"trw":["minst",275],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["tapijt",196],"trw":["maakt",1930],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["evenmin",310],"trw":["'het",1331],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"trw":["manier",3158],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["spreken",1283],"trw":["misschien",7594],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["amerikaanse",726],"trw":["maakte",4198],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",166993],"trw":["op",103035],"lp":[],"rp":["op","po","oop","opp","poo","pop","ppo","popp","opo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",574],"trp":["opa",966],"trw":["opa",532],"lp":["apo","appo"],"rp":["opa","oppa"]},"194":{"input":[2,7,8],"tlp":["spo",2653],"trp":["pos",1438],"trw":["poos",89],"lp":["spo","spoo","sop"],"rp":["pos","ops","poos","oops","pso","opsp","pspo"]},"195":{"input":[1,2,7,8],"tlp":["aspo",191],"trp":["opw",535],"trw":["oppas",51],"lp":["aspo"],"rp":["opw","pow"]},"196":{"input":[3,7,8],"tlp":["eop",278],"trp":["ope",17147],"trw":["'o",439],"lp":["eop","eope","eopo"],"rp":["ope","o'","oep","oppe","oepe","opee","poe","'o","-p","'op","-'","oo'","o-p","pope"]},"197":{"input":[1,3,7,8],"trp":["oepa",84],"lp":[],"rp":["oepa","-pa","o-pa"]},"198":{"input":[2,3,7,8],"tlp":["spoe",469],"trp":["o's",1470],"tlw":["soep",218],"trw":["poes",128],"lp":["spoe","dop","soep","so-p","dope","doop"],"rp":["o's","opd","poed","pod","opes","osep","poes","'do","'doe","oesp","'so","-sp"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",4647],"trp":["pg",6426],"tlw":["top",406],"trw":["pot",229],"lp":["top","topt","topp","gp","gop"],"rp":["pg","opg","opt","oopt","pot","pog","pott","poot","poog","pto","ptop","ogop"]},"201":{"input":[1,4,7,8],"tlp":["apot",426],"trp":["pag",1681],"trw":["pag",94],"lp":["apot","apto","gpa","gaap"],"rp":["pag","pga","opga","pgaa"]},"202":{"input":[2,4,7,8],"tlp":["stop",2723],"trp":["opst",808],"tlw":["stop",253],"trw":["post",353],"lp":["stop","spot","coop","sopg","gops","gsp"],"rp":["opst","post","psto","opsc"]},"203":{"input":[1,2,4,7,8],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",6839],"trp":["pro",15569],"tlw":["erop",1554],"trw":["poort",291],"lp":["rop","roep","gep","erop","to'","gepr","grep","rope"],"rp":["pro","pge","opge","opte","por","port","orp","poor","oto'","oper","-top","opr"]},"205":{"input":[1,3,4,7,8],"tlw":["gepraat",288],"trw":["page",694],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["dorp",866],"trw":["proces",337],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["waarop",2183],"trw":["professor",384],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",134142],"trw":["om",51031],"lp":[],"rp":["om","mo","moo","mon","pu","mom","um","mu","omm","nom","oom","opn","omp","onm","pun","up","num","muu","umm","numm"]},"209":{"input":[1,5,7,8],"tlp":["amo",374],"trp":["oma",3325],"trw":["oma",579],"lp":["amo","amon","anmo","aup","amu","aom"],"rp":["oma","pano","oman","pau","omaa","omma","opna","mau","opma","moa","onma","napo","naom","mano"]},"210":{"input":[2,5,7,8],"tlp":["som",5660],"trp":["oms",6883],"tlw":["soms",3682],"trw":["joop",104],"lp":["som","soms","somm","spu","sup","smo","spon","spun","sum"],"rp":["oms","mso","opj","mons","mos","mus","joop","nspo","ooms","nopj","pus"]},"211":{"input":[1,2,5,7,8],"trw":["mouw",188],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["enom",3098],"trp":["moe",46854],"trw":["open",4188],"lp":["enom","emo","emoe","epu"],"rp":["moe","ome","omen","open","oem","mome","o'n","noem","nome","omme","oeme","umme","ompe","ume","opme","umen"]},"213":{"input":[1,3,5,7,8],"trw":["opnamen",87],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["dom",313],"trw":["mond",3010],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["samenwonen",65],"trw":["panose-",1128],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",2789],"trp":["mog",5827],"tlw":["boom",593],"trw":["punt",1157],"lp":["tom","tmo","bom","ttom","boom"],"rp":["mog","omt","punt","mot","mg","omg","ontm","ntmo","put","pub","nmog","moto","mob","omb","mput"]},"217":{"input":[1,4,5,7,8],"tlw":["tatum",76],"trw":["mag",2733],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["stom",368],"trw":["muts",127],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["spontaan",128],"trw":["opstaan",213],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["genomen",1400],"trw":["moet",11124],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["roman",605],"trw":["magere",261],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["sprong",808],"trw":["moest",9460],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["waarom",5384],"trw":["omdat",8221],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",22888],"trw":["loop",1091],"lp":[],"rp":["pl","lop","lp","pol","poli","plo","loop","lip","lipp","opl","opi","pli","oplo","pil","lopi","olp","lopp","ipo","pill","ilip"]},"225":{"input":[1,6,7,8],"tlp":["alp",160],"trp":["pla",12933],"trw":["paal",163],"lp":["alp","appl","apl","apol"],"rp":["pla","plaa","lap","laap","opz","paal","opzi","pal","lapp","pzo","opzo","pala","opla","lpla","lpz","lpza"]},"226":{"input":[2,6,7,8],"tlp":["spl",351],"trp":["kop",4373],"tlw":["sloop",153],"trw":["kop",1414],"lp":["spl","slip"],"rp":["kop","klop","koop","posi","plos","opk","pols","kopp","ispl","pko","opko","ikop","kopl","kpl","kopi","pkl","lsp","ilsp"]},"227":{"input":[1,2,6,7,8],"tlw":["slaap",1052],"trw":["klap",617],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elp",2649],"trp":["liep",7656],"trw":["liep",5744],"lp":["elp","elop","elpe","epl","epel"],"rp":["liep","pel","lope","ple","lpe","peel","pele","ppel","plee","peli","-pi","plei","ielp","ople","pell"]},"229":{"input":[1,3,6,7,8],"tlw":["appel",103],"trw":["'zo",172],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["speelde",689],"trw":["plek",1535],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["slappe",172],"trw":["'als",569],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["glip",148],"trp":["plot",2109],"tlw":["volop",111],"trw":["loopt",1197],"lp":["glip","glop","gpl"],"rp":["plot","pig","opv","lopt","pogi","opig","ppig","pvo","opvo","lpt","pvol","oopv","lipt","opti","potl","igp","ligp"]},"233":{"input":[1,4,6,7,8],"tlw":["afloop",252],"trw":["plat",242],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["pistool",468],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["slaapt",181],"trw":["plaats",3721],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["voorlopig",401],"trw":["politie",1676],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["april",288],"trw":["plezier",573],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["gesprek",1386],"trw":["periode",563],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["collega's",441],"trw":["opgewekt",248],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["mil",7222],"trw":["mooi",1931],"lp":[],"rp":["mil","lim","ml","mooi","iml","liml","lm","hoop","mili","uim","minu","omh","opni","ommi","lom","mho","omho","mhoo","hop","ulp"],"special":"enter"},"241":{"input":[1,5,6,7,8],"trw":["plan",1394],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simon",579],"trw":["kom",2728],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["wanhoop",258],"trw":["opzij",767],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["lopen",2578],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["allemaal",4589],"trw":["helemaal",5218],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["spelen",1140],"trw":["komen",7764],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["slapen",1278],"trw":["opnieuw",2178],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["glimp",157],"trw":["omhoog",1619],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",493],"trw":["langzaam",2034],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["schuim",127],"trw":["komt",4942],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["glimlach",1179],"trw":["lichaam",2366],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["ruimte",1214],"trw":["minuten",1824],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["familie",1891],"trw":["mezelf",1423],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["gekomen",2342],"trw":["mogelijk",2546],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["gemaakt",2371],"trw":["mevrouw",2250],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",565178],"tlw":["a",1899],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",31510],"tlw":["s",593],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["wa",249084],"tlw":["was",91211],"lp":["wa","as","was","waa","sa","aas","ass","ssa","ws","wass","assa","sw","aw","saa","swa","swaa","ww","awa","awaa","waas"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",595701],"tlw":["e",445],"lp":["ee","eee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",9134],"tlw":["x",171],"lp":["ea","ex","ax","ae","xe","xa","eaa","exa","axe","exe"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",835524],"tlw":["de",381576],"lp":["de","es","ed","se","ede","dd","dde","ds","eed","ees","sse","dee","eds","eeds","deed","ess","sd","ese","dse","eede"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",270505],"tlw":["we",27843],"lp":["da","we","ad","wee","daa","ew","ewe","ade","add","adde","eda","wees","ewee","wd","dw","aad","edaa","wde","asse","ada"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",33524],"tlw":["t",381],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",290899],"tlw":["af",9932],"lp":["at","ta","aat","af","ft","taa","fa","ff","taat","taf","att","tat","aaf","aatt","ata","aff","fat","tf","tta","aft"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",260352],"tlw":["c",381],"lp":["st","sc","ts","ct","tst","ssc","cc","stt","tsc","tc","sts","stst","sst","stsc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ac",73946],"tlw":["wat",36195],"lp":["ac","wat","sta","tw","ast","staa","ats","aats","fs","wac","ca","aast","atst","act","afs","tas","fst","twa","fac","tac"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",710975],"tlw":["te",105276],"lp":["er","et","te","re","eer","ter","ere","rt","tr","ete","tte","ert","ree","eet","rte","tre","tee","ett","rr","ette"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",396560],"tlw":["extra",700],"lp":["ar","aar","ra","ef","raa","eef","are","ate","eft","eeft","fe","art","tra","era","ater","fr","rat","ara","afe","ffe"],"rp":[]},"14":{"input":[2,3,4],"tlp":["rd",138895],"tlw":["eerste",6507],"lp":["rd","der","ste","rs","erd","rde","ers","est","dr","ec","erde","dere","ets","rst","eder","erst","eest","eerd","ster","str"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["dat",155858],"tlw":["dat",136467],"lp":["dat","waar","wer","daar","war","fd","ard","weer","ware","werd","rw","erw","twe","twee","dac","aard","dra","fde","weet","ader"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",51105],"trw":["n",1346],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",559245],"trp":["na",127869],"tlw":["aan",55690],"trw":["na",10653],"lp":["an","aan","ann","ana","anna","aann","anaa","aq"],"rp":["na","naa","nna","nan","naan","nnaa"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",9856],"trp":["jn",169981],"trw":["j",357],"lp":["sn","sj"],"rp":["jn","ns","js","nj","jns"]},"19":{"input":[1,2,5],"tlp":["wan",14017],"trp":["ja",31023],"tlw":["san",173],"trw":["ja",6777],"lp":["wan","ans","wann","aans","anw","sna","san","aanw","anj","aj","asj"],"rp":["ja","jaa","jna","nw","naas","jan","jas","jw","nja"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",1522448],"trp":["ne",132761],"tlw":["en",225891],"trw":["nee",4568],"lp":["en","een","ene","enen","enn","enne","enee","ey","eene","eeen"],"rp":["ne","nen","nne","nnen","nee","nnee","neen","ny","nny","yn"]},"21":{"input":[1,3,5],"tlp":["anne",10606],"trp":["ya",413],"tlw":["anne",219],"lp":["anne","ena","ane","enaa","anen","ean","ay","anee","eaan","enan","xan","exan","anny","xy","exy","eq","eena"],"rp":["ya","yan","nane"]},"22":{"input":[2,3,5],"tlp":["den",130605],"trp":["nd",254142],"tlw":["eens",9370],"trw":["je",69369],"lp":["den","ens","end","sen","ende","eden","eens","dden","ssen","ense","sje"],"rp":["nd","nde","je","jd","nden","nse","nsen","jde","jes"]},"23":{"input":[1,2,3,5],"tlp":["and",86982],"trp":["nda",7813],"tlw":["dan",33270],"trw":["new",907],"lp":["and","dan","ande","wen","aand","anda","daan","anse","ands","aden","wens","anwe","wend"],"rp":["nda","nad","ndaa","nwe","nada","nade","ndan"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",17696],"trp":["nt",98660],"tlw":["b",387],"lp":["bb","bt","tb","tn"],"rp":["nt","nb","ntb","ntt"]},"25":{"input":[1,4,5],"tlp":["ant",32323],"trp":["nat",8926],"tlw":["baan",878],"trw":["nat",410],"lp":["ant","ba","taan","tan","baa","ban","ab","anta","aant","tba","anaf","tant","fan","baan","fant"],"rp":["nat","nta","naf","nf","nba"]},"26":{"input":[2,4,5],"tlp":["tj",16496],"trp":["nst",10582],"lp":["tj","bs","sb","stj","stb","tsn"],"rp":["nst","nc","jt","nts","nsc","ntj","jst","jnt","ntst","ntsn","nct","jntj","ntsc","jb"]},"27":{"input":[1,2,4,5],"tlp":["want",6670],"trp":["jf",10865],"tlw":["want",6458],"trw":["naast",3850],"lp":["want","antw","stan","baas","anc","atj","fj","abs","bas","aatj","anst"],"rp":["jf","ntw","nac","jft","jac","nsta","ntac","nanc","ntas"]},"28":{"input":[3,4,5],"tlp":["be",171694],"trp":["nte",12846],"tlw":["ben",10919],"trw":["net",7100],"lp":["be","ten","ren","eb","ben","br","eren","ent","eten","bbe","bben","ebb","ebbe","rb","bee","rn","tten","bet","ber"],"rp":["nte"]},"29":{"input":[1,3,4,5],"tlp":["aren",23808],"trp":["naar",55710],"tlw":["eraan",1152],"trw":["naar",52688],"lp":["aren","aten","ran","rna","bra","arn","aarn","arna","baar","ante","bar","rba","erba","fran","eran","arb","fen","raan","rant"],"rp":["naar"]},"30":{"input":[2,3,4,5],"tlp":["rden",25498],"trp":["nder",65247],"tlw":["beetje",4094],"lp":["rden","bes","tje","bed","sten","best","etj","etje","eetj","tend","cen","rend","besc","cent","enst","tjes"],"rp":["nder","nste","ntje","ndr"]},"31":{"input":[1,2,3,4,5],"tlw":["waren",17010],"trw":["jaar",7230],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",416],"trw":["i",704],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["zi",217546],"trp":["ia",10521],"tlw":["z",113],"lp":["zi","za","ai","zaa","aai","az","azi","zz","zia","azia","zaai","zzi"],"rp":["ia","iz","iaa","iza","izi","izaa","izz","izzi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",19356],"trp":["ik",185103],"trw":["ik",149098],"lp":["si","ssi","sk","sis","ssis"],"rp":["ik","is","kk","ki","iss","ks","ikk","kki","iks","isi","isk","issi","kis","ikki","isis"]},"35":{"input":[1,2,6],"tlp":["wi",80880],"trp":["ka",52225],"tlw":["zaak",1687],"trw":["kaas",199],"lp":["wi","ak","aak","zw","wis","zwa","akk","zak","zaak","wak","zwaa","wakk","zwi"],"rp":["ka","kw","kwa","kaa","ika","kas","kwaa"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",112497],"trp":["ie",427576],"tlw":["ei",126],"trw":["ie",333],"lp":["ei","eie","eei"],"rp":["ie","iee"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",250139],"trp":["ize",3585],"tlw":["ze",116542],"lp":["ze","ez","zei","eze","zie","ezi","ezie","zee","aze","aie","eiz","aaie","eza","eize","xi","axi","eiza"],"rp":["ize","iez","ieze"]},"38":{"input":[2,3,6],"tlp":["di",156986],"trp":["ke",180090],"tlw":["die",84576],"trw":["keek",10339],"lp":["di","ek","die","eke","eek","eid","ekk","ekke"],"rp":["ke","id","kke","kee","ide","keek","ied","idd","iede","iek","ies","idde"]},"39":{"input":[1,2,3,6],"tlp":["ake",15537],"tlw":["deze",10880],"trw":["kwaad",950],"lp":["ake","dez","deze","wie","akke","zek","zeke","aid","wei","aaid","aide","wez","wek","ziek","week","zes","zwe","ewi","zake","adi"],"rp":[]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",92155],"trp":["it",127567],"tlw":["tv",365],"trw":["it",435],"lp":["ti","vi","tv","tti","tit","vit","titi","tiv","tivi","viv","tvi","vivi"],"rp":["it","itt","iti","iv","ivi","itv","ivit","itti"]},"41":{"input":[1,4,6],"tlp":["va",224506],"trp":["if",3864],"tlw":["zat",6137],"trw":["if",78],"lp":["va","zit","av","ati","zat","fi","zitt","vaa","tz","fti","ffi","via","tzi","avi","vat","tai"],"rp":["if","ita","itz","ift"]},"42":{"input":[2,4,6],"tlp":["sti",15829],"trp":["ic",74589],"tlw":["vis",333],"trw":["kist",358],"lp":["sti","ci","ck","cti","tis","sit","tisc","vis","tk","tik","sv"],"rp":["ic","kt","ist","issc","ikt","isc","its","ici","kst"]},"43":{"input":[1,2,4,6],"tlp":["zic",46006],"trp":["kat",1851],"tlw":["wist",7236],"trw":["kast",575],"lp":["zic","akt","aakt","wist","vas","vast","twi","wit","vaak","zac","tak","stak","witt","asti","acti","vak","cia","ack"],"rp":["kat","kast"]},"44":{"input":[3,4,6],"tlp":["ve",223463],"trp":["iet",126034],"tlw":["vier",2544],"lp":["ve","ver","ri","ev","vr","eve","tie","rie","eri","vee","rv","vert","erv","vri","rei","vie"],"rp":["iet","ier","ite","itte"]},"45":{"input":[1,3,4,6],"tlp":["ari",10534],"trp":["ief",8550],"tlw":["zette",2378],"lp":["ari","zet","rz","vra","eva","rva","atie","vraa","zett","erz","raai","vera","erva","arv","aarv","ave","verz","aari","var"],"rp":["ief"]},"46":{"input":[2,3,4,6],"tlp":["rk",33984],"trp":["iets",24709],"tlw":["dit",13642],"trw":["iets",14243],"lp":["rk","erk","dit","verd","rek","dri","vers","rke","erke","eker","ric","tek","drie"],"rp":["iets","kte","ker","kr","keer","iste","kri"]},"47":{"input":[1,2,3,4,6],"tlw":["vader",6824],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",343391],"trw":["in",146093],"lp":[],"rp":["in","hi","ni","inn","nin","nh","ini","nni","hin","hn","nnin","inni","inh","hni","hnn","ih","nhi","inin","inhi"]},"49":{"input":[1,5,6],"tlp":["zin",7282],"trp":["ha",212677],"tlw":["zin",2379],"trw":["hanna",165],"lp":["zin","ani","ah","anz","anni","zinn","anh","zan","aanz"],"rp":["ha","haa","han","nz","hz","ina","nzi","ian","inz","nza","nzin"]},"50":{"input":[2,5,6],"trp":["ij",550946],"trw":["hij",131508],"lp":[],"rp":["ij","ijn","hij","jk","ijk","nk","kin","kij","kijk","ji","kn","ink","jij","nis","ins","nik","ijs","kni","hijn","isj"]},"51":{"input":[1,2,5,6],"tlp":["zij",124236],"trp":["kan",22915],"tlw":["zijn",106271],"trw":["kan",12791],"lp":["zij","zijn","wij","ank","win","wijz","wijn","wijs","anks","aank","zwij","wink"],"rp":["kan","jz","ijz","ijna","kans","haas","kaan","kwij"]},"52":{"input":[3,5,6],"tlp":["ein",21712],"trp":["he",426236],"tlw":["eh",524],"trw":["hen",5498],"lp":["ein","eh","eni","eine","ehe","enin","eini","enh"],"rp":["he","nie","ien","hee","hie","inne","hei","ine","hen","heen","hien","nhe"]},"53":{"input":[1,3,5,6],"tlp":["zien",14842],"trp":["nze",8382],"tlw":["zien",8781],"trw":["inzien",116],"lp":["zien","zen","eha","ezen","anie","enz","azen","ezin","ehan","aien","anze","ehaa","enza","eenz","enzi"],"rp":["nze","hze","izen","nzen","hae"]},"54":{"input":[2,3,5,6],"tlp":["eken",22412],"trp":["ken",85243],"tlw":["denk",3418],"trw":["kijken",4068],"lp":["eken","enk","din","denk","enke"],"rp":["ken","ind","ijd","nke","jke","ijke","inde","kken","heid","kind","iend","ndi","nken","kend","ijde"]},"55":{"input":[1,2,3,5,6],"tlw":["weken",1635],"trw":["had",55453],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",59526],"trp":["ht",123626],"tlw":["bh",81],"lp":["bi","th","vin","bin","binn","tin","ttin"],"rp":["ht","hti","int","nti","nv","htt","htin","inti","htb","hit","ntv","ib","nth"]},"57":{"input":[1,4,5,6],"tlp":["van",189387],"trp":["hat",1531],"tlw":["van",171860],"trw":["haat",432],"lp":["van","vana","anti","tha","anv","aanv","anva","fin","ath","anav","abi","fh"],"rp":["hat","nva","nati","htba","inf","nav","hav","haat"]},"58":{"input":[2,4,5,6],"tlp":["ch",268567],"trp":["ich",66755],"tlw":["bij",29299],"trw":["kijkt",1607],"lp":["ch","cht","sch","bij","tij","chi","schi","chti","ssch","vij","bijn","chij"],"rp":["ich","icht","jv","ijv","isch","jkt","ijkt","hts"]},"59":{"input":[1,2,4,5,6],"tlw":["zich",32148],"trw":["kant",2963],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["ven",53110],"trp":["het",230522],"tlw":["even",9723],"trw":["het",226716],"lp":["ven","even","rin","rh","erh","erin","rien","the","verb"],"rp":["het","niet","hte","heb","hter","hebb","her","hten","hier","hr","iten"]},"61":{"input":[1,3,4,5,6],"tlw":["zitten",5880],"trw":["haar",73072],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["tijd",8288],"trw":["niets",8728],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["achter",7426],"trw":["hard",1821],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",285058],"trw":["o",2376],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",407],"trp":["oa",7486],"lp":["ao"],"rp":["oa","ooa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",27187],"trp":["os",19065],"tlw":["so",132],"lp":["so","soo","sso"],"rp":["os","oos","oss","oso","osoo"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",53022],"trp":["ow",2105],"lp":["wo","woo","aso","aos","sow","woa"],"rp":["ow","owa","osa","owaa","ossa"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",2682],"trp":["oe",232725],"trw":["-",7439],"lp":["eo","e-","eoo","eoe"],"rp":["oe","o-","-o","-oo"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",189],"trp":["-a",938],"lp":["xo","exo","a-","x-","ex-"],"rp":["-a","o-a","ox","oea"]},"70":{"input":[2,3,7],"tlp":["do",77681],"trp":["oed",31676],"tlw":["dood",3509],"lp":["do","doo","doe","dood","edo","so-","edoe","dod","dode","se-"],"rp":["oed","od","oes","oede","ood","ode","-s","ods","ose","oods"]},"71":{"input":[1,2,3,7],"tlp":["ewo",10898],"trp":["oda",3201],"tlw":["woede",613],"lp":["ewo","ewoo","woe","woed","dwo","woes","edwo","ado","so-a","d-a","dow","ados","wod"],"rp":["oda","oew","oewe","owe","-w","-we","oad"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",114612],"trp":["og",71340],"tlw":["tot",16339],"trw":["oog",1205],"lp":["to","go","tot","gt","gg","tg","too","goo","tto","toot","got"],"rp":["og","ot","oot","oog","ott","oto","otto","ogt","oogt"]},"73":{"input":[1,4,7],"tlp":["ag",68842],"trp":["of",61079],"tlw":["gaat",6123],"trw":["of",29931],"lp":["ag","ga","gaa","fo","aag","gaat","gaf","fg","afg","foo","fot","foto","gat","tof","agt","aagt"],"rp":["of","oof","off","oga"]},"74":{"input":[2,4,7],"tlp":["sto",24832],"trp":["oc",27927],"tlw":["stoot",131],"trw":["oogst",77],"lp":["sto","co","toc","gs","gst","sg","stoo","gc","sgc","soc","cto"],"rp":["oc","ots","ost","oots","otst","oost","ogs","oogs","ogst"]},"75":{"input":[1,2,4,7],"tlp":["sof",6578],"trp":["oca",652],"tlw":["stof",570],"lp":["sof","two","twoo","gas","wag","gast","stof","woog","wsg","gw","aco","ags","wog","astg","sag","ssag","twag"],"rp":["oca","ocaa","osof"]},"76":{"input":[3,4,7],"tlp":["ge",441497],"trp":["or",220309],"tlw":["toe",7828],"trw":["oor",713],"lp":["ge","ro","eg","ege","gr","toe","rg","gee","roe","gro","ger","teg","tege","rge","erg"],"rp":["or","oor","oet","oge","oeg"]},"77":{"input":[1,3,4,7],"tlp":["age",21589],"trp":["-f",7172],"tlw":["graag",2369],"lp":["age","aro","aaro","raag","gra","rag","rage","t-f","t-fa","ega","fge","afge","for","graa","arg"],"rp":["-f","-fa","oef","ora","-fo"]},"78":{"input":[2,3,4,7],"tlp":["door",33484],"trp":["ord",50515],"tlw":["door",27762],"lp":["door","gd","ges","goed","ged","gde","egd","dro","gest","rdo","gesc","god","egde"],"rp":["ord","orde","oord","oest","ordt","ors","orst"]},"79":{"input":[1,2,3,4,7],"tlw":["weg",9038],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",217953],"trw":["nu",18377],"lp":[],"rp":["on","ou","no","un","nu","uu","oon","unn","noo","nou","onn","non","ono","nno","nuu","oun","onno","uno","nnu","oonn"]},"81":{"input":[1,5,7],"tlp":["au",17538],"trp":["nau",2224],"tlw":["qua",92],"trw":["oan",54],"lp":["au","ano","anu","qu","qua","anon","anua","aou"],"rp":["nau","ua","ona","onaa","oan","nua","uan","onna","oq","oqu","nao","noa"]},"82":{"input":[2,5,7],"tlp":["su",4221],"trp":["us",37357],"tlw":["suus",122],"trw":["ons",10726],"lp":["su","soon","son","sno"],"rp":["us","jo","ons","ju","jon","uss","jou","nos","ous","joo","uns","usj","jos","oj","osj","jus"]},"83":{"input":[1,2,5,7],"tlp":["woon",7683],"trp":["uw",53486],"tlw":["wou",586],"trw":["uw",2686],"lp":["woon","auw","won","wu","wus","anos","wou","aus","wonn"],"rp":["uw","ouw","nauw","uws","jouw","nwo","nwoo","onw","nuw","uwa","nuwa"]},"84":{"input":[3,5,7],"tlp":["eu",50132],"trp":["oen",39532],"trw":["you",472],"lp":["eu","eno","enoe","eeu","eun","enu","enoo"],"rp":["oen","unne","noe","one","onne","oene","neu","ue","n-","onen","yo","onee","you"]},"85":{"input":[1,3,5,7],"tlp":["eau",2046],"trp":["ux",203],"lp":["eau","que","e-na","equ","eque","enau","xon","an-","ean-","quen","ena-"],"rp":["ux","uxe","-na","oya","-an","o-an","na-","oyaa"]},"86":{"input":[2,3,5,7],"tlp":["du",25835],"trp":["ond",80377],"tlw":["doen",9594],"trw":["oude",3893],"lp":["du","doen","dus","deu","don","eus","edu"],"rp":["ond","onde","ud","oud","ude","oude","uden","usse","nod","udd","udde","oden","oond"]},"87":{"input":[1,2,3,5,7],"tlw":["wonen",867],"trw":["ouwe",411],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bo",35213],"trp":["ng",141175],"tlw":["boog",1018],"trw":["nog",33780],"lp":["bo","tu","ton","bu","tuu","gon","boo","gu","bou"],"rp":["ng","nog","ont","ong","ut","ug","ob","unt","uto","ub","out"]},"89":{"input":[1,4,5,7],"tlp":["ang",42251],"trp":["natu",6022],"tlw":["gaan",11291],"trw":["nota",126],"lp":["ang","gaan","fon","font","atu","atuu","gan","aut","auto","aang","gang","foon","bang","anto","tua"],"rp":["natu","uf","onta","uff","noga"]},"90":{"input":[2,4,5,7],"tlp":["ston",12659],"trp":["uc",9757],"tlw":["boos",682],"trw":["jong",894],"lp":["ston","stu","tus","tuss","con","cont","stuu","cu","bos","conc"],"rp":["uc","ust","jong","jg","ngs","ngst","onts","jgt","onc","noc"]},"91":{"input":[1,2,4,5,7],"tlw":["angst",1249],"trw":["jacob",378],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gen",143754],"trp":["ur",56772],"tlw":["toen",23218],"trw":["ogen",8241],"lp":["gen","ru","egen","toen","geen","eur","geb","rou","beg","ron","eru","rug","geno","ggen"],"rp":["ur","nge","ngen","uur","onge","ogen"]},"93":{"input":[1,3,4,5,7],"tlw":["gegaan",1465],"trw":["naartoe",554],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["stond",8649],"trw":["onder",8950],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["worden",11389],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["li",171979],"trw":["l",236],"lp":[],"rp":["li","ll","lo","il","ol","oi","ooi","loo","ill","lli","ili","oll","io","oli","ool","ilo","olo","illi","llo","oil"]},"97":{"input":[1,6,7],"tlp":["al",225980],"trp":["la",129950],"tlw":["zo",26684],"trw":["la",525],"lp":["al","zo","all","aal","zal","zoa","zoal","ali","zoo","zoi"],"rp":["la","laa","oal","oz","lla","olla","ola","ial","laz","lia"]},"98":{"input":[2,6,7],"tlp":["sl",31416],"trp":["ls",78404],"tlw":["slok",358],"trw":["ook",30107],"lp":["sl","slo","sli","sloo"],"rp":["ls","ko","ok","ook","kl","lk","lik","lso","klo","okk","los","lis","olk","loos","kli","koo"]},"99":{"input":[1,2,6,7],"tlp":["als",67283],"trp":["lka",8548],"tlw":["als",51537],"trw":["las",791],"lp":["als","wil","sla","also","will","slaa","wal","wol","alis","zow"],"rp":["lka","lkaa","kla","oals","las","lak","klaa","lw","kal","klas"]},"100":{"input":[3,6,7],"tlp":["el",334993],"trp":["le",209513],"tlw":["el",147],"trw":["leo",319],"lp":["el","eli","ele","eel","ell","elle","elo","eil","eloo"],"rp":["le","lle","lee","lie","oel","lei","iel","llee","ille","loe","oei"]},"101":{"input":[1,3,6,7],"tlp":["alle",39915],"trp":["lez",2818],"tlw":["alle",6909],"trw":["lizzie",74],"lp":["alle","zel","ale","ela","zoe","ezel","ezo","ezoe","zoie","elaa","eal","ziel","ael"],"rp":["lez","oze","leze","laze","iale","oez","lezi"]},"102":{"input":[2,3,6,7],"tlp":["eld",44452],"trp":["ld",72634],"tlw":["elke",2943],"trw":["leek",4071],"lp":["eld","del","elde","elk","deli","els","esl"],"rp":["ld","lde","kel","oek","kle","ild","ilde","les","lles","keli","klei","led","lke"]},"103":{"input":[1,2,3,6,7],"tlw":["wel",21511],"trw":["kale",288],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",141909],"trp":["ig",90099],"tlw":["vol",3408],"trw":["ooit",2846],"lp":["vo","voo","gi","vol","tig","volg","vl","gl","gli"],"rp":["ig","ov","lt","lg","oit","ooit","olg","lig","lti","lot","lit"]},"105":{"input":[1,4,6,7],"tlp":["alt",12700],"trp":["lf",27918],"tlw":["zag",8836],"trw":["laat",4912],"lp":["alt","val","zag","alti","tal","fl","avo","vall","zig","gla","alf","zov","vla","taal","gz"],"rp":["lf","laat","lat","lag","loof"]},"106":{"input":[2,4,6,7],"tlp":["stig",5578],"trp":["lic",9686],"tlw":["stil",1726],"trw":["kost",381],"lp":["stig","slot","stil","col","gis","cl","sig","volk","voc","gist","tok","stok"],"rp":["lic","kig","kkig","okt","lots","kost","koc","lst"]},"107":{"input":[1,2,4,6,7],"tlw":["alsof",6162],"trw":["last",650],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["voor",79011],"trp":["ove",54444],"tlw":["voor",54531],"trw":["over",27647],"lp":["voor","gel","rl","tel","gev","vro","voe","erl","veel","rli","voel","eig","vroe","evo","eige"],"rp":["ove","over","ige","lev","leve"]},"109":{"input":[1,3,4,6,7],"tlw":["zelf",5574],"trw":["later",4901],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["voelde",4707],"trw":["kreeg",3295],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["elkaar",7935],"trw":["laatste",4077],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ui",114860],"trw":["hun",16526],"lp":[],"rp":["ui","ho","hu","hoo","lu","ul","hui","hou","hun","lin","nl","nooi","lui","nli","ull","hon","lon","ulli","hul","uin"]},"113":{"input":[1,5,6,7],"tlp":["zou",30976],"trp":["lan",39246],"tlw":["zou",25914],"trw":["hal",496],"lp":["zou","zon","zu","zul","zull","zoon","anui"],"rp":["lan","hal","onz","haal","uz","lau","uiz","nal","uzi","nla","nlan","llan","laan"]},"114":{"input":[2,5,6,7],"trp":["lij",77650],"trw":["kon",15534],"lp":[],"rp":["lij","lijk","uis","uk","kon","ku","kun","huis","kunn","jl","ijl","nlij","onk","uik","luk","ukk","jul","luis","jull","link"]},"115":{"input":[1,2,5,6,7],"tlw":["zus",901],"trw":["hals",521],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["elen",11125],"trp":["len",43428],"tlw":["ellen",353],"trw":["hoe",13915],"lp":["elen","eho","elu","enl","elin","enli"],"rp":["len","hoe","llen","hel","hele","leen","heel","ieu","nieu","nel","lein","leu","hiel","ly"]},"117":{"input":[1,3,5,6,7],"tlw":["alleen",11766],"trw":["onze",5956],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["snel",4364],"trw":["kunnen",11536],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["zouden",4749],"trw":["nieuwe",3839],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",35668],"trp":["ing",72541],"tlw":["ging",11015],"trw":["uit",32730],"lp":["bl","gin","ging","bli","von","bov","bui","buit","ting","blo","tui","ving","gh"],"rp":["ing","uit","ling","nig","ning","htig","hoog"]},"121":{"input":[1,4,5,6,7],"tlw":["vanuit",1383],"trw":["lang",5446],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["toch",11105],"trw":["kunt",2792],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["blijft",1361],"trw":["langs",3708],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["eigen",5173],"trw":["leven",7694],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["zeggen",6400],"trw":["laten",6557],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["vond",4220],"trw":["krijgen",3495],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["altijd",8787],"trw":["hoofd",7271],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",12540],"trw":["p",961],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",30480],"trp":["pa",44369],"tlw":["aap",260],"trw":["papa",882],"lp":["ap","app","aap","apa","appa"],"rp":["pa","paa","pap","ppa","papa","papp"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",30385],"trp":["ps",2263],"lp":["sp"],"rp":["ps","psp"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",3276],"trp":["pas",6100],"trw":["pas",3162],"lp":["spa","wap","asp","spaa","aps","wsp","wapp"],"rp":["pas","pass","pw","pasp","ppas"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",32631],"trp":["pe",64915],"trw":["'",114697],"lp":["ep","epe","eep","epp","eppe","e'","ee'"],"rp":["pe","ppe","pee","'e","'ee","''","pep","pepe","'p"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["appe",4414],"trp":["'a",772],"trw":["px",303],"lp":["appe","ape","epa","epaa","a'","xp","exp","xpe","expe","apa'"],"rp":["'a","px","pape","pa'"]},"134":{"input":[2,3,8],"tlp":["spe",7419],"trp":["'s",4942],"trw":["'s",2281],"lp":["spe","esp","spee","dp","espe","sep","d'","dep","eps","dpe","d's","epse"],"rp":["'s","'d","pd","'de","pes","pese","pse","ped"]},"135":{"input":[1,2,3,8],"tlp":["wape",918],"trp":["'w",3268],"tlw":["da's",142],"trw":["'we",656],"lp":["wape","a's","aspe","espa","dap","dapp","epas","dpa","da'","ewap"],"rp":["'w","'wa","'da","pad","'we","'waa","pda","padd","'daa","'wee"]},"136":{"input":[4,8],"tlp":["tp",294],"trp":["pt",17059],"trw":["pt",3175],"lp":["tp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",4643],"trp":["pat",1164],"trw":["pat",62],"lp":["tap","apt","tapt","tapp","aapt","tpa","tpaa","fp","afp","aafp"],"rp":["pat","patt"]},"138":{"input":[2,4,8],"tlp":["tsp",813],"trp":["pst",986],"lp":["tsp"],"rp":["pst","psc"]},"139":{"input":[1,2,4,8],"tlp":["stap",4318],"trp":["past",1080],"tlw":["stap",923],"trw":["past",219],"lp":["stap","fsp","afsp","tspa","cap","capa","apst","spac","spat"],"rp":["past","psta","pac","pats"]},"140":{"input":[3,4,8],"tlp":["rp",6434],"trp":["pr",39150],"trw":["'t",3159],"lp":["rp","erp","reep","ept","rpe","erpe","rep","epr","epte","repe","eper"],"rp":["pr","per","pre","pte","'t","pet","pper","pete","pree"]},"141":{"input":[1,3,4,8],"tlp":["rap",4098],"trp":["pra",9631],"tlw":["trap",1366],"trw":["paar",6885],"lp":["rap","apte","trap","rapp","tape","rapt","apar","epar","epra"],"rp":["pra","paar","par","prat","praa","part","ppar","para","perf","pera","patr"]},"142":{"input":[2,3,4,8],"tlp":["spr",12727],"trp":["pers",3101],"tlw":["respect",322],"trw":["pers",244],"lp":["spr","spre","espr","spec","rsp","rspr","sper","ersp","cep","cept","tspr","sept"],"rp":["pers","prec","pec","pect","pres","pdr","perd","pste"]},"143":{"input":[1,2,3,4,8],"tlw":["stapte",1114],"trw":["'dat",1386],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",11785],"trw":["m",364],"lp":[],"rp":["mm","mp","nm","pn","pm","np","mn"]},"145":{"input":[1,5,8],"tlp":["am",70985],"trp":["ma",173379],"trw":["man",11151],"lp":["am","aam","amp","ama","amm"],"rp":["ma","maa","man","nam","pan","naam","mann","maan","nap","pann","nma","mam","nmaa","mma","mama"]},"146":{"input":[2,5,8],"tlp":["sm",4193],"trp":["ms",12782],"trw":["ms",164],"lp":["sm","sms"],"rp":["ms","jp","pj","nsp","mpj","nsm","jsm","jm","mps"]},"147":{"input":[1,2,5,8],"tlp":["wam",13717],"trp":["jam",1619],"tlw":["span",501],"trw":["massa",211],"lp":["wam","sam","span","sma","ams","snap","apj","smaa","aams","asm"],"rp":["jam","mas","jasp","jamm","mans","maj","mw","panj","jap","mass"]},"148":{"input":[3,5,8],"tlp":["em",102948],"trp":["me",272103],"tlw":["em",708],"trw":["me",29423],"lp":["em","eme","emen","eem","epen","enm","emm"],"rp":["me","men","mee","pen","'n","mme","ppen","nem","neme","mpe","mene","meen","neem"]},"149":{"input":[1,3,5,8],"tlp":["ema",26711],"trp":["name",3318],"tlw":["aannemen",185],"trw":["mannen",3680],"lp":["ema","ame","emaa","eman","amen","apen","enma","amme","ampe","eam","eema","emma","enam","eaam"],"rp":["name","'ma","'maa","max","pame","'na"]},"150":{"input":[2,3,5,8],"tlp":["emd",5986],"trp":["md",17766],"tlw":["sms'je",55],"trw":["mensen",8143],"lp":["emd","emde","dem","eemd","sme"],"rp":["md","mens","mde","mees","'j","pje","med","mes","pend","jpe","jpen","'je","mede","mend","mden"]},"151":{"input":[1,2,3,5,8],"tlw":["samen",3346],"trw":["maanden",1720],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",3132],"trp":["mt",9354],"trw":["mt",93],"lp":["tm","bm"],"rp":["mt","mb","ntm","mpt","pb","mbt","ntp"]},"153":{"input":[1,4,5,8],"tlp":["fam",4992],"trp":["mat",3403],"tlw":["tam",57],"trw":["maat",316],"lp":["fam","tam","amb","tma","fm","tmaa","amt","aamt","ambt","afm","amat"],"rp":["mat","maat","mant","napt","mba","mf","matt","mfa","mfan"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",234],"trp":["mst",4009],"tlw":["cm",234],"lp":["cm","stm"],"rp":["mst","jpt","ntsp","msc","nstm"]},"155":{"input":[1,2,4,5,8],"tlw":["stam",199],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",26544],"trp":["met",89793],"tlw":["ermee",749],"trw":["met",82919],"lp":["rm","rme","erm","tem","rmee","rmen","reem","bep","erme","temm","emt"],"rp":["met","mer","meer","ment","mete","mmer","mte","mbe","mber"]},"157":{"input":[1,3,4,5,8],"tlw":["armen",1959],"trw":["maar",65784],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["stem",3280],"trw":["meeste",1332],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["waarmee",1313],"trw":["jasper",582],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",15794],"lp":[],"rp":["pi","ip","ipp","ppi","pip"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",2645],"trp":["pz",1834],"trw":["pizza",62],"lp":["api","appi"],"rp":["pz","papi","pzi","pai","pia","pza","pzaa","piz","pizz"]},"162":{"input":[2,6,8],"tlp":["spi",2906],"trp":["pk",1286],"trw":["pik",322],"lp":["spi"],"rp":["pk","pis","pik","kip","isp","ips","kipp","pikk","kp","ksp","kspi","pki"]},"163":{"input":[1,2,6,8],"tlp":["apk",775],"trp":["pak",6092],"trw":["pak",881],"lp":["apk","aapk","apka","wip"],"rp":["pak","kap","pakk","kapi","pka","pwi","kaps","kapp","ppak","kaap","paki","pkw","pkwa"]},"164":{"input":[3,6,8],"tlp":["epi",821],"trp":["iep",14334],"lp":["epi","eppi"],"rp":["iep","pie","'i","iepe","ippe","ipe","iepi","ppie","pipe","pei","piep","i'"]},"165":{"input":[1,3,6,8],"tlp":["apie",1574],"trp":["'z",1130],"tlw":["appie",556],"trw":["'ze",578],"lp":["apie","z'","zeep","zi'","azi'"],"rp":["'z","'ze","pze","'zi"]},"166":{"input":[2,3,6,8],"tlp":["diep",3859],"trp":["'ik",3806],"tlw":["diep",1774],"trw":["'ik",3806],"lp":["diep","spie","disp","dpi","espi","epk"],"rp":["'ik","'k","'di","'die","'is","pike","ieps","'ki","i's","pke","pkee","peek","piek","iepk"]},"167":{"input":[1,2,3,6,8],"tlw":["zweep",76],"trw":["'wie",183],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",323],"trp":["pit",1634],"tlw":["tip",80],"trw":["pitt",114],"lp":["tip"],"rp":["pit","pv","ipt","pti","pitt","pvi","itp"]},"169":{"input":[1,4,6,8],"tlp":["apit",813],"trp":["pva",678],"lp":["apit","tapi"],"rp":["pva","pati","pvat","pita","itpa"]},"170":{"input":[2,4,6,8],"tlp":["cip",273],"trp":["pitc",623],"tlw":["spits",84],"lp":["cip","stip","spit","scip","tips"],"rp":["pitc","pist","itsp","pisc","ptis","pits","pikt","pic","pick","psti"]},"171":{"input":[1,2,4,6,8],"trw":["pakt",384],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["riep",2691],"trp":["pri",3982],"tlw":["riep",2470],"trw":["piper",395],"lp":["riep","verp","rip","epti","ript"],"rp":["pri","pier","ierp","peri","pite","piet","prei","iper","iept","prie","ipte","perv","ptie","'v","priv"]},"173":{"input":[1,3,4,6,8],"trw":["papier",791],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["spreekt",454],"trw":["precies",2555],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["sprak",1554],"trw":["pakte",1998],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",99056],"trw":["min",402],"lp":[],"rp":["mi","im","min","nmi","mmi","mh","ph","pni","imm","hip","nmin","pin","imp","inm","inmi","mmin","nip","mini","hm","phi"]},"177":{"input":[1,5,6,8],"tlp":["ami",5412],"trp":["hap",4798],"trw":["hap",187],"lp":["ami","zaam","zam","anmi"],"rp":["hap","mani","haam","ham","happ","ima","iam","pha","inam","mai","pani","mah","hamm","hamp","mha","mz"]},"178":{"input":[2,5,6,8],"tlp":["sim",1232],"trp":["mij",56462],"tlw":["spin",52],"trw":["mijn",42155],"lp":["sim","spij","simp","smi"],"rp":["mij","mijn","mis","miss","pij","ijp","pijn","mins","insp","knip","jim","mik","mmis","jimm","pijp","pijk"]},"179":{"input":[1,2,5,6,8],"tlw":["smaak",381],"trw":["kwam",9677],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",1479],"trp":["hem",38924],"tlw":["eph",104],"trw":["hem",36783],"lp":["emi","eim","enmi","emmi","epin"],"rp":["hem","iem","mei","niem","'h","ime","pnie","'he","imme","heim","heme","hep","mhe","impe","meni"]},"181":{"input":[1,3,5,6,8],"tlw":["z'n",1280],"trw":["maxima",176],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"trw":["meisje",3089],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["zwemmen",284],"trw":["maken",6874],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",1065],"trp":["imt",1214],"tlw":["tim",122],"trw":["htm",71],"lp":["tim","tmi","timi"],"rp":["imt","mit","itm","ntim","htm","mbi","nipt","mv","mbin","imit","htp","miti","mith","mbit","mitt"]},"185":{"input":[1,4,5,6,8],"tlw":["fatima",79],"trw":["mattia",98],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["schip",1068],"trw":["minst",275],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["tapijt",196],"trw":["maakt",1930],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["evenmin",310],"trw":["'het",1331],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"trw":["manier",3158],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["spreken",1283],"trw":["misschien",7594],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["amerikaanse",726],"trw":["maakte",4198],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",166993],"trw":["op",103035],"lp":[],"rp":["op","po","oop","opp","poo","pop","ppo","popp","opo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",574],"trp":["opa",966],"trw":["opa",532],"lp":["apo","appo"],"rp":["opa","oppa"]},"194":{"input":[2,7,8],"tlp":["spo",2653],"trp":["pos",1438],"trw":["poos",89],"lp":["spo","spoo","sop"],"rp":["pos","ops","poos","oops","pso","opsp","pspo"]},"195":{"input":[1,2,7,8],"tlp":["aspo",191],"trp":["opw",535],"trw":["oppas",51],"lp":["aspo"],"rp":["opw","pow"]},"196":{"input":[3,7,8],"tlp":["eop",278],"trp":["ope",17147],"trw":["'o",439],"lp":["eop","eope","eopo"],"rp":["ope","o'","oep","oppe","oepe","opee","poe","'o","-p","'op","-'","oo'","o-p","pope"]},"197":{"input":[1,3,7,8],"trp":["oepa",84],"lp":[],"rp":["oepa","-pa","o-pa"]},"198":{"input":[2,3,7,8],"tlp":["spoe",469],"trp":["o's",1470],"tlw":["soep",218],"trw":["poes",128],"lp":["spoe","dop","soep","so-p","dope","doop"],"rp":["o's","opd","poed","pod","opes","osep","poes","'do","'doe","oesp","'so","-sp"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",4647],"trp":["pg",6426],"tlw":["top",406],"trw":["pot",229],"lp":["top","topt","topp","gp","gop"],"rp":["pg","opg","opt","oopt","pot","pog","pott","poot","poog","pto","ptop","ogop"]},"201":{"input":[1,4,7,8],"tlp":["apot",426],"trp":["pag",1681],"trw":["pag",94],"lp":["apot","apto","gpa","gaap"],"rp":["pag","pga","opga","pgaa"]},"202":{"input":[2,4,7,8],"tlp":["stop",2723],"trp":["opst",808],"tlw":["stop",253],"trw":["post",353],"lp":["stop","spot","coop","sopg","gops","gsp"],"rp":["opst","post","psto","opsc"]},"203":{"input":[1,2,4,7,8],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",6839],"trp":["pro",15569],"tlw":["erop",1554],"trw":["poort",291],"lp":["rop","roep","gep","erop","to'","gepr","grep","rope"],"rp":["pro","pge","opge","opte","por","port","orp","poor","oto'","oper","-top","opr"]},"205":{"input":[1,3,4,7,8],"tlw":["gepraat",288],"trw":["page",694],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["dorp",866],"trw":["proces",337],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["waarop",2183],"trw":["professor",384],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",134142],"trw":["om",51031],"lp":[],"rp":["om","mo","moo","mon","pu","mom","um","mu","omm","nom","oom","opn","omp","onm","pun","up","num","muu","umm","numm"]},"209":{"input":[1,5,7,8],"tlp":["amo",374],"trp":["oma",3325],"trw":["oma",579],"lp":["amo","amon","anmo","aup","amu","aom"],"rp":["oma","pano","oman","pau","omaa","omma","opna","mau","opma","moa","onma","napo","naom","mano"]},"210":{"input":[2,5,7,8],"tlp":["som",5660],"trp":["oms",6883],"tlw":["soms",3682],"trw":["joop",104],"lp":["som","soms","somm","spu","sup","smo","spon","spun","sum"],"rp":["oms","mso","opj","mons","mos","mus","joop","nspo","ooms","nopj","pus"]},"211":{"input":[1,2,5,7,8],"trw":["mouw",188],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["enom",3098],"trp":["moe",46854],"trw":["open",4188],"lp":["enom","emo","emoe","epu"],"rp":["moe","ome","omen","open","oem","mome","o'n","noem","nome","omme","oeme","umme","ompe","ume","opme","umen"]},"213":{"input":[1,3,5,7,8],"trw":["opnamen",87],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["dom",313],"trw":["mond",3010],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["samenwonen",65],"trw":["panose-",1128],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",2789],"trp":["mog",5827],"tlw":["boom",593],"trw":["punt",1157],"lp":["tom","tmo","bom","ttom","boom"],"rp":["mog","omt","punt","mot","mg","omg","ontm","ntmo","put","pub","nmog","moto","mob","omb","mput"]},"217":{"input":[1,4,5,7,8],"tlw":["tatum",76],"trw":["mag",2733],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["stom",368],"trw":["muts",127],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["spontaan",128],"trw":["opstaan",213],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["genomen",1400],"trw":["moet",11124],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["roman",605],"trw":["magere",261],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["sprong",808],"trw":["moest",9460],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["waarom",5384],"trw":["omdat",8221],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",22888],"trw":["loop",1091],"lp":[],"rp":["pl","lop","lp","pol","poli","plo","loop","lip","lipp","opl","opi","pli","oplo","pil","lopi","olp","lopp","ipo","pill","ilip"]},"225":{"input":[1,6,7,8],"tlp":["alp",160],"trp":["pla",12933],"trw":["paal",163],"lp":["alp","appl","apl","apol"],"rp":["pla","plaa","lap","laap","opz","paal","opzi","pal","lapp","pzo","opzo","pala","opla","lpla","lpz","lpza"]},"226":{"input":[2,6,7,8],"tlp":["spl",351],"trp":["kop",4373],"tlw":["sloop",153],"trw":["kop",1414],"lp":["spl","slip"],"rp":["kop","klop","koop","posi","plos","opk","pols","kopp","ispl","pko","opko","ikop","kopl","kpl","kopi","pkl","lsp","ilsp"]},"227":{"input":[1,2,6,7,8],"tlw":["slaap",1052],"trw":["klap",617],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elp",2649],"trp":["liep",7656],"trw":["liep",5744],"lp":["elp","elop","elpe","epl","epel"],"rp":["liep","pel","lope","ple","lpe","peel","pele","ppel","plee","peli","-pi","plei","ielp","ople","pell"]},"229":{"input":[1,3,6,7,8],"tlw":["appel",103],"trw":["'zo",172],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["speelde",689],"trw":["plek",1535],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["slappe",172],"trw":["'als",569],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["glip",148],"trp":["plot",2109],"tlw":["volop",111],"trw":["loopt",1197],"lp":["glip","glop","gpl"],"rp":["plot","pig","opv","lopt","pogi","opig","ppig","pvo","opvo","lpt","pvol","oopv","lipt","opti","potl","igp","ligp"]},"233":{"input":[1,4,6,7,8],"tlw":["afloop",252],"trw":["plat",242],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["pistool",468],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["slaapt",181],"trw":["plaats",3721],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["voorlopig",401],"trw":["politie",1676],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["april",288],"trw":["plezier",573],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["gesprek",1386],"trw":["periode",563],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["collega's",441],"trw":["opgewekt",248],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["mil",7222],"trw":["mooi",1931],"lp":[],"rp":["mil","lim","ml","mooi","iml","liml","lm","hoop","mili","uim","minu","omh","opni","ommi","lom","mho","omho","mhoo","hop","ulp"],"special":"enter"},"241":{"input":[1,5,6,7,8],"trw":["plan",1394],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simon",579],"trw":["kom",2728],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["wanhoop",258],"trw":["opzij",767],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["lopen",2578],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["allemaal",4589],"trw":["helemaal",5218],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["spelen",1140],"trw":["komen",7764],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["slapen",1278],"trw":["opnieuw",2178],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["glimp",157],"trw":["omhoog",1619],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",493],"trw":["langzaam",2034],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["schuim",127],"trw":["komt",4942],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["glimlach",1179],"trw":["lichaam",2366],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["ruimte",1214],"trw":["minuten",1824],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["familie",1891],"trw":["mezelf",1423],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["gekomen",2342],"trw":["mogelijk",2546],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["gemaakt",2371],"trw":["mevrouw",2250],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/num-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/num-keymap.json index 7425e7d790..55ab69fca8 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/num-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/num-keymap.json @@ -2827,4 +2827,4 @@ "base": "SPACE", "baseshift": "" } -} +} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/nw-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/nw-keymap.json index a0b915911e..a326e75806 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/nw-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/nw-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",112911],"tlw":["a",7695],"lp":["aa","aaa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",10806],"tlw":["s",577],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",77058],"tlw":["saa",19034],"lp":["sa","saa","as","aas","ass","ssa","wa","saas","asa","waa","ssaa","asaa","saaa","assa","aasa"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",6166],"tlw":["e",308],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ae",70925],"tlw":["ex",147],"lp":["ae","aae","ea","ax","ex","aee","xe","exe","xa","exa","axe"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",411497],"tlw":["de",31445],"lp":["de","ed","se","es","ede","dd","dde","ds","des","sse","edes","dse","eds","see","ess","ese","edd","esse","edde","sed"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",41689],"tlw":["da",17989],"lp":["da","ad","add","adde","ade","aad","aes","aed","sae","aade","aede","ada","daa","dda","sad","asse","aese","saad","aada","ads"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",41039],"tlw":["t",37],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",83084],"tlw":["at",55917],"lp":["at","ta","fa","af","ft","att","aat","faa","taa","aatt","ff","aft","fat","tat","tta","aff","fatt","tf","tatt","ata"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",98189],"tlw":["st",132],"lp":["st","ts","sst","sc","tst","ct","tc","cc","tts","tss"],"rp":[]},"11":{"input":[1,2,4],"tlp":["sta",12336],"tlw":["sat",1574],"lp":["sta","ast","sat","staa","satt","tsa","ca","fas","fast","tsaa","fs","afs","ac","stat","fst","afst","ats","tats","tsat","asta"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",261904],"tlw":["er",33906],"lp":["er","et","te","re","rt","ere","tte","ter","tr","ett","ette","ret","rte","rr","ert","tter","tet","rre","err","tre"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",123529],"tlw":["fra",10890],"lp":["ar","ra","fr","aer","fra","aar","aere","fte","are","ef","atte","art","tra","eft","fter","efte","rae","fe","fre","tae"],"rp":[]},"14":{"input":[2,3,4],"tlp":["det",95805],"tlw":["det",77200],"lp":["det","der","ste","dt","rd","dr","rs","est","dre","rde","este","rst","res","red","dett","str","dte","ser","ers","erd"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["ard",3773],"tlw":["satte",1224],"lp":["ard","aest","stra","aerd","dra","ader","saet","derf","aste","rda","tad","rad","raad","stae","aard","stad","raed","fred","rsta","ras"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",37980],"trw":["n",328],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",164272],"trp":["na",33880],"tlw":["anna",1134],"trw":["na",964],"lp":["an","ann","aan","anna","ana"],"rp":["na","naa","nna","nan","nnan","nann","nana"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",5809],"trp":["ns",30049],"trw":["j",102],"lp":["sn","sj","ssn"],"rp":["ns","nj","jn","js","nns","nss","nsn"]},"19":{"input":[1,2,5],"tlp":["ans",16881],"trp":["ja",19604],"tlw":["sja",654],"trw":["ja",6049],"lp":["ans","sna","san","sja","aj","ansa","sjaa","sann","asj","aja","ssan","asn"],"rp":["ja","jaa","nja","nsa","nas","jan","njaa","nasj"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",321311],"trp":["ne",82848],"tlw":["en",38749],"trw":["nye",777],"lp":["en","enn","enne","ene","een","enen","ey"],"rp":["ne","nne","yn","nen","ny","ye","yne","nnen","nene","yen","nye","nny","nee"]},"21":{"input":[1,3,5],"tlp":["aen",13038],"trp":["nae",5436],"tlw":["annen",219],"trw":["naae",45],"lp":["aen","anne","ane","aaen","enna","anny","anen","aane","aene","ena","any","aany","enan","xan","exan"],"rp":["nae","naae","yna","ya","naee"]},"22":{"input":[2,3,5],"tlp":["den",74661],"trp":["nd",121952],"tlw":["den",37787],"trw":["ned",3945],"lp":["den","end","ende","sen","ens","denn","sy","syn","dn"],"rp":["nd","je","nde","jen","nden","nes","ned","ys","yd","nnes","ndes"]},"23":{"input":[1,2,3,5],"tlp":["and",33662],"trp":["jae",5122],"tlw":["anden",2420],"trw":["naade",166],"lp":["and","ande","dan","aend","aand","adan","sand","anse","enda","ands","aden","dans","dann","anda","sjae"],"rp":["jae","nda","naes","nand","ndda"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["tn",2343],"trp":["nt",20514],"tlw":["b",230],"trw":["nb",169],"lp":["tn","bt","bn","bb","tb","ttn"],"rp":["nt","nb","nnt","ntn"]},"25":{"input":[1,4,5],"tlp":["ba",17182],"trp":["nat",3688],"tlw":["fann",272],"trw":["nat",367],"lp":["ba","tan","ab","ant","fan","aab","baa","ban","abt","fann","abn","aabn","tab","aabt","anta","fant"],"rp":["nat","nf","natt","nta"]},"26":{"input":[2,4,5],"tlp":["bj",1597],"trp":["nst",1389],"lp":["bj","tj","sb","stn","bs","sbn","stj","sbj","stb","tsb","tsj","bst"],"rp":["nst","jst","jt","nc","jtn","nsc","nnst","nstn"]},"27":{"input":[1,2,4,5],"tlp":["stan",2679],"trp":["nsta",211],"tlw":["sant",289],"trw":["jf",31],"lp":["stan","fj","tans","sant","tja","bas","abs","anst","anc","fja","asb","asbj","stba","bja","tanc"],"rp":["nsta","jac","nast","jtna","ntas"]},"28":{"input":[3,4,5],"tlp":["be",28242],"trp":["nte",10150],"tlw":["berre",1003],"trw":["nyt",327],"lp":["be","ten","ren","rn","br","ent","rne","ern","erne","ty","ry","ber","ente","eb","rb","eren"],"rp":["nte","ner","yr","net"]},"29":{"input":[1,3,4,5],"tlp":["bar",6004],"trp":["nar",6320],"tlw":["bare",3028],"trw":["naar",5355],"lp":["bar","ran","taen","bare","fy","bra","arn","fyr","aren","ften","abe","barn","raen","arb","bae"],"rp":["nar","naar","naer","nnar","nart"]},"30":{"input":[2,3,4,5],"tlp":["sten",6428],"trp":["nder",11117],"tlw":["syntes",1260],"lp":["sten","bes","endt","rden","bed","sty","best","rend","dern","synt"],"rp":["nder","ndt","ndr","ndre","jer","ndet","ndte","yst","nest","jern"]},"31":{"input":[1,2,3,4,5],"tlw":["andre",3868],"trw":["naesten",1049],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",1106],"trw":["i",62852],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",969],"trp":["ia",2946],"tlw":["ai",51],"lp":["ai","aai","za"],"rp":["ia","iaa"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",57626],"trp":["kk",58266],"tlw":["si",1195],"trw":["k",1220],"lp":["si","sk","ski","sik","sikk","skik","sis"],"rp":["kk","ik","ikk","is","ki","ks","iss","isk","kik","iks","kki","ikki","kikk"]},"35":{"input":[1,2,6],"tlp":["ak",14837],"trp":["ka",36672],"tlw":["saki",383],"trw":["ka",36],"lp":["ak","ska","akk","ask","aks","sak","aka","aask","akka","aki","saki","sia","aak","skaa"],"rp":["ka","kas","kka","isa","kaa","ika"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",46211],"trp":["ie",12197],"tlw":["ei",2621],"lp":["ei","eie"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["xi",72],"trp":["iae",68],"tlw":["xi",27],"trw":["ix",27],"lp":["xi","aei","eia","xii","xiii"],"rp":["iae","ix"]},"38":{"input":[2,3,6],"tlp":["di",22778],"trp":["ke",75425],"tlw":["dei",9926],"trw":["ikke",27380],"lp":["di","ske","dei","ek","sid","ekk","side","esk","eis","eske","dis","eid"],"rp":["ke","kke","id","ikke","ide","ids","ise","isse"]},"39":{"input":[1,2,3,6],"tlp":["akke",3114],"trp":["ida",2239],"tlw":["skade",227],"trw":["kasse",30],"lp":["akke","aek","aekk","ake","aske","sida","adi","daek","ekka","skad","adsk","akse","eska","dska"],"rp":["ida","idda","isae","kad","kade","kae"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",75549],"trp":["it",21023],"tlw":["vi",9397],"trw":["iv",58],"lp":["ti","vi","tv","vit","vt","tti","tvi","viv","tviv","vii","tiv","vitt","tit"],"rp":["it","iv","itt","iti","ivi","itti","ivt"]},"41":{"input":[1,4,6],"tlp":["va",86367],"trp":["if",2566],"tlw":["av",10474],"lp":["va","av","fi","vaa","ava","avt","avi","fti","tia","atti","aav","vat","ati","vita","aavi"],"rp":["if","ift","ita","iva","iaf"]},"42":{"input":[2,4,6],"tlp":["vis",9768],"trp":["kt",8569],"tlw":["sit",3082],"trw":["kvit",106],"lp":["vis","sv","sti","sit","viss","vist","sitt","vs","ci","ck","vst"],"rp":["kt","ist","kv","kvi","isst","ic","ikt","isti","kst"]},"43":{"input":[1,2,4,6],"tlp":["sva",5726],"trp":["kva",3206],"tlw":["fik",2530],"trw":["kva",1095],"lp":["sva","tak","fik","takk","akt","vak","stak","stia","fis","fisk","taka","vakk","fikk"],"rp":["kva","kast","kaf","ica","kaff","ista","kat"]},"44":{"input":[3,4,6],"tlp":["ve",84601],"trp":["ir",9659],"tlw":["eit",2100],"lp":["ve","ri","ver","ev","eve","vet","rei","eit","vei","rti","rv","rev","eri","eir","eier"],"rp":["ir","ive","ier","ite","iver"]},"45":{"input":[1,3,4,6],"tlp":["var",53426],"trp":["ifte",820],"tlw":["var",42028],"lp":["var","vae","vaer","ave","vart","vera","vare","fri","eva","aev","vara","arv","ari","rav","aeve","arve","fie","evae","fir"],"rp":["ifte"]},"46":{"input":[2,3,4,6],"tlp":["ved",13498],"trp":["kr",10422],"tlw":["ved",10508],"trw":["idet",890],"lp":["ved","vd","rk","vde","tid","rke","dri","vid","erk","skr","rdi"],"rp":["kr","ker","ket","idt","kri","kte","kker","iste","idst"]},"47":{"input":[1,2,3,4,6],"tlw":["fekk",1380],"trw":["kvar",593],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",88711],"trw":["inn",1636],"lp":[],"rp":["in","ni","hi","nin","inn","nh","hin","nhi","ih","nni","iin","nnin","hn","inni","ini","inin","nnh","hii","hiin","nnhi"]},"49":{"input":[1,5,6],"tlp":["ani",619],"trp":["ha",134263],"tlw":["ah",106],"trw":["han",52972],"lp":["ani","ania","ah","ain","anni"],"rp":["ha","han","haa","haan","ina","ian","inan","hina","nia","hann","iani","inna","nha","iana","nz"]},"50":{"input":[2,5,6],"tlp":["sin",12978],"trp":["kj",25013],"tlw":["sin",8225],"trw":["nik",27],"lp":["sin","skj","skin","sni","sh"],"rp":["kj","nk","kkj","ikkj","hj","nsk","kn","nsi","kin","ink","ins","his","nkj","kni","inkj"]},"51":{"input":[1,2,5,6],"tlp":["ansk",3797],"trp":["kan",11435],"tlw":["sank",208],"trw":["hans",8898],"lp":["ansk","ank","ansi","snak","skja","sank","ash","akn"],"rp":["kan","hans","kja","nak","nakk","hja","kans","hak","kann","kna","nska","has"]},"52":{"input":[3,5,6],"tlp":["ein",9181],"trp":["he",52514],"tlw":["ein",5538],"trw":["henne",2515],"lp":["ein","eh","enh","eni","eine","eien","enin","enhe"],"rp":["he","hen","ine","henn","hei","nei","ien","inne","hy","inen","nhe","ihe"]},"53":{"input":[1,3,5,6],"tlp":["eha",758],"trp":["hae",2400],"tlw":["einannan",141],"trw":["hena",63],"lp":["eha","enha","eina","ehan","anie","enia","enz","aine","anei","ahy","ehaa","aein","einz"],"rp":["hae","haen","iane","nhae","hena","hea","hax"]},"54":{"input":[2,3,5,6],"tlp":["enk",5100],"trp":["ind",19969],"tlw":["sine",3555],"trw":["ikkje",7483],"lp":["enk","sine","din"],"rp":["ind","kje","hend","inde","kkje","yk","ken","hed","nke","iden","ykk","hje","nske","ykke","ky","kjen","nesk"]},"55":{"input":[1,2,3,5,6],"tlw":["sidan",654],"trw":["hadde",11705],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["vin",4628],"trp":["hv",25602],"tlw":["thi",1736],"trw":["hit",287],"lp":["vin","th","bi","tin","vn","thi","tni","tnin","vint","bin","vinn"],"rp":["hv","hvi","int","ib","nti","nhv","nv","ntin","hvit"]},"57":{"input":[1,4,5,6],"tlp":["van",4044],"trp":["hav",15474],"tlw":["fin",261],"trw":["navn",696],"lp":["van","fin","avn","finn","tian","vant","anv","fint","vann"],"rp":["hav","hva","nav","navn","hava","hat","havt","haab","hatt","havn","nhav"]},"58":{"input":[2,4,5,6],"tlp":["ch",2454],"trp":["nkt",2442],"tlw":["sint",142],"trw":["hvis",1991],"lp":["ch","stin","sch","svin","skib","bis","tkj","stni"],"rp":["nkt","hvis","kvin","nic","hist","istn","ich","kib","isb","isbn","kniv","inst"]},"59":{"input":[1,2,4,5,6],"tlw":["bak",310],"trw":["kant",169],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["ven",10891],"trp":["her",10731],"tlw":["ven",661],"trw":["her",6657],"lp":["ven","rin","rh","vent","even","vne","beh","bei","bev","evn","erh","the"],"rp":["her","hve","hver","inte","hev","herr","hr","yv"]},"61":{"input":[1,3,4,5,6],"tlw":["fine",333],"trw":["har",14412],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["verden",958],"trw":["kjendte",636],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["vand",853],"trw":["havde",9987],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",42],"trw":["o",923],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","trp":["oa",34],"lp":[],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",62776],"trp":["os",14215],"tlw":["so",6443],"trw":["os",3796],"lp":["so","sos","sso","soso"],"rp":["os","oss","oso"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",147],"trp":["ow",102],"trw":["ossaa",45],"lp":["wo","aso","aaso","asso"],"rp":["ow","ossa","owa"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",687],"trp":["oe",3728],"trw":["-",3322],"lp":["eo","e-"],"rp":["oe","-o","o-"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",49],"trp":["ox",122],"lp":["a-","e-a","e-aa"],"rp":["ox","oxe","-a","-aa"]},"70":{"input":[2,3,7],"tlp":["do",13375],"trp":["od",32172],"tlw":["dod",621],"trw":["odd",219],"lp":["do","dod","eso","dode","edo","sod","dso","esso","doe"],"rp":["od","ode","odd","ose","ods","odde","oed","oede","osse","odse","odes"]},"71":{"input":[1,2,3,7],"tlp":["adso",64],"trp":["odsa",186],"lp":["adso","de-a"],"rp":["odsa","oda","odda","-aas"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",34309],"trp":["og",149705],"tlw":["to",2884],"trw":["og",122759],"lp":["to","gt","go","gg","tog","tg","tot","tott","gto","tto","gtt","got","gtto","ttog"],"rp":["og","ot","ott","ogt","ogg","otto"]},"73":{"input":[1,4,7],"tlp":["fo",74135],"trp":["of",3896],"tlw":["gaa",1786],"lp":["fo","ag","ga","agt","gaa","tag","aag","gat","aga","tfo","tga","fot","gf","fag","gaat"],"rp":["of","oft","ofa","off","otta"]},"74":{"input":[2,4,7],"tlp":["sto",16012],"trp":["ogs",5245],"tlw":["stott",99],"trw":["oc",346],"lp":["sto","gs","sog","gst","sg","gso","sost","co","sogt","stot","toc","stoc","tso","sot"],"rp":["ogs","ost","oc","ogso","osto","oct"]},"75":{"input":[1,2,4,7],"tlp":["sag",7523],"trp":["ogsa",5006],"tlw":["sagt",1463],"trw":["ogsaa",3774],"lp":["sag","gsa","gsaa","sagt","ags","sof","saag","sga","asg","asto","sofa","sgaa","aco","fos","sfo","stof","soga","gsta"],"rp":["ogsa","ofas"]},"76":{"input":[3,4,7],"tlp":["ge",87205],"trp":["or",142919],"tlw":["eg",8868],"trw":["or",301],"lp":["ge","eg","ro","tor","get","ger","gr","ege","rg","gte","gge","tro","eget"],"rp":["or","ort","ore","oge","orte","org","oget"]},"77":{"input":[1,3,4,7],"tlp":["for",64883],"trp":["ora",3045],"tlw":["for",32016],"trw":["ofte",1064],"lp":["for","age","fort","aeg","tage","rag","gar","rfo","rfor","gra","fore","gaar","fora","agte","erfo","aegg"],"rp":["ora","ofte","orta","orf"]},"78":{"input":[2,3,4,7],"tlp":["stor",7850],"trp":["ord",13774],"tlw":["seg",6090],"trw":["ord",1982],"lp":["stor","god","seg","gd","tod","stod","gde","ges","dog","godt","rod","deg","dor","rso","sor"],"rp":["ord","ors","orst","orde","odt"]},"79":{"input":[1,2,3,4,7],"tlw":["sagde",3425],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["un",57145],"trw":["nu",8186],"lp":[],"rp":["un","no","on","nu","unn","ono","onn","nno","ou","uu","nun","uun","onno","non","nnu","uo","uno","oun"]},"81":{"input":[1,5,7],"tlp":["au",4958],"trp":["unna",1842],"tlw":["au",141],"trw":["unna",94],"lp":["au","ano","anu","anua","anno"],"rp":["unna","ona","ua","onna","nau","nua","una"]},"82":{"input":[2,5,7],"tlp":["su",3824],"trp":["jo",23891],"tlw":["son",930],"trw":["jo",3859],"lp":["su","son","sjo","snu","sun","sno","sson","sonn"],"rp":["jo","us","ju","jon","oj","ons","jonn","jus","ojn","uss","jos","uns"]},"83":{"input":[1,2,5,7],"tlp":["aus",1274],"trp":["jona",341],"tlw":["sau",28],"trw":["jau",154],"lp":["aus","ajo","asjo","sau","anus","wu","snau","sua"],"rp":["jona","jau","ussa","onas","janu","usa","onsa"]},"84":{"input":[3,5,7],"tlp":["eno",822],"trp":["ue",3657],"tlw":["enno",276],"trw":["noe",486],"lp":["eno","eu","enno","eon","eun","enu"],"rp":["ue","one","uen","unne","oy","onne","oen","noe","onen","une","noen","yo","oyo","oye"]},"85":{"input":[1,3,5,7],"tlp":["eona",156],"trp":["oxn",30],"lp":["eona","anoe","aue","auen"],"rp":["oxn","oxne","ux","oux","oxen","oya"]},"86":{"input":[2,3,5,7],"tlp":["du",19662],"trp":["und",23222],"tlw":["du",17772],"trw":["ud",4343],"lp":["du","dnu"],"rp":["und","ud","unde","ude","uden","ndnu","use","ond","uds","ndo","udd","udse","udde","oje","nod","ndu","onde","oden"]},"87":{"input":[1,2,3,5,7],"tlw":["daud",104],"trw":["unda",243],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bo",11738],"trp":["ng",56304],"tlw":["gong",545],"trw":["ut",3855],"lp":["bo","gu","tu","gn","bu","tun","gun","gunn","gut","gon"],"rp":["ng","ut","nog","ug","ung","ngt","ong","ob","utt","ont"]},"89":{"input":[1,4,5,7],"tlp":["ang",17346],"trp":["nga",2499],"tlw":["gang",1862],"trw":["utan",212],"lp":["ang","gan","gang","fu","bag","angt","atu","aug","agn","fun","aut","fang"],"rp":["nga","natu","ngan","uf","nfo","uft","uta","utga"]},"90":{"input":[2,4,5,7],"tlp":["gj",23821],"trp":["ngs",2173],"tlw":["song",96],"trw":["just",538],"lp":["gj","gjo","stu","bjo","stun","tus","ggj","gus","stno"],"rp":["ngs","ust","ngst","jont","just","uc","ngso","job","jot","unst","ugus"]},"91":{"input":[1,2,4,5,7],"tlw":["sang",405],"trw":["jacob",143],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gen",22078],"trp":["nge",25467],"tlw":["bort",1232],"trw":["noget",4415],"lp":["gen","ru","eng","bor","enge","beg","run","tur","egen","gy"],"rp":["nge","ur","ngen","noge","yg","nger","oren","orn","ogen","nor"]},"93":{"input":[1,3,4,5,7],"tlw":["gunnar",1603],"trw":["naturen",307],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["gjorde",2339],"trw":["jeg",29616],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["dagen",1077],"trw":["udenfor",448],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["il",83974],"trw":["lo",890],"lp":[],"rp":["il","li","ll","ol","lo","ill","oi","lli","oli","io","illi","lil","ili","lill","oll","llo","illo","lio","loi","iil"]},"97":{"input":[1,6,7],"tlp":["al",58249],"trp":["la",46808],"tlw":["al",993],"trw":["la",2277],"lp":["al","all","aal","ala","alli","ali","alla","aala","alo"],"rp":["la","laa","lla","ola","illa","ial","lai","olai","lia","ila","oia"]},"98":{"input":[2,6,7],"tlp":["sl",12627],"trp":["ko",30079],"tlw":["slik",1363],"trw":["los",291],"lp":["sl","sli","slik","sol","slo"],"rp":["ko","ok","ls","lik","lk","kl","olk","lsk","ils","oko","kol","oks","ilk","okk","los"]},"99":{"input":[1,2,6,7],"tlp":["skal",8407],"trp":["kal",10316],"tlw":["skal",8110],"trw":["kalla",209],"lp":["skal","sla","saal","ako","als","sal","slaa","alsk","alk","asl"],"rp":["kal","kla","las","lska","lass","kall","lsa","lask","lak","isla"]},"100":{"input":[3,6,7],"tlp":["el",77241],"trp":["le",79550],"tlw":["elle",34],"trw":["lille",1039],"lp":["el","ell","elle","eli","ele","eil","elli","eel","eile"],"rp":["le","lle","ille","ole","oie","lei","ile","lie","iel","lel","olle"]},"101":{"input":[1,3,6,7],"tlp":["ale",7840],"trp":["lae",9587],"tlw":["alle",5666],"trw":["lea",237],"lp":["ale","alle","ael","aale","aell","ella","aele","ela","alae","alie","alei","eal","eale","aael","alex"],"rp":["lae","laae","lea","iael","lex"]},"102":{"input":[2,3,6,7],"tlp":["els",10495],"trp":["ld",45157],"tlw":["del",665],"trw":["lod",1164],"lp":["els","del","sel","eld","else","deli","elsk","dl","elde"],"rp":["ld","lde","ild","ilde","old","lse","kel","led","lid","lede","keli"]},"103":{"input":[1,2,3,6,7],"tlw":["saaledes",1295],"trw":["lad",661],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["til",52776],"trp":["ig",98658],"tlw":["til",41443],"trw":["liv",1338],"lp":["til","vil","vo","gi","gl","tig","till","tl","gti"],"rp":["ig","lig","ov","lt","lv","igt","liv","lg","lit","ligt","lov"]},"105":{"input":[1,4,6,7],"tlp":["alt",10974],"trp":["lag",4727],"tlw":["alt",4399],"trw":["olav",641],"lp":["alt","fol","tal","fl","gav","fal","gla","alv","talt","folg","alti","flo","fla","tilf","gif"],"rp":["lag","lf","lav","lat","ilf"]},"106":{"input":[2,4,6,7],"tlp":["sig",27397],"trp":["lst",1344],"tlw":["sig",21706],"lp":["sig","gik","tok","stil","sigt","tils","vilk","stol","slig","sov","gvis","slog","gikk","stig"],"rp":["lst","lts","kog","likt","okt","kto"]},"107":{"input":[1,2,4,6,7],"tlw":["folk",2816],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["vor",14150],"trp":["ige",17385],"tlw":["eller",6110],"trw":["over",7437],"lp":["vor","elig","rl","vel","elv","rig","rli","rlig","elt","erl"],"rp":["ige","ove","ler","over","ller","lige","lev","lte","let","live"]},"109":{"input":[1,3,4,6,7],"tlw":["tale",1360],"trw":["laegge",464],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["vilde",7016],"trw":["lidt",2153],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["aldrig",2153],"trw":["idag",668],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ho",30354],"trw":["hun",21044],"lp":[],"rp":["ho","hu","hun","ul","lu","hol","lin","hon","hono","nl","hoi","uli","ull","oin","nli","hil","llin","oh","oni","nhil"]},"113":{"input":[1,5,6,7],"tlp":["anl",884],"trp":["lan",10243],"tlw":["alonzo",24],"trw":["hall",138],"lp":["anl","anli","ahl"],"rp":["lan","hal","lau","hall","nla","oha","ohan","nal","onal","nnla","nlau","llan","hau","onla","ula","nlan","ulia"]},"114":{"input":[2,5,6,7],"tlp":["sku",10170],"trp":["ku",23180],"tlw":["sjol",372],"trw":["nok",3367],"lp":["sku","skul","skjo","slu"],"rp":["ku","kun","kul","nok","kon","kjo","uk","hos","hus","ukk","noko","kjon","kunn","jol","lj","jul"]},"115":{"input":[1,2,5,6,7],"trw":["hakon",849],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eho",965],"trp":["hel",9131],"trw":["hele",2760],"lp":["eho","elen","enl","ehol"],"rp":["hel","len","ly","yl","hele","hell","oine","lene","olen","ule","ulle","hoie","hoy","heil","uly","nel"]},"117":{"input":[1,3,5,6,7],"tlw":["alene",964],"trw":["nella",82],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["skulde",7929],"trw":["kunde",7993],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["sjael",299],"trw":["land",975],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",22281],"trp":["ing",20917],"tlw":["bli",1395],"trw":["hoit",425],"lp":["bl","bli","ting","gh","bliv","tilb","blo"],"rp":["ing","hvo","ning","lb","igh","ilb","hov","ling","ligh","hvil","lut","ntl","ntli"]},"121":{"input":[1,4,5,6,7],"tlw":["gunnlaug",319],"trw":["langt",1662],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["blik",491],"trw":["och",329],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["ansigt",724],"trw":["langs",495],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["blev",6367],"trw":["hvor",4988],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["tilbage",1441],"trw":["laenge",1067],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["gjekk",2117],"trw":["igjen",3313],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["ganske",1701],"trw":["landet",659],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",6585],"trw":["p",102],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",4962],"trp":["pa",49694],"trw":["paa",26138],"lp":["ap","app","aap","apa","appa","aapa"],"rp":["pa","paa","pap","ppa","ppaa","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",8870],"trp":["ps",217],"trw":["ps",26],"lp":["sp"],"rp":["ps","psp"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",590],"trp":["pas",1229],"tlw":["saapas",42],"trw":["pas",58],"lp":["spa","saap","apas","asp"],"rp":["pas","pass","paas","psa","pspa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",1790],"trp":["pe",12061],"trw":["'",36],"lp":["ep","epp","eppe","epe","e'"],"rp":["pe","ppe","pee","'e","pep","pepp"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["appe",605],"trp":["pae",444],"trw":["'a",44],"lp":["appe","ape","a'","epa","aape","eppa"],"rp":["pae","paee","'a","pea"]},"134":{"input":[2,3,8],"tlp":["spe",488],"trp":["pd",356],"lp":["spe","dp","esp","espe","sep","dsp","edp","s'","d'","d'e","es'","des'","ed'","dep"],"rp":["pd","ped","pede","pped","pes","ppes"]},"135":{"input":[1,2,3,8],"tlp":["spae",291],"trp":["pda",290],"tlw":["sa'",71],"trw":["passe",167],"lp":["spae","dpa","dpaa","sa'","edpa","aspe","depa"],"rp":["pda","pad","paed"]},"136":{"input":[4,8],"tlp":["tp",173],"trp":["pt",1987],"lp":["tp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",508],"trp":["pf",337],"tlw":["tapt",32],"lp":["apt","tpa","tap","tapt","tpaa"],"rp":["pf","pta","paaf","pfa","pfat","ptat","pat","ppat","patt"]},"138":{"input":[2,4,8],"trp":["pst",23],"lp":[],"rp":["pst"]},"139":{"input":[1,2,4,8],"tlp":["cap",53],"trp":["past",196],"trw":["paastaa",25],"lp":["cap","capp"],"rp":["past"]},"140":{"input":[3,4,8],"tlp":["rp",1719],"trp":["pr",6671],"tlw":["teppet",51],"trw":["per",998],"lp":["rp","erp","rep","repe","t'","et'","ept","tep"],"rp":["pr","per","pet","pre","pte","pper","ppet","petr","pete","ptr","pere","peer"]},"141":{"input":[1,3,4,8],"tlp":["rpa",1174],"trp":["pra",2577],"tlw":["rapp",178],"trw":["par",1236],"lp":["rpa","rpaa","erpa","rap","arp","rapp","trap","apte","apet","repa","arpe","apr","rape"],"rp":["pra","par","prae","part","prat","para","ptra"]},"142":{"input":[2,3,4,8],"tlp":["spr",1897],"trp":["pres",895],"tlw":["drepe",95],"trw":["prest",134],"lp":["spr","derp","drep","set'","sept","spre","sper","resp","step","rdsp","spec","d'er","dtp","rdp"],"rp":["pres","pers","pred","pdr","pec","pest"]},"143":{"input":[1,2,3,4,8],"tlw":["derpaa",639],"trw":["passer",132],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",21715],"trw":["m",266],"lp":[],"rp":["mm","mp","mn","pn","nm","np","pm","nnp"]},"145":{"input":[1,5,8],"tlp":["am",30376],"trp":["ma",44872],"trw":["man",6961],"lp":["am","amm","ama","amp","aam","apn","aman","amn","ampa"],"rp":["ma","man","maa","mann","pan","mma","nap","nma","maan","npa","mpa"]},"146":{"input":[2,5,8],"tlp":["sm",7709],"trp":["ms",1313],"lp":["sm","spj"],"rp":["ms","nsm","mj","pj","nsp","mps","mss","msp"]},"147":{"input":[1,2,5,8],"tlp":["sam",7924],"trp":["maj",624],"tlw":["smaa",580],"trw":["jaampa",181],"lp":["sam","samm","sma","smaa","sman","asm","aasm","sama","saam","ams"],"rp":["maj","maas","mas","jam","jaam","nsma","mja","mass","jamn","jamm"]},"148":{"input":[3,5,8],"tlp":["em",29102],"trp":["me",119265],"trw":["men",24935],"lp":["em","emm","emme","emn","eme"],"rp":["me","men","mme","mmen","menn","nem","pen","nnem","my","mpe","mene","ppen","mee","nep","'n"]},"149":{"input":[1,3,5,8],"tlp":["amme",6974],"trp":["mae",3374],"tlw":["apne",60],"trw":["mannen",490],"lp":["amme","ame","amen","ema","ampe","aem","apne","enpa","aame","emae","aemp","apen","emna","xem"],"rp":["mae","maen","maae","paen","mane","pmae"]},"150":{"input":[2,3,5,8],"tlp":["dem",8585],"trp":["med",39755],"tlw":["dem",8538],"trw":["med",36341],"lp":["dem","sme","dm","esm","sem","emnd","emd","emde"],"rp":["med","jem","mes","mede","mens","jemm","mmed","mend","mmes","md","mde","mnd"]},"151":{"input":[1,2,3,5,8],"tlw":["samme",2157],"trw":["mand",2119],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",528],"trp":["mt",5699],"lp":["tm","bm","ttm"],"rp":["mt","mb","mtm","mnt"]},"153":{"input":[1,4,5,8],"tlp":["amt",1276],"trp":["maat",2873],"tlw":["amt",30],"trw":["mat",345],"lp":["amt","amf","amta","fam","tma","tman","amtm","tam","tamm","amb"],"rp":["maat","mat","matt","mf","mta","mtma","napt","mant","manf","mata"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["stm",72],"trp":["mst",812],"lp":["stm"],"rp":["mst"]},"155":{"input":[1,2,4,5,8],"tlw":["samt",265],"trw":["jamt",42],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",7650],"trp":["mer",11185],"trw":["mere",2630],"lp":["rm","rme","rem","tem","erm","emt","erme","temm","rmen","remm","emte","temt","rmer"],"rp":["mer","mmer","mere","met","mte","mmet","ment"]},"157":{"input":[1,3,4,5,8],"tlw":["frem",2232],"trw":["maatte",2413],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["dermed",460],"trw":["mest",1195],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["fremmede",427],"trw":["praesten",521],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",3962],"lp":[],"rp":["pi","ip","ipp","ppi","pip","pii","ipi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",565],"trp":["papi",297],"trw":["pipa",30],"lp":["api","apii","aapi"],"rp":["papi","ipa","pia","pipa"]},"162":{"input":[2,6,8],"tlp":["spi",1562],"trp":["pis",688],"tlw":["skip",130],"lp":["spi","spis","skip"],"rp":["pis","kip","pik","isp","kipp","kp","pk","psk","pski","psi","kipi","ips","kips"]},"163":{"input":[1,2,6,8],"tlp":["skap",1414],"trp":["kap",2212],"tlw":["skipa",35],"trw":["kap",53],"lp":["skap","spak"],"rp":["kap","pak","kapi","kapp","pakk","kasp","kipa","kapa"]},"164":{"input":[3,6,8],"tlp":["epi",51],"trp":["ippe",579],"lp":["epi"],"rp":["ippe","ipe","pei","i'","pipe"]},"165":{"input":[1,3,6,8],"trp":["paei",34],"lp":[],"rp":["paei"]},"166":{"input":[2,3,6,8],"tlp":["spid",160],"trp":["pise",465],"tlw":["spise",213],"trw":["pike",73],"lp":["spid","spek","spei","espi","dpi","edpi"],"rp":["pise","kipe","pid","pike","pek","pids","ispe","'k","peis","idsp"]},"167":{"input":[1,2,3,6,8],"tlw":["skape",20],"trw":["pakke",59],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["vp",22],"trp":["pit",244],"lp":["vp"],"rp":["pit","ipt"]},"169":{"input":[1,4,6,8],"tlp":["apit",244],"trp":["pita",83],"lp":["apit","vap","vaap","vpa"],"rp":["pita","pav","paav"]},"170":{"input":[2,4,6,8],"tlp":["cip",35],"trp":["pist",223],"tlw":["spist",76],"lp":["cip"],"rp":["pist"]},"171":{"input":[1,2,4,6,8],"tlw":["skapt",72],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",118],"trp":["pri",1351],"lp":["rip","ript","ripe","tepi"],"rp":["pri","pir","pire","ipet","peri","ptei","pite","ptri","priv","piir","ipte","peti","prii","prei"]},"173":{"input":[1,3,4,6,8],"tlw":["appetit",31],"trw":["parti",114],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["skipet",189],"trw":["pris",147],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["skarpe",106],"trw":["paris",116],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",30489],"trw":["min",5651],"lp":[],"rp":["mi","min","im","imi","ph","him","imm","mh","himm","imp","hm","minn","pin","mni","mnin","inm","phi","phin","nim","pni"]},"177":{"input":[1,5,6,8],"tlp":["ami",591],"trp":["ham",10774],"trw":["ham",10248],"lp":["ami","aim","aima","apni","amin","aham"],"rp":["ham","hamm","mai","ima","iman","inma","hama","maim","hamp","hma","hman","mina","hap","pian"]},"178":{"input":[2,5,6,8],"tlp":["smi",1350],"trp":["mk",1125],"trw":["km",55],"lp":["smi","sim","simp","skim","simi"],"rp":["mk","mis","km","msi","kim","ism","mins","mkj","misk","mik","ksim","insp","mpsk","ims","imss"]},"179":{"input":[1,2,5,6,8],"tlw":["skam",220],"trw":["kamp",171],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["eim",1710],"trp":["ime",2104],"trw":["mine",1626],"lp":["eim","eime","emni","enim"],"rp":["ime","mine","mei","heim","imme","meni","mein","hem","mhe","phe","hemm","impe","menh","imen","pine","hemn"]},"181":{"input":[1,3,5,6,8],"trw":["ha'",122],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["deim",320],"trw":["hjem",1228],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["aminda",55],"trw":["maaske",483],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",1156],"trp":["mit",1962],"trw":["mit",1634],"lp":["tim","timm","tmi","tmin","vm","vim"],"rp":["mit","mti","mv","ntim","mitt","imt","pib","mvi","mvit","mith","mint","pint","imit"]},"185":{"input":[1,4,5,6,8],"tlw":["vapni",74],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["bisp",71],"trw":["minst",66],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"trw":["knapt",173],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["time",369],"trw":["meir",910],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["varme",418],"trw":["marthe",201],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"trw":["mindre",926],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["skarphedin",261],"trw":["maerke",210],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",14625],"trw":["op",5953],"lp":[],"rp":["op","po","opp","opo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",23],"trp":["opa",359],"lp":["apo"],"rp":["opa"]},"194":{"input":[2,7,8],"tlp":["spo",1607],"trp":["pos",227],"lp":["spo"],"rp":["pos","ops","osp","poss","pso","opso","opsp"]},"195":{"input":[1,2,7,8],"trp":["ospa",68],"lp":[],"rp":["ospa","opas"]},"196":{"input":[3,7,8],"trp":["oppe",1803],"trw":["oppe",861],"lp":[],"rp":["oppe","ope","-p","-pe","poe","o'","'o"]},"197":{"input":[1,3,7,8],"trp":["opae",89],"lp":[],"rp":["opae"]},"198":{"input":[2,3,7,8],"tlp":["dop",25],"trp":["opd",356],"trw":["posse",49],"lp":["dop","dope"],"rp":["opd","poes","pose"]},"199":{"input":[1,2,3,7,8],"trw":["opad",95],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1476],"trp":["opt",955],"tlw":["top",86],"trw":["pot",131],"lp":["top","topp","ttop"],"rp":["opt","pot","pg","opg","pog","pott","pto","opto","ptog"]},"201":{"input":[1,4,7,8],"trp":["opf",337],"trw":["optat",55],"lp":[],"rp":["opf","opta","pfo","opfo","ptag","pga","opga","opfa","pag","pagt"]},"202":{"input":[2,4,7,8],"tlp":["stop",159],"trp":["post",133],"tlw":["spog",66],"trw":["post",83],"lp":["stop","spog","spot"],"rp":["post","psog","opst","psto"]},"203":{"input":[1,2,4,7,8],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",1406],"trp":["por",1635],"tlw":["ropte",390],"trw":["potter",86],"lp":["rop","etop","ropp","ropt","erop","grep","t-p","t-pe"],"rp":["por","pro","porg","opte","opr","orp","prog","port","optr","pote","opro","pror"]},"205":{"input":[1,3,4,7,8],"tlw":["ropa",47],"trw":["praeg",79],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["spor",486],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"trw":["pastor",149],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",89943],"trw":["om",15683],"lp":[],"rp":["om","mo","omm","um","mu","pu","nom","onom","up","mun","upp","pun","mon","umm","umu","mum","omn","opm","munn","mom"]},"209":{"input":[1,5,7,8],"tlp":["amu",199],"trp":["oma",845],"trw":["opnaa",33],"lp":["amu","amun","amum","aum","anmo","aup"],"rp":["oma","uma","omma","pau","opma","oman","opna","uppa","manu","umaa","mau","upa","napo"]},"210":{"input":[2,5,7,8],"tlp":["som",43671],"trp":["oms",911],"tlw":["som",39317],"trw":["mons",44],"lp":["som","spu","smu","somm","smo","smun","sum","sup","supp","spjo"],"rp":["oms","osm","jom","mus","jop","nsom","pus","mons","mos","pjo"]},"211":{"input":[1,2,5,7,8],"tlw":["saasom",54],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["enom",392],"trp":["omme",9224],"trw":["munnen",129],"lp":["enom","emo","epu"],"rp":["omme","umme","uppe","ome","omne","omen","ume","moe","mue","opme","upe","ompe","mome","umen","muen","moen","omy"]},"213":{"input":[1,3,5,7,8],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["dom",370],"trw":["mod",2528],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["aasmund",396],"trw":["pause",88],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",707],"trp":["mot",4043],"tlw":["tom",164],"trw":["mot",2107],"lp":["tom","tum","tomm","gm","gom","tomt","gmu","gmun","tup"],"rp":["mot","omt","mott","munt","mg","pub","omb","mbo","ombo","mob","omg"]},"217":{"input":[1,4,5,7,8],"tlw":["bagom",48],"trw":["magt",486],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["spjot",59],"trw":["pust",52],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["smag",190],"trw":["magnus",34],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"trw":["meget",2988],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["form",273],"trw":["mange",2669],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["gjennem",1415],"trw":["moder",464],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["sprang",713],"trw":["majoren",426],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",3409],"trw":["lop",55],"lp":[],"rp":["pl","lp","pil","pill","lip","lipp","opl","pol","poli","pli","plo","opi","lop","oppi","polo","lpi","oplo"]},"225":{"input":[1,6,7,8],"tlp":["alp",182],"trp":["pla",1343],"trw":["paal",37],"lp":["alp","apol"],"rp":["pla","lap","lapp","lpa","paal","pal","opla","pall"]},"226":{"input":[2,6,7,8],"tlp":["spil",667],"trp":["kop",224],"tlw":["spil",91],"trw":["kop",63],"lp":["spil","slip","skop","spl","spok"],"rp":["kop","klip","pok","pokk","okp","kopp","opk","pko","opko","opsi","plos"]},"227":{"input":[1,2,6,7,8],"tlw":["slap",263],"trw":["plass",85],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elp",1444],"trp":["pel",799],"trw":["pleie",43],"lp":["elp","elpe","elpi"],"rp":["pel","ple","lpe","plei","pell","lep","ople","lepp","peil","li'","ielp","ppel","pele","le'","peli","pile"]},"229":{"input":[1,3,6,7,8],"trw":["la'",34],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["slippe",195],"trw":["pleiede",91],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["selskap",63],"trw":["plads",500],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"trp":["pig",957],"trw":["pligt",151],"lp":[],"rp":["pig","pov","opov","plig","pilt","lpt","pgi","opgi","pgiv","pitl","opig","ppig","lvp","plog"]},"233":{"input":[1,4,6,7,8],"trw":["opgav",46],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["spilt",21],"trw":["opkog",50],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["slapt",29],"trw":["kapital",22],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["pige",436],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["april",106],"trw":["opgave",88],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["spiller",93],"trw":["krop",146],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["sprak-",207],"trw":["kapitel",109],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["ml",5031],"trw":["honom",2975],"lp":[],"rp":["ml","imo","mil","lm","mul","lom","muli","plu","mli","mill","llom","lmi","lmin","hop","omh","umul","mili","uml","iml","oph"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["alm",22],"trw":["maal",213],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["smil",397],"trw":["kom",8732],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["smal",74],"trw":["koma",530],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["emil",46],"trw":["mellem",1590],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["amalie",193],"trw":["lampen",95],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["smukke",238],"trw":["komme",2169],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["allesammen",166],"trw":["hjaelp",283],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["glum",116],"trw":["mig",10638],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["gamal",73],"trw":["opfatning",67],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["smukt",152],"trw":["punkt",134],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["stockmann",328],"trw":["langsomt",378],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["temmelig",368],"trw":["nemlig",491],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["gamle",2534],"trw":["maelte",821],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["smilte",389],"trw":["kommer",2127],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["bokselskap",856],"trw":["litteraturselskap",207],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",112911],"tlw":["a",7695],"lp":["aa","aaa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",10806],"tlw":["s",577],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",77058],"tlw":["saa",19034],"lp":["sa","saa","as","aas","ass","ssa","wa","saas","asa","waa","ssaa","asaa","saaa","assa","aasa"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",6166],"tlw":["e",308],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ae",70925],"tlw":["ex",147],"lp":["ae","aae","ea","ax","ex","aee","xe","exe","xa","exa","axe"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",411497],"tlw":["de",31445],"lp":["de","ed","se","es","ede","dd","dde","ds","des","sse","edes","dse","eds","see","ess","ese","edd","esse","edde","sed"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",41689],"tlw":["da",17989],"lp":["da","ad","add","adde","ade","aad","aes","aed","sae","aade","aede","ada","daa","dda","sad","asse","aese","saad","aada","ads"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",41039],"tlw":["t",37],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",83084],"tlw":["at",55917],"lp":["at","ta","fa","af","ft","att","aat","faa","taa","aatt","ff","aft","fat","tat","tta","aff","fatt","tf","tatt","ata"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",98189],"tlw":["st",132],"lp":["st","ts","sst","sc","tst","ct","tc","cc","tts","tss"],"rp":[]},"11":{"input":[1,2,4],"tlp":["sta",12336],"tlw":["sat",1574],"lp":["sta","ast","sat","staa","satt","tsa","ca","fas","fast","tsaa","fs","afs","ac","stat","fst","afst","ats","tats","tsat","asta"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",261904],"tlw":["er",33906],"lp":["er","et","te","re","rt","ere","tte","ter","tr","ett","ette","ret","rte","rr","ert","tter","tet","rre","err","tre"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",123529],"tlw":["fra",10890],"lp":["ar","ra","fr","aer","fra","aar","aere","fte","are","ef","atte","art","tra","eft","fter","efte","rae","fe","fre","tae"],"rp":[]},"14":{"input":[2,3,4],"tlp":["det",95805],"tlw":["det",77200],"lp":["det","der","ste","dt","rd","dr","rs","est","dre","rde","este","rst","res","red","dett","str","dte","ser","ers","erd"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["ard",3773],"tlw":["satte",1224],"lp":["ard","aest","stra","aerd","dra","ader","saet","derf","aste","rda","tad","rad","raad","stae","aard","stad","raed","fred","rsta","ras"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",37980],"trw":["n",328],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",164272],"trp":["na",33880],"tlw":["anna",1134],"trw":["na",964],"lp":["an","ann","aan","anna","ana"],"rp":["na","naa","nna","nan","nnan","nann","nana"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",5809],"trp":["ns",30049],"trw":["j",102],"lp":["sn","sj","ssn"],"rp":["ns","nj","jn","js","nns","nss","nsn"]},"19":{"input":[1,2,5],"tlp":["ans",16881],"trp":["ja",19604],"tlw":["sja",654],"trw":["ja",6049],"lp":["ans","sna","san","sja","aj","ansa","sjaa","sann","asj","aja","ssan","asn"],"rp":["ja","jaa","nja","nsa","nas","jan","njaa","nasj"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",321311],"trp":["ne",82848],"tlw":["en",38749],"trw":["nye",777],"lp":["en","enn","enne","ene","een","enen","ey"],"rp":["ne","nne","yn","nen","ny","ye","yne","nnen","nene","yen","nye","nny","nee"]},"21":{"input":[1,3,5],"tlp":["aen",13038],"trp":["nae",5436],"tlw":["annen",219],"trw":["naae",45],"lp":["aen","anne","ane","aaen","enna","anny","anen","aane","aene","ena","any","aany","enan","xan","exan"],"rp":["nae","naae","yna","ya","naee"]},"22":{"input":[2,3,5],"tlp":["den",74661],"trp":["nd",121952],"tlw":["den",37787],"trw":["ned",3945],"lp":["den","end","ende","sen","ens","denn","sy","syn","dn"],"rp":["nd","je","nde","jen","nden","nes","ned","ys","yd","nnes","ndes"]},"23":{"input":[1,2,3,5],"tlp":["and",33662],"trp":["jae",5122],"tlw":["anden",2420],"trw":["naade",166],"lp":["and","ande","dan","aend","aand","adan","sand","anse","enda","ands","aden","dans","dann","anda","sjae"],"rp":["jae","nda","naes","nand","ndda"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["tn",2343],"trp":["nt",20514],"tlw":["b",230],"trw":["nb",169],"lp":["tn","bt","bn","bb","tb","ttn"],"rp":["nt","nb","nnt","ntn"]},"25":{"input":[1,4,5],"tlp":["ba",17182],"trp":["nat",3688],"tlw":["fann",272],"trw":["nat",367],"lp":["ba","tan","ab","ant","fan","aab","baa","ban","abt","fann","abn","aabn","tab","aabt","anta","fant"],"rp":["nat","nf","natt","nta"]},"26":{"input":[2,4,5],"tlp":["bj",1597],"trp":["nst",1389],"lp":["bj","tj","sb","stn","bs","sbn","stj","sbj","stb","tsb","tsj","bst"],"rp":["nst","jst","jt","nc","jtn","nsc","nnst","nstn"]},"27":{"input":[1,2,4,5],"tlp":["stan",2679],"trp":["nsta",211],"tlw":["sant",289],"trw":["jf",31],"lp":["stan","fj","tans","sant","tja","bas","abs","anst","anc","fja","asb","asbj","stba","bja","tanc"],"rp":["nsta","jac","nast","jtna","ntas"]},"28":{"input":[3,4,5],"tlp":["be",28242],"trp":["nte",10150],"tlw":["berre",1003],"trw":["nyt",327],"lp":["be","ten","ren","rn","br","ent","rne","ern","erne","ty","ry","ber","ente","eb","rb","eren"],"rp":["nte","ner","yr","net"]},"29":{"input":[1,3,4,5],"tlp":["bar",6004],"trp":["nar",6320],"tlw":["bare",3028],"trw":["naar",5355],"lp":["bar","ran","taen","bare","fy","bra","arn","fyr","aren","ften","abe","barn","raen","arb","bae"],"rp":["nar","naar","naer","nnar","nart"]},"30":{"input":[2,3,4,5],"tlp":["sten",6428],"trp":["nder",11117],"tlw":["syntes",1260],"lp":["sten","bes","endt","rden","bed","sty","best","rend","dern","synt"],"rp":["nder","ndt","ndr","ndre","jer","ndet","ndte","yst","nest","jern"]},"31":{"input":[1,2,3,4,5],"tlw":["andre",3868],"trw":["naesten",1049],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",1106],"trw":["i",62852],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",969],"trp":["ia",2946],"tlw":["ai",51],"lp":["ai","aai","za"],"rp":["ia","iaa"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",57626],"trp":["kk",58266],"tlw":["si",1195],"trw":["k",1220],"lp":["si","sk","ski","sik","sikk","skik","sis"],"rp":["kk","ik","ikk","is","ki","ks","iss","isk","kik","iks","kki","ikki","kikk"]},"35":{"input":[1,2,6],"tlp":["ak",14837],"trp":["ka",36672],"tlw":["saki",383],"trw":["ka",36],"lp":["ak","ska","akk","ask","aks","sak","aka","aask","akka","aki","saki","sia","aak","skaa"],"rp":["ka","kas","kka","isa","kaa","ika"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",46211],"trp":["ie",12197],"tlw":["ei",2621],"lp":["ei","eie"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["xi",72],"trp":["iae",68],"tlw":["xi",27],"trw":["ix",27],"lp":["xi","aei","eia","xii","xiii"],"rp":["iae","ix"]},"38":{"input":[2,3,6],"tlp":["di",22778],"trp":["ke",75425],"tlw":["dei",9926],"trw":["ikke",27380],"lp":["di","ske","dei","ek","sid","ekk","side","esk","eis","eske","dis","eid"],"rp":["ke","kke","id","ikke","ide","ids","ise","isse"]},"39":{"input":[1,2,3,6],"tlp":["akke",3114],"trp":["ida",2239],"tlw":["skade",227],"trw":["kasse",30],"lp":["akke","aek","aekk","ake","aske","sida","adi","daek","ekka","skad","adsk","akse","eska","dska"],"rp":["ida","idda","isae","kad","kade","kae"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",75549],"trp":["it",21023],"tlw":["vi",9397],"trw":["iv",58],"lp":["ti","vi","tv","vit","vt","tti","tvi","viv","tviv","vii","tiv","vitt","tit"],"rp":["it","iv","itt","iti","ivi","itti","ivt"]},"41":{"input":[1,4,6],"tlp":["va",86367],"trp":["if",2566],"tlw":["av",10474],"lp":["va","av","fi","vaa","ava","avt","avi","fti","tia","atti","aav","vat","ati","vita","aavi"],"rp":["if","ift","ita","iva","iaf"]},"42":{"input":[2,4,6],"tlp":["vis",9768],"trp":["kt",8569],"tlw":["sit",3082],"trw":["kvit",106],"lp":["vis","sv","sti","sit","viss","vist","sitt","vs","ci","ck","vst"],"rp":["kt","ist","kv","kvi","isst","ic","ikt","isti","kst"]},"43":{"input":[1,2,4,6],"tlp":["sva",5726],"trp":["kva",3206],"tlw":["fik",2530],"trw":["kva",1095],"lp":["sva","tak","fik","takk","akt","vak","stak","stia","fis","fisk","taka","vakk","fikk"],"rp":["kva","kast","kaf","ica","kaff","ista","kat"]},"44":{"input":[3,4,6],"tlp":["ve",84601],"trp":["ir",9659],"tlw":["eit",2100],"lp":["ve","ri","ver","ev","eve","vet","rei","eit","vei","rti","rv","rev","eri","eir","eier"],"rp":["ir","ive","ier","ite","iver"]},"45":{"input":[1,3,4,6],"tlp":["var",53426],"trp":["ifte",820],"tlw":["var",42028],"lp":["var","vae","vaer","ave","vart","vera","vare","fri","eva","aev","vara","arv","ari","rav","aeve","arve","fie","evae","fir"],"rp":["ifte"]},"46":{"input":[2,3,4,6],"tlp":["ved",13498],"trp":["kr",10422],"tlw":["ved",10508],"trw":["idet",890],"lp":["ved","vd","rk","vde","tid","rke","dri","vid","erk","skr","rdi"],"rp":["kr","ker","ket","idt","kri","kte","kker","iste","idst"]},"47":{"input":[1,2,3,4,6],"tlw":["fekk",1380],"trw":["kvar",593],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",88711],"trw":["inn",1636],"lp":[],"rp":["in","ni","hi","nin","inn","nh","hin","nhi","ih","nni","iin","nnin","hn","inni","ini","inin","nnh","hii","hiin","nnhi"]},"49":{"input":[1,5,6],"tlp":["ani",619],"trp":["ha",134263],"tlw":["ah",106],"trw":["han",52972],"lp":["ani","ania","ah","ain","anni"],"rp":["ha","han","haa","haan","ina","ian","inan","hina","nia","hann","iani","inna","nha","iana","nz"]},"50":{"input":[2,5,6],"tlp":["sin",12978],"trp":["kj",25013],"tlw":["sin",8225],"trw":["nik",27],"lp":["sin","skj","skin","sni","sh"],"rp":["kj","nk","kkj","ikkj","hj","nsk","kn","nsi","kin","ink","ins","his","nkj","kni","inkj"]},"51":{"input":[1,2,5,6],"tlp":["ansk",3797],"trp":["kan",11435],"tlw":["sank",208],"trw":["hans",8898],"lp":["ansk","ank","ansi","snak","skja","sank","ash","akn"],"rp":["kan","hans","kja","nak","nakk","hja","kans","hak","kann","kna","nska","has"]},"52":{"input":[3,5,6],"tlp":["ein",9181],"trp":["he",52514],"tlw":["ein",5538],"trw":["henne",2515],"lp":["ein","eh","enh","eni","eine","eien","enin","enhe"],"rp":["he","hen","ine","henn","hei","nei","ien","inne","hy","inen","nhe","ihe"]},"53":{"input":[1,3,5,6],"tlp":["eha",758],"trp":["hae",2400],"tlw":["einannan",141],"trw":["hena",63],"lp":["eha","enha","eina","ehan","anie","enia","enz","aine","anei","ahy","ehaa","aein","einz"],"rp":["hae","haen","iane","nhae","hena","hea","hax"]},"54":{"input":[2,3,5,6],"tlp":["enk",5100],"trp":["ind",19969],"tlw":["sine",3555],"trw":["ikkje",7483],"lp":["enk","sine","din"],"rp":["ind","kje","hend","inde","kkje","yk","ken","hed","nke","iden","ykk","hje","nske","ykke","ky","kjen","nesk"]},"55":{"input":[1,2,3,5,6],"tlw":["sidan",654],"trw":["hadde",11705],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["vin",4628],"trp":["hv",25602],"tlw":["thi",1736],"trw":["hit",287],"lp":["vin","th","bi","tin","vn","thi","tni","tnin","vint","bin","vinn"],"rp":["hv","hvi","int","ib","nti","nhv","nv","ntin","hvit"]},"57":{"input":[1,4,5,6],"tlp":["van",4044],"trp":["hav",15474],"tlw":["fin",261],"trw":["navn",696],"lp":["van","fin","avn","finn","tian","vant","anv","fint","vann"],"rp":["hav","hva","nav","navn","hava","hat","havt","haab","hatt","havn","nhav"]},"58":{"input":[2,4,5,6],"tlp":["ch",2454],"trp":["nkt",2442],"tlw":["sint",142],"trw":["hvis",1991],"lp":["ch","stin","sch","svin","skib","bis","tkj","stni"],"rp":["nkt","hvis","kvin","nic","hist","istn","ich","kib","isb","isbn","kniv","inst"]},"59":{"input":[1,2,4,5,6],"tlw":["bak",310],"trw":["kant",169],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["ven",10891],"trp":["her",10731],"tlw":["ven",661],"trw":["her",6657],"lp":["ven","rin","rh","vent","even","vne","beh","bei","bev","evn","erh","the"],"rp":["her","hve","hver","inte","hev","herr","hr","yv"]},"61":{"input":[1,3,4,5,6],"tlw":["fine",333],"trw":["har",14412],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["verden",958],"trw":["kjendte",636],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["vand",853],"trw":["havde",9987],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",42],"trw":["o",923],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","trp":["oa",34],"lp":[],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",62776],"trp":["os",14215],"tlw":["so",6443],"trw":["os",3796],"lp":["so","sos","sso","soso"],"rp":["os","oss","oso"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",147],"trp":["ow",102],"trw":["ossaa",45],"lp":["wo","aso","aaso","asso"],"rp":["ow","ossa","owa"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",687],"trp":["oe",3728],"trw":["-",3322],"lp":["eo","e-"],"rp":["oe","-o","o-"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",49],"trp":["ox",122],"lp":["a-","e-a","e-aa"],"rp":["ox","oxe","-a","-aa"]},"70":{"input":[2,3,7],"tlp":["do",13375],"trp":["od",32172],"tlw":["dod",621],"trw":["odd",219],"lp":["do","dod","eso","dode","edo","sod","dso","esso","doe"],"rp":["od","ode","odd","ose","ods","odde","oed","oede","osse","odse","odes"]},"71":{"input":[1,2,3,7],"tlp":["adso",64],"trp":["odsa",186],"lp":["adso","de-a"],"rp":["odsa","oda","odda","-aas"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",34309],"trp":["og",149705],"tlw":["to",2884],"trw":["og",122759],"lp":["to","gt","go","gg","tog","tg","tot","tott","gto","tto","gtt","got","gtto","ttog"],"rp":["og","ot","ott","ogt","ogg","otto"]},"73":{"input":[1,4,7],"tlp":["fo",74135],"trp":["of",3896],"tlw":["gaa",1786],"lp":["fo","ag","ga","agt","gaa","tag","aag","gat","aga","tfo","tga","fot","gf","fag","gaat"],"rp":["of","oft","ofa","off","otta"]},"74":{"input":[2,4,7],"tlp":["sto",16012],"trp":["ogs",5245],"tlw":["stott",99],"trw":["oc",346],"lp":["sto","gs","sog","gst","sg","gso","sost","co","sogt","stot","toc","stoc","tso","sot"],"rp":["ogs","ost","oc","ogso","osto","oct"]},"75":{"input":[1,2,4,7],"tlp":["sag",7523],"trp":["ogsa",5006],"tlw":["sagt",1463],"trw":["ogsaa",3774],"lp":["sag","gsa","gsaa","sagt","ags","sof","saag","sga","asg","asto","sofa","sgaa","aco","fos","sfo","stof","soga","gsta"],"rp":["ogsa","ofas"]},"76":{"input":[3,4,7],"tlp":["ge",87205],"trp":["or",142919],"tlw":["eg",8868],"trw":["or",301],"lp":["ge","eg","ro","tor","get","ger","gr","ege","rg","gte","gge","tro","eget"],"rp":["or","ort","ore","oge","orte","org","oget"]},"77":{"input":[1,3,4,7],"tlp":["for",64883],"trp":["ora",3045],"tlw":["for",32016],"trw":["ofte",1064],"lp":["for","age","fort","aeg","tage","rag","gar","rfo","rfor","gra","fore","gaar","fora","agte","erfo","aegg"],"rp":["ora","ofte","orta","orf"]},"78":{"input":[2,3,4,7],"tlp":["stor",7850],"trp":["ord",13774],"tlw":["seg",6090],"trw":["ord",1982],"lp":["stor","god","seg","gd","tod","stod","gde","ges","dog","godt","rod","deg","dor","rso","sor"],"rp":["ord","ors","orst","orde","odt"]},"79":{"input":[1,2,3,4,7],"tlw":["sagde",3425],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["un",57145],"trw":["nu",8186],"lp":[],"rp":["un","no","on","nu","unn","ono","onn","nno","ou","uu","nun","uun","onno","non","nnu","uo","uno","oun"]},"81":{"input":[1,5,7],"tlp":["au",4958],"trp":["unna",1842],"tlw":["au",141],"trw":["unna",94],"lp":["au","ano","anu","anua","anno"],"rp":["unna","ona","ua","onna","nau","nua","una"]},"82":{"input":[2,5,7],"tlp":["su",3824],"trp":["jo",23891],"tlw":["son",930],"trw":["jo",3859],"lp":["su","son","sjo","snu","sun","sno","sson","sonn"],"rp":["jo","us","ju","jon","oj","ons","jonn","jus","ojn","uss","jos","uns"]},"83":{"input":[1,2,5,7],"tlp":["aus",1274],"trp":["jona",341],"tlw":["sau",28],"trw":["jau",154],"lp":["aus","ajo","asjo","sau","anus","wu","snau","sua"],"rp":["jona","jau","ussa","onas","janu","usa","onsa"]},"84":{"input":[3,5,7],"tlp":["eno",822],"trp":["ue",3657],"tlw":["enno",276],"trw":["noe",486],"lp":["eno","eu","enno","eon","eun","enu"],"rp":["ue","one","uen","unne","oy","onne","oen","noe","onen","une","noen","yo","oyo","oye"]},"85":{"input":[1,3,5,7],"tlp":["eona",156],"trp":["oxn",30],"lp":["eona","anoe","aue","auen"],"rp":["oxn","oxne","ux","oux","oxen","oya"]},"86":{"input":[2,3,5,7],"tlp":["du",19662],"trp":["und",23222],"tlw":["du",17772],"trw":["ud",4343],"lp":["du","dnu"],"rp":["und","ud","unde","ude","uden","ndnu","use","ond","uds","ndo","udd","udse","udde","oje","nod","ndu","onde","oden"]},"87":{"input":[1,2,3,5,7],"tlw":["daud",104],"trw":["unda",243],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bo",11738],"trp":["ng",56304],"tlw":["gong",545],"trw":["ut",3855],"lp":["bo","gu","tu","gn","bu","tun","gun","gunn","gut","gon"],"rp":["ng","ut","nog","ug","ung","ngt","ong","ob","utt","ont"]},"89":{"input":[1,4,5,7],"tlp":["ang",17346],"trp":["nga",2499],"tlw":["gang",1862],"trw":["utan",212],"lp":["ang","gan","gang","fu","bag","angt","atu","aug","agn","fun","aut","fang"],"rp":["nga","natu","ngan","uf","nfo","uft","uta","utga"]},"90":{"input":[2,4,5,7],"tlp":["gj",23821],"trp":["ngs",2173],"tlw":["song",96],"trw":["just",538],"lp":["gj","gjo","stu","bjo","stun","tus","ggj","gus","stno"],"rp":["ngs","ust","ngst","jont","just","uc","ngso","job","jot","unst","ugus"]},"91":{"input":[1,2,4,5,7],"tlw":["sang",405],"trw":["jacob",143],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gen",22078],"trp":["nge",25467],"tlw":["bort",1232],"trw":["noget",4415],"lp":["gen","ru","eng","bor","enge","beg","run","tur","egen","gy"],"rp":["nge","ur","ngen","noge","yg","nger","oren","orn","ogen","nor"]},"93":{"input":[1,3,4,5,7],"tlw":["gunnar",1603],"trw":["naturen",307],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["gjorde",2339],"trw":["jeg",29616],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["dagen",1077],"trw":["udenfor",448],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["il",83974],"trw":["lo",890],"lp":[],"rp":["il","li","ll","ol","lo","ill","oi","lli","oli","io","illi","lil","ili","lill","oll","llo","illo","lio","loi","iil"]},"97":{"input":[1,6,7],"tlp":["al",58249],"trp":["la",46808],"tlw":["al",993],"trw":["la",2277],"lp":["al","all","aal","ala","alli","ali","alla","aala","alo"],"rp":["la","laa","lla","ola","illa","ial","lai","olai","lia","ila","oia"]},"98":{"input":[2,6,7],"tlp":["sl",12627],"trp":["ko",30079],"tlw":["slik",1363],"trw":["los",291],"lp":["sl","sli","slik","sol","slo"],"rp":["ko","ok","ls","lik","lk","kl","olk","lsk","ils","oko","kol","oks","ilk","okk","los"]},"99":{"input":[1,2,6,7],"tlp":["skal",8407],"trp":["kal",10316],"tlw":["skal",8110],"trw":["kalla",209],"lp":["skal","sla","saal","ako","als","sal","slaa","alsk","alk","asl"],"rp":["kal","kla","las","lska","lass","kall","lsa","lask","lak","isla"]},"100":{"input":[3,6,7],"tlp":["el",77241],"trp":["le",79550],"tlw":["elle",34],"trw":["lille",1039],"lp":["el","ell","elle","eli","ele","eil","elli","eel","eile"],"rp":["le","lle","ille","ole","oie","lei","ile","lie","iel","lel","olle"]},"101":{"input":[1,3,6,7],"tlp":["ale",7840],"trp":["lae",9587],"tlw":["alle",5666],"trw":["lea",237],"lp":["ale","alle","ael","aale","aell","ella","aele","ela","alae","alie","alei","eal","eale","aael","alex"],"rp":["lae","laae","lea","iael","lex"]},"102":{"input":[2,3,6,7],"tlp":["els",10495],"trp":["ld",45157],"tlw":["del",665],"trw":["lod",1164],"lp":["els","del","sel","eld","else","deli","elsk","dl","elde"],"rp":["ld","lde","ild","ilde","old","lse","kel","led","lid","lede","keli"]},"103":{"input":[1,2,3,6,7],"tlw":["saaledes",1295],"trw":["lad",661],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["til",52776],"trp":["ig",98658],"tlw":["til",41443],"trw":["liv",1338],"lp":["til","vil","vo","gi","gl","tig","till","tl","gti"],"rp":["ig","lig","ov","lt","lv","igt","liv","lg","lit","ligt","lov"]},"105":{"input":[1,4,6,7],"tlp":["alt",10974],"trp":["lag",4727],"tlw":["alt",4399],"trw":["olav",641],"lp":["alt","fol","tal","fl","gav","fal","gla","alv","talt","folg","alti","flo","fla","tilf","gif"],"rp":["lag","lf","lav","lat","ilf"]},"106":{"input":[2,4,6,7],"tlp":["sig",27397],"trp":["lst",1344],"tlw":["sig",21706],"lp":["sig","gik","tok","stil","sigt","tils","vilk","stol","slig","sov","gvis","slog","gikk","stig"],"rp":["lst","lts","kog","likt","okt","kto"]},"107":{"input":[1,2,4,6,7],"tlw":["folk",2816],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["vor",14150],"trp":["ige",17385],"tlw":["eller",6110],"trw":["over",7437],"lp":["vor","elig","rl","vel","elv","rig","rli","rlig","elt","erl"],"rp":["ige","ove","ler","over","ller","lige","lev","lte","let","live"]},"109":{"input":[1,3,4,6,7],"tlw":["tale",1360],"trw":["laegge",464],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["vilde",7016],"trw":["lidt",2153],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["aldrig",2153],"trw":["idag",668],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ho",30354],"trw":["hun",21044],"lp":[],"rp":["ho","hu","hun","ul","lu","hol","lin","hon","hono","nl","hoi","uli","ull","oin","nli","hil","llin","oh","oni","nhil"]},"113":{"input":[1,5,6,7],"tlp":["anl",884],"trp":["lan",10243],"tlw":["alonzo",24],"trw":["hall",138],"lp":["anl","anli","ahl"],"rp":["lan","hal","lau","hall","nla","oha","ohan","nal","onal","nnla","nlau","llan","hau","onla","ula","nlan","ulia"]},"114":{"input":[2,5,6,7],"tlp":["sku",10170],"trp":["ku",23180],"tlw":["sjol",372],"trw":["nok",3367],"lp":["sku","skul","skjo","slu"],"rp":["ku","kun","kul","nok","kon","kjo","uk","hos","hus","ukk","noko","kjon","kunn","jol","lj","jul"]},"115":{"input":[1,2,5,6,7],"trw":["hakon",849],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eho",965],"trp":["hel",9131],"trw":["hele",2760],"lp":["eho","elen","enl","ehol"],"rp":["hel","len","ly","yl","hele","hell","oine","lene","olen","ule","ulle","hoie","hoy","heil","uly","nel"]},"117":{"input":[1,3,5,6,7],"tlw":["alene",964],"trw":["nella",82],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["skulde",7929],"trw":["kunde",7993],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["sjael",299],"trw":["land",975],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",22281],"trp":["ing",20917],"tlw":["bli",1395],"trw":["hoit",425],"lp":["bl","bli","ting","gh","bliv","tilb","blo"],"rp":["ing","hvo","ning","lb","igh","ilb","hov","ling","ligh","hvil","lut","ntl","ntli"]},"121":{"input":[1,4,5,6,7],"tlw":["gunnlaug",319],"trw":["langt",1662],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["blik",491],"trw":["och",329],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["ansigt",724],"trw":["langs",495],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["blev",6367],"trw":["hvor",4988],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["tilbage",1441],"trw":["laenge",1067],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["gjekk",2117],"trw":["igjen",3313],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["ganske",1701],"trw":["landet",659],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",6585],"trw":["p",102],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",4962],"trp":["pa",49694],"trw":["paa",26138],"lp":["ap","app","aap","apa","appa","aapa"],"rp":["pa","paa","pap","ppa","ppaa","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",8870],"trp":["ps",217],"trw":["ps",26],"lp":["sp"],"rp":["ps","psp"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",590],"trp":["pas",1229],"tlw":["saapas",42],"trw":["pas",58],"lp":["spa","saap","apas","asp"],"rp":["pas","pass","paas","psa","pspa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",1790],"trp":["pe",12061],"trw":["'",36],"lp":["ep","epp","eppe","epe","e'"],"rp":["pe","ppe","pee","'e","pep","pepp"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["appe",605],"trp":["pae",444],"trw":["'a",44],"lp":["appe","ape","a'","epa","aape","eppa"],"rp":["pae","paee","'a","pea"]},"134":{"input":[2,3,8],"tlp":["spe",488],"trp":["pd",356],"lp":["spe","dp","esp","espe","sep","dsp","edp","s'","d'","d'e","es'","des'","ed'","dep"],"rp":["pd","ped","pede","pped","pes","ppes"]},"135":{"input":[1,2,3,8],"tlp":["spae",291],"trp":["pda",290],"tlw":["sa'",71],"trw":["passe",167],"lp":["spae","dpa","dpaa","sa'","edpa","aspe","depa"],"rp":["pda","pad","paed"]},"136":{"input":[4,8],"tlp":["tp",173],"trp":["pt",1987],"lp":["tp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",508],"trp":["pf",337],"tlw":["tapt",32],"lp":["apt","tpa","tap","tapt","tpaa"],"rp":["pf","pta","paaf","pfa","pfat","ptat","pat","ppat","patt"]},"138":{"input":[2,4,8],"trp":["pst",23],"lp":[],"rp":["pst"]},"139":{"input":[1,2,4,8],"tlp":["cap",53],"trp":["past",196],"trw":["paastaa",25],"lp":["cap","capp"],"rp":["past"]},"140":{"input":[3,4,8],"tlp":["rp",1719],"trp":["pr",6671],"tlw":["teppet",51],"trw":["per",998],"lp":["rp","erp","rep","repe","t'","et'","ept","tep"],"rp":["pr","per","pet","pre","pte","pper","ppet","petr","pete","ptr","pere","peer"]},"141":{"input":[1,3,4,8],"tlp":["rpa",1174],"trp":["pra",2577],"tlw":["rapp",178],"trw":["par",1236],"lp":["rpa","rpaa","erpa","rap","arp","rapp","trap","apte","apet","repa","arpe","apr","rape"],"rp":["pra","par","prae","part","prat","para","ptra"]},"142":{"input":[2,3,4,8],"tlp":["spr",1897],"trp":["pres",895],"tlw":["drepe",95],"trw":["prest",134],"lp":["spr","derp","drep","set'","sept","spre","sper","resp","step","rdsp","spec","d'er","dtp","rdp"],"rp":["pres","pers","pred","pdr","pec","pest"]},"143":{"input":[1,2,3,4,8],"tlw":["derpaa",639],"trw":["passer",132],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",21715],"trw":["m",266],"lp":[],"rp":["mm","mp","mn","pn","nm","np","pm","nnp"]},"145":{"input":[1,5,8],"tlp":["am",30376],"trp":["ma",44872],"trw":["man",6961],"lp":["am","amm","ama","amp","aam","apn","aman","amn","ampa"],"rp":["ma","man","maa","mann","pan","mma","nap","nma","maan","npa","mpa"]},"146":{"input":[2,5,8],"tlp":["sm",7709],"trp":["ms",1313],"lp":["sm","spj"],"rp":["ms","nsm","mj","pj","nsp","mps","mss","msp"]},"147":{"input":[1,2,5,8],"tlp":["sam",7924],"trp":["maj",624],"tlw":["smaa",580],"trw":["jaampa",181],"lp":["sam","samm","sma","smaa","sman","asm","aasm","sama","saam","ams"],"rp":["maj","maas","mas","jam","jaam","nsma","mja","mass","jamn","jamm"]},"148":{"input":[3,5,8],"tlp":["em",29102],"trp":["me",119265],"trw":["men",24935],"lp":["em","emm","emme","emn","eme"],"rp":["me","men","mme","mmen","menn","nem","pen","nnem","my","mpe","mene","ppen","mee","nep","'n"]},"149":{"input":[1,3,5,8],"tlp":["amme",6974],"trp":["mae",3374],"tlw":["apne",60],"trw":["mannen",490],"lp":["amme","ame","amen","ema","ampe","aem","apne","enpa","aame","emae","aemp","apen","emna","xem"],"rp":["mae","maen","maae","paen","mane","pmae"]},"150":{"input":[2,3,5,8],"tlp":["dem",8585],"trp":["med",39755],"tlw":["dem",8538],"trw":["med",36341],"lp":["dem","sme","dm","esm","sem","emnd","emd","emde"],"rp":["med","jem","mes","mede","mens","jemm","mmed","mend","mmes","md","mde","mnd"]},"151":{"input":[1,2,3,5,8],"tlw":["samme",2157],"trw":["mand",2119],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",528],"trp":["mt",5699],"lp":["tm","bm","ttm"],"rp":["mt","mb","mtm","mnt"]},"153":{"input":[1,4,5,8],"tlp":["amt",1276],"trp":["maat",2873],"tlw":["amt",30],"trw":["mat",345],"lp":["amt","amf","amta","fam","tma","tman","amtm","tam","tamm","amb"],"rp":["maat","mat","matt","mf","mta","mtma","napt","mant","manf","mata"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["stm",72],"trp":["mst",812],"lp":["stm"],"rp":["mst"]},"155":{"input":[1,2,4,5,8],"tlw":["samt",265],"trw":["jamt",42],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",7650],"trp":["mer",11185],"trw":["mere",2630],"lp":["rm","rme","rem","tem","erm","emt","erme","temm","rmen","remm","emte","temt","rmer"],"rp":["mer","mmer","mere","met","mte","mmet","ment"]},"157":{"input":[1,3,4,5,8],"tlw":["frem",2232],"trw":["maatte",2413],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["dermed",460],"trw":["mest",1195],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["fremmede",427],"trw":["praesten",521],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",3962],"lp":[],"rp":["pi","ip","ipp","ppi","pip","pii","ipi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",565],"trp":["papi",297],"trw":["pipa",30],"lp":["api","apii","aapi"],"rp":["papi","ipa","pia","pipa"]},"162":{"input":[2,6,8],"tlp":["spi",1562],"trp":["pis",688],"tlw":["skip",130],"lp":["spi","spis","skip"],"rp":["pis","kip","pik","isp","kipp","kp","pk","psk","pski","psi","kipi","ips","kips"]},"163":{"input":[1,2,6,8],"tlp":["skap",1414],"trp":["kap",2212],"tlw":["skipa",35],"trw":["kap",53],"lp":["skap","spak"],"rp":["kap","pak","kapi","kapp","pakk","kasp","kipa","kapa"]},"164":{"input":[3,6,8],"tlp":["epi",51],"trp":["ippe",579],"lp":["epi"],"rp":["ippe","ipe","pei","i'","pipe"]},"165":{"input":[1,3,6,8],"trp":["paei",34],"lp":[],"rp":["paei"]},"166":{"input":[2,3,6,8],"tlp":["spid",160],"trp":["pise",465],"tlw":["spise",213],"trw":["pike",73],"lp":["spid","spek","spei","espi","dpi","edpi"],"rp":["pise","kipe","pid","pike","pek","pids","ispe","'k","peis","idsp"]},"167":{"input":[1,2,3,6,8],"tlw":["skape",20],"trw":["pakke",59],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["vp",22],"trp":["pit",244],"lp":["vp"],"rp":["pit","ipt"]},"169":{"input":[1,4,6,8],"tlp":["apit",244],"trp":["pita",83],"lp":["apit","vap","vaap","vpa"],"rp":["pita","pav","paav"]},"170":{"input":[2,4,6,8],"tlp":["cip",35],"trp":["pist",223],"tlw":["spist",76],"lp":["cip"],"rp":["pist"]},"171":{"input":[1,2,4,6,8],"tlw":["skapt",72],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",118],"trp":["pri",1351],"lp":["rip","ript","ripe","tepi"],"rp":["pri","pir","pire","ipet","peri","ptei","pite","ptri","priv","piir","ipte","peti","prii","prei"]},"173":{"input":[1,3,4,6,8],"tlw":["appetit",31],"trw":["parti",114],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["skipet",189],"trw":["pris",147],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["skarpe",106],"trw":["paris",116],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",30489],"trw":["min",5651],"lp":[],"rp":["mi","min","im","imi","ph","him","imm","mh","himm","imp","hm","minn","pin","mni","mnin","inm","phi","phin","nim","pni"]},"177":{"input":[1,5,6,8],"tlp":["ami",591],"trp":["ham",10774],"trw":["ham",10248],"lp":["ami","aim","aima","apni","amin","aham"],"rp":["ham","hamm","mai","ima","iman","inma","hama","maim","hamp","hma","hman","mina","hap","pian"]},"178":{"input":[2,5,6,8],"tlp":["smi",1350],"trp":["mk",1125],"trw":["km",55],"lp":["smi","sim","simp","skim","simi"],"rp":["mk","mis","km","msi","kim","ism","mins","mkj","misk","mik","ksim","insp","mpsk","ims","imss"]},"179":{"input":[1,2,5,6,8],"tlw":["skam",220],"trw":["kamp",171],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["eim",1710],"trp":["ime",2104],"trw":["mine",1626],"lp":["eim","eime","emni","enim"],"rp":["ime","mine","mei","heim","imme","meni","mein","hem","mhe","phe","hemm","impe","menh","imen","pine","hemn"]},"181":{"input":[1,3,5,6,8],"trw":["ha'",122],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["deim",320],"trw":["hjem",1228],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["aminda",55],"trw":["maaske",483],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",1156],"trp":["mit",1962],"trw":["mit",1634],"lp":["tim","timm","tmi","tmin","vm","vim"],"rp":["mit","mti","mv","ntim","mitt","imt","pib","mvi","mvit","mith","mint","pint","imit"]},"185":{"input":[1,4,5,6,8],"tlw":["vapni",74],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["bisp",71],"trw":["minst",66],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"trw":["knapt",173],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["time",369],"trw":["meir",910],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["varme",418],"trw":["marthe",201],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"trw":["mindre",926],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["skarphedin",261],"trw":["maerke",210],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",14625],"trw":["op",5953],"lp":[],"rp":["op","po","opp","opo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",23],"trp":["opa",359],"lp":["apo"],"rp":["opa"]},"194":{"input":[2,7,8],"tlp":["spo",1607],"trp":["pos",227],"lp":["spo"],"rp":["pos","ops","osp","poss","pso","opso","opsp"]},"195":{"input":[1,2,7,8],"trp":["ospa",68],"lp":[],"rp":["ospa","opas"]},"196":{"input":[3,7,8],"trp":["oppe",1803],"trw":["oppe",861],"lp":[],"rp":["oppe","ope","-p","-pe","poe","o'","'o"]},"197":{"input":[1,3,7,8],"trp":["opae",89],"lp":[],"rp":["opae"]},"198":{"input":[2,3,7,8],"tlp":["dop",25],"trp":["opd",356],"trw":["posse",49],"lp":["dop","dope"],"rp":["opd","poes","pose"]},"199":{"input":[1,2,3,7,8],"trw":["opad",95],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1476],"trp":["opt",955],"tlw":["top",86],"trw":["pot",131],"lp":["top","topp","ttop"],"rp":["opt","pot","pg","opg","pog","pott","pto","opto","ptog"]},"201":{"input":[1,4,7,8],"trp":["opf",337],"trw":["optat",55],"lp":[],"rp":["opf","opta","pfo","opfo","ptag","pga","opga","opfa","pag","pagt"]},"202":{"input":[2,4,7,8],"tlp":["stop",159],"trp":["post",133],"tlw":["spog",66],"trw":["post",83],"lp":["stop","spog","spot"],"rp":["post","psog","opst","psto"]},"203":{"input":[1,2,4,7,8],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",1406],"trp":["por",1635],"tlw":["ropte",390],"trw":["potter",86],"lp":["rop","etop","ropp","ropt","erop","grep","t-p","t-pe"],"rp":["por","pro","porg","opte","opr","orp","prog","port","optr","pote","opro","pror"]},"205":{"input":[1,3,4,7,8],"tlw":["ropa",47],"trw":["praeg",79],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["spor",486],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"trw":["pastor",149],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",89943],"trw":["om",15683],"lp":[],"rp":["om","mo","omm","um","mu","pu","nom","onom","up","mun","upp","pun","mon","umm","umu","mum","omn","opm","munn","mom"]},"209":{"input":[1,5,7,8],"tlp":["amu",199],"trp":["oma",845],"trw":["opnaa",33],"lp":["amu","amun","amum","aum","anmo","aup"],"rp":["oma","uma","omma","pau","opma","oman","opna","uppa","manu","umaa","mau","upa","napo"]},"210":{"input":[2,5,7,8],"tlp":["som",43671],"trp":["oms",911],"tlw":["som",39317],"trw":["mons",44],"lp":["som","spu","smu","somm","smo","smun","sum","sup","supp","spjo"],"rp":["oms","osm","jom","mus","jop","nsom","pus","mons","mos","pjo"]},"211":{"input":[1,2,5,7,8],"tlw":["saasom",54],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["enom",392],"trp":["omme",9224],"trw":["munnen",129],"lp":["enom","emo","epu"],"rp":["omme","umme","uppe","ome","omne","omen","ume","moe","mue","opme","upe","ompe","mome","umen","muen","moen","omy"]},"213":{"input":[1,3,5,7,8],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["dom",370],"trw":["mod",2528],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["aasmund",396],"trw":["pause",88],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",707],"trp":["mot",4043],"tlw":["tom",164],"trw":["mot",2107],"lp":["tom","tum","tomm","gm","gom","tomt","gmu","gmun","tup"],"rp":["mot","omt","mott","munt","mg","pub","omb","mbo","ombo","mob","omg"]},"217":{"input":[1,4,5,7,8],"tlw":["bagom",48],"trw":["magt",486],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["spjot",59],"trw":["pust",52],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["smag",190],"trw":["magnus",34],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"trw":["meget",2988],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["form",273],"trw":["mange",2669],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["gjennem",1415],"trw":["moder",464],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["sprang",713],"trw":["majoren",426],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",3409],"trw":["lop",55],"lp":[],"rp":["pl","lp","pil","pill","lip","lipp","opl","pol","poli","pli","plo","opi","lop","oppi","polo","lpi","oplo"]},"225":{"input":[1,6,7,8],"tlp":["alp",182],"trp":["pla",1343],"trw":["paal",37],"lp":["alp","apol"],"rp":["pla","lap","lapp","lpa","paal","pal","opla","pall"]},"226":{"input":[2,6,7,8],"tlp":["spil",667],"trp":["kop",224],"tlw":["spil",91],"trw":["kop",63],"lp":["spil","slip","skop","spl","spok"],"rp":["kop","klip","pok","pokk","okp","kopp","opk","pko","opko","opsi","plos"]},"227":{"input":[1,2,6,7,8],"tlw":["slap",263],"trw":["plass",85],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elp",1444],"trp":["pel",799],"trw":["pleie",43],"lp":["elp","elpe","elpi"],"rp":["pel","ple","lpe","plei","pell","lep","ople","lepp","peil","li'","ielp","ppel","pele","le'","peli","pile"]},"229":{"input":[1,3,6,7,8],"trw":["la'",34],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["slippe",195],"trw":["pleiede",91],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["selskap",63],"trw":["plads",500],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"trp":["pig",957],"trw":["pligt",151],"lp":[],"rp":["pig","pov","opov","plig","pilt","lpt","pgi","opgi","pgiv","pitl","opig","ppig","lvp","plog"]},"233":{"input":[1,4,6,7,8],"trw":["opgav",46],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["spilt",21],"trw":["opkog",50],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["slapt",29],"trw":["kapital",22],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["pige",436],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["april",106],"trw":["opgave",88],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["spiller",93],"trw":["krop",146],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["sprak-",207],"trw":["kapitel",109],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["ml",5031],"trw":["honom",2975],"lp":[],"rp":["ml","imo","mil","lm","mul","lom","muli","plu","mli","mill","llom","lmi","lmin","hop","omh","umul","mili","uml","iml","oph"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["alm",22],"trw":["maal",213],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["smil",397],"trw":["kom",8732],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["smal",74],"trw":["koma",530],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["emil",46],"trw":["mellem",1590],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["amalie",193],"trw":["lampen",95],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["smukke",238],"trw":["komme",2169],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["allesammen",166],"trw":["hjaelp",283],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["glum",116],"trw":["mig",10638],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["gamal",73],"trw":["opfatning",67],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["smukt",152],"trw":["punkt",134],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["stockmann",328],"trw":["langsomt",378],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["temmelig",368],"trw":["nemlig",491],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["gamle",2534],"trw":["maelte",821],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["smilte",389],"trw":["kommer",2127],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["bokselskap",856],"trw":["litteraturselskap",207],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/pl-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/pl-keymap.json index b5c56571c0..63735a422d 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/pl-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/pl-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",468],"tlw":["a",8903],"lp":["aa","aaa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",175],"tlw":["s",502],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",42610],"tlw":["w",22418],"lp":["as","wa","aw","ws","sw","sa","awa","aws","was","asa","wsw","swa","asw","waw","ww","sas","wsa","wawa","wwa","awas"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",518],"tlw":["e",106],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ax",1780],"tlw":["x",92],"lp":["ax","ea","xa","axa","ex"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["es",52602],"tlw":["d",228],"lp":["es","ed","de","se","ede","dd","ds","des","sed","dde","eds","ese","ess","see","sede","eed","dese","ded","dede","dee"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",35569],"tlw":["dwa",1359],"lp":["ad","da","we","ew","dw","ada","wd","awe","daw","awd","ewa","swe","dwa","dawa","ase","ade","eda","sad","ews","wes"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",560],"tlw":["t",88],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",68848],"tlw":["ta",2431],"lp":["ta","at","ata","tat","fa","af","ft","aft","ff","tta","att","fat","tata","atta","fta","afta"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",75161],"tlw":["c",338],"lp":["st","sc","tc","ts","stc","ct","cs"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ac",50494],"tlw":["stas",540],"lp":["ac","sta","ca","tw","wc","wt","ast","twa","tac","stw","wac","stac","stat","aca","wst","tas","taw","staw","asta","asc"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["te",45936],"tlw":["te",3281],"lp":["te","er","tr","re","et","ter","etr","ret","rt","ere","ete","tre","rte","tere","tet","ert","ett","rete","rr","erte"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ra",55331],"tlw":["ar",328],"lp":["ra","ar","era","tar","atr","ara","tra","ate","tera","are","eta","art","rat","fe","tare","raf","tara","traf","fr","ef"],"rp":[]},"14":{"input":[2,3,4],"tlp":["ec",48514],"tlw":["rece",1133],"lp":["ec","ce","est","dr","str","esc","rs","ste","rd","rc","erc","ece","res","este","sr","ser","rec","serc","dc","rce"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["raw",8030],"tlw":["serca",563],"lp":["raw","wr","rac","rw","war","ard","star","erw","wet","awet","dac","rawd","twar","wte","rad","stra","rws","erws","rwa","wra"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",7406],"trw":["n",208],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",48964],"trp":["na",112653],"tlw":["anna",723],"trw":["na",21439],"lp":["an","ana","ann","anna"],"rp":["na","nan","nna","nana","naa"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",7535],"trp":["js",5713],"trw":["j",184],"lp":["sn","sj"],"rp":["js","ns","jn","jj"]},"19":{"input":[1,2,5],"tlp":["aj",20342],"trp":["ja",55861],"tlw":["aja",432],"trw":["ja",8216],"lp":["aj","wn","aja","asn","wan","awn","wna","wj","sna","ans","ajw"],"rp":["ja","nas","naj","naw","jan","jas","jw","jasn","najw"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",30498],"trp":["ne",25369],"trw":["ne",747],"lp":["en","enn","ey","ene","enny","eye","enne","een","eny"],"rp":["ne","ny","yn","nny","nne","yny","ye","yne","ynn","yy","nee"]},"21":{"input":[1,3,5],"tlp":["any",2470],"trp":["yna",3436],"tlw":["aye",124],"lp":["any","ane","ena","ay","anny","aye","ean","anne","enna"],"rp":["yna","nany","nane","ynan","yea","nex","ya","yya"]},"22":{"input":[2,3,5],"tlp":["ej",45590],"trp":["je",68792],"tlw":["syn",389],"trw":["jej",5718],"lp":["ej","dy","dn","edn","edy","sy","ejs","dne","den"],"rp":["je","ys","jes","jed","jedn","jej","nd","yj","yd","jd","nej"]},"23":{"input":[1,2,3,5],"tlp":["wy",23292],"trp":["nad",7353],"tlw":["and",2280],"trw":["nad",3785],"lp":["wy","dna","edna","aje","and","ewn","wys","wne","daj","adn","dan","wyd","wej","wyda"],"rp":["nad","yw","nawe","ywa","yja","yda"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["tn",4086],"trp":["nt",3555],"tlw":["b",226],"lp":["tn","bn"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ba",16398],"trp":["nat",3728],"tlw":["ant",708],"lp":["ba","ab","tan","atn","tatn","ant","tana","aba","bab","tna","bna","ban","fn","baba","fab","bat"],"rp":["nat","nta","nf","nab"]},"26":{"input":[2,4,5],"tlp":["cj",4424],"trp":["nc",4520],"tlw":["tj",127],"lp":["cj","cn","bc","bs","stn","cb","bj","sb","tj"],"rp":["nc","jsc","jc","nst","jst","jb","jt","ncj","nts"]},"27":{"input":[1,2,4,5],"tlp":["stan",3867],"trp":["jac",5445],"tlw":["stan",180],"trw":["jac",97],"lp":["stan","ajac","taj","acj","bac","baw","anc","staj","cja","caj","wnat"],"rp":["jac","nac","nast","nca","nstw","jsca","jca","nasc","jat"]},"28":{"input":[3,4,5],"tlp":["by",46129],"trp":["yt",8428],"tlw":["ten",4023],"trw":["net",73],"lp":["by","ty","ry","be","eb","br","ten","rn","eby","ety","ent","ern","byt","tyn","ber"],"rp":["yt","yb","yby","yr","net"]},"29":{"input":[1,3,4,5],"tlp":["bra",4962],"trp":["yta",3398],"tlw":["aby",2523],"trw":["nate",242],"lp":["bra","bar","ary","aby","aty","eba","ran","arn","tary","rna","abr","aryn","ryna","brat"],"rp":["yta","nar","naty","yra","yba","ynar"]},"30":{"input":[2,3,4,5],"tlp":["cy",8269],"trp":["yc",28802],"tlw":["byc",2943],"trw":["jest",9582],"lp":["cy","bed","tyc","tej","ryc","byc","ejsc","dyt","edyt","dyb","dyby","rej","cej","ecej","sty"],"rp":["yc","jest","yst","nyc","jr"]},"31":{"input":[1,2,3,4,5],"tlw":["stary",943],"trw":["nawet",3158],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",2169],"trw":["i",28082],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["za",76007],"trp":["ia",68340],"tlw":["z",15934],"trw":["iz",305],"lp":["za","zi","az","zia","ai","aza","azi","zz","zaz","zza","zzi","zaza","zai"],"rp":["ia","iz","iaz","iza","iaza","izz","iazi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",90184],"trp":["ki",45823],"tlw":["si",39],"trw":["is",1279],"lp":["si","sk","ski","sis","sks"],"rp":["ki","is","ik","ks","isk","ksi","kis","iki","isi","kk","iski","kki","kik","iss"]},"35":{"input":[1,2,6],"tlp":["wi",87989],"trp":["ka",38575],"tlw":["zas",2170],"trw":["ka",698],"lp":["wi","sz","ak","wsz","zas","wia","aki","zw","sza","asz","zk","swi","sia","awi","wz","ska","zis"],"rp":["ka","iw","kaz"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",1323],"trp":["ie",368657],"lp":["ei"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",125561],"trp":["iez",5190],"tlw":["ze",12240],"trw":["ize",38],"lp":["ze","zie","ez","zez","aze","eza","eze","azie","ezi","ziez","ezie","ziei","xi","zeze"],"rp":["iez","iaze","ize","ieza","iezi","ieze"]},"38":{"input":[2,3,6],"tlp":["sie",75832],"trp":["kie",18740],"tlw":["sie",65236],"trw":["ide",164],"lp":["sie","ek","dk","eki","esi","sied","eks","skie","esie","eke"],"rp":["kie","ied","ies","iek","id","kied","ke","iesi","ieks","ieki"]},"39":{"input":[1,2,3,6],"tlp":["dz",71993],"trp":["iedz",11935],"tlw":["dzis",2729],"trw":["kad",1125],"lp":["dz","dzi","wie","dzie","edz","sze","esz","edzi","zes","zd","dzia","zed","wied","zek","wid","wiek","adz","eka"],"rp":["iedz","iew"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",1632],"trp":["it",10113],"tlw":["v",123],"trw":["it",677],"lp":["ti","vi","vii","tv","tvi","tti","tiv","viii"],"rp":["it","iv","iti","itt","itiv"]},"41":{"input":[1,4,6],"tlp":["zt",5011],"trp":["iat",4655],"tlw":["tai",754],"trw":["if",169],"lp":["zt","fi","zat","zta","tai","av","fia","afi","va","tav","vaa","vaaa","tia","azat","ait","fit"],"rp":["iat","ita","iata","if"]},"42":{"input":[2,4,6],"tlp":["ci",62579],"trp":["ic",34576],"tlw":["ci",3112],"trw":["isc",445],"lp":["ci","sci","tk","stk","tki","stki","cic","ck","tkic","cis","vis","scic"],"rp":["ic","kt","kic","ist","isc","ikt","isci","ici"]},"43":{"input":[1,2,4,6],"tlp":["cz",84284],"trp":["iast",2879],"tlw":["tak",10183],"trw":["itak",560],"lp":["cz","tak","cza","zc","cia","szc","zcz","szcz","acz","zac","czas","wiat","taki","aci","wcz","scia","zacz","wic"],"rp":["iast","iac"]},"44":{"input":[3,4,6],"tlp":["ri",3494],"trp":["ier",13295],"tlw":["tie",65],"trw":["ir",2637],"lp":["ri","ve","rie","ev","vie","ver","rii","eve","ever","eri","tri","eir","rei"],"rp":["ier","iet","ir","ite","ietr","iete","iter"]},"45":{"input":[1,3,4,6],"tlp":["rz",90643],"trp":["ierz",2732],"tlw":["teraz",3005],"trw":["iteraz",110],"lp":["rz","rze","raz","trz","rzez","rza","arz","trze","zar","zr","eraz","erz","atrz","tez","zer","raze","trza","zara","zet"],"rp":["ierz"]},"46":{"input":[2,3,4,6],"tlp":["cie",23265],"trp":["iec",26434],"tlw":["cie",2111],"trw":["itd",184],"lp":["cie","eci","esci","scie","rek","ecie","rsk","rski","tkie","siec","rk"],"rp":["iec","kr","ieci","kre","iesc","kret","iece","ice","ierc"]},"47":{"input":[1,2,3,4,6],"tlw":["wiec",3828],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["ni",174405],"trw":["in",1322],"lp":[],"rp":["ni","in","inn","ini","hi","hn","nni","hin","inni","hni","nii","nin","iin","iinn","inii","nh"]},"49":{"input":[1,5,6],"tlp":["zn",27628],"trp":["nia",13186],"tlw":["ani",2778],"trw":["niz",2084],"lp":["zn","ani","zna","zni","ania","zan","zin","azn","zani","azni","znan"],"rp":["nia","ha","ina","niz","ian","naz","nani","han","hna"]},"50":{"input":[2,5,6],"tlp":["sni",3453],"trp":["nik",4194],"tlw":["sni",32],"trw":["his",454],"lp":["sni","sh"],"rp":["nik","kn","nk","ij","ji","nis","his","kni","jni","jsk","nisk","nsk","nki","nski","kin","ins","jis","isn"]},"51":{"input":[1,2,5,6],"tlp":["wni",5839],"trp":["jak",28350],"tlw":["wina",268],"trw":["jak",14792],"lp":["wni","win","zaj","wini","znaj","asni","szn","zj","wnia"],"rp":["jak","nak","jaki","hw","hwi","nasz","ija","kna","kan","jaka","iwn"]},"52":{"input":[3,5,6],"tlp":["eni",11343],"trp":["nie",115708],"trw":["nie",47473],"lp":["eni","enie"],"rp":["nie","he","ien","ieni","yni","inie","hy","inny","nien","inne","ynie","ine","iny","hen","nnie","hey","ienn","hnie"]},"53":{"input":[1,3,5,6],"tlp":["zy",86799],"trp":["yz",4726],"tlw":["zenie",780],"trw":["nanie",104],"lp":["zy","anie","zen","zeni","znie","zyn","enia","zyz","azy","zien","ezy","zne","zny","zyni","zyna","zyzn","ezn"],"rp":["yz","niez","yzn"]},"54":{"input":[2,3,5,6],"tlp":["dni",6393],"trp":["iej",15859],"tlw":["she",1219],"trw":["kiedy",2587],"lp":["dni","snie","dnie","she","esni","ekn"],"rp":["iej","niej","yk","iedy","iejs","kiej","nies","ysi","ieje","iekn","niek","nied","ije","ysie"]},"55":{"input":[1,2,3,5,6],"tlw":["dzien",1087],"trw":["jednak",3118],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",21105],"trp":["ib",902],"tlw":["bi",50],"lp":["bi","th","tni","thi","bni","thin","bit","bin","bh","tin"],"rp":["ib","ht","nib","ith","int","itn","hb","nit","niti","hit"]},"57":{"input":[1,4,5,6],"tlp":["zb",4172],"trp":["hat",1109],"tlw":["that",591],"trw":["izba",42],"lp":["zb","tani","bia","zab","atni","abi","tha","that","zabi","zbi","zba","tnia","ath","bani"],"rp":["hat","itan","izb","inf","hta","hav"]},"58":{"input":[2,4,5,6],"tlp":["ch",74579],"trp":["ich",14715],"tlw":["bci",274],"trw":["ich",4866],"lp":["ch","chc","chci","bic","cji","chn","cich","bk"],"rp":["ich","nic","hc","kich","kb","hci","nich","icj","inic","nicj","nikt","jci"]},"59":{"input":[1,2,4,5,6],"tlw":["znich",449],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["bie",13336],"trp":["ieb",5068],"tlw":["the",3042],"trw":["her",1605],"lp":["bie","ebi","the","ebie","tnie","biet","rni","bnie"],"rp":["ieb","iebi","her","hr","nieb","nier","iety","hyb","iby","hry","iern","niby"]},"61":{"input":[1,3,4,5,6],"tlw":["bez",2806],"trw":["nieraz",449],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["tych",1735],"trw":["niech",1470],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["czy",5191],"trw":["jeszcze",5354],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",763],"trw":["o",6106],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",782],"trp":["oa",209],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",12921],"trp":["os",50523],"tlw":["so",247],"lp":["so","sos","soo"],"rp":["os","oso","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",32063],"trp":["ow",64725],"tlw":["wo",109],"trw":["ow",544],"lp":["wo","swo","awo","sow","wos","wow","aso","asow","wso","wswo","aswo","awos"],"rp":["ow","owa","owo","ows","osa","osw","osow","owos"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",700],"trp":["-o",242],"trw":["-",43777],"lp":["eo"],"rp":["-o","oe"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",67],"trp":["-a",577],"trw":["-a",43],"lp":["xo","axo","a-"],"rp":["-a","ox"]},"70":{"input":[2,3,7],"tlp":["do",46979],"trp":["od",49479],"tlw":["do",12671],"trw":["od",4136],"lp":["do","dos","dod","eso","dodo","doo","edo","doe","does"],"rp":["od","odo","ode","odd","ose","ods","-d","odde","odos","oes","-do"]},"71":{"input":[1,2,3,7],"tlp":["wod",4591],"trp":["owe",3290],"tlw":["woda",528],"trw":["owe",142],"lp":["wod","dow","ado","dwo","ewo","dowo","wdo","dowa","ados","woda","doda","wode","awdo","dosw"],"rp":["owe","oda","owod","odda","owad","odw"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",72862],"trp":["ot",22422],"tlw":["to",23311],"trw":["oto",1109],"lp":["to","go","got","goto","tot","too","goo"],"rp":["ot","og","oto","ogo","ott","oog"]},"73":{"input":[1,4,7],"tlp":["ag",8439],"trp":["oga",3404],"tlw":["ato",208],"trw":["of",1252],"lp":["ag","ga","fo","ato","aga","ago","gat","tota","fot","tof","gf","gata"],"rp":["oga","of","ota","off","ogat","otta","ofa"]},"74":{"input":[2,4,7],"tlp":["co",15974],"trp":["oc",26832],"tlw":["co",5162],"lp":["co","sto","cos","gos","tos","cot","gosc","stos","stot","tosc","coto","toc","cott","sco"],"rp":["oc","osc","ost","osto","otc","ogos"]},"75":{"input":[1,2,4,7],"tlp":["two",4901],"trp":["osta",7294],"tlw":["gotow",216],"trw":["owoc",43],"lp":["two","tow","stwo","towa","woc","cow","wag","gw","wosc","gow","wg","wowc"],"rp":["osta","otw","owc","owac","otow","oca","owt","ogow"]},"76":{"input":[3,4,7],"tlp":["ro",57299],"trp":["or",45488],"tlw":["tego",4358],"trw":["-to",452],"lp":["ro","eg","ego","tor","tore","teg","tego","tro","gr","ge","rog","gor","gro","reg","ero","rego"],"rp":["or","ore","ote","otr"]},"77":{"input":[1,3,4,7],"tlp":["tora",3418],"trp":["ora",7565],"tlw":["for",554],"trw":["-ato",55],"lp":["tora","for","aro","rag","ateg","ega","gra","roga","gar","age","gora","arg","arto","areg","fro","taro"],"rp":["ora","otra","-ta","ogar"]},"78":{"input":[2,3,4,7],"tlp":["gd",17099],"trp":["ors",3173],"tlw":["dosc",813],"trw":["odtego",117],"lp":["gd","rod","roc","ros","dro","stro","god","tors","sro","srod","drog","rost","dot","dosc","cor","dost"],"rp":["ors","odc","odr","ostr"]},"79":{"input":[1,2,3,4,7],"tlw":["wsrod",1050],"trw":["otwarte",152],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",34225],"trw":["on",3987],"lp":[],"rp":["on","no","un","nu","ou","ono","uo","onu","nuo","nno","uno","oun","oon","onn","unu","onno","non","unon","nou"]},"81":{"input":[1,5,7],"tlp":["au",3651],"trp":["ona",5686],"tlw":["aon",234],"trw":["ona",1285],"lp":["au","ano","anu","aon","aona","anno","aun","auna","qu"],"rp":["ona","nau","una","nao","ua","onan","nano","oan","oann","nona","uau"]},"82":{"input":[2,5,7],"tlp":["su",4815],"trp":["oj",23708],"tlw":["su",735],"trw":["jo",359],"lp":["su","sno","sun","sus","snu"],"rp":["oj","us","ju","nos","uj","jo","jus","ojn","oju","osn","ojs","osu","nso","ojo","osno"]},"83":{"input":[1,2,5,7],"tlp":["woj",7645],"trp":["now",8001],"tlw":["swoja",803],"trw":["jau",356],"lp":["woj","swoj","wu","anow","wno","asu","aju","woja","wojn","won","sown"],"rp":["now","own","oja","uw","uwa","owu","nowu","uja","onow"]},"84":{"input":[3,5,7],"tlp":["eu",1045],"trp":["ony",3245],"trw":["you",832],"lp":["eu","eon","eno","eun","enu"],"rp":["ony","one","-n","yo","you","neu","yno","une","ynu","-no","ynno","uny","ynuo","-nu","-on"]},"85":{"input":[1,3,5,7],"tlp":["aux",164],"trp":["ux",164],"lp":["aux","eona","eanu","eau"],"rp":["ux"]},"86":{"input":[2,3,5,7],"tlp":["du",7756],"trp":["ud",11878],"tlw":["synu",166],"trw":["jedno",549],"lp":["du","dno","dus","don","edno","ejo","dnos"],"rp":["ud","oje","odn","uje","ody","ojej","odu","udn","osy","ude","yso","udy","-j"]},"87":{"input":[1,2,3,5,7],"tlw":["swoje",1014],"trw":["nowe",458],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bo",17356],"trp":["ob",32371],"tlw":["tu",4701],"trw":["obu",290],"lp":["bo","tu","bu","gn","bog","gu","tob","tut","but","bot"],"rp":["ob","ug","ut","ub","obo","obn","nog","ugo","ogn","ng"]},"89":{"input":[1,4,5,7],"tlp":["gna",1454],"trp":["oba",4176],"tlw":["boga",442],"trw":["nato",715],"lp":["gna","agn","atu","tano","agna","boga","tuta","agu","toba","abo","gan"],"rp":["oba","nag","nato","uta","uga","noga","natu","nfo","obna"]},"90":{"input":[2,4,5,7],"tlp":["sob",8597],"trp":["uc",9675],"tlw":["boju",171],"trw":["noc",701],"lp":["sob","cu","stu","cju","cjus","boj","bos","scu","cno"],"rp":["uc","ust","nosc","onc","osob","noc","ojc","ncu","oncu","ocn","just"]},"91":{"input":[1,2,4,5,7],"tlw":["soba",912],"trw":["usta",582],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ru",10352],"trp":["ory",10533],"tlw":["gory",402],"trw":["nero",306],"lp":["ru","tory","ron","rob","tron","bro","rug","tru","rony"],"rp":["ory","ur","obr","neg","nego","yto","oty","ytor","yg","oby","obe"]},"93":{"input":[1,3,4,5,7],"tlw":["rano",301],"trw":["natury",131],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["gdy",6483],"trw":["jego",6471],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["dobra",471],"trw":["justyna",463],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["lo",50381],"trw":["li",307],"lp":[],"rp":["lo","li","il","ol","io","oi","oli","olo","ilo","ili","ll","iol","lil","llo","ill","lli","lio","ilio","oil","loo"]},"97":{"input":[1,6,7],"tlp":["al",107956],"trp":["la",64546],"tlw":["zal",356],"trw":["la",391],"lp":["al","zo","ala","zl","zal","zial","alo","zlo","ali","zil","zla","zli","azal"],"rp":["la","oz","ial","ola","iala","ila","lal"]},"98":{"input":[2,6,7],"tlp":["sl",22280],"trp":["ko",47506],"tlw":["sil",387],"trw":["okolo",573],"lp":["sl","sli","slo","sil","sko"],"rp":["ko","ok","lk","kl","lko","los","oko","kol","lki","osi","ilk","kil","oki","kilk","okol"]},"99":{"input":[1,2,6,7],"tlp":["wal",9697],"trp":["owi",22633],"tlw":["slowa",956],"trw":["kilka",1527],"lp":["wal","wil","wol","wl","ako","szl","zos","wla","sla","wlas","slow"],"rp":["owi","low","las","lowi","kla","osz","lka","lowa","kow"]},"100":{"input":[3,6,7],"tlp":["el",23557],"trp":["le",60091],"trw":["ile",574],"lp":["el","eli","ele","elo","ell","ello","elli"],"rp":["le","iel","ole","ile","ieli","iele","iell","ielo","lie","lei","olei","lle","iole"]},"101":{"input":[1,3,6,7],"tlp":["ale",25698],"trp":["oze",6806],"tlw":["ale",11823],"trw":["lezal",224],"lp":["ale","zel","ela","alez","zle","ziel","zeli","zela","zale","ezal","ezel","ezl"],"rp":["oze","lez","iale","leza","iela","lale","ozle","loze"]},"102":{"input":[2,3,6,7],"tlp":["dl",18350],"trp":["lek",3460],"tlw":["sile",224],"trw":["like",346],"lp":["dl","ekl","elk","edl","esl","esli","dok","elki","eko","dol","dlo"],"rp":["lek","ielk","lod","ld","lkie","osie","led","ido","okie"]},"103":{"input":[1,2,3,6,7],"tlw":["dla",5302],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["gl",20525],"trp":["ogl",5611],"tlw":["gi",147],"trw":["ito",358],"lp":["gl","gi","glo","tol","tl","vo","gol"],"rp":["ogl","ig","ogi","lit","ito","lot","lig","igi","itol","ligi","lt","iot","oglo"]},"105":{"input":[1,4,6,7],"tlp":["tal",9006],"trp":["lat",3663],"tlw":["zato",341],"trw":["lat",1084],"lp":["tal","gla","zg","agl","tala","talo","zgo","agi","zlot","gal","atl","zgl","alt","toz"],"rp":["lat","iag","ogla","ofi","iatl","ofia"]},"106":{"input":[2,4,6,7],"tlp":["cil",3725],"trp":["kto",24526],"tlw":["glos",1013],"trw":["kto",1969],"lp":["cil","glos","tko","stko","stol"],"rp":["kto","osci","oci","lic","losc","lc","ocil","otk","oic","okt","okto","kosc","koc","isto","olic"]},"107":{"input":[1,2,4,6,7],"tlw":["glowa",1247],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["gle",3643],"trp":["ieg",7405],"tlw":["teorii",136],"trw":["ligie",262],"lp":["gle","gie","rol","rl","egl","rogi","tel","egi","role","giel"],"rp":["ieg","iego","leg","iero","lite","ori","lego","ior","ogie","legl"]},"109":{"input":[1,3,4,6,7],"tlw":["zeto",514],"trw":["oraz",543],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["drogi",663],"trw":["ktore",3303],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["gdzie",3077],"trw":["lecz",4127],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["lu",22354],"trw":["oni",779],"lp":[],"rp":["lu","ho","oni","ln","iu","lni","lon","ul","oln","niu","hl","nio","hlo","olni","hu","uni","ion","nil","lno","olu"]},"113":{"input":[1,5,6,7],"tlp":["zu",11610],"trp":["uz",13328],"tlw":["znalazl",366],"trw":["uz",245],"lp":["zu","zno","znal","zon","zul","azu","alan"],"rp":["uz","nal","ozn","ozna","lan","ozu","luz","hal","ozni","lna","nala","lani","nial"]},"114":{"input":[2,5,6,7],"tlp":["slu",3167],"trp":["ku",13470],"tlw":["skoku",179],"trw":["ku",734],"lp":["slu","slon","sku"],"rp":["ku","kon","uk","usi","koj","okoj","koni","oku","unk","nios","kun","lus","ius","nius","nku","nosi","niko"]},"115":{"input":[1,2,5,6,7],"tlw":["znowu",1380],"trw":["juz",8066],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eln",2354],"trp":["yl",37140],"trw":["-nie",970],"lp":["eln","elu","elni","eniu"],"rp":["yl","ly","ylo","onie","lnie","yli","yly","yle","nel","ily","-ni","-nie","lny","lne","len","ielu"]},"117":{"input":[1,3,5,6,7],"tlw":["zony",234],"trw":["lzy",407],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["sily",637],"trw":["jesli",2399],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["dalej",1297],"trw":["ludzi",1877],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",4510],"trp":["obi",10397],"tlw":["buvo",526],"trw":["lub",2322],"lp":["bl","gni","bli","bil","tlu","bol","tobi"],"rp":["obi","lb","ugi","lug","lub","lbo","nig","lugo","ogni","lugi","obil","obl","uv"]},"121":{"input":[1,4,5,6,7],"tlw":["albo",1927],"trw":["ognia",422],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["choc",1394],"trw":["obok",680],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["chwili",1257],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["bylo",6619],"trw":["niego",1339],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["byla",3016],"trw":["nagle",1105],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["tylko",7436],"trw":["ktory",4337],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["wszystko",2576],"trw":["oczy",2137],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",172],"trw":["p",135],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",9918],"trp":["pa",27218],"trw":["pa",145],"lp":["ap","apa","app"],"rp":["pa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",14576],"trp":["ps",984],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["wp",3537],"trp":["pas",1206],"trw":["pas",221],"lp":["wp","spa","wsp","wpa","wspa","apas","asp","aspa","wap","awp","wpas","spas"],"rp":["pas","paw","psa","pasa","pw"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",5528],"trp":["pe",8856],"trw":["pe",37],"lp":["ep","e'","epe","eep"],"rp":["pe","ppe","pee"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",1033],"trp":["pea",94],"lp":["ape","epa","a'","appe"],"rp":["pea","ppea"]},"134":{"input":[2,3,8],"tlp":["dp",2912],"trp":["'s",698],"lp":["dp","eps","esp","spe","e's","sped","spee","e'd","desp","dep","sep"],"rp":["'s","ped","'d","pede"]},"135":{"input":[1,2,3,8],"tlp":["dpa",640],"trp":["pew",3258],"tlw":["wpada",59],"trw":["pada",80],"lp":["dpa","apew","wpad","aped","spad","a's","apad","wpe","wpew","epas","epew"],"rp":["pew","pad","pada","pade","pawe","pase","pwe"]},"136":{"input":[4,8],"tlp":["tp",340],"trp":["pt",863],"lp":["tp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",450],"trp":["pat",2675],"lp":["tap","atp"],"rp":["pat","pta","pf"]},"138":{"input":[2,4,8],"tlp":["cp",40],"trp":["pc",913],"lp":["cp"],"rp":["pc","pst"]},"139":{"input":[1,2,4,8],"tlp":["stap",450],"trp":["pac",1055],"tlw":["spac",240],"trw":["pats",97],"lp":["stap","apac","watp","spac","wpat","acp","cpa","wacp","acpa"],"rp":["pac","pca","pasc","past","pats","pstw","ptac"]},"140":{"input":[3,4,8],"tlp":["tep",1202],"trp":["pr",57473],"trw":["per",245],"lp":["tep","epr","rp","erp","ept","t'","epte","re'","ere'","tepe"],"rp":["pr","pre","pet","petr","per","'t","pret","'r","'re","pte"]},"141":{"input":[1,3,4,8],"tlp":["apr",1964],"trp":["pra",9765],"tlw":["tarp",77],"trw":["pare",337],"lp":["apr","apra","epra","epta","arp","tarp","at'","apar","apre"],"rp":["pra","patr","par","pare","pfe","para","pera","part","papr"]},"142":{"input":[2,3,4,8],"tlp":["spr",2056],"trp":["pred",1040],"trw":["press",30],"lp":["spr","step","t's","epc","tepc","cep","rcep","cepc","spec","re's","epce","cept","depc"],"rp":["pred","prec","perc","pres","pce","peec","pec"]},"143":{"input":[1,2,3,4,8],"tlw":["sprawe",290],"trw":["prawda",673],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mn",14832],"trw":["m",312],"lp":[],"rp":["mn","pn","mp","nm","np","mm"]},"145":{"input":[1,5,8],"tlp":["am",33618],"trp":["ma",28562],"tlw":["apan",98],"trw":["pan",4034],"lp":["am","ama","amn","amp","apan","anam"],"rp":["ma","pan","nam","nap","mam","mna","pana","man","pam","pann","namn","napa","pna","mama"]},"146":{"input":[2,5,8],"tlp":["sm",6824],"trp":["jm",1565],"lp":["sm"],"rp":["jm","ms","jmn","jp"]},"147":{"input":[1,2,5,8],"tlp":["sam",6796],"trp":["maj",1759],"tlw":["sam",2445],"trw":["maja",826],"lp":["sam","wam","ajm","sama","ajmn","wm","asam","sma","ajp","span","asm"],"rp":["maj","maja","mas","najm","jam","pans","maw","najp","nasm"]},"148":{"input":[3,5,8],"tlp":["em",47785],"trp":["ym",25806],"tlw":["eme",32],"trw":["my",1084],"lp":["em","emn","emy","epn","eme","emne"],"rp":["ym","my","me","yp","py","nym","nem","men","mne","mny","nnym","mym","n'","mem"]},"149":{"input":[1,3,5,8],"tlp":["amy",2050],"trp":["yma",2522],"tlw":["amy",88],"trw":["max",1479],"lp":["amy","ame","apy","ema","emna","amym","anem","epna","an'","amem"],"rp":["yma","max","ypa","mamy","nape","mane","pane","namy","maxa","na'"]},"150":{"input":[2,3,5,8],"tlp":["sem",2689],"trp":["mys",5369],"tlw":["dym",154],"trw":["jednym",518],"lp":["sem","dym","smy","dem","spy","dm","dnym","esm","edem","esmy","edm","ems"],"rp":["mys","jem","jemn","ysp","mej","ysm","ysmy","yms"]},"151":{"input":[1,2,3,5,8],"tlw":["samym",432],"trw":["pewna",264],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",173],"trp":["mt",555],"lp":["tm"],"rp":["mt","mb"]},"153":{"input":[1,4,5,8],"tlp":["tam",5042],"trp":["mat",1787],"tlw":["tam",3597],"trw":["mat",31],"lp":["tam","amt","tamt","amta","fam","atam","bam","amf","atm","fm"],"rp":["mat","mta","mf","pant","mnat"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",184],"trp":["mc",1077],"tlw":["tms",55],"lp":["cm","tms"],"rp":["mc","mst","pcj","msc"]},"155":{"input":[1,2,4,5,8],"tlw":["wacpan",40],"trw":["majac",369],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["tem",8044],"trp":["pyt",2717],"tlw":["tym",4037],"lp":["tem","tym","rym","bym","rm","rem","tepn","bem"],"rp":["pyt","mr","met","n't","mbe","mber","metr","ment","ybym","mer","ypr","mte"]},"157":{"input":[1,3,4,5,8],"tlw":["temat",228],"trw":["natym",299],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["system",322],"trw":["jestem",1324],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["wtym",987],"trw":["naprawde",460],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",22224],"trw":["pi",56],"lp":[],"rp":["pi","ip"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["zap",2987],"trp":["pia",562],"lp":["zap","api","zp","aip","zapa","zpi","zpa","apia"],"rp":["pia","papi","ipa","paz","izap"]},"162":{"input":[2,6,8],"tlp":["spi",1310],"trp":["pis",4398],"tlw":["spi",122],"lp":["spi","skip"],"rp":["pis","kip","pk","isp","pki","psi"]},"163":{"input":[1,2,6,8],"tlp":["wpi",267],"trp":["kap",1184],"tlw":["zapas",72],"trw":["kaip",681],"lp":["wpi","apis","apk","zapk","szp","zkap","szpi"],"rp":["kap","kapi","kaip","psz","pisa","pak","pias","pisz","piw","kasp","pask","psza","piwa"]},"164":{"input":[3,6,8],"tlp":["epi",972],"trp":["pie",13522],"trw":["pie",48],"lp":["epi","epie"],"rp":["pie","iep","i'","ipe","iepe","pei","ppei"]},"165":{"input":[1,3,6,8],"tlp":["zep",1368],"trp":["piez",95],"tlw":["apie",272],"trw":["papieza",54],"lp":["zep","apie","ezp","zpie","ezpi","zape","zepa","zpe"],"rp":["piez"]},"166":{"input":[2,3,6,8],"tlp":["spie",1047],"trp":["pies",1441],"trw":["pies",178],"lp":["spie","epek","spek"],"rp":["pies","piek","iesp","kipe","pke","pek","kep"]},"167":{"input":[1,2,3,6,8],"tlw":["spiew",96],"trw":["pisze",141],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tpi",70],"trp":["pit",866],"trw":["itp",74],"lp":["tpi"],"rp":["pit","itp","pti"]},"169":{"input":[1,4,6,8],"tlp":["apit",763],"trp":["pita",834],"tlw":["taip",402],"trw":["pati",50],"lp":["apit","tapi","taip","zpit","atpi"],"rp":["pita","piat","pati","ipat"]},"170":{"input":[2,4,6,8],"tlp":["cip",42],"trp":["pic",402],"trw":["pic",106],"lp":["cip","spit"],"rp":["pic","ipc","pist"]},"171":{"input":[1,2,4,6,8],"tlw":["czapka",41],"trw":["ptak",106],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rpi",335],"trp":["pier",5070],"trw":["prie",378],"lp":["rpi","erpi","rpie","tpie","epti"],"rp":["pier","ierp","pri","prie","iepr","piet","ipr","it'","iper","pir"]},"173":{"input":[1,3,4,6,8],"tlw":["rzepa",61],"trw":["przez",6795],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["skiper",201],"trw":["piec",482],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["wprawdzie",446],"trw":["przed",3656],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",59941],"trw":["mi",6561],"lp":[],"rp":["mi","im","mni","nim","imi","min","pni","hm","mim","nimi","hmi","imn","him","hip","mini","pin","imni","nmi","pini","imim"]},"177":{"input":[1,5,6,8],"tlp":["ami",9688],"trp":["mia",11078],"tlw":["zanim",753],"trw":["pani",1381],"lp":["ami","zm","zam","zmi","zami","anim","amia","zim","zma","znim","zmia","znam"],"rp":["mia","pani","nami","pami","hmia","mian","mina","maz"]},"178":{"input":[2,5,6,8],"tlp":["smi",4361],"trp":["kim",3177],"tlw":["spij",31],"trw":["kim",153],"lp":["smi","sim","skim"],"rp":["kim","mis","mk","jmni","ism","mkn","ims","kims","pij","kimi","mkni","jmi","jpi","misj","msk","mski","pism"]},"179":{"input":[1,2,5,6,8],"tlw":["wnim",424],"trw":["masz",794],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",3623],"trp":["mie",22534],"trw":["mnie",6049],"lp":["emi","emie","emni","epni"],"rp":["mie","iem","mnie","niem","iemi","mien","ypi","ymi","iemn","hem","pien","imie","pnie","niep","iemy","imy"]},"181":{"input":[1,3,5,6,8],"tlw":["ziemi",986],"trw":["panie",1750],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["siedem",200],"trw":["mniej",628],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["wiem",1473],"trw":["miedzy",1744],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",148],"trp":["mit",146],"trw":["mit",116],"lp":["tim","bim","tnim","vim"],"rp":["mit","imit"]},"185":{"input":[1,4,5,6,8],"trw":["itam",129],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"trw":["mscic",37],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["zamiast",457],"trw":["matka",605],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["tymi",175],"trw":["itym",97],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["razem",1159],"trw":["przy",3948],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["smierc",577],"trw":["miec",761],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["tymczasem",730],"trw":["przypis",2677],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",79029],"trw":["po",5485],"lp":[],"rp":["po","op","pop","opo","opp","popp","popo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",1764],"trp":["opa",1101],"lp":["apo"],"rp":["opa","popa"]},"194":{"input":[2,7,8],"tlp":["spo",8518],"trp":["pos",6704],"tlw":["spo",52],"lp":["spo","spos"],"rp":["pos","poso","osp","ospo","posp","pso"]},"195":{"input":[1,2,7,8],"tlp":["wpo",932],"trp":["pow",12141],"trw":["psow",77],"lp":["wpo","wspo","apos","wpow","apow","wpos","awpo","wpop"],"rp":["pow","powo","opow","pows","powa","posa","posw","psow","paso"]},"196":{"input":[3,7,8],"tlp":["epo",395],"trp":["-p",478],"lp":["epo","eop"],"rp":["-p","ope","oppe","poe","peo","peop","-po"]},"197":{"input":[1,3,7,8],"trp":["-pa",318],"trw":["poppea",94],"lp":[],"rp":["-pa"]},"198":{"input":[2,3,7,8],"tlp":["dpo",2241],"trp":["pod",11766],"tlw":["spod",439],"trw":["pod",4050],"lp":["dpo","dop","spod","dopo","espo","epod","dope"],"rp":["pod","odp","odpo","podo","opod","pods","pode","podd","pose","pedo","podp","odep","osep"]},"199":{"input":[1,2,3,7,8],"trw":["powod",76],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1200],"trp":["pot",6309],"trw":["pot",71],"lp":["top"],"rp":["pot","pog","pogo","opot","poto"]},"201":{"input":[1,4,7,8],"tlp":["apot",497],"trp":["poga",110],"lp":["apot","topa"],"rp":["poga","opat","pota"]},"202":{"input":[2,4,7,8],"tlp":["stop",1200],"trp":["poc",5454],"tlw":["stop",300],"lp":["stop","spot","gosp","spog","spoc","cop"],"rp":["poc","post","opc","posc","pco","opco"]},"203":{"input":[1,2,4,7,8],"tlw":["stopa",56],"trw":["postac",287],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",301],"trp":["pro",7398],"trw":["popr",1453],"lp":["rop","epro","tepo"],"rp":["pro","pote","opr","por","popr","potr","opro","prog","poro","pror","opor","-pr","oper","-pro","poet","opre","opet"]},"205":{"input":[1,3,4,7,8],"trw":["pora",123],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["sporo",108],"trw":["prosto",232],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["wprost",448],"trw":["prawo",368],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["mo",36877],"trw":["mu",7197],"lp":[],"rp":["mo","mu","om","um","pom","up","omu","pu","omo","omn","pon","pomo","mno","pomn","opn","pun","mom","omp","umn","opu"]},"209":{"input":[1,5,7,8],"tlp":["amo",1213],"trp":["oma",1236],"trw":["panu",545],"lp":["amo","apom","anom","apon","anum"],"rp":["oma","pano","uma","panu","upa","pona","napo","onam","mano","oman","omna","opan","namo","poma","mamo"]},"210":{"input":[2,5,7,8],"tlp":["spoj",1485],"trp":["moj",4972],"tlw":["spoj",47],"trw":["moj",1601],"lp":["spoj","smu","spom","sum"],"rp":["moj","mus","poj","pus","usm","mos","mnos","omos","opus","muj","osm","jmo","jom","jmu","jmuj","pojs"]},"211":{"input":[1,2,5,7,8],"tlw":["samo",635],"trw":["moja",1288],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emu",3362],"trp":["ome",1246],"trw":["open",44],"lp":["emu","emo","emno"],"rp":["ome","omy","upe","pomy","umy","ypo","omen","mome","ymu","ypom","upy","ume","onem","omny","omne","ypu","-m"]},"213":{"input":[1,3,5,7,8],"trw":["-pan",98],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["domu",1023],"trw":["moje",1112],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["wdomu",466],"trw":["mowy",435],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",725],"trp":["mog",6878],"tlw":["tom",165],"trw":["potu",49],"lp":["tom","topn","gm","gom","bom","gmu","gmun"],"rp":["mog","mot","mut","pob","mutn","moto","umb","mg","ptu","put","mput","motn","ogom"]},"217":{"input":[1,4,5,7,8],"tlw":["toma",53],"trw":["moga",569],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["sposob",1064],"trw":["moc",367],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["smutna",117],"trw":["mnostwo",266],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["temu",761],"trw":["potem",2023],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forma",589],"trw":["megan",179],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["gdybym",317],"trw":["prostu",339],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["samego",331],"trw":["pewnego",233],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pol",5926],"trw":["pol",506],"lp":[],"rp":["pol","pl","opi","lop","polo","pil","plo","ipo","pio","poli","pli","lopi","lp","lopo","opl","lip","ipol","opol","pili","pilo"]},"225":{"input":[1,6,7,8],"tlp":["zpo",957],"trp":["poz",4658],"tlw":["zlapal",59],"trw":["poza",483],"lp":["zpo","zapo","apl","apla","apal","apil","alp"],"rp":["poz","pla","pal","pozo","pola","poza","ozp","pali","lopa","ozpa","pala","ozpo","pozi"]},"226":{"input":[2,6,7,8],"tlp":["spok",1225],"trp":["pok",4474],"trw":["polski",326],"lp":["spok","spol"],"rp":["pok","poko","pols","piso","poki","posi","posl","pokl","opok","ospi","klop","opis","ipos","kop","pios","ispo","polk"]},"227":{"input":[1,2,6,7,8],"tlw":["wpol",123],"trw":["powoli",384],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["epl",290],"trp":["pel",2439],"trw":["pole",188],"lp":["epl","eplo","eple","eopl","elp"],"rp":["pel","opie","lep","lepi","pole","ple","iepl","iepo","pele","ople","'l","i'l","'ll","i'll","piel"]},"229":{"input":[1,3,6,7,8],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["dopoki",198],"trw":["polskie",78],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["wpadl",182],"trw":["powiedzial",1337],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tpl",196],"trp":["piot",350],"trw":["plot",40],"lp":["tpl","tpli","topi"],"rp":["piot","pogl","plot","polg","polt","ptio","pito","ipog","pogi"]},"233":{"input":[1,4,6,7,8],"tlw":["filip",38],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["pociski",37],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["spotkac",156],"trw":["poczal",800],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["piotr",231],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"trw":["przeto",243],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["dopiero",1010],"trw":["predko",303],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"trw":["prosze",860],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["mil",4286],"trw":["mimo",629],"lp":[],"rp":["mil","umi","omi","ml","mlo","hlop","oim","pomi","omni","milo","mio","poni","moi","lum","imo","mimo","mion","iom","moim","minu"],"special":"enter"},"241":{"input":[1,5,6,7,8],"trw":["mial",2579],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["spokoj",193],"trw":["musi",771],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["swoim",499],"trw":["mowil",1284],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["mieli",613],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["zupelnie",861],"trw":["moze",4134],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["spokojnie",378],"trw":["lepiej",825],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["widzialem",345],"trw":["pozniej",689],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["tlum",312],"trw":["mogl",1899],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["galima",72],"trw":["mogla",591],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["chlop",216],"trw":["milosc",470],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["chlopak",251],"trw":["mowic",686],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["bylem",489],"trw":["moglem",321],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["zapytal",512],"trw":["potrzeba",320],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["glosem",676],"trw":["ktorym",841],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["bowiem",669],"trw":["petroniusz",731],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",468],"tlw":["a",8903],"lp":["aa","aaa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",175],"tlw":["s",502],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",42610],"tlw":["w",22418],"lp":["as","wa","aw","ws","sw","sa","awa","aws","was","asa","wsw","swa","asw","waw","ww","sas","wsa","wawa","wwa","awas"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",518],"tlw":["e",106],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ax",1780],"tlw":["x",92],"lp":["ax","ea","xa","axa","ex"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["es",52602],"tlw":["d",228],"lp":["es","ed","de","se","ede","dd","ds","des","sed","dde","eds","ese","ess","see","sede","eed","dese","ded","dede","dee"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",35569],"tlw":["dwa",1359],"lp":["ad","da","we","ew","dw","ada","wd","awe","daw","awd","ewa","swe","dwa","dawa","ase","ade","eda","sad","ews","wes"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",560],"tlw":["t",88],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",68848],"tlw":["ta",2431],"lp":["ta","at","ata","tat","fa","af","ft","aft","ff","tta","att","fat","tata","atta","fta","afta"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",75161],"tlw":["c",338],"lp":["st","sc","tc","ts","stc","ct","cs"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ac",50494],"tlw":["stas",540],"lp":["ac","sta","ca","tw","wc","wt","ast","twa","tac","stw","wac","stac","stat","aca","wst","tas","taw","staw","asta","asc"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["te",45936],"tlw":["te",3281],"lp":["te","er","tr","re","et","ter","etr","ret","rt","ere","ete","tre","rte","tere","tet","ert","ett","rete","rr","erte"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ra",55331],"tlw":["ar",328],"lp":["ra","ar","era","tar","atr","ara","tra","ate","tera","are","eta","art","rat","fe","tare","raf","tara","traf","fr","ef"],"rp":[]},"14":{"input":[2,3,4],"tlp":["ec",48514],"tlw":["rece",1133],"lp":["ec","ce","est","dr","str","esc","rs","ste","rd","rc","erc","ece","res","este","sr","ser","rec","serc","dc","rce"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["raw",8030],"tlw":["serca",563],"lp":["raw","wr","rac","rw","war","ard","star","erw","wet","awet","dac","rawd","twar","wte","rad","stra","rws","erws","rwa","wra"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",7406],"trw":["n",208],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",48964],"trp":["na",112653],"tlw":["anna",723],"trw":["na",21439],"lp":["an","ana","ann","anna"],"rp":["na","nan","nna","nana","naa"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",7535],"trp":["js",5713],"trw":["j",184],"lp":["sn","sj"],"rp":["js","ns","jn","jj"]},"19":{"input":[1,2,5],"tlp":["aj",20342],"trp":["ja",55861],"tlw":["aja",432],"trw":["ja",8216],"lp":["aj","wn","aja","asn","wan","awn","wna","wj","sna","ans","ajw"],"rp":["ja","nas","naj","naw","jan","jas","jw","jasn","najw"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",30498],"trp":["ne",25369],"trw":["ne",747],"lp":["en","enn","ey","ene","enny","eye","enne","een","eny"],"rp":["ne","ny","yn","nny","nne","yny","ye","yne","ynn","yy","nee"]},"21":{"input":[1,3,5],"tlp":["any",2470],"trp":["yna",3436],"tlw":["aye",124],"lp":["any","ane","ena","ay","anny","aye","ean","anne","enna"],"rp":["yna","nany","nane","ynan","yea","nex","ya","yya"]},"22":{"input":[2,3,5],"tlp":["ej",45590],"trp":["je",68792],"tlw":["syn",389],"trw":["jej",5718],"lp":["ej","dy","dn","edn","edy","sy","ejs","dne","den"],"rp":["je","ys","jes","jed","jedn","jej","nd","yj","yd","jd","nej"]},"23":{"input":[1,2,3,5],"tlp":["wy",23292],"trp":["nad",7353],"tlw":["and",2280],"trw":["nad",3785],"lp":["wy","dna","edna","aje","and","ewn","wys","wne","daj","adn","dan","wyd","wej","wyda"],"rp":["nad","yw","nawe","ywa","yja","yda"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["tn",4086],"trp":["nt",3555],"tlw":["b",226],"lp":["tn","bn"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ba",16398],"trp":["nat",3728],"tlw":["ant",708],"lp":["ba","ab","tan","atn","tatn","ant","tana","aba","bab","tna","bna","ban","fn","baba","fab","bat"],"rp":["nat","nta","nf","nab"]},"26":{"input":[2,4,5],"tlp":["cj",4424],"trp":["nc",4520],"tlw":["tj",127],"lp":["cj","cn","bc","bs","stn","cb","bj","sb","tj"],"rp":["nc","jsc","jc","nst","jst","jb","jt","ncj","nts"]},"27":{"input":[1,2,4,5],"tlp":["stan",3867],"trp":["jac",5445],"tlw":["stan",180],"trw":["jac",97],"lp":["stan","ajac","taj","acj","bac","baw","anc","staj","cja","caj","wnat"],"rp":["jac","nac","nast","nca","nstw","jsca","jca","nasc","jat"]},"28":{"input":[3,4,5],"tlp":["by",46129],"trp":["yt",8428],"tlw":["ten",4023],"trw":["net",73],"lp":["by","ty","ry","be","eb","br","ten","rn","eby","ety","ent","ern","byt","tyn","ber"],"rp":["yt","yb","yby","yr","net"]},"29":{"input":[1,3,4,5],"tlp":["bra",4962],"trp":["yta",3398],"tlw":["aby",2523],"trw":["nate",242],"lp":["bra","bar","ary","aby","aty","eba","ran","arn","tary","rna","abr","aryn","ryna","brat"],"rp":["yta","nar","naty","yra","yba","ynar"]},"30":{"input":[2,3,4,5],"tlp":["cy",8269],"trp":["yc",28802],"tlw":["byc",2943],"trw":["jest",9582],"lp":["cy","bed","tyc","tej","ryc","byc","ejsc","dyt","edyt","dyb","dyby","rej","cej","ecej","sty"],"rp":["yc","jest","yst","nyc","jr"]},"31":{"input":[1,2,3,4,5],"tlw":["stary",943],"trw":["nawet",3158],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",2169],"trw":["i",28082],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["za",76007],"trp":["ia",68340],"tlw":["z",15934],"trw":["iz",305],"lp":["za","zi","az","zia","ai","aza","azi","zz","zaz","zza","zzi","zaza","zai"],"rp":["ia","iz","iaz","iza","iaza","izz","iazi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",90184],"trp":["ki",45823],"tlw":["si",39],"trw":["is",1279],"lp":["si","sk","ski","sis","sks"],"rp":["ki","is","ik","ks","isk","ksi","kis","iki","isi","kk","iski","kki","kik","iss"]},"35":{"input":[1,2,6],"tlp":["wi",87989],"trp":["ka",38575],"tlw":["zas",2170],"trw":["ka",698],"lp":["wi","sz","ak","wsz","zas","wia","aki","zw","sza","asz","zk","swi","sia","awi","wz","ska","zis"],"rp":["ka","iw","kaz"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",1323],"trp":["ie",368657],"lp":["ei"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",125561],"trp":["iez",5190],"tlw":["ze",12240],"trw":["ize",38],"lp":["ze","zie","ez","zez","aze","eza","eze","azie","ezi","ziez","ezie","ziei","xi","zeze"],"rp":["iez","iaze","ize","ieza","iezi","ieze"]},"38":{"input":[2,3,6],"tlp":["sie",75832],"trp":["kie",18740],"tlw":["sie",65236],"trw":["ide",164],"lp":["sie","ek","dk","eki","esi","sied","eks","skie","esie","eke"],"rp":["kie","ied","ies","iek","id","kied","ke","iesi","ieks","ieki"]},"39":{"input":[1,2,3,6],"tlp":["dz",71993],"trp":["iedz",11935],"tlw":["dzis",2729],"trw":["kad",1125],"lp":["dz","dzi","wie","dzie","edz","sze","esz","edzi","zes","zd","dzia","zed","wied","zek","wid","wiek","adz","eka"],"rp":["iedz","iew"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",1632],"trp":["it",10113],"tlw":["v",123],"trw":["it",677],"lp":["ti","vi","vii","tv","tvi","tti","tiv","viii"],"rp":["it","iv","iti","itt","itiv"]},"41":{"input":[1,4,6],"tlp":["zt",5011],"trp":["iat",4655],"tlw":["tai",754],"trw":["if",169],"lp":["zt","fi","zat","zta","tai","av","fia","afi","va","tav","vaa","vaaa","tia","azat","ait","fit"],"rp":["iat","ita","iata","if"]},"42":{"input":[2,4,6],"tlp":["ci",62579],"trp":["ic",34576],"tlw":["ci",3112],"trw":["isc",445],"lp":["ci","sci","tk","stk","tki","stki","cic","ck","tkic","cis","vis","scic"],"rp":["ic","kt","kic","ist","isc","ikt","isci","ici"]},"43":{"input":[1,2,4,6],"tlp":["cz",84284],"trp":["iast",2879],"tlw":["tak",10183],"trw":["itak",560],"lp":["cz","tak","cza","zc","cia","szc","zcz","szcz","acz","zac","czas","wiat","taki","aci","wcz","scia","zacz","wic"],"rp":["iast","iac"]},"44":{"input":[3,4,6],"tlp":["ri",3494],"trp":["ier",13295],"tlw":["tie",65],"trw":["ir",2637],"lp":["ri","ve","rie","ev","vie","ver","rii","eve","ever","eri","tri","eir","rei"],"rp":["ier","iet","ir","ite","ietr","iete","iter"]},"45":{"input":[1,3,4,6],"tlp":["rz",90643],"trp":["ierz",2732],"tlw":["teraz",3005],"trw":["iteraz",110],"lp":["rz","rze","raz","trz","rzez","rza","arz","trze","zar","zr","eraz","erz","atrz","tez","zer","raze","trza","zara","zet"],"rp":["ierz"]},"46":{"input":[2,3,4,6],"tlp":["cie",23265],"trp":["iec",26434],"tlw":["cie",2111],"trw":["itd",184],"lp":["cie","eci","esci","scie","rek","ecie","rsk","rski","tkie","siec","rk"],"rp":["iec","kr","ieci","kre","iesc","kret","iece","ice","ierc"]},"47":{"input":[1,2,3,4,6],"tlw":["wiec",3828],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["ni",174405],"trw":["in",1322],"lp":[],"rp":["ni","in","inn","ini","hi","hn","nni","hin","inni","hni","nii","nin","iin","iinn","inii","nh"]},"49":{"input":[1,5,6],"tlp":["zn",27628],"trp":["nia",13186],"tlw":["ani",2778],"trw":["niz",2084],"lp":["zn","ani","zna","zni","ania","zan","zin","azn","zani","azni","znan"],"rp":["nia","ha","ina","niz","ian","naz","nani","han","hna"]},"50":{"input":[2,5,6],"tlp":["sni",3453],"trp":["nik",4194],"tlw":["sni",32],"trw":["his",454],"lp":["sni","sh"],"rp":["nik","kn","nk","ij","ji","nis","his","kni","jni","jsk","nisk","nsk","nki","nski","kin","ins","jis","isn"]},"51":{"input":[1,2,5,6],"tlp":["wni",5839],"trp":["jak",28350],"tlw":["wina",268],"trw":["jak",14792],"lp":["wni","win","zaj","wini","znaj","asni","szn","zj","wnia"],"rp":["jak","nak","jaki","hw","hwi","nasz","ija","kna","kan","jaka","iwn"]},"52":{"input":[3,5,6],"tlp":["eni",11343],"trp":["nie",115708],"trw":["nie",47473],"lp":["eni","enie"],"rp":["nie","he","ien","ieni","yni","inie","hy","inny","nien","inne","ynie","ine","iny","hen","nnie","hey","ienn","hnie"]},"53":{"input":[1,3,5,6],"tlp":["zy",86799],"trp":["yz",4726],"tlw":["zenie",780],"trw":["nanie",104],"lp":["zy","anie","zen","zeni","znie","zyn","enia","zyz","azy","zien","ezy","zne","zny","zyni","zyna","zyzn","ezn"],"rp":["yz","niez","yzn"]},"54":{"input":[2,3,5,6],"tlp":["dni",6393],"trp":["iej",15859],"tlw":["she",1219],"trw":["kiedy",2587],"lp":["dni","snie","dnie","she","esni","ekn"],"rp":["iej","niej","yk","iedy","iejs","kiej","nies","ysi","ieje","iekn","niek","nied","ije","ysie"]},"55":{"input":[1,2,3,5,6],"tlw":["dzien",1087],"trw":["jednak",3118],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",21105],"trp":["ib",902],"tlw":["bi",50],"lp":["bi","th","tni","thi","bni","thin","bit","bin","bh","tin"],"rp":["ib","ht","nib","ith","int","itn","hb","nit","niti","hit"]},"57":{"input":[1,4,5,6],"tlp":["zb",4172],"trp":["hat",1109],"tlw":["that",591],"trw":["izba",42],"lp":["zb","tani","bia","zab","atni","abi","tha","that","zabi","zbi","zba","tnia","ath","bani"],"rp":["hat","itan","izb","inf","hta","hav"]},"58":{"input":[2,4,5,6],"tlp":["ch",74579],"trp":["ich",14715],"tlw":["bci",274],"trw":["ich",4866],"lp":["ch","chc","chci","bic","cji","chn","cich","bk"],"rp":["ich","nic","hc","kich","kb","hci","nich","icj","inic","nicj","nikt","jci"]},"59":{"input":[1,2,4,5,6],"tlw":["znich",449],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["bie",13336],"trp":["ieb",5068],"tlw":["the",3042],"trw":["her",1605],"lp":["bie","ebi","the","ebie","tnie","biet","rni","bnie"],"rp":["ieb","iebi","her","hr","nieb","nier","iety","hyb","iby","hry","iern","niby"]},"61":{"input":[1,3,4,5,6],"tlw":["bez",2806],"trw":["nieraz",449],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["tych",1735],"trw":["niech",1470],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["czy",5191],"trw":["jeszcze",5354],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",763],"trw":["o",6106],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",782],"trp":["oa",209],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",12921],"trp":["os",50523],"tlw":["so",247],"lp":["so","sos","soo"],"rp":["os","oso","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",32063],"trp":["ow",64725],"tlw":["wo",109],"trw":["ow",544],"lp":["wo","swo","awo","sow","wos","wow","aso","asow","wso","wswo","aswo","awos"],"rp":["ow","owa","owo","ows","osa","osw","osow","owos"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",700],"trp":["-o",242],"trw":["-",43777],"lp":["eo"],"rp":["-o","oe"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",67],"trp":["-a",577],"trw":["-a",43],"lp":["xo","axo","a-"],"rp":["-a","ox"]},"70":{"input":[2,3,7],"tlp":["do",46979],"trp":["od",49479],"tlw":["do",12671],"trw":["od",4136],"lp":["do","dos","dod","eso","dodo","doo","edo","doe","does"],"rp":["od","odo","ode","odd","ose","ods","-d","odde","odos","oes","-do"]},"71":{"input":[1,2,3,7],"tlp":["wod",4591],"trp":["owe",3290],"tlw":["woda",528],"trw":["owe",142],"lp":["wod","dow","ado","dwo","ewo","dowo","wdo","dowa","ados","woda","doda","wode","awdo","dosw"],"rp":["owe","oda","owod","odda","owad","odw"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",72862],"trp":["ot",22422],"tlw":["to",23311],"trw":["oto",1109],"lp":["to","go","got","goto","tot","too","goo"],"rp":["ot","og","oto","ogo","ott","oog"]},"73":{"input":[1,4,7],"tlp":["ag",8439],"trp":["oga",3404],"tlw":["ato",208],"trw":["of",1252],"lp":["ag","ga","fo","ato","aga","ago","gat","tota","fot","tof","gf","gata"],"rp":["oga","of","ota","off","ogat","otta","ofa"]},"74":{"input":[2,4,7],"tlp":["co",15974],"trp":["oc",26832],"tlw":["co",5162],"lp":["co","sto","cos","gos","tos","cot","gosc","stos","stot","tosc","coto","toc","cott","sco"],"rp":["oc","osc","ost","osto","otc","ogos"]},"75":{"input":[1,2,4,7],"tlp":["two",4901],"trp":["osta",7294],"tlw":["gotow",216],"trw":["owoc",43],"lp":["two","tow","stwo","towa","woc","cow","wag","gw","wosc","gow","wg","wowc"],"rp":["osta","otw","owc","owac","otow","oca","owt","ogow"]},"76":{"input":[3,4,7],"tlp":["ro",57299],"trp":["or",45488],"tlw":["tego",4358],"trw":["-to",452],"lp":["ro","eg","ego","tor","tore","teg","tego","tro","gr","ge","rog","gor","gro","reg","ero","rego"],"rp":["or","ore","ote","otr"]},"77":{"input":[1,3,4,7],"tlp":["tora",3418],"trp":["ora",7565],"tlw":["for",554],"trw":["-ato",55],"lp":["tora","for","aro","rag","ateg","ega","gra","roga","gar","age","gora","arg","arto","areg","fro","taro"],"rp":["ora","otra","-ta","ogar"]},"78":{"input":[2,3,4,7],"tlp":["gd",17099],"trp":["ors",3173],"tlw":["dosc",813],"trw":["odtego",117],"lp":["gd","rod","roc","ros","dro","stro","god","tors","sro","srod","drog","rost","dot","dosc","cor","dost"],"rp":["ors","odc","odr","ostr"]},"79":{"input":[1,2,3,4,7],"tlw":["wsrod",1050],"trw":["otwarte",152],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",34225],"trw":["on",3987],"lp":[],"rp":["on","no","un","nu","ou","ono","uo","onu","nuo","nno","uno","oun","oon","onn","unu","onno","non","unon","nou"]},"81":{"input":[1,5,7],"tlp":["au",3651],"trp":["ona",5686],"tlw":["aon",234],"trw":["ona",1285],"lp":["au","ano","anu","aon","aona","anno","aun","auna","qu"],"rp":["ona","nau","una","nao","ua","onan","nano","oan","oann","nona","uau"]},"82":{"input":[2,5,7],"tlp":["su",4815],"trp":["oj",23708],"tlw":["su",735],"trw":["jo",359],"lp":["su","sno","sun","sus","snu"],"rp":["oj","us","ju","nos","uj","jo","jus","ojn","oju","osn","ojs","osu","nso","ojo","osno"]},"83":{"input":[1,2,5,7],"tlp":["woj",7645],"trp":["now",8001],"tlw":["swoja",803],"trw":["jau",356],"lp":["woj","swoj","wu","anow","wno","asu","aju","woja","wojn","won","sown"],"rp":["now","own","oja","uw","uwa","owu","nowu","uja","onow"]},"84":{"input":[3,5,7],"tlp":["eu",1045],"trp":["ony",3245],"trw":["you",832],"lp":["eu","eon","eno","eun","enu"],"rp":["ony","one","-n","yo","you","neu","yno","une","ynu","-no","ynno","uny","ynuo","-nu","-on"]},"85":{"input":[1,3,5,7],"tlp":["aux",164],"trp":["ux",164],"lp":["aux","eona","eanu","eau"],"rp":["ux"]},"86":{"input":[2,3,5,7],"tlp":["du",7756],"trp":["ud",11878],"tlw":["synu",166],"trw":["jedno",549],"lp":["du","dno","dus","don","edno","ejo","dnos"],"rp":["ud","oje","odn","uje","ody","ojej","odu","udn","osy","ude","yso","udy","-j"]},"87":{"input":[1,2,3,5,7],"tlw":["swoje",1014],"trw":["nowe",458],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bo",17356],"trp":["ob",32371],"tlw":["tu",4701],"trw":["obu",290],"lp":["bo","tu","bu","gn","bog","gu","tob","tut","but","bot"],"rp":["ob","ug","ut","ub","obo","obn","nog","ugo","ogn","ng"]},"89":{"input":[1,4,5,7],"tlp":["gna",1454],"trp":["oba",4176],"tlw":["boga",442],"trw":["nato",715],"lp":["gna","agn","atu","tano","agna","boga","tuta","agu","toba","abo","gan"],"rp":["oba","nag","nato","uta","uga","noga","natu","nfo","obna"]},"90":{"input":[2,4,5,7],"tlp":["sob",8597],"trp":["uc",9675],"tlw":["boju",171],"trw":["noc",701],"lp":["sob","cu","stu","cju","cjus","boj","bos","scu","cno"],"rp":["uc","ust","nosc","onc","osob","noc","ojc","ncu","oncu","ocn","just"]},"91":{"input":[1,2,4,5,7],"tlw":["soba",912],"trw":["usta",582],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ru",10352],"trp":["ory",10533],"tlw":["gory",402],"trw":["nero",306],"lp":["ru","tory","ron","rob","tron","bro","rug","tru","rony"],"rp":["ory","ur","obr","neg","nego","yto","oty","ytor","yg","oby","obe"]},"93":{"input":[1,3,4,5,7],"tlw":["rano",301],"trw":["natury",131],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["gdy",6483],"trw":["jego",6471],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["dobra",471],"trw":["justyna",463],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["lo",50381],"trw":["li",307],"lp":[],"rp":["lo","li","il","ol","io","oi","oli","olo","ilo","ili","ll","iol","lil","llo","ill","lli","lio","ilio","oil","loo"]},"97":{"input":[1,6,7],"tlp":["al",107956],"trp":["la",64546],"tlw":["zal",356],"trw":["la",391],"lp":["al","zo","ala","zl","zal","zial","alo","zlo","ali","zil","zla","zli","azal"],"rp":["la","oz","ial","ola","iala","ila","lal"]},"98":{"input":[2,6,7],"tlp":["sl",22280],"trp":["ko",47506],"tlw":["sil",387],"trw":["okolo",573],"lp":["sl","sli","slo","sil","sko"],"rp":["ko","ok","lk","kl","lko","los","oko","kol","lki","osi","ilk","kil","oki","kilk","okol"]},"99":{"input":[1,2,6,7],"tlp":["wal",9697],"trp":["owi",22633],"tlw":["slowa",956],"trw":["kilka",1527],"lp":["wal","wil","wol","wl","ako","szl","zos","wla","sla","wlas","slow"],"rp":["owi","low","las","lowi","kla","osz","lka","lowa","kow"]},"100":{"input":[3,6,7],"tlp":["el",23557],"trp":["le",60091],"trw":["ile",574],"lp":["el","eli","ele","elo","ell","ello","elli"],"rp":["le","iel","ole","ile","ieli","iele","iell","ielo","lie","lei","olei","lle","iole"]},"101":{"input":[1,3,6,7],"tlp":["ale",25698],"trp":["oze",6806],"tlw":["ale",11823],"trw":["lezal",224],"lp":["ale","zel","ela","alez","zle","ziel","zeli","zela","zale","ezal","ezel","ezl"],"rp":["oze","lez","iale","leza","iela","lale","ozle","loze"]},"102":{"input":[2,3,6,7],"tlp":["dl",18350],"trp":["lek",3460],"tlw":["sile",224],"trw":["like",346],"lp":["dl","ekl","elk","edl","esl","esli","dok","elki","eko","dol","dlo"],"rp":["lek","ielk","lod","ld","lkie","osie","led","ido","okie"]},"103":{"input":[1,2,3,6,7],"tlw":["dla",5302],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["gl",20525],"trp":["ogl",5611],"tlw":["gi",147],"trw":["ito",358],"lp":["gl","gi","glo","tol","tl","vo","gol"],"rp":["ogl","ig","ogi","lit","ito","lot","lig","igi","itol","ligi","lt","iot","oglo"]},"105":{"input":[1,4,6,7],"tlp":["tal",9006],"trp":["lat",3663],"tlw":["zato",341],"trw":["lat",1084],"lp":["tal","gla","zg","agl","tala","talo","zgo","agi","zlot","gal","atl","zgl","alt","toz"],"rp":["lat","iag","ogla","ofi","iatl","ofia"]},"106":{"input":[2,4,6,7],"tlp":["cil",3725],"trp":["kto",24526],"tlw":["glos",1013],"trw":["kto",1969],"lp":["cil","glos","tko","stko","stol"],"rp":["kto","osci","oci","lic","losc","lc","ocil","otk","oic","okt","okto","kosc","koc","isto","olic"]},"107":{"input":[1,2,4,6,7],"tlw":["glowa",1247],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["gle",3643],"trp":["ieg",7405],"tlw":["teorii",136],"trw":["ligie",262],"lp":["gle","gie","rol","rl","egl","rogi","tel","egi","role","giel"],"rp":["ieg","iego","leg","iero","lite","ori","lego","ior","ogie","legl"]},"109":{"input":[1,3,4,6,7],"tlw":["zeto",514],"trw":["oraz",543],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["drogi",663],"trw":["ktore",3303],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["gdzie",3077],"trw":["lecz",4127],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["lu",22354],"trw":["oni",779],"lp":[],"rp":["lu","ho","oni","ln","iu","lni","lon","ul","oln","niu","hl","nio","hlo","olni","hu","uni","ion","nil","lno","olu"]},"113":{"input":[1,5,6,7],"tlp":["zu",11610],"trp":["uz",13328],"tlw":["znalazl",366],"trw":["uz",245],"lp":["zu","zno","znal","zon","zul","azu","alan"],"rp":["uz","nal","ozn","ozna","lan","ozu","luz","hal","ozni","lna","nala","lani","nial"]},"114":{"input":[2,5,6,7],"tlp":["slu",3167],"trp":["ku",13470],"tlw":["skoku",179],"trw":["ku",734],"lp":["slu","slon","sku"],"rp":["ku","kon","uk","usi","koj","okoj","koni","oku","unk","nios","kun","lus","ius","nius","nku","nosi","niko"]},"115":{"input":[1,2,5,6,7],"tlw":["znowu",1380],"trw":["juz",8066],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eln",2354],"trp":["yl",37140],"trw":["-nie",970],"lp":["eln","elu","elni","eniu"],"rp":["yl","ly","ylo","onie","lnie","yli","yly","yle","nel","ily","-ni","-nie","lny","lne","len","ielu"]},"117":{"input":[1,3,5,6,7],"tlw":["zony",234],"trw":["lzy",407],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["sily",637],"trw":["jesli",2399],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["dalej",1297],"trw":["ludzi",1877],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",4510],"trp":["obi",10397],"tlw":["buvo",526],"trw":["lub",2322],"lp":["bl","gni","bli","bil","tlu","bol","tobi"],"rp":["obi","lb","ugi","lug","lub","lbo","nig","lugo","ogni","lugi","obil","obl","uv"]},"121":{"input":[1,4,5,6,7],"tlw":["albo",1927],"trw":["ognia",422],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["choc",1394],"trw":["obok",680],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["chwili",1257],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["bylo",6619],"trw":["niego",1339],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["byla",3016],"trw":["nagle",1105],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["tylko",7436],"trw":["ktory",4337],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["wszystko",2576],"trw":["oczy",2137],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",172],"trw":["p",135],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",9918],"trp":["pa",27218],"trw":["pa",145],"lp":["ap","apa","app"],"rp":["pa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",14576],"trp":["ps",984],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["wp",3537],"trp":["pas",1206],"trw":["pas",221],"lp":["wp","spa","wsp","wpa","wspa","apas","asp","aspa","wap","awp","wpas","spas"],"rp":["pas","paw","psa","pasa","pw"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",5528],"trp":["pe",8856],"trw":["pe",37],"lp":["ep","e'","epe","eep"],"rp":["pe","ppe","pee"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",1033],"trp":["pea",94],"lp":["ape","epa","a'","appe"],"rp":["pea","ppea"]},"134":{"input":[2,3,8],"tlp":["dp",2912],"trp":["'s",698],"lp":["dp","eps","esp","spe","e's","sped","spee","e'd","desp","dep","sep"],"rp":["'s","ped","'d","pede"]},"135":{"input":[1,2,3,8],"tlp":["dpa",640],"trp":["pew",3258],"tlw":["wpada",59],"trw":["pada",80],"lp":["dpa","apew","wpad","aped","spad","a's","apad","wpe","wpew","epas","epew"],"rp":["pew","pad","pada","pade","pawe","pase","pwe"]},"136":{"input":[4,8],"tlp":["tp",340],"trp":["pt",863],"lp":["tp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["tap",450],"trp":["pat",2675],"lp":["tap","atp"],"rp":["pat","pta","pf"]},"138":{"input":[2,4,8],"tlp":["cp",40],"trp":["pc",913],"lp":["cp"],"rp":["pc","pst"]},"139":{"input":[1,2,4,8],"tlp":["stap",450],"trp":["pac",1055],"tlw":["spac",240],"trw":["pats",97],"lp":["stap","apac","watp","spac","wpat","acp","cpa","wacp","acpa"],"rp":["pac","pca","pasc","past","pats","pstw","ptac"]},"140":{"input":[3,4,8],"tlp":["tep",1202],"trp":["pr",57473],"trw":["per",245],"lp":["tep","epr","rp","erp","ept","t'","epte","re'","ere'","tepe"],"rp":["pr","pre","pet","petr","per","'t","pret","'r","'re","pte"]},"141":{"input":[1,3,4,8],"tlp":["apr",1964],"trp":["pra",9765],"tlw":["tarp",77],"trw":["pare",337],"lp":["apr","apra","epra","epta","arp","tarp","at'","apar","apre"],"rp":["pra","patr","par","pare","pfe","para","pera","part","papr"]},"142":{"input":[2,3,4,8],"tlp":["spr",2056],"trp":["pred",1040],"trw":["press",30],"lp":["spr","step","t's","epc","tepc","cep","rcep","cepc","spec","re's","epce","cept","depc"],"rp":["pred","prec","perc","pres","pce","peec","pec"]},"143":{"input":[1,2,3,4,8],"tlw":["sprawe",290],"trw":["prawda",673],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mn",14832],"trw":["m",312],"lp":[],"rp":["mn","pn","mp","nm","np","mm"]},"145":{"input":[1,5,8],"tlp":["am",33618],"trp":["ma",28562],"tlw":["apan",98],"trw":["pan",4034],"lp":["am","ama","amn","amp","apan","anam"],"rp":["ma","pan","nam","nap","mam","mna","pana","man","pam","pann","namn","napa","pna","mama"]},"146":{"input":[2,5,8],"tlp":["sm",6824],"trp":["jm",1565],"lp":["sm"],"rp":["jm","ms","jmn","jp"]},"147":{"input":[1,2,5,8],"tlp":["sam",6796],"trp":["maj",1759],"tlw":["sam",2445],"trw":["maja",826],"lp":["sam","wam","ajm","sama","ajmn","wm","asam","sma","ajp","span","asm"],"rp":["maj","maja","mas","najm","jam","pans","maw","najp","nasm"]},"148":{"input":[3,5,8],"tlp":["em",47785],"trp":["ym",25806],"tlw":["eme",32],"trw":["my",1084],"lp":["em","emn","emy","epn","eme","emne"],"rp":["ym","my","me","yp","py","nym","nem","men","mne","mny","nnym","mym","n'","mem"]},"149":{"input":[1,3,5,8],"tlp":["amy",2050],"trp":["yma",2522],"tlw":["amy",88],"trw":["max",1479],"lp":["amy","ame","apy","ema","emna","amym","anem","epna","an'","amem"],"rp":["yma","max","ypa","mamy","nape","mane","pane","namy","maxa","na'"]},"150":{"input":[2,3,5,8],"tlp":["sem",2689],"trp":["mys",5369],"tlw":["dym",154],"trw":["jednym",518],"lp":["sem","dym","smy","dem","spy","dm","dnym","esm","edem","esmy","edm","ems"],"rp":["mys","jem","jemn","ysp","mej","ysm","ysmy","yms"]},"151":{"input":[1,2,3,5,8],"tlw":["samym",432],"trw":["pewna",264],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",173],"trp":["mt",555],"lp":["tm"],"rp":["mt","mb"]},"153":{"input":[1,4,5,8],"tlp":["tam",5042],"trp":["mat",1787],"tlw":["tam",3597],"trw":["mat",31],"lp":["tam","amt","tamt","amta","fam","atam","bam","amf","atm","fm"],"rp":["mat","mta","mf","pant","mnat"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",184],"trp":["mc",1077],"tlw":["tms",55],"lp":["cm","tms"],"rp":["mc","mst","pcj","msc"]},"155":{"input":[1,2,4,5,8],"tlw":["wacpan",40],"trw":["majac",369],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["tem",8044],"trp":["pyt",2717],"tlw":["tym",4037],"lp":["tem","tym","rym","bym","rm","rem","tepn","bem"],"rp":["pyt","mr","met","n't","mbe","mber","metr","ment","ybym","mer","ypr","mte"]},"157":{"input":[1,3,4,5,8],"tlw":["temat",228],"trw":["natym",299],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["system",322],"trw":["jestem",1324],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["wtym",987],"trw":["naprawde",460],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",22224],"trw":["pi",56],"lp":[],"rp":["pi","ip"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["zap",2987],"trp":["pia",562],"lp":["zap","api","zp","aip","zapa","zpi","zpa","apia"],"rp":["pia","papi","ipa","paz","izap"]},"162":{"input":[2,6,8],"tlp":["spi",1310],"trp":["pis",4398],"tlw":["spi",122],"lp":["spi","skip"],"rp":["pis","kip","pk","isp","pki","psi"]},"163":{"input":[1,2,6,8],"tlp":["wpi",267],"trp":["kap",1184],"tlw":["zapas",72],"trw":["kaip",681],"lp":["wpi","apis","apk","zapk","szp","zkap","szpi"],"rp":["kap","kapi","kaip","psz","pisa","pak","pias","pisz","piw","kasp","pask","psza","piwa"]},"164":{"input":[3,6,8],"tlp":["epi",972],"trp":["pie",13522],"trw":["pie",48],"lp":["epi","epie"],"rp":["pie","iep","i'","ipe","iepe","pei","ppei"]},"165":{"input":[1,3,6,8],"tlp":["zep",1368],"trp":["piez",95],"tlw":["apie",272],"trw":["papieza",54],"lp":["zep","apie","ezp","zpie","ezpi","zape","zepa","zpe"],"rp":["piez"]},"166":{"input":[2,3,6,8],"tlp":["spie",1047],"trp":["pies",1441],"trw":["pies",178],"lp":["spie","epek","spek"],"rp":["pies","piek","iesp","kipe","pke","pek","kep"]},"167":{"input":[1,2,3,6,8],"tlw":["spiew",96],"trw":["pisze",141],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tpi",70],"trp":["pit",866],"trw":["itp",74],"lp":["tpi"],"rp":["pit","itp","pti"]},"169":{"input":[1,4,6,8],"tlp":["apit",763],"trp":["pita",834],"tlw":["taip",402],"trw":["pati",50],"lp":["apit","tapi","taip","zpit","atpi"],"rp":["pita","piat","pati","ipat"]},"170":{"input":[2,4,6,8],"tlp":["cip",42],"trp":["pic",402],"trw":["pic",106],"lp":["cip","spit"],"rp":["pic","ipc","pist"]},"171":{"input":[1,2,4,6,8],"tlw":["czapka",41],"trw":["ptak",106],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rpi",335],"trp":["pier",5070],"trw":["prie",378],"lp":["rpi","erpi","rpie","tpie","epti"],"rp":["pier","ierp","pri","prie","iepr","piet","ipr","it'","iper","pir"]},"173":{"input":[1,3,4,6,8],"tlw":["rzepa",61],"trw":["przez",6795],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["skiper",201],"trw":["piec",482],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["wprawdzie",446],"trw":["przed",3656],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",59941],"trw":["mi",6561],"lp":[],"rp":["mi","im","mni","nim","imi","min","pni","hm","mim","nimi","hmi","imn","him","hip","mini","pin","imni","nmi","pini","imim"]},"177":{"input":[1,5,6,8],"tlp":["ami",9688],"trp":["mia",11078],"tlw":["zanim",753],"trw":["pani",1381],"lp":["ami","zm","zam","zmi","zami","anim","amia","zim","zma","znim","zmia","znam"],"rp":["mia","pani","nami","pami","hmia","mian","mina","maz"]},"178":{"input":[2,5,6,8],"tlp":["smi",4361],"trp":["kim",3177],"tlw":["spij",31],"trw":["kim",153],"lp":["smi","sim","skim"],"rp":["kim","mis","mk","jmni","ism","mkn","ims","kims","pij","kimi","mkni","jmi","jpi","misj","msk","mski","pism"]},"179":{"input":[1,2,5,6,8],"tlw":["wnim",424],"trw":["masz",794],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",3623],"trp":["mie",22534],"trw":["mnie",6049],"lp":["emi","emie","emni","epni"],"rp":["mie","iem","mnie","niem","iemi","mien","ypi","ymi","iemn","hem","pien","imie","pnie","niep","iemy","imy"]},"181":{"input":[1,3,5,6,8],"tlw":["ziemi",986],"trw":["panie",1750],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["siedem",200],"trw":["mniej",628],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["wiem",1473],"trw":["miedzy",1744],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",148],"trp":["mit",146],"trw":["mit",116],"lp":["tim","bim","tnim","vim"],"rp":["mit","imit"]},"185":{"input":[1,4,5,6,8],"trw":["itam",129],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"trw":["mscic",37],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["zamiast",457],"trw":["matka",605],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["tymi",175],"trw":["itym",97],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["razem",1159],"trw":["przy",3948],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["smierc",577],"trw":["miec",761],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["tymczasem",730],"trw":["przypis",2677],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",79029],"trw":["po",5485],"lp":[],"rp":["po","op","pop","opo","opp","popp","popo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",1764],"trp":["opa",1101],"lp":["apo"],"rp":["opa","popa"]},"194":{"input":[2,7,8],"tlp":["spo",8518],"trp":["pos",6704],"tlw":["spo",52],"lp":["spo","spos"],"rp":["pos","poso","osp","ospo","posp","pso"]},"195":{"input":[1,2,7,8],"tlp":["wpo",932],"trp":["pow",12141],"trw":["psow",77],"lp":["wpo","wspo","apos","wpow","apow","wpos","awpo","wpop"],"rp":["pow","powo","opow","pows","powa","posa","posw","psow","paso"]},"196":{"input":[3,7,8],"tlp":["epo",395],"trp":["-p",478],"lp":["epo","eop"],"rp":["-p","ope","oppe","poe","peo","peop","-po"]},"197":{"input":[1,3,7,8],"trp":["-pa",318],"trw":["poppea",94],"lp":[],"rp":["-pa"]},"198":{"input":[2,3,7,8],"tlp":["dpo",2241],"trp":["pod",11766],"tlw":["spod",439],"trw":["pod",4050],"lp":["dpo","dop","spod","dopo","espo","epod","dope"],"rp":["pod","odp","odpo","podo","opod","pods","pode","podd","pose","pedo","podp","odep","osep"]},"199":{"input":[1,2,3,7,8],"trw":["powod",76],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1200],"trp":["pot",6309],"trw":["pot",71],"lp":["top"],"rp":["pot","pog","pogo","opot","poto"]},"201":{"input":[1,4,7,8],"tlp":["apot",497],"trp":["poga",110],"lp":["apot","topa"],"rp":["poga","opat","pota"]},"202":{"input":[2,4,7,8],"tlp":["stop",1200],"trp":["poc",5454],"tlw":["stop",300],"lp":["stop","spot","gosp","spog","spoc","cop"],"rp":["poc","post","opc","posc","pco","opco"]},"203":{"input":[1,2,4,7,8],"tlw":["stopa",56],"trw":["postac",287],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",301],"trp":["pro",7398],"trw":["popr",1453],"lp":["rop","epro","tepo"],"rp":["pro","pote","opr","por","popr","potr","opro","prog","poro","pror","opor","-pr","oper","-pro","poet","opre","opet"]},"205":{"input":[1,3,4,7,8],"trw":["pora",123],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["sporo",108],"trw":["prosto",232],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["wprost",448],"trw":["prawo",368],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["mo",36877],"trw":["mu",7197],"lp":[],"rp":["mo","mu","om","um","pom","up","omu","pu","omo","omn","pon","pomo","mno","pomn","opn","pun","mom","omp","umn","opu"]},"209":{"input":[1,5,7,8],"tlp":["amo",1213],"trp":["oma",1236],"trw":["panu",545],"lp":["amo","apom","anom","apon","anum"],"rp":["oma","pano","uma","panu","upa","pona","napo","onam","mano","oman","omna","opan","namo","poma","mamo"]},"210":{"input":[2,5,7,8],"tlp":["spoj",1485],"trp":["moj",4972],"tlw":["spoj",47],"trw":["moj",1601],"lp":["spoj","smu","spom","sum"],"rp":["moj","mus","poj","pus","usm","mos","mnos","omos","opus","muj","osm","jmo","jom","jmu","jmuj","pojs"]},"211":{"input":[1,2,5,7,8],"tlw":["samo",635],"trw":["moja",1288],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emu",3362],"trp":["ome",1246],"trw":["open",44],"lp":["emu","emo","emno"],"rp":["ome","omy","upe","pomy","umy","ypo","omen","mome","ymu","ypom","upy","ume","onem","omny","omne","ypu","-m"]},"213":{"input":[1,3,5,7,8],"trw":["-pan",98],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["domu",1023],"trw":["moje",1112],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["wdomu",466],"trw":["mowy",435],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",725],"trp":["mog",6878],"tlw":["tom",165],"trw":["potu",49],"lp":["tom","topn","gm","gom","bom","gmu","gmun"],"rp":["mog","mot","mut","pob","mutn","moto","umb","mg","ptu","put","mput","motn","ogom"]},"217":{"input":[1,4,5,7,8],"tlw":["toma",53],"trw":["moga",569],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["sposob",1064],"trw":["moc",367],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["smutna",117],"trw":["mnostwo",266],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["temu",761],"trw":["potem",2023],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forma",589],"trw":["megan",179],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["gdybym",317],"trw":["prostu",339],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["samego",331],"trw":["pewnego",233],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pol",5926],"trw":["pol",506],"lp":[],"rp":["pol","pl","opi","lop","polo","pil","plo","ipo","pio","poli","pli","lopi","lp","lopo","opl","lip","ipol","opol","pili","pilo"]},"225":{"input":[1,6,7,8],"tlp":["zpo",957],"trp":["poz",4658],"tlw":["zlapal",59],"trw":["poza",483],"lp":["zpo","zapo","apl","apla","apal","apil","alp"],"rp":["poz","pla","pal","pozo","pola","poza","ozp","pali","lopa","ozpa","pala","ozpo","pozi"]},"226":{"input":[2,6,7,8],"tlp":["spok",1225],"trp":["pok",4474],"trw":["polski",326],"lp":["spok","spol"],"rp":["pok","poko","pols","piso","poki","posi","posl","pokl","opok","ospi","klop","opis","ipos","kop","pios","ispo","polk"]},"227":{"input":[1,2,6,7,8],"tlw":["wpol",123],"trw":["powoli",384],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["epl",290],"trp":["pel",2439],"trw":["pole",188],"lp":["epl","eplo","eple","eopl","elp"],"rp":["pel","opie","lep","lepi","pole","ple","iepl","iepo","pele","ople","'l","i'l","'ll","i'll","piel"]},"229":{"input":[1,3,6,7,8],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["dopoki",198],"trw":["polskie",78],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["wpadl",182],"trw":["powiedzial",1337],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tpl",196],"trp":["piot",350],"trw":["plot",40],"lp":["tpl","tpli","topi"],"rp":["piot","pogl","plot","polg","polt","ptio","pito","ipog","pogi"]},"233":{"input":[1,4,6,7,8],"tlw":["filip",38],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["pociski",37],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["spotkac",156],"trw":["poczal",800],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["piotr",231],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"trw":["przeto",243],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["dopiero",1010],"trw":["predko",303],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"trw":["prosze",860],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["mil",4286],"trw":["mimo",629],"lp":[],"rp":["mil","umi","omi","ml","mlo","hlop","oim","pomi","omni","milo","mio","poni","moi","lum","imo","mimo","mion","iom","moim","minu"],"special":"enter"},"241":{"input":[1,5,6,7,8],"trw":["mial",2579],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["spokoj",193],"trw":["musi",771],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["swoim",499],"trw":["mowil",1284],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["mieli",613],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["zupelnie",861],"trw":["moze",4134],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["spokojnie",378],"trw":["lepiej",825],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["widzialem",345],"trw":["pozniej",689],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["tlum",312],"trw":["mogl",1899],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["galima",72],"trw":["mogla",591],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["chlop",216],"trw":["milosc",470],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["chlopak",251],"trw":["mowic",686],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["bylem",489],"trw":["moglem",321],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["zapytal",512],"trw":["potrzeba",320],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["glosem",676],"trw":["ktorym",841],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["bowiem",669],"trw":["petroniusz",731],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/pt-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/pt-keymap.json index dd77e085bf..afa22643f9 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/pt-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/pt-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",311],"tlw":["a",279974],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",199930],"tlw":["s",1267],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",403955],"tlw":["as",56128],"lp":["as","sa","ssa","ass","sas","asa","assa","ssas","wa","was","ww","sass","asas","www","aw","awa","sw","swa","ws"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",4232],"tlw":["e",282983],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ex",35539],"tlw":["x",299],"lp":["ex","xa","ea","ae","xe","exe","exa","ax","axa","xx"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",603738],"tlw":["de",316379],"lp":["de","es","se","ess","sse","des","ed","esse","ese","ses","dess","dese","ede","eses","sses","sd","esd","sde","desd","esde"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",290653],"tlw":["da",79087],"lp":["da","ad","ade","ada","dad","dade","das","essa","esa","ase","sad","asse","eda","ades","adas","ssad","desa","edad","sada","sex"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",2738],"tlw":["t",692],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",336586],"tlw":["ta",503],"lp":["ta","at","fa","ata","af","fat","tat","afa","ff","ft","att","tata","taf","atat","ataf","tf","fata","aft","tfa","tta"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",220589],"tlw":["c",936],"lp":["st","sc","ct","tc","cc","ts","cs"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",291876],"tlw":["casa",8888],"lp":["ca","sta","ac","aca","cas","tas","casa","ast","fac","stas","sca","tac","asta","sf","cac","sac","taca","caca","asc","fas"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",412432],"tlw":["ter",11405],"lp":["er","te","re","tr","rt","ter","rr","et","tre","ere","ert","rte","err","rre","ret","terr","ete","etr","rer","tere"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ra",489515],"tlw":["era",37427],"lp":["ra","ar","ara","era","tra","fe","tar","are","rta","ate","art","rar","fr","eta","ef","rra","atr","fer","arr","rat"],"rp":[]},"14":{"input":[2,3,4],"tlp":["est",130667],"tlw":["ser",18726],"lp":["est","ce","ec","res","ser","rec","rd","cr","esc","tes","ece","ste","rc","der","cer","str","erd","este","rece","ces"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["esta",82829],"tlw":["esta",19307],"lp":["esta","car","ras","eca","cad","tad","rac","rad","sar","arec","rda","dar","tras","raca","cada","erda","ard","star","stra","rca"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",5010],"trw":["n",1260],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",281535],"trp":["na",264338],"tlw":["q",346],"trw":["na",47469],"lp":["an","aq","ana","ann","anq","anna","anan","aan"],"rp":["na","nq","naq","nan","nna"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",220],"trp":["ns",77600],"trw":["j",385],"lp":["sn","sj"],"rp":["ns","nj"]},"19":{"input":[1,2,5],"tlp":["san",8808],"trp":["ja",39162],"tlw":["san",234],"trw":["ja",13037],"lp":["san","ans","aj","sq","ssan","ansa","anas","anj","aja","anja","ajan","wn"],"rp":["ja","nas","nsa","jan","nsan","jas","nja","nsas"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",399933],"trp":["ne",63763],"tlw":["en",763],"trw":["y",1207],"lp":["en","ene","een","ey","enn","enny","eyn","eyne","enen","enne"],"rp":["ne","nen","ny","nny","yn","yne","ney","nne","ye","ynn"]},"21":{"input":[1,3,5],"tlp":["ena",18156],"trp":["ya",615],"tlw":["any",171],"lp":["ena","ane","eq","enq","xan","ay","ean","anny","anea","enx","aen","any","enxe","anen"],"rp":["ya","nea","nx","nxe","nex","nexa"]},"22":{"input":[2,3,5],"tlp":["sen",38594],"trp":["nd",184626],"tlw":["eyes",75],"trw":["nesse",1917],"lp":["sen","end","ens","den","ej","ende","sej","esen","esej","send","eend","sens"],"rp":["nd","nde","je","nse","nes","ness","nden","ndes"]},"23":{"input":[1,2,3,5],"tlp":["and",82846],"trp":["nda",26353],"tlw":["seja",3811],"trw":["nada",9040],"lp":["and","ensa","ande","eja","enas","dan","anda","seja","esq","daq","sand","enda","dand","seq"],"rp":["nda","nad","nada","jane","nand","ndan"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",711],"trp":["nt",380933],"tlw":["b",631],"lp":["bt","bb"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ant",80565],"trp":["nta",60116],"tlw":["tanta",767],"lp":["ant","ab","ba","tan","tant","aba","anta","ban","bat","fan","aban","fant","taq","bata","tab"],"rp":["nta","nf","ntan","nat","ntat"]},"26":{"input":[2,4,5],"tlp":["bs",6193],"trp":["nc",98606],"lp":["bs","bj","cn","bst","sb","bsc","bc"],"rp":["nc","nst","nsc","nts"]},"27":{"input":[1,2,4,5],"tlp":["anc",29762],"trp":["nca",33491],"tlw":["tantas",546],"lp":["anc","sab","cab","anca","can","stan","bas","acab","caba","tanc","bast","cant","sant"],"rp":["nca","ntas","ncas","nsta","nac","nsac","nsf"]},"28":{"input":[3,4,5],"tlp":["ent",207420],"trp":["nte",165647],"tlw":["entre",8275],"trw":["net",250],"lp":["ent","ente","be","br","ten","entr","ren","rn","bre","ber","eb","rent","ern","tent","eren"],"rp":["nte","ntr","ntre","nter","nten"]},"29":{"input":[1,3,4,5],"tlp":["ran",42850],"trp":["ntra",17480],"tlw":["frente",4513],"trw":["nate",648],"lp":["ran","ante","enta","abe","bra","rq","rna","rab","tran","trab","raba","bar","rant","aber","abr","rtan","fren"],"rp":["ntra","ntar","nar"]},"30":{"input":[2,3,4,5],"tlp":["enc",39246],"trp":["ntes",21043],"tlw":["entender",1104],"trw":["neste",1524],"lp":["enc","sent","cen","dent","tend","bec","cent","ceb","tenc","rend","cebe","renc","rceb"],"rp":["ntes","nce","nder","ntec","nec","nece","nstr"]},"31":{"input":[1,2,3,4,5],"tlw":["antes",8436],"trw":["jantar",1170],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",1421],"trw":["i",2965],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",127585],"trp":["ia",229190],"tlw":["ai",2545],"trw":["ia",3166],"lp":["ai","az","za","zi","zia","azi","azia","aia","aza","zz","aiz","zzi"],"rp":["ia","iz","iza","izi","iai","izia","izz","izzi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",84867],"trp":["is",248469],"tlw":["si",3658],"trw":["is",409],"lp":["si","ssi","sis","ssis","sk","ski"],"rp":["is","iss","isi","ik","ki","issi","iki","ks"]},"35":{"input":[1,2,6],"tlp":["ais",63939],"trp":["isa",27355],"tlw":["saia",685],"lp":["ais","assi","sai","asi","wi","sia","asia","ak","saia","sias","zas","ssia","aisa"],"rp":["isa","ias","isas","issa","ka","iais","ika"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",135404],"trp":["ie",27112],"tlw":["ei",385],"trw":["ie",93],"lp":["ei"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",41552],"trp":["ix",21958],"tlw":["xia",158],"trw":["ix",103],"lp":["ze","ez","aze","xi","eix","aix","eia","eza","eze","eixa","exi","aixa","eixe","axi","ezi","eai"],"rp":["ix","ize","ixa","ixe"]},"38":{"input":[2,3,6],"tlp":["di",149151],"trp":["id",117035],"tlw":["disse",22191],"lp":["di","dis","diss","dei","edi","sid","sei","eis","did","side","esi","essi"],"rp":["id","isse","ide","ise","idi","idei","ke","ied"]},"39":{"input":[1,2,3,6],"tlp":["dia",31205],"trp":["ida",58061],"tlw":["dia",8588],"trw":["ideia",3049],"lp":["dia","diz","deix","zes","dize","ezes","adei","deia","xis","exis","dez","dias","adi","edia","sida","dida"],"rp":["ida","idad","iad","ieda"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",136577],"trp":["it",117311],"tlw":["vi",1966],"trw":["it",901],"lp":["ti","vi","tiv","viv","vit","tit","vivi","tivi","viti","tv","vii","viii","vitt"],"rp":["it","iv","iti","ivi","itiv","itt"]},"41":{"input":[1,4,6],"tlp":["va",136327],"trp":["ita",29811],"tlw":["vai",6210],"lp":["va","av","ava","fi","tav","tava","via","faz","avi","avia","ati","vai","tia","ativ","tiva","afi"],"rp":["ita","if","ifi","iva"]},"42":{"input":[2,4,6],"tlp":["ci",126068],"trp":["ic",96581],"tlw":["civis",136],"lp":["ci","sti","tic","vis","cis","sit","siv","sic","vist","stiv","ssiv","sist","sci","ck","visi"],"rp":["ic","ist","ici","isc","isti"]},"43":{"input":[1,2,4,6],"tlp":["cia",40513],"trp":["ica",47187],"tlw":["vista",1644],"lp":["cia","stav","fic","fica","aci","cav","fici","cava","tica","sav","cisa","cai","sava","sica","vas"],"rp":["ica","ista","ific","icia","itas"]},"44":{"input":[3,4,6],"tlp":["ri",197607],"trp":["ir",123977],"tlw":["ver",6812],"trw":["ir",3642],"lp":["ri","ve","eri","ver","ev","eir","eit","eve","rei","tir","rv","rit","tive","teri","vr","rri"],"rp":["ir","ive","ite","ire"]},"45":{"input":[1,3,4,6],"tlp":["ria",65506],"trp":["ira",34560],"tlw":["vez",10904],"trw":["iria",1476],"lp":["ria","ari","eria","vez","eira","zer","ave","faze","rav","azer","aria","eva","fei","feit","var","arti","rava","eita"],"rp":["ira","izer"]},"46":{"input":[2,3,4,6],"tlp":["eci",33622],"trp":["iste",8299],"tlw":["tivesse",3417],"lp":["eci","vid","ves","reci","cid","cri","dir","dev","cie","ris","esti","tid","vess","ecis","rid","verd","dire","seri","deve"],"rp":["iste"]},"47":{"input":[1,2,3,4,6],"tlw":["estava",26264],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",225142],"trw":["in",1383],"lp":[],"rp":["in","nh","inh","ni","hi","ini","nin","nni","hin","nhi","hn","inin","ninh","hnn"]},"49":{"input":[1,5,6],"tlp":["anh",17458],"trp":["ha",149599],"tlw":["ah",1851],"trw":["ha",7686],"lp":["anh","ain","anha","ani","zin","zinh","ah"],"rp":["ha","nha","inha","ina","ian","han","iq","nia","nz","nina","nai","inz","hia"]},"50":{"input":[2,5,6],"tlp":["sin",6776],"trp":["nsi",8141],"tlw":["sin",78],"trw":["his",425],"lp":["sin","sh","ssin","shi","shin"],"rp":["nsi","ins","his","nis","ij","ji","inis","nsis","insi","nsin","niss","nk","kh","inj","kin"]},"51":{"input":[1,2,5,6],"tlp":["sina",3120],"trp":["has",9127],"tlw":["sinais",487],"trw":["haja",264],"lp":["sina","ansi","wh","ash","ashi","win","sain","anis","wash","siq","ank","wins"],"rp":["has","nhas","inas","nais","iaj","iaja","isq","ija"]},"52":{"input":[3,5,6],"tlp":["enh",22040],"trp":["he",69162],"trw":["he",710],"lp":["enh","eni","enin","ein","enie"],"rp":["he","nhe","ien","hei","nei","nenh","nhei","ine","inhe","nie","hen","nnie","hy","hine","hie"]},"53":{"input":[1,3,5,6],"tlp":["zen",6089],"trp":["izen",1523],"tlw":["annie",302],"lp":["zen","anei","enha","azen","anhe","eina","anie","ezen","xin","xinh"],"rp":["izen","nze","heia","inze","ixan","hae","nzen","hay","ixin","hea"]},"54":{"input":[2,3,5,6],"tlp":["senh",8286],"trp":["ind",27747],"tlw":["she",187],"trw":["keynes",525],"lp":["senh","din","endi","dinh","ensi","eij"],"rp":["ind","ndi","iden","nid","indi","jei","hes","nsid","ndid","nsei","inde","hesi","ines","hid"]},"55":{"input":[1,2,3,5,6],"tlw":["ainda",11235],"trw":["had",467],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["tin",38604],"trp":["nti",28083],"tlw":["bit",131],"lp":["tin","tinh","bi","th","vin","bit","vinh","bin"],"rp":["nti","int","nv","ntin","ib","niv","inv","nit","nvi","ith","ibi","ht"]},"57":{"input":[1,4,5,6],"tlp":["abi",11269],"trp":["hav",21186],"tlw":["tinha",19974],"trw":["havia",12654],"lp":["abi","fin","bai","van","bia","fina","abia","anti","vant"],"rp":["hav","havi","inf","iant","nfi","hava","nif","nav","ntia","inta","nifi"]},"58":{"input":[2,4,5,6],"tlp":["ch",51196],"trp":["nci",30934],"tlw":["this",245],"trw":["nick",345],"lp":["ch","cin","stin","cinc","chi","sint","sib"],"rp":["nci","inc","nic","hist","inci","inst","inic","nici","nist","nsci","nch","nsti","ich"]},"59":{"input":[1,2,4,5,6],"tlw":["sabia",4759],"trw":["jack",1117],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["enti",15708],"trp":["inte",16818],"tlw":["the",5095],"trw":["neve",796],"lp":["enti","bri","rin","ven","the","tenh","vent","vern","env"],"rp":["inte","her","ient","nve","heir","ntei","neir","nver","here","nive","ntir"]},"61":{"input":[1,3,4,5,6],"tlw":["tenha",2165],"trw":["haver",852],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["sentir",1575],"trw":["interesse",884],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["diante",2499],"trw":["instante",1219],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",2403],"trw":["o",225240],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",290064],"trp":["oa",20855],"tlw":["ao",31621],"lp":["ao","aao"],"rp":["oa","oao"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",163724],"trp":["os",421052],"tlw":["so",11721],"trw":["os",73145],"lp":["so","sso","sos","ssos","soo"],"rp":["os","oss","osso","oso","osos","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["sao",23278],"trp":["oas",8168],"tlw":["sao",10362],"lp":["sao","soa","aos","ssoa","soas","aso","ssao","asso","wo","asos","woo","asao"],"rp":["oas","ossa","osa","ow","osas","osao","owa","osw"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",6725],"trp":["oe",22866],"trw":["-",58877],"lp":["eo","e-","e-o"],"rp":["oe","o-","-e","-o","o-e"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",11510],"trp":["ox",5327],"trw":["-a",77],"lp":["xo","a-","exo","xao","eao","xoe","exao","xa-","xe-","e-a","axo","axoe","exoe","ao-","a-a"],"rp":["ox","-a","oxa","oxo","-a-"]},"70":{"input":[2,3,7],"tlp":["do",416137],"trp":["od",73365],"tlw":["do",90461],"trw":["-se",74],"lp":["do","dos","esso","edo","eso","dedo","edos","soe","soes","doe","do-"],"rp":["od","ode","odo","oes","-s","-se","odos","osse","ose"]},"71":{"input":[1,2,3,7],"tlp":["ado",79015],"trp":["oda",11723],"tlw":["dado",976],"lp":["ado","ados","dado","sado","dao","a-s","a-se","xado","sexo","eado","xos","da-","dosa","adao","xoes","exos"],"rp":["oda","odas","oeda","owe"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",290254],"trp":["ot",25787],"tlw":["to",1894],"lp":["to","go","tot","tto","got","tog","gt","gto","too","gg","goo"],"rp":["ot","og","ogo","oto","ott","otto","otog","ogg"]},"73":{"input":[1,4,7],"tlp":["fo",73193],"trp":["of",13544],"tlw":["tao",9962],"trw":["of",1931],"lp":["fo","ga","ag","tao","ago","ato","aga","fato","fog","tota","gat","fogo","fot","foto","gao","tag","tato"],"rp":["of","ota","oga"]},"74":{"input":[2,4,7],"tlp":["co",405580],"trp":["oc",76923],"tlw":["gosto",1191],"lp":["co","sto","tos","cos","sco","gos","gost","cost","soc","toc","stos","cto","goc","coc","scoc","coco"],"rp":["oc","ost","osto","oco"]},"75":{"input":[1,2,4,7],"tlp":["cao",52031],"trp":["oca",15079],"tlw":["caso",3450],"lp":["cao","acao","aco","fos","foss","stao","caso","gas","sag","acos","sof","atos","sfo","saco","toca","asto"],"rp":["oca","osta","ocas","otas"]},"76":{"input":[3,4,7],"tlp":["ro",189615],"trp":["or",300995],"tlw":["george",652],"trw":["or",278],"lp":["ro","eg","ge","tro","gr","rg","tor","rto","erg","gor","ero","rro","eto","erto"],"rp":["or","ort","orr","ore","orre","orte"]},"77":{"input":[1,3,4,7],"tlp":["for",35880],"trp":["ora",47672],"tlw":["agora",9502],"trw":["ora",1045],"lp":["for","gar","gra","ega","age","aro","fora","agor","gora","arg","egar","rof","arro","rox","rao","rga","fort","agr"],"rp":["ora","orta"]},"78":{"input":[2,3,4,7],"tlp":["ros",31755],"trp":["oce",38021],"tlw":["todos",10399],"lp":["ros","cor","tod","seg","todo","dor","esco","eco","coe","coes","corr","esto","tros","sor","roc"],"rp":["oce","ord","oder","ores","orc"]},"79":{"input":[1,2,3,4,7],"tlw":["fosse",5405],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["ou",187963],"trw":["no",51404],"lp":[],"rp":["ou","no","on","un","nu","nun","nou","ono","uo","nuo","uou","nuou","onn","uno","onou","oou","oun","non","oon","unn"]},"81":{"input":[1,5,7],"tlp":["qu",415783],"trp":["ua",141069],"tlw":["ano",2467],"trw":["nao",106447],"lp":["qu","qua","quan","aqu","ano","au","anu","anqu"],"rp":["ua","nao","uan","nqu","ona","nqua","naqu","nua","una","oq","oqu","uq"]},"82":{"input":[2,5,7],"tlp":["su",74848],"trp":["us",60120],"tlw":["sou",2630],"trw":["nos",20778],"lp":["su","sou","son","ssu","sus","ssou","sun"],"rp":["us","nos","ons","jo","ju","noss","uns","oj","jun","nso","uj","uso","nsou"]},"83":{"input":[1,2,5,7],"tlp":["sua",42963],"trp":["uas",22607],"tlw":["sua",31618],"trw":["nossa",3352],"lp":["sua","anos","suas","quas","squ","aus","ausa","aju","assu","sau"],"rp":["uas","usa","nsao","joa","uja","usan","oja","joao","usao","onsa"]},"84":{"input":[3,5,7],"tlp":["eu",147300],"trp":["ue",347032],"tlw":["eu",43591],"trw":["you",709],"lp":["eu","eno","eun","eon","eu-","enou"],"rp":["ue","uen","u-","one","ou-","ueno","n-","yo","oen","you","ueu","nou-","nue","-n"]},"85":{"input":[1,3,5,7],"tlp":["que",325065],"trp":["ux",2970],"tlw":["que",242225],"trw":["-nao",146],"lp":["que","aque","equ","quen","eque","enqu","xou","xu","exu","xua","exua"],"rp":["ux","uena","nque","uxa","oque","uxo","oux","uxe","ouxe"]},"86":{"input":[2,3,5,7],"tlp":["seu",45915],"trp":["ndo",102634],"tlw":["seu",30091],"trw":["onde",9124],"lp":["seu","eus","du","endo","deu","seus","enos","deus"],"rp":["ndo","ud","ond","und","onde","udo","undo","onse","ude","u-s","u-se","ndeu"]},"87":{"input":[1,2,3,5,7],"tlw":["quando",23534],"trw":["usando",884],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["gu",87969],"trp":["nto",82230],"tlw":["tu",788],"trw":["notou",383],"lp":["gu","tu","bo","tou","gun","gunt"],"rp":["nto","ont","ut","ob","ng","out","unt","ntou","ug","ub","unto","ngu","uto","ong"]},"89":{"input":[1,4,5,7],"tlp":["anto",26539],"trp":["uant",14606],"tlw":["quanto",4990],"trw":["nota",549],"lp":["anto","fu","gua","gan","fun","atu","tua","ang","agu","agua","fon","abo"],"rp":["uant","onta","ntao","uga","uta","onf","unta","nfo"]},"90":{"input":[2,4,5,7],"tlp":["con",88877],"trp":["uc",20930],"tlw":["sob",2880],"trw":["junto",1728],"lp":["con","cu","cont","cons","sob","cou","scu","stou","cob","guns"],"rp":["uc","nco","ntos","ouc","uco","unc","ouco","ncon","ocu","nunc"]},"91":{"input":[1,2,4,5,7],"tlw":["boca",2277],"trw":["nunca",7198],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ento",36495],"trp":["ur",58598],"tlw":["gente",3137],"trw":["outro",7994],"lp":["ento","egu","ru","gue","rou","tur","rgu","gen","ergu"],"rp":["ur","uer","obr","utr","outr","obre","ontr","utro","onte","ntro","uro"]},"93":{"input":[1,3,4,5,7],"tlw":["entao",11118],"trw":["outra",6635],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["sobre",14110],"trw":["outros",5996],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["grande",7378],"trw":["outras",3514],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["io",92146],"trw":["l",496],"lp":[],"rp":["io","lo","ol","li","oi","il","ili","olo","oli","ll","ilo","ill","lio","iol","oll","oio","lli","ilio","loo","illi"]},"97":{"input":[1,6,7],"tlp":["al",200651],"trp":["la",162745],"tlw":["ali",4130],"trw":["la",8495],"lp":["al","ala","ali","aio","alo","zo","alia","zao","azao"],"rp":["la","oz","lia","ial","ola","liz","iao","ilia","ozi","ila","liza"]},"98":{"input":[2,6,7],"tlp":["sol",10331],"trp":["ois",42788],"tlw":["sol",2060],"trw":["isso",18569],"lp":["sol","sil","sio","sl","ssio","soli","solo"],"rp":["ois","isso","ios","los","iso","ossi","osi","ls","lis","lso","ioso","ols","ok"]},"99":{"input":[1,2,6,7],"tlp":["sal",8453],"trp":["oisa",15190],"tlw":["sala",3032],"trw":["las",303],"lp":["sal","sala","asil","wil","will","soz","sozi","soal","alis","alos","alas","als"],"rp":["oisa","las","isao","iosa","lass","lias","lsa","olsa"]},"100":{"input":[3,6,7],"tlp":["el",253859],"trp":["le",167939],"tlw":["ele",53580],"trw":["lei",1081],"lp":["el","ele","elo","eio","eli","e-l","e-lo","ell"],"rp":["le","lei","ole","-l","ile","-lo","leo","lie","ioe","ilei","oel","iole"]},"101":{"input":[1,3,6,7],"tlp":["ela",75025],"trp":["ixo",8660],"tlw":["ela",31605],"trw":["lixo",278],"lp":["ela","ale","eal","aixo","eliz","eixo","eali","a-l","alei","ael","a-lo"],"rp":["ixo","oxi","lex","oze","-la","lez","leza","ia-","lea"]},"102":{"input":[2,3,6,7],"tlp":["del",18683],"trp":["ido",37514],"tlw":["eles",10957],"trw":["ido",578],"lp":["del","eles","dele","doi","dois","elos","sido","dio","dido","sile","sel","dol"],"rp":["ido","les","odi","lid","ld","idos","ilid","old"]},"103":{"input":[1,2,3,6,7],"tlw":["dela",4626],"trw":["lado",7350],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",89842],"trp":["ito",55627],"tlw":["tio",740],"trw":["logo",3653],"lp":["vo","gi","vol","volt"],"rp":["ito","ig","lt","ov","lg","igo","olt","lv","oit","ovo","lto","liv","log","ivo","lig","lti"]},"105":{"input":[1,4,6,7],"tlp":["alg",28147],"trp":["lta",14607],"tlw":["foi",19254],"lp":["alg","tal","foi","fal","alt","fil","fala","alv","val","agi","alav","talv","fl","voz","gia"],"rp":["lta","iga","ova","olta","lav"]},"106":{"input":[2,4,6,7],"tlp":["voc",35885],"trp":["ico",23673],"tlw":["visto",1856],"trw":["isto",3322],"lp":["voc","coi","cio","cois","cl","col","vos","cil","colo","sig","scol"],"rp":["ico","lic","isto","itos","oci","loc","igos","icio","lc"]},"107":{"input":[1,2,4,6,7],"tlw":["coisa",9623],"trw":["local",1110],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rio",30701],"trp":["iro",27990],"tlw":["rio",2083],"trw":["livro",2336],"lp":["rio","vel","eiro","eito","tori","rel","rig","erio","tel","rito","rov"],"rp":["iro","ori","ior","lev","ove","lve","ivel","oite","orri"]},"109":{"input":[1,3,4,6,7],"tlw":["talvez",5564],"trw":["levar",1384],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["voce",31586],"trw":["livros",1191],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["claro",3392],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ho",111008],"trw":["olhou",3514],"lp":[],"rp":["ho","lh","ui","ul","lho","nho","olh","iu","lu","ilh","olho","onh","hu","uni","ulh","inu","ulo","lin","hou","ino"]},"113":{"input":[1,5,6,7],"tlp":["qui",23334],"trp":["lha",27941],"tlw":["aqui",6587],"trw":["luz",3303],"lp":["qui","qual","alh","aqui","alq","alqu","alha"],"rp":["lha","ual","lan","nal","olha","uz","lq","lqu","ualq","ilha","inal","iona","ula"]},"114":{"input":[2,5,6,7],"tlp":["sul",3044],"trp":["hos",17929],"tlw":["sonhos",1378],"trw":["olhos",8588],"lp":["sul","sonh","sion","solu","sui","sino"],"rp":["hos","lhos","uis","onsi","nhos","hoj","usi","ulos","lus","jul","inos","ijo","ku","loj"]},"115":{"input":[1,2,5,6,7],"tlw":["quais",1786],"trw":["loja",754],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["elh",18680],"trp":["lhe",25233],"trw":["lhe",9996],"lp":["elh","elho","enho","enhu","elen"],"rp":["lhe","uel","len","uele","onhe","ulhe","nel","uei","olhe","in-","ilen","ly","-lh","-lhe","nele"]},"117":{"input":[1,3,5,6,7],"tlw":["aquele",3696],"trw":["naquele",1801],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["disse-lhe",457],"trw":["hoje",2804],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["aqueles",1766],"trw":["olhando",2030],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["gui",16504],"trp":["uit",26642],"tlw":["vou",3725],"trw":["novo",4638],"lp":["gui","bl","gin"],"rp":["uit","lgu","uito","uv","nov","ing","ouv","ult","uvi","itu","ouvi","noit","lug","ingu","onti","long","onv"]},"121":{"input":[1,4,5,6,7],"tlw":["filho",2705],"trw":["nova",2638],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["cinco",2400],"trw":["unico",1538],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["alguns",5675],"trw":["unica",1846],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["tenho",3664],"trw":["noite",6059],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["qualquer",7063],"trw":["lugar",5157],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["senhor",5213],"trw":["jeito",1631],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["fazendo",2599],"trw":["historia",3341],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",1293],"trw":["p",1742],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",54655],"trp":["pa",230757],"trw":["papa",278],"lp":["ap","apa","app"],"rp":["pa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",45986],"trp":["ps",1182],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",5532],"trp":["pas",19597],"trw":["passa",679],"lp":["spa","sap","sapa","asp","apas","aps","ssap"],"rp":["pas","pass"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",29704],"trp":["pe",179445],"trw":["pe",2387],"lp":["ep","epe","e'"],"rp":["pe","pee","''"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",14035],"trp":["pape",2221],"lp":["ape","xp","exp","epa","xpe","expe","xpa","expa","a'"],"rp":["pape","'a","pea","px"]},"134":{"input":[2,3,8],"tlp":["esp",37689],"trp":["pes",22163],"trw":["pes",1833],"lp":["esp","spe","espe","dep","depe","sep","desp","sesp","sped","spes","d'","eps","ssep"],"rp":["pes","pess","ped","pede","pd","'s","'d"]},"135":{"input":[1,2,3,8],"tlp":["espa",4992],"trp":["pad",5872],"tlw":["espada",1207],"trw":["pesada",361],"lp":["espa","apes","esap","spad","aspe","sepa","depa","d'a","xped","epas","spea","spx","aspx"],"rp":["pad","pesa","pada","peda","pade"]},"136":{"input":[4,8],"tlp":["tp",287],"trp":["pt",3485],"trw":["pt",2780],"lp":["tp","ttp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apat",596],"trp":["pat",2789],"tlw":["tapa",93],"lp":["apat","tap","apt","tapa","apta"],"rp":["pat","pata","pta"]},"138":{"input":[2,4,8],"trp":["pc",1162],"lp":[],"rp":["pc"]},"139":{"input":[1,2,4,8],"tlp":["cap",9324],"trp":["pac",6453],"tlw":["capa",572],"trw":["pasta",248],"lp":["cap","capa","spac","apac","scap","capt"],"rp":["pac","pca","paca","past","pact","patc"]},"140":{"input":[3,4,8],"tlp":["rep",8013],"trp":["pr",132035],"trw":["peter",441],"lp":["rep","rp","repe","rpr","rpre","epr","epre","epet","repr","erp"],"rp":["pr","per","pre","pert","pet","pret","pree","prep","pete","pere"]},"141":{"input":[1,3,4,8],"tlp":["apar",7369],"trp":["par",142915],"tlw":["tapete",247],"trw":["para",95245],"lp":["apar","apr","rap","apre","epar","rapa","xper","repa","xpr","expr","xpre","aper"],"rp":["par","para","pare","part","pra","pera","prat","perf"]},"142":{"input":[2,3,4,8],"tlp":["resp",11738],"trp":["pres",18252],"tlw":["espere",312],"trw":["perder",886],"lp":["resp","sper","spec","depr","cep","epc","cepc","spet","rsp"],"rp":["pres","prec","pec","perd","perc","pedr","pect","pers","pesc","pred","pest"]},"143":{"input":[1,2,3,4,8],"tlw":["apesar",1985],"trw":["parece",2731],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mp",67484],"trw":["m",1887],"lp":[],"rp":["mp","mm","pn","mn","nm"]},"145":{"input":[1,5,8],"tlp":["am",185140],"trp":["ma",359934],"tlw":["ama",422],"trw":["ma",502],"lp":["am","ama","amp","aman","ampa","apan"],"rp":["ma","man","mpa","pan","mana","mpan","nam","mam","maq","pam","mama","map","mapa","nama"]},"146":{"input":[2,5,8],"tlp":["sm",24615],"trp":["nsp",908],"lp":["sm"],"rp":["nsp","nsm","ms"]},"147":{"input":[1,2,5,8],"tlp":["sam",7995],"trp":["mas",58930],"tlw":["sam",195],"trw":["mas",44387],"lp":["sam","sma","span","asam","asm","ssam","amas","smas","asma","ansp","ansm"],"rp":["mas","jam","nsam","jama","mass","jap","maj","mans","mpas"]},"148":{"input":[3,5,8],"tlp":["em",283802],"trp":["me",270378],"tlw":["em",82946],"trw":["me",23412],"lp":["em","emp","eme","emen","epen","empe","emm","eem"],"rp":["me","men","pen","mem","nem","mpe","my","mpen","n'","mmy","pene","ym"]},"149":{"input":[1,3,5,8],"tlp":["ame",42844],"trp":["pena",8675],"tlw":["emma",305],"trw":["mae",5046],"lp":["ame","amen","ema","apen","eman","xem","exem","xemp","xam","exam"],"rp":["pena","mae","peq","mane","name","mea","mame","max","pame","nema"]},"150":{"input":[2,3,5,8],"tlp":["sem",29109],"trp":["mes",30950],"tlw":["sem",13046],"trw":["meses",1641],"lp":["sem","esm","dem","semp","ssem","dm","sme","esme","smen","seme"],"rp":["mes","mesm","pens","med","mens","pend","mese","mend","ndep","mped"]},"151":{"input":[1,2,3,5,8],"tlw":["apenas",7324],"trw":["mesma",4037],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",964],"trp":["mb",32610],"lp":["tm","bm"],"rp":["mb"]},"153":{"input":[1,4,5,8],"tlp":["tam",28816],"trp":["mat",4959],"tlw":["fama",211],"trw":["matt",334],"lp":["tam","amb","tamb","fam","atam","tama","amba","tamp","bam","abam","atm"],"rp":["mat","mant","mba","ntam","mata","pant","mbat","mpat","matt"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",156],"trp":["mc",119],"tlw":["cm",85],"lp":["cm","cmm"],"rp":["mc","mcc"]},"155":{"input":[1,2,4,5,8],"tlw":["cama",2189],"trw":["maca",202],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",41396],"trp":["ment",85913],"tlw":["bem",13447],"trw":["mente",2130],"lp":["rm","tem","bem","temp","emb","rem","empr","erm","rme","embr","term"],"rp":["ment","mpr","mpre","mer","mbr","mbe","mbem","met","ntem"]},"157":{"input":[1,3,4,5,8],"tlw":["tambem",10764],"trw":["mar",1598],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["sempre",8109],"trw":["presente",1043],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["certamente",1039],"trw":["pensar",2492],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",24405],"lp":[],"rp":["pi","ip","ipi","pip","ppi","ipp","pipp","ippi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",7700],"trp":["pai",11844],"trw":["pai",5571],"lp":["api","apaz","apai","zap","apia","zip"],"rp":["pai","paz","ipa","pia","ipai","piz","pizz","pazz"]},"162":{"input":[2,6,8],"tlp":["spi",5606],"trp":["isp",2854],"lp":["spi","sip","ssip"],"rp":["isp","pis","psi"]},"163":{"input":[1,2,6,8],"tlp":["apis",171],"trp":["pais",4098],"trw":["pais",2931],"lp":["apis","spia"],"rp":["pais","ispa","pisa","pias"]},"164":{"input":[3,6,8],"tlp":["epi",511],"trp":["pei",5264],"lp":["epi"],"rp":["pei","ipe","i'","pie","pipe"]},"165":{"input":[1,3,6,8],"tlp":["apei",323],"trp":["paix",1055],"trw":["peixe",323],"lp":["apei","a'z","a'za","zipe"],"rp":["paix","paze","peix","pez","peza","'z","'za","peia"]},"166":{"input":[2,3,6,8],"tlp":["espi",3719],"trp":["pedi",4130],"trw":["pedi",235],"lp":["espi","spei","disp","epis"],"rp":["pedi","pid","pide","peis","pied","ipes","i'd","ispe","kesp"]},"167":{"input":[1,2,3,6,8],"tlw":["despedida",129],"trw":["paises",490],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",3741],"trp":["pit",4493],"lp":["tip","tipi"],"rp":["pit"]},"169":{"input":[1,4,6,8],"tlp":["apit",3841],"trp":["pita",2323],"lp":["apit","vap","apav"],"rp":["pita","pati","pav","pava","pavi"]},"170":{"input":[2,4,6,8],"tlp":["cip",5141],"trp":["pist",660],"lp":["cip","cipi","spit","scip"],"rp":["pist","pisc","psic","icip","pic","ipic","ipc","pci","ipci"]},"171":{"input":[1,2,4,6,8],"tlw":["capaz",1624],"trw":["passava",922],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",238],"trp":["pri",25730],"tlw":["repetir",222],"trw":["piper",124],"lp":["rip","trip","repi","tepi","epit"],"rp":["pri","peri","pir","peit","piri","peti","prie","priv","prev","pire","prir","iper","it'","prei","ptei"]},"173":{"input":[1,3,4,6,8],"tlw":["rapaz",1561],"trw":["partir",1512],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["especie",1783],"trw":["pedir",815],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["esperava",1003],"trw":["parecia",5095],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["im",105296],"trw":["mim",6113],"lp":[],"rp":["im","mi","min","minh","imp","mim","nim","imi","mini","pin","ph","inim","nimi","pini","imin","mpi","hip","phi","imm","him"]},"177":{"input":[1,5,6,8],"tlp":["ami",18005],"trp":["mai",54885],"tlw":["amanha",798],"trw":["minha",12630],"lp":["ami","amin","anim","amai","ziam","aph"],"rp":["mai","ima","iam","ham","nham","mina","manh","hama","panh","nima","mia","impa","inam","imai"]},"178":{"input":[2,5,6,8],"tlp":["sim",20054],"trp":["mis",5228],"tlw":["sim",4845],"trw":["jim",693],"lp":["sim","ssim","simp","smi","spin","smis","sism","simi"],"rp":["mis","miss","jim","ism","mik","nism","insp","jimm","nspi","nsmi","mins","mk"]},"179":{"input":[1,2,5,6,8],"tlw":["assim",9572],"trw":["mais",42140],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",2072],"trp":["ime",24625],"trw":["i'm",90],"lp":["emi","eph","emin","eim"],"rp":["ime","mei","imen","imei","meni","impe","inem","penh","immy","hem","mine","ymi","mie","peni","phie","pime"]},"181":{"input":[1,3,5,6,8],"trw":["menina",1204],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["seph",283],"trw":["pensei",1244],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["demais",2703],"trw":["medida",966],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",10629],"trp":["mit",5096],"tlw":["vim",252],"trw":["http",287],"lp":["tim","vim","timi","thm","bmi"],"rp":["mit","ntim","miti","imit","mbi","itim","imb","pint","itm","mbin","htm","http","mith","mint","himb"]},"185":{"input":[1,4,5,6,8],"tlw":["tinham",4868],"trw":["haviam",2041],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",280],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["cima",3152],"trw":["incapaz",367],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["vem",1339],"trw":["permitir",306],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["fazem",993],"trw":["primeira",3896],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["devem",852],"trw":["presidente",1153],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["estavam",5892],"trw":["imediatamente",1406],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",224923],"trw":["po",410],"lp":[],"rp":["po","op","opo","pop","opp","oop"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",6185],"trp":["opa",1837],"trw":["pao",557],"lp":["apo","apao"],"rp":["opa","pao","papo","popa"]},"194":{"input":[2,7,8],"tlp":["spo",12061],"trp":["pos",28599],"trw":["posso",2774],"lp":["spo","spos","sop"],"rp":["pos","poss","opos","osp","pso","poso"]},"195":{"input":[1,2,7,8],"tlp":["apos",2721],"trp":["posa",1096],"tlw":["apos",1872],"trw":["passo",1318],"lp":["apos","sapo","sopa","apso"],"rp":["posa","opas","pow"]},"196":{"input":[3,7,8],"tlp":["epo",16405],"trp":["ope",1755],"trw":["poe",134],"lp":["epo","eop","eopo","e-p"],"rp":["ope","poe","o'","peo","peop","-p","oope"]},"197":{"input":[1,3,7,8],"tlp":["xpo",537],"trp":["peao",87],"lp":["xpo","expo"],"rp":["peao"]},"198":{"input":[2,3,7,8],"tlp":["depo",14313],"trp":["pod",31617],"tlw":["espesso",79],"trw":["pode",9510],"lp":["depo","espo","epos","spoe"],"rp":["pod","pode","peso","pose","ospe","pos-","poes","osep","opes"]},"199":{"input":[1,2,3,7,8],"tlw":["esposa",847],"trw":["pessoas",7432],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1854],"trp":["pot",800],"tlw":["topo",438],"lp":["top","topo"],"rp":["pot","opt","pg","pto","ptop"]},"201":{"input":[1,4,7,8],"tlp":["apag",291],"trp":["pag",4975],"trw":["pag",402],"lp":["apag","apg","apto"],"rp":["pag","paga","pato","pago","opag","opat"]},"202":{"input":[2,4,7,8],"tlp":["cop",1332],"trp":["post",6329],"tlw":["copo",522],"trw":["posto",634],"lp":["cop","copo","copt","coop"],"rp":["post","poc","poco","opc","pco","opco","pgc","pgcs"]},"203":{"input":[1,2,4,7,8],"tlw":["sapatos",482],"trw":["opcao",191],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",10909],"trp":["por",83084],"tlw":["reporter",133],"trw":["por",51332],"lp":["rop","ropr","rpo","ropo"],"rp":["por","pro","port","perg","prop","opr","orp","orpo","peg","pore","preo","preg","pero","opor","pego","prot"]},"205":{"input":[1,3,4,7,8],"tlw":["aeroporto",244],"trw":["porta",4885],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["corpo",3692],"trw":["poder",3010],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["resposta",1706],"trw":["professor",1075],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["um",243291],"trw":["um",108193],"lp":[],"rp":["um","om","mo","mu","omo","mpo","omp","pu","num","pon","up","pou","mun","mon","nom","mom","upo","mou","omu","oup"]},"209":{"input":[1,5,7,8],"tlp":["amo",18697],"trp":["uma",107111],"tlw":["amo",321],"trw":["uma",83293],"lp":["amo","ampo","apon","amou","aum"],"rp":["uma","mao","oma","upa","numa","ompa","uman","oman","pau","mano","oupa","onam","maqu","mau","namo"]},"210":{"input":[2,5,7,8],"tlp":["smo",16965],"trp":["mos",29583],"tlw":["som",1252],"trw":["pousou",166],"lp":["smo","spon","som","sup","susp","sum","supo","somo","smos","ssum","spu"],"rp":["mos","mpos","mus","usp","omos","mons","pons","upos","pous"]},"211":{"input":[1,2,5,7,8],"tlw":["soma",177],"trw":["maos",4073],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emo",14088],"trp":["ome",42557],"trw":["meu",13196],"lp":["emo","empo","emon"],"rp":["ome","meu","uem","omen","meno","omem","ume","mome","nome","nume","upe","umen","-m","-me","ompe","peu","memo"]},"213":{"input":[1,3,5,7,8],"tlw":["quem",7441],"trw":["pequeno",2129],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"trw":["mesmo",14794],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["damon",277],"trw":["pensando",1275],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["gum",14061],"trp":["mbo",6406],"tlw":["bom",4344],"trw":["ponto",2616],"lp":["gum","tom","bom","tum","ttom","tomo","tmo","gm"],"rp":["mbo","pont","omb","mot","mont","pub","put","pob","mput","moto","umb","utom"]},"217":{"input":[1,4,5,7,8],"tlw":["apontou",487],"trw":["ponta",807],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["com",79743],"trw":["pouco",7236],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["campo",1321],"trw":["moca",1091],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["tempo",10746],"trw":["momento",4691],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forma",4643],"trw":["porque",9040],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["comecou",3483],"trw":["ombros",1499],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["estamos",1849],"trw":["pensamentos",1108],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",22248],"trw":["polo",95],"lp":[],"rp":["pl","poi","pol","pli","ipo","plo","poli","lp","pio","opi","ipio","pil","olp","ppl","poio","lop","pilo","ipl","lip","ipli"]},"225":{"input":[1,6,7,8],"tlp":["apoi",894],"trp":["pal",9950],"tlw":["apoio",472],"trw":["paola",89],"lp":["apoi","alp","appl","apl","apli","apol","apla","alpa"],"rp":["pal","pla","pala","ipal","lpa","pali","lap","poia","opia","pila","lapi","palp"]},"226":{"input":[2,6,7,8],"tlp":["spio",144],"trp":["pois",18374],"trw":["pois",4416],"lp":["spio","spl"],"rp":["pois","posi","ispo","plos","ospi","piso","ipos","pios","psl"]},"227":{"input":[1,2,6,7,8],"trw":["lapis",171],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["epoi",14052],"trp":["pel",32898],"trw":["pelo",11997],"lp":["epoi","epl","epli","elop","elip","eple"],"rp":["pel","pelo","ple","pele","lpe","olpe","pple","pole","lope","poei","lipe","leop","l'","peli"]},"229":{"input":[1,3,6,7,8],"tlw":["apple",759],"trw":["pela",10602],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["depois",13958],"trw":["pelos",3503],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["explosao",225],"trw":["podia",5600],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tipo",3460],"trp":["pov",1630],"tlw":["tipo",3053],"trw":["povo",1274],"lp":["tipo","golp","gip","tipl"],"rp":["pov","povo","ipot","polt","pito","polv","pig","ltip"]},"233":{"input":[1,4,6,7,8],"tlw":["galpao",98],"trw":["patio",409],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["tipos",407],"trw":["politico",317],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["capitao",887],"trw":["policia",1169],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["golpe",619],"trw":["proprio",2614],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"trw":["propria",2409],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["respeito",2148],"trw":["possivel",2464],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["rapido",1145],"trw":["poderia",4184],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["mui",26105],"trw":["mil",1923],"lp":[],"rp":["mui","lm","hom","mpl","mil","hum","mul","imo","mulh","omi","impo","nhum","mili","impl","lim","minu","ompl","pul","mplo","umi"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["alma",1095],"trw":["mal",2849],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["suponho",319],"trw":["possui",298],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["almas",218],"trw":["humanos",876],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["elmo",138],"trw":["homem",8542],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["alem",3586],"trw":["nenhuma",2224],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["simples",1787],"trw":["homens",5348],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["zaphod",507],"trw":["podiam",1009],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["tumulo",138],"trw":["muito",18767],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["alguma",5734],"trw":["ultima",1690],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["comigo",1864],"trw":["muitos",2820],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["algumas",3503],"trw":["muitas",2792],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["vermelho",829],"trw":["melhor",5197],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["alguem",4202],"trw":["maior",3758],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["simplesmente",1695],"trw":["mulheres",2796],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["completamente",1313],"trw":["marido",1424],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",311],"tlw":["a",279974],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",199930],"tlw":["s",1267],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",403955],"tlw":["as",56128],"lp":["as","sa","ssa","ass","sas","asa","assa","ssas","wa","was","ww","sass","asas","www","aw","awa","sw","swa","ws"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",4232],"tlw":["e",282983],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ex",35539],"tlw":["x",299],"lp":["ex","xa","ea","ae","xe","exe","exa","ax","axa","xx"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",603738],"tlw":["de",316379],"lp":["de","es","se","ess","sse","des","ed","esse","ese","ses","dess","dese","ede","eses","sses","sd","esd","sde","desd","esde"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",290653],"tlw":["da",79087],"lp":["da","ad","ade","ada","dad","dade","das","essa","esa","ase","sad","asse","eda","ades","adas","ssad","desa","edad","sada","sex"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",2738],"tlw":["t",692],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",336586],"tlw":["ta",503],"lp":["ta","at","fa","ata","af","fat","tat","afa","ff","ft","att","tata","taf","atat","ataf","tf","fata","aft","tfa","tta"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",220589],"tlw":["c",936],"lp":["st","sc","ct","tc","cc","ts","cs"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",291876],"tlw":["casa",8888],"lp":["ca","sta","ac","aca","cas","tas","casa","ast","fac","stas","sca","tac","asta","sf","cac","sac","taca","caca","asc","fas"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",412432],"tlw":["ter",11405],"lp":["er","te","re","tr","rt","ter","rr","et","tre","ere","ert","rte","err","rre","ret","terr","ete","etr","rer","tere"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ra",489515],"tlw":["era",37427],"lp":["ra","ar","ara","era","tra","fe","tar","are","rta","ate","art","rar","fr","eta","ef","rra","atr","fer","arr","rat"],"rp":[]},"14":{"input":[2,3,4],"tlp":["est",130667],"tlw":["ser",18726],"lp":["est","ce","ec","res","ser","rec","rd","cr","esc","tes","ece","ste","rc","der","cer","str","erd","este","rece","ces"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["esta",82829],"tlw":["esta",19307],"lp":["esta","car","ras","eca","cad","tad","rac","rad","sar","arec","rda","dar","tras","raca","cada","erda","ard","star","stra","rca"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",5010],"trw":["n",1260],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",281535],"trp":["na",264338],"tlw":["q",346],"trw":["na",47469],"lp":["an","aq","ana","ann","anq","anna","anan","aan"],"rp":["na","nq","naq","nan","nna"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",220],"trp":["ns",77600],"trw":["j",385],"lp":["sn","sj"],"rp":["ns","nj"]},"19":{"input":[1,2,5],"tlp":["san",8808],"trp":["ja",39162],"tlw":["san",234],"trw":["ja",13037],"lp":["san","ans","aj","sq","ssan","ansa","anas","anj","aja","anja","ajan","wn"],"rp":["ja","nas","nsa","jan","nsan","jas","nja","nsas"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",399933],"trp":["ne",63763],"tlw":["en",763],"trw":["y",1207],"lp":["en","ene","een","ey","enn","enny","eyn","eyne","enen","enne"],"rp":["ne","nen","ny","nny","yn","yne","ney","nne","ye","ynn"]},"21":{"input":[1,3,5],"tlp":["ena",18156],"trp":["ya",615],"tlw":["any",171],"lp":["ena","ane","eq","enq","xan","ay","ean","anny","anea","enx","aen","any","enxe","anen"],"rp":["ya","nea","nx","nxe","nex","nexa"]},"22":{"input":[2,3,5],"tlp":["sen",38594],"trp":["nd",184626],"tlw":["eyes",75],"trw":["nesse",1917],"lp":["sen","end","ens","den","ej","ende","sej","esen","esej","send","eend","sens"],"rp":["nd","nde","je","nse","nes","ness","nden","ndes"]},"23":{"input":[1,2,3,5],"tlp":["and",82846],"trp":["nda",26353],"tlw":["seja",3811],"trw":["nada",9040],"lp":["and","ensa","ande","eja","enas","dan","anda","seja","esq","daq","sand","enda","dand","seq"],"rp":["nda","nad","nada","jane","nand","ndan"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",711],"trp":["nt",380933],"tlw":["b",631],"lp":["bt","bb"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ant",80565],"trp":["nta",60116],"tlw":["tanta",767],"lp":["ant","ab","ba","tan","tant","aba","anta","ban","bat","fan","aban","fant","taq","bata","tab"],"rp":["nta","nf","ntan","nat","ntat"]},"26":{"input":[2,4,5],"tlp":["bs",6193],"trp":["nc",98606],"lp":["bs","bj","cn","bst","sb","bsc","bc"],"rp":["nc","nst","nsc","nts"]},"27":{"input":[1,2,4,5],"tlp":["anc",29762],"trp":["nca",33491],"tlw":["tantas",546],"lp":["anc","sab","cab","anca","can","stan","bas","acab","caba","tanc","bast","cant","sant"],"rp":["nca","ntas","ncas","nsta","nac","nsac","nsf"]},"28":{"input":[3,4,5],"tlp":["ent",207420],"trp":["nte",165647],"tlw":["entre",8275],"trw":["net",250],"lp":["ent","ente","be","br","ten","entr","ren","rn","bre","ber","eb","rent","ern","tent","eren"],"rp":["nte","ntr","ntre","nter","nten"]},"29":{"input":[1,3,4,5],"tlp":["ran",42850],"trp":["ntra",17480],"tlw":["frente",4513],"trw":["nate",648],"lp":["ran","ante","enta","abe","bra","rq","rna","rab","tran","trab","raba","bar","rant","aber","abr","rtan","fren"],"rp":["ntra","ntar","nar"]},"30":{"input":[2,3,4,5],"tlp":["enc",39246],"trp":["ntes",21043],"tlw":["entender",1104],"trw":["neste",1524],"lp":["enc","sent","cen","dent","tend","bec","cent","ceb","tenc","rend","cebe","renc","rceb"],"rp":["ntes","nce","nder","ntec","nec","nece","nstr"]},"31":{"input":[1,2,3,4,5],"tlw":["antes",8436],"trw":["jantar",1170],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",1421],"trw":["i",2965],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",127585],"trp":["ia",229190],"tlw":["ai",2545],"trw":["ia",3166],"lp":["ai","az","za","zi","zia","azi","azia","aia","aza","zz","aiz","zzi"],"rp":["ia","iz","iza","izi","iai","izia","izz","izzi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",84867],"trp":["is",248469],"tlw":["si",3658],"trw":["is",409],"lp":["si","ssi","sis","ssis","sk","ski"],"rp":["is","iss","isi","ik","ki","issi","iki","ks"]},"35":{"input":[1,2,6],"tlp":["ais",63939],"trp":["isa",27355],"tlw":["saia",685],"lp":["ais","assi","sai","asi","wi","sia","asia","ak","saia","sias","zas","ssia","aisa"],"rp":["isa","ias","isas","issa","ka","iais","ika"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",135404],"trp":["ie",27112],"tlw":["ei",385],"trw":["ie",93],"lp":["ei"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",41552],"trp":["ix",21958],"tlw":["xia",158],"trw":["ix",103],"lp":["ze","ez","aze","xi","eix","aix","eia","eza","eze","eixa","exi","aixa","eixe","axi","ezi","eai"],"rp":["ix","ize","ixa","ixe"]},"38":{"input":[2,3,6],"tlp":["di",149151],"trp":["id",117035],"tlw":["disse",22191],"lp":["di","dis","diss","dei","edi","sid","sei","eis","did","side","esi","essi"],"rp":["id","isse","ide","ise","idi","idei","ke","ied"]},"39":{"input":[1,2,3,6],"tlp":["dia",31205],"trp":["ida",58061],"tlw":["dia",8588],"trw":["ideia",3049],"lp":["dia","diz","deix","zes","dize","ezes","adei","deia","xis","exis","dez","dias","adi","edia","sida","dida"],"rp":["ida","idad","iad","ieda"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",136577],"trp":["it",117311],"tlw":["vi",1966],"trw":["it",901],"lp":["ti","vi","tiv","viv","vit","tit","vivi","tivi","viti","tv","vii","viii","vitt"],"rp":["it","iv","iti","ivi","itiv","itt"]},"41":{"input":[1,4,6],"tlp":["va",136327],"trp":["ita",29811],"tlw":["vai",6210],"lp":["va","av","ava","fi","tav","tava","via","faz","avi","avia","ati","vai","tia","ativ","tiva","afi"],"rp":["ita","if","ifi","iva"]},"42":{"input":[2,4,6],"tlp":["ci",126068],"trp":["ic",96581],"tlw":["civis",136],"lp":["ci","sti","tic","vis","cis","sit","siv","sic","vist","stiv","ssiv","sist","sci","ck","visi"],"rp":["ic","ist","ici","isc","isti"]},"43":{"input":[1,2,4,6],"tlp":["cia",40513],"trp":["ica",47187],"tlw":["vista",1644],"lp":["cia","stav","fic","fica","aci","cav","fici","cava","tica","sav","cisa","cai","sava","sica","vas"],"rp":["ica","ista","ific","icia","itas"]},"44":{"input":[3,4,6],"tlp":["ri",197607],"trp":["ir",123977],"tlw":["ver",6812],"trw":["ir",3642],"lp":["ri","ve","eri","ver","ev","eir","eit","eve","rei","tir","rv","rit","tive","teri","vr","rri"],"rp":["ir","ive","ite","ire"]},"45":{"input":[1,3,4,6],"tlp":["ria",65506],"trp":["ira",34560],"tlw":["vez",10904],"trw":["iria",1476],"lp":["ria","ari","eria","vez","eira","zer","ave","faze","rav","azer","aria","eva","fei","feit","var","arti","rava","eita"],"rp":["ira","izer"]},"46":{"input":[2,3,4,6],"tlp":["eci",33622],"trp":["iste",8299],"tlw":["tivesse",3417],"lp":["eci","vid","ves","reci","cid","cri","dir","dev","cie","ris","esti","tid","vess","ecis","rid","verd","dire","seri","deve"],"rp":["iste"]},"47":{"input":[1,2,3,4,6],"tlw":["estava",26264],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",225142],"trw":["in",1383],"lp":[],"rp":["in","nh","inh","ni","hi","ini","nin","nni","hin","nhi","hn","inin","ninh","hnn"]},"49":{"input":[1,5,6],"tlp":["anh",17458],"trp":["ha",149599],"tlw":["ah",1851],"trw":["ha",7686],"lp":["anh","ain","anha","ani","zin","zinh","ah"],"rp":["ha","nha","inha","ina","ian","han","iq","nia","nz","nina","nai","inz","hia"]},"50":{"input":[2,5,6],"tlp":["sin",6776],"trp":["nsi",8141],"tlw":["sin",78],"trw":["his",425],"lp":["sin","sh","ssin","shi","shin"],"rp":["nsi","ins","his","nis","ij","ji","inis","nsis","insi","nsin","niss","nk","kh","inj","kin"]},"51":{"input":[1,2,5,6],"tlp":["sina",3120],"trp":["has",9127],"tlw":["sinais",487],"trw":["haja",264],"lp":["sina","ansi","wh","ash","ashi","win","sain","anis","wash","siq","ank","wins"],"rp":["has","nhas","inas","nais","iaj","iaja","isq","ija"]},"52":{"input":[3,5,6],"tlp":["enh",22040],"trp":["he",69162],"trw":["he",710],"lp":["enh","eni","enin","ein","enie"],"rp":["he","nhe","ien","hei","nei","nenh","nhei","ine","inhe","nie","hen","nnie","hy","hine","hie"]},"53":{"input":[1,3,5,6],"tlp":["zen",6089],"trp":["izen",1523],"tlw":["annie",302],"lp":["zen","anei","enha","azen","anhe","eina","anie","ezen","xin","xinh"],"rp":["izen","nze","heia","inze","ixan","hae","nzen","hay","ixin","hea"]},"54":{"input":[2,3,5,6],"tlp":["senh",8286],"trp":["ind",27747],"tlw":["she",187],"trw":["keynes",525],"lp":["senh","din","endi","dinh","ensi","eij"],"rp":["ind","ndi","iden","nid","indi","jei","hes","nsid","ndid","nsei","inde","hesi","ines","hid"]},"55":{"input":[1,2,3,5,6],"tlw":["ainda",11235],"trw":["had",467],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["tin",38604],"trp":["nti",28083],"tlw":["bit",131],"lp":["tin","tinh","bi","th","vin","bit","vinh","bin"],"rp":["nti","int","nv","ntin","ib","niv","inv","nit","nvi","ith","ibi","ht"]},"57":{"input":[1,4,5,6],"tlp":["abi",11269],"trp":["hav",21186],"tlw":["tinha",19974],"trw":["havia",12654],"lp":["abi","fin","bai","van","bia","fina","abia","anti","vant"],"rp":["hav","havi","inf","iant","nfi","hava","nif","nav","ntia","inta","nifi"]},"58":{"input":[2,4,5,6],"tlp":["ch",51196],"trp":["nci",30934],"tlw":["this",245],"trw":["nick",345],"lp":["ch","cin","stin","cinc","chi","sint","sib"],"rp":["nci","inc","nic","hist","inci","inst","inic","nici","nist","nsci","nch","nsti","ich"]},"59":{"input":[1,2,4,5,6],"tlw":["sabia",4759],"trw":["jack",1117],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["enti",15708],"trp":["inte",16818],"tlw":["the",5095],"trw":["neve",796],"lp":["enti","bri","rin","ven","the","tenh","vent","vern","env"],"rp":["inte","her","ient","nve","heir","ntei","neir","nver","here","nive","ntir"]},"61":{"input":[1,3,4,5,6],"tlw":["tenha",2165],"trw":["haver",852],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["sentir",1575],"trw":["interesse",884],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["diante",2499],"trw":["instante",1219],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",2403],"trw":["o",225240],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",290064],"trp":["oa",20855],"tlw":["ao",31621],"lp":["ao","aao"],"rp":["oa","oao"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",163724],"trp":["os",421052],"tlw":["so",11721],"trw":["os",73145],"lp":["so","sso","sos","ssos","soo"],"rp":["os","oss","osso","oso","osos","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["sao",23278],"trp":["oas",8168],"tlw":["sao",10362],"lp":["sao","soa","aos","ssoa","soas","aso","ssao","asso","wo","asos","woo","asao"],"rp":["oas","ossa","osa","ow","osas","osao","owa","osw"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",6725],"trp":["oe",22866],"trw":["-",58877],"lp":["eo","e-","e-o"],"rp":["oe","o-","-e","-o","o-e"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",11510],"trp":["ox",5327],"trw":["-a",77],"lp":["xo","a-","exo","xao","eao","xoe","exao","xa-","xe-","e-a","axo","axoe","exoe","ao-","a-a"],"rp":["ox","-a","oxa","oxo","-a-"]},"70":{"input":[2,3,7],"tlp":["do",416137],"trp":["od",73365],"tlw":["do",90461],"trw":["-se",74],"lp":["do","dos","esso","edo","eso","dedo","edos","soe","soes","doe","do-"],"rp":["od","ode","odo","oes","-s","-se","odos","osse","ose"]},"71":{"input":[1,2,3,7],"tlp":["ado",79015],"trp":["oda",11723],"tlw":["dado",976],"lp":["ado","ados","dado","sado","dao","a-s","a-se","xado","sexo","eado","xos","da-","dosa","adao","xoes","exos"],"rp":["oda","odas","oeda","owe"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",290254],"trp":["ot",25787],"tlw":["to",1894],"lp":["to","go","tot","tto","got","tog","gt","gto","too","gg","goo"],"rp":["ot","og","ogo","oto","ott","otto","otog","ogg"]},"73":{"input":[1,4,7],"tlp":["fo",73193],"trp":["of",13544],"tlw":["tao",9962],"trw":["of",1931],"lp":["fo","ga","ag","tao","ago","ato","aga","fato","fog","tota","gat","fogo","fot","foto","gao","tag","tato"],"rp":["of","ota","oga"]},"74":{"input":[2,4,7],"tlp":["co",405580],"trp":["oc",76923],"tlw":["gosto",1191],"lp":["co","sto","tos","cos","sco","gos","gost","cost","soc","toc","stos","cto","goc","coc","scoc","coco"],"rp":["oc","ost","osto","oco"]},"75":{"input":[1,2,4,7],"tlp":["cao",52031],"trp":["oca",15079],"tlw":["caso",3450],"lp":["cao","acao","aco","fos","foss","stao","caso","gas","sag","acos","sof","atos","sfo","saco","toca","asto"],"rp":["oca","osta","ocas","otas"]},"76":{"input":[3,4,7],"tlp":["ro",189615],"trp":["or",300995],"tlw":["george",652],"trw":["or",278],"lp":["ro","eg","ge","tro","gr","rg","tor","rto","erg","gor","ero","rro","eto","erto"],"rp":["or","ort","orr","ore","orre","orte"]},"77":{"input":[1,3,4,7],"tlp":["for",35880],"trp":["ora",47672],"tlw":["agora",9502],"trw":["ora",1045],"lp":["for","gar","gra","ega","age","aro","fora","agor","gora","arg","egar","rof","arro","rox","rao","rga","fort","agr"],"rp":["ora","orta"]},"78":{"input":[2,3,4,7],"tlp":["ros",31755],"trp":["oce",38021],"tlw":["todos",10399],"lp":["ros","cor","tod","seg","todo","dor","esco","eco","coe","coes","corr","esto","tros","sor","roc"],"rp":["oce","ord","oder","ores","orc"]},"79":{"input":[1,2,3,4,7],"tlw":["fosse",5405],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["ou",187963],"trw":["no",51404],"lp":[],"rp":["ou","no","on","un","nu","nun","nou","ono","uo","nuo","uou","nuou","onn","uno","onou","oou","oun","non","oon","unn"]},"81":{"input":[1,5,7],"tlp":["qu",415783],"trp":["ua",141069],"tlw":["ano",2467],"trw":["nao",106447],"lp":["qu","qua","quan","aqu","ano","au","anu","anqu"],"rp":["ua","nao","uan","nqu","ona","nqua","naqu","nua","una","oq","oqu","uq"]},"82":{"input":[2,5,7],"tlp":["su",74848],"trp":["us",60120],"tlw":["sou",2630],"trw":["nos",20778],"lp":["su","sou","son","ssu","sus","ssou","sun"],"rp":["us","nos","ons","jo","ju","noss","uns","oj","jun","nso","uj","uso","nsou"]},"83":{"input":[1,2,5,7],"tlp":["sua",42963],"trp":["uas",22607],"tlw":["sua",31618],"trw":["nossa",3352],"lp":["sua","anos","suas","quas","squ","aus","ausa","aju","assu","sau"],"rp":["uas","usa","nsao","joa","uja","usan","oja","joao","usao","onsa"]},"84":{"input":[3,5,7],"tlp":["eu",147300],"trp":["ue",347032],"tlw":["eu",43591],"trw":["you",709],"lp":["eu","eno","eun","eon","eu-","enou"],"rp":["ue","uen","u-","one","ou-","ueno","n-","yo","oen","you","ueu","nou-","nue","-n"]},"85":{"input":[1,3,5,7],"tlp":["que",325065],"trp":["ux",2970],"tlw":["que",242225],"trw":["-nao",146],"lp":["que","aque","equ","quen","eque","enqu","xou","xu","exu","xua","exua"],"rp":["ux","uena","nque","uxa","oque","uxo","oux","uxe","ouxe"]},"86":{"input":[2,3,5,7],"tlp":["seu",45915],"trp":["ndo",102634],"tlw":["seu",30091],"trw":["onde",9124],"lp":["seu","eus","du","endo","deu","seus","enos","deus"],"rp":["ndo","ud","ond","und","onde","udo","undo","onse","ude","u-s","u-se","ndeu"]},"87":{"input":[1,2,3,5,7],"tlw":["quando",23534],"trw":["usando",884],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["gu",87969],"trp":["nto",82230],"tlw":["tu",788],"trw":["notou",383],"lp":["gu","tu","bo","tou","gun","gunt"],"rp":["nto","ont","ut","ob","ng","out","unt","ntou","ug","ub","unto","ngu","uto","ong"]},"89":{"input":[1,4,5,7],"tlp":["anto",26539],"trp":["uant",14606],"tlw":["quanto",4990],"trw":["nota",549],"lp":["anto","fu","gua","gan","fun","atu","tua","ang","agu","agua","fon","abo"],"rp":["uant","onta","ntao","uga","uta","onf","unta","nfo"]},"90":{"input":[2,4,5,7],"tlp":["con",88877],"trp":["uc",20930],"tlw":["sob",2880],"trw":["junto",1728],"lp":["con","cu","cont","cons","sob","cou","scu","stou","cob","guns"],"rp":["uc","nco","ntos","ouc","uco","unc","ouco","ncon","ocu","nunc"]},"91":{"input":[1,2,4,5,7],"tlw":["boca",2277],"trw":["nunca",7198],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ento",36495],"trp":["ur",58598],"tlw":["gente",3137],"trw":["outro",7994],"lp":["ento","egu","ru","gue","rou","tur","rgu","gen","ergu"],"rp":["ur","uer","obr","utr","outr","obre","ontr","utro","onte","ntro","uro"]},"93":{"input":[1,3,4,5,7],"tlw":["entao",11118],"trw":["outra",6635],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["sobre",14110],"trw":["outros",5996],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["grande",7378],"trw":["outras",3514],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["io",92146],"trw":["l",496],"lp":[],"rp":["io","lo","ol","li","oi","il","ili","olo","oli","ll","ilo","ill","lio","iol","oll","oio","lli","ilio","loo","illi"]},"97":{"input":[1,6,7],"tlp":["al",200651],"trp":["la",162745],"tlw":["ali",4130],"trw":["la",8495],"lp":["al","ala","ali","aio","alo","zo","alia","zao","azao"],"rp":["la","oz","lia","ial","ola","liz","iao","ilia","ozi","ila","liza"]},"98":{"input":[2,6,7],"tlp":["sol",10331],"trp":["ois",42788],"tlw":["sol",2060],"trw":["isso",18569],"lp":["sol","sil","sio","sl","ssio","soli","solo"],"rp":["ois","isso","ios","los","iso","ossi","osi","ls","lis","lso","ioso","ols","ok"]},"99":{"input":[1,2,6,7],"tlp":["sal",8453],"trp":["oisa",15190],"tlw":["sala",3032],"trw":["las",303],"lp":["sal","sala","asil","wil","will","soz","sozi","soal","alis","alos","alas","als"],"rp":["oisa","las","isao","iosa","lass","lias","lsa","olsa"]},"100":{"input":[3,6,7],"tlp":["el",253859],"trp":["le",167939],"tlw":["ele",53580],"trw":["lei",1081],"lp":["el","ele","elo","eio","eli","e-l","e-lo","ell"],"rp":["le","lei","ole","-l","ile","-lo","leo","lie","ioe","ilei","oel","iole"]},"101":{"input":[1,3,6,7],"tlp":["ela",75025],"trp":["ixo",8660],"tlw":["ela",31605],"trw":["lixo",278],"lp":["ela","ale","eal","aixo","eliz","eixo","eali","a-l","alei","ael","a-lo"],"rp":["ixo","oxi","lex","oze","-la","lez","leza","ia-","lea"]},"102":{"input":[2,3,6,7],"tlp":["del",18683],"trp":["ido",37514],"tlw":["eles",10957],"trw":["ido",578],"lp":["del","eles","dele","doi","dois","elos","sido","dio","dido","sile","sel","dol"],"rp":["ido","les","odi","lid","ld","idos","ilid","old"]},"103":{"input":[1,2,3,6,7],"tlw":["dela",4626],"trw":["lado",7350],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",89842],"trp":["ito",55627],"tlw":["tio",740],"trw":["logo",3653],"lp":["vo","gi","vol","volt"],"rp":["ito","ig","lt","ov","lg","igo","olt","lv","oit","ovo","lto","liv","log","ivo","lig","lti"]},"105":{"input":[1,4,6,7],"tlp":["alg",28147],"trp":["lta",14607],"tlw":["foi",19254],"lp":["alg","tal","foi","fal","alt","fil","fala","alv","val","agi","alav","talv","fl","voz","gia"],"rp":["lta","iga","ova","olta","lav"]},"106":{"input":[2,4,6,7],"tlp":["voc",35885],"trp":["ico",23673],"tlw":["visto",1856],"trw":["isto",3322],"lp":["voc","coi","cio","cois","cl","col","vos","cil","colo","sig","scol"],"rp":["ico","lic","isto","itos","oci","loc","igos","icio","lc"]},"107":{"input":[1,2,4,6,7],"tlw":["coisa",9623],"trw":["local",1110],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rio",30701],"trp":["iro",27990],"tlw":["rio",2083],"trw":["livro",2336],"lp":["rio","vel","eiro","eito","tori","rel","rig","erio","tel","rito","rov"],"rp":["iro","ori","ior","lev","ove","lve","ivel","oite","orri"]},"109":{"input":[1,3,4,6,7],"tlw":["talvez",5564],"trw":["levar",1384],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["voce",31586],"trw":["livros",1191],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["claro",3392],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ho",111008],"trw":["olhou",3514],"lp":[],"rp":["ho","lh","ui","ul","lho","nho","olh","iu","lu","ilh","olho","onh","hu","uni","ulh","inu","ulo","lin","hou","ino"]},"113":{"input":[1,5,6,7],"tlp":["qui",23334],"trp":["lha",27941],"tlw":["aqui",6587],"trw":["luz",3303],"lp":["qui","qual","alh","aqui","alq","alqu","alha"],"rp":["lha","ual","lan","nal","olha","uz","lq","lqu","ualq","ilha","inal","iona","ula"]},"114":{"input":[2,5,6,7],"tlp":["sul",3044],"trp":["hos",17929],"tlw":["sonhos",1378],"trw":["olhos",8588],"lp":["sul","sonh","sion","solu","sui","sino"],"rp":["hos","lhos","uis","onsi","nhos","hoj","usi","ulos","lus","jul","inos","ijo","ku","loj"]},"115":{"input":[1,2,5,6,7],"tlw":["quais",1786],"trw":["loja",754],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["elh",18680],"trp":["lhe",25233],"trw":["lhe",9996],"lp":["elh","elho","enho","enhu","elen"],"rp":["lhe","uel","len","uele","onhe","ulhe","nel","uei","olhe","in-","ilen","ly","-lh","-lhe","nele"]},"117":{"input":[1,3,5,6,7],"tlw":["aquele",3696],"trw":["naquele",1801],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["disse-lhe",457],"trw":["hoje",2804],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["aqueles",1766],"trw":["olhando",2030],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["gui",16504],"trp":["uit",26642],"tlw":["vou",3725],"trw":["novo",4638],"lp":["gui","bl","gin"],"rp":["uit","lgu","uito","uv","nov","ing","ouv","ult","uvi","itu","ouvi","noit","lug","ingu","onti","long","onv"]},"121":{"input":[1,4,5,6,7],"tlw":["filho",2705],"trw":["nova",2638],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["cinco",2400],"trw":["unico",1538],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["alguns",5675],"trw":["unica",1846],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["tenho",3664],"trw":["noite",6059],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["qualquer",7063],"trw":["lugar",5157],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["senhor",5213],"trw":["jeito",1631],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["fazendo",2599],"trw":["historia",3341],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",1293],"trw":["p",1742],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",54655],"trp":["pa",230757],"trw":["papa",278],"lp":["ap","apa","app"],"rp":["pa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",45986],"trp":["ps",1182],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",5532],"trp":["pas",19597],"trw":["passa",679],"lp":["spa","sap","sapa","asp","apas","aps","ssap"],"rp":["pas","pass"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",29704],"trp":["pe",179445],"trw":["pe",2387],"lp":["ep","epe","e'"],"rp":["pe","pee","''"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",14035],"trp":["pape",2221],"lp":["ape","xp","exp","epa","xpe","expe","xpa","expa","a'"],"rp":["pape","'a","pea","px"]},"134":{"input":[2,3,8],"tlp":["esp",37689],"trp":["pes",22163],"trw":["pes",1833],"lp":["esp","spe","espe","dep","depe","sep","desp","sesp","sped","spes","d'","eps","ssep"],"rp":["pes","pess","ped","pede","pd","'s","'d"]},"135":{"input":[1,2,3,8],"tlp":["espa",4992],"trp":["pad",5872],"tlw":["espada",1207],"trw":["pesada",361],"lp":["espa","apes","esap","spad","aspe","sepa","depa","d'a","xped","epas","spea","spx","aspx"],"rp":["pad","pesa","pada","peda","pade"]},"136":{"input":[4,8],"tlp":["tp",287],"trp":["pt",3485],"trw":["pt",2780],"lp":["tp","ttp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apat",596],"trp":["pat",2789],"tlw":["tapa",93],"lp":["apat","tap","apt","tapa","apta"],"rp":["pat","pata","pta"]},"138":{"input":[2,4,8],"trp":["pc",1162],"lp":[],"rp":["pc"]},"139":{"input":[1,2,4,8],"tlp":["cap",9324],"trp":["pac",6453],"tlw":["capa",572],"trw":["pasta",248],"lp":["cap","capa","spac","apac","scap","capt"],"rp":["pac","pca","paca","past","pact","patc"]},"140":{"input":[3,4,8],"tlp":["rep",8013],"trp":["pr",132035],"trw":["peter",441],"lp":["rep","rp","repe","rpr","rpre","epr","epre","epet","repr","erp"],"rp":["pr","per","pre","pert","pet","pret","pree","prep","pete","pere"]},"141":{"input":[1,3,4,8],"tlp":["apar",7369],"trp":["par",142915],"tlw":["tapete",247],"trw":["para",95245],"lp":["apar","apr","rap","apre","epar","rapa","xper","repa","xpr","expr","xpre","aper"],"rp":["par","para","pare","part","pra","pera","prat","perf"]},"142":{"input":[2,3,4,8],"tlp":["resp",11738],"trp":["pres",18252],"tlw":["espere",312],"trw":["perder",886],"lp":["resp","sper","spec","depr","cep","epc","cepc","spet","rsp"],"rp":["pres","prec","pec","perd","perc","pedr","pect","pers","pesc","pred","pest"]},"143":{"input":[1,2,3,4,8],"tlw":["apesar",1985],"trw":["parece",2731],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mp",67484],"trw":["m",1887],"lp":[],"rp":["mp","mm","pn","mn","nm"]},"145":{"input":[1,5,8],"tlp":["am",185140],"trp":["ma",359934],"tlw":["ama",422],"trw":["ma",502],"lp":["am","ama","amp","aman","ampa","apan"],"rp":["ma","man","mpa","pan","mana","mpan","nam","mam","maq","pam","mama","map","mapa","nama"]},"146":{"input":[2,5,8],"tlp":["sm",24615],"trp":["nsp",908],"lp":["sm"],"rp":["nsp","nsm","ms"]},"147":{"input":[1,2,5,8],"tlp":["sam",7995],"trp":["mas",58930],"tlw":["sam",195],"trw":["mas",44387],"lp":["sam","sma","span","asam","asm","ssam","amas","smas","asma","ansp","ansm"],"rp":["mas","jam","nsam","jama","mass","jap","maj","mans","mpas"]},"148":{"input":[3,5,8],"tlp":["em",283802],"trp":["me",270378],"tlw":["em",82946],"trw":["me",23412],"lp":["em","emp","eme","emen","epen","empe","emm","eem"],"rp":["me","men","pen","mem","nem","mpe","my","mpen","n'","mmy","pene","ym"]},"149":{"input":[1,3,5,8],"tlp":["ame",42844],"trp":["pena",8675],"tlw":["emma",305],"trw":["mae",5046],"lp":["ame","amen","ema","apen","eman","xem","exem","xemp","xam","exam"],"rp":["pena","mae","peq","mane","name","mea","mame","max","pame","nema"]},"150":{"input":[2,3,5,8],"tlp":["sem",29109],"trp":["mes",30950],"tlw":["sem",13046],"trw":["meses",1641],"lp":["sem","esm","dem","semp","ssem","dm","sme","esme","smen","seme"],"rp":["mes","mesm","pens","med","mens","pend","mese","mend","ndep","mped"]},"151":{"input":[1,2,3,5,8],"tlw":["apenas",7324],"trw":["mesma",4037],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",964],"trp":["mb",32610],"lp":["tm","bm"],"rp":["mb"]},"153":{"input":[1,4,5,8],"tlp":["tam",28816],"trp":["mat",4959],"tlw":["fama",211],"trw":["matt",334],"lp":["tam","amb","tamb","fam","atam","tama","amba","tamp","bam","abam","atm"],"rp":["mat","mant","mba","ntam","mata","pant","mbat","mpat","matt"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",156],"trp":["mc",119],"tlw":["cm",85],"lp":["cm","cmm"],"rp":["mc","mcc"]},"155":{"input":[1,2,4,5,8],"tlw":["cama",2189],"trw":["maca",202],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",41396],"trp":["ment",85913],"tlw":["bem",13447],"trw":["mente",2130],"lp":["rm","tem","bem","temp","emb","rem","empr","erm","rme","embr","term"],"rp":["ment","mpr","mpre","mer","mbr","mbe","mbem","met","ntem"]},"157":{"input":[1,3,4,5,8],"tlw":["tambem",10764],"trw":["mar",1598],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["sempre",8109],"trw":["presente",1043],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["certamente",1039],"trw":["pensar",2492],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",24405],"lp":[],"rp":["pi","ip","ipi","pip","ppi","ipp","pipp","ippi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",7700],"trp":["pai",11844],"trw":["pai",5571],"lp":["api","apaz","apai","zap","apia","zip"],"rp":["pai","paz","ipa","pia","ipai","piz","pizz","pazz"]},"162":{"input":[2,6,8],"tlp":["spi",5606],"trp":["isp",2854],"lp":["spi","sip","ssip"],"rp":["isp","pis","psi"]},"163":{"input":[1,2,6,8],"tlp":["apis",171],"trp":["pais",4098],"trw":["pais",2931],"lp":["apis","spia"],"rp":["pais","ispa","pisa","pias"]},"164":{"input":[3,6,8],"tlp":["epi",511],"trp":["pei",5264],"lp":["epi"],"rp":["pei","ipe","i'","pie","pipe"]},"165":{"input":[1,3,6,8],"tlp":["apei",323],"trp":["paix",1055],"trw":["peixe",323],"lp":["apei","a'z","a'za","zipe"],"rp":["paix","paze","peix","pez","peza","'z","'za","peia"]},"166":{"input":[2,3,6,8],"tlp":["espi",3719],"trp":["pedi",4130],"trw":["pedi",235],"lp":["espi","spei","disp","epis"],"rp":["pedi","pid","pide","peis","pied","ipes","i'd","ispe","kesp"]},"167":{"input":[1,2,3,6,8],"tlw":["despedida",129],"trw":["paises",490],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",3741],"trp":["pit",4493],"lp":["tip","tipi"],"rp":["pit"]},"169":{"input":[1,4,6,8],"tlp":["apit",3841],"trp":["pita",2323],"lp":["apit","vap","apav"],"rp":["pita","pati","pav","pava","pavi"]},"170":{"input":[2,4,6,8],"tlp":["cip",5141],"trp":["pist",660],"lp":["cip","cipi","spit","scip"],"rp":["pist","pisc","psic","icip","pic","ipic","ipc","pci","ipci"]},"171":{"input":[1,2,4,6,8],"tlw":["capaz",1624],"trw":["passava",922],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",238],"trp":["pri",25730],"tlw":["repetir",222],"trw":["piper",124],"lp":["rip","trip","repi","tepi","epit"],"rp":["pri","peri","pir","peit","piri","peti","prie","priv","prev","pire","prir","iper","it'","prei","ptei"]},"173":{"input":[1,3,4,6,8],"tlw":["rapaz",1561],"trw":["partir",1512],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["especie",1783],"trw":["pedir",815],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["esperava",1003],"trw":["parecia",5095],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["im",105296],"trw":["mim",6113],"lp":[],"rp":["im","mi","min","minh","imp","mim","nim","imi","mini","pin","ph","inim","nimi","pini","imin","mpi","hip","phi","imm","him"]},"177":{"input":[1,5,6,8],"tlp":["ami",18005],"trp":["mai",54885],"tlw":["amanha",798],"trw":["minha",12630],"lp":["ami","amin","anim","amai","ziam","aph"],"rp":["mai","ima","iam","ham","nham","mina","manh","hama","panh","nima","mia","impa","inam","imai"]},"178":{"input":[2,5,6,8],"tlp":["sim",20054],"trp":["mis",5228],"tlw":["sim",4845],"trw":["jim",693],"lp":["sim","ssim","simp","smi","spin","smis","sism","simi"],"rp":["mis","miss","jim","ism","mik","nism","insp","jimm","nspi","nsmi","mins","mk"]},"179":{"input":[1,2,5,6,8],"tlw":["assim",9572],"trw":["mais",42140],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",2072],"trp":["ime",24625],"trw":["i'm",90],"lp":["emi","eph","emin","eim"],"rp":["ime","mei","imen","imei","meni","impe","inem","penh","immy","hem","mine","ymi","mie","peni","phie","pime"]},"181":{"input":[1,3,5,6,8],"trw":["menina",1204],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["seph",283],"trw":["pensei",1244],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["demais",2703],"trw":["medida",966],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",10629],"trp":["mit",5096],"tlw":["vim",252],"trw":["http",287],"lp":["tim","vim","timi","thm","bmi"],"rp":["mit","ntim","miti","imit","mbi","itim","imb","pint","itm","mbin","htm","http","mith","mint","himb"]},"185":{"input":[1,4,5,6,8],"tlw":["tinham",4868],"trw":["haviam",2041],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",280],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["cima",3152],"trw":["incapaz",367],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["vem",1339],"trw":["permitir",306],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["fazem",993],"trw":["primeira",3896],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["devem",852],"trw":["presidente",1153],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["estavam",5892],"trw":["imediatamente",1406],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",224923],"trw":["po",410],"lp":[],"rp":["po","op","opo","pop","opp","oop"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",6185],"trp":["opa",1837],"trw":["pao",557],"lp":["apo","apao"],"rp":["opa","pao","papo","popa"]},"194":{"input":[2,7,8],"tlp":["spo",12061],"trp":["pos",28599],"trw":["posso",2774],"lp":["spo","spos","sop"],"rp":["pos","poss","opos","osp","pso","poso"]},"195":{"input":[1,2,7,8],"tlp":["apos",2721],"trp":["posa",1096],"tlw":["apos",1872],"trw":["passo",1318],"lp":["apos","sapo","sopa","apso"],"rp":["posa","opas","pow"]},"196":{"input":[3,7,8],"tlp":["epo",16405],"trp":["ope",1755],"trw":["poe",134],"lp":["epo","eop","eopo","e-p"],"rp":["ope","poe","o'","peo","peop","-p","oope"]},"197":{"input":[1,3,7,8],"tlp":["xpo",537],"trp":["peao",87],"lp":["xpo","expo"],"rp":["peao"]},"198":{"input":[2,3,7,8],"tlp":["depo",14313],"trp":["pod",31617],"tlw":["espesso",79],"trw":["pode",9510],"lp":["depo","espo","epos","spoe"],"rp":["pod","pode","peso","pose","ospe","pos-","poes","osep","opes"]},"199":{"input":[1,2,3,7,8],"tlw":["esposa",847],"trw":["pessoas",7432],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",1854],"trp":["pot",800],"tlw":["topo",438],"lp":["top","topo"],"rp":["pot","opt","pg","pto","ptop"]},"201":{"input":[1,4,7,8],"tlp":["apag",291],"trp":["pag",4975],"trw":["pag",402],"lp":["apag","apg","apto"],"rp":["pag","paga","pato","pago","opag","opat"]},"202":{"input":[2,4,7,8],"tlp":["cop",1332],"trp":["post",6329],"tlw":["copo",522],"trw":["posto",634],"lp":["cop","copo","copt","coop"],"rp":["post","poc","poco","opc","pco","opco","pgc","pgcs"]},"203":{"input":[1,2,4,7,8],"tlw":["sapatos",482],"trw":["opcao",191],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",10909],"trp":["por",83084],"tlw":["reporter",133],"trw":["por",51332],"lp":["rop","ropr","rpo","ropo"],"rp":["por","pro","port","perg","prop","opr","orp","orpo","peg","pore","preo","preg","pero","opor","pego","prot"]},"205":{"input":[1,3,4,7,8],"tlw":["aeroporto",244],"trw":["porta",4885],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["corpo",3692],"trw":["poder",3010],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["resposta",1706],"trw":["professor",1075],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["um",243291],"trw":["um",108193],"lp":[],"rp":["um","om","mo","mu","omo","mpo","omp","pu","num","pon","up","pou","mun","mon","nom","mom","upo","mou","omu","oup"]},"209":{"input":[1,5,7,8],"tlp":["amo",18697],"trp":["uma",107111],"tlw":["amo",321],"trw":["uma",83293],"lp":["amo","ampo","apon","amou","aum"],"rp":["uma","mao","oma","upa","numa","ompa","uman","oman","pau","mano","oupa","onam","maqu","mau","namo"]},"210":{"input":[2,5,7,8],"tlp":["smo",16965],"trp":["mos",29583],"tlw":["som",1252],"trw":["pousou",166],"lp":["smo","spon","som","sup","susp","sum","supo","somo","smos","ssum","spu"],"rp":["mos","mpos","mus","usp","omos","mons","pons","upos","pous"]},"211":{"input":[1,2,5,7,8],"tlw":["soma",177],"trw":["maos",4073],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emo",14088],"trp":["ome",42557],"trw":["meu",13196],"lp":["emo","empo","emon"],"rp":["ome","meu","uem","omen","meno","omem","ume","mome","nome","nume","upe","umen","-m","-me","ompe","peu","memo"]},"213":{"input":[1,3,5,7,8],"tlw":["quem",7441],"trw":["pequeno",2129],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"trw":["mesmo",14794],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["damon",277],"trw":["pensando",1275],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["gum",14061],"trp":["mbo",6406],"tlw":["bom",4344],"trw":["ponto",2616],"lp":["gum","tom","bom","tum","ttom","tomo","tmo","gm"],"rp":["mbo","pont","omb","mot","mont","pub","put","pob","mput","moto","umb","utom"]},"217":{"input":[1,4,5,7,8],"tlw":["apontou",487],"trw":["ponta",807],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["com",79743],"trw":["pouco",7236],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["campo",1321],"trw":["moca",1091],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["tempo",10746],"trw":["momento",4691],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forma",4643],"trw":["porque",9040],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["comecou",3483],"trw":["ombros",1499],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["estamos",1849],"trw":["pensamentos",1108],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",22248],"trw":["polo",95],"lp":[],"rp":["pl","poi","pol","pli","ipo","plo","poli","lp","pio","opi","ipio","pil","olp","ppl","poio","lop","pilo","ipl","lip","ipli"]},"225":{"input":[1,6,7,8],"tlp":["apoi",894],"trp":["pal",9950],"tlw":["apoio",472],"trw":["paola",89],"lp":["apoi","alp","appl","apl","apli","apol","apla","alpa"],"rp":["pal","pla","pala","ipal","lpa","pali","lap","poia","opia","pila","lapi","palp"]},"226":{"input":[2,6,7,8],"tlp":["spio",144],"trp":["pois",18374],"trw":["pois",4416],"lp":["spio","spl"],"rp":["pois","posi","ispo","plos","ospi","piso","ipos","pios","psl"]},"227":{"input":[1,2,6,7,8],"trw":["lapis",171],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["epoi",14052],"trp":["pel",32898],"trw":["pelo",11997],"lp":["epoi","epl","epli","elop","elip","eple"],"rp":["pel","pelo","ple","pele","lpe","olpe","pple","pole","lope","poei","lipe","leop","l'","peli"]},"229":{"input":[1,3,6,7,8],"tlw":["apple",759],"trw":["pela",10602],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["depois",13958],"trw":["pelos",3503],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["explosao",225],"trw":["podia",5600],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["tipo",3460],"trp":["pov",1630],"tlw":["tipo",3053],"trw":["povo",1274],"lp":["tipo","golp","gip","tipl"],"rp":["pov","povo","ipot","polt","pito","polv","pig","ltip"]},"233":{"input":[1,4,6,7,8],"tlw":["galpao",98],"trw":["patio",409],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["tipos",407],"trw":["politico",317],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["capitao",887],"trw":["policia",1169],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["golpe",619],"trw":["proprio",2614],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"trw":["propria",2409],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["respeito",2148],"trw":["possivel",2464],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["rapido",1145],"trw":["poderia",4184],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["mui",26105],"trw":["mil",1923],"lp":[],"rp":["mui","lm","hom","mpl","mil","hum","mul","imo","mulh","omi","impo","nhum","mili","impl","lim","minu","ompl","pul","mplo","umi"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["alma",1095],"trw":["mal",2849],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["suponho",319],"trw":["possui",298],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["almas",218],"trw":["humanos",876],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["elmo",138],"trw":["homem",8542],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["alem",3586],"trw":["nenhuma",2224],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["simples",1787],"trw":["homens",5348],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["zaphod",507],"trw":["podiam",1009],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["tumulo",138],"trw":["muito",18767],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["alguma",5734],"trw":["ultima",1690],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["comigo",1864],"trw":["muitos",2820],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["algumas",3503],"trw":["muitas",2792],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["vermelho",829],"trw":["melhor",5197],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["alguem",4202],"trw":["maior",3758],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["simplesmente",1695],"trw":["mulheres",2796],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["completamente",1313],"trw":["marido",1424],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/ro-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/ro-keymap.json index 72627d4a2c..0bed185ec5 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/ro-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/ro-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",511],"tlw":["a",83146],"lp":["aa","aaa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",3507],"tlw":["s",933],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",334071],"tlw":["sa",168486],"lp":["sa","as","asa","sas","ssa","asas","wa","aw","sw","ass","ws","was"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",21380],"tlw":["e",25573],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",331408],"tlw":["ea",17717],"lp":["ea","ex","eea","ae","xa","exa","xe","exe","ax"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",474727],"tlw":["de",299045],"lp":["de","se","es","ed","des","ese","ede","ses","sese","dee","sed","dese","sse","ess","edes","esed","sede","dd","eed","eses"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",156223],"tlw":["da",10448],"lp":["da","ad","ase","eas","dea","sea","ada","ade","dad","esa","edea","deas","ases","adea","asea","esea","sase","eeas","dade","ew"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",3013],"tlw":["t",835],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",414820],"tlw":["fata",15507],"lp":["at","ta","ata","fa","tat","af","fat","atat","fata","tf","afa","tata","ft","afat","fta","ff","att","tta","ftat","atf"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",311126],"tlw":["c",706],"lp":["st","sc","ct","cc","tc","ts"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",523509],"tlw":["ca",133317],"lp":["ca","ac","sta","ast","cat","aca","fac","asta","sca","asc","cas","asca","act","sf","stat","sat","casa","sfa","tac","faca"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["re",521801],"tlw":["te",15374],"lp":["re","te","er","tr","tre","et","rt","ere","rte","ter","ete","ret","tere","etr","ert","rer","tet","etre","rere","eret"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",509043],"tlw":["era",39299],"lp":["ar","ra","are","ate","era","rea","ara","tea","fe","tra","art","rat","arte","tar","tate","far","rta","area","fara","fr"],"rp":[]},"14":{"input":[2,3,4],"tlp":["ce",303452],"tlw":["ce",59249],"lp":["ce","ec","est","ste","este","cr","str","ces","dr","rec","cest","rc","rs","cre","res","cer","dec","esc","rd","cee"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["car",108000],"tlw":["care",72655],"lp":["car","care","ace","dar","cea","dat","eca","ras","aces","dac","daca","stra","data","acea","ecat","ceea","face","rca","east","astr"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",3834],"trw":["n",1145],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",216706],"trp":["na",142605],"tlw":["an",1202],"trw":["na",594],"lp":["an","ana","ann","anan","anna","aq","anaq"],"rp":["na","nan","nna","naq"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",3093],"trp":["ns",69609],"trw":["j",435],"lp":["sn"],"rp":["ns","nj"]},"19":{"input":[1,2,5],"tlp":["aj",20324],"trp":["nsa",12265],"tlw":["sansa",539],"trw":["nas",518],"lp":["aj","ans","san","ansa","anj","sana","aja","saj","sans","anja","asan","wn","anas","awn"],"rp":["nsa","ja","nas","nja","nsas","jan"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",157322],"trp":["ne",182563],"tlw":["en",86],"trw":["ne",11044],"lp":["en","ene","ey","eyn","enn","eye","een","enen","eyne","enny","enne"],"rp":["ne","yn","nen","nne","ny","nee","ye","nny","yne"]},"21":{"input":[1,3,5],"tlp":["ane",10158],"trp":["nea",30604],"tlw":["anne",526],"trw":["nea",342],"lp":["ane","enea","ena","ean","anee","ay","anne","anea","anen","xan","exan","eann","aye","eane","anx"],"rp":["nea","ya","nay","yx","nx"]},"22":{"input":[2,3,5],"tlp":["ej",6230],"trp":["nd",131965],"tlw":["sens",684],"trw":["je",103],"lp":["ej","sen","den","ens","dej","end","dy","sens","sey","ssey","seyn"],"rp":["nd","nde","nse","je","nes","ndes","nses","jd","ys"]},"23":{"input":[1,2,3,5],"tlp":["and",65203],"trp":["nda",9766],"tlw":["deja",3062],"trw":["new",498],"lp":["and","dan","anda","ande","eja","deja","adan","anse","dane","dans","esan","esaj","eaj"],"rp":["nda","ndea","nsea","neas","nand","new","jea"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",2355],"trp":["nt",306047],"tlw":["b",322],"lp":["bt","bb"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ba",71864],"trp":["nta",47119],"tlw":["ba",2052],"trw":["nat",115],"lp":["ba","ant","ab","tan","bat","anta","aba","ban","tant","bab","tana","bata","anat","fan","tab"],"rp":["nta","nat","nf","ntat","nata"]},"26":{"input":[2,4,5],"tlp":["bs",4364],"trp":["nc",92637],"lp":["bs","cn","bc","bst","sb","tj"],"rp":["nc","nst","nct","jb"]},"27":{"input":[1,2,4,5],"tlp":["can",32837],"trp":["nca",22051],"tlw":["banca",519],"trw":["nasca",92],"lp":["can","anc","stan","anca","cant","bas","abs","bast","cab","taj","tanc","acan","banc","sab"],"rp":["nca","ncat","nsta","nast","nanc","nsf"]},"28":{"input":[3,4,5],"tlp":["ent",84157],"trp":["ntr",104253],"tlw":["brett",483],"trw":["nr",169],"lp":["ent","entr","eb","reb","treb","be","rb","br","rn","ten","ren","ern","rbe","tent"],"rp":["ntr","nte","ntre","ner","nter","net"]},"29":{"input":[1,3,4,5],"tlp":["ran",24100],"trp":["ntra",6602],"tlw":["barbat",1660],"lp":["ran","enta","bar","eba","reba","rba","bra","tran","arb","rab","arba","bea","barb","rbat","rant","ante"],"rp":["ntra","nar","ntea","neat"]},"30":{"input":[2,3,4,5],"tlp":["cen",5052],"trp":["nce",27047],"tlw":["recent",181],"trw":["jerry",121],"lp":["cen","dent","bes","cent","rbes","bse","sten","sent","bser","best"],"rp":["nce","ncer","ndr","nec","ndre","ncet","ncr","ndc","ncre","nstr"]},"31":{"input":[1,2,3,4,5],"tlw":["cand",24121],"trw":["jeff",677],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",110946],"trw":["ii",23134],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",175637],"trp":["ia",127873],"tlw":["ai",14411],"trw":["ia",3588],"lp":["ai","zi","az","za","aza","aia","azi","zia","zii","azia","aii","aiz","azii"],"rp":["ia","iz","iza","izi","iaz","iaza","izii"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",392768],"trp":["is",116257],"tlw":["si",229731],"trw":["isi",19173],"lp":["si","sis","sii","sk","ski","ssi","sisi","siss"],"rp":["is","isi","ki","ik","ks","iis","isk","iss","iki","kik","kiki","isis"]},"35":{"input":[1,2,6],"tlp":["asi",21012],"trp":["isa",3757],"tlw":["zis",2561],"trw":["iasa",754],"lp":["asi","zis","sai","sia","ak","wi","asis","sasi","wis","ais","aias","saiz","asii","zas","zias"],"rp":["isa","ias","ka","iasa","iasi"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",94946],"trp":["ie",135041],"tlw":["ei",24160],"trw":["iei",524],"lp":["ei","eie","eii"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ez",32829],"trp":["ize",3487],"tlw":["zeii",292],"trw":["izea",421],"lp":["ez","ze","eze","ezi","xi","exi","aie","eza","eia","eaz","eaza","aze","zea","zie","zei","eai","eiz","eize"],"rp":["ize","ix"]},"38":{"input":[2,3,6],"tlp":["di",145395],"trp":["id",28001],"tlw":["desi",3541],"trw":["iesi",1561],"lp":["di","esi","edi","dis","desi","sie","sid","side","die","sise","sei","sedi"],"rp":["id","ise","ide","ies","idi","iesi","ke","idee"]},"39":{"input":[1,2,3,6],"tlp":["zise",7538],"trp":["ida",1906],"tlw":["zise",6592],"trw":["ideea",1322],"lp":["zise","xis","exis","adi","dia","sez","asez","edia","seza","easi","dai","zid","esia","aies","dez","aid","ezis","aide","ake"],"rp":["ida"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",295163],"trp":["it",151806],"tlw":["ti",1335],"trw":["iti",3989],"lp":["ti","vi","tii","tit","tiv","vit","vii","titi","viit","tivi","tv"],"rp":["it","iv","iti","ivi","ivit","iit","itii","itiv","itit"]},"41":{"input":[1,4,6],"tlp":["va",110914],"trp":["ita",36266],"tlw":["fi",38843],"trw":["iata",1833],"lp":["va","fi","ati","av","tia","fii","vaz","zit","via","viat","ava","tai","tati","atii"],"rp":["ita","iat","itat","iata","iva","if"]},"42":{"input":[2,4,6],"tlp":["ci",156406],"trp":["ic",148028],"tlw":["ci",3836],"trw":["ici",186],"lp":["ci","sti","sit","cit","cti","tic","stii","stit","tis","vic","ctiv","vis","cii","sist"],"rp":["ic","ici","ist","isc","isti","itic"]},"43":{"input":[1,2,4,6],"tlp":["aci",11683],"trp":["ica",34598],"tlw":["aici",9541],"lp":["aci","aic","aici","caz","stia","acti","zic","fic","cati","caci","cia","asti","tica","faci","cai"],"rp":["ica","ista","icat","isca","ific"]},"44":{"input":[3,4,6],"tlp":["ri",261934],"trp":["ir",38667],"tlw":["trei",5142],"trw":["ieri",560],"lp":["ri","ve","ev","eri","vr","vre","tie","riv","tri","eti","rie","rei","rit","rivi","rti"],"rp":["ir","ire","ite","ier","iet"]},"45":{"input":[1,3,4,6],"tlp":["eva",33520],"trp":["iar",32094],"tlw":["avea",12237],"trw":["iar",16087],"lp":["eva","ari","ave","vea","fie","avea","rez","var","ria","evar","arti","reze","feri","vrea","vara","teva","rai","raz"],"rp":["iar","irea"]},"46":{"input":[2,3,4,6],"tlp":["ric",22696],"trp":["ice",14452],"tlw":["cei",7477],"trw":["iesit",918],"lp":["ric","eci","esti","dev","dic","cev","cei","ris","cri","ved","vede","rid","ves","ridi","eric","scri"],"rp":["ice","iste","iec","idic"]},"47":{"input":[1,2,3,4,6],"tlw":["ceva",11423],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",750933],"trw":["in",184145],"lp":[],"rp":["in","ni","hi","ini","nii","iin","hii","nin","ih","hn","inii","nni","ihn","iini","hin","inn","ihi","nh","hni","inin"]},"49":{"input":[1,5,6],"tlp":["ani",21231],"trp":["ina",49485],"tlw":["ani",6375],"trw":["hai",1393],"lp":["ani","ain","aini","ah","aha","anii","zin","zan"],"rp":["ina","ha","hia","nai","inai","nain","nz","hai","nia","han","ian","nza"]},"50":{"input":[2,5,6],"tlp":["sin",18411],"trp":["ins",33866],"tlw":["sin",190],"trw":["jh",411],"lp":["sin","sh","sih","sini","sni"],"rp":["ins","nis","ij","his","nsi","inis","ji","isn","iji","insi","jin","ijin","nsis","nk","nik"]},"51":{"input":[1,2,5,6],"tlp":["asin",3239],"trp":["insa",9893],"tlw":["ash",252],"trw":["insa",7993],"lp":["asin","sina","aji","ank","siha","sha","ash","ansi","ajii","anis","asni"],"rp":["insa","ija","hisa","hans","jak","kan","jah","ijah","hka"]},"52":{"input":[3,5,6],"tlp":["eni",33619],"trp":["ine",65502],"tlw":["eh",87],"trw":["hei",371],"lp":["eni","enii","ein","enin","eh","enie"],"rp":["ine","he","nei","ien","nie","hei","nein","inei","hen","heie","nnie","niei","hne","hie"]},"53":{"input":[1,3,5,6],"tlp":["aine",3733],"trp":["inea",7586],"trw":["haine",380],"lp":["aine","zen","ezen","enz","anie","ezin","enza","zne","azne","ezn","ezna","enzi"],"rp":["inea","nez","neze","hea","iena","nze","heia","neaz"]},"54":{"input":[2,3,5,6],"tlp":["din",90282],"trp":["ind",36487],"tlw":["din",67566],"trw":["iesind",261],"lp":["din","sine","dine","edin","enis","ensi"],"rp":["ind","ndi","inse","inde","iind","indi","hise","iden","nsid","hid","nise","hes","hide","nind"]},"55":{"input":[1,2,3,5,6],"tlw":["sinea",401],"trw":["jake",478],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",58255],"trp":["int",156160],"tlw":["vin",1566],"trw":["intii",232],"lp":["bi","tin","bin","vin","th","bit","vint","tint"],"rp":["int","nti","ib","nit","inti","ntin","nv","ibi","iint","inv","nvi","ntii"]},"57":{"input":[1,4,5,6],"tlp":["abi",11731],"trp":["inta",22656],"tlw":["abia",2225],"trw":["nava",1620],"lp":["abi","aint","van","fiin","zb","tina","vant","bia","atin","bai","abia","babi","vina","bati","aib"],"rp":["inta","inf","nav","iba","inat"]},"58":{"input":[2,4,5,6],"tlp":["ch",61576],"trp":["inc",60349],"tlw":["cinci",2724],"trw":["nici",22847],"lp":["ch","chi","cin","sch","schi","chii","chis","stin","cinc","bis"],"rp":["inc","nic","nici","nci","nist","inci","nch","nchi","inch","nsti"]},"59":{"input":[1,2,4,5,6],"tlw":["stiinta",654],"trw":["inca",8005],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["rin",33243],"trp":["intr",61098],"tlw":["bine",14803],"trw":["intre",5472],"lp":["rin","bine","ven","veni","tine","rint","enti","rni","enit","rbi","even","bir","bie"],"rp":["intr","inte","nev","ient","inev","ibe","iber"]},"61":{"input":[1,3,4,5,6],"tlw":["tinea",1218],"trw":["inainte",6948],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["dintre",7665],"trw":["niste",5419],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["chiar",12228],"trw":["incerca",1941],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",1200],"trw":["o",113236],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",642],"trp":["oa",151490],"trw":["oa",179],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",36626],"trp":["os",73956],"tlw":["so",137],"trw":["os",129],"lp":["so","sos","sso"],"rp":["os","oss","oso","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["soa",8768],"trp":["oas",22126],"lp":["soa","aso","wo","swo","sow","woo","asoa","sowa","asso","ssow","aos"],"rp":["oas","oasa","ow","osa","ossa","owa","oass","ows"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["e-",29604],"trp":["-o",27659],"trw":["-",97955],"lp":["e-","eo","e-o"],"rp":["-o","oe","-e","o-","-o-"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",46041],"trp":["-a",104204],"tlw":["a-",97],"trw":["-a",320],"lp":["a-","e-a","eoa","a-a","a-o"],"rp":["-a","ox","-a-"]},"70":{"input":[2,3,7],"tlp":["do",69536],"trp":["od",23024],"tlw":["s-o",6502],"lp":["do","s-","s-o","de-","deo","eod","deod","eso","eos","deos","eose","e-s"],"rp":["od","-s","ose","-se","ode","odo","oses","osse"]},"71":{"input":[1,2,3,7],"tlp":["sa-",34714],"trp":["oda",11577],"tlw":["s-a",12787],"trw":["oase",184],"lp":["sa-","s-a","doa","a-s","sa-s","de-a","eoda","deoa","ado","asa-","da-"],"rp":["oda","oase","-as","-ad","-ade","osea","oad","oada","odea"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",107166],"trp":["ot",74165],"tlw":["tot",13553],"trw":["otto",232],"lp":["to","tot","go","tog","tto","toto","gg","got","gt","gto","togo","tg"],"rp":["ot","og","oto","ott","otog","ogo","otto","oog"]},"73":{"input":[1,4,7],"tlp":["ga",71011],"trp":["oat",31855],"tlw":["toata",5023],"trw":["ofta",463],"lp":["ga","fo","toa","ag","toat","gat","ato","foa","aga","atoa","gata","ago","goa"],"rp":["oat","of","oata","ota","oga","oft","ogat"]},"74":{"input":[2,4,7],"tlp":["co",95698],"trp":["oc",55455],"tlw":["scos",703],"lp":["co","sco","sto","cto","cot","sot","soc","toc","gos","cos","gost","scot","goss"],"rp":["oc","ost","osc","oct","octo","oco","ocot"]},"75":{"input":[1,2,4,7],"tlp":["fos",18330],"trp":["oast",12711],"tlw":["fost",18063],"trw":["ostas",97],"lp":["fos","fost","aco","gas","coa","scoa","foc","coas","agos","coat","asto","sato","cato","sfo"],"rp":["oast","oca","oac","osta","ocat","oasc"]},"76":{"input":[3,4,7],"tlp":["ro",71384],"trp":["or",188766],"tlw":["rog",1945],"trw":["ore",1272],"lp":["ro","ge","eg","tor","gr","r-","tr-","rg","reg","ege","r-o","tr-o","gre","erg","reo"],"rp":["or","ort","-t","ore","ote"]},"77":{"input":[1,3,4,7],"tlp":["foar",10466],"trp":["oar",59190],"tlw":["toate",11462],"trw":["oare",2672],"lp":["foar","toar","for","roa","rag","ega","ator","gra","egat","a-t","arg","gea"],"rp":["oar","oare","oate","oart","ora","-ar","orta","oara"]},"78":{"input":[2,3,4,7],"tlp":["dor",9727],"trp":["ord",7233],"tlw":["rost",832],"lp":["dor","ros","cor","ce-","sor","rost","rso","ctor","deg","erso","stor","dege","roc","totd","doc"],"rp":["ord","oce","ostr","otd","otde"]},"79":{"input":[1,2,3,4,7],"tlw":["doar",7637],"trw":["oras",1618],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["un",291116],"trw":["nu",113453],"lp":[],"rp":["un","nu","on","no","ou","unu","uno","nou","nun","onu","ono","onn","non","oon","oun","uu","nuu","nno","onun","onon"]},"81":{"input":[1,5,7],"tlp":["au",127814],"trp":["ua",38098],"tlw":["au",14003],"trw":["una",3763],"lp":["au","anu","aun","auna","qu","anun","ano"],"rp":["ua","una","oua","noa","ona","nua","oan","noua","unoa","oana","nau","naun","nuna"]},"82":{"input":[2,5,7],"tlp":["su",87996],"trp":["us",98070],"tlw":["sus",2880],"trw":["jos",3880],"lp":["su","sun","sus","son","snu"],"rp":["us","ju","uns","jo","jun","nos","ons","unos","jos","juns","nsu","uso","nus","osu","nsus"]},"83":{"input":[1,2,5,7],"tlp":["sau",22053],"trp":["noas",7379],"tlw":["sau",21799],"trw":["usa",4343],"lp":["sau","asu","aju","ajun","soan","suna","sona","aus","ajo","anus","asun","ason","saju"],"rp":["noas","usa","joa","uas","usoa","nasu","ouas"]},"84":{"input":[3,5,7],"tlp":["eu",42582],"trp":["une",33961],"tlw":["eu",16688],"trw":["n-o",3069],"lp":["eu","enu","eun","enun","eno"],"rp":["une","n-","u-","nu-","-u","-un","ne-","ue","n-o","neo","one","uneo","-n","ony","une-"]},"85":{"input":[1,3,5,7],"tlp":["eau",24032],"trp":["n-a",17307],"trw":["n-a",2864],"lp":["eau","eaun","euna","que","xu","exu","e-au","eaua","xua","exua"],"rp":["n-a","-au","unea","ne-a","oane","neau","n-au","uque","ux","onea"]},"86":{"input":[2,3,5,7],"tlp":["du",82602],"trp":["use",37853],"tlw":["dus",2022],"trw":["unde",9415],"lp":["du","dou","dus","duse","eus","du-","esu","du-s"],"rp":["use","und","unde","ud","ndu","uses","unse","ond","u-s","ndo","ndu-","ude"]},"87":{"input":[1,2,3,5,7],"tlw":["doua",9678],"trw":["n-as",944],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tu",124429],"trp":["ut",118950],"tlw":["tu",6631],"trw":["unt",87],"lp":["tu","bu","gu","bo","tun","bun","totu"],"rp":["ut","ng","unt","ob","ub","ntu","otu","nto","ont","ung","ngu","utu","ug"]},"89":{"input":[1,4,5,7],"tlp":["atu",33704],"trp":["uta",13540],"tlw":["buna",3510],"trw":["nota",476],"lp":["atu","fu","gan","atun","ang","aut","anga","tau","buna","antu","fun","gatu","tua"],"rp":["uta","nga","uf","uat","ntoa","uga","oba"]},"90":{"input":[2,4,5,7],"tlp":["cu",251869],"trp":["uc",41800],"tlw":["cu",107724],"trw":["joc",840],"lp":["cu","con","cut","sunt","scu","cun","tunc","stu","cont","cuno","sub","cons","scut","tus"],"rp":["uc","unc","ocu","onst","ust","nost"]},"91":{"input":[1,2,4,5,7],"tlw":["facut",6146],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ru",139075],"trp":["ur",142738],"tlw":["greu",2486],"trw":["unor",2218],"lp":["ru","tru","ebu","tur","gur","rebu","reu","rob","run","r-u","tr-u","r-un","eru"],"rp":["ur","ntru","ute","ntr-","orb","oru","ngur"]},"93":{"input":[1,3,4,5,7],"tlw":["erau",9639],"trw":["n-ar",2738],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["trecut",2015],"trw":["usor",3025],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["fusese",5088],"trw":["noastra",2596],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["il",100912],"trw":["il",17933],"lp":[],"rp":["il","lo","li","oi","ol","io","olo","ilo","ili","oli","ll","iil","ill","lio","lii","oil","ilio","iol","lli","iilo"]},"97":{"input":[1,6,7],"tlp":["al",157962],"trp":["la",223904],"tlw":["al",17061],"trw":["la",103939],"lp":["al","ala","ali","zil","zo","alal"],"rp":["la","ioa","lal","ial","ila","oz","oia","loa","ozi","oal","ola","lia","iala","ilal"]},"98":{"input":[2,6,7],"tlp":["sol",5524],"trp":["osi",9398],"tlw":["sol",477],"trw":["ok",68],"lp":["sol","sl","sil","sosi","sio","sili"],"rp":["osi","los","olos","iso","ios","losi","ko","ls","lis","osii","ois","kil","kilo","iko"]},"99":{"input":[1,2,6,7],"tlp":["sal",9118],"trp":["las",16180],"tlw":["sala",1335],"trw":["lasa",3143],"lp":["sal","sla","sala","sola","alis","salo","wil","sall","als","sali","will"],"rp":["las","lasa","lasi","isoa","ioas","olas","llas","law","low"]},"100":{"input":[3,6,7],"tlp":["el",182428],"trp":["le",217374],"tlw":["el",30829],"trw":["le",16173],"lp":["el","ele","elo","eli","e-i","eil"],"rp":["le","ile","i-","-i","-l","l-","oie","lie","iile","lel","le-","ole","i-l","i-o"]},"101":{"input":[1,3,6,7],"tlp":["ale",32820],"trp":["i-a",24465],"tlw":["ale",8429],"trw":["i-a",2798],"lp":["ale","a-i","ela","a-l","eal","zile","eala","e-ai","elea","elal","eila","alea","zel","eali"],"rp":["i-a","-ai","lea","l-a","le-a","i-ai"]},"102":{"input":[2,3,6,7],"tlp":["si-",10078],"trp":["-si",12424],"tlw":["doi",4637],"trw":["ideile",361],"lp":["si-","doi","sel","eles","del","sele","delo","si-l","dio","si-i","esel"],"rp":["-si","les","iod","ld","lose","odi","old","lid","i-s"]},"103":{"input":[1,2,3,6,7],"tlw":["sa-i",9425],"trw":["lase",794],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",55302],"trp":["lt",70688],"tlw":["voi",6798],"trw":["lovi",446],"lp":["vo","gi","voi","toti","til","gl","tio"],"rp":["lt","ig","oti","ov","lti","lit","ito","ovi","olit","liti","lov","lig","lv"]},"105":{"input":[1,4,6,7],"tlp":["alt",31331],"trp":["lta",15965],"tlw":["afla",4776],"lp":["alt","fl","tal","fla","afl","afla","alta","voa","alti","val","avo","fol","folo","alat"],"rp":["lta","lat","lalt","iga","lita","lati"]},"106":{"input":[2,4,6,7],"tlp":["col",18912],"trp":["loc",16849],"tlw":["colt",621],"trw":["loc",5973],"lp":["col","cl","sig","cio","colo","cli","voc","cil","soci","soti"],"rp":["loc","icio","lic","osti","oci","ico","ltc","lc","osit","isto"]},"107":{"input":[1,2,4,6,7],"tlw":["acolo",7879],"trw":["lasat",1202],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["tel",33441],"trp":["ori",36339],"tlw":["vor",6208],"trw":["lor",11526],"lp":["tel","tele","vor","ril","rile","rel","tori","rio","elor","rele","evo","egi","erio","evoi"],"rp":["ori","lor","leg","lte","ilor","-ti"]},"109":{"input":[1,3,4,6,7],"tlw":["fel",7250],"trw":["i-ar",1059],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["cel",9164],"trw":["orice",4726],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["astfel",4825],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ul",257995],"trw":["lui",42818],"lp":[],"rp":["ul","lu","ui","lui","iu","nul","ulu","ului","lin","lul","inu","nui","uni","noi","iul","lun","iun","ho","unul","unui"]},"113":{"input":[1,5,6,7],"tlp":["zu",17502],"trp":["uz",18000],"tlw":["ziua",2202],"trw":["lua",3594],"lp":["zu","azu","auz","alu","anul","auzi","ziu","zul","alul"],"rp":["uz","lan","lua","nal","uzi","uia","inua","uza","inal","ula","onal"]},"114":{"input":[2,5,6,7],"tlp":["sul",13027],"trp":["usi",13886],"tlw":["solul",203],"trw":["insusi",1408],"lp":["sul","solu","snui","siu","siun","sulu"],"rp":["usi","insu","jul","onsi","jl","ijl","jlo","ijlo","nsul","isnu","lus","ius","isu","niso"]},"115":{"input":[1,2,5,6,7],"tlw":["salon",359],"trw":["nasul",473],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["elu",10235],"trp":["uie",12750],"trw":["nu-i",6710],"lp":["elu","elul","elui","enul"],"rp":["uie","u-i","nu-i","nel","unei","ule","iune","nele","nile","nule","ley","u-l","len","nu-l","inel","unel"]},"117":{"input":[1,3,5,6,7],"tlw":["auzea",594],"trw":["n-ai",1802],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["seldon",899],"trw":["nu-si",1718],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["daneel",945],"trw":["indoiala",1534],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["tul",54201],"trp":["ult",36980],"tlw":["totul",5658],"trw":["lungul",1158],"lp":["tul","bui","bil","tiu","bl","gin","tinu"],"rp":["ult","ing","uti","uit","into","ntul","utin","igu","ingu","uv","otul","itu","ulti"]},"121":{"input":[1,4,5,6,7],"tlw":["vazut",3775],"trw":["langa",4102],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["stiu",5950],"trw":["ochii",6711],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["atunci",10484],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["trebuie",10427],"trw":["intr-o",7901],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["vorba",4095],"trw":["legatura",2214],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["sigur",2888],"trw":["lucru",5287],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["singura",2707],"trw":["niciodata",5038],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",639],"trw":["p",1061],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",93968],"trp":["pa",161658],"tlw":["apa",3245],"trw":["pa",666],"lp":["ap","apa"],"rp":["pa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",103043],"trp":["ps",4877],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["asp",12078],"trp":["pas",8637],"tlw":["apasa",575],"trw":["pas",1350],"lp":["asp","spa","sap","apas","aspa","aps","apsa","sapa"],"rp":["pas","pasa","psa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",52344],"trp":["pe",216440],"trw":["pe",110407],"lp":["ep","epe"],"rp":["pe"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",10151],"trp":["pea",1505],"tlw":["ape",142],"lp":["ape","epa","xp","exp","eap","xpe","expe","eapa","epea","a'","apea"],"rp":["pea","'a","pape"]},"134":{"input":[2,3,8],"tlp":["esp",14229],"trp":["pes",7355],"tlw":["spe",120],"trw":["pese",104],"lp":["esp","desp","spe","dep","eped","espe","d'","sep","depe","eps","edep","deps"],"rp":["pes","ped","pede","pse","pese","pses","'d"]},"135":{"input":[1,2,3,8],"tlp":["depa",6164],"trp":["pad",2363],"tlw":["da'",470],"trw":["pedeapsa",277],"lp":["depa","aspe","epas","d'a","dap","apad","adap","da'","espa","deap","spad","sepa","xped","eaps","dape","apes"],"rp":["pad","pada","pase","psea"]},"136":{"input":[4,8],"trp":["pt",44775],"lp":[],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",16520],"trp":["pat",19529],"tlw":["fapt",2580],"trw":["pat",1592],"lp":["apt","fap","fapt","apta","tap","apat","tapa"],"rp":["pat","pta","ptat","pata"]},"138":{"input":[2,4,8],"tlp":["tsp",179],"trp":["pc",487],"lp":["tsp"],"rp":["pc","pts","ptsp"]},"139":{"input":[1,2,4,8],"tlp":["cap",19242],"trp":["pac",5660],"tlw":["cap",4694],"trw":["pacat",460],"lp":["cap","spat","capa","stap","sapt","scap","apac","apc","capc","apca"],"rp":["pac","past","paca","ptas","pca"]},"140":{"input":[3,4,8],"tlp":["ept",20779],"trp":["pr",175984],"tlw":["trepte",244],"trw":["perete",698],"lp":["ept","rep","rept","tep","tept","repe","rp","epte","rpr","epet","epr"],"rp":["pr","pre","per","pte","pet","pere","petr","pret","pete"]},"141":{"input":[1,3,4,8],"tlp":["apr",12184],"trp":["par",57159],"tlw":["repeta",897],"trw":["prea",8562],"lp":["apr","epta","apar","epar","apte","eapt","rap","reap","xper","xpr"],"rp":["par","part","pra","pare","prea","para","patr","pate","pera","ptea"]},"142":{"input":[2,3,4,8],"tlp":["spr",29330],"trp":["pest",6829],"tlw":["spre",12456],"trw":["peste",6431],"lp":["spr","spre","cep","espr","drep","step","spec","sper","resp","cept","cepe","ccep","spet","ecep"],"rp":["pest","pres","pec","pers","pect","prec"]},"143":{"input":[1,2,3,4,8],"tlw":["departe",3651],"trw":["parca",3176],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mp",55904],"trw":["m",611],"lp":[],"rp":["mp","mn","mm","pn","nm"]},"145":{"input":[1,5,8],"tlp":["am",164027],"trp":["ma",278091],"tlw":["am",32990],"trw":["ma",23028],"lp":["am","ama","aman","amn","amp","amna","apan"],"rp":["ma","man","pan","mana","pana","mna","pam","pama","mpa","mam","nap","mama","mpan"]},"146":{"input":[2,5,8],"tlp":["sm",3780],"trp":["nsp",2667],"lp":["sm"],"rp":["nsp","ms","nsm","jm"]},"147":{"input":[1,2,5,8],"tlp":["amas",5157],"trp":["mas",15541],"tlw":["sam",974],"trw":["masa",3415],"lp":["amas","sam","sma","sman","wm","wma","wman","ansp","ansm","ajm","ajma","asm","asam"],"rp":["mas","masa","maj","nspa","jma","paj","msw"]},"148":{"input":[3,5,8],"tlp":["em",62631],"trp":["me",133398],"tlw":["emmy",120],"trw":["pen",562],"lp":["em","eme","emn","emen","emp","emne","epen"],"rp":["me","pen","men","mne","mene","mpe","mem","nem","nep","my","mey","meye","meme"]},"149":{"input":[1,3,5,8],"tlp":["ame",19413],"trp":["mea",17220],"tlw":["amy",498],"trw":["mea",8040],"lp":["ame","eam","amen","eama","ema","emna","eamn","emea","eman","amne","xem","exem","xemp"],"rp":["mea","mnea","mane","max","pane","neam","mame"]},"150":{"input":[2,3,5,8],"tlp":["sem",11901],"trp":["med",6644],"tlw":["semn",1590],"trw":["mese",274],"lp":["sem","semn","seme","dem","dm","edem","demn","esem"],"rp":["med","mes","ndep","nsem","mese","mens","md","mped","mej","mejd","ndem","pend"]},"151":{"input":[1,2,3,5,8],"tlw":["seama",5586],"trw":["newman",723],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",1176],"trp":["mb",18560],"lp":["tm"],"rp":["mb","mt","mpt","ntm"]},"153":{"input":[1,4,5,8],"tlp":["tam",11107],"trp":["mat",12972],"tlw":["tam",65],"trw":["pamant",2358],"lp":["tam","tamp","amb","fam","tama","apab","atm","amba"],"rp":["mat","ntam","mba","mant","mata","ptam","pant","mnat","pab","mbat","mta","ptan"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",3183],"trp":["mc",201],"lp":["cm"],"rp":["mc","mcn"]},"155":{"input":[1,2,4,5,8],"tlw":["cam",2462],"trw":["manca",317],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",42362],"trp":["pent",38307],"tlw":["tem",615],"trw":["merry",352],"lp":["rm","rem","tem","erm","reme","rme","term","trem"],"rp":["pent","mer","ment","mbr","mpr","mpre","met","mte","mbe","mere","ntem","perm"]},"157":{"input":[1,3,4,5,8],"tlw":["eram",2315],"trw":["mare",9405],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["cemp",522],"trw":["mers",716],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["camera",2871],"trw":["macar",2850],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",47365],"trw":["pi",147],"lp":[],"rp":["pi","ip","pii","ipi","pip","piii","ipp","ppi","pipp","ippi","ipii"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",2966],"trp":["ipa",7902],"trw":["pai",991],"lp":["api","zap","zapa","aip"],"rp":["ipa","pia","pai","paz","paza","pipa","paia","ipai"]},"162":{"input":[2,6,8],"tlp":["spi",4099],"trp":["isp",6275],"lp":["spi","sip","sipi"],"rp":["isp","ips","psi","ipsi","pis","isip","pisi"]},"163":{"input":[1,2,6,8],"tlp":["spai",782],"trp":["ispa",2264],"trw":["pasi",1282],"lp":["spai","wisp","aisp"],"rp":["ispa","pasi","ipsa","pais","pias"]},"164":{"input":[3,6,8],"tlp":["epi",929],"trp":["pie",11267],"lp":["epi"],"rp":["pie","ipe","iep","piep","pipe","pei","ipei"]},"165":{"input":[1,3,6,8],"tlp":["epez",640],"trp":["pez",756],"tlw":["apei",412],"trw":["paie",113],"lp":["epez","apei"],"rp":["pez","pezi","paie","piez"]},"166":{"input":[2,3,6,8],"tlp":["disp",4472],"trp":["pid",1040],"trw":["piese",120],"lp":["disp","espi","depi","epis","eisp","dip","edip","epsi"],"rp":["pid","pied","ipse","ispe","pedi","pies","peis","pide","psei"]},"167":{"input":[1,2,3,6,8],"tlw":["zapada",443],"trw":["piesa",219],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",2064],"trp":["pit",3627],"tlw":["tip",589],"lp":["tip","tipi"],"rp":["pit","pti","ptii","ipit","piti","ipt","piv","ptit"]},"169":{"input":[1,4,6,8],"tlp":["apit",1785],"trp":["piat",2890],"tlw":["tipa",384],"trw":["piata",623],"lp":["apit","tipa","fip","fipt","tapi"],"rp":["piat","pita","pati","pav","ptia","ipat","pavi","ptz"]},"170":{"input":[2,4,6,8],"tlp":["cip",1891],"trp":["pic",7270],"tlw":["tipic",72],"trw":["pic",662],"lp":["cip","spit","cipi","cisp","scip","spic"],"rp":["pic","pici","psit","pist","pci","pisc","icip","pict","ipic"]},"171":{"input":[1,2,4,6,8],"tlw":["twisp",358],"trw":["pisica",266],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",1804],"trp":["pri",68428],"trw":["privi",2867],"lp":["rip","rpri","epti","ripi","tipe"],"rp":["pri","priv","peri","pier","prie","pir","iept","piri","iper","prii","prit","piet","ptie","prir","peti"]},"173":{"input":[1,3,4,6,8],"tlw":["aparitia",471],"trw":["privirea",2009],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["spirit",395],"trw":["priveste",1176],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["expresie",605],"trw":["paris",654],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",133805],"trw":["imi",6836],"lp":[],"rp":["mi","im","min","imp","imi","nim","nimi","pin","him","hip","mii","mni","inim","mpi","imin","mini","impi","mpin","imii","hm"]},"177":{"input":[1,5,6,8],"tlp":["ami",12341],"trp":["mai",98477],"tlw":["amiaza",160],"trw":["mai",80029],"lp":["ami","amin","zam","anim","aim","aima"],"rp":["mai","ima","mina","main","nima","pina","mani","inap","pani","iam","impa","mia","miaz","hipa"]},"178":{"input":[2,5,6,8],"tlp":["sim",14730],"trp":["mis",9725],"tlw":["sim",169],"trw":["nisip",353],"lp":["sim","simp","smi","spin","smin","smis"],"rp":["mis","mij","imis","insp","mnis","psih","misi","pins","ism","nsmi","jim","nism","nspi","mik"]},"179":{"input":[1,2,5,6,8],"tlw":["spaima",491],"trw":["masina",2136],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emei",6102],"trp":["ime",17305],"trw":["mine",8864],"lp":["emei","emi","enim","emni","epin"],"rp":["ime","meni","mine","mei","imen","nime","mie","meie","impe","hem","mpie","hme","nemi","mnei","hmey"]},"181":{"input":[1,3,5,6,8],"tlw":["examina",267],"trw":["maine",960],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["depinde",317],"trw":["mesei",432],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["asemeni",170],"trw":["inseamna",2064],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",26063],"trp":["mit",11574],"tlw":["timp",11216],"trw":["mintii",377],"lp":["tim","timp","timi","bim"],"rp":["mit","mint","imt","imb","mti","imti","himb","imit","ntim","mbi","mv","mtit","imbi","miti","mbin","mnit"]},"185":{"input":[1,4,5,6,8],"tlw":["zambi",959],"trw":["pamint",327],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["simti",2661],"trw":["nimic",9112],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["stiam",937],"trw":["mica",2010],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["vreme",4271],"trw":["prin",13288],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["femeie",2003],"trw":["prima",3179],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["trimis",946],"trw":["incepe",1001],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["dimineata",2070],"trw":["imediat",2866],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",78466],"trw":["po",250],"lp":[],"rp":["po","op","opo","pop","popo","ppo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",15763],"trp":["poa",16012],"lp":["apo","apoa"],"rp":["poa","oap","opa","oapa","opoa"]},"194":{"input":[2,7,8],"tlp":["spo",1393],"trp":["pos",4845],"lp":["spo","sop"],"rp":["pos","osp","ppos","poso"]},"195":{"input":[1,2,7,8],"tlp":["apos",506],"trp":["oasp",820],"lp":["apos","soap"],"rp":["oasp","pow"]},"196":{"input":[3,7,8],"tlp":["eop",544],"trp":["ope",5829],"trw":["pe-o",124],"lp":["eop","epo","eopo"],"rp":["ope","pe-","poe","o'","pe-o","oep","-p","-po"]},"197":{"input":[1,3,7,8],"tlp":["eopa",329],"trp":["oape",5724],"lp":["eopa","eoap"],"rp":["oape","pa-","pa-a","pe-a","-ap","-apo"]},"198":{"input":[2,3,7,8],"tlp":["deop",448],"trp":["pod",1174],"trw":["pod",151],"lp":["deop","espo","depo"],"rp":["pod","pode","oped","o'd","'do","o'do","pose","podo","ospe"]},"199":{"input":[1,2,3,7,8],"trw":["podea",484],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",280],"trp":["pot",14753],"trw":["pot",6200],"lp":["top","topo"],"rp":["pot","opt","pto","poto","opot"]},"201":{"input":[1,4,7,8],"trp":["poat",13885],"trw":["poata",1395],"lp":[],"rp":["poat","oapt","pof","pag","poft","opat","opag","paga"]},"202":{"input":[2,4,7,8],"tlp":["cop",12351],"trp":["post",1578],"tlw":["scop",481],"trw":["post",334],"lp":["cop","scop","sopt","stop"],"rp":["post","poc","opts"]},"203":{"input":[1,2,4,7,8],"tlw":["soapta",372],"trw":["ostap",497],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",9845],"trp":["pro",33227],"trw":["pro",584],"lp":["rop","ropr","torp","ropo"],"rp":["pro","por","prop","port","opr","oper","potr","orp","preg","opor","prot","preo","opre","pote","prog","poet"]},"205":{"input":[1,3,4,7,8],"tlw":["aproape",5419],"trw":["poate",12490],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["corp",515],"trw":["prost",652],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["castorp",852],"trw":["profesor",467],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["pu",141518],"trw":["om",4434],"lp":[],"rp":["pu","um","mu","om","up","mo","pun","num","omn","mun","mnu","umn","omnu","mpo","mpu","mom","omu","upu","omp","umu"]},"209":{"input":[1,5,7,8],"tlp":["apu",6837],"trp":["upa",22884],"trw":["puna",1094],"lp":["apu","anum","amu"],"rp":["upa","uma","oam","numa","moa","oma","oamn","noap","puna","oman","manu","napo","uman","umoa","ompa","mau","umpa"]},"210":{"input":[2,5,7,8],"tlp":["spu",46684],"trp":["pus",30635],"tlw":["spus",7687],"trw":["pus",1846],"lp":["spu","spun","spus","sup","supu","smu","sum","som","somn"],"rp":["pus","puns","mos","jum","mus","umos","mons","usm","opus","mpos","upus"]},"211":{"input":[1,2,5,7,8],"tlw":["spuna",1588],"trw":["pusa",270],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["epu",10511],"trp":["ume",17000],"trw":["meu",6128],"lp":["epu","emu","emo","e-m"],"rp":["ume","pune","-m","m-","ome","omen","umne","nume","meu","mome","u-m","nu-m","upe","umen","unem","pome"]},"213":{"input":[1,3,5,7,8],"tlw":["anume",1489],"trw":["m-am",5385],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["spuse",11543],"trw":["mod",2741],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["dupa",19290],"trw":["m-as",588],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["gm",4573],"trp":["put",44011],"tlw":["tom",831],"trw":["putut",3710],"lp":["gm","gmu","gmun","tum","tom","gom","gomo"],"rp":["put","ptu","putu","mot","upt","mpot","umb","pub","munt","omot","nopt","mut","omb"]},"217":{"input":[1,4,5,7,8],"tlw":["fum",415],"trw":["muta",298],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["cum",21263],"trw":["punct",1203],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["acum",14119],"trw":["munca",1233],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["grup",794],"trw":["pentru",38307],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forma",2036],"trw":["putea",12961],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["drum",2045],"trw":["precum",1277],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["asupra",4961],"trw":["jumatate",2548],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",51269],"trw":["lipi",125],"lp":[],"rp":["pl","poi","pli","opi","lip","pil","pol","poli","opii","opil","plo","ipl","lipi","lop","piil","ilip","ipo","lp","opol","ipil"]},"225":{"input":[1,6,7,8],"tlp":["apoi",14490],"trp":["pla",21202],"tlw":["apoi",11964],"trw":["ploaia",308],"lp":["apoi","apl","alp","apli","alpi","aipo"],"rp":["pla","lipa","pal","poz","pozi","opia","pala","ipal","pali","ploa","pila","lap","poal","ploz"]},"226":{"input":[2,6,7,8],"tlp":["spl",128],"trp":["posi",2885],"trw":["lipsi",96],"lp":["spl","spio"],"rp":["posi","lips","ispo","oisp","ipos"]},"227":{"input":[1,2,6,7,8],"tlw":["spala",165],"trw":["lipsa",702],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["epl",2223],"trp":["ple",12048],"trw":["piele",586],"lp":["epl","epli","elep"],"rp":["ple","opie","pel","piel","iple","lep","lipe","pele","lope","pile","pelo","ipel","pleo","ople","lpe","opei","i-p"]},"229":{"input":[1,3,6,7,8],"tlw":["apele",237],"trw":["pielea",663],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spele",82],"trw":["leopold",96],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["deplasa",142],"trw":["pilda",452],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["topi",144],"trp":["poti",3337],"tlw":["topi",76],"trw":["poti",3337],"lp":["topi","gip","gipt"],"rp":["poti","pov","opti","plit","pito","ptil","ipot","opit","poit"]},"233":{"input":[1,4,6,7,8],"tlw":["filip",379],"trw":["pozitia",504],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["copii",1305],"trw":["lipsit",548],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["clipa",4697],"trw":["politica",737],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["opri",1970],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["apropie",1375],"trw":["propria",852],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["clipe",748],"trw":["plece",755],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["spatele",2337],"trw":["picioare",2645],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["mul",40796],"trw":["omul",2345],"lp":[],"rp":["mul","pul","mpl","lum","umi","mnul","lumi","impo","mil","umin","plu","impu","impl","plin","mpul","lim","mili","imu","mplu","imul"],"special":"enter"},"241":{"input":[1,5,6,7,8],"trw":["numai",8412],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simplu",2223],"trw":["plus",1041],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["simpla",704],"trw":["psihanaliza",445],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["mele",3338],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["exemplu",767],"trw":["oameni",4178],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["domnule",3620],"trw":["limpede",719],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["sa-mi",4566],"trw":["mesajul",279],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["timpul",4000],"trw":["mult",13114],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["faptul",2300],"trw":["multa",2401],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["chipul",1320],"trw":["mijlocul",1212],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["capul",3813],"trw":["placut",782],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["trupul",1201],"trw":["multe",4923],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["ti-am",981],"trw":["probabil",2719],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["sigmund",4378],"trw":["inceput",3590],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["dumneavoastra",3116],"trw":["pardaillan",1106],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",511],"tlw":["a",83146],"lp":["aa","aaa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",3507],"tlw":["s",933],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",334071],"tlw":["sa",168486],"lp":["sa","as","asa","sas","ssa","asas","wa","aw","sw","ass","ws","was"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",21380],"tlw":["e",25573],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",331408],"tlw":["ea",17717],"lp":["ea","ex","eea","ae","xa","exa","xe","exe","ax"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",474727],"tlw":["de",299045],"lp":["de","se","es","ed","des","ese","ede","ses","sese","dee","sed","dese","sse","ess","edes","esed","sede","dd","eed","eses"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",156223],"tlw":["da",10448],"lp":["da","ad","ase","eas","dea","sea","ada","ade","dad","esa","edea","deas","ases","adea","asea","esea","sase","eeas","dade","ew"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",3013],"tlw":["t",835],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",414820],"tlw":["fata",15507],"lp":["at","ta","ata","fa","tat","af","fat","atat","fata","tf","afa","tata","ft","afat","fta","ff","att","tta","ftat","atf"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",311126],"tlw":["c",706],"lp":["st","sc","ct","cc","tc","ts"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",523509],"tlw":["ca",133317],"lp":["ca","ac","sta","ast","cat","aca","fac","asta","sca","asc","cas","asca","act","sf","stat","sat","casa","sfa","tac","faca"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["re",521801],"tlw":["te",15374],"lp":["re","te","er","tr","tre","et","rt","ere","rte","ter","ete","ret","tere","etr","ert","rer","tet","etre","rere","eret"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",509043],"tlw":["era",39299],"lp":["ar","ra","are","ate","era","rea","ara","tea","fe","tra","art","rat","arte","tar","tate","far","rta","area","fara","fr"],"rp":[]},"14":{"input":[2,3,4],"tlp":["ce",303452],"tlw":["ce",59249],"lp":["ce","ec","est","ste","este","cr","str","ces","dr","rec","cest","rc","rs","cre","res","cer","dec","esc","rd","cee"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["car",108000],"tlw":["care",72655],"lp":["car","care","ace","dar","cea","dat","eca","ras","aces","dac","daca","stra","data","acea","ecat","ceea","face","rca","east","astr"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",3834],"trw":["n",1145],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",216706],"trp":["na",142605],"tlw":["an",1202],"trw":["na",594],"lp":["an","ana","ann","anan","anna","aq","anaq"],"rp":["na","nan","nna","naq"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",3093],"trp":["ns",69609],"trw":["j",435],"lp":["sn"],"rp":["ns","nj"]},"19":{"input":[1,2,5],"tlp":["aj",20324],"trp":["nsa",12265],"tlw":["sansa",539],"trw":["nas",518],"lp":["aj","ans","san","ansa","anj","sana","aja","saj","sans","anja","asan","wn","anas","awn"],"rp":["nsa","ja","nas","nja","nsas","jan"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",157322],"trp":["ne",182563],"tlw":["en",86],"trw":["ne",11044],"lp":["en","ene","ey","eyn","enn","eye","een","enen","eyne","enny","enne"],"rp":["ne","yn","nen","nne","ny","nee","ye","nny","yne"]},"21":{"input":[1,3,5],"tlp":["ane",10158],"trp":["nea",30604],"tlw":["anne",526],"trw":["nea",342],"lp":["ane","enea","ena","ean","anee","ay","anne","anea","anen","xan","exan","eann","aye","eane","anx"],"rp":["nea","ya","nay","yx","nx"]},"22":{"input":[2,3,5],"tlp":["ej",6230],"trp":["nd",131965],"tlw":["sens",684],"trw":["je",103],"lp":["ej","sen","den","ens","dej","end","dy","sens","sey","ssey","seyn"],"rp":["nd","nde","nse","je","nes","ndes","nses","jd","ys"]},"23":{"input":[1,2,3,5],"tlp":["and",65203],"trp":["nda",9766],"tlw":["deja",3062],"trw":["new",498],"lp":["and","dan","anda","ande","eja","deja","adan","anse","dane","dans","esan","esaj","eaj"],"rp":["nda","ndea","nsea","neas","nand","new","jea"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bt",2355],"trp":["nt",306047],"tlw":["b",322],"lp":["bt","bb"],"rp":["nt","nb"]},"25":{"input":[1,4,5],"tlp":["ba",71864],"trp":["nta",47119],"tlw":["ba",2052],"trw":["nat",115],"lp":["ba","ant","ab","tan","bat","anta","aba","ban","tant","bab","tana","bata","anat","fan","tab"],"rp":["nta","nat","nf","ntat","nata"]},"26":{"input":[2,4,5],"tlp":["bs",4364],"trp":["nc",92637],"lp":["bs","cn","bc","bst","sb","tj"],"rp":["nc","nst","nct","jb"]},"27":{"input":[1,2,4,5],"tlp":["can",32837],"trp":["nca",22051],"tlw":["banca",519],"trw":["nasca",92],"lp":["can","anc","stan","anca","cant","bas","abs","bast","cab","taj","tanc","acan","banc","sab"],"rp":["nca","ncat","nsta","nast","nanc","nsf"]},"28":{"input":[3,4,5],"tlp":["ent",84157],"trp":["ntr",104253],"tlw":["brett",483],"trw":["nr",169],"lp":["ent","entr","eb","reb","treb","be","rb","br","rn","ten","ren","ern","rbe","tent"],"rp":["ntr","nte","ntre","ner","nter","net"]},"29":{"input":[1,3,4,5],"tlp":["ran",24100],"trp":["ntra",6602],"tlw":["barbat",1660],"lp":["ran","enta","bar","eba","reba","rba","bra","tran","arb","rab","arba","bea","barb","rbat","rant","ante"],"rp":["ntra","nar","ntea","neat"]},"30":{"input":[2,3,4,5],"tlp":["cen",5052],"trp":["nce",27047],"tlw":["recent",181],"trw":["jerry",121],"lp":["cen","dent","bes","cent","rbes","bse","sten","sent","bser","best"],"rp":["nce","ncer","ndr","nec","ndre","ncet","ncr","ndc","ncre","nstr"]},"31":{"input":[1,2,3,4,5],"tlw":["cand",24121],"trw":["jeff",677],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",110946],"trw":["ii",23134],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",175637],"trp":["ia",127873],"tlw":["ai",14411],"trw":["ia",3588],"lp":["ai","zi","az","za","aza","aia","azi","zia","zii","azia","aii","aiz","azii"],"rp":["ia","iz","iza","izi","iaz","iaza","izii"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",392768],"trp":["is",116257],"tlw":["si",229731],"trw":["isi",19173],"lp":["si","sis","sii","sk","ski","ssi","sisi","siss"],"rp":["is","isi","ki","ik","ks","iis","isk","iss","iki","kik","kiki","isis"]},"35":{"input":[1,2,6],"tlp":["asi",21012],"trp":["isa",3757],"tlw":["zis",2561],"trw":["iasa",754],"lp":["asi","zis","sai","sia","ak","wi","asis","sasi","wis","ais","aias","saiz","asii","zas","zias"],"rp":["isa","ias","ka","iasa","iasi"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",94946],"trp":["ie",135041],"tlw":["ei",24160],"trw":["iei",524],"lp":["ei","eie","eii"],"rp":["ie","iei"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ez",32829],"trp":["ize",3487],"tlw":["zeii",292],"trw":["izea",421],"lp":["ez","ze","eze","ezi","xi","exi","aie","eza","eia","eaz","eaza","aze","zea","zie","zei","eai","eiz","eize"],"rp":["ize","ix"]},"38":{"input":[2,3,6],"tlp":["di",145395],"trp":["id",28001],"tlw":["desi",3541],"trw":["iesi",1561],"lp":["di","esi","edi","dis","desi","sie","sid","side","die","sise","sei","sedi"],"rp":["id","ise","ide","ies","idi","iesi","ke","idee"]},"39":{"input":[1,2,3,6],"tlp":["zise",7538],"trp":["ida",1906],"tlw":["zise",6592],"trw":["ideea",1322],"lp":["zise","xis","exis","adi","dia","sez","asez","edia","seza","easi","dai","zid","esia","aies","dez","aid","ezis","aide","ake"],"rp":["ida"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",295163],"trp":["it",151806],"tlw":["ti",1335],"trw":["iti",3989],"lp":["ti","vi","tii","tit","tiv","vit","vii","titi","viit","tivi","tv"],"rp":["it","iv","iti","ivi","ivit","iit","itii","itiv","itit"]},"41":{"input":[1,4,6],"tlp":["va",110914],"trp":["ita",36266],"tlw":["fi",38843],"trw":["iata",1833],"lp":["va","fi","ati","av","tia","fii","vaz","zit","via","viat","ava","tai","tati","atii"],"rp":["ita","iat","itat","iata","iva","if"]},"42":{"input":[2,4,6],"tlp":["ci",156406],"trp":["ic",148028],"tlw":["ci",3836],"trw":["ici",186],"lp":["ci","sti","sit","cit","cti","tic","stii","stit","tis","vic","ctiv","vis","cii","sist"],"rp":["ic","ici","ist","isc","isti","itic"]},"43":{"input":[1,2,4,6],"tlp":["aci",11683],"trp":["ica",34598],"tlw":["aici",9541],"lp":["aci","aic","aici","caz","stia","acti","zic","fic","cati","caci","cia","asti","tica","faci","cai"],"rp":["ica","ista","icat","isca","ific"]},"44":{"input":[3,4,6],"tlp":["ri",261934],"trp":["ir",38667],"tlw":["trei",5142],"trw":["ieri",560],"lp":["ri","ve","ev","eri","vr","vre","tie","riv","tri","eti","rie","rei","rit","rivi","rti"],"rp":["ir","ire","ite","ier","iet"]},"45":{"input":[1,3,4,6],"tlp":["eva",33520],"trp":["iar",32094],"tlw":["avea",12237],"trw":["iar",16087],"lp":["eva","ari","ave","vea","fie","avea","rez","var","ria","evar","arti","reze","feri","vrea","vara","teva","rai","raz"],"rp":["iar","irea"]},"46":{"input":[2,3,4,6],"tlp":["ric",22696],"trp":["ice",14452],"tlw":["cei",7477],"trw":["iesit",918],"lp":["ric","eci","esti","dev","dic","cev","cei","ris","cri","ved","vede","rid","ves","ridi","eric","scri"],"rp":["ice","iste","iec","idic"]},"47":{"input":[1,2,3,4,6],"tlw":["ceva",11423],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",750933],"trw":["in",184145],"lp":[],"rp":["in","ni","hi","ini","nii","iin","hii","nin","ih","hn","inii","nni","ihn","iini","hin","inn","ihi","nh","hni","inin"]},"49":{"input":[1,5,6],"tlp":["ani",21231],"trp":["ina",49485],"tlw":["ani",6375],"trw":["hai",1393],"lp":["ani","ain","aini","ah","aha","anii","zin","zan"],"rp":["ina","ha","hia","nai","inai","nain","nz","hai","nia","han","ian","nza"]},"50":{"input":[2,5,6],"tlp":["sin",18411],"trp":["ins",33866],"tlw":["sin",190],"trw":["jh",411],"lp":["sin","sh","sih","sini","sni"],"rp":["ins","nis","ij","his","nsi","inis","ji","isn","iji","insi","jin","ijin","nsis","nk","nik"]},"51":{"input":[1,2,5,6],"tlp":["asin",3239],"trp":["insa",9893],"tlw":["ash",252],"trw":["insa",7993],"lp":["asin","sina","aji","ank","siha","sha","ash","ansi","ajii","anis","asni"],"rp":["insa","ija","hisa","hans","jak","kan","jah","ijah","hka"]},"52":{"input":[3,5,6],"tlp":["eni",33619],"trp":["ine",65502],"tlw":["eh",87],"trw":["hei",371],"lp":["eni","enii","ein","enin","eh","enie"],"rp":["ine","he","nei","ien","nie","hei","nein","inei","hen","heie","nnie","niei","hne","hie"]},"53":{"input":[1,3,5,6],"tlp":["aine",3733],"trp":["inea",7586],"trw":["haine",380],"lp":["aine","zen","ezen","enz","anie","ezin","enza","zne","azne","ezn","ezna","enzi"],"rp":["inea","nez","neze","hea","iena","nze","heia","neaz"]},"54":{"input":[2,3,5,6],"tlp":["din",90282],"trp":["ind",36487],"tlw":["din",67566],"trw":["iesind",261],"lp":["din","sine","dine","edin","enis","ensi"],"rp":["ind","ndi","inse","inde","iind","indi","hise","iden","nsid","hid","nise","hes","hide","nind"]},"55":{"input":[1,2,3,5,6],"tlw":["sinea",401],"trw":["jake",478],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",58255],"trp":["int",156160],"tlw":["vin",1566],"trw":["intii",232],"lp":["bi","tin","bin","vin","th","bit","vint","tint"],"rp":["int","nti","ib","nit","inti","ntin","nv","ibi","iint","inv","nvi","ntii"]},"57":{"input":[1,4,5,6],"tlp":["abi",11731],"trp":["inta",22656],"tlw":["abia",2225],"trw":["nava",1620],"lp":["abi","aint","van","fiin","zb","tina","vant","bia","atin","bai","abia","babi","vina","bati","aib"],"rp":["inta","inf","nav","iba","inat"]},"58":{"input":[2,4,5,6],"tlp":["ch",61576],"trp":["inc",60349],"tlw":["cinci",2724],"trw":["nici",22847],"lp":["ch","chi","cin","sch","schi","chii","chis","stin","cinc","bis"],"rp":["inc","nic","nici","nci","nist","inci","nch","nchi","inch","nsti"]},"59":{"input":[1,2,4,5,6],"tlw":["stiinta",654],"trw":["inca",8005],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["rin",33243],"trp":["intr",61098],"tlw":["bine",14803],"trw":["intre",5472],"lp":["rin","bine","ven","veni","tine","rint","enti","rni","enit","rbi","even","bir","bie"],"rp":["intr","inte","nev","ient","inev","ibe","iber"]},"61":{"input":[1,3,4,5,6],"tlw":["tinea",1218],"trw":["inainte",6948],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["dintre",7665],"trw":["niste",5419],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["chiar",12228],"trw":["incerca",1941],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",1200],"trw":["o",113236],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",642],"trp":["oa",151490],"trw":["oa",179],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",36626],"trp":["os",73956],"tlw":["so",137],"trw":["os",129],"lp":["so","sos","sso"],"rp":["os","oss","oso","oos"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["soa",8768],"trp":["oas",22126],"lp":["soa","aso","wo","swo","sow","woo","asoa","sowa","asso","ssow","aos"],"rp":["oas","oasa","ow","osa","ossa","owa","oass","ows"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["e-",29604],"trp":["-o",27659],"trw":["-",97955],"lp":["e-","eo","e-o"],"rp":["-o","oe","-e","o-","-o-"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["a-",46041],"trp":["-a",104204],"tlw":["a-",97],"trw":["-a",320],"lp":["a-","e-a","eoa","a-a","a-o"],"rp":["-a","ox","-a-"]},"70":{"input":[2,3,7],"tlp":["do",69536],"trp":["od",23024],"tlw":["s-o",6502],"lp":["do","s-","s-o","de-","deo","eod","deod","eso","eos","deos","eose","e-s"],"rp":["od","-s","ose","-se","ode","odo","oses","osse"]},"71":{"input":[1,2,3,7],"tlp":["sa-",34714],"trp":["oda",11577],"tlw":["s-a",12787],"trw":["oase",184],"lp":["sa-","s-a","doa","a-s","sa-s","de-a","eoda","deoa","ado","asa-","da-"],"rp":["oda","oase","-as","-ad","-ade","osea","oad","oada","odea"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",107166],"trp":["ot",74165],"tlw":["tot",13553],"trw":["otto",232],"lp":["to","tot","go","tog","tto","toto","gg","got","gt","gto","togo","tg"],"rp":["ot","og","oto","ott","otog","ogo","otto","oog"]},"73":{"input":[1,4,7],"tlp":["ga",71011],"trp":["oat",31855],"tlw":["toata",5023],"trw":["ofta",463],"lp":["ga","fo","toa","ag","toat","gat","ato","foa","aga","atoa","gata","ago","goa"],"rp":["oat","of","oata","ota","oga","oft","ogat"]},"74":{"input":[2,4,7],"tlp":["co",95698],"trp":["oc",55455],"tlw":["scos",703],"lp":["co","sco","sto","cto","cot","sot","soc","toc","gos","cos","gost","scot","goss"],"rp":["oc","ost","osc","oct","octo","oco","ocot"]},"75":{"input":[1,2,4,7],"tlp":["fos",18330],"trp":["oast",12711],"tlw":["fost",18063],"trw":["ostas",97],"lp":["fos","fost","aco","gas","coa","scoa","foc","coas","agos","coat","asto","sato","cato","sfo"],"rp":["oast","oca","oac","osta","ocat","oasc"]},"76":{"input":[3,4,7],"tlp":["ro",71384],"trp":["or",188766],"tlw":["rog",1945],"trw":["ore",1272],"lp":["ro","ge","eg","tor","gr","r-","tr-","rg","reg","ege","r-o","tr-o","gre","erg","reo"],"rp":["or","ort","-t","ore","ote"]},"77":{"input":[1,3,4,7],"tlp":["foar",10466],"trp":["oar",59190],"tlw":["toate",11462],"trw":["oare",2672],"lp":["foar","toar","for","roa","rag","ega","ator","gra","egat","a-t","arg","gea"],"rp":["oar","oare","oate","oart","ora","-ar","orta","oara"]},"78":{"input":[2,3,4,7],"tlp":["dor",9727],"trp":["ord",7233],"tlw":["rost",832],"lp":["dor","ros","cor","ce-","sor","rost","rso","ctor","deg","erso","stor","dege","roc","totd","doc"],"rp":["ord","oce","ostr","otd","otde"]},"79":{"input":[1,2,3,4,7],"tlw":["doar",7637],"trw":["oras",1618],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["un",291116],"trw":["nu",113453],"lp":[],"rp":["un","nu","on","no","ou","unu","uno","nou","nun","onu","ono","onn","non","oon","oun","uu","nuu","nno","onun","onon"]},"81":{"input":[1,5,7],"tlp":["au",127814],"trp":["ua",38098],"tlw":["au",14003],"trw":["una",3763],"lp":["au","anu","aun","auna","qu","anun","ano"],"rp":["ua","una","oua","noa","ona","nua","oan","noua","unoa","oana","nau","naun","nuna"]},"82":{"input":[2,5,7],"tlp":["su",87996],"trp":["us",98070],"tlw":["sus",2880],"trw":["jos",3880],"lp":["su","sun","sus","son","snu"],"rp":["us","ju","uns","jo","jun","nos","ons","unos","jos","juns","nsu","uso","nus","osu","nsus"]},"83":{"input":[1,2,5,7],"tlp":["sau",22053],"trp":["noas",7379],"tlw":["sau",21799],"trw":["usa",4343],"lp":["sau","asu","aju","ajun","soan","suna","sona","aus","ajo","anus","asun","ason","saju"],"rp":["noas","usa","joa","uas","usoa","nasu","ouas"]},"84":{"input":[3,5,7],"tlp":["eu",42582],"trp":["une",33961],"tlw":["eu",16688],"trw":["n-o",3069],"lp":["eu","enu","eun","enun","eno"],"rp":["une","n-","u-","nu-","-u","-un","ne-","ue","n-o","neo","one","uneo","-n","ony","une-"]},"85":{"input":[1,3,5,7],"tlp":["eau",24032],"trp":["n-a",17307],"trw":["n-a",2864],"lp":["eau","eaun","euna","que","xu","exu","e-au","eaua","xua","exua"],"rp":["n-a","-au","unea","ne-a","oane","neau","n-au","uque","ux","onea"]},"86":{"input":[2,3,5,7],"tlp":["du",82602],"trp":["use",37853],"tlw":["dus",2022],"trw":["unde",9415],"lp":["du","dou","dus","duse","eus","du-","esu","du-s"],"rp":["use","und","unde","ud","ndu","uses","unse","ond","u-s","ndo","ndu-","ude"]},"87":{"input":[1,2,3,5,7],"tlw":["doua",9678],"trw":["n-as",944],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["tu",124429],"trp":["ut",118950],"tlw":["tu",6631],"trw":["unt",87],"lp":["tu","bu","gu","bo","tun","bun","totu"],"rp":["ut","ng","unt","ob","ub","ntu","otu","nto","ont","ung","ngu","utu","ug"]},"89":{"input":[1,4,5,7],"tlp":["atu",33704],"trp":["uta",13540],"tlw":["buna",3510],"trw":["nota",476],"lp":["atu","fu","gan","atun","ang","aut","anga","tau","buna","antu","fun","gatu","tua"],"rp":["uta","nga","uf","uat","ntoa","uga","oba"]},"90":{"input":[2,4,5,7],"tlp":["cu",251869],"trp":["uc",41800],"tlw":["cu",107724],"trw":["joc",840],"lp":["cu","con","cut","sunt","scu","cun","tunc","stu","cont","cuno","sub","cons","scut","tus"],"rp":["uc","unc","ocu","onst","ust","nost"]},"91":{"input":[1,2,4,5,7],"tlw":["facut",6146],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ru",139075],"trp":["ur",142738],"tlw":["greu",2486],"trw":["unor",2218],"lp":["ru","tru","ebu","tur","gur","rebu","reu","rob","run","r-u","tr-u","r-un","eru"],"rp":["ur","ntru","ute","ntr-","orb","oru","ngur"]},"93":{"input":[1,3,4,5,7],"tlw":["erau",9639],"trw":["n-ar",2738],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["trecut",2015],"trw":["usor",3025],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["fusese",5088],"trw":["noastra",2596],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["il",100912],"trw":["il",17933],"lp":[],"rp":["il","lo","li","oi","ol","io","olo","ilo","ili","oli","ll","iil","ill","lio","lii","oil","ilio","iol","lli","iilo"]},"97":{"input":[1,6,7],"tlp":["al",157962],"trp":["la",223904],"tlw":["al",17061],"trw":["la",103939],"lp":["al","ala","ali","zil","zo","alal"],"rp":["la","ioa","lal","ial","ila","oz","oia","loa","ozi","oal","ola","lia","iala","ilal"]},"98":{"input":[2,6,7],"tlp":["sol",5524],"trp":["osi",9398],"tlw":["sol",477],"trw":["ok",68],"lp":["sol","sl","sil","sosi","sio","sili"],"rp":["osi","los","olos","iso","ios","losi","ko","ls","lis","osii","ois","kil","kilo","iko"]},"99":{"input":[1,2,6,7],"tlp":["sal",9118],"trp":["las",16180],"tlw":["sala",1335],"trw":["lasa",3143],"lp":["sal","sla","sala","sola","alis","salo","wil","sall","als","sali","will"],"rp":["las","lasa","lasi","isoa","ioas","olas","llas","law","low"]},"100":{"input":[3,6,7],"tlp":["el",182428],"trp":["le",217374],"tlw":["el",30829],"trw":["le",16173],"lp":["el","ele","elo","eli","e-i","eil"],"rp":["le","ile","i-","-i","-l","l-","oie","lie","iile","lel","le-","ole","i-l","i-o"]},"101":{"input":[1,3,6,7],"tlp":["ale",32820],"trp":["i-a",24465],"tlw":["ale",8429],"trw":["i-a",2798],"lp":["ale","a-i","ela","a-l","eal","zile","eala","e-ai","elea","elal","eila","alea","zel","eali"],"rp":["i-a","-ai","lea","l-a","le-a","i-ai"]},"102":{"input":[2,3,6,7],"tlp":["si-",10078],"trp":["-si",12424],"tlw":["doi",4637],"trw":["ideile",361],"lp":["si-","doi","sel","eles","del","sele","delo","si-l","dio","si-i","esel"],"rp":["-si","les","iod","ld","lose","odi","old","lid","i-s"]},"103":{"input":[1,2,3,6,7],"tlw":["sa-i",9425],"trw":["lase",794],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["vo",55302],"trp":["lt",70688],"tlw":["voi",6798],"trw":["lovi",446],"lp":["vo","gi","voi","toti","til","gl","tio"],"rp":["lt","ig","oti","ov","lti","lit","ito","ovi","olit","liti","lov","lig","lv"]},"105":{"input":[1,4,6,7],"tlp":["alt",31331],"trp":["lta",15965],"tlw":["afla",4776],"lp":["alt","fl","tal","fla","afl","afla","alta","voa","alti","val","avo","fol","folo","alat"],"rp":["lta","lat","lalt","iga","lita","lati"]},"106":{"input":[2,4,6,7],"tlp":["col",18912],"trp":["loc",16849],"tlw":["colt",621],"trw":["loc",5973],"lp":["col","cl","sig","cio","colo","cli","voc","cil","soci","soti"],"rp":["loc","icio","lic","osti","oci","ico","ltc","lc","osit","isto"]},"107":{"input":[1,2,4,6,7],"tlw":["acolo",7879],"trw":["lasat",1202],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["tel",33441],"trp":["ori",36339],"tlw":["vor",6208],"trw":["lor",11526],"lp":["tel","tele","vor","ril","rile","rel","tori","rio","elor","rele","evo","egi","erio","evoi"],"rp":["ori","lor","leg","lte","ilor","-ti"]},"109":{"input":[1,3,4,6,7],"tlw":["fel",7250],"trw":["i-ar",1059],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["cel",9164],"trw":["orice",4726],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["astfel",4825],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ul",257995],"trw":["lui",42818],"lp":[],"rp":["ul","lu","ui","lui","iu","nul","ulu","ului","lin","lul","inu","nui","uni","noi","iul","lun","iun","ho","unul","unui"]},"113":{"input":[1,5,6,7],"tlp":["zu",17502],"trp":["uz",18000],"tlw":["ziua",2202],"trw":["lua",3594],"lp":["zu","azu","auz","alu","anul","auzi","ziu","zul","alul"],"rp":["uz","lan","lua","nal","uzi","uia","inua","uza","inal","ula","onal"]},"114":{"input":[2,5,6,7],"tlp":["sul",13027],"trp":["usi",13886],"tlw":["solul",203],"trw":["insusi",1408],"lp":["sul","solu","snui","siu","siun","sulu"],"rp":["usi","insu","jul","onsi","jl","ijl","jlo","ijlo","nsul","isnu","lus","ius","isu","niso"]},"115":{"input":[1,2,5,6,7],"tlw":["salon",359],"trw":["nasul",473],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["elu",10235],"trp":["uie",12750],"trw":["nu-i",6710],"lp":["elu","elul","elui","enul"],"rp":["uie","u-i","nu-i","nel","unei","ule","iune","nele","nile","nule","ley","u-l","len","nu-l","inel","unel"]},"117":{"input":[1,3,5,6,7],"tlw":["auzea",594],"trw":["n-ai",1802],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["seldon",899],"trw":["nu-si",1718],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["daneel",945],"trw":["indoiala",1534],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["tul",54201],"trp":["ult",36980],"tlw":["totul",5658],"trw":["lungul",1158],"lp":["tul","bui","bil","tiu","bl","gin","tinu"],"rp":["ult","ing","uti","uit","into","ntul","utin","igu","ingu","uv","otul","itu","ulti"]},"121":{"input":[1,4,5,6,7],"tlw":["vazut",3775],"trw":["langa",4102],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["stiu",5950],"trw":["ochii",6711],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["atunci",10484],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["trebuie",10427],"trw":["intr-o",7901],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["vorba",4095],"trw":["legatura",2214],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["sigur",2888],"trw":["lucru",5287],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["singura",2707],"trw":["niciodata",5038],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",639],"trw":["p",1061],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",93968],"trp":["pa",161658],"tlw":["apa",3245],"trw":["pa",666],"lp":["ap","apa"],"rp":["pa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",103043],"trp":["ps",4877],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["asp",12078],"trp":["pas",8637],"tlw":["apasa",575],"trw":["pas",1350],"lp":["asp","spa","sap","apas","aspa","aps","apsa","sapa"],"rp":["pas","pasa","psa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",52344],"trp":["pe",216440],"trw":["pe",110407],"lp":["ep","epe"],"rp":["pe"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",10151],"trp":["pea",1505],"tlw":["ape",142],"lp":["ape","epa","xp","exp","eap","xpe","expe","eapa","epea","a'","apea"],"rp":["pea","'a","pape"]},"134":{"input":[2,3,8],"tlp":["esp",14229],"trp":["pes",7355],"tlw":["spe",120],"trw":["pese",104],"lp":["esp","desp","spe","dep","eped","espe","d'","sep","depe","eps","edep","deps"],"rp":["pes","ped","pede","pse","pese","pses","'d"]},"135":{"input":[1,2,3,8],"tlp":["depa",6164],"trp":["pad",2363],"tlw":["da'",470],"trw":["pedeapsa",277],"lp":["depa","aspe","epas","d'a","dap","apad","adap","da'","espa","deap","spad","sepa","xped","eaps","dape","apes"],"rp":["pad","pada","pase","psea"]},"136":{"input":[4,8],"trp":["pt",44775],"lp":[],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",16520],"trp":["pat",19529],"tlw":["fapt",2580],"trw":["pat",1592],"lp":["apt","fap","fapt","apta","tap","apat","tapa"],"rp":["pat","pta","ptat","pata"]},"138":{"input":[2,4,8],"tlp":["tsp",179],"trp":["pc",487],"lp":["tsp"],"rp":["pc","pts","ptsp"]},"139":{"input":[1,2,4,8],"tlp":["cap",19242],"trp":["pac",5660],"tlw":["cap",4694],"trw":["pacat",460],"lp":["cap","spat","capa","stap","sapt","scap","apac","apc","capc","apca"],"rp":["pac","past","paca","ptas","pca"]},"140":{"input":[3,4,8],"tlp":["ept",20779],"trp":["pr",175984],"tlw":["trepte",244],"trw":["perete",698],"lp":["ept","rep","rept","tep","tept","repe","rp","epte","rpr","epet","epr"],"rp":["pr","pre","per","pte","pet","pere","petr","pret","pete"]},"141":{"input":[1,3,4,8],"tlp":["apr",12184],"trp":["par",57159],"tlw":["repeta",897],"trw":["prea",8562],"lp":["apr","epta","apar","epar","apte","eapt","rap","reap","xper","xpr"],"rp":["par","part","pra","pare","prea","para","patr","pate","pera","ptea"]},"142":{"input":[2,3,4,8],"tlp":["spr",29330],"trp":["pest",6829],"tlw":["spre",12456],"trw":["peste",6431],"lp":["spr","spre","cep","espr","drep","step","spec","sper","resp","cept","cepe","ccep","spet","ecep"],"rp":["pest","pres","pec","pers","pect","prec"]},"143":{"input":[1,2,3,4,8],"tlw":["departe",3651],"trw":["parca",3176],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mp",55904],"trw":["m",611],"lp":[],"rp":["mp","mn","mm","pn","nm"]},"145":{"input":[1,5,8],"tlp":["am",164027],"trp":["ma",278091],"tlw":["am",32990],"trw":["ma",23028],"lp":["am","ama","aman","amn","amp","amna","apan"],"rp":["ma","man","pan","mana","pana","mna","pam","pama","mpa","mam","nap","mama","mpan"]},"146":{"input":[2,5,8],"tlp":["sm",3780],"trp":["nsp",2667],"lp":["sm"],"rp":["nsp","ms","nsm","jm"]},"147":{"input":[1,2,5,8],"tlp":["amas",5157],"trp":["mas",15541],"tlw":["sam",974],"trw":["masa",3415],"lp":["amas","sam","sma","sman","wm","wma","wman","ansp","ansm","ajm","ajma","asm","asam"],"rp":["mas","masa","maj","nspa","jma","paj","msw"]},"148":{"input":[3,5,8],"tlp":["em",62631],"trp":["me",133398],"tlw":["emmy",120],"trw":["pen",562],"lp":["em","eme","emn","emen","emp","emne","epen"],"rp":["me","pen","men","mne","mene","mpe","mem","nem","nep","my","mey","meye","meme"]},"149":{"input":[1,3,5,8],"tlp":["ame",19413],"trp":["mea",17220],"tlw":["amy",498],"trw":["mea",8040],"lp":["ame","eam","amen","eama","ema","emna","eamn","emea","eman","amne","xem","exem","xemp"],"rp":["mea","mnea","mane","max","pane","neam","mame"]},"150":{"input":[2,3,5,8],"tlp":["sem",11901],"trp":["med",6644],"tlw":["semn",1590],"trw":["mese",274],"lp":["sem","semn","seme","dem","dm","edem","demn","esem"],"rp":["med","mes","ndep","nsem","mese","mens","md","mped","mej","mejd","ndem","pend"]},"151":{"input":[1,2,3,5,8],"tlw":["seama",5586],"trw":["newman",723],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",1176],"trp":["mb",18560],"lp":["tm"],"rp":["mb","mt","mpt","ntm"]},"153":{"input":[1,4,5,8],"tlp":["tam",11107],"trp":["mat",12972],"tlw":["tam",65],"trw":["pamant",2358],"lp":["tam","tamp","amb","fam","tama","apab","atm","amba"],"rp":["mat","ntam","mba","mant","mata","ptam","pant","mnat","pab","mbat","mta","ptan"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",3183],"trp":["mc",201],"lp":["cm"],"rp":["mc","mcn"]},"155":{"input":[1,2,4,5,8],"tlw":["cam",2462],"trw":["manca",317],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",42362],"trp":["pent",38307],"tlw":["tem",615],"trw":["merry",352],"lp":["rm","rem","tem","erm","reme","rme","term","trem"],"rp":["pent","mer","ment","mbr","mpr","mpre","met","mte","mbe","mere","ntem","perm"]},"157":{"input":[1,3,4,5,8],"tlw":["eram",2315],"trw":["mare",9405],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["cemp",522],"trw":["mers",716],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["camera",2871],"trw":["macar",2850],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"|","trp":["pi",47365],"trw":["pi",147],"lp":[],"rp":["pi","ip","pii","ipi","pip","piii","ipp","ppi","pipp","ippi","ipii"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",2966],"trp":["ipa",7902],"trw":["pai",991],"lp":["api","zap","zapa","aip"],"rp":["ipa","pia","pai","paz","paza","pipa","paia","ipai"]},"162":{"input":[2,6,8],"tlp":["spi",4099],"trp":["isp",6275],"lp":["spi","sip","sipi"],"rp":["isp","ips","psi","ipsi","pis","isip","pisi"]},"163":{"input":[1,2,6,8],"tlp":["spai",782],"trp":["ispa",2264],"trw":["pasi",1282],"lp":["spai","wisp","aisp"],"rp":["ispa","pasi","ipsa","pais","pias"]},"164":{"input":[3,6,8],"tlp":["epi",929],"trp":["pie",11267],"lp":["epi"],"rp":["pie","ipe","iep","piep","pipe","pei","ipei"]},"165":{"input":[1,3,6,8],"tlp":["epez",640],"trp":["pez",756],"tlw":["apei",412],"trw":["paie",113],"lp":["epez","apei"],"rp":["pez","pezi","paie","piez"]},"166":{"input":[2,3,6,8],"tlp":["disp",4472],"trp":["pid",1040],"trw":["piese",120],"lp":["disp","espi","depi","epis","eisp","dip","edip","epsi"],"rp":["pid","pied","ipse","ispe","pedi","pies","peis","pide","psei"]},"167":{"input":[1,2,3,6,8],"tlw":["zapada",443],"trw":["piesa",219],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",2064],"trp":["pit",3627],"tlw":["tip",589],"lp":["tip","tipi"],"rp":["pit","pti","ptii","ipit","piti","ipt","piv","ptit"]},"169":{"input":[1,4,6,8],"tlp":["apit",1785],"trp":["piat",2890],"tlw":["tipa",384],"trw":["piata",623],"lp":["apit","tipa","fip","fipt","tapi"],"rp":["piat","pita","pati","pav","ptia","ipat","pavi","ptz"]},"170":{"input":[2,4,6,8],"tlp":["cip",1891],"trp":["pic",7270],"tlw":["tipic",72],"trw":["pic",662],"lp":["cip","spit","cipi","cisp","scip","spic"],"rp":["pic","pici","psit","pist","pci","pisc","icip","pict","ipic"]},"171":{"input":[1,2,4,6,8],"tlw":["twisp",358],"trw":["pisica",266],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",1804],"trp":["pri",68428],"trw":["privi",2867],"lp":["rip","rpri","epti","ripi","tipe"],"rp":["pri","priv","peri","pier","prie","pir","iept","piri","iper","prii","prit","piet","ptie","prir","peti"]},"173":{"input":[1,3,4,6,8],"tlw":["aparitia",471],"trw":["privirea",2009],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["spirit",395],"trw":["priveste",1176],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["expresie",605],"trw":["paris",654],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",133805],"trw":["imi",6836],"lp":[],"rp":["mi","im","min","imp","imi","nim","nimi","pin","him","hip","mii","mni","inim","mpi","imin","mini","impi","mpin","imii","hm"]},"177":{"input":[1,5,6,8],"tlp":["ami",12341],"trp":["mai",98477],"tlw":["amiaza",160],"trw":["mai",80029],"lp":["ami","amin","zam","anim","aim","aima"],"rp":["mai","ima","mina","main","nima","pina","mani","inap","pani","iam","impa","mia","miaz","hipa"]},"178":{"input":[2,5,6,8],"tlp":["sim",14730],"trp":["mis",9725],"tlw":["sim",169],"trw":["nisip",353],"lp":["sim","simp","smi","spin","smin","smis"],"rp":["mis","mij","imis","insp","mnis","psih","misi","pins","ism","nsmi","jim","nism","nspi","mik"]},"179":{"input":[1,2,5,6,8],"tlw":["spaima",491],"trw":["masina",2136],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emei",6102],"trp":["ime",17305],"trw":["mine",8864],"lp":["emei","emi","enim","emni","epin"],"rp":["ime","meni","mine","mei","imen","nime","mie","meie","impe","hem","mpie","hme","nemi","mnei","hmey"]},"181":{"input":[1,3,5,6,8],"tlw":["examina",267],"trw":["maine",960],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["depinde",317],"trw":["mesei",432],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["asemeni",170],"trw":["inseamna",2064],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",26063],"trp":["mit",11574],"tlw":["timp",11216],"trw":["mintii",377],"lp":["tim","timp","timi","bim"],"rp":["mit","mint","imt","imb","mti","imti","himb","imit","ntim","mbi","mv","mtit","imbi","miti","mbin","mnit"]},"185":{"input":[1,4,5,6,8],"tlw":["zambi",959],"trw":["pamint",327],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["simti",2661],"trw":["nimic",9112],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["stiam",937],"trw":["mica",2010],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["vreme",4271],"trw":["prin",13288],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["femeie",2003],"trw":["prima",3179],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["trimis",946],"trw":["incepe",1001],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["dimineata",2070],"trw":["imediat",2866],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["po",78466],"trw":["po",250],"lp":[],"rp":["po","op","opo","pop","popo","ppo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",15763],"trp":["poa",16012],"lp":["apo","apoa"],"rp":["poa","oap","opa","oapa","opoa"]},"194":{"input":[2,7,8],"tlp":["spo",1393],"trp":["pos",4845],"lp":["spo","sop"],"rp":["pos","osp","ppos","poso"]},"195":{"input":[1,2,7,8],"tlp":["apos",506],"trp":["oasp",820],"lp":["apos","soap"],"rp":["oasp","pow"]},"196":{"input":[3,7,8],"tlp":["eop",544],"trp":["ope",5829],"trw":["pe-o",124],"lp":["eop","epo","eopo"],"rp":["ope","pe-","poe","o'","pe-o","oep","-p","-po"]},"197":{"input":[1,3,7,8],"tlp":["eopa",329],"trp":["oape",5724],"lp":["eopa","eoap"],"rp":["oape","pa-","pa-a","pe-a","-ap","-apo"]},"198":{"input":[2,3,7,8],"tlp":["deop",448],"trp":["pod",1174],"trw":["pod",151],"lp":["deop","espo","depo"],"rp":["pod","pode","oped","o'd","'do","o'do","pose","podo","ospe"]},"199":{"input":[1,2,3,7,8],"trw":["podea",484],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",280],"trp":["pot",14753],"trw":["pot",6200],"lp":["top","topo"],"rp":["pot","opt","pto","poto","opot"]},"201":{"input":[1,4,7,8],"trp":["poat",13885],"trw":["poata",1395],"lp":[],"rp":["poat","oapt","pof","pag","poft","opat","opag","paga"]},"202":{"input":[2,4,7,8],"tlp":["cop",12351],"trp":["post",1578],"tlw":["scop",481],"trw":["post",334],"lp":["cop","scop","sopt","stop"],"rp":["post","poc","opts"]},"203":{"input":[1,2,4,7,8],"tlw":["soapta",372],"trw":["ostap",497],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",9845],"trp":["pro",33227],"trw":["pro",584],"lp":["rop","ropr","torp","ropo"],"rp":["pro","por","prop","port","opr","oper","potr","orp","preg","opor","prot","preo","opre","pote","prog","poet"]},"205":{"input":[1,3,4,7,8],"tlw":["aproape",5419],"trw":["poate",12490],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["corp",515],"trw":["prost",652],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["castorp",852],"trw":["profesor",467],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["pu",141518],"trw":["om",4434],"lp":[],"rp":["pu","um","mu","om","up","mo","pun","num","omn","mun","mnu","umn","omnu","mpo","mpu","mom","omu","upu","omp","umu"]},"209":{"input":[1,5,7,8],"tlp":["apu",6837],"trp":["upa",22884],"trw":["puna",1094],"lp":["apu","anum","amu"],"rp":["upa","uma","oam","numa","moa","oma","oamn","noap","puna","oman","manu","napo","uman","umoa","ompa","mau","umpa"]},"210":{"input":[2,5,7,8],"tlp":["spu",46684],"trp":["pus",30635],"tlw":["spus",7687],"trw":["pus",1846],"lp":["spu","spun","spus","sup","supu","smu","sum","som","somn"],"rp":["pus","puns","mos","jum","mus","umos","mons","usm","opus","mpos","upus"]},"211":{"input":[1,2,5,7,8],"tlw":["spuna",1588],"trw":["pusa",270],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["epu",10511],"trp":["ume",17000],"trw":["meu",6128],"lp":["epu","emu","emo","e-m"],"rp":["ume","pune","-m","m-","ome","omen","umne","nume","meu","mome","u-m","nu-m","upe","umen","unem","pome"]},"213":{"input":[1,3,5,7,8],"tlw":["anume",1489],"trw":["m-am",5385],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["spuse",11543],"trw":["mod",2741],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["dupa",19290],"trw":["m-as",588],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["gm",4573],"trp":["put",44011],"tlw":["tom",831],"trw":["putut",3710],"lp":["gm","gmu","gmun","tum","tom","gom","gomo"],"rp":["put","ptu","putu","mot","upt","mpot","umb","pub","munt","omot","nopt","mut","omb"]},"217":{"input":[1,4,5,7,8],"tlw":["fum",415],"trw":["muta",298],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["cum",21263],"trw":["punct",1203],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["acum",14119],"trw":["munca",1233],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["grup",794],"trw":["pentru",38307],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["forma",2036],"trw":["putea",12961],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["drum",2045],"trw":["precum",1277],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["asupra",4961],"trw":["jumatate",2548],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",51269],"trw":["lipi",125],"lp":[],"rp":["pl","poi","pli","opi","lip","pil","pol","poli","opii","opil","plo","ipl","lipi","lop","piil","ilip","ipo","lp","opol","ipil"]},"225":{"input":[1,6,7,8],"tlp":["apoi",14490],"trp":["pla",21202],"tlw":["apoi",11964],"trw":["ploaia",308],"lp":["apoi","apl","alp","apli","alpi","aipo"],"rp":["pla","lipa","pal","poz","pozi","opia","pala","ipal","pali","ploa","pila","lap","poal","ploz"]},"226":{"input":[2,6,7,8],"tlp":["spl",128],"trp":["posi",2885],"trw":["lipsi",96],"lp":["spl","spio"],"rp":["posi","lips","ispo","oisp","ipos"]},"227":{"input":[1,2,6,7,8],"tlw":["spala",165],"trw":["lipsa",702],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["epl",2223],"trp":["ple",12048],"trw":["piele",586],"lp":["epl","epli","elep"],"rp":["ple","opie","pel","piel","iple","lep","lipe","pele","lope","pile","pelo","ipel","pleo","ople","lpe","opei","i-p"]},"229":{"input":[1,3,6,7,8],"tlw":["apele",237],"trw":["pielea",663],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spele",82],"trw":["leopold",96],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["deplasa",142],"trw":["pilda",452],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["topi",144],"trp":["poti",3337],"tlw":["topi",76],"trw":["poti",3337],"lp":["topi","gip","gipt"],"rp":["poti","pov","opti","plit","pito","ptil","ipot","opit","poit"]},"233":{"input":[1,4,6,7,8],"tlw":["filip",379],"trw":["pozitia",504],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"tlw":["copii",1305],"trw":["lipsit",548],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["clipa",4697],"trw":["politica",737],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"trw":["opri",1970],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["apropie",1375],"trw":["propria",852],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["clipe",748],"trw":["plece",755],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["spatele",2337],"trw":["picioare",2645],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["mul",40796],"trw":["omul",2345],"lp":[],"rp":["mul","pul","mpl","lum","umi","mnul","lumi","impo","mil","umin","plu","impu","impl","plin","mpul","lim","mili","imu","mplu","imul"],"special":"enter"},"241":{"input":[1,5,6,7,8],"trw":["numai",8412],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["simplu",2223],"trw":["plus",1041],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["simpla",704],"trw":["psihanaliza",445],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["mele",3338],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["exemplu",767],"trw":["oameni",4178],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["domnule",3620],"trw":["limpede",719],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["sa-mi",4566],"trw":["mesajul",279],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["timpul",4000],"trw":["mult",13114],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["faptul",2300],"trw":["multa",2401],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["chipul",1320],"trw":["mijlocul",1212],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["capul",3813],"trw":["placut",782],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["trupul",1201],"trw":["multe",4923],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["ti-am",981],"trw":["probabil",2719],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["sigmund",4378],"trw":["inceput",3590],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["dumneavoastra",3116],"trw":["pardaillan",1106],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/sv-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/sv-keymap.json index 0e62a33d0f..7f37672f41 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/sv-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/sv-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",697],"tlw":["a",9529],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",67011],"tlw":["s",3622],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",278948],"tlw":["sa",80180],"lp":["sa","as","ssa","ass","wa","assa","asa","was","sas","aw","ww","awa","sw","www","ws","swa","swas","wass","sass","saa"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",6371],"tlw":["e",4153],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ex",11230],"tlw":["ae",267],"lp":["ex","ea","ax","ae","xe","xa","exe","exa","axe","axa"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",849873],"tlw":["de",70970],"lp":["de","ed","se","es","des","dd","ess","sed","dde","ds","sse","dess","ede","edd","esse","edde","ese","see","eds","ses"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",298347],"tlw":["da",17349],"lp":["ad","ade","da","eda","sad","ada","seda","sade","ades","add","sada","dda","dad","we","essa","dade","ase","sex","ew","esa"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",430036],"tlw":["t",873],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",420129],"tlw":["att",208516],"lp":["at","ta","att","fa","ft","tta","atta","af","ff","ata","tat","fat","fatt","aff","ffa","affa","aft","tf","fta","tfa"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",283811],"tlw":["c",718],"lp":["st","ts","sst","sc","ct","cc","tst","tc","tts","cts","cs","sts","tss","css","stst","stt"],"rp":[]},"11":{"input":[1,2,4],"tlp":["sta",95542],"tlw":["satt",11381],"lp":["sta","ast","sat","ac","satt","tsa","asta","ats","ca","tsat","tac","fas","fast","stat","tas","ssta","stas","tast","sats","stac"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["et",462362],"tlw":["ett",56585],"lp":["et","er","te","re","ter","rt","tr","ett","tte","rr","tre","ete","ret","tet","rre","tter","ert","eter","ere","ttr"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",760793],"tlw":["ar",85841],"lp":["ar","ra","fr","ara","fra","are","era","ef","rat","fte","art","fter","tar","eft","efte","far","tra","ratt","fe","atte"],"rp":[]},"14":{"input":[2,3,4],"tlp":["det",223222],"tlw":["det",200915],"lp":["det","rs","dr","rd","der","ste","rde","rst","ers","est","res","red","str","ser","ec","ce","set","ster","rts","ters"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["dar",44203],"tlw":["dar",26310],"lp":["dar","rad","dra","tad","tade","rade","aste","rsta","ars","ttad","ras","erad","ard","star","sar","esta","reda","dare","stra","dera"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",152794],"trw":["n",1184],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",778026],"trp":["na",315512],"tlw":["an",15455],"trw":["nan",1595],"lp":["an","ann","anna","ana","anan","aan","aana","aq"],"rp":["na","nna","nan","nnan","nq","nana"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sj",21534],"trp":["ns",134271],"trw":["j",959],"lp":["sj","sn","ssn","sjn"],"rp":["ns","nns","nss","nj","jn","js"]},"19":{"input":[1,2,5],"tlp":["ans",66128],"trp":["ja",200724],"tlw":["san",954],"trw":["ja",6931],"lp":["ans","san","sja","sna","anns","sann","ssna","ansa","anss","aj","ssan"],"rp":["ja","nas","nsa","jan","nnas","jans","jana","nja","nans"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",686772],"trp":["ne",122568],"tlw":["en",141247],"trw":["ny",2216],"lp":["en","enn","enne","ene","een","ey","enen","enny"],"rp":["ne","nne","nen","ny","yn","nnen","ye","yne","nny","ynn","ynen","ynne"]},"21":{"input":[1,3,5],"tlp":["ena",17736],"trp":["ya",3990],"tlw":["ena",2504],"trw":["nya",3694],"lp":["ena","anne","ane","enna","ay","aen","any","anen","xan","exan","ean","xen","xn","xna","enq"],"rp":["ya","nya","yx","yea","nea"]},"22":{"input":[2,3,5],"tlp":["den",113774],"trp":["nd",217577],"tlw":["den",78914],"trw":["nej",5908],"lp":["den","sen","ens","ej","end","sy","dn","ende","dj"],"rp":["nd","nde","je","ys","nes","nnes","yd","nden","nej","jd","nse"]},"23":{"input":[1,2,3,5],"tlp":["and",132309],"trp":["nda",24974],"tlw":["sedan",13315],"trw":["new",1697],"lp":["and","ande","dan","edan","anda","sena","adan","enda","aden","anad","ensa","enas","aend","anse"],"rp":["nda","nad","nade","jad","jade","ndan"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",13062],"trp":["nt",180386],"tlw":["b",734],"lp":["bb","tn","ttn","bt","bbt","tb"],"rp":["nt","nb","ntn","ntb"]},"25":{"input":[1,4,5],"tlp":["ba",80692],"trp":["nat",22606],"tlw":["annat",5472],"trw":["nat",1860],"lp":["ba","tan","ant","fan","anta","fann","ab","ban","abb","anf","bat","bba","tna"],"rp":["nat","nta","nf","nnat","nab","nabb","natt"]},"26":{"input":[2,4,5],"tlp":["tj",8505],"trp":["nst",17861],"tlw":["bbc",225],"lp":["tj","bj","bs","stn","sb","sjt","stj","sjtj","tsn","ttj","bc","bbc","stb"],"rp":["nst","nc","jt","nts","jtj","nsc","nstn"]},"27":{"input":[1,2,4,5],"tlp":["stan",20169],"trp":["nast",10284],"tlw":["fanns",8575],"trw":["nastan",4851],"lp":["stan","bas","snab","anst","sant","bast","tja","tans","stna","tjan","bac","can","abs","snac"],"rp":["nast","nsta","jat","nac","jac","ntas"]},"28":{"input":[3,4,5],"tlp":["be",75593],"trp":["nte",109829],"tlw":["be",2398],"trw":["ner",9674],"lp":["be","rn","ten","br","ty","ent","ren","ry","ern","ber","bet","rb"],"rp":["nte","ner","yt","ytt","yr","nner","ntr","net"]},"29":{"input":[1,3,4,5],"tlp":["ran",60950],"trp":["nar",65863],"tlw":["fran",27093],"trw":["nar",38189],"lp":["ran","rna","bar","fran","arn","bara","arna","erna","bra","aran","aren","enar","barn","bera","arb","fy","arbe","beta"],"rp":["nar","nare"]},"30":{"input":[2,3,4,5],"tlp":["rj",17958],"trp":["yc",35067],"tlw":["tyst",1977],"lp":["rj","bes","tyc","sten","tys","tyd","dern","ryc","tryc","best","tyst","rden","rje","cen"],"rp":["yc","nder","ndr","yst","ndet","jer"]},"31":{"input":[1,2,3,4,5],"tlw":["andra",13622],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",1872],"trw":["i",182908],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",2800],"trp":["ia",13569],"tlw":["ai",142],"trw":["ia",109],"lp":["ai","za","zi","az","zia","azi","zz","zzi","zza"],"rp":["ia","iz","iza","izz","izza","izi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["sk",180550],"trp":["is",102522],"trw":["is",3657],"lp":["sk","si","ski","sik","sis","ssi","sisk","ssis"],"rp":["is","ik","isk","ks","ki","iss","iks","kis","isi","iki","kisk","kss"]},"35":{"input":[1,2,6],"tlp":["ak",74294],"trp":["ka",235111],"tlw":["ska",12542],"trw":["kaka",73],"lp":["ak","ska","sak","aka","wi","ask","skak","asi","aska","aks","aki"],"rp":["ka","ika","ksa","iska","isa","kas","issa","kak","kaka"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",3018],"trp":["ie",21160],"tlw":["ei",236],"trw":["ie",545],"lp":["ei","eii","eiie"],"rp":["ie","iie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["xi",1347],"trp":["ix",677],"tlw":["xii",198],"trw":["iae",103],"lp":["xi","ez","axi","exi","ezi","ezia","eiz","ze","xii","eza","aie","zie","zzie","eizi"],"rp":["ix","ixa","iae"]},"38":{"input":[2,3,6],"tlp":["di",49953],"trp":["ke",99121],"tlw":["skedde",390],"trw":["ide",614],"lp":["di","ek","ske","sid","dis","disk","sek","edi","esk","dsk","die"],"rp":["ke","id","ide","idi","ike","ise","idd","isse","iske"]},"39":{"input":[1,2,3,6],"tlp":["ake",15029],"trp":["kad",24793],"tlw":["sida",1628],"trw":["kikade",168],"lp":["ake","sake","sida","eka","skad","adi","akad","ekad","dska","xak","exak"],"rp":["kad","kade","ida","isad","idda","kada","kae","ikae","ikad"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",221703],"trp":["it",120245],"tlw":["vi",40006],"trw":["it",2563],"lp":["ti","vi","tv","vit","tit","titt","tvi","vt","tiv","tti","vitt","tivt","viv"],"rp":["it","itt","iv","ivi","iti","ivit","ivt"]},"41":{"input":[1,4,6],"tlp":["va",353292],"trp":["itta",13428],"tlw":["av",76117],"trw":["if",757],"lp":["va","av","fi","ati","tva","vat","vatt","ava","avi","tav","ativ","vita","via","tia","tati"],"rp":["itta","if","iva","ita","ift"]},"42":{"input":[2,4,6],"tlp":["ck",135164],"trp":["kt",95132],"tlw":["sitt",8546],"trw":["its",666],"lp":["ck","sv","vis","sit","cks","ci","sti","sitt","viss","tis","ckt","tisk"],"rp":["kt","ic","ick","kv","ikt","kti","ist","isst"]},"43":{"input":[1,2,4,6],"tlp":["cka",27505],"trp":["kva",11609],"tlw":["fick",13643],"lp":["cka","sva","akt","ack","fic","fick","cksa","akti","tack","visa","acka","avs","tak","akta","fak"],"rp":["kva","icka","kta","kat","ista"]},"44":{"input":[3,4,6],"tlp":["ri",112888],"trp":["ite",18519],"tlw":["vet",9572],"trw":["iver",119],"lp":["ri","ve","ver","ev","vet","rit","eri","rv","riv","rti","rev","eve","erv","vr","rie","tri"],"rp":["ite","ir","ive","ivet"]},"45":{"input":[1,3,4,6],"tlp":["var",212597],"trp":["ifr",5093],"tlw":["var",117709],"lp":["var","vara","ari","vari","ave","arit","vart","rva","varf","vare","arti","rav","ria","veta","fri","eva","rati","riva"],"rp":["ifr","ifra"]},"46":{"input":[2,3,4,6],"tlp":["rk",39613],"trp":["kr",38960],"tlw":["vid",15758],"lp":["rk","tid","cke","vid","rik","cket","skr","erk","dri","verk","sve","ckte","tidi","ris","ekt"],"rp":["kr","kte","ker","ket","kri"]},"47":{"input":[1,2,3,4,6],"tlw":["vad",23975],"trw":["kvar",4233],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",374950],"trw":["in",24928],"lp":[],"rp":["in","ni","inn","nin","hi","nni","ih","nh","hin","ini","nnin","hn","hinn","hnn","inni","ninn","inh","nih","ihi","nihi"]},"49":{"input":[1,5,6],"tlp":["anni",10319],"trp":["ha",405073],"tlw":["ah",652],"trw":["han",135757],"lp":["anni","ani","anin","ah","anh","ain","aha","anha"],"rp":["ha","han","ina","inna","hann","ian","nha","iha","nhan","nina","naz","nazi"]},"50":{"input":[2,5,6],"tlp":["sin",33457],"trp":["nk",33920],"tlw":["sin",19809],"trw":["his",717],"lp":["sin","sh"],"rp":["nk","nsk","kn","ins","nis","nsi","inns","hj","nisk","nnis","his","nsik","nik","kni","kh","kin","nnik","kj"]},"51":{"input":[1,2,5,6],"tlp":["ank",24052],"trp":["kan",66516],"tlw":["sina",10070],"trw":["hans",21333],"lp":["ank","ansk","sina","anka","ansi","zj","akn","akna","wh","skan"],"rp":["kan","hans","kans","nska","kna","kann","nka","hja","has","nika"]},"52":{"input":[3,5,6],"tlp":["eh",10650],"trp":["he",119485],"tlw":["eh",118],"trw":["henne",15609],"lp":["eh","enh","enhe","eni","enin","enni"],"rp":["he","hen","henn","inne","ien","nhe","ine","hy","nie","hey","neh","nneh","hei","nnie"]},"53":{"input":[1,3,5,6],"tlp":["eha",2865],"trp":["neha",654],"tlw":["annie",246],"lp":["eha","anie","ehan","anhe","enha","xin","axin","eani"],"rp":["neha","hea","hay","iane","hae","ynha","hane"]},"54":{"input":[2,3,5,6],"tlp":["dni",7195],"trp":["ken",21208],"tlw":["din",3500],"trw":["hennes",10942],"lp":["dni","dnin","ensk","din","sky","enk","edni","enke"],"rp":["ken","nske","nke","ind","iden","ky","ysk","ndi","isen","yk","iken","inde"]},"55":{"input":[1,2,3,5,6],"tlw":["sidan",3037],"trw":["hade",75973],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["th",42119],"trp":["int",110738],"tlw":["bit",873],"trw":["hit",1552],"lp":["th","bi","vin","tin","vinn","tni","tnin","thi","vb","ttni"],"rp":["int","nti","hit","ntin","nv","hitt","ib","nit","ith","nnit"]},"57":{"input":[1,4,5,6],"tlp":["van",36400],"trp":["hat",6563],"tlw":["that",4254],"trw":["haft",3590],"lp":["van","fin","finn","vant","tha","that","vann","anv","anva","vana","vani"],"rp":["hat","nva","haf","haft","inf","nvan","hav","hant","nati"]},"58":{"input":[2,4,5,6],"tlp":["ch",278681],"trp":["nkt",10498],"tlw":["this",1111],"trw":["nick",290],"lp":["ch","vj","ckh","sch","stin","ckn","this","svin","tch"],"rp":["nkt","kvin","inst","nic","nick","hist","nsv","nist","nsti","ich","nsiv"]},"59":{"input":[1,2,4,5,6],"tlw":["finns",6035],"trw":["kvinna",2323],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["the",26354],"trp":["inte",103570],"tlw":["the",18662],"trw":["inte",98723],"lp":["the","rin","ven","beh","rh","enti","bri","ther","erh","rhe","rhet","erin"],"rp":["inte","het","hete","her","intr","iten","nhet","hr"]},"61":{"input":[1,3,4,5,6],"tlw":["aven",6437],"trw":["har",67488],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["tiden",4874],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["tankte",6155],"trw":["kanner",3200],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",2318],"trw":["o",784],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",454],"trp":["oa",4643],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",206463],"trp":["os",36642],"tlw":["so",864],"trw":["oss",8697],"lp":["so","sso","soo"],"rp":["os","oss","oso","osso"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",2187],"trp":["ow",2946],"tlw":["wow",58],"lp":["wo","aso","asso","saso","aos","woo","wow","sao"],"rp":["ow","osa","ossa","ows","owa"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",2376],"trp":["oe",2841],"trw":["-",1201],"lp":["eo"],"rp":["oe","-o","-e"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",397],"trp":["ox",399],"lp":["xo","a-"],"rp":["ox","-a","oxe"]},"70":{"input":[2,3,7],"tlp":["do",35235],"trp":["od",40189],"tlw":["dod",2129],"trw":["ode",316],"lp":["do","dod","eso","edo","sod","sode","esso","dode","doe","does","dsso","dods"],"rp":["od","ode","odd","odde","ose","ods","ood","oes"]},"71":{"input":[1,2,3,7],"tlp":["doda",2068],"trp":["oda",5346],"tlw":["doda",1277],"lp":["doda","ado","sado","dow","easo","dosa","wood"],"rp":["oda","oad","odad","owe","oade","odda"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",90775],"trp":["ot",87066],"tlw":["tog",9006],"trw":["otto",257],"lp":["to","go","gt","got","gg","tog","gott","tto","tot","tg","tott"],"rp":["ot","og","ott","ogo","oto","ogt","otto","otog","ogg"]},"73":{"input":[1,4,7],"tlp":["ag",317285],"trp":["of",22543],"tlw":["ga",7744],"trw":["of",10904],"lp":["ag","fo","ga","ago","aga","agot","tag","gat","agg","agt","gga","gatt","fot","agga"],"rp":["of","oft","off","ota","ofta","oga"]},"74":{"input":[2,4,7],"tlp":["sto",40954],"trp":["oc",289376],"tlw":["sot",305],"trw":["ost",163],"lp":["sto","gs","co","gst","toc","stoc","soc","stot","sog","sot","sogo","togs","gts"],"rp":["oc","ost","ots","ogs","ogst","otst","osc"]},"75":{"input":[1,2,4,7],"tlp":["sag",35425],"trp":["osta",1492],"tlw":["sag",13608],"trw":["oftast",553],"lp":["sag","saga","ags","sagt","gas","gast","gsa","sof","aco","soff","asto","sags","gsta","stag","ggas","agas","two"],"rp":["osta","otsa","osca"]},"76":{"input":[3,4,7],"tlp":["ge",165737],"trp":["or",421801],"tlw":["gor",5705],"trw":["or",1673],"lp":["ge","ro","gr","ger","tor","eg","tro","gor","rg","get","ror","ege","gre","rot"],"rp":["or","ort","ore","orr","org","orre"]},"77":{"input":[1,3,4,7],"tlp":["for",206825],"trp":["ora",29125],"tlw":["for",86020],"lp":["for","gar","age","gra","rag","fort","frag","agr","raga","agra","gora","ager","rfo","rfor","fore","arfo","gare","agar","tora"],"rp":["ora"]},"78":{"input":[2,3,4,7],"tlp":["rso",20201],"trp":["ors",42598],"tlw":["stod",7497],"trw":["ord",2401],"lp":["rso","stor","erso","tod","stod","gd","dor","rod","gde","ros","dro","dorr","rost","sor"],"rp":["ors","ord","orde","orst","orso","orts"]},"79":{"input":[1,2,3,4,7],"tlw":["sager",8656],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",215270],"trw":["nu",20433],"lp":[],"rp":["on","un","no","nu","ono","unn","ou","nno","nnu","onn","non","oun","oon","onnu","nou"]},"81":{"input":[1,5,7],"tlp":["au",4722],"trp":["unna",7691],"tlw":["annu",3706],"lp":["au","annu","anno","ano","qu","anu","anua","anon","aou"],"rp":["unna","ua","ona","oan","nua","onna","una","oona","nqu","oann","uan"]},"82":{"input":[2,5,7],"tlp":["son",18325],"trp":["ju",46060],"tlw":["son",1353],"trw":["ju",10993],"lp":["son","su","sson","sju","ssu","sjo","sjon","sjun"],"rp":["ju","jo","us","oj","ons","jus","jon","nsso","uss","jun","jou","noj"]},"83":{"input":[1,2,5,7],"tlp":["aus",996],"trp":["usa",2823],"tlw":["sonja",276],"trw":["usa",1340],"lp":["aus","sona","wou","susa","ajo","ason"],"rp":["usa","oja","now","joa","own","janu","usan","onsa","onja","jua","jusa","ojan","nown","joan"]},"84":{"input":[3,5,7],"tlp":["eno",11644],"trp":["one",21213],"tlw":["eu",207],"trw":["you",1411],"lp":["eno","eu","eun","enou","enu"],"rp":["one","onen","yo","ue","you","unne","oen","une","n-","ony","oy","neu","y-","yon","nony"]},"85":{"input":[1,3,5,7],"tlp":["xu",643],"trp":["ux",939],"tlw":["anyone",56],"lp":["xu","exu","xue","exue","enqu","que","xua","exua","ann-","anyo"],"rp":["ux","uxn","uxna","yxo","uxe","uxen","na-","nna-","oxen","oya"]},"86":{"input":[2,3,5,7],"tlp":["du",45128],"trp":["und",57348],"tlw":["du",40597],"trw":["nojd",538],"lp":["du","essu","sone","dju","esu","don"],"rp":["und","unde","ud","use","ude","jud","ond","ojd","ojde","ndo","jude","nod","usen","oend"]},"87":{"input":[1,2,3,5,7],"tlw":["down",202],"trw":["undan",1747],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bo",46434],"trp":["ng",167442],"tlw":["but",1259],"trw":["ut",23705],"lp":["bo","gon","tu","gn","ton","tun","gu","bu"],"rp":["ng","ut","ob","ung","ont","ug","ogon","ngt","unt","obb","uto","nog"]},"89":{"input":[1,4,5,7],"tlp":["ang",59439],"trp":["nag",48054],"tlw":["gang",6284],"trw":["nagot",17486],"lp":["ang","gan","agon","gang","anga","fu","gna","fon","angt","anfo","fun","atu"],"rp":["nag","nago","nga","uta","utan","nfo","natu","uf"]},"90":{"input":[2,4,5,7],"tlp":["gj",14385],"trp":["ust",11850],"tlw":["tjugo",984],"trw":["just",6345],"lp":["gj","gjo","stu","sut","stun","ssut","suto","gons","ston","bjo"],"rp":["ust","job","onst","just","ngs","jobb","uc","uts","jut","jug"]},"91":{"input":[1,2,4,5,7],"tlw":["sang",726],"trw":["jag",133333],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gen",96318],"trp":["nge",54194],"tlw":["bort",5520],"trw":["ur",6494],"lp":["gen","ru","bor","geno","run","bort","bro","egen","gent","tur"],"rp":["nge","ur","ngen","yg","ngr","ute","nor","orn","nger","unge"]},"93":{"input":[1,3,4,5,7],"tlw":["gangen",3207],"trw":["nagra",10760],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["gjorde",8777],"trw":["under",14292],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["borjade",6021],"trw":["undrade",1668],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["ll",353262],"trw":["ol",691],"lp":[],"rp":["ll","li","il","ill","ol","lo","io","oli","oll","lli","ili","lil","lill","olo","illi","ilo","llo","oi","lio","ool"]},"97":{"input":[1,6,7],"tlp":["al",238639],"trp":["la",255368],"tlw":["alla",16475],"trw":["lilla",2283],"lp":["al","all","alla","ala","ali","alli","zl","zla","zo"],"rp":["la","lla","illa","ola","ial","lia","ila","olla","ilia","oal","oz"]},"98":{"input":[2,6,7],"tlp":["sl",40951],"trp":["ko",98099],"tlw":["sol",152],"trw":["loss",451],"lp":["sl","sok","sko","slo","skil","sli"],"rp":["ko","kl","ls","ok","lk","lik","kli","lls","lis","kil","ilk","olis","ills","kol"]},"99":{"input":[1,2,6,7],"tlp":["sla",15876],"trp":["kla",20340],"tlw":["alls",1882],"trw":["lika",4448],"lp":["sla","als","sal","ako","skal","alls","soka","alsk","wal"],"rp":["kla","las","kal","kall","lika","oka","lsa","lska","llsa","lak","lka"]},"100":{"input":[3,6,7],"tlp":["el",123518],"trp":["le",182809],"tlw":["el",140],"trw":["le",410],"lp":["el","ell","elle","ele","eli","elo","elie"],"rp":["le","lle","ille","ile","olle","ole","lie","iel","lee","iell","lei","ilie","leo"]},"101":{"input":[1,3,6,7],"tlp":["ela",19365],"trp":["lex",1360],"tlw":["alex",558],"trw":["ozzie",67],"lp":["ela","alle","ale","ella","alex","ael","xl","axl","xla","axla","alie","xel","axel","eal","zoe","elal"],"rp":["lex","lexa","lea","oale"]},"102":{"input":[2,3,6,7],"tlp":["del",18169],"trp":["ld",45006],"tlw":["del",4570],"trw":["ledde",906],"lp":["del","els","dl","else","dli","dele"],"rp":["ld","lde","lld","led","lse","llde","lke","oke","ild","ilke","les","kel","lise","lek"]},"103":{"input":[1,2,3,6,7],"tlw":["alldeles",2595],"trw":["lade",1957],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["til",104652],"trp":["ig",244414],"tlw":["till",78901],"trw":["liv",4044],"lp":["til","till","gi","vil","vill","tio","tig","gl","tl"],"rp":["ig","lig","lt","ov","igt","llt","ligt","lv","lit","liv","log"]},"105":{"input":[1,4,6,7],"tlp":["tal",36626],"trp":["lat",26260],"tlw":["allt",11228],"trw":["lag",5318],"lp":["tal","allt","val","fl","alv","vag","tall","fal","fol","fall","atio","tala","alt","gla"],"rp":["lat","lag","iga","liga","ova","lva"]},"106":{"input":[2,4,6,7],"tlp":["sig",64325],"trp":["ock",24775],"tlw":["sig",62876],"trw":["likt",416],"lp":["sig","gic","gick","vilk","sokt","sov","ckl"],"rp":["ock","ocks","lic","ktig","lick","klig","okt","loc","lock","lst","kov","lts","llts"]},"107":{"input":[1,2,4,6,7],"tlw":["alltsa",3917],"trw":["ocksa",11852],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rl",28320],"trp":["ler",39552],"tlw":["eller",21635],"trw":["over",17755],"lp":["rl","rig","rli","elt","rlig","tel","rol","erl","rige"],"rp":["ler","ige","ller","ove","over","lev","lige","let","lite","llet","lir"]},"109":{"input":[1,3,4,6,7],"tlw":["varfor",5432],"trw":["later",1516],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["dig",9388],"trw":["kort",3076],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["aldrig",8974],"trw":["klart",1941],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ho",156427],"trw":["hon",71785],"lp":[],"rp":["ho","hon","ul","ull","hu","lu","hono","ion","nl","lin","nli","hol","ln","holl","oh","iho","uni","hun","lun","ino"]},"113":{"input":[1,5,6,7],"tlp":["anl",7509],"trp":["lan",56925],"tlw":["quinn",114],"trw":["halla",3206],"lp":["anl","anli","alin","alln","alan"],"rp":["lan","hal","hall","llan","nal","oha","ohan","ula","nali","olan","lina","ulla","lna","nla","inal"]},"114":{"input":[2,5,6,7],"tlp":["sku",43264],"trp":["ku",78375],"tlw":["skull",1127],"trw":["hos",4276],"lp":["sku","skul","slu"],"rp":["ku","kul","kull","kun","lj","uk","kon","hus","ilj","juk","kunn","olj","jl","ojl","jli","ojli","hos"]},"115":{"input":[1,2,5,6,7],"tlw":["skolan",1295],"trw":["kunna",5127],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eho",7167],"trp":["ulle",40111],"tlw":["elin",222],"trw":["hel",1084],"lp":["eho","eln","enl","enli"],"rp":["ulle","hel","len","ly","ione","llen","yl","hell","ilen","yll","olen","nle","uel","uell","leen","nel"]},"117":{"input":[1,3,5,6,7],"tlw":["elina",933],"trw":["hela",8378],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["skulle",39287],"trw":["kunde",19109],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["skillnad",573],"trw":["handlade",1198],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",59992],"trp":["ing",86010],"tlw":["bli",9179],"trw":["hogt",1449],"lp":["bl","bli","tion","bil","vu","ting","gh"],"rp":["ing","ning","lut","lb","nlig","llb","illb","hog","uv","hov","huv","uvu","huvu"]},"121":{"input":[1,4,5,6,7],"tlw":["vanligt",1746],"trw":["inga",3339],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["slut",3258],"trw":["och",261930],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["sjalv",9343],"trw":["klockan",2663],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["blev",11880],"trw":["hur",18534],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["vagen",2479],"trw":["langre",3962],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["verkligen",3128],"trw":["huvudet",3819],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["bland",3152],"trw":["ibland",2952],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",78667],"trw":["p",2050],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",29927],"trp":["pa",207370],"trw":["pa",144323],"lp":["ap","app","appa","apa"],"rp":["pa","ppa","pap","papp"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",19698],"trp":["ps",3998],"lp":["sp"],"rp":["ps","pps","psp","ppsp"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",4537],"trp":["pas",7949],"tlw":["asp",86],"trw":["pass",549],"lp":["spa","sap","asp","aps","spas","aspa"],"rp":["pas","pass","ppas","psa","ppsa","pspa","pasa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",6152],"trp":["pe",48173],"trw":["'",472],"lp":["ep","epp","e'","eppe","e'e","eep"],"rp":["pe","ppe","'e","pee","pep","pepp"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",3130],"trp":["pape",411],"lp":["ape","appe","xp","exp","epa","xpe","expe","eap","eape","eppa"],"rp":["pape","'a"]},"134":{"input":[2,3,8],"tlp":["spe",8127],"trp":["pd",798],"tlw":["esp",72],"trw":["'de",96],"lp":["spe","esp","espe","sep","desp","dp","dsp","eps","dspe","dep","e's","d'","d'e"],"rp":["pd","ppd","'s","'d","'de","pse","'es"]},"135":{"input":[1,2,3,8],"tlp":["apad",573],"trp":["pad",4572],"trw":["passade",486],"lp":["apad","epad","dap","adap","spad","aspe","we'"],"rp":["pad","pade","ppad","pase","pesa"]},"136":{"input":[4,8],"tlp":["tp",509],"trp":["pt",11645],"trw":["pt",359],"lp":["tp","ttp"],"rp":["pt","ppt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["appt",2622],"trp":["pat",2945],"tlw":["tappa",242],"trw":["pat",56],"lp":["appt","tap","tapp","apt","apat","tpa","apta"],"rp":["pat","pf","ppf","pta","ppta","pfa","ppfa","pfat","ppat","ptat","pata","paf","patt"]},"138":{"input":[2,4,8],"tlp":["tsp",635],"trp":["pst",539],"lp":["tsp","stp","ttsp"],"rp":["pst","ppst"]},"139":{"input":[1,2,4,8],"tlp":["stpa",148],"trp":["past",2465],"trw":["pasta",175],"lp":["stpa","cap","astp","tpas","spac"],"rp":["past","ptac","pac","psta","psat","pats"]},"140":{"input":[3,4,8],"tlp":["rep",3339],"trp":["pr",31793],"tlw":["rep",90],"trw":["per",1755],"lp":["rep","ept","rp","epte","repp"],"rp":["pr","per","pre","pet","pte","pper","ppr","pete","ppte","'t","ppet","pter","petr","ppre","prep"]},"141":{"input":[1,3,4,8],"tlp":["rap",2854],"trp":["par",13633],"tlw":["trappa",178],"trw":["par",3758],"lp":["rap","rapp","trap","arp","rpa","arpa","apet","xper","repa","apr"],"rp":["par","pra","prat","part","pera","ppar","patr","pare","perf","para"]},"142":{"input":[2,3,4,8],"tlp":["spr",4496],"trp":["pers",6327],"tlw":["spred",228],"trw":["press",442],"lp":["spr","spec","cep","cept","resp","ccep","sept","t's","rsp","spre","etsp","sper","rspr","ecep"],"rp":["pers","prec","pres","pec","pdr","ppdr"]},"143":{"input":[1,2,3,4,8],"tlw":["spar",785],"trw":["pratade",1339],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",66159],"trw":["m",1599],"lp":[],"rp":["mm","mn","mp","pn","ppn","pm","ppm","nm","np"]},"145":{"input":[1,5,8],"tlp":["am",108972],"trp":["ma",166775],"tlw":["am",93],"trw":["man",29921],"lp":["am","amm","amma","amn","amna"],"rp":["ma","man","mma","mann","mna","mman","pan","nam","mam","mamm","pna","namn","ppna","nap","napp"]},"146":{"input":[2,5,8],"tlp":["sm",12954],"trp":["ms",5095],"tlw":["sms",163],"trw":["jp",57],"lp":["sm","sms","spj","ssm"],"rp":["ms","mj","nsp","nsm","pj","jp"]},"147":{"input":[1,2,5,8],"tlp":["sam",33659],"trp":["mas",17101],"tlw":["samma",6340],"trw":["massa",827],"lp":["sam","samm","sma","span","ams","sman","asm","smas","sama"],"rp":["mas","mans","nsam","jam","mass","maj","mmas","jap","japa","pans","jamn"]},"148":{"input":[3,5,8],"tlp":["em",51088],"trp":["me",242113],"tlw":["e'en",102],"trw":["men",54243],"lp":["em","eme","emm","emp","empe","emen"],"rp":["me","men","mme","my","pen","ppen","ym","mpe","mne","yp","mmen","n'","mnen","ymm"]},"149":{"input":[1,3,5,8],"tlp":["ame",4829],"trp":["mena",3740],"tlw":["amy",218],"trw":["mannen",4191],"lp":["ame","emma","amne","xem","exem","xemp","amme","ema","apen","eman","amen","an'","apne"],"rp":["mena","mea","yma","yman","many","may","pany"]},"150":{"input":[2,3,5,8],"tlp":["dem",15113],"trp":["med",110013],"tlw":["dem",13812],"trw":["med",97131],"lp":["dem","ems","sme","smy","sem","seme","emes"],"rp":["med","mes","md","mde","mede","psy","mej","mens","medd","mnd","pens","mnde","mynd"]},"151":{"input":[1,2,3,5,8],"tlw":["ensam",1863],"trw":["medan",4549],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",3262],"trp":["mt",19904],"lp":["tm","bm"],"rp":["mt","mb","mnt","pb"]},"153":{"input":[1,4,5,8],"tlp":["amt",15300],"trp":["mat",7731],"tlw":["famn",168],"trw":["mat",1157],"lp":["amt","tam","amf","amta","fam","amb","atm","tamm","amba","amat","tamt","tma"],"rp":["mat","mf","mta","mba","matt","mnat","mban","mfa"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["tsm",656],"trp":["mst",2612],"lp":["tsm","ttsm"],"rp":["mst","mts"]},"155":{"input":[1,2,4,5,8],"tlw":["samt",1065],"trw":["mats",293],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",23979],"trp":["mer",31601],"tlw":["typ",630],"trw":["mer",11323],"lp":["rm","rme","rmen","tem","rem","emb","embe","erm","typ","emt"],"rp":["mer","mmer","met","mmet","mr","ment","mbe","mber","mete","penb"]},"157":{"input":[1,3,4,5,8],"tlw":["fram",10772],"trw":["menar",2322],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["september",636],"trw":["mest",3296],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["bestamde",1009],"trw":["maste",10840],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",5476],"lp":[],"rp":["pi","ip","ipp","pip","ppi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",1326],"trp":["ippa",1060],"trw":["pia",366],"lp":["api"],"rp":["ippa","ipa","pia","pipa","piz","pizz"]},"162":{"input":[2,6,8],"tlp":["spi",447],"trp":["pis",1842],"tlw":["skip",66],"lp":["spi","spis","spik","skip"],"rp":["pis","ips","psk","ppsk","pisk","isp","ksp","pik","psi","ppsi","psik","pk","ppk","kip"]},"163":{"input":[1,2,6,8],"tlp":["skap",4614],"trp":["kap",6395],"tlw":["skapa",567],"trw":["kapp",67],"lp":["skap"],"rp":["kap","kapi","kapa","pska","pisa","pak","kapp","ispa","ipas","ikap"]},"164":{"input":[3,6,8],"trp":["ipe",417],"lp":[],"rp":["ipe","pie","pei","ippe","i'"]},"165":{"input":[1,3,6,8],"lp":[],"rp":[]},"166":{"input":[2,3,6,8],"tlp":["spek",1307],"trp":["pek",3334],"tlw":["skepp",67],"trw":["keep",74],"lp":["spek","skep","disp","dip","espi"],"rp":["pek","idp","kep","pise","peis","kspe","pike","keep","ipse","kepp","keps","kesp"]},"167":{"input":[1,2,3,6,8],"tlw":["skapade",297],"trw":["pekade",973],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",162],"trp":["pit",1381],"lp":["tip"],"rp":["pit","pti","ippt","pv","ppv"]},"169":{"input":[1,4,6,8],"tlp":["vap",1525],"trp":["pav",1648],"lp":["vap","apit"],"rp":["pav","pati","pita","pva","ppva","pif","ppif"]},"170":{"input":[2,4,6,8],"tlp":["cip",532],"trp":["pist",342],"tlw":["tips",162],"lp":["cip","tips","cksp","visp","scip","spit"],"rp":["pist","ptis","istp","pic"]},"171":{"input":[1,2,4,6,8],"tlw":["skapat",225],"trw":["packa",130],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",1494],"trp":["pri",4672],"trw":["pierre",295],"lp":["rip","epti","vep","ripe","vept","epri"],"rp":["pri","peri","pite","priv","it'","prit","pier","iper","ppri","'ti"]},"173":{"input":[1,3,4,6,8],"tlw":["varpa",108],"trw":["partiet",469],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["respekt",485],"trw":["precis",3817],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["sprak",390],"trw":["patrik",492],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",102861],"trw":["min",13506],"lp":[],"rp":["mi","min","im","mmi","imm","minn","mh","ph","him","mpi","mini","pph","imi","imp","hm","imin","mni","mnin","pni","ppni"]},"177":{"input":[1,5,6,8],"tlp":["ami",5806],"trp":["mina",5578],"trw":["mina",5090],"lp":["ami","amh","amin","amha","amni","ahm"],"rp":["mina","ham","imma","hamn","manh","mha","pami","pani","ima","hap","hami","mani","mia","iam"]},"178":{"input":[2,5,6,8],"tlp":["smi",1160],"trp":["mis",5636],"tlw":["smink",63],"trw":["minns",1738],"lp":["smi","smin","sim","simp","simm"],"rp":["mis","miss","mins","mk","mik","ism","mpis","mmis","misk","msk","kim","msi","insp","jim","km"]},"179":{"input":[1,2,5,6,8],"tlw":["smak",323],"trw":["manniska",1359],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",765],"trp":["hem",10392],"trw":["hem",4760],"lp":["emi","ehm"],"rp":["hem","hemm","ime","mhe","imme","meni","mine","phy","ypi","imen","iem","phe","hemi","iemi","hym","meh","hme","mehm"]},"181":{"input":[1,3,5,6,8],"trw":["hemma",2590],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["spisen",158],"trw":["mindes",642],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["spanien",197],"trw":["make",607],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",4993],"trp":["mit",12022],"tlw":["bmi",74],"trw":["mitt",7427],"lp":["tim","timm","tmi","tmin","vtim","vm"],"rp":["mit","mitt","mti","mmit","mv","ntim","http","mbi","mith","pbi","mbin","imb","imt","htm"]},"185":{"input":[1,4,5,6,8],"tlw":["fatima",168],"trw":["hamta",775],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",142],"trw":["minst",1383],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["skamt",390],"trw":["knappt",1332],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["vem",3834],"trw":["mitten",567],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["timmar",1675],"trw":["paven",682],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["centimeter",252],"trw":["mycket",13594],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["amerikanska",1014],"trw":["marken",865],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",29076],"lp":[],"rp":["op","po","opp","ppo","pop","poo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["appo",1452],"trp":["oppa",4532],"lp":["appo","apo"],"rp":["oppa","opa","poa"]},"194":{"input":[2,7,8],"tlp":["spo",1053],"trp":["pos",1604],"tlw":["sop",69],"lp":["spo","sop","sopp"],"rp":["pos","poss","osp","osop","opps"]},"195":{"input":[1,2,7,8],"tlp":["sapo",311],"trp":["pow",123],"tlw":["sapo",311],"lp":["sapo","apos"],"rp":["pow","opas"]},"196":{"input":[3,7,8],"tlp":["epo",584],"trp":["oppe",3306],"trw":["o'",107],"lp":["epo","eop"],"rp":["oppe","ope","peo","peop","o'","poe","o'e"]},"197":{"input":[1,3,7,8],"tlp":["xpo",151],"tlw":["expo",95],"lp":["xpo","expo"],"rp":[]},"198":{"input":[2,3,7,8],"tlp":["dop",66],"trp":["pose",156],"lp":["dop","espo"],"rp":["pose","ospe","osep","pod"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",2236],"trp":["pg",2205],"tlw":["topp",124],"lp":["top","topp","gp"],"rp":["pg","ppg","opt","pot","pott","pto"]},"201":{"input":[1,4,7,8],"tlp":["gap",69],"trp":["pag",1136],"trw":["pagatt",71],"lp":["gap","gapa"],"rp":["pag","pfo","ppfo","paga","ptag","pota","pga","ppga","opag"]},"202":{"input":[2,4,7,8],"tlp":["stop",1589],"trp":["post",535],"tlw":["stopp",156],"trw":["post",266],"lp":["stop","gsp","tspo","spot"],"rp":["post","psto"]},"203":{"input":[1,2,4,7,8],"tlw":["stoppa",368],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",6174],"trp":["pro",9288],"tlw":["grepp",356],"trw":["oppet",450],"lp":["rop","ropp","grep","repo","epor","rope","rpo","rrop"],"rp":["pro","por","port","oper","ppor","opte","prog","ppro","pror","prot","peg","pege"]},"205":{"input":[1,3,4,7,8],"tlw":["rapport",324],"trw":["page",231],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["greps",172],"trw":["process",250],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["ropade",806],"trw":["pastod",364],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",354658],"trw":["om",75959],"lp":[],"rp":["om","mo","up","upp","nom","omm","onom","um","mu","umm","oppn","pu","mun","num","omp","mon","pon","omn","munn","pun"]},"209":{"input":[1,5,7,8],"tlp":["amo",397],"trp":["omma",9507],"trw":["oppna",1197],"lp":["amo","amu","ampo","amon","ammo"],"rp":["omma","oma","pau","omna","upa","umma","uma","uman","ompa","uppa","moa","oman","poan","mona","ooma"]},"210":{"input":[2,5,7,8],"tlp":["som",155381],"trp":["moj",5297],"tlw":["som",144609],"trw":["puss",75],"lp":["som","somm","somn","smu","smo","sum","summ"],"rp":["moj","jup","mos","upps","poj","mus","oms","omoj","mju","mons","mjo","mso","omso"]},"211":{"input":[1,2,5,7,8],"tlw":["somna",238],"trw":["paus",417],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["enom",10795],"trp":["omme",12449],"trw":["uppe",1318],"lp":["enom","emo","emon"],"rp":["omme","umme","ome","uppe","ume","omen","nume","umen","pone","memo","meu","open","-m","on'","upe","onem","mue"]},"213":{"input":[1,3,5,7,8],"tlw":["anonym",71],"trw":["umea",222],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["dom",4177],"trw":["mod",240],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["djupa",306],"trw":["oppnade",1540],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",8905],"trp":["mot",29248],"tlw":["tom",739],"trw":["mot",18572],"lp":["tom","gom","tum","tomm"],"rp":["mot","utom","mg","uppg","uppt","omt","mob","upt","pub","mott","utm","omg","omb","mog","mut","moto"]},"217":{"input":[1,4,5,7,8],"tlw":["tomma",544],"trw":["manga",6574],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["com",216],"trw":["most",517],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["tomas",242],"trw":["magnus",263],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["genom",7651],"trw":["mor",2097],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["framfor",3779],"trw":["pengar",2420],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["dessutom",3021],"trw":["person",1635],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["eftersom",5237],"trw":["omradet",633],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",19160],"trw":["lopp",92],"lp":[],"rp":["pl","pol","poli","plo","lp","ppl","lip","lipp","pli","lop","ilip","opl","oppl","opi","lopp","ipl","llop","ipli","pio","ppli"]},"225":{"input":[1,6,7,8],"tlp":["alp",4565],"trp":["pla",9629],"trw":["lapp",124],"lp":["alp","alpa","appl","apl","apli","apol"],"rp":["pla","lap","lapp","lpa","pal","ppla","lapa","pala","pola","lopa","opia","plai","pall"]},"226":{"input":[2,6,7,8],"tlp":["slip",785],"trp":["kop",4334],"tlw":["slips",162],"trw":["polis",999],"lp":["slip","spl","spol","skop","spok","spio"],"rp":["kop","kopp","posi","klip","kopi","lips","plik","lsp","llsp","pok","ispl","pols","psl","ppsl"]},"227":{"input":[1,2,6,7,8],"tlw":["sallskap",673],"trw":["kopa",928],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["eopl",483],"trp":["pel",7276],"trw":["people",483],"lp":["eopl","elop","elp","e'l","e'll"],"rp":["pel","ple","pple","ople","lpe","pole","pell","lope","opei","pele","ppel","'l","'ll","opie"]},"229":{"input":[1,3,6,7,8],"tlw":["apple",405],"trw":["pela",641],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spel",332],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["spelade",1035],"trw":["klappade",170],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["gpl",562],"trp":["plot",3391],"trw":["pigg",86],"lp":["gpl","gip","tiop"],"rp":["plot","pgi","ppgi","lpt","plig","ptio","pig","lopt","pgiv","pitl","pigg","pigt"]},"233":{"input":[1,4,6,7,8],"tlw":["filippa",520],"trw":["pavliga",154],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["plotsligt",3109],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["slappt",216],"trw":["plats",2333],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["grip",561],"trw":["prov",161],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["april",550],"trw":["lappar",380],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["speciellt",540],"trw":["kropp",1211],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["slappte",734],"trw":["kapitel",1031],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["ml",11059],"trw":["honom",25475],"lp":[],"rp":["ml","mil","hop","lm","ommi","mli","ihop","hopp","inom","minu","lom","olm","holm","mill","uppl","mili","iml","ilm","omi","oml"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["allihop",335],"trw":["lamna",1453],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["slump",168],"trw":["kom",13274],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["smala",395],"trw":["komma",5926],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["mille",982],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["exempel",1422],"trw":["mellan",5596],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["ekonomi",202],"trw":["polisen",2473],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["samlade",437],"trw":["lamnade",1603],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["glomt",566],"trw":["mig",33025],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["gamla",2772],"trw":["lamnat",936],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["stockholm",1670],"trw":["kommit",3251],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["bakom",3858],"trw":["langsamt",1192],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"trw":["igenom",2222],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["tvartom",521],"trw":["information",924],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["emellertid",640],"trw":["kommer",10071],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["samtidigt",3340],"trw":["manniskor",3295],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",697],"tlw":["a",9529],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",67011],"tlw":["s",3622],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["sa",278948],"tlw":["sa",80180],"lp":["sa","as","ssa","ass","wa","assa","asa","was","sas","aw","ww","awa","sw","www","ws","swa","swas","wass","sass","saa"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",6371],"tlw":["e",4153],"lp":["ee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ex",11230],"tlw":["ae",267],"lp":["ex","ea","ax","ae","xe","xa","exe","exa","axe","axa"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",849873],"tlw":["de",70970],"lp":["de","ed","se","es","des","dd","ess","sed","dde","ds","sse","dess","ede","edd","esse","edde","ese","see","eds","ses"],"rp":[]},"7":{"input":[1,2,3],"tlp":["ad",298347],"tlw":["da",17349],"lp":["ad","ade","da","eda","sad","ada","seda","sade","ades","add","sada","dda","dad","we","essa","dade","ase","sex","ew","esa"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",430036],"tlw":["t",873],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["at",420129],"tlw":["att",208516],"lp":["at","ta","att","fa","ft","tta","atta","af","ff","ata","tat","fat","fatt","aff","ffa","affa","aft","tf","fta","tfa"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",283811],"tlw":["c",718],"lp":["st","ts","sst","sc","ct","cc","tst","tc","tts","cts","cs","sts","tss","css","stst","stt"],"rp":[]},"11":{"input":[1,2,4],"tlp":["sta",95542],"tlw":["satt",11381],"lp":["sta","ast","sat","ac","satt","tsa","asta","ats","ca","tsat","tac","fas","fast","stat","tas","ssta","stas","tast","sats","stac"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["et",462362],"tlw":["ett",56585],"lp":["et","er","te","re","ter","rt","tr","ett","tte","rr","tre","ete","ret","tet","rre","tter","ert","eter","ere","ttr"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",760793],"tlw":["ar",85841],"lp":["ar","ra","fr","ara","fra","are","era","ef","rat","fte","art","fter","tar","eft","efte","far","tra","ratt","fe","atte"],"rp":[]},"14":{"input":[2,3,4],"tlp":["det",223222],"tlw":["det",200915],"lp":["det","rs","dr","rd","der","ste","rde","rst","ers","est","res","red","str","ser","ec","ce","set","ster","rts","ters"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["dar",44203],"tlw":["dar",26310],"lp":["dar","rad","dra","tad","tade","rade","aste","rsta","ars","ttad","ras","erad","ard","star","sar","esta","reda","dare","stra","dera"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",152794],"trw":["n",1184],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",778026],"trp":["na",315512],"tlw":["an",15455],"trw":["nan",1595],"lp":["an","ann","anna","ana","anan","aan","aana","aq"],"rp":["na","nna","nan","nnan","nq","nana"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sj",21534],"trp":["ns",134271],"trw":["j",959],"lp":["sj","sn","ssn","sjn"],"rp":["ns","nns","nss","nj","jn","js"]},"19":{"input":[1,2,5],"tlp":["ans",66128],"trp":["ja",200724],"tlw":["san",954],"trw":["ja",6931],"lp":["ans","san","sja","sna","anns","sann","ssna","ansa","anss","aj","ssan"],"rp":["ja","nas","nsa","jan","nnas","jans","jana","nja","nans"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",686772],"trp":["ne",122568],"tlw":["en",141247],"trw":["ny",2216],"lp":["en","enn","enne","ene","een","ey","enen","enny"],"rp":["ne","nne","nen","ny","yn","nnen","ye","yne","nny","ynn","ynen","ynne"]},"21":{"input":[1,3,5],"tlp":["ena",17736],"trp":["ya",3990],"tlw":["ena",2504],"trw":["nya",3694],"lp":["ena","anne","ane","enna","ay","aen","any","anen","xan","exan","ean","xen","xn","xna","enq"],"rp":["ya","nya","yx","yea","nea"]},"22":{"input":[2,3,5],"tlp":["den",113774],"trp":["nd",217577],"tlw":["den",78914],"trw":["nej",5908],"lp":["den","sen","ens","ej","end","sy","dn","ende","dj"],"rp":["nd","nde","je","ys","nes","nnes","yd","nden","nej","jd","nse"]},"23":{"input":[1,2,3,5],"tlp":["and",132309],"trp":["nda",24974],"tlw":["sedan",13315],"trw":["new",1697],"lp":["and","ande","dan","edan","anda","sena","adan","enda","aden","anad","ensa","enas","aend","anse"],"rp":["nda","nad","nade","jad","jade","ndan"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",13062],"trp":["nt",180386],"tlw":["b",734],"lp":["bb","tn","ttn","bt","bbt","tb"],"rp":["nt","nb","ntn","ntb"]},"25":{"input":[1,4,5],"tlp":["ba",80692],"trp":["nat",22606],"tlw":["annat",5472],"trw":["nat",1860],"lp":["ba","tan","ant","fan","anta","fann","ab","ban","abb","anf","bat","bba","tna"],"rp":["nat","nta","nf","nnat","nab","nabb","natt"]},"26":{"input":[2,4,5],"tlp":["tj",8505],"trp":["nst",17861],"tlw":["bbc",225],"lp":["tj","bj","bs","stn","sb","sjt","stj","sjtj","tsn","ttj","bc","bbc","stb"],"rp":["nst","nc","jt","nts","jtj","nsc","nstn"]},"27":{"input":[1,2,4,5],"tlp":["stan",20169],"trp":["nast",10284],"tlw":["fanns",8575],"trw":["nastan",4851],"lp":["stan","bas","snab","anst","sant","bast","tja","tans","stna","tjan","bac","can","abs","snac"],"rp":["nast","nsta","jat","nac","jac","ntas"]},"28":{"input":[3,4,5],"tlp":["be",75593],"trp":["nte",109829],"tlw":["be",2398],"trw":["ner",9674],"lp":["be","rn","ten","br","ty","ent","ren","ry","ern","ber","bet","rb"],"rp":["nte","ner","yt","ytt","yr","nner","ntr","net"]},"29":{"input":[1,3,4,5],"tlp":["ran",60950],"trp":["nar",65863],"tlw":["fran",27093],"trw":["nar",38189],"lp":["ran","rna","bar","fran","arn","bara","arna","erna","bra","aran","aren","enar","barn","bera","arb","fy","arbe","beta"],"rp":["nar","nare"]},"30":{"input":[2,3,4,5],"tlp":["rj",17958],"trp":["yc",35067],"tlw":["tyst",1977],"lp":["rj","bes","tyc","sten","tys","tyd","dern","ryc","tryc","best","tyst","rden","rje","cen"],"rp":["yc","nder","ndr","yst","ndet","jer"]},"31":{"input":[1,2,3,4,5],"tlw":["andra",13622],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",1872],"trw":["i",182908],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["ai",2800],"trp":["ia",13569],"tlw":["ai",142],"trw":["ia",109],"lp":["ai","za","zi","az","zia","azi","zz","zzi","zza"],"rp":["ia","iz","iza","izz","izza","izi"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["sk",180550],"trp":["is",102522],"trw":["is",3657],"lp":["sk","si","ski","sik","sis","ssi","sisk","ssis"],"rp":["is","ik","isk","ks","ki","iss","iks","kis","isi","iki","kisk","kss"]},"35":{"input":[1,2,6],"tlp":["ak",74294],"trp":["ka",235111],"tlw":["ska",12542],"trw":["kaka",73],"lp":["ak","ska","sak","aka","wi","ask","skak","asi","aska","aks","aki"],"rp":["ka","ika","ksa","iska","isa","kas","issa","kak","kaka"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",3018],"trp":["ie",21160],"tlw":["ei",236],"trw":["ie",545],"lp":["ei","eii","eiie"],"rp":["ie","iie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["xi",1347],"trp":["ix",677],"tlw":["xii",198],"trw":["iae",103],"lp":["xi","ez","axi","exi","ezi","ezia","eiz","ze","xii","eza","aie","zie","zzie","eizi"],"rp":["ix","ixa","iae"]},"38":{"input":[2,3,6],"tlp":["di",49953],"trp":["ke",99121],"tlw":["skedde",390],"trw":["ide",614],"lp":["di","ek","ske","sid","dis","disk","sek","edi","esk","dsk","die"],"rp":["ke","id","ide","idi","ike","ise","idd","isse","iske"]},"39":{"input":[1,2,3,6],"tlp":["ake",15029],"trp":["kad",24793],"tlw":["sida",1628],"trw":["kikade",168],"lp":["ake","sake","sida","eka","skad","adi","akad","ekad","dska","xak","exak"],"rp":["kad","kade","ida","isad","idda","kada","kae","ikae","ikad"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",221703],"trp":["it",120245],"tlw":["vi",40006],"trw":["it",2563],"lp":["ti","vi","tv","vit","tit","titt","tvi","vt","tiv","tti","vitt","tivt","viv"],"rp":["it","itt","iv","ivi","iti","ivit","ivt"]},"41":{"input":[1,4,6],"tlp":["va",353292],"trp":["itta",13428],"tlw":["av",76117],"trw":["if",757],"lp":["va","av","fi","ati","tva","vat","vatt","ava","avi","tav","ativ","vita","via","tia","tati"],"rp":["itta","if","iva","ita","ift"]},"42":{"input":[2,4,6],"tlp":["ck",135164],"trp":["kt",95132],"tlw":["sitt",8546],"trw":["its",666],"lp":["ck","sv","vis","sit","cks","ci","sti","sitt","viss","tis","ckt","tisk"],"rp":["kt","ic","ick","kv","ikt","kti","ist","isst"]},"43":{"input":[1,2,4,6],"tlp":["cka",27505],"trp":["kva",11609],"tlw":["fick",13643],"lp":["cka","sva","akt","ack","fic","fick","cksa","akti","tack","visa","acka","avs","tak","akta","fak"],"rp":["kva","icka","kta","kat","ista"]},"44":{"input":[3,4,6],"tlp":["ri",112888],"trp":["ite",18519],"tlw":["vet",9572],"trw":["iver",119],"lp":["ri","ve","ver","ev","vet","rit","eri","rv","riv","rti","rev","eve","erv","vr","rie","tri"],"rp":["ite","ir","ive","ivet"]},"45":{"input":[1,3,4,6],"tlp":["var",212597],"trp":["ifr",5093],"tlw":["var",117709],"lp":["var","vara","ari","vari","ave","arit","vart","rva","varf","vare","arti","rav","ria","veta","fri","eva","rati","riva"],"rp":["ifr","ifra"]},"46":{"input":[2,3,4,6],"tlp":["rk",39613],"trp":["kr",38960],"tlw":["vid",15758],"lp":["rk","tid","cke","vid","rik","cket","skr","erk","dri","verk","sve","ckte","tidi","ris","ekt"],"rp":["kr","kte","ker","ket","kri"]},"47":{"input":[1,2,3,4,6],"tlw":["vad",23975],"trw":["kvar",4233],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",374950],"trw":["in",24928],"lp":[],"rp":["in","ni","inn","nin","hi","nni","ih","nh","hin","ini","nnin","hn","hinn","hnn","inni","ninn","inh","nih","ihi","nihi"]},"49":{"input":[1,5,6],"tlp":["anni",10319],"trp":["ha",405073],"tlw":["ah",652],"trw":["han",135757],"lp":["anni","ani","anin","ah","anh","ain","aha","anha"],"rp":["ha","han","ina","inna","hann","ian","nha","iha","nhan","nina","naz","nazi"]},"50":{"input":[2,5,6],"tlp":["sin",33457],"trp":["nk",33920],"tlw":["sin",19809],"trw":["his",717],"lp":["sin","sh"],"rp":["nk","nsk","kn","ins","nis","nsi","inns","hj","nisk","nnis","his","nsik","nik","kni","kh","kin","nnik","kj"]},"51":{"input":[1,2,5,6],"tlp":["ank",24052],"trp":["kan",66516],"tlw":["sina",10070],"trw":["hans",21333],"lp":["ank","ansk","sina","anka","ansi","zj","akn","akna","wh","skan"],"rp":["kan","hans","kans","nska","kna","kann","nka","hja","has","nika"]},"52":{"input":[3,5,6],"tlp":["eh",10650],"trp":["he",119485],"tlw":["eh",118],"trw":["henne",15609],"lp":["eh","enh","enhe","eni","enin","enni"],"rp":["he","hen","henn","inne","ien","nhe","ine","hy","nie","hey","neh","nneh","hei","nnie"]},"53":{"input":[1,3,5,6],"tlp":["eha",2865],"trp":["neha",654],"tlw":["annie",246],"lp":["eha","anie","ehan","anhe","enha","xin","axin","eani"],"rp":["neha","hea","hay","iane","hae","ynha","hane"]},"54":{"input":[2,3,5,6],"tlp":["dni",7195],"trp":["ken",21208],"tlw":["din",3500],"trw":["hennes",10942],"lp":["dni","dnin","ensk","din","sky","enk","edni","enke"],"rp":["ken","nske","nke","ind","iden","ky","ysk","ndi","isen","yk","iken","inde"]},"55":{"input":[1,2,3,5,6],"tlw":["sidan",3037],"trw":["hade",75973],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["th",42119],"trp":["int",110738],"tlw":["bit",873],"trw":["hit",1552],"lp":["th","bi","vin","tin","vinn","tni","tnin","thi","vb","ttni"],"rp":["int","nti","hit","ntin","nv","hitt","ib","nit","ith","nnit"]},"57":{"input":[1,4,5,6],"tlp":["van",36400],"trp":["hat",6563],"tlw":["that",4254],"trw":["haft",3590],"lp":["van","fin","finn","vant","tha","that","vann","anv","anva","vana","vani"],"rp":["hat","nva","haf","haft","inf","nvan","hav","hant","nati"]},"58":{"input":[2,4,5,6],"tlp":["ch",278681],"trp":["nkt",10498],"tlw":["this",1111],"trw":["nick",290],"lp":["ch","vj","ckh","sch","stin","ckn","this","svin","tch"],"rp":["nkt","kvin","inst","nic","nick","hist","nsv","nist","nsti","ich","nsiv"]},"59":{"input":[1,2,4,5,6],"tlw":["finns",6035],"trw":["kvinna",2323],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["the",26354],"trp":["inte",103570],"tlw":["the",18662],"trw":["inte",98723],"lp":["the","rin","ven","beh","rh","enti","bri","ther","erh","rhe","rhet","erin"],"rp":["inte","het","hete","her","intr","iten","nhet","hr"]},"61":{"input":[1,3,4,5,6],"tlw":["aven",6437],"trw":["har",67488],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["tiden",4874],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["tankte",6155],"trw":["kanner",3200],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",2318],"trw":["o",784],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","tlp":["ao",454],"trp":["oa",4643],"lp":["ao"],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",206463],"trp":["os",36642],"tlw":["so",864],"trw":["oss",8697],"lp":["so","sso","soo"],"rp":["os","oss","oso","osso"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",2187],"trp":["ow",2946],"tlw":["wow",58],"lp":["wo","aso","asso","saso","aos","woo","wow","sao"],"rp":["ow","osa","ossa","ows","owa"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",2376],"trp":["oe",2841],"trw":["-",1201],"lp":["eo"],"rp":["oe","-o","-e"],"special":"punc"},"69":{"input":[1,3,7],"tlp":["xo",397],"trp":["ox",399],"lp":["xo","a-"],"rp":["ox","-a","oxe"]},"70":{"input":[2,3,7],"tlp":["do",35235],"trp":["od",40189],"tlw":["dod",2129],"trw":["ode",316],"lp":["do","dod","eso","edo","sod","sode","esso","dode","doe","does","dsso","dods"],"rp":["od","ode","odd","odde","ose","ods","ood","oes"]},"71":{"input":[1,2,3,7],"tlp":["doda",2068],"trp":["oda",5346],"tlw":["doda",1277],"lp":["doda","ado","sado","dow","easo","dosa","wood"],"rp":["oda","oad","odad","owe","oade","odda"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["to",90775],"trp":["ot",87066],"tlw":["tog",9006],"trw":["otto",257],"lp":["to","go","gt","got","gg","tog","gott","tto","tot","tg","tott"],"rp":["ot","og","ott","ogo","oto","ogt","otto","otog","ogg"]},"73":{"input":[1,4,7],"tlp":["ag",317285],"trp":["of",22543],"tlw":["ga",7744],"trw":["of",10904],"lp":["ag","fo","ga","ago","aga","agot","tag","gat","agg","agt","gga","gatt","fot","agga"],"rp":["of","oft","off","ota","ofta","oga"]},"74":{"input":[2,4,7],"tlp":["sto",40954],"trp":["oc",289376],"tlw":["sot",305],"trw":["ost",163],"lp":["sto","gs","co","gst","toc","stoc","soc","stot","sog","sot","sogo","togs","gts"],"rp":["oc","ost","ots","ogs","ogst","otst","osc"]},"75":{"input":[1,2,4,7],"tlp":["sag",35425],"trp":["osta",1492],"tlw":["sag",13608],"trw":["oftast",553],"lp":["sag","saga","ags","sagt","gas","gast","gsa","sof","aco","soff","asto","sags","gsta","stag","ggas","agas","two"],"rp":["osta","otsa","osca"]},"76":{"input":[3,4,7],"tlp":["ge",165737],"trp":["or",421801],"tlw":["gor",5705],"trw":["or",1673],"lp":["ge","ro","gr","ger","tor","eg","tro","gor","rg","get","ror","ege","gre","rot"],"rp":["or","ort","ore","orr","org","orre"]},"77":{"input":[1,3,4,7],"tlp":["for",206825],"trp":["ora",29125],"tlw":["for",86020],"lp":["for","gar","age","gra","rag","fort","frag","agr","raga","agra","gora","ager","rfo","rfor","fore","arfo","gare","agar","tora"],"rp":["ora"]},"78":{"input":[2,3,4,7],"tlp":["rso",20201],"trp":["ors",42598],"tlw":["stod",7497],"trw":["ord",2401],"lp":["rso","stor","erso","tod","stod","gd","dor","rod","gde","ros","dro","dorr","rost","sor"],"rp":["ors","ord","orde","orst","orso","orts"]},"79":{"input":[1,2,3,4,7],"tlw":["sager",8656],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["on",215270],"trw":["nu",20433],"lp":[],"rp":["on","un","no","nu","ono","unn","ou","nno","nnu","onn","non","oun","oon","onnu","nou"]},"81":{"input":[1,5,7],"tlp":["au",4722],"trp":["unna",7691],"tlw":["annu",3706],"lp":["au","annu","anno","ano","qu","anu","anua","anon","aou"],"rp":["unna","ua","ona","oan","nua","onna","una","oona","nqu","oann","uan"]},"82":{"input":[2,5,7],"tlp":["son",18325],"trp":["ju",46060],"tlw":["son",1353],"trw":["ju",10993],"lp":["son","su","sson","sju","ssu","sjo","sjon","sjun"],"rp":["ju","jo","us","oj","ons","jus","jon","nsso","uss","jun","jou","noj"]},"83":{"input":[1,2,5,7],"tlp":["aus",996],"trp":["usa",2823],"tlw":["sonja",276],"trw":["usa",1340],"lp":["aus","sona","wou","susa","ajo","ason"],"rp":["usa","oja","now","joa","own","janu","usan","onsa","onja","jua","jusa","ojan","nown","joan"]},"84":{"input":[3,5,7],"tlp":["eno",11644],"trp":["one",21213],"tlw":["eu",207],"trw":["you",1411],"lp":["eno","eu","eun","enou","enu"],"rp":["one","onen","yo","ue","you","unne","oen","une","n-","ony","oy","neu","y-","yon","nony"]},"85":{"input":[1,3,5,7],"tlp":["xu",643],"trp":["ux",939],"tlw":["anyone",56],"lp":["xu","exu","xue","exue","enqu","que","xua","exua","ann-","anyo"],"rp":["ux","uxn","uxna","yxo","uxe","uxen","na-","nna-","oxen","oya"]},"86":{"input":[2,3,5,7],"tlp":["du",45128],"trp":["und",57348],"tlw":["du",40597],"trw":["nojd",538],"lp":["du","essu","sone","dju","esu","don"],"rp":["und","unde","ud","use","ude","jud","ond","ojd","ojde","ndo","jude","nod","usen","oend"]},"87":{"input":[1,2,3,5,7],"tlw":["down",202],"trw":["undan",1747],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bo",46434],"trp":["ng",167442],"tlw":["but",1259],"trw":["ut",23705],"lp":["bo","gon","tu","gn","ton","tun","gu","bu"],"rp":["ng","ut","ob","ung","ont","ug","ogon","ngt","unt","obb","uto","nog"]},"89":{"input":[1,4,5,7],"tlp":["ang",59439],"trp":["nag",48054],"tlw":["gang",6284],"trw":["nagot",17486],"lp":["ang","gan","agon","gang","anga","fu","gna","fon","angt","anfo","fun","atu"],"rp":["nag","nago","nga","uta","utan","nfo","natu","uf"]},"90":{"input":[2,4,5,7],"tlp":["gj",14385],"trp":["ust",11850],"tlw":["tjugo",984],"trw":["just",6345],"lp":["gj","gjo","stu","sut","stun","ssut","suto","gons","ston","bjo"],"rp":["ust","job","onst","just","ngs","jobb","uc","uts","jut","jug"]},"91":{"input":[1,2,4,5,7],"tlw":["sang",726],"trw":["jag",133333],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["gen",96318],"trp":["nge",54194],"tlw":["bort",5520],"trw":["ur",6494],"lp":["gen","ru","bor","geno","run","bort","bro","egen","gent","tur"],"rp":["nge","ur","ngen","yg","ngr","ute","nor","orn","nger","unge"]},"93":{"input":[1,3,4,5,7],"tlw":["gangen",3207],"trw":["nagra",10760],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["gjorde",8777],"trw":["under",14292],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["borjade",6021],"trw":["undrade",1668],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["ll",353262],"trw":["ol",691],"lp":[],"rp":["ll","li","il","ill","ol","lo","io","oli","oll","lli","ili","lil","lill","olo","illi","ilo","llo","oi","lio","ool"]},"97":{"input":[1,6,7],"tlp":["al",238639],"trp":["la",255368],"tlw":["alla",16475],"trw":["lilla",2283],"lp":["al","all","alla","ala","ali","alli","zl","zla","zo"],"rp":["la","lla","illa","ola","ial","lia","ila","olla","ilia","oal","oz"]},"98":{"input":[2,6,7],"tlp":["sl",40951],"trp":["ko",98099],"tlw":["sol",152],"trw":["loss",451],"lp":["sl","sok","sko","slo","skil","sli"],"rp":["ko","kl","ls","ok","lk","lik","kli","lls","lis","kil","ilk","olis","ills","kol"]},"99":{"input":[1,2,6,7],"tlp":["sla",15876],"trp":["kla",20340],"tlw":["alls",1882],"trw":["lika",4448],"lp":["sla","als","sal","ako","skal","alls","soka","alsk","wal"],"rp":["kla","las","kal","kall","lika","oka","lsa","lska","llsa","lak","lka"]},"100":{"input":[3,6,7],"tlp":["el",123518],"trp":["le",182809],"tlw":["el",140],"trw":["le",410],"lp":["el","ell","elle","ele","eli","elo","elie"],"rp":["le","lle","ille","ile","olle","ole","lie","iel","lee","iell","lei","ilie","leo"]},"101":{"input":[1,3,6,7],"tlp":["ela",19365],"trp":["lex",1360],"tlw":["alex",558],"trw":["ozzie",67],"lp":["ela","alle","ale","ella","alex","ael","xl","axl","xla","axla","alie","xel","axel","eal","zoe","elal"],"rp":["lex","lexa","lea","oale"]},"102":{"input":[2,3,6,7],"tlp":["del",18169],"trp":["ld",45006],"tlw":["del",4570],"trw":["ledde",906],"lp":["del","els","dl","else","dli","dele"],"rp":["ld","lde","lld","led","lse","llde","lke","oke","ild","ilke","les","kel","lise","lek"]},"103":{"input":[1,2,3,6,7],"tlw":["alldeles",2595],"trw":["lade",1957],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["til",104652],"trp":["ig",244414],"tlw":["till",78901],"trw":["liv",4044],"lp":["til","till","gi","vil","vill","tio","tig","gl","tl"],"rp":["ig","lig","lt","ov","igt","llt","ligt","lv","lit","liv","log"]},"105":{"input":[1,4,6,7],"tlp":["tal",36626],"trp":["lat",26260],"tlw":["allt",11228],"trw":["lag",5318],"lp":["tal","allt","val","fl","alv","vag","tall","fal","fol","fall","atio","tala","alt","gla"],"rp":["lat","lag","iga","liga","ova","lva"]},"106":{"input":[2,4,6,7],"tlp":["sig",64325],"trp":["ock",24775],"tlw":["sig",62876],"trw":["likt",416],"lp":["sig","gic","gick","vilk","sokt","sov","ckl"],"rp":["ock","ocks","lic","ktig","lick","klig","okt","loc","lock","lst","kov","lts","llts"]},"107":{"input":[1,2,4,6,7],"tlw":["alltsa",3917],"trw":["ocksa",11852],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rl",28320],"trp":["ler",39552],"tlw":["eller",21635],"trw":["over",17755],"lp":["rl","rig","rli","elt","rlig","tel","rol","erl","rige"],"rp":["ler","ige","ller","ove","over","lev","lige","let","lite","llet","lir"]},"109":{"input":[1,3,4,6,7],"tlw":["varfor",5432],"trw":["later",1516],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["dig",9388],"trw":["kort",3076],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["aldrig",8974],"trw":["klart",1941],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["ho",156427],"trw":["hon",71785],"lp":[],"rp":["ho","hon","ul","ull","hu","lu","hono","ion","nl","lin","nli","hol","ln","holl","oh","iho","uni","hun","lun","ino"]},"113":{"input":[1,5,6,7],"tlp":["anl",7509],"trp":["lan",56925],"tlw":["quinn",114],"trw":["halla",3206],"lp":["anl","anli","alin","alln","alan"],"rp":["lan","hal","hall","llan","nal","oha","ohan","ula","nali","olan","lina","ulla","lna","nla","inal"]},"114":{"input":[2,5,6,7],"tlp":["sku",43264],"trp":["ku",78375],"tlw":["skull",1127],"trw":["hos",4276],"lp":["sku","skul","slu"],"rp":["ku","kul","kull","kun","lj","uk","kon","hus","ilj","juk","kunn","olj","jl","ojl","jli","ojli","hos"]},"115":{"input":[1,2,5,6,7],"tlw":["skolan",1295],"trw":["kunna",5127],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eho",7167],"trp":["ulle",40111],"tlw":["elin",222],"trw":["hel",1084],"lp":["eho","eln","enl","enli"],"rp":["ulle","hel","len","ly","ione","llen","yl","hell","ilen","yll","olen","nle","uel","uell","leen","nel"]},"117":{"input":[1,3,5,6,7],"tlw":["elina",933],"trw":["hela",8378],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["skulle",39287],"trw":["kunde",19109],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["skillnad",573],"trw":["handlade",1198],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bl",59992],"trp":["ing",86010],"tlw":["bli",9179],"trw":["hogt",1449],"lp":["bl","bli","tion","bil","vu","ting","gh"],"rp":["ing","ning","lut","lb","nlig","llb","illb","hog","uv","hov","huv","uvu","huvu"]},"121":{"input":[1,4,5,6,7],"tlw":["vanligt",1746],"trw":["inga",3339],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["slut",3258],"trw":["och",261930],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["sjalv",9343],"trw":["klockan",2663],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["blev",11880],"trw":["hur",18534],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["vagen",2479],"trw":["langre",3962],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["verkligen",3128],"trw":["huvudet",3819],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["bland",3152],"trw":["ibland",2952],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trp":["pp",78667],"trw":["p",2050],"lp":[],"rp":["pp"]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",29927],"trp":["pa",207370],"trw":["pa",144323],"lp":["ap","app","appa","apa"],"rp":["pa","ppa","pap","papp"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",19698],"trp":["ps",3998],"lp":["sp"],"rp":["ps","pps","psp","ppsp"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["spa",4537],"trp":["pas",7949],"tlw":["asp",86],"trw":["pass",549],"lp":["spa","sap","asp","aps","spas","aspa"],"rp":["pas","pass","ppas","psa","ppsa","pspa","pasa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",6152],"trp":["pe",48173],"trw":["'",472],"lp":["ep","epp","e'","eppe","e'e","eep"],"rp":["pe","ppe","'e","pee","pep","pepp"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["ape",3130],"trp":["pape",411],"lp":["ape","appe","xp","exp","epa","xpe","expe","eap","eape","eppa"],"rp":["pape","'a"]},"134":{"input":[2,3,8],"tlp":["spe",8127],"trp":["pd",798],"tlw":["esp",72],"trw":["'de",96],"lp":["spe","esp","espe","sep","desp","dp","dsp","eps","dspe","dep","e's","d'","d'e"],"rp":["pd","ppd","'s","'d","'de","pse","'es"]},"135":{"input":[1,2,3,8],"tlp":["apad",573],"trp":["pad",4572],"trw":["passade",486],"lp":["apad","epad","dap","adap","spad","aspe","we'"],"rp":["pad","pade","ppad","pase","pesa"]},"136":{"input":[4,8],"tlp":["tp",509],"trp":["pt",11645],"trw":["pt",359],"lp":["tp","ttp"],"rp":["pt","ppt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["appt",2622],"trp":["pat",2945],"tlw":["tappa",242],"trw":["pat",56],"lp":["appt","tap","tapp","apt","apat","tpa","apta"],"rp":["pat","pf","ppf","pta","ppta","pfa","ppfa","pfat","ppat","ptat","pata","paf","patt"]},"138":{"input":[2,4,8],"tlp":["tsp",635],"trp":["pst",539],"lp":["tsp","stp","ttsp"],"rp":["pst","ppst"]},"139":{"input":[1,2,4,8],"tlp":["stpa",148],"trp":["past",2465],"trw":["pasta",175],"lp":["stpa","cap","astp","tpas","spac"],"rp":["past","ptac","pac","psta","psat","pats"]},"140":{"input":[3,4,8],"tlp":["rep",3339],"trp":["pr",31793],"tlw":["rep",90],"trw":["per",1755],"lp":["rep","ept","rp","epte","repp"],"rp":["pr","per","pre","pet","pte","pper","ppr","pete","ppte","'t","ppet","pter","petr","ppre","prep"]},"141":{"input":[1,3,4,8],"tlp":["rap",2854],"trp":["par",13633],"tlw":["trappa",178],"trw":["par",3758],"lp":["rap","rapp","trap","arp","rpa","arpa","apet","xper","repa","apr"],"rp":["par","pra","prat","part","pera","ppar","patr","pare","perf","para"]},"142":{"input":[2,3,4,8],"tlp":["spr",4496],"trp":["pers",6327],"tlw":["spred",228],"trw":["press",442],"lp":["spr","spec","cep","cept","resp","ccep","sept","t's","rsp","spre","etsp","sper","rspr","ecep"],"rp":["pers","prec","pres","pec","pdr","ppdr"]},"143":{"input":[1,2,3,4,8],"tlw":["spar",785],"trw":["pratade",1339],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["mm",66159],"trw":["m",1599],"lp":[],"rp":["mm","mn","mp","pn","ppn","pm","ppm","nm","np"]},"145":{"input":[1,5,8],"tlp":["am",108972],"trp":["ma",166775],"tlw":["am",93],"trw":["man",29921],"lp":["am","amm","amma","amn","amna"],"rp":["ma","man","mma","mann","mna","mman","pan","nam","mam","mamm","pna","namn","ppna","nap","napp"]},"146":{"input":[2,5,8],"tlp":["sm",12954],"trp":["ms",5095],"tlw":["sms",163],"trw":["jp",57],"lp":["sm","sms","spj","ssm"],"rp":["ms","mj","nsp","nsm","pj","jp"]},"147":{"input":[1,2,5,8],"tlp":["sam",33659],"trp":["mas",17101],"tlw":["samma",6340],"trw":["massa",827],"lp":["sam","samm","sma","span","ams","sman","asm","smas","sama"],"rp":["mas","mans","nsam","jam","mass","maj","mmas","jap","japa","pans","jamn"]},"148":{"input":[3,5,8],"tlp":["em",51088],"trp":["me",242113],"tlw":["e'en",102],"trw":["men",54243],"lp":["em","eme","emm","emp","empe","emen"],"rp":["me","men","mme","my","pen","ppen","ym","mpe","mne","yp","mmen","n'","mnen","ymm"]},"149":{"input":[1,3,5,8],"tlp":["ame",4829],"trp":["mena",3740],"tlw":["amy",218],"trw":["mannen",4191],"lp":["ame","emma","amne","xem","exem","xemp","amme","ema","apen","eman","amen","an'","apne"],"rp":["mena","mea","yma","yman","many","may","pany"]},"150":{"input":[2,3,5,8],"tlp":["dem",15113],"trp":["med",110013],"tlw":["dem",13812],"trw":["med",97131],"lp":["dem","ems","sme","smy","sem","seme","emes"],"rp":["med","mes","md","mde","mede","psy","mej","mens","medd","mnd","pens","mnde","mynd"]},"151":{"input":[1,2,3,5,8],"tlw":["ensam",1863],"trw":["medan",4549],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",3262],"trp":["mt",19904],"lp":["tm","bm"],"rp":["mt","mb","mnt","pb"]},"153":{"input":[1,4,5,8],"tlp":["amt",15300],"trp":["mat",7731],"tlw":["famn",168],"trw":["mat",1157],"lp":["amt","tam","amf","amta","fam","amb","atm","tamm","amba","amat","tamt","tma"],"rp":["mat","mf","mta","mba","matt","mnat","mban","mfa"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["tsm",656],"trp":["mst",2612],"lp":["tsm","ttsm"],"rp":["mst","mts"]},"155":{"input":[1,2,4,5,8],"tlw":["samt",1065],"trw":["mats",293],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",23979],"trp":["mer",31601],"tlw":["typ",630],"trw":["mer",11323],"lp":["rm","rme","rmen","tem","rem","emb","embe","erm","typ","emt"],"rp":["mer","mmer","met","mmet","mr","ment","mbe","mber","mete","penb"]},"157":{"input":[1,3,4,5,8],"tlw":["fram",10772],"trw":["menar",2322],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["september",636],"trw":["mest",3296],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["bestamde",1009],"trw":["maste",10840],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["pi",5476],"lp":[],"rp":["pi","ip","ipp","pip","ppi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",1326],"trp":["ippa",1060],"trw":["pia",366],"lp":["api"],"rp":["ippa","ipa","pia","pipa","piz","pizz"]},"162":{"input":[2,6,8],"tlp":["spi",447],"trp":["pis",1842],"tlw":["skip",66],"lp":["spi","spis","spik","skip"],"rp":["pis","ips","psk","ppsk","pisk","isp","ksp","pik","psi","ppsi","psik","pk","ppk","kip"]},"163":{"input":[1,2,6,8],"tlp":["skap",4614],"trp":["kap",6395],"tlw":["skapa",567],"trw":["kapp",67],"lp":["skap"],"rp":["kap","kapi","kapa","pska","pisa","pak","kapp","ispa","ipas","ikap"]},"164":{"input":[3,6,8],"trp":["ipe",417],"lp":[],"rp":["ipe","pie","pei","ippe","i'"]},"165":{"input":[1,3,6,8],"lp":[],"rp":[]},"166":{"input":[2,3,6,8],"tlp":["spek",1307],"trp":["pek",3334],"tlw":["skepp",67],"trw":["keep",74],"lp":["spek","skep","disp","dip","espi"],"rp":["pek","idp","kep","pise","peis","kspe","pike","keep","ipse","kepp","keps","kesp"]},"167":{"input":[1,2,3,6,8],"tlw":["skapade",297],"trw":["pekade",973],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",162],"trp":["pit",1381],"lp":["tip"],"rp":["pit","pti","ippt","pv","ppv"]},"169":{"input":[1,4,6,8],"tlp":["vap",1525],"trp":["pav",1648],"lp":["vap","apit"],"rp":["pav","pati","pita","pva","ppva","pif","ppif"]},"170":{"input":[2,4,6,8],"tlp":["cip",532],"trp":["pist",342],"tlw":["tips",162],"lp":["cip","tips","cksp","visp","scip","spit"],"rp":["pist","ptis","istp","pic"]},"171":{"input":[1,2,4,6,8],"tlw":["skapat",225],"trw":["packa",130],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",1494],"trp":["pri",4672],"trw":["pierre",295],"lp":["rip","epti","vep","ripe","vept","epri"],"rp":["pri","peri","pite","priv","it'","prit","pier","iper","ppri","'ti"]},"173":{"input":[1,3,4,6,8],"tlw":["varpa",108],"trw":["partiet",469],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["respekt",485],"trw":["precis",3817],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["sprak",390],"trw":["patrik",492],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["mi",102861],"trw":["min",13506],"lp":[],"rp":["mi","min","im","mmi","imm","minn","mh","ph","him","mpi","mini","pph","imi","imp","hm","imin","mni","mnin","pni","ppni"]},"177":{"input":[1,5,6,8],"tlp":["ami",5806],"trp":["mina",5578],"trw":["mina",5090],"lp":["ami","amh","amin","amha","amni","ahm"],"rp":["mina","ham","imma","hamn","manh","mha","pami","pani","ima","hap","hami","mani","mia","iam"]},"178":{"input":[2,5,6,8],"tlp":["smi",1160],"trp":["mis",5636],"tlw":["smink",63],"trw":["minns",1738],"lp":["smi","smin","sim","simp","simm"],"rp":["mis","miss","mins","mk","mik","ism","mpis","mmis","misk","msk","kim","msi","insp","jim","km"]},"179":{"input":[1,2,5,6,8],"tlw":["smak",323],"trw":["manniska",1359],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",765],"trp":["hem",10392],"trw":["hem",4760],"lp":["emi","ehm"],"rp":["hem","hemm","ime","mhe","imme","meni","mine","phy","ypi","imen","iem","phe","hemi","iemi","hym","meh","hme","mehm"]},"181":{"input":[1,3,5,6,8],"trw":["hemma",2590],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["spisen",158],"trw":["mindes",642],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["spanien",197],"trw":["make",607],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",4993],"trp":["mit",12022],"tlw":["bmi",74],"trw":["mitt",7427],"lp":["tim","timm","tmi","tmin","vtim","vm"],"rp":["mit","mitt","mti","mmit","mv","ntim","http","mbi","mith","pbi","mbin","imb","imt","htm"]},"185":{"input":[1,4,5,6,8],"tlw":["fatima",168],"trw":["hamta",775],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["smith",142],"trw":["minst",1383],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["skamt",390],"trw":["knappt",1332],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["vem",3834],"trw":["mitten",567],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["timmar",1675],"trw":["paven",682],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["centimeter",252],"trw":["mycket",13594],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["amerikanska",1014],"trw":["marken",865],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",29076],"lp":[],"rp":["op","po","opp","ppo","pop","poo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["appo",1452],"trp":["oppa",4532],"lp":["appo","apo"],"rp":["oppa","opa","poa"]},"194":{"input":[2,7,8],"tlp":["spo",1053],"trp":["pos",1604],"tlw":["sop",69],"lp":["spo","sop","sopp"],"rp":["pos","poss","osp","osop","opps"]},"195":{"input":[1,2,7,8],"tlp":["sapo",311],"trp":["pow",123],"tlw":["sapo",311],"lp":["sapo","apos"],"rp":["pow","opas"]},"196":{"input":[3,7,8],"tlp":["epo",584],"trp":["oppe",3306],"trw":["o'",107],"lp":["epo","eop"],"rp":["oppe","ope","peo","peop","o'","poe","o'e"]},"197":{"input":[1,3,7,8],"tlp":["xpo",151],"tlw":["expo",95],"lp":["xpo","expo"],"rp":[]},"198":{"input":[2,3,7,8],"tlp":["dop",66],"trp":["pose",156],"lp":["dop","espo"],"rp":["pose","ospe","osep","pod"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",2236],"trp":["pg",2205],"tlw":["topp",124],"lp":["top","topp","gp"],"rp":["pg","ppg","opt","pot","pott","pto"]},"201":{"input":[1,4,7,8],"tlp":["gap",69],"trp":["pag",1136],"trw":["pagatt",71],"lp":["gap","gapa"],"rp":["pag","pfo","ppfo","paga","ptag","pota","pga","ppga","opag"]},"202":{"input":[2,4,7,8],"tlp":["stop",1589],"trp":["post",535],"tlw":["stopp",156],"trw":["post",266],"lp":["stop","gsp","tspo","spot"],"rp":["post","psto"]},"203":{"input":[1,2,4,7,8],"tlw":["stoppa",368],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["rop",6174],"trp":["pro",9288],"tlw":["grepp",356],"trw":["oppet",450],"lp":["rop","ropp","grep","repo","epor","rope","rpo","rrop"],"rp":["pro","por","port","oper","ppor","opte","prog","ppro","pror","prot","peg","pege"]},"205":{"input":[1,3,4,7,8],"tlw":["rapport",324],"trw":["page",231],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["greps",172],"trw":["process",250],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"tlw":["ropade",806],"trw":["pastod",364],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["om",354658],"trw":["om",75959],"lp":[],"rp":["om","mo","up","upp","nom","omm","onom","um","mu","umm","oppn","pu","mun","num","omp","mon","pon","omn","munn","pun"]},"209":{"input":[1,5,7,8],"tlp":["amo",397],"trp":["omma",9507],"trw":["oppna",1197],"lp":["amo","amu","ampo","amon","ammo"],"rp":["omma","oma","pau","omna","upa","umma","uma","uman","ompa","uppa","moa","oman","poan","mona","ooma"]},"210":{"input":[2,5,7,8],"tlp":["som",155381],"trp":["moj",5297],"tlw":["som",144609],"trw":["puss",75],"lp":["som","somm","somn","smu","smo","sum","summ"],"rp":["moj","jup","mos","upps","poj","mus","oms","omoj","mju","mons","mjo","mso","omso"]},"211":{"input":[1,2,5,7,8],"tlw":["somna",238],"trw":["paus",417],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["enom",10795],"trp":["omme",12449],"trw":["uppe",1318],"lp":["enom","emo","emon"],"rp":["omme","umme","ome","uppe","ume","omen","nume","umen","pone","memo","meu","open","-m","on'","upe","onem","mue"]},"213":{"input":[1,3,5,7,8],"tlw":["anonym",71],"trw":["umea",222],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["dom",4177],"trw":["mod",240],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["djupa",306],"trw":["oppnade",1540],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tom",8905],"trp":["mot",29248],"tlw":["tom",739],"trw":["mot",18572],"lp":["tom","gom","tum","tomm"],"rp":["mot","utom","mg","uppg","uppt","omt","mob","upt","pub","mott","utm","omg","omb","mog","mut","moto"]},"217":{"input":[1,4,5,7,8],"tlw":["tomma",544],"trw":["manga",6574],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["com",216],"trw":["most",517],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["tomas",242],"trw":["magnus",263],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["genom",7651],"trw":["mor",2097],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["framfor",3779],"trw":["pengar",2420],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["dessutom",3021],"trw":["person",1635],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["eftersom",5237],"trw":["omradet",633],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",19160],"trw":["lopp",92],"lp":[],"rp":["pl","pol","poli","plo","lp","ppl","lip","lipp","pli","lop","ilip","opl","oppl","opi","lopp","ipl","llop","ipli","pio","ppli"]},"225":{"input":[1,6,7,8],"tlp":["alp",4565],"trp":["pla",9629],"trw":["lapp",124],"lp":["alp","alpa","appl","apl","apli","apol"],"rp":["pla","lap","lapp","lpa","pal","ppla","lapa","pala","pola","lopa","opia","plai","pall"]},"226":{"input":[2,6,7,8],"tlp":["slip",785],"trp":["kop",4334],"tlw":["slips",162],"trw":["polis",999],"lp":["slip","spl","spol","skop","spok","spio"],"rp":["kop","kopp","posi","klip","kopi","lips","plik","lsp","llsp","pok","ispl","pols","psl","ppsl"]},"227":{"input":[1,2,6,7,8],"tlw":["sallskap",673],"trw":["kopa",928],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["eopl",483],"trp":["pel",7276],"trw":["people",483],"lp":["eopl","elop","elp","e'l","e'll"],"rp":["pel","ple","pple","ople","lpe","pole","pell","lope","opei","pele","ppel","'l","'ll","opie"]},"229":{"input":[1,3,6,7,8],"tlw":["apple",405],"trw":["pela",641],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"tlw":["spel",332],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["spelade",1035],"trw":["klappade",170],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["gpl",562],"trp":["plot",3391],"trw":["pigg",86],"lp":["gpl","gip","tiop"],"rp":["plot","pgi","ppgi","lpt","plig","ptio","pig","lopt","pgiv","pitl","pigg","pigt"]},"233":{"input":[1,4,6,7,8],"tlw":["filippa",520],"trw":["pavliga",154],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["plotsligt",3109],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["slappt",216],"trw":["plats",2333],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["grip",561],"trw":["prov",161],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["april",550],"trw":["lappar",380],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["speciellt",540],"trw":["kropp",1211],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["slappte",734],"trw":["kapitel",1031],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["ml",11059],"trw":["honom",25475],"lp":[],"rp":["ml","mil","hop","lm","ommi","mli","ihop","hopp","inom","minu","lom","olm","holm","mill","uppl","mili","iml","ilm","omi","oml"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["allihop",335],"trw":["lamna",1453],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["slump",168],"trw":["kom",13274],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["smala",395],"trw":["komma",5926],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"trw":["mille",982],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["exempel",1422],"trw":["mellan",5596],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["ekonomi",202],"trw":["polisen",2473],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["samlade",437],"trw":["lamnade",1603],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["glomt",566],"trw":["mig",33025],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["gamla",2772],"trw":["lamnat",936],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["stockholm",1670],"trw":["kommit",3251],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["bakom",3858],"trw":["langsamt",1192],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"trw":["igenom",2222],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["tvartom",521],"trw":["information",924],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["emellertid",640],"trw":["kommer",10071],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["samtidigt",3340],"trw":["manniskor",3295],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/dicts/aset/_generator/src/tr-keymap.json b/keyboards/gboards/dicts/aset/_generator/src/tr-keymap.json index 567cde878b..338d9a62a5 100644 --- a/keyboards/gboards/dicts/aset/_generator/src/tr-keymap.json +++ b/keyboards/gboards/dicts/aset/_generator/src/tr-keymap.json @@ -1 +1 @@ -{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",4698],"tlw":["a",3554],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",4821],"tlw":["s",2414],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",119382],"tlw":["www",328],"lp":["as","sa","asa","saa","sas","asas","ww","ssa","ass","www","assa","aw","ssas","wa","was","aas"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",787],"tlw":["e",2415],"lp":["ee","eee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",1611],"tlw":["x",136],"lp":["ea","ax","ex","ae"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",225606],"tlw":["de",36223],"lp":["de","se","ed","es","ede","ded","ses","ese","dd","des","ess","dde","sed","sse","sess","ds","ssed","sede","dede","ddes"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",206254],"tlw":["da",34321],"lp":["da","ad","ada","ade","sad","das","sade","adas","esa","dad","add","we","asad","adde","dea","dada","eda","ew","esas","ades"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",24695],"tlw":["t",1015],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",77585],"tlw":["ta",701],"lp":["ta","at","fa","af","att","ata","aat","afa","tta","atta","ft","tat","fta","aft","afta","tf","taf","tafa","fat","tfa"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",68030],"tlw":["c",1161],"lp":["st","ct","ts","tc","sc","cs","cc","stc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",58921],"tlw":["saat",1953],"lp":["ca","ac","aca","sta","ast","tas","saat","asta","sac","cas","sat","fas","afas","act","ats","saf","tsa","fac","cat","staf"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",226224],"tlw":["r",1919],"lp":["er","re","te","et","ere","rt","ter","ett","ret","tr","rr","ete","rer","ert","etr","tte","eter","tre","tere","ette"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",265101],"tlw":["ara",805],"lp":["ar","ra","ara","tar","ef","fe","art","rar","are","rta","raf","tara","efe","ate","far","araf","arar","era","aret","rat"],"rp":[]},"14":{"input":[2,3,4],"tlp":["rd",94145],"tlw":["eder",1592],"lp":["rd","ce","ec","rs","ece","ste","der","erd","rc","rde","erc","rce","erce","tes","ster","erde","eder","cer","dec","dece"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["ard",24858],"tlw":["sadece",3474],"lp":["ard","dar","adar","rad","rada","sar","ars","ras","aras","rda","arda","rsa","adec","car","arc","rca","arca","sara","arad","ates"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",4449],"trw":["n",2786],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",238539],"trp":["na",72648],"tlw":["an",2138],"trw":["na",265],"lp":["an","ana","ann","anan","anna","anaa"],"rp":["na","nan","nana","nna","naa"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",731],"trp":["ns",19851],"trw":["j",258],"lp":["sn","sj"],"rp":["ns"]},"19":{"input":[1,2,5],"tlp":["san",27441],"trp":["nsa",12550],"tlw":["sana",3065],"trw":["jan",70],"lp":["san","sana","ans","asan","aj","sans","anas","sna","ansa","saj","wn","snas","aja","ajan"],"rp":["nsa","nsan","nas","ja","jan","jas"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",210551],"trp":["ne",100917],"tlw":["en",11061],"trw":["ne",21701],"lp":["en","ey","eye","ene","eyen","enn","enen","enne","eyn","eney"],"rp":["ne","ye","yen","yn","ny","nne","ney","nen","neye","yey"]},"21":{"input":[1,3,5],"tlp":["ay",82752],"trp":["ya",146697],"tlw":["ay",1315],"trw":["ya",9294],"lp":["ay","aya","ayn","ayan","eya","aye","anne","ane","ena","ean","ayna"],"rp":["ya","yan","nya","yana","yay","yna","nyan","nyay","nay"]},"22":{"input":[2,3,5],"tlp":["den",42341],"trp":["nd",145890],"tlw":["sey",11559],"trw":["neden",3186],"lp":["den","end","sey","sen","eden","eyd","sy","ende","eys","eyse","dey"],"rp":["nd","nde","yd","nden","ned","nede","nes","ys","yse"]},"23":{"input":[1,2,3,5],"tlp":["dan",31876],"trp":["nda",59116],"tlw":["anda",2147],"trw":["yandan",1000],"lp":["dan","and","anda","adan","say","ayd","day","sya","daya","saya"],"rp":["nda","ndan","yas","yasa","yda","yad","yand","yada","ydan","nyad"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",403],"trp":["nt",8039],"tlw":["b",1063],"lp":["bb","bn","tn"],"rp":["nt","nb","ntt"]},"25":{"input":[1,4,5],"tlp":["ba",93513],"trp":["nat",1344],"tlw":["bana",7207],"lp":["ba","ab","tan","aba","ban","bana","bab","baba","tab","aban","ant","bat","anb","tanb","atan","anat","anta","taba"],"rp":["nat","nta"]},"26":{"input":[2,4,5],"tlp":["cb",5912],"trp":["nc",43318],"lp":["cb","sb","bs"],"rp":["nc","nst","nts","nct","ncs"]},"27":{"input":[1,2,4,5],"tlp":["bas",33680],"trp":["nca",9555],"tlw":["bas",1003],"lp":["bas","anc","anca","can","sab","stan","saba","cab","abas","basa","banc","caba","bast","acab","bac","baca","acan"],"rp":["nca","jac","nanc"]},"28":{"input":[3,4,5],"tlp":["be",64335],"trp":["nr",22775],"tlw":["ben",11408],"trw":["yere",2638],"lp":["be","ben","ren","ten","ber","rb","bey","eb","ry","rn","rey","rry","bet"],"rp":["nr","yer","yet","ner","yr","yere","nere"]},"29":{"input":[1,3,4,5],"tlp":["ran",8536],"trp":["nra",19010],"tlw":["bay",1366],"trw":["nefret",613],"lp":["ran","ray","ayr","bay","ayat","rab","fen","anr","tanr","raya","abe","aber","bar","tay","aran","efen"],"rp":["nra","yar","yat","yara"]},"30":{"input":[2,3,4,5],"tlp":["enc",7430],"trp":["nce",17802],"tlw":["bes",2395],"trw":["yerde",2084],"lp":["enc","rden","bes","cen","ence","ecen","bend","bed","eyec","seb","sebe","cey","bede","denb","renc"],"rp":["nce","yerd","yec","ncer","yece"]},"31":{"input":[1,2,3,4,5],"tlw":["cay",353],"trw":["nefes",591],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",3027],"trw":["i",6002],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["az",37543],"trp":["iz",67417],"tlw":["az",2781],"trw":["iz",185],"lp":["az","zi","za","azi","ai","aza","zz","zza","ziz","aziz","azz","azza","aiz","zizi"],"rp":["iz","izi","ia","iza","izz","izza"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",195648],"trp":["is",144843],"tlw":["sik",1643],"trw":["ki",13823],"lp":["si","sk","sik","ski","sis"],"rp":["is","ki","ik","isi","iki","kis","ks","kisi","kk","kki","ksi","isik","isk","iss","ikk"]},"35":{"input":[1,2,6],"tlp":["ak",120301],"trp":["ka",146870],"tlw":["siz",2295],"trw":["kiz",2838],"lp":["ak","asi","aki","siz","ask","aka","ska","aska","aks","sizi","akk","sak"],"rp":["ka","ika","isa","kiz","ksa","kas","kasi","kka"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",1119],"trp":["ie",1447],"lp":["ei"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",32460],"trp":["ize",5154],"lp":["ze","ez","aze","eza","ezi","eze","xi","axi","zize","ezz","zze","ezze"],"rp":["ize","ix"]},"38":{"input":[2,3,6],"tlp":["di",240613],"trp":["ke",66794],"tlw":["dedi",14715],"trw":["ise",4856],"lp":["di","ek","edi","esi","dedi","eki","dis","disi","dik","sek","eke","esk","dek","eski"],"rp":["ke","id","ide","ise","kes","idi"]},"39":{"input":[1,2,3,6],"tlp":["adi",32039],"trp":["kad",29760],"tlw":["size",2133],"trw":["kez",2647],"lp":["adi","dak","zd","daki","zde","dasi","disa","size","dai","zdi","diz","aske","azd"],"rp":["kad","kada","kadi","ida","kez","izd","izde"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",111166],"trp":["it",25283],"tlw":["v",314],"trw":["iv",158],"lp":["ti","tti","vi","vv","tit","vit","tv","vitt","vvi","titi"],"rp":["it","itt","itti","iti","iv","ivi"]},"41":{"input":[1,4,6],"tlp":["va",43131],"trp":["if",8297],"tlw":["atti",862],"trw":["itaat",146],"lp":["va","av","ati","fi","ava","afi","faz","atti","zat","avi","fif","afif","tav","ait","zav","zava"],"rp":["if","ita","ifa","ift"]},"42":{"input":[2,4,6],"tlp":["ci",93762],"trp":["ic",75936],"tlw":["cikti",1490],"trw":["ic",1182],"lp":["ci","sti","cik","tik","cti","sit","cikt","tk","tki","cis"],"rp":["ic","ici","kt","ist","isti","kti","ikt","kit","ikti","kc"]},"43":{"input":[1,2,4,6],"tlp":["cak",14208],"trp":["kat",11273],"tlw":["fakat",5422],"trw":["kac",836],"lp":["cak","aci","akt","fak","akti","acak","cika","akat","faka","vas","tak","avas","acik","zc"],"rp":["kat","kta","kac","ica","izc","kita"]},"44":{"input":[3,4,6],"tlp":["ri",163641],"trp":["ir",286103],"tlw":["ve",81408],"trw":["iri",579],"lp":["ri","ve","eri","ev","ver","tir","etti","eti","rti","evi","eve","vet","vr","veri","evet","etir","evr"],"rp":["ir","iri","ire"]},"45":{"input":[1,3,4,6],"tlp":["ari",56898],"trp":["ira",15785],"tlw":["var",7891],"trw":["itiraf",311],"lp":["ari","var","zer","zeri","arti","raz","eva","rafi","zar","tari","avr","zate","zir","zere","air","fir","azir","atir"],"rp":["ira","iraz"]},"46":{"input":[2,3,4,6],"tlp":["rk",38427],"trp":["iste",14557],"tlw":["tek",4748],"trw":["iste",3907],"lp":["rk","rdi","rek","cek","dir","erek","rke","rsi","ekt","tek","erk","sir","erke","erdi","ris"],"rp":["iste","ird","irdi","kte","kir"]},"47":{"input":[1,2,3,4,6],"tlw":["vardi",6467],"trw":["kadar",16753],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",370626],"trw":["in",526],"lp":[],"rp":["in","ni","ini","nin","hi","inin","ih","hin","ihi","nini","nih","hn","ihin","ihn","hni","ihni","hini","hnin","nni","hnn"]},"49":{"input":[1,5,6],"tlp":["ah",50091],"trp":["ha",92564],"tlw":["ah",1397],"trw":["izin",1006],"lp":["ah","ani","aha","anin","zin","ahi","zan"],"rp":["ha","ina","niz","han","izin","iniz","hiz","nz","haz","inan","hani","nina","hazi"]},"50":{"input":[2,5,6],"tlp":["sin",65670],"trp":["isin",17912],"tlw":["sinsi",110],"trw":["isin",932],"lp":["sin","sini","skin","sh"],"rp":["isin","kin","ins","nk","nki","ikin","his","kkin","nis","nsi","hs","nik","hiss","ji","hk","hik"]},"51":{"input":[1,2,5,6],"tlp":["asin",26353],"trp":["insa",12256],"tlw":["sanki",2615],"trw":["insan",3805],"lp":["asin","sina","akin","sah","sani","ank","sahi","anki","sank","ansi","akan"],"rp":["insa","kan","nasi","hak","hakk","has","kah","ikan","nsiz"]},"52":{"input":[3,5,6],"tlp":["eni",37090],"trp":["iy",103444],"tlw":["eh",335],"trw":["iyi",7728],"lp":["eni","eyi","enin","eh","eyin","ehi"],"rp":["iy","yi","he","ine","iye","iyi","yin","yeni","yni","niy","yine","niye","hen","hey"]},"53":{"input":[1,3,5,6],"tlp":["ayi",16661],"trp":["hay",12548],"tlw":["ayni",4770],"trw":["yani",4094],"lp":["ayi","ayni","zen","enz","aniy","ziy","ayin","enze","eniz","eyaz"],"rp":["hay","yani","iya","yaz","haya","hayi","yazi","yah","nze","iyan"]},"54":{"input":[2,3,5,6],"tlp":["endi",29457],"trp":["ind",72325],"tlw":["diye",15017],"trw":["kendi",7334],"lp":["endi","diy","din","sind","diye","esin","dini","siy","seni","sine","ediy"],"rp":["ind","ken","ndi","inde","kend","ydi","ndis","ndin","kiy"]},"55":{"input":[1,2,3,5,6],"tlw":["daha",20490],"trw":["kadin",3728],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",275568],"trp":["ib",28649],"tlw":["bin",1281],"trw":["hint",87],"lp":["bi","tin","bin","vin","th","tini","bit","bii"],"rp":["ib","ibi","ht","iht","hti","ihti","nti","nit","int","hib","hibi","inti"]},"57":{"input":[1,4,5,6],"tlp":["biz",10055],"trp":["hat",6156],"tlw":["biz",2560],"trw":["hatta",2528],"lp":["biz","abi","bizi","baz","fin","afin","bah","atin","tabi","bazi","tani","van","ahat","abah"],"rp":["hat","haf","hav","hava","hatt","hab"]},"58":{"input":[2,4,5,6],"tlp":["cin",41998],"trp":["icin",39248],"tlw":["cin",367],"trw":["icin",25984],"lp":["cin","cbi","bic","ch","bici","cini","vinc"],"rp":["icin","hic","inc","nci","icb","hicb","icbi","inci","kinc","nic","hc","nici","ich"]},"59":{"input":[1,2,4,5,6],"tlw":["baska",6795],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["bir",195972],"trp":["her",22311],"tlw":["bir",148963],"trw":["her",15822],"lp":["bir","rin","erin","rini","beni","biri","rine","tiy","riy","evin","rh","rbi","birb"],"rp":["her","irin","yeri","yir","nri","yri","irb"]},"61":{"input":[1,3,4,5,6],"tlw":["biraz",4474],"trw":["hayir",2604],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["birden",2181],"trw":["icinde",7275],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["arasinda",3496],"trw":["yavas",1614],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",542],"trw":["o",25996],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","trp":["oa",60],"lp":[],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",67268],"trp":["os",16832],"tlw":["so",92],"lp":["so","sos"],"rp":["os","oso","oss"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",188],"trp":["osa",584],"lp":["wo","woo"],"rp":["osa","ow"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",1196],"trp":["oe",285],"trw":["-",13834],"lp":["eo","e-"],"rp":["oe","-e","-o"],"special":"punc"},"69":{"input":[1,3,7],"trp":["-a",61],"lp":[],"rp":["-a"]},"70":{"input":[2,3,7],"tlp":["do",35030],"trp":["od",5854],"tlw":["do",161],"lp":["do","dos","eso","edo","s-","s-s","s-se","sdo","dosd","deo"],"rp":["od","ose","-s","ode","oses","ood","osed","-se","osd","osdo"]},"71":{"input":[1,2,3,7],"tlp":["ado",548],"trp":["oda",4372],"trw":["odada",430],"lp":["ado","wood","eoda"],"rp":["oda","odas","odad","-w","-we","owe","oad"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["go",43595],"trp":["og",22300],"tlw":["g",946],"trw":["ot",144],"lp":["go","to","got","tto","gog","tog","tg","gg","gt","gto"],"rp":["og","ot","oto","ott","otto","otog","ogg","ogo"]},"73":{"input":[1,4,7],"tlp":["ag",32516],"trp":["of",2290],"tlw":["aga",174],"trw":["of",191],"lp":["ag","ga","aga","fo","tag","atag","ato","fot","foto","taga","fag","tfag","faga","ago","fog","fogg"],"rp":["of","oga","ofo","ota"]},"74":{"input":[2,4,7],"tlp":["co",29333],"trp":["oc",10369],"tlw":["goc",81],"trw":["oc",52],"lp":["co","coc","gos","gost","cog","sog","sto","sg","gs","gogs","tos","cos","gc","sgc","stos"],"rp":["oc","ost","osto","ogs","osc"]},"75":{"input":[1,2,4,7],"tlp":["sag",5201],"trp":["oca",3682],"tlw":["sag",869],"lp":["sag","cag","acag","asag","gac","agac","sof","saga","gas","sga","gaca","sofo","gasa","astg","asg"],"rp":["oca","ocas","osta","osca","ocag"]},"76":{"input":[3,4,7],"tlp":["ge",85092],"trp":["or",124494],"tlw":["gore",3389],"trw":["ote",515],"lp":["ge","eg","ger","gor","gr","gere","gore","ege","ro","rg","eger","gre","get","tor"],"rp":["or","ogr","ort","ore","ote","ogre"]},"77":{"input":[1,3,4,7],"tlp":["gar",3353],"trp":["orta",6084],"tlw":["fotograf",161],"trw":["orta",641],"lp":["gar","arg","rag","gra","efo","age","t-f","t-fa","gara","rato","ator","for","rof","graf","agr"],"rp":["orta","ora","-f","-fa","ogra"]},"78":{"input":[2,3,4,7],"tlp":["deg",18415],"trp":["ord",34113],"tlw":["gece",2933],"trw":["otede",232],"lp":["deg","gec","dog","dogr","sor","gece","gerc","gord","sord","ceg","dor","eceg","dort","gect","dost","dege","gd"],"rp":["ord","oste","ors"]},"79":{"input":[1,2,3,4,7],"tlw":["dag",243],"trw":["orada",2520],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["un",176917],"trw":["onu",9693],"lp":[],"rp":["un","on","nu","onu","unu","nun","onun","unun","no","nunu","ou","non","ono","nou","unn"]},"81":{"input":[1,5,7],"tlp":["ano",845],"trp":["una",8817],"trw":["ona",7053],"lp":["ano","anu","au","qu","anun","anon","aun"],"rp":["una","ona","unan","ua","nuna","uan","nano","onan"]},"82":{"input":[2,5,7],"tlp":["su",56434],"trp":["us",59637],"tlw":["su",6093],"trw":["us",133],"lp":["su","son","sun","sunu","sonu","sus","sons"],"rp":["us","usu","usun","nus","onus","nusu","osu","jo","ons","nsu","onsu","osun","ju"]},"83":{"input":[1,2,5,7],"tlp":["suna",877],"trp":["usa",2657],"tlw":["sona",460],"lp":["suna","sona","asu","anus","susa","ajo","sano","sau","saun","asus","anso"],"rp":["usa","usan","nusa","own","usaa","now","nown","osan","unas"]},"84":{"input":[3,5,7],"tlp":["enu",1411],"trp":["yo",85768],"trw":["onune",1033],"lp":["enu"],"rp":["yo","uy","yu","oy","uyo","uyu","une","one","uny","oyu","yun","nuy","oyun","nuyo","yon","unuy","n-","oyn","yone"]},"85":{"input":[1,3,5,7],"tlp":["anyo",338],"trp":["unya",5800],"trw":["yunan",253],"lp":["anyo","eona","eux","an-","que"],"rp":["unya","uya","uyan","oya","yuna","oyna","ux","nuya","yuya","onay","yoya","-ya","yano","oyan","yona"]},"86":{"input":[2,3,5,7],"tlp":["du",128153],"trp":["und",24604],"tlw":["dondu",1341],"trw":["onunde",1790],"lp":["du","soy","dus","dusu","don","dun","duny","duy","sund"],"rp":["und","unde","ud","ndu","ond","nund","undu","udu","ydu","uyd","uydu"]},"87":{"input":[1,2,3,5,7],"tlw":["sonunda",2463],"trw":["ondan",1762],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bu",129214],"trp":["ug",30997],"tlw":["bu",59152],"trw":["not",308],"lp":["bu","gu","tu","gun","bun","bo","tun","gunu","bunu","but","butu"],"rp":["ug","ugu","ut","ugun","utu","utun","otu","ng","ogu"]},"89":{"input":[1,4,5,7],"tlp":["bag",4649],"trp":["uf",2044],"tlw":["buna",2248],"lp":["bag","ang","abu","fon","buna","font","anbu","gan","guna","fu","tuta","agan"],"rp":["uf","uta","utf","ufa","utan","uga","uba","nag"]},"90":{"input":[2,4,5,7],"tlp":["cu",29850],"trp":["uc",23984],"tlw":["bos",1277],"trw":["uc",3579],"lp":["cu","stu","cun","cocu","guc","stun","sunc","bos","cug","cogu"],"rp":["uc","ust","ucu","ustu","unc","onc","ocu","ucun","nuc","onuc"]},"91":{"input":[1,2,4,5,7],"tlw":["fonts",354],"trw":["usta",320],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ru",61296],"trp":["ur",80226],"tlw":["gene",1320],"trw":["uygun",1047],"lp":["ru","tur","boy","buy","buyu","gru","run","gen","bur","goru"],"rp":["ur","yor","oru","onr","uru","uyor","yoru","ogru","orun","ure"]},"93":{"input":[1,3,4,5,7],"tlw":["buraya",1264],"trw":["ortaya",2163],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["dogru",6276],"trw":["once",6114],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["sonra",17553],"trw":["oradan",704],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["li",153361],"trw":["l",1692],"lp":[],"rp":["li","il","ol","ili","ll","lli","ill","lo","oll","oli","illi","lil","olo","io","ilo","lili","ool","llo"]},"97":{"input":[1,6,7],"tlp":["al",111125],"trp":["la",193014],"tlw":["al",750],"trw":["la",412],"lp":["al","ali","zl","ala","zla","all","zo","alla","azl","zli","azla"],"rp":["la","ola","oz","ila","lla","ozl","izl","izli","izla"]},"98":{"input":[2,6,7],"tlp":["sl",30642],"trp":["ok",45144],"tlw":["sol",615],"trw":["ilk",4866],"lp":["sl","sil","sli","sili"],"rp":["ok","ko","kl","lik","lk","lis","kli","kil","ikl","ls","isl","lki","ols","ilk","kol","likl"]},"99":{"input":[1,2,6,7],"tlp":["asl",17339],"trp":["kal",18830],"tlw":["soz",2999],"trw":["olsa",1993],"lp":["asl","sla","asla","akl","asil","soz","sal","alis","akla","asli","alk","akli"],"rp":["kal","kla","las","lak","kala","lasi","kali","lsa"]},"100":{"input":[3,6,7],"tlp":["el",88486],"trp":["le",161881],"tlw":["el",1633],"trw":["ile",9283],"lp":["el","eli","ele","ell","elli","elle","elel","elil"],"rp":["le","ile","lle","ille","ole","lel","leo","-i","lee","leli","lele","i-"]},"101":{"input":[1,3,6,7],"tlp":["zle",10682],"trp":["ozle",8085],"tlw":["aile",576],"trw":["ozel",1294],"lp":["zle","zel","ale","ela","zell","aile","alle","zeli","elal","ael","elia","eal","ezil","ezel","azel","aale"],"rp":["ozle","oze","ozel","izle"]},"102":{"input":[2,3,6,7],"tlp":["dil",10774],"trp":["ld",66610],"tlw":["sekilde",2905],"trw":["kisisel",342],"lp":["dil","ekl","eld","sle","sel","eldi","dol","dile","esl","ekli"],"rp":["ld","old","ldi","ild","ildi","kle","lde","led","ledi","ikle"]},"103":{"input":[1,2,3,6,7],"tlw":["aldi",1426],"trw":["kaldi",1084],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["gi",137313],"trp":["ig",40159],"tlw":["gitti",1369],"trw":["ilgili",1508],"lp":["gi","gil","tl","gl","tig","tigi","git","gili","tli","vl"],"rp":["ig","igi","lt","lg","lti","ilg","lgi","ilgi","lig","ligi"]},"105":{"input":[1,4,6,7],"tlp":["agi",15275],"trp":["lat",3470],"tlw":["fazla",3194],"trw":["laf",255],"lp":["agi","goz","alt","alti","gozl","agl","atl","fazl","tal","gla","tla","zg","agla","giz","val","atli","agli","gal","gz"],"rp":["lat"]},"106":{"input":[2,4,6,7],"tlp":["cok",19740],"trp":["okt",7640],"tlw":["cok",17627],"trw":["isigi",416],"lp":["cok","cl","cil","gis","sig","gisi","cli","sigi"],"rp":["okt","likt","kot","koc","lc","ktig","lic","olc","list","isig","kto","okto"]},"107":{"input":[1,2,4,6,7],"tlw":["asagi",1220],"trw":["olacak",1662],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rl",31288],"trp":["ler",57971],"tlw":["geri",3197],"trw":["ileri",1117],"lp":["rl","egi","gel","egil","rli","gir","rle","erl","geli","rler","erle","gele","eler"],"rp":["ler","leri","lir","iler","irl","ilir","irli"]},"109":{"input":[1,3,4,6,7],"tlw":["agir",1726],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["degil",8435],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["farkli",1113],"trw":["olarak",9384],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["nl",58209],"trw":["unlu",539],"lp":[],"rp":["nl","lu","ul","olu","lin","ulu","unl","nli","onl","lun","inl","hu","ln","lni","uh","ulun","ho","olun","lini","ilin"]},"113":{"input":[1,5,6,7],"tlp":["anl",26128],"trp":["uz",53334],"tlw":["allah",1522],"trw":["olan",10895],"lp":["anl","zu","anla","zun","anli","aln","alni"],"rp":["uz","nla","lan","hal","uzu","olan","uzun","onla","unla","ula","lniz","ozu","uza"]},"114":{"input":[2,5,6,7],"tlp":["sul",3102],"trp":["ku",42732],"tlw":["soluk",557],"trw":["olsun",2457],"lp":["sul"],"rp":["ku","uk","kon","konu","oku","unk","kul","nku","unku","ukl","luk","nlik","kus","kun","uks","lsu","olsu","lsun","lus"]},"115":{"input":[1,2,5,6,7],"tlw":["sozunu",629],"trw":["nasil",6031],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eyl",6217],"trp":["yl",48761],"tlw":["elini",1491],"trw":["oyle",5326],"lp":["eyl","elin","eyle","elen"],"rp":["yl","iyo","yle","oyl","oyle","liy","liyo","yil","len","yol","iyl","nle","ley","luy","iliy","luyo"]},"117":{"input":[1,3,5,6,7],"trw":["yalniz",2707],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["soyle",2267],"trw":["yok",5734],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["aslinda",1786],"trw":["halde",2581],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bil",29017],"trp":["igin",12379],"tlw":["gibi",22656],"trw":["oglu",704],"lp":["bil","gib","gibi","gin","bul","bili","gini","bunl","bulu","gul","vu","bol","glu"],"rp":["igin","ngi","uv","ltin","lb","utl","ult"]},"121":{"input":[1,4,5,6,7],"tlw":["bulunan",1116],"trw":["hangi",1195],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["cunku",5282],"trw":["kucuk",4807],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["sultan",928],"trw":["kabul",2501],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["bile",8084],"trw":["olur",3157],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["guzel",3729],"trw":["uzerine",3191],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["buyuk",8285],"trw":["oldugunu",7814],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["basladi",3009],"trw":["uzerinde",2861],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trw":["p",380],"lp":[],"rp":[]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",33487],"trp":["pa",24487],"trw":["papa",112],"lp":["ap","apa"],"rp":["pa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",921],"trp":["ps",3704],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["sap",796],"trp":["pas",1542],"trw":["pasa",973],"lp":["sap","spa","aps","asp","sapa","aspa","saps","apsa"],"rp":["pas","pasa","pasp","psa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",9410],"trp":["pe",13191],"trw":["'",2126],"lp":["ep","e'","epe"],"rp":["pe","'e","''","pee"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["a'",2478],"trp":["'a",813],"lp":["a'","epa","ape","x'","ax'","a'e"],"rp":["'a","pa'"]},"134":{"input":[2,3,8],"tlp":["eps",2946],"trp":["'d",2842],"trw":["'de",625],"lp":["eps","s'","e'd","e'de","epes","d'","esp","eped","spe","s'e","es'","spee"],"rp":["'d","'de","pes","ped","pede","pse","pd","pds"]},"135":{"input":[1,2,3,8],"tlp":["sa'",753],"trp":["'da",1650],"trw":["'da",254],"lp":["sa'","a'd","a'da","asa'","esap","apad","sa'd","da'","aspe","apse","apd","apds","d'a"],"rp":["'da","pad","pa'd"]},"136":{"input":[4,8],"tlp":["tp",76],"trp":["pt",7654],"trw":["pt",1404],"lp":["tp","ttp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",5195],"trp":["pta",1168],"trw":["pat",52],"lp":["apt","tap","apta","apat","tapt"],"rp":["pta","pat","patt","pata"]},"138":{"input":[2,4,8],"trp":["pc",141],"lp":[],"rp":["pc"]},"139":{"input":[1,2,4,8],"tlp":["apac",1249],"trp":["pac",1249],"lp":["apac","apc","apca","spat","cap"],"rp":["pac","paca","pca"]},"140":{"input":[3,4,8],"tlp":["rp",1331],"trp":["pr",3486],"tlw":["tepe",103],"trw":["'te",217],"lp":["rp","tep","tepe","r'","re'","ere'","er'","rpt","ept","epte","rpe","rper"],"rp":["pr","per","'t","pre","pet","'te","petr","pte"]},"141":{"input":[1,3,4,8],"tlp":["apar",1698],"trp":["par",11587],"tlw":["arap",301],"trw":["para",1673],"lp":["apar","rap","arp","arap","ra'","tepa","f'","rpa","arpa","ara'","arpt","apr","apra"],"rp":["par","para","pra","part","patr","'ta","pera"]},"142":{"input":[2,3,4,8],"tlp":["cep",294],"trp":["perd",423],"tlw":["cep",124],"trw":["perde",178],"lp":["cep","step","s't","s'te","tesp","r'd","er'd","sper","re'd","ecep","ste'"],"rp":["perd","perc","pers"]},"143":{"input":[1,2,3,4,8],"tlw":["sarap",440],"trw":["parca",649],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["nm",9106],"trw":["m",1569],"lp":[],"rp":["nm","pm","mm","mp","mn"]},"145":{"input":[1,5,8],"tlp":["am",92732],"trp":["ma",129330],"tlw":["ama",21666],"trw":["mana",161],"lp":["am","ama","aman","apm","apma","anm","amam","anma","apan","amm"],"rp":["ma","man","mam","pma","nma","pan","mana","mpa","nam","mama"]},"146":{"input":[2,5,8],"tlp":["sm",13256],"trp":["ms",8305],"lp":["sm"],"rp":["ms","mps"]},"147":{"input":[1,2,5,8],"tlp":["sma",8191],"trp":["mas",9911],"tlw":["sam",348],"trw":["masa",380],"lp":["sma","sam","sman","asam","sama","asm","asma","amas","ams","smas","sanm","span","ssam"],"rp":["mas","masa","msa","pmas","nmas","maj","mans"]},"148":{"input":[3,5,8],"tlp":["em",49576],"trp":["me",74751],"tlw":["epey",418],"trw":["yemeye",95],"lp":["em","eme","emen","enm","emey"],"rp":["me","men","mey","meye","nem","'n","mem","nme","yem","ym","yeme","'y","pen","pey","y'"]},"149":{"input":[1,3,5,8],"tlp":["ame",2729],"trp":["yap",17207],"tlw":["annem",417],"trw":["yapan",657],"lp":["ame","amay","ema","a'n","amen","an'","a'y","eyma","a'ya"],"rp":["yap","may","maya","yapa","yapm","yma","'ya","mame","pmay","yman","pay"]},"150":{"input":[2,3,5,8],"tlp":["dem",6920],"trp":["md",15044],"tlw":["demeye",98],"trw":["'den",147],"lp":["dem","deme","sme","esm","emed","sem","ems","edem"],"rp":["md","mse","mes","med","mde","mede","mese","msey","meyd","mden","msen","msed"]},"151":{"input":[1,2,3,5,8],"tlw":["adam",4638],"trw":["meydana",782],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",17169],"trp":["mb",2359],"lp":["tm"],"rp":["mb","mt"]},"153":{"input":[1,4,5,8],"tlp":["tam",6202],"trp":["mat",647],"tlw":["tam",3821],"lp":["tam","tma","atm","tama","atma","bam","abam","amb","fam","amba","afam","apab","tatm","tman"],"rp":["mat","mba","mant","pab","ptan","pant"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",3662],"trp":["mc",1577],"lp":["cm"],"rp":["mc"]},"155":{"input":[1,2,4,5,8],"tlw":["cam",364],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",25050],"trp":["mer",5044],"tlw":["etmeye",820],"trw":["mr",413],"lp":["rm","etm","tme","rme","etme","tem","erm","erme","teme","tmey","rmey","rem","renm","term","ry'","rry'"],"rp":["mer","met","mr","mbe"]},"157":{"input":[1,3,4,5,8],"tlw":["tamamen",907],"trw":["yapar",447],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["sebep",489],"trw":["pencereden",421],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["stepan",214],"trw":["jandarma",125],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["ip",23109],"trw":["ip",98],"lp":[],"rp":["ip","pi","pip","ipi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",10616],"trp":["paz",682],"trw":["papaz",183],"lp":["api","apip","apaz","zip","azip","zap","azap"],"rp":["paz","paza"]},"162":{"input":[2,6,8],"tlp":["sip",883],"trp":["kip",3619],"tlw":["sikisip",77],"trw":["pis",531],"lp":["sip","spi"],"rp":["kip","psi","pis","pk","pisi","pki","ipk","ipki","ikip","psik","isip","pik","pkk","kipk","isp","pisk","ipik","kipi"]},"163":{"input":[1,2,6,8],"tlp":["apis",1831],"trp":["kap",8447],"tlw":["sapka",135],"trw":["kapi",974],"lp":["apis","akip","asip","apk","apka","sapk","apsi"],"rp":["kap","kapi","kapa","pka","ispa","pkas","pak","kapk","paki"]},"164":{"input":[3,6,8],"tlp":["epi",576],"trp":["'i",3340],"trw":["'i",87],"lp":["epi","e'i"],"rp":["'i","i'","ipe","ie'","pie"]},"165":{"input":[1,3,6,8],"tlp":["x'i",65],"trp":["pez",51],"lp":["x'i","ax'i"],"rp":["pez","peze"]},"166":{"input":[2,3,6,8],"tlp":["epsi",2946],"trp":["pek",6932],"tlw":["edip",667],"trw":["pek",4304],"lp":["epsi","dip","edip","ekip","ski'","epk","epki","espi","esip","s'i"],"rp":["pek","peki","idip","pesi","pid","k'","is'","ipek","ki'","k'i"]},"167":{"input":[1,2,3,6,8],"trw":["kapida",236],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",2155],"trp":["pti",4694],"tlw":["tip",299],"trw":["itip",81],"lp":["tip","tipi"],"rp":["pti","ipt","ipti","pit","itip"]},"169":{"input":[1,4,6,8],"tlp":["apti",4186],"trp":["itap",1997],"tlw":["atip",257],"lp":["apti","vap","atip","apit"],"rp":["itap","pav","pati","ipta","pita"]},"170":{"input":[2,4,6,8],"tlp":["cip",1668],"trp":["ptik",601],"tlw":["tipki",865],"trw":["icip",79],"lp":["cip","tipk","spit"],"rp":["ptik","pic","pici","icip","pist"]},"171":{"input":[1,2,4,6,8],"tlw":["takip",521],"trw":["kitap",795],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",3191],"trp":["irip",1440],"tlw":["verip",240],"trw":["pir",218],"lp":["rip","ri'","rpi","erip","ti'","rpti","r'i","re'i","ver'","er'i","rpip","rpri"],"rp":["irip","pir","piri","ptir","iti'","peri","irp","pri"]},"173":{"input":[1,3,4,6,8],"trw":["parti",379],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["cekip",471],"trw":["kirip",55],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["cevap",1689],"trw":["parcasi",437],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["im",97151],"trw":["mi",12284],"lp":[],"rp":["im","mi","min","nim","imi","nmi","mini","hip","hm","imin","inm","ph","pin","nip","pini","pmi","inmi","him","imp","nimi"]},"177":{"input":[1,5,6,8],"tlp":["zam",15802],"trp":["miz",5126],"tlw":["zaman",9588],"trw":["hanim",555],"lp":["zam","zama","ami","zim","amin","anim","ahip","zm","ahm","anmi"],"rp":["miz","maz","ima","izim","imiz","mani","mizi","mah","ham","mami"]},"178":{"input":[2,5,6,8],"tlp":["sim",12135],"trp":["mis",35215],"tlw":["simsiki",221],"trw":["kim",1847],"lp":["sim","smi"],"rp":["mis","kim","km","ism","ims","kims","ikm","misi","mk","kmi","nmis","kmis","kimi","ismi","isim","msi","ikmi","psin"]},"179":{"input":[1,2,5,6,8],"tlw":["aksam",1411],"trw":["misiniz",745],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",12554],"trp":["hem",8923],"tlw":["emin",834],"trw":["hemen",4788],"lp":["emi","enim","emin","emiy"],"rp":["hem","miy","hep","heme","'ni","'nin","piy","'in","ime","yim","yip","i'n","i'ni","hme","nemi","piyi"]},"181":{"input":[1,3,5,6,8],"tlw":["annemin",178],"trw":["hepimiz",316],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["simdi",5781],"trw":["kimse",1852],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["adamin",1501],"trw":["kapiyi",1057],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",7187],"trp":["itm",2987],"tlw":["tim",161],"trw":["mit",80],"lp":["tim","tmi","ttim","vim","timi","bitm","tmin","thm"],"rp":["itm","itmi","itim","ptim","mit","hipt","mbi","htim","ptin","imb","imbi","ntim"]},"185":{"input":[1,4,5,6,8],"tlw":["bizim",2636],"trw":["mavi",631],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["cikmis",550],"trw":["mistik",111],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["canim",596],"trw":["kaptan",268],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["benim",6122],"trw":["yirmi",1140],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["tanrim",479],"trw":["yapti",759],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["etmek",2074],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["devam",2432],"trw":["yardim",1282],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",8798],"lp":[],"rp":["op","po","opo","pop","popo","poo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",362],"trp":["opa",623],"tlw":["apo",61],"lp":["apo"],"rp":["opa"]},"194":{"input":[2,7,8],"tlp":["sop",218],"trp":["pos",264],"lp":["sop","spo"],"rp":["pos","opos","osp","pso"]},"195":{"input":[1,2,7,8],"tlp":["sopa",88],"trp":["pow",86],"tlw":["sopa",88],"lp":["sopa"],"rp":["pow"]},"196":{"input":[3,7,8],"tlp":["eop",251],"trp":["ope",871],"lp":["eop"],"rp":["ope","o'"]},"197":{"input":[1,3,7,8],"tlp":["eopa",251],"lp":["eopa"],"rp":[]},"198":{"input":[2,3,7,8],"tlp":["do'",50],"trp":["od'",59],"lp":["do'"],"rp":["od'","ood'"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",5867],"trp":["opt",260],"tlw":["top",230],"lp":["top"],"rp":["opt","pot","pott"]},"201":{"input":[1,4,7,8],"tlp":["apag",165],"trp":["pag",1236],"lp":["apag"],"rp":["pag","opat","opag","paga","pota"]},"202":{"input":[2,4,7,8],"tlp":["cop",181],"trp":["post",126],"tlw":["cop",181],"trw":["otostop",67],"lp":["cop","stop"],"rp":["post"]},"203":{"input":[1,2,4,7,8],"trw":["posta",126],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["topr",1446],"trp":["opr",1640],"trw":["potter",167],"lp":["topr","rop"],"rp":["opr","pro","-top","por","prog","peg","opeg","prop","oper","port","prot"]},"205":{"input":[1,3,4,7,8],"tlw":["topraga",181],"trw":["page",832],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["spor",119],"trw":["protesto",51],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"trw":["profesor",263],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["um",48695],"trw":["mu",2378],"lp":[],"rp":["um","mu","up","umu","om","mo","unm","mun","omu","umun","mum","nmu","onm","nup","num","onup","unmu","pu","onmu","mnu"]},"209":{"input":[1,5,7,8],"tlp":["amu",724],"trp":["uma",3601],"lp":["amu","ammu","amo","apon"],"rp":["uma","oma","upa","unma","uman","oman","mua","numa","pau","pamu","muna","namu","uam","muam"]},"210":{"input":[2,5,7,8],"tlp":["sunm",1248],"trp":["mus",15207],"trw":["musun",1010],"lp":["sunm","sup","smu","smus","sum","som"],"rp":["mus","usm","nusm","ums","osm","musu","umus","nmus","msu","usmu","umsu","usup","mos","osum"]},"211":{"input":[1,2,5,7,8],"trw":["osman",247],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emnu",603],"trp":["onem",4198],"trw":["memnun",488],"lp":["emnu","emu"],"rp":["onem","ume","yum","muy","unme","yumu","ome","uym","ymu","muyo","'u","memu","uyum","oym","onme","o'n","umuy","'un"]},"213":{"input":[1,3,5,7,8],"trw":["maymun",120],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["donup",819],"trw":["muydu",265],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["dusman",463],"trw":["musaade",167],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tum",4398],"trp":["mut",4536],"tlw":["tum",2174],"trw":["umut",237],"lp":["tum","gum","gm","gumu","tom","tup","gmu","ttom","tutm","tumu","tmu","gom"],"rp":["mut","ugum","utm","omut","nutm","umut","utmu","utup"]},"217":{"input":[1,4,5,7,8],"tlw":["bomba",100],"trw":["mutfaga",167],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["gumus",409],"trw":["unutmus",110],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["cuma",169],"trw":["mustafa",624],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["grup",385],"trw":["oturup",540],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["ragmen",1330],"trw":["yagmur",493],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["durum",881],"trw":["oturmus",358],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["durumda",912],"trw":["propaganda",168],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",6579],"trw":["pol",144],"lp":[],"rp":["pl","lip","opl","pil","pol","poli","ilip","ipl","lp","pli","pili","ilp","pilo","ipli","pool"]},"225":{"input":[1,6,7,8],"tlp":["apil",2908],"trp":["pla",4024],"tlw":["alip",1109],"lp":["apil","alip","apl","apla","apal","alp","apli"],"rp":["pla","opla","pila","pal","pali","ipla","lap","olap"]},"226":{"input":[2,6,7,8],"tlp":["skop",138],"trp":["kop",1470],"tlw":["silip",98],"trw":["polis",725],"lp":["skop","sipl"],"rp":["kop","lkip","kopo","pisl"]},"227":{"input":[1,2,6,7,8],"trw":["kapali",519],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elip",1112],"trp":["l'",1267],"trw":["poole",60],"lp":["elip","el'","el'i","epl","eple"],"rp":["l'","'l","ple","l'i","leop","li'","lep","'le","le'","lle'","le'i","iple","'li","ll'","ll'i"]},"229":{"input":[1,3,6,7,8],"trw":["la'e",56],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"trw":["kopek",433],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["dolasip",126],"trw":["pekala",402],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["topl",3261],"trp":["ptig",2000],"trw":["popov",105],"lp":["topl","gip"],"rp":["ptig","ptil","pov","opov"]},"233":{"input":[1,4,6,7,8],"tlw":["aptal",428],"trw":["iptal",64],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["politik",151],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["ciplak",453],"trw":["politika",153],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["gelip",1112],"trw":["piril",272],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["garip",992],"trw":["pavel",210],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["gidip",1162],"trw":["polisler",126],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["toprak",602],"trw":["parlak",776],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["lm",46943],"trw":["olup",1530],"lp":[],"rp":["lm","olm","lmi","ilm","ml","lim","lum","ilmi","lmu","mli","olmu","olum","mil","iml","ulm","ilim","lup","plu","oplu","olup"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["anlamina",563],"trw":["olmaz",1004],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["sokup",136],"trw":["olmus",1359],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["almak",825],"trw":["olmak",1877],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["elimi",221],"trw":["onemli",2111],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["almaya",456],"trw":["olmayan",1555],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["soylemek",674],"trw":["oldum",429],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["aldim",504],"trw":["olmadi",572],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["bolum",547],"trw":["mutlu",849],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",181],"trw":["hamilton",186],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["gitmis",374],"trw":["olmustu",1519],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["baslamisti",1046],"trw":["kocaman",640],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["biliyorum",953],"trw":["muhtemelen",286],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["zamanlar",874],"trw":["yaptigi",1060],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["gormek",1084],"trw":["istiyorum",996],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["basladim",495],"trw":["olmadigini",1197],"lp":[],"rp":[]}} +{"0":{"value":0,"notes":["Developer : Zack Dennis (zack@asetniop.com)","Date : 12/12/2014","All code (c) 2014 Pointesa, LLC all rights reserved","Abbreviations : ","tlp = top left partial","lp = left partials","trp = top right partial","rp = right partials","tlw = top left word","lw = left words","trw = top right word","rw = right words"]},"1":{"input":[1],"base":"a","baseshift":"A","tlp":["aa",4698],"tlw":["a",3554],"lp":["aa"],"rp":[]},"2":{"input":[2],"base":"s","baseshift":"S","tlp":["ss",4821],"tlw":["s",2414],"lp":["ss"],"rp":[]},"3":{"input":[1,2],"base":"w","baseshift":"W","tlp":["as",119382],"tlw":["www",328],"lp":["as","sa","asa","saa","sas","asas","ww","ssa","ass","www","assa","aw","ssas","wa","was","aas"],"rp":[]},"4":{"input":[3],"base":"e","baseshift":"E","tlp":["ee",787],"tlw":["e",2415],"lp":["ee","eee"],"rp":[]},"5":{"input":[1,3],"base":"x","baseshift":"X","tlp":["ea",1611],"tlw":["x",136],"lp":["ea","ax","ex","ae"],"rp":[]},"6":{"input":[2,3],"base":"d","baseshift":"D","tlp":["de",225606],"tlw":["de",36223],"lp":["de","se","ed","es","ede","ded","ses","ese","dd","des","ess","dde","sed","sse","sess","ds","ssed","sede","dede","ddes"],"rp":[]},"7":{"input":[1,2,3],"tlp":["da",206254],"tlw":["da",34321],"lp":["da","ad","ada","ade","sad","das","sade","adas","esa","dad","add","we","asad","adde","dea","dada","eda","ew","esas","ades"],"rp":[]},"8":{"input":[4],"base":"t","baseshift":"T","tlp":["tt",24695],"tlw":["t",1015],"lp":["tt"],"rp":[]},"9":{"input":[1,4],"base":"f","baseshift":"F","tlp":["ta",77585],"tlw":["ta",701],"lp":["ta","at","fa","af","att","ata","aat","afa","tta","atta","ft","tat","fta","aft","afta","tf","taf","tafa","fat","tfa"],"rp":[]},"10":{"input":[2,4],"base":"c","baseshift":"C","tlp":["st",68030],"tlw":["c",1161],"lp":["st","ct","ts","tc","sc","cs","cc","stc"],"rp":[]},"11":{"input":[1,2,4],"tlp":["ca",58921],"tlw":["saat",1953],"lp":["ca","ac","aca","sta","ast","tas","saat","asta","sac","cas","sat","fas","afas","act","ats","saf","tsa","fac","cat","staf"],"rp":[]},"12":{"input":[3,4],"base":"r","baseshift":"R","tlp":["er",226224],"tlw":["r",1919],"lp":["er","re","te","et","ere","rt","ter","ett","ret","tr","rr","ete","rer","ert","etr","tte","eter","tre","tere","ette"],"rp":[]},"13":{"input":[1,3,4],"tlp":["ar",265101],"tlw":["ara",805],"lp":["ar","ra","ara","tar","ef","fe","art","rar","are","rta","raf","tara","efe","ate","far","araf","arar","era","aret","rat"],"rp":[]},"14":{"input":[2,3,4],"tlp":["rd",94145],"tlw":["eder",1592],"lp":["rd","ce","ec","rs","ece","ste","der","erd","rc","rde","erc","rce","erce","tes","ster","erde","eder","cer","dec","dece"],"rp":[]},"15":{"input":[1,2,3,4],"tlp":["ard",24858],"tlw":["sadece",3474],"lp":["ard","dar","adar","rad","rada","sar","ars","ras","aras","rda","arda","rsa","adec","car","arc","rca","arca","sara","arad","ates"],"rp":[]},"16":{"input":[5],"base":"n","baseshift":"N","trp":["nn",4449],"trw":["n",2786],"lp":[],"rp":["nn"]},"17":{"input":[1,5],"base":"q","baseshift":"Q","tlp":["an",238539],"trp":["na",72648],"tlw":["an",2138],"trw":["na",265],"lp":["an","ana","ann","anan","anna","anaa"],"rp":["na","nan","nana","nna","naa"]},"18":{"input":[2,5],"base":"j","baseshift":"J","tlp":["sn",731],"trp":["ns",19851],"trw":["j",258],"lp":["sn","sj"],"rp":["ns"]},"19":{"input":[1,2,5],"tlp":["san",27441],"trp":["nsa",12550],"tlw":["sana",3065],"trw":["jan",70],"lp":["san","sana","ans","asan","aj","sans","anas","sna","ansa","saj","wn","snas","aja","ajan"],"rp":["nsa","nsan","nas","ja","jan","jas"]},"20":{"input":[3,5],"base":"y","baseshift":"Y","tlp":["en",210551],"trp":["ne",100917],"tlw":["en",11061],"trw":["ne",21701],"lp":["en","ey","eye","ene","eyen","enn","enen","enne","eyn","eney"],"rp":["ne","ye","yen","yn","ny","nne","ney","nen","neye","yey"]},"21":{"input":[1,3,5],"tlp":["ay",82752],"trp":["ya",146697],"tlw":["ay",1315],"trw":["ya",9294],"lp":["ay","aya","ayn","ayan","eya","aye","anne","ane","ena","ean","ayna"],"rp":["ya","yan","nya","yana","yay","yna","nyan","nyay","nay"]},"22":{"input":[2,3,5],"tlp":["den",42341],"trp":["nd",145890],"tlw":["sey",11559],"trw":["neden",3186],"lp":["den","end","sey","sen","eden","eyd","sy","ende","eys","eyse","dey"],"rp":["nd","nde","yd","nden","ned","nede","nes","ys","yse"]},"23":{"input":[1,2,3,5],"tlp":["dan",31876],"trp":["nda",59116],"tlw":["anda",2147],"trw":["yandan",1000],"lp":["dan","and","anda","adan","say","ayd","day","sya","daya","saya"],"rp":["nda","ndan","yas","yasa","yda","yad","yand","yada","ydan","nyad"]},"24":{"input":[4,5],"base":"b","baseshift":"B","tlp":["bb",403],"trp":["nt",8039],"tlw":["b",1063],"lp":["bb","bn","tn"],"rp":["nt","nb","ntt"]},"25":{"input":[1,4,5],"tlp":["ba",93513],"trp":["nat",1344],"tlw":["bana",7207],"lp":["ba","ab","tan","aba","ban","bana","bab","baba","tab","aban","ant","bat","anb","tanb","atan","anat","anta","taba"],"rp":["nat","nta"]},"26":{"input":[2,4,5],"tlp":["cb",5912],"trp":["nc",43318],"lp":["cb","sb","bs"],"rp":["nc","nst","nts","nct","ncs"]},"27":{"input":[1,2,4,5],"tlp":["bas",33680],"trp":["nca",9555],"tlw":["bas",1003],"lp":["bas","anc","anca","can","sab","stan","saba","cab","abas","basa","banc","caba","bast","acab","bac","baca","acan"],"rp":["nca","jac","nanc"]},"28":{"input":[3,4,5],"tlp":["be",64335],"trp":["nr",22775],"tlw":["ben",11408],"trw":["yere",2638],"lp":["be","ben","ren","ten","ber","rb","bey","eb","ry","rn","rey","rry","bet"],"rp":["nr","yer","yet","ner","yr","yere","nere"]},"29":{"input":[1,3,4,5],"tlp":["ran",8536],"trp":["nra",19010],"tlw":["bay",1366],"trw":["nefret",613],"lp":["ran","ray","ayr","bay","ayat","rab","fen","anr","tanr","raya","abe","aber","bar","tay","aran","efen"],"rp":["nra","yar","yat","yara"]},"30":{"input":[2,3,4,5],"tlp":["enc",7430],"trp":["nce",17802],"tlw":["bes",2395],"trw":["yerde",2084],"lp":["enc","rden","bes","cen","ence","ecen","bend","bed","eyec","seb","sebe","cey","bede","denb","renc"],"rp":["nce","yerd","yec","ncer","yece"]},"31":{"input":[1,2,3,4,5],"tlw":["cay",353],"trw":["nefes",591],"lp":[],"rp":[]},"32":{"input":[6],"base":"i","baseshift":"I","trp":["ii",3027],"trw":["i",6002],"lp":[],"rp":["ii","iii"]},"33":{"input":[1,6],"base":"z","baseshift":"Z","tlp":["az",37543],"trp":["iz",67417],"tlw":["az",2781],"trw":["iz",185],"lp":["az","zi","za","azi","ai","aza","zz","zza","ziz","aziz","azz","azza","aiz","zizi"],"rp":["iz","izi","ia","iza","izz","izza"]},"34":{"input":[2,6],"base":"k","baseshift":"K","tlp":["si",195648],"trp":["is",144843],"tlw":["sik",1643],"trw":["ki",13823],"lp":["si","sk","sik","ski","sis"],"rp":["is","ki","ik","isi","iki","kis","ks","kisi","kk","kki","ksi","isik","isk","iss","ikk"]},"35":{"input":[1,2,6],"tlp":["ak",120301],"trp":["ka",146870],"tlw":["siz",2295],"trw":["kiz",2838],"lp":["ak","asi","aki","siz","ask","aka","ska","aska","aks","sizi","akk","sak"],"rp":["ka","ika","isa","kiz","ksa","kas","kasi","kka"]},"36":{"input":[3,6],"base":",","baseshift":"<","tlp":["ei",1119],"trp":["ie",1447],"lp":["ei"],"rp":["ie"],"special":"punc"},"37":{"input":[1,3,6],"tlp":["ze",32460],"trp":["ize",5154],"lp":["ze","ez","aze","eza","ezi","eze","xi","axi","zize","ezz","zze","ezze"],"rp":["ize","ix"]},"38":{"input":[2,3,6],"tlp":["di",240613],"trp":["ke",66794],"tlw":["dedi",14715],"trw":["ise",4856],"lp":["di","ek","edi","esi","dedi","eki","dis","disi","dik","sek","eke","esk","dek","eski"],"rp":["ke","id","ide","ise","kes","idi"]},"39":{"input":[1,2,3,6],"tlp":["adi",32039],"trp":["kad",29760],"tlw":["size",2133],"trw":["kez",2647],"lp":["adi","dak","zd","daki","zde","dasi","disa","size","dai","zdi","diz","aske","azd"],"rp":["kad","kada","kadi","ida","kez","izd","izde"]},"40":{"input":[4,6],"base":"v","baseshift":"V","tlp":["ti",111166],"trp":["it",25283],"tlw":["v",314],"trw":["iv",158],"lp":["ti","tti","vi","vv","tit","vit","tv","vitt","vvi","titi"],"rp":["it","itt","itti","iti","iv","ivi"]},"41":{"input":[1,4,6],"tlp":["va",43131],"trp":["if",8297],"tlw":["atti",862],"trw":["itaat",146],"lp":["va","av","ati","fi","ava","afi","faz","atti","zat","avi","fif","afif","tav","ait","zav","zava"],"rp":["if","ita","ifa","ift"]},"42":{"input":[2,4,6],"tlp":["ci",93762],"trp":["ic",75936],"tlw":["cikti",1490],"trw":["ic",1182],"lp":["ci","sti","cik","tik","cti","sit","cikt","tk","tki","cis"],"rp":["ic","ici","kt","ist","isti","kti","ikt","kit","ikti","kc"]},"43":{"input":[1,2,4,6],"tlp":["cak",14208],"trp":["kat",11273],"tlw":["fakat",5422],"trw":["kac",836],"lp":["cak","aci","akt","fak","akti","acak","cika","akat","faka","vas","tak","avas","acik","zc"],"rp":["kat","kta","kac","ica","izc","kita"]},"44":{"input":[3,4,6],"tlp":["ri",163641],"trp":["ir",286103],"tlw":["ve",81408],"trw":["iri",579],"lp":["ri","ve","eri","ev","ver","tir","etti","eti","rti","evi","eve","vet","vr","veri","evet","etir","evr"],"rp":["ir","iri","ire"]},"45":{"input":[1,3,4,6],"tlp":["ari",56898],"trp":["ira",15785],"tlw":["var",7891],"trw":["itiraf",311],"lp":["ari","var","zer","zeri","arti","raz","eva","rafi","zar","tari","avr","zate","zir","zere","air","fir","azir","atir"],"rp":["ira","iraz"]},"46":{"input":[2,3,4,6],"tlp":["rk",38427],"trp":["iste",14557],"tlw":["tek",4748],"trw":["iste",3907],"lp":["rk","rdi","rek","cek","dir","erek","rke","rsi","ekt","tek","erk","sir","erke","erdi","ris"],"rp":["iste","ird","irdi","kte","kir"]},"47":{"input":[1,2,3,4,6],"tlw":["vardi",6467],"trw":["kadar",16753],"lp":[],"rp":[]},"48":{"input":[5,6],"base":"h","baseshift":"H","trp":["in",370626],"trw":["in",526],"lp":[],"rp":["in","ni","ini","nin","hi","inin","ih","hin","ihi","nini","nih","hn","ihin","ihn","hni","ihni","hini","hnin","nni","hnn"]},"49":{"input":[1,5,6],"tlp":["ah",50091],"trp":["ha",92564],"tlw":["ah",1397],"trw":["izin",1006],"lp":["ah","ani","aha","anin","zin","ahi","zan"],"rp":["ha","ina","niz","han","izin","iniz","hiz","nz","haz","inan","hani","nina","hazi"]},"50":{"input":[2,5,6],"tlp":["sin",65670],"trp":["isin",17912],"tlw":["sinsi",110],"trw":["isin",932],"lp":["sin","sini","skin","sh"],"rp":["isin","kin","ins","nk","nki","ikin","his","kkin","nis","nsi","hs","nik","hiss","ji","hk","hik"]},"51":{"input":[1,2,5,6],"tlp":["asin",26353],"trp":["insa",12256],"tlw":["sanki",2615],"trw":["insan",3805],"lp":["asin","sina","akin","sah","sani","ank","sahi","anki","sank","ansi","akan"],"rp":["insa","kan","nasi","hak","hakk","has","kah","ikan","nsiz"]},"52":{"input":[3,5,6],"tlp":["eni",37090],"trp":["iy",103444],"tlw":["eh",335],"trw":["iyi",7728],"lp":["eni","eyi","enin","eh","eyin","ehi"],"rp":["iy","yi","he","ine","iye","iyi","yin","yeni","yni","niy","yine","niye","hen","hey"]},"53":{"input":[1,3,5,6],"tlp":["ayi",16661],"trp":["hay",12548],"tlw":["ayni",4770],"trw":["yani",4094],"lp":["ayi","ayni","zen","enz","aniy","ziy","ayin","enze","eniz","eyaz"],"rp":["hay","yani","iya","yaz","haya","hayi","yazi","yah","nze","iyan"]},"54":{"input":[2,3,5,6],"tlp":["endi",29457],"trp":["ind",72325],"tlw":["diye",15017],"trw":["kendi",7334],"lp":["endi","diy","din","sind","diye","esin","dini","siy","seni","sine","ediy"],"rp":["ind","ken","ndi","inde","kend","ydi","ndis","ndin","kiy"]},"55":{"input":[1,2,3,5,6],"tlw":["daha",20490],"trw":["kadin",3728],"lp":[],"rp":[]},"56":{"input":[4,5,6],"tlp":["bi",275568],"trp":["ib",28649],"tlw":["bin",1281],"trw":["hint",87],"lp":["bi","tin","bin","vin","th","tini","bit","bii"],"rp":["ib","ibi","ht","iht","hti","ihti","nti","nit","int","hib","hibi","inti"]},"57":{"input":[1,4,5,6],"tlp":["biz",10055],"trp":["hat",6156],"tlw":["biz",2560],"trw":["hatta",2528],"lp":["biz","abi","bizi","baz","fin","afin","bah","atin","tabi","bazi","tani","van","ahat","abah"],"rp":["hat","haf","hav","hava","hatt","hab"]},"58":{"input":[2,4,5,6],"tlp":["cin",41998],"trp":["icin",39248],"tlw":["cin",367],"trw":["icin",25984],"lp":["cin","cbi","bic","ch","bici","cini","vinc"],"rp":["icin","hic","inc","nci","icb","hicb","icbi","inci","kinc","nic","hc","nici","ich"]},"59":{"input":[1,2,4,5,6],"tlw":["baska",6795],"lp":[],"rp":[]},"60":{"input":[3,4,5,6],"tlp":["bir",195972],"trp":["her",22311],"tlw":["bir",148963],"trw":["her",15822],"lp":["bir","rin","erin","rini","beni","biri","rine","tiy","riy","evin","rh","rbi","birb"],"rp":["her","irin","yeri","yir","nri","yri","irb"]},"61":{"input":[1,3,4,5,6],"tlw":["biraz",4474],"trw":["hayir",2604],"lp":[],"rp":[]},"62":{"input":[2,3,4,5,6],"tlw":["birden",2181],"trw":["icinde",7275],"lp":[],"rp":[]},"63":{"input":[1,2,3,4,5,6],"tlw":["arasinda",3496],"trw":["yavas",1614],"lp":[],"rp":[]},"64":{"input":[7],"base":"o","baseshift":"O","trp":["oo",542],"trw":["o",25996],"lp":[],"rp":["oo"]},"65":{"input":[1,7],"base":"(","baseshift":"[","trp":["oa",60],"lp":[],"rp":["oa"],"special":"punc"},"66":{"input":[2,7],"base":".","baseshift":">","tlp":["so",67268],"trp":["os",16832],"tlw":["so",92],"lp":["so","sos"],"rp":["os","oso","oss"],"special":"punc"},"67":{"input":[1,2,7],"tlp":["wo",188],"trp":["osa",584],"lp":["wo","woo"],"rp":["osa","ow"]},"68":{"input":[3,7],"base":"-","baseshift":"_","tlp":["eo",1196],"trp":["oe",285],"trw":["-",13834],"lp":["eo","e-"],"rp":["oe","-e","-o"],"special":"punc"},"69":{"input":[1,3,7],"trp":["-a",61],"lp":[],"rp":["-a"]},"70":{"input":[2,3,7],"tlp":["do",35030],"trp":["od",5854],"tlw":["do",161],"lp":["do","dos","eso","edo","s-","s-s","s-se","sdo","dosd","deo"],"rp":["od","ose","-s","ode","oses","ood","osed","-se","osd","osdo"]},"71":{"input":[1,2,3,7],"tlp":["ado",548],"trp":["oda",4372],"trw":["odada",430],"lp":["ado","wood","eoda"],"rp":["oda","odas","odad","-w","-we","owe","oad"]},"72":{"input":[4,7],"base":"g","baseshift":"G","tlp":["go",43595],"trp":["og",22300],"tlw":["g",946],"trw":["ot",144],"lp":["go","to","got","tto","gog","tog","tg","gg","gt","gto"],"rp":["og","ot","oto","ott","otto","otog","ogg","ogo"]},"73":{"input":[1,4,7],"tlp":["ag",32516],"trp":["of",2290],"tlw":["aga",174],"trw":["of",191],"lp":["ag","ga","aga","fo","tag","atag","ato","fot","foto","taga","fag","tfag","faga","ago","fog","fogg"],"rp":["of","oga","ofo","ota"]},"74":{"input":[2,4,7],"tlp":["co",29333],"trp":["oc",10369],"tlw":["goc",81],"trw":["oc",52],"lp":["co","coc","gos","gost","cog","sog","sto","sg","gs","gogs","tos","cos","gc","sgc","stos"],"rp":["oc","ost","osto","ogs","osc"]},"75":{"input":[1,2,4,7],"tlp":["sag",5201],"trp":["oca",3682],"tlw":["sag",869],"lp":["sag","cag","acag","asag","gac","agac","sof","saga","gas","sga","gaca","sofo","gasa","astg","asg"],"rp":["oca","ocas","osta","osca","ocag"]},"76":{"input":[3,4,7],"tlp":["ge",85092],"trp":["or",124494],"tlw":["gore",3389],"trw":["ote",515],"lp":["ge","eg","ger","gor","gr","gere","gore","ege","ro","rg","eger","gre","get","tor"],"rp":["or","ogr","ort","ore","ote","ogre"]},"77":{"input":[1,3,4,7],"tlp":["gar",3353],"trp":["orta",6084],"tlw":["fotograf",161],"trw":["orta",641],"lp":["gar","arg","rag","gra","efo","age","t-f","t-fa","gara","rato","ator","for","rof","graf","agr"],"rp":["orta","ora","-f","-fa","ogra"]},"78":{"input":[2,3,4,7],"tlp":["deg",18415],"trp":["ord",34113],"tlw":["gece",2933],"trw":["otede",232],"lp":["deg","gec","dog","dogr","sor","gece","gerc","gord","sord","ceg","dor","eceg","dort","gect","dost","dege","gd"],"rp":["ord","oste","ors"]},"79":{"input":[1,2,3,4,7],"tlw":["dag",243],"trw":["orada",2520],"lp":[],"rp":[]},"80":{"input":[5,7],"base":"u","baseshift":"U","trp":["un",176917],"trw":["onu",9693],"lp":[],"rp":["un","on","nu","onu","unu","nun","onun","unun","no","nunu","ou","non","ono","nou","unn"]},"81":{"input":[1,5,7],"tlp":["ano",845],"trp":["una",8817],"trw":["ona",7053],"lp":["ano","anu","au","qu","anun","anon","aun"],"rp":["una","ona","unan","ua","nuna","uan","nano","onan"]},"82":{"input":[2,5,7],"tlp":["su",56434],"trp":["us",59637],"tlw":["su",6093],"trw":["us",133],"lp":["su","son","sun","sunu","sonu","sus","sons"],"rp":["us","usu","usun","nus","onus","nusu","osu","jo","ons","nsu","onsu","osun","ju"]},"83":{"input":[1,2,5,7],"tlp":["suna",877],"trp":["usa",2657],"tlw":["sona",460],"lp":["suna","sona","asu","anus","susa","ajo","sano","sau","saun","asus","anso"],"rp":["usa","usan","nusa","own","usaa","now","nown","osan","unas"]},"84":{"input":[3,5,7],"tlp":["enu",1411],"trp":["yo",85768],"trw":["onune",1033],"lp":["enu"],"rp":["yo","uy","yu","oy","uyo","uyu","une","one","uny","oyu","yun","nuy","oyun","nuyo","yon","unuy","n-","oyn","yone"]},"85":{"input":[1,3,5,7],"tlp":["anyo",338],"trp":["unya",5800],"trw":["yunan",253],"lp":["anyo","eona","eux","an-","que"],"rp":["unya","uya","uyan","oya","yuna","oyna","ux","nuya","yuya","onay","yoya","-ya","yano","oyan","yona"]},"86":{"input":[2,3,5,7],"tlp":["du",128153],"trp":["und",24604],"tlw":["dondu",1341],"trw":["onunde",1790],"lp":["du","soy","dus","dusu","don","dun","duny","duy","sund"],"rp":["und","unde","ud","ndu","ond","nund","undu","udu","ydu","uyd","uydu"]},"87":{"input":[1,2,3,5,7],"tlw":["sonunda",2463],"trw":["ondan",1762],"lp":[],"rp":[]},"88":{"input":[4,5,7],"tlp":["bu",129214],"trp":["ug",30997],"tlw":["bu",59152],"trw":["not",308],"lp":["bu","gu","tu","gun","bun","bo","tun","gunu","bunu","but","butu"],"rp":["ug","ugu","ut","ugun","utu","utun","otu","ng","ogu"]},"89":{"input":[1,4,5,7],"tlp":["bag",4649],"trp":["uf",2044],"tlw":["buna",2248],"lp":["bag","ang","abu","fon","buna","font","anbu","gan","guna","fu","tuta","agan"],"rp":["uf","uta","utf","ufa","utan","uga","uba","nag"]},"90":{"input":[2,4,5,7],"tlp":["cu",29850],"trp":["uc",23984],"tlw":["bos",1277],"trw":["uc",3579],"lp":["cu","stu","cun","cocu","guc","stun","sunc","bos","cug","cogu"],"rp":["uc","ust","ucu","ustu","unc","onc","ocu","ucun","nuc","onuc"]},"91":{"input":[1,2,4,5,7],"tlw":["fonts",354],"trw":["usta",320],"lp":[],"rp":[]},"92":{"input":[3,4,5,7],"tlp":["ru",61296],"trp":["ur",80226],"tlw":["gene",1320],"trw":["uygun",1047],"lp":["ru","tur","boy","buy","buyu","gru","run","gen","bur","goru"],"rp":["ur","yor","oru","onr","uru","uyor","yoru","ogru","orun","ure"]},"93":{"input":[1,3,4,5,7],"tlw":["buraya",1264],"trw":["ortaya",2163],"lp":[],"rp":[]},"94":{"input":[2,3,4,5,7],"tlw":["dogru",6276],"trw":["once",6114],"lp":[],"rp":[]},"95":{"input":[1,2,3,4,5,7],"tlw":["sonra",17553],"trw":["oradan",704],"lp":[],"rp":[]},"96":{"input":[6,7],"base":"l","baseshift":"L","trp":["li",153361],"trw":["l",1692],"lp":[],"rp":["li","il","ol","ili","ll","lli","ill","lo","oll","oli","illi","lil","olo","io","ilo","lili","ool","llo"]},"97":{"input":[1,6,7],"tlp":["al",111125],"trp":["la",193014],"tlw":["al",750],"trw":["la",412],"lp":["al","ali","zl","ala","zla","all","zo","alla","azl","zli","azla"],"rp":["la","ola","oz","ila","lla","ozl","izl","izli","izla"]},"98":{"input":[2,6,7],"tlp":["sl",30642],"trp":["ok",45144],"tlw":["sol",615],"trw":["ilk",4866],"lp":["sl","sil","sli","sili"],"rp":["ok","ko","kl","lik","lk","lis","kli","kil","ikl","ls","isl","lki","ols","ilk","kol","likl"]},"99":{"input":[1,2,6,7],"tlp":["asl",17339],"trp":["kal",18830],"tlw":["soz",2999],"trw":["olsa",1993],"lp":["asl","sla","asla","akl","asil","soz","sal","alis","akla","asli","alk","akli"],"rp":["kal","kla","las","lak","kala","lasi","kali","lsa"]},"100":{"input":[3,6,7],"tlp":["el",88486],"trp":["le",161881],"tlw":["el",1633],"trw":["ile",9283],"lp":["el","eli","ele","ell","elli","elle","elel","elil"],"rp":["le","ile","lle","ille","ole","lel","leo","-i","lee","leli","lele","i-"]},"101":{"input":[1,3,6,7],"tlp":["zle",10682],"trp":["ozle",8085],"tlw":["aile",576],"trw":["ozel",1294],"lp":["zle","zel","ale","ela","zell","aile","alle","zeli","elal","ael","elia","eal","ezil","ezel","azel","aale"],"rp":["ozle","oze","ozel","izle"]},"102":{"input":[2,3,6,7],"tlp":["dil",10774],"trp":["ld",66610],"tlw":["sekilde",2905],"trw":["kisisel",342],"lp":["dil","ekl","eld","sle","sel","eldi","dol","dile","esl","ekli"],"rp":["ld","old","ldi","ild","ildi","kle","lde","led","ledi","ikle"]},"103":{"input":[1,2,3,6,7],"tlw":["aldi",1426],"trw":["kaldi",1084],"lp":[],"rp":[]},"104":{"input":[4,6,7],"tlp":["gi",137313],"trp":["ig",40159],"tlw":["gitti",1369],"trw":["ilgili",1508],"lp":["gi","gil","tl","gl","tig","tigi","git","gili","tli","vl"],"rp":["ig","igi","lt","lg","lti","ilg","lgi","ilgi","lig","ligi"]},"105":{"input":[1,4,6,7],"tlp":["agi",15275],"trp":["lat",3470],"tlw":["fazla",3194],"trw":["laf",255],"lp":["agi","goz","alt","alti","gozl","agl","atl","fazl","tal","gla","tla","zg","agla","giz","val","atli","agli","gal","gz"],"rp":["lat"]},"106":{"input":[2,4,6,7],"tlp":["cok",19740],"trp":["okt",7640],"tlw":["cok",17627],"trw":["isigi",416],"lp":["cok","cl","cil","gis","sig","gisi","cli","sigi"],"rp":["okt","likt","kot","koc","lc","ktig","lic","olc","list","isig","kto","okto"]},"107":{"input":[1,2,4,6,7],"tlw":["asagi",1220],"trw":["olacak",1662],"lp":[],"rp":[]},"108":{"input":[3,4,6,7],"tlp":["rl",31288],"trp":["ler",57971],"tlw":["geri",3197],"trw":["ileri",1117],"lp":["rl","egi","gel","egil","rli","gir","rle","erl","geli","rler","erle","gele","eler"],"rp":["ler","leri","lir","iler","irl","ilir","irli"]},"109":{"input":[1,3,4,6,7],"tlw":["agir",1726],"lp":[],"rp":[]},"110":{"input":[2,3,4,6,7],"tlw":["degil",8435],"lp":[],"rp":[]},"111":{"input":[1,2,3,4,6,7],"tlw":["farkli",1113],"trw":["olarak",9384],"lp":[],"rp":[]},"112":{"input":[5,6,7],"trp":["nl",58209],"trw":["unlu",539],"lp":[],"rp":["nl","lu","ul","olu","lin","ulu","unl","nli","onl","lun","inl","hu","ln","lni","uh","ulun","ho","olun","lini","ilin"]},"113":{"input":[1,5,6,7],"tlp":["anl",26128],"trp":["uz",53334],"tlw":["allah",1522],"trw":["olan",10895],"lp":["anl","zu","anla","zun","anli","aln","alni"],"rp":["uz","nla","lan","hal","uzu","olan","uzun","onla","unla","ula","lniz","ozu","uza"]},"114":{"input":[2,5,6,7],"tlp":["sul",3102],"trp":["ku",42732],"tlw":["soluk",557],"trw":["olsun",2457],"lp":["sul"],"rp":["ku","uk","kon","konu","oku","unk","kul","nku","unku","ukl","luk","nlik","kus","kun","uks","lsu","olsu","lsun","lus"]},"115":{"input":[1,2,5,6,7],"tlw":["sozunu",629],"trw":["nasil",6031],"lp":[],"rp":[]},"116":{"input":[3,5,6,7],"tlp":["eyl",6217],"trp":["yl",48761],"tlw":["elini",1491],"trw":["oyle",5326],"lp":["eyl","elin","eyle","elen"],"rp":["yl","iyo","yle","oyl","oyle","liy","liyo","yil","len","yol","iyl","nle","ley","luy","iliy","luyo"]},"117":{"input":[1,3,5,6,7],"trw":["yalniz",2707],"lp":[],"rp":[]},"118":{"input":[2,3,5,6,7],"tlw":["soyle",2267],"trw":["yok",5734],"lp":[],"rp":[]},"119":{"input":[1,2,3,5,6,7],"tlw":["aslinda",1786],"trw":["halde",2581],"lp":[],"rp":[]},"120":{"input":[4,5,6,7],"tlp":["bil",29017],"trp":["igin",12379],"tlw":["gibi",22656],"trw":["oglu",704],"lp":["bil","gib","gibi","gin","bul","bili","gini","bunl","bulu","gul","vu","bol","glu"],"rp":["igin","ngi","uv","ltin","lb","utl","ult"]},"121":{"input":[1,4,5,6,7],"tlw":["bulunan",1116],"trw":["hangi",1195],"lp":[],"rp":[]},"122":{"input":[2,4,5,6,7],"tlw":["cunku",5282],"trw":["kucuk",4807],"lp":[],"rp":[]},"123":{"input":[1,2,4,5,6,7],"tlw":["sultan",928],"trw":["kabul",2501],"lp":[],"rp":[]},"124":{"input":[3,4,5,6,7],"tlw":["bile",8084],"trw":["olur",3157],"lp":[],"rp":[]},"125":{"input":[1,3,4,5,6,7],"tlw":["guzel",3729],"trw":["uzerine",3191],"lp":[],"rp":[]},"126":{"input":[2,3,4,5,6,7],"tlw":["buyuk",8285],"trw":["oldugunu",7814],"lp":[],"rp":[]},"127":{"input":[1,2,3,4,5,6,7],"tlw":["basladi",3009],"trw":["uzerinde",2861],"lp":[],"rp":[]},"128":{"input":[8],"base":"p","baseshift":"P","trw":["p",380],"lp":[],"rp":[]},"129":{"input":[1,8],"base":"?","baseshift":"/","tlp":["ap",33487],"trp":["pa",24487],"trw":["papa",112],"lp":["ap","apa"],"rp":["pa","pap","papa"],"special":"punc"},"130":{"input":[2,8],"base":")","baseshift":"]","tlp":["sp",921],"trp":["ps",3704],"lp":["sp"],"rp":["ps"],"special":"punc"},"131":{"input":[1,2,8],"tlp":["sap",796],"trp":["pas",1542],"trw":["pasa",973],"lp":["sap","spa","aps","asp","sapa","aspa","saps","apsa"],"rp":["pas","pasa","pasp","psa"]},"132":{"input":[3,8],"base":"'","baseshift":"\"","tlp":["ep",9410],"trp":["pe",13191],"trw":["'",2126],"lp":["ep","e'","epe"],"rp":["pe","'e","''","pee"],"special":"punc"},"133":{"input":[1,3,8],"tlp":["a'",2478],"trp":["'a",813],"lp":["a'","epa","ape","x'","ax'","a'e"],"rp":["'a","pa'"]},"134":{"input":[2,3,8],"tlp":["eps",2946],"trp":["'d",2842],"trw":["'de",625],"lp":["eps","s'","e'd","e'de","epes","d'","esp","eped","spe","s'e","es'","spee"],"rp":["'d","'de","pes","ped","pede","pse","pd","pds"]},"135":{"input":[1,2,3,8],"tlp":["sa'",753],"trp":["'da",1650],"trw":["'da",254],"lp":["sa'","a'd","a'da","asa'","esap","apad","sa'd","da'","aspe","apse","apd","apds","d'a"],"rp":["'da","pad","pa'd"]},"136":{"input":[4,8],"tlp":["tp",76],"trp":["pt",7654],"trw":["pt",1404],"lp":["tp","ttp"],"rp":["pt"],"special":"bksp","base":"tp"},"137":{"input":[1,4,8],"tlp":["apt",5195],"trp":["pta",1168],"trw":["pat",52],"lp":["apt","tap","apta","apat","tapt"],"rp":["pta","pat","patt","pata"]},"138":{"input":[2,4,8],"trp":["pc",141],"lp":[],"rp":["pc"]},"139":{"input":[1,2,4,8],"tlp":["apac",1249],"trp":["pac",1249],"lp":["apac","apc","apca","spat","cap"],"rp":["pac","paca","pca"]},"140":{"input":[3,4,8],"tlp":["rp",1331],"trp":["pr",3486],"tlw":["tepe",103],"trw":["'te",217],"lp":["rp","tep","tepe","r'","re'","ere'","er'","rpt","ept","epte","rpe","rper"],"rp":["pr","per","'t","pre","pet","'te","petr","pte"]},"141":{"input":[1,3,4,8],"tlp":["apar",1698],"trp":["par",11587],"tlw":["arap",301],"trw":["para",1673],"lp":["apar","rap","arp","arap","ra'","tepa","f'","rpa","arpa","ara'","arpt","apr","apra"],"rp":["par","para","pra","part","patr","'ta","pera"]},"142":{"input":[2,3,4,8],"tlp":["cep",294],"trp":["perd",423],"tlw":["cep",124],"trw":["perde",178],"lp":["cep","step","s't","s'te","tesp","r'd","er'd","sper","re'd","ecep","ste'"],"rp":["perd","perc","pers"]},"143":{"input":[1,2,3,4,8],"tlw":["sarap",440],"trw":["parca",649],"lp":[],"rp":[]},"144":{"input":[5,8],"base":"m","baseshift":"M","trp":["nm",9106],"trw":["m",1569],"lp":[],"rp":["nm","pm","mm","mp","mn"]},"145":{"input":[1,5,8],"tlp":["am",92732],"trp":["ma",129330],"tlw":["ama",21666],"trw":["mana",161],"lp":["am","ama","aman","apm","apma","anm","amam","anma","apan","amm"],"rp":["ma","man","mam","pma","nma","pan","mana","mpa","nam","mama"]},"146":{"input":[2,5,8],"tlp":["sm",13256],"trp":["ms",8305],"lp":["sm"],"rp":["ms","mps"]},"147":{"input":[1,2,5,8],"tlp":["sma",8191],"trp":["mas",9911],"tlw":["sam",348],"trw":["masa",380],"lp":["sma","sam","sman","asam","sama","asm","asma","amas","ams","smas","sanm","span","ssam"],"rp":["mas","masa","msa","pmas","nmas","maj","mans"]},"148":{"input":[3,5,8],"tlp":["em",49576],"trp":["me",74751],"tlw":["epey",418],"trw":["yemeye",95],"lp":["em","eme","emen","enm","emey"],"rp":["me","men","mey","meye","nem","'n","mem","nme","yem","ym","yeme","'y","pen","pey","y'"]},"149":{"input":[1,3,5,8],"tlp":["ame",2729],"trp":["yap",17207],"tlw":["annem",417],"trw":["yapan",657],"lp":["ame","amay","ema","a'n","amen","an'","a'y","eyma","a'ya"],"rp":["yap","may","maya","yapa","yapm","yma","'ya","mame","pmay","yman","pay"]},"150":{"input":[2,3,5,8],"tlp":["dem",6920],"trp":["md",15044],"tlw":["demeye",98],"trw":["'den",147],"lp":["dem","deme","sme","esm","emed","sem","ems","edem"],"rp":["md","mse","mes","med","mde","mede","mese","msey","meyd","mden","msen","msed"]},"151":{"input":[1,2,3,5,8],"tlw":["adam",4638],"trw":["meydana",782],"lp":[],"rp":[]},"152":{"input":[4,5,8],"tlp":["tm",17169],"trp":["mb",2359],"lp":["tm"],"rp":["mb","mt"]},"153":{"input":[1,4,5,8],"tlp":["tam",6202],"trp":["mat",647],"tlw":["tam",3821],"lp":["tam","tma","atm","tama","atma","bam","abam","amb","fam","amba","afam","apab","tatm","tman"],"rp":["mat","mba","mant","pab","ptan","pant"],"special":"numsym"},"154":{"input":[2,4,5,8],"tlp":["cm",3662],"trp":["mc",1577],"lp":["cm"],"rp":["mc"]},"155":{"input":[1,2,4,5,8],"tlw":["cam",364],"lp":[],"rp":[]},"156":{"input":[3,4,5,8],"tlp":["rm",25050],"trp":["mer",5044],"tlw":["etmeye",820],"trw":["mr",413],"lp":["rm","etm","tme","rme","etme","tem","erm","erme","teme","tmey","rmey","rem","renm","term","ry'","rry'"],"rp":["mer","met","mr","mbe"]},"157":{"input":[1,3,4,5,8],"tlw":["tamamen",907],"trw":["yapar",447],"lp":[],"rp":[]},"158":{"input":[2,3,4,5,8],"tlw":["sebep",489],"trw":["pencereden",421],"lp":[],"rp":[]},"159":{"input":[1,2,3,4,5,8],"tlw":["stepan",214],"trw":["jandarma",125],"lp":[],"rp":[]},"160":{"input":[6,8],"base":"!","baseshift":"!","trp":["ip",23109],"trw":["ip",98],"lp":[],"rp":["ip","pi","pip","ipi"],"special":"punc"},"161":{"input":[1,6,8],"tlp":["api",10616],"trp":["paz",682],"trw":["papaz",183],"lp":["api","apip","apaz","zip","azip","zap","azap"],"rp":["paz","paza"]},"162":{"input":[2,6,8],"tlp":["sip",883],"trp":["kip",3619],"tlw":["sikisip",77],"trw":["pis",531],"lp":["sip","spi"],"rp":["kip","psi","pis","pk","pisi","pki","ipk","ipki","ikip","psik","isip","pik","pkk","kipk","isp","pisk","ipik","kipi"]},"163":{"input":[1,2,6,8],"tlp":["apis",1831],"trp":["kap",8447],"tlw":["sapka",135],"trw":["kapi",974],"lp":["apis","akip","asip","apk","apka","sapk","apsi"],"rp":["kap","kapi","kapa","pka","ispa","pkas","pak","kapk","paki"]},"164":{"input":[3,6,8],"tlp":["epi",576],"trp":["'i",3340],"trw":["'i",87],"lp":["epi","e'i"],"rp":["'i","i'","ipe","ie'","pie"]},"165":{"input":[1,3,6,8],"tlp":["x'i",65],"trp":["pez",51],"lp":["x'i","ax'i"],"rp":["pez","peze"]},"166":{"input":[2,3,6,8],"tlp":["epsi",2946],"trp":["pek",6932],"tlw":["edip",667],"trw":["pek",4304],"lp":["epsi","dip","edip","ekip","ski'","epk","epki","espi","esip","s'i"],"rp":["pek","peki","idip","pesi","pid","k'","is'","ipek","ki'","k'i"]},"167":{"input":[1,2,3,6,8],"trw":["kapida",236],"lp":[],"rp":[]},"168":{"input":[4,6,8],"tlp":["tip",2155],"trp":["pti",4694],"tlw":["tip",299],"trw":["itip",81],"lp":["tip","tipi"],"rp":["pti","ipt","ipti","pit","itip"]},"169":{"input":[1,4,6,8],"tlp":["apti",4186],"trp":["itap",1997],"tlw":["atip",257],"lp":["apti","vap","atip","apit"],"rp":["itap","pav","pati","ipta","pita"]},"170":{"input":[2,4,6,8],"tlp":["cip",1668],"trp":["ptik",601],"tlw":["tipki",865],"trw":["icip",79],"lp":["cip","tipk","spit"],"rp":["ptik","pic","pici","icip","pist"]},"171":{"input":[1,2,4,6,8],"tlw":["takip",521],"trw":["kitap",795],"lp":[],"rp":[]},"172":{"input":[3,4,6,8],"tlp":["rip",3191],"trp":["irip",1440],"tlw":["verip",240],"trw":["pir",218],"lp":["rip","ri'","rpi","erip","ti'","rpti","r'i","re'i","ver'","er'i","rpip","rpri"],"rp":["irip","pir","piri","ptir","iti'","peri","irp","pri"]},"173":{"input":[1,3,4,6,8],"trw":["parti",379],"lp":[],"rp":[]},"174":{"input":[2,3,4,6,8],"tlw":["cekip",471],"trw":["kirip",55],"lp":[],"rp":[]},"175":{"input":[1,2,3,4,6,8],"tlw":["cevap",1689],"trw":["parcasi",437],"lp":[],"rp":[]},"176":{"input":[5,6,8],"trp":["im",97151],"trw":["mi",12284],"lp":[],"rp":["im","mi","min","nim","imi","nmi","mini","hip","hm","imin","inm","ph","pin","nip","pini","pmi","inmi","him","imp","nimi"]},"177":{"input":[1,5,6,8],"tlp":["zam",15802],"trp":["miz",5126],"tlw":["zaman",9588],"trw":["hanim",555],"lp":["zam","zama","ami","zim","amin","anim","ahip","zm","ahm","anmi"],"rp":["miz","maz","ima","izim","imiz","mani","mizi","mah","ham","mami"]},"178":{"input":[2,5,6,8],"tlp":["sim",12135],"trp":["mis",35215],"tlw":["simsiki",221],"trw":["kim",1847],"lp":["sim","smi"],"rp":["mis","kim","km","ism","ims","kims","ikm","misi","mk","kmi","nmis","kmis","kimi","ismi","isim","msi","ikmi","psin"]},"179":{"input":[1,2,5,6,8],"tlw":["aksam",1411],"trw":["misiniz",745],"lp":[],"rp":[]},"180":{"input":[3,5,6,8],"tlp":["emi",12554],"trp":["hem",8923],"tlw":["emin",834],"trw":["hemen",4788],"lp":["emi","enim","emin","emiy"],"rp":["hem","miy","hep","heme","'ni","'nin","piy","'in","ime","yim","yip","i'n","i'ni","hme","nemi","piyi"]},"181":{"input":[1,3,5,6,8],"tlw":["annemin",178],"trw":["hepimiz",316],"lp":[],"rp":[]},"182":{"input":[2,3,5,6,8],"tlw":["simdi",5781],"trw":["kimse",1852],"lp":[],"rp":[]},"183":{"input":[1,2,3,5,6,8],"tlw":["adamin",1501],"trw":["kapiyi",1057],"lp":[],"rp":[]},"184":{"input":[4,5,6,8],"tlp":["tim",7187],"trp":["itm",2987],"tlw":["tim",161],"trw":["mit",80],"lp":["tim","tmi","ttim","vim","timi","bitm","tmin","thm"],"rp":["itm","itmi","itim","ptim","mit","hipt","mbi","htim","ptin","imb","imbi","ntim"]},"185":{"input":[1,4,5,6,8],"tlw":["bizim",2636],"trw":["mavi",631],"lp":[],"rp":[]},"186":{"input":[2,4,5,6,8],"tlw":["cikmis",550],"trw":["mistik",111],"lp":[],"rp":[]},"187":{"input":[1,2,4,5,6,8],"tlw":["canim",596],"trw":["kaptan",268],"lp":[],"rp":[]},"188":{"input":[3,4,5,6,8],"tlw":["benim",6122],"trw":["yirmi",1140],"lp":[],"rp":[]},"189":{"input":[1,3,4,5,6,8],"tlw":["tanrim",479],"trw":["yapti",759],"lp":[],"rp":[]},"190":{"input":[2,3,4,5,6,8],"tlw":["etmek",2074],"lp":[],"rp":[]},"191":{"input":[1,2,3,4,5,6,8],"tlw":["devam",2432],"trw":["yardim",1282],"lp":[],"rp":[]},"192":{"input":[7,8],"base":";","baseshift":":","trp":["op",8798],"lp":[],"rp":["op","po","opo","pop","popo","poo"],"special":"punc"},"193":{"input":[1,7,8],"tlp":["apo",362],"trp":["opa",623],"tlw":["apo",61],"lp":["apo"],"rp":["opa"]},"194":{"input":[2,7,8],"tlp":["sop",218],"trp":["pos",264],"lp":["sop","spo"],"rp":["pos","opos","osp","pso"]},"195":{"input":[1,2,7,8],"tlp":["sopa",88],"trp":["pow",86],"tlw":["sopa",88],"lp":["sopa"],"rp":["pow"]},"196":{"input":[3,7,8],"tlp":["eop",251],"trp":["ope",871],"lp":["eop"],"rp":["ope","o'"]},"197":{"input":[1,3,7,8],"tlp":["eopa",251],"lp":["eopa"],"rp":[]},"198":{"input":[2,3,7,8],"tlp":["do'",50],"trp":["od'",59],"lp":["do'"],"rp":["od'","ood'"]},"199":{"input":[1,2,3,7,8],"lp":[],"rp":[]},"200":{"input":[4,7,8],"tlp":["top",5867],"trp":["opt",260],"tlw":["top",230],"lp":["top"],"rp":["opt","pot","pott"]},"201":{"input":[1,4,7,8],"tlp":["apag",165],"trp":["pag",1236],"lp":["apag"],"rp":["pag","opat","opag","paga","pota"]},"202":{"input":[2,4,7,8],"tlp":["cop",181],"trp":["post",126],"tlw":["cop",181],"trw":["otostop",67],"lp":["cop","stop"],"rp":["post"]},"203":{"input":[1,2,4,7,8],"trw":["posta",126],"lp":[],"rp":[]},"204":{"input":[3,4,7,8],"tlp":["topr",1446],"trp":["opr",1640],"trw":["potter",167],"lp":["topr","rop"],"rp":["opr","pro","-top","por","prog","peg","opeg","prop","oper","port","prot"]},"205":{"input":[1,3,4,7,8],"tlw":["topraga",181],"trw":["page",832],"lp":[],"rp":[]},"206":{"input":[2,3,4,7,8],"tlw":["spor",119],"trw":["protesto",51],"lp":[],"rp":[]},"207":{"input":[1,2,3,4,7,8],"trw":["profesor",263],"lp":[],"rp":[]},"208":{"input":[5,7,8],"trp":["um",48695],"trw":["mu",2378],"lp":[],"rp":["um","mu","up","umu","om","mo","unm","mun","omu","umun","mum","nmu","onm","nup","num","onup","unmu","pu","onmu","mnu"]},"209":{"input":[1,5,7,8],"tlp":["amu",724],"trp":["uma",3601],"lp":["amu","ammu","amo","apon"],"rp":["uma","oma","upa","unma","uman","oman","mua","numa","pau","pamu","muna","namu","uam","muam"]},"210":{"input":[2,5,7,8],"tlp":["sunm",1248],"trp":["mus",15207],"trw":["musun",1010],"lp":["sunm","sup","smu","smus","sum","som"],"rp":["mus","usm","nusm","ums","osm","musu","umus","nmus","msu","usmu","umsu","usup","mos","osum"]},"211":{"input":[1,2,5,7,8],"trw":["osman",247],"lp":[],"rp":[]},"212":{"input":[3,5,7,8],"tlp":["emnu",603],"trp":["onem",4198],"trw":["memnun",488],"lp":["emnu","emu"],"rp":["onem","ume","yum","muy","unme","yumu","ome","uym","ymu","muyo","'u","memu","uyum","oym","onme","o'n","umuy","'un"]},"213":{"input":[1,3,5,7,8],"trw":["maymun",120],"lp":[],"rp":[]},"214":{"input":[2,3,5,7,8],"tlw":["donup",819],"trw":["muydu",265],"lp":[],"rp":[]},"215":{"input":[1,2,3,5,7,8],"tlw":["dusman",463],"trw":["musaade",167],"lp":[],"rp":[]},"216":{"input":[4,5,7,8],"tlp":["tum",4398],"trp":["mut",4536],"tlw":["tum",2174],"trw":["umut",237],"lp":["tum","gum","gm","gumu","tom","tup","gmu","ttom","tutm","tumu","tmu","gom"],"rp":["mut","ugum","utm","omut","nutm","umut","utmu","utup"]},"217":{"input":[1,4,5,7,8],"tlw":["bomba",100],"trw":["mutfaga",167],"lp":[],"rp":[]},"218":{"input":[2,4,5,7,8],"tlw":["gumus",409],"trw":["unutmus",110],"lp":[],"rp":[]},"219":{"input":[1,2,4,5,7,8],"tlw":["cuma",169],"trw":["mustafa",624],"lp":[],"rp":[]},"220":{"input":[3,4,5,7,8],"tlw":["grup",385],"trw":["oturup",540],"lp":[],"rp":[]},"221":{"input":[1,3,4,5,7,8],"tlw":["ragmen",1330],"trw":["yagmur",493],"lp":[],"rp":[]},"222":{"input":[2,3,4,5,7,8],"tlw":["durum",881],"trw":["oturmus",358],"lp":[],"rp":[]},"223":{"input":[1,2,3,4,5,7,8],"tlw":["durumda",912],"trw":["propaganda",168],"lp":[],"rp":[]},"224":{"input":[6,7,8],"trp":["pl",6579],"trw":["pol",144],"lp":[],"rp":["pl","lip","opl","pil","pol","poli","ilip","ipl","lp","pli","pili","ilp","pilo","ipli","pool"]},"225":{"input":[1,6,7,8],"tlp":["apil",2908],"trp":["pla",4024],"tlw":["alip",1109],"lp":["apil","alip","apl","apla","apal","alp","apli"],"rp":["pla","opla","pila","pal","pali","ipla","lap","olap"]},"226":{"input":[2,6,7,8],"tlp":["skop",138],"trp":["kop",1470],"tlw":["silip",98],"trw":["polis",725],"lp":["skop","sipl"],"rp":["kop","lkip","kopo","pisl"]},"227":{"input":[1,2,6,7,8],"trw":["kapali",519],"lp":[],"rp":[]},"228":{"input":[3,6,7,8],"tlp":["elip",1112],"trp":["l'",1267],"trw":["poole",60],"lp":["elip","el'","el'i","epl","eple"],"rp":["l'","'l","ple","l'i","leop","li'","lep","'le","le'","lle'","le'i","iple","'li","ll'","ll'i"]},"229":{"input":[1,3,6,7,8],"trw":["la'e",56],"lp":[],"rp":[]},"230":{"input":[2,3,6,7,8],"trw":["kopek",433],"lp":[],"rp":[]},"231":{"input":[1,2,3,6,7,8],"tlw":["dolasip",126],"trw":["pekala",402],"lp":[],"rp":[]},"232":{"input":[4,6,7,8],"tlp":["topl",3261],"trp":["ptig",2000],"trw":["popov",105],"lp":["topl","gip"],"rp":["ptig","ptil","pov","opov"]},"233":{"input":[1,4,6,7,8],"tlw":["aptal",428],"trw":["iptal",64],"lp":[],"rp":[]},"234":{"input":[2,4,6,7,8],"trw":["politik",151],"lp":[],"rp":[]},"235":{"input":[1,2,4,6,7,8],"tlw":["ciplak",453],"trw":["politika",153],"lp":[],"rp":[]},"236":{"input":[3,4,6,7,8],"tlw":["gelip",1112],"trw":["piril",272],"lp":[],"rp":[]},"237":{"input":[1,3,4,6,7,8],"tlw":["garip",992],"trw":["pavel",210],"lp":[],"rp":[]},"238":{"input":[2,3,4,6,7,8],"tlw":["gidip",1162],"trw":["polisler",126],"lp":[],"rp":[]},"239":{"input":[1,2,3,4,6,7,8],"tlw":["toprak",602],"trw":["parlak",776],"lp":[],"rp":[]},"240":{"input":[5,6,7,8],"trp":["lm",46943],"trw":["olup",1530],"lp":[],"rp":["lm","olm","lmi","ilm","ml","lim","lum","ilmi","lmu","mli","olmu","olum","mil","iml","ulm","ilim","lup","plu","oplu","olup"],"special":"enter"},"241":{"input":[1,5,6,7,8],"tlw":["anlamina",563],"trw":["olmaz",1004],"lp":[],"rp":[]},"242":{"input":[2,5,6,7,8],"tlw":["sokup",136],"trw":["olmus",1359],"lp":[],"rp":[]},"243":{"input":[1,2,5,6,7,8],"tlw":["almak",825],"trw":["olmak",1877],"lp":[],"rp":[]},"244":{"input":[3,5,6,7,8],"tlw":["elimi",221],"trw":["onemli",2111],"lp":[],"rp":[]},"245":{"input":[1,3,5,6,7,8],"tlw":["almaya",456],"trw":["olmayan",1555],"lp":[],"rp":[]},"246":{"input":[2,3,5,6,7,8],"tlw":["soylemek",674],"trw":["oldum",429],"lp":[],"rp":[]},"247":{"input":[1,2,3,5,6,7,8],"tlw":["aldim",504],"trw":["olmadi",572],"lp":[],"rp":[]},"248":{"input":[4,5,6,7,8],"tlw":["bolum",547],"trw":["mutlu",849],"lp":[],"rp":[]},"249":{"input":[1,4,5,6,7,8],"tlw":["film",181],"trw":["hamilton",186],"lp":[],"rp":[]},"250":{"input":[2,4,5,6,7,8],"tlw":["gitmis",374],"trw":["olmustu",1519],"lp":[],"rp":[]},"251":{"input":[1,2,4,5,6,7,8],"tlw":["baslamisti",1046],"trw":["kocaman",640],"lp":[],"rp":[]},"252":{"input":[3,4,5,6,7,8],"tlw":["biliyorum",953],"trw":["muhtemelen",286],"lp":[],"rp":[]},"253":{"input":[1,3,4,5,6,7,8],"tlw":["zamanlar",874],"trw":["yaptigi",1060],"lp":[],"rp":[]},"254":{"input":[2,3,4,5,6,7,8],"tlw":["gormek",1084],"trw":["istiyorum",996],"lp":[],"rp":[]},"255":{"input":[1,2,3,4,5,6,7,8],"tlw":["basladim",495],"trw":["olmadigini",1197],"lp":[],"rp":[]}} \ No newline at end of file diff --git a/keyboards/gboards/gergo/gergo.c b/keyboards/gboards/gergo/gergo.c index 6ab9786007..1ec6105eeb 100644 --- a/keyboards/gboards/gergo/gergo.c +++ b/keyboards/gboards/gergo/gergo.c @@ -1,6 +1,3 @@ -// Jane Bernhardt (https://github.com/germ) -// SPDX-License-Identifier: GPL-2.0+ - #include "gergo.h" bool i2c_initialized = 0; diff --git a/keyboards/gboards/gergo/gergo.h b/keyboards/gboards/gergo/gergo.h index 734d6e5eea..f6dc1498f0 100644 --- a/keyboards/gboards/gergo/gergo.h +++ b/keyboards/gboards/gergo/gergo.h @@ -1,6 +1,3 @@ -// Jane Bernhardt (https://github.com/germ) -// SPDX-License-Identifier: GPL-2.0+ - #pragma once #include "quantum.h" diff --git a/keyboards/gboards/gergo/matrix.c b/keyboards/gboards/gergo/matrix.c index d73aaa1814..1fa80a58a0 100644 --- a/keyboards/gboards/gergo/matrix.c +++ b/keyboards/gboards/gergo/matrix.c @@ -24,75 +24,76 @@ along with this program. If not, see . #include "gergo.h" #ifdef BALLER -# include -# include "pointing_device.h" +#include +#include "pointing_device.h" #endif #ifndef DEBOUNCE -# define DEBOUNCE 5 +# define DEBOUNCE 5 #endif // MCP Pin Defs -#define RROW1 (1u << 3) -#define RROW2 (1u << 2) -#define RROW3 (1u << 1) -#define RROW4 (1u << 0) -#define COL0 (1u << 0) -#define COL1 (1u << 1) -#define COL2 (1u << 2) -#define COL3 (1u << 3) -#define COL4 (1u << 4) -#define COL5 (1u << 5) -#define COL6 (1u << 6) +#define RROW1 (1u<<3) +#define RROW2 (1u<<2) +#define RROW3 (1u<<1) +#define RROW4 (1u<<0) +#define COL0 (1u<<0) +#define COL1 (1u<<1) +#define COL2 (1u<<2) +#define COL3 (1u<<3) +#define COL4 (1u<<4) +#define COL5 (1u<<5) +#define COL6 (1u<<6) // ATmega pin defs -#define ROW1 (1u << 6) -#define ROW2 (1u << 5) -#define ROW3 (1u << 4) -#define ROW4 (1u << 1) -#define COL7 (1u << 0) -#define COL8 (1u << 1) -#define COL9 (1u << 2) -#define COL10 (1u << 3) -#define COL11 (1u << 2) -#define COL12 (1u << 3) -#define COL13 (1u << 6) +#define ROW1 (1u<<6) +#define ROW2 (1u<<5) +#define ROW3 (1u<<4) +#define ROW4 (1u<<1) +#define COL7 (1u<<0) +#define COL8 (1u<<1) +#define COL9 (1u<<2) +#define COL10 (1u<<3) +#define COL11 (1u<<2) +#define COL12 (1u<<3) +#define COL13 (1u<<6) + +//Trackball pin defs +#define TRKUP (1u<<4) +#define TRKDN (1u<<5) +#define TRKLT (1u<<6) +#define TRKRT (1u<<7) +#define TRKBTN (1u<<6) -// Trackball pin defs -#define TRKUP (1u << 4) -#define TRKDN (1u << 5) -#define TRKLT (1u << 6) -#define TRKRT (1u << 7) -#define TRKBTN (1u << 6) // Multiple for mouse moves #ifndef TRKSTEP -# define TRKSTEP 20 +#define TRKSTEP 20 #endif // multiple for mouse scroll #ifndef SCROLLSTEP -# define SCROLLSTEP 5 +#define SCROLLSTEP 5 #endif // bit masks -#define BMASK (COL7 | COL8 | COL9 | COL10) -#define CMASK (COL13) -#define DMASK (COL11 | COL12) -#define FMASK (ROW1 | ROW2 | ROW3 | ROW4) -#define RROWMASK (RROW1 | RROW2 | RROW3 | RROW4) -#define MCPMASK (COL0 | COL1 | COL2 | COL3 | COL4 | COL5 | COL6) -#define TRKMASK (TRKUP | TRKDN | TRKRT | TRKLT) +#define BMASK (COL7 | COL8 | COL9 | COL10) +#define CMASK (COL13) +#define DMASK (COL11 | COL12) +#define FMASK (ROW1 | ROW2 | ROW3 | ROW4) +#define RROWMASK (RROW1 | RROW2 | RROW3 | RROW4) +#define MCPMASK (COL0 | COL1 | COL2 | COL3 | COL4 | COL5 | COL6) +#define TRKMASK (TRKUP | TRKDN | TRKRT | TRKLT) // Trackball interrupts accumulate over here. Processed on scan // Stores prev state of mouse, high bits store direction uint8_t trkState = 0; uint8_t trkBtnState = 0; -volatile uint8_t tbUpCnt = 0; -volatile uint8_t tbDnCnt = 0; -volatile uint8_t tbLtCnt = 0; -volatile uint8_t tbRtCnt = 0; +volatile uint8_t tbUpCnt = 0; +volatile uint8_t tbDnCnt = 0; +volatile uint8_t tbLtCnt = 0; +volatile uint8_t tbRtCnt = 0; /* matrix state(1:on, 0:off) */ static matrix_row_t matrix[MATRIX_ROWS]; @@ -110,30 +111,29 @@ static matrix_row_t read_cols(uint8_t row); static void init_cols(void); static void unselect_rows(void); static void select_row(uint8_t row); -static void enableInterrupts(void); +static void enableInterrupts(void); static uint8_t mcp23018_reset_loop; // static uint16_t mcp23018_reset_loop; -__attribute__((weak)) void matrix_init_user(void) {} +__attribute__ ((weak)) void matrix_init_user(void) {} -__attribute__((weak)) void matrix_scan_user(void) {} +__attribute__ ((weak)) void matrix_scan_user(void) {} -__attribute__((weak)) void matrix_init_kb(void) { - matrix_init_user(); +__attribute__ ((weak)) +void matrix_init_kb(void) { + matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { - matrix_scan_user(); +__attribute__ ((weak)) +void matrix_scan_kb(void) { + matrix_scan_user(); } -inline uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} +inline uint8_t matrix_rows(void) { return MATRIX_ROWS; } + +inline uint8_t matrix_cols(void) { return MATRIX_COLS; } -inline uint8_t matrix_cols(void) { - return MATRIX_COLS; -} void matrix_init(void) { // initialize row and col @@ -141,13 +141,13 @@ void matrix_init(void) { unselect_rows(); init_cols(); - // initialize matrix state: all keys off - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = 0; - raw_matrix[i] = 0; - } + // initialize matrix state: all keys off + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + matrix[i] = 0; + raw_matrix[i] = 0; + } - debounce_init(); + debounce_init(MATRIX_ROWS); matrix_init_kb(); } @@ -158,7 +158,7 @@ void matrix_power_up(void) { init_cols(); // initialize matrix state: all keys off - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + for (uint8_t i=0; i < MATRIX_ROWS; i++) { matrix[i] = 0; } } @@ -166,66 +166,63 @@ void matrix_power_up(void) { // Reads and stores a row, returning // whether a change occurred. static inline bool store_raw_matrix_row(uint8_t index) { - matrix_row_t temp = read_cols(index); - if (raw_matrix[index] != temp) { - raw_matrix[index] = temp; - return true; - } - return false; + matrix_row_t temp = read_cols(index); + if (raw_matrix[index] != temp) { + raw_matrix[index] = temp; + return true; + } + return false; } + + uint8_t matrix_scan(void) { // TODO: Find what is trashing interrupts enableInterrupts(); // First we handle the mouse inputs #ifdef BALLER - uint8_t pBtn = PINE & TRKBTN; + uint8_t pBtn = PINE & TRKBTN; -# ifdef DEBUG_BALLER + #ifdef DEBUG_BALLER // Compare to previous, mod report - if (tbUpCnt + tbDnCnt + tbLtCnt + tbRtCnt != 0) xprintf("U: %d D: %d L: %d R: %d B: %d\n", tbUpCnt, tbDnCnt, tbLtCnt, tbRtCnt, (trkBtnState >> 6)); -# endif + if (tbUpCnt + tbDnCnt + tbLtCnt + tbRtCnt != 0) + xprintf("U: %d D: %d L: %d R: %d B: %d\n", tbUpCnt, tbDnCnt, tbLtCnt, tbRtCnt, (trkBtnState >> 6)); + #endif // Modify the report report_mouse_t pRprt = pointing_device_get_report(); // Scroll by default, move on layer if (layer_state == 0) { - pRprt.h += tbLtCnt * SCROLLSTEP; - tbLtCnt = 0; - pRprt.h -= tbRtCnt * SCROLLSTEP; - tbRtCnt = 0; - pRprt.v -= tbUpCnt * SCROLLSTEP; - tbUpCnt = 0; - pRprt.v += tbDnCnt * SCROLLSTEP; - tbDnCnt = 0; + pRprt.h += tbLtCnt * SCROLLSTEP; tbLtCnt = 0; + pRprt.h -= tbRtCnt * SCROLLSTEP; tbRtCnt = 0; + pRprt.v -= tbUpCnt * SCROLLSTEP; tbUpCnt = 0; + pRprt.v += tbDnCnt * SCROLLSTEP; tbDnCnt = 0; } else { - pRprt.x -= tbLtCnt * TRKSTEP * (layer_state - 1); - tbLtCnt = 0; - pRprt.x += tbRtCnt * TRKSTEP * (layer_state - 1); - tbRtCnt = 0; - pRprt.y -= tbUpCnt * TRKSTEP * (layer_state - 1); - tbUpCnt = 0; - pRprt.y += tbDnCnt * TRKSTEP * (layer_state - 1); - tbDnCnt = 0; + pRprt.x -= tbLtCnt * TRKSTEP * (layer_state - 1); tbLtCnt = 0; + pRprt.x += tbRtCnt * TRKSTEP * (layer_state - 1); tbRtCnt = 0; + pRprt.y -= tbUpCnt * TRKSTEP * (layer_state - 1); tbUpCnt = 0; + pRprt.y += tbDnCnt * TRKSTEP * (layer_state - 1); tbDnCnt = 0; } -# ifdef DEBUG_BALLER - if (pRprt.x != 0 || pRprt.y != 0) xprintf("X: %d Y: %d\n", pRprt.x, pRprt.y); -# endif +#ifdef DEBUG_BALLER + if (pRprt.x != 0 || pRprt.y != 0) + xprintf("X: %d Y: %d\n", pRprt.x, pRprt.y); +#endif - if ((pBtn != trkBtnState) && ((pBtn >> 6) == 0)) pRprt.buttons |= MOUSE_BTN1; - if ((pBtn != trkBtnState) && ((pBtn >> 6) == 1)) pRprt.buttons &= ~MOUSE_BTN1; + if ((pBtn != trkBtnState) && ((pBtn >> 6) == 0)) pRprt.buttons |= MOUSE_BTN1; + if ((pBtn != trkBtnState) && ((pBtn >> 6) == 1)) pRprt.buttons &= ~MOUSE_BTN1; // Save state, push update - if (pRprt.x != 0 || pRprt.y != 0 || pRprt.h != 0 || pRprt.v != 0 || (trkBtnState != pBtn)) pointing_device_set_report(pRprt); + if (pRprt.x != 0 || pRprt.y != 0 || pRprt.h != 0 || pRprt.v != 0 || (trkBtnState != pBtn)) + pointing_device_set_report(pRprt); trkBtnState = pBtn; #endif // Then the keyboard - if (mcp23018_status) { // if there was an error + if (mcp23018_status) { // if there was an error if (++mcp23018_reset_loop == 0) { // if (++mcp23018_reset_loop >= 1300) { // since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans @@ -243,7 +240,7 @@ uint8_t matrix_scan(void) { bool changed = false; for (uint8_t i = 0; i < MATRIX_ROWS_PER_SIDE; i++) { // select rows from left and right hands - uint8_t left_index = i; + uint8_t left_index = i; uint8_t right_index = i + MATRIX_ROWS_PER_SIDE; select_row(left_index); select_row(right_index); @@ -257,46 +254,41 @@ uint8_t matrix_scan(void) { unselect_rows(); } - debounce(raw_matrix, matrix, changed); + debounce(raw_matrix, matrix, MATRIX_ROWS, changed); matrix_scan_kb(); enableInterrupts(); #ifdef DEBUG_MATRIX for (uint8_t c = 0; c < MATRIX_COLS; c++) - for (uint8_t r = 0; r < MATRIX_ROWS; r++) - if (matrix_is_on(r, c)) xprintf("r:%d c:%d \n", r, c); + for (uint8_t r = 0; r < MATRIX_ROWS; r++) + if (matrix_is_on(r, c)) xprintf("r:%d c:%d \n", r, c); #endif return 1; } -inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & ((matrix_row_t)1 << col)); -} +inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); } -inline matrix_row_t matrix_get_row(uint8_t row) { - return matrix[row]; -} +inline matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } void matrix_print(void) { print("\nr/c 0123456789ABCDEF\n"); for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - print_hex8(row); - print(": "); + print_hex8(row); print(": "); print_bin_reverse16(matrix_get_row(row)); print("\n"); } } // Remember this means ROWS -static void init_cols(void) { +static void init_cols(void) { // init on mcp23018 // not needed, already done as part of init_mcp23018() // Input with pull-up(DDR:0, PORT:1) - DDRF &= ~FMASK; - PORTF |= FMASK; + DDRF &= ~FMASK; + PORTF |= FMASK; } static matrix_row_t read_cols(uint8_t row) { @@ -304,7 +296,7 @@ static matrix_row_t read_cols(uint8_t row) { if (mcp23018_status) { // if there was an error return 0; } else { - uint8_t data = 0; + uint8_t data = 0; mcp23018_status = i2c_read_register(I2C_ADDR, GPIOB, &data, 1, I2C_TIMEOUT); #ifdef DEBUG_MATRIX @@ -313,106 +305,113 @@ static matrix_row_t read_cols(uint8_t row) { return ~data; } } else { - /* read from teensy - * bitmask is 0b0111001, but we want the lower four - * we'll return 1s for the top two, but that's harmless. - */ + /* read from teensy + * bitmask is 0b0111001, but we want the lower four + * we'll return 1s for the top two, but that's harmless. + */ // So I need to confuckulate all this - // return ~(((PIND & DMASK) >> 1 | ((PINC & CMASK) >> 6) | (PIN))); - // return ~((PINF & 0x03) | ((PINF & 0xF0) >> 2)); - return ~((((PINF & ROW4) >> 1) | ((PINF & (ROW1 | ROW2 | ROW3)) >> 3)) & 0xF); + //return ~(((PIND & DMASK) >> 1 | ((PINC & CMASK) >> 6) | (PIN))); + //return ~((PINF & 0x03) | ((PINF & 0xF0) >> 2)); + return ~( + (((PINF & ROW4) >> 1) + | ((PINF & (ROW1 | ROW2 | ROW3)) >> 3)) + & 0xF); } } // Row pin configuration -static void unselect_rows(void) { +static void unselect_rows(void) +{ // no need to unselect on mcp23018, because the select step sets all // the other row bits high, and it's not changing to a different // direction // Hi-Z(DDR:0, PORT:0) to unselect - DDRB &= ~(BMASK | TRKMASK); + DDRB &= ~(BMASK | TRKMASK); PORTB &= ~(BMASK); - DDRC &= ~CMASK; + DDRC &= ~CMASK; PORTC &= ~CMASK; - DDRD &= ~DMASK; + DDRD &= ~DMASK; PORTD &= ~DMASK; - // Fix trashing of DDRB for TB + // Fix trashing of DDRB for TB PORTB |= TRKMASK; } -static void select_row(uint8_t row) { +static void select_row(uint8_t row) +{ if (row < 7) { // select on mcp23018 if (mcp23018_status) { // do nothing on error - } else { // set active row low : 0 // set other rows hi-Z : 1 - uint8_t data = 0xFF & ~(1 << row); + } else { // set active row low : 0 // set other rows hi-Z : 1 + uint8_t data = 0xFF & ~(1<= 1300) { // since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans @@ -142,7 +140,7 @@ uint8_t matrix_scan(void) { unselect_rows(); } - debounce(raw_matrix, matrix, changed); + debounce(raw_matrix, matrix, MATRIX_ROWS, changed); matrix_scan_kb(); #ifdef DEBUG_MATRIX @@ -154,12 +152,8 @@ uint8_t matrix_scan(void) { return 1; } -inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & ((matrix_row_t)1 << col)); -} -inline matrix_row_t matrix_get_row(uint8_t row) { - return matrix[row]; -} +inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); } +inline matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } void matrix_print(void) { print("\nr/c 0123456789ABCDEF\n"); @@ -174,16 +168,16 @@ void matrix_print(void) { // Remember this means ROWS static void init_cols(void) { for (uint8_t col = 0; col < MATRIX_COLS; col++) { - gpio_set_pin_input_high(col_pins[col]); + gpio_set_pin_input_high(col_pins[col]); } } static matrix_row_t read_cols(uint8_t row) { if (row < 5) { - if (mcp23018_status) { // if there was an error + if (mcp23018_status) { // if there was an error return 0; } else { - uint8_t data = 0; + uint8_t data = 0; mcp23018_status = i2c_receive(I2C_ADDR, &data, 1, I2C_TIMEOUT); #ifdef DEBUG_MATRIX if (~data != 0x00) xprintf("I2C: %d\n", ~data); @@ -201,19 +195,20 @@ static void unselect_rows(void) { // the other row bits high, and it's not changing to a different direction for (uint8_t row = 0; row < MATRIX_ROWS_PER_SIDE; row++) { - gpio_set_pin_input(row_pins[row]); - gpio_write_pin_low(row_pins[row]); + gpio_set_pin_input(row_pins[row]); + gpio_write_pin_low(row_pins[row]); } } static void select_row(uint8_t row) { if (row < 5) { // select on mcp23018 - if (mcp23018_status) { // do nothing on error - } else { // set active row low : 0 // set other rows hi-Z : 1 + if (mcp23018_status) { // do nothing on error + } else { // set active row low : 0 // set other rows hi-Z : 1 uint8_t data; - data = 0xFF & ~(1 << (row + 1)); + data = 0xFF & ~(1 << (row + 1)); mcp23018_status = i2c_write_register(I2C_ADDR, GPIOA, &data, 1, I2C_TIMEOUT); + } } else { gpio_set_pin_output(row_pins[row - MATRIX_ROWS_PER_SIDE]); diff --git a/keyboards/geekboards/macropad_v2/keyboard.json b/keyboards/geekboards/macropad_v2/keyboard.json index 2719faa764..a34912aee3 100644 --- a/keyboards/geekboards/macropad_v2/keyboard.json +++ b/keyboards/geekboards/macropad_v2/keyboard.json @@ -51,50 +51,6 @@ "val": 192 }, "driver": "ws2812", - "layout": [ - {"matrix": [1, 1], "x": 85, "y": 46, "flags": 4}, - {"x": 85, "y": 64, "flags": 2}, - {"x": 67, "y": 64, "flags": 2}, - {"x": 49, "y": 64, "flags": 2}, - {"x": 31, "y": 64, "flags": 2}, - {"x": 13, "y": 64, "flags": 2}, - {"matrix": [1, 0], "x": 31, "y": 46, "flags": 4}, - {"x": 0, "y": 55, "flags": 2}, - {"x": 0, "y": 46, "flags": 2}, - {"x": 0, "y": 37, "flags": 2}, - {"x": 0, "y": 27, "flags": 2}, - {"x": 0, "y": 18, "flags": 2}, - {"x": 0, "y": 9, "flags": 2}, - {"matrix": [0, 0], "x": 31, "y": 18, "flags": 4}, - {"x": 13, "y": 0, "flags": 2}, - {"x": 31, "y": 0, "flags": 2}, - {"x": 49, "y": 0, "flags": 2}, - {"x": 67, "y": 0, "flags": 2}, - {"x": 85, "y": 0, "flags": 2}, - {"matrix": [0, 1], "x": 85, "y": 18, "flags": 4}, - {"matrix": [0, 2], "x": 139, "y": 18, "flags": 4}, - {"x": 139, "y": 0, "flags": 2}, - {"x": 157, "y": 0, "flags": 2}, - {"x": 175, "y": 0, "flags": 2}, - {"x": 193, "y": 0, "flags": 2}, - {"x": 211, "y": 0, "flags": 2}, - {"matrix": [0, 3], "x": 193, "y": 18, "flags": 4}, - {"x": 224, "y": 9, "flags": 2}, - {"x": 224, "y": 18, "flags": 2}, - {"x": 224, "y": 27, "flags": 2}, - {"x": 224, "y": 37, "flags": 2}, - {"x": 224, "y": 46, "flags": 2}, - {"x": 224, "y": 55, "flags": 2}, - {"matrix": [1, 3], "x": 193, "y": 46, "flags": 4}, - {"x": 211, "y": 64, "flags": 2}, - {"x": 193, "y": 64, "flags": 2}, - {"x": 175, "y": 64, "flags": 2}, - {"x": 157, "y": 64, "flags": 2}, - {"matrix": [1, 2], "x": 139, "y": 46, "flags": 4}, - {"x": 139, "y": 64, "flags": 2}, - {"x": 121, "y": 64, "flags": 2}, - {"x": 103, "y": 64, "flags": 2} - ], "sleep": true }, "processor": "STM32F072", diff --git a/keyboards/geekboards/macropad_v2/macropad_v2.c b/keyboards/geekboards/macropad_v2/macropad_v2.c new file mode 100644 index 0000000000..ba65697988 --- /dev/null +++ b/keyboards/geekboards/macropad_v2/macropad_v2.c @@ -0,0 +1,56 @@ +/* Copyright 2020 Geekboards ltd. (geekboards.ru / geekboards.de) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + {13,19,20,26}, {6,0,38,33}, +}, { + // LED Index to Physical Position + {85,46}, + {85,64},{67,64},{49,64},{31,64},{13,64}, + {31,46}, + {0,55},{0,46},{0,37},{0,27},{0,18},{0,9}, + {31,18}, + {13,0},{31,0},{49,0},{67,0},{85,0}, + {85,18},{139,18}, + {139,0},{157,0},{175,0},{193,0},{211,0}, + {193,18}, + {224,9},{224,18},{224,27},{224,37},{224,46},{224,55}, + {193,46}, + {211,64},{193,64},{175,64},{157,64}, + {139,46}, + {139,64},{121,64},{103,64}, +}, { + // LED Index to Flag, 2=backlight, 4=key + 4, + 2, 2, 2, 2, 2, + 4, + 2, 2, 2, 2, 2, 2, + 4, + 2, 2, 2, 2, 2, + 4, 4, + 2, 2, 2, 2, 2, + 4, + 2, 2, 2, 2, 2, 2, + 4, + 2, 2, 2, 2, + 4, + 2, 2, 2 +} }; + +#endif diff --git a/keyboards/geekboards/tester/keyboard.json b/keyboards/geekboards/tester/keyboard.json index 236c2c697f..2b85961df8 100644 --- a/keyboards/geekboards/tester/keyboard.json +++ b/keyboards/geekboards/tester/keyboard.json @@ -50,16 +50,6 @@ "solid_reactive_multinexus": true }, "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 75, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 151, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [1, 1], "x": 75, "y": 64, "flags": 4}, - {"matrix": [1, 2], "x": 151, "y": 64, "flags": 4}, - {"matrix": [1, 3], "x": 224, "y": 64, "flags": 4} - ], "sleep": true }, "features": { diff --git a/keyboards/geekboards/tester/tester.c b/keyboards/geekboards/tester/tester.c index 001fd06e9d..4daa4ef062 100644 --- a/keyboards/geekboards/tester/tester.c +++ b/keyboards/geekboards/tester/tester.c @@ -16,3 +16,16 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C1_7, C2_7, C3_7}, //A7 {0, C1_8, C2_8, C3_8}, //A8 }; + +led_config_t g_led_config = { +{ + { 0, 1, 2, 3}, + { 4, 5, 6, 7} +}, +{ + { 0, 0 }, { 75, 0 }, { 151, 0 }, { 224, 0 }, { 0, 64 }, { 75, 64 }, { 151, 64 }, { 224, 64 } +}, +{ + 4, 4, 4, 4, 4, 4, 4, 4 +} +}; diff --git a/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c b/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c index 4bdcc3d0bf..cebb8fb073 100644 --- a/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c +++ b/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c @@ -59,4 +59,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, [2] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) } }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/geistmaschine/geist/keymaps/default/keymap.c b/keyboards/geistmaschine/geist/keymaps/default/keymap.c index 6414271d3c..19b4ba2210 100644 --- a/keyboards/geistmaschine/geist/keymaps/default/keymap.c +++ b/keyboards/geistmaschine/geist/keymaps/default/keymap.c @@ -47,4 +47,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, [2] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) } }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/geistmaschine/geist/keymaps/iso/keymap.c b/keyboards/geistmaschine/geist/keymaps/iso/keymap.c index cc659c20d5..658e4ec984 100644 --- a/keyboards/geistmaschine/geist/keymaps/iso/keymap.c +++ b/keyboards/geistmaschine/geist/keymaps/iso/keymap.c @@ -59,4 +59,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, [2] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) } }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/geistmaschine/macropod/config.h b/keyboards/geistmaschine/macropod/config.h index 52bc1e9eff..e12d3b94fa 100644 --- a/keyboards/geistmaschine/macropod/config.h +++ b/keyboards/geistmaschine/macropod/config.h @@ -21,4 +21,4 @@ #define MATRIX_COLS 17 /* Fix for Apple Silicon Macs struggling to detect board after suspend/sleep */ -#define USB_SUSPEND_WAKEUP_DELAY 200 +#define USB_SUSPEND_WAKEUP_DELAY 200 \ No newline at end of file diff --git a/keyboards/geistmaschine/macropod/keymaps/default/keymap.c b/keyboards/geistmaschine/macropod/keymaps/default/keymap.c index b28837d947..8c2c69db36 100644 --- a/keyboards/geistmaschine/macropod/keymaps/default/keymap.c +++ b/keyboards/geistmaschine/macropod/keymaps/default/keymap.c @@ -32,4 +32,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [1] = { ENCODER_CCW_CW(KC_MRWD, KC_MFFD) }, }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/geistmaschine/macropod/matrix.c b/keyboards/geistmaschine/macropod/matrix.c index 5ead7f5546..5cd35b47d4 100644 --- a/keyboards/geistmaschine/macropod/matrix.c +++ b/keyboards/geistmaschine/macropod/matrix.c @@ -85,4 +85,4 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { current_matrix[0] = data; return changed; -} +} \ No newline at end of file diff --git a/keyboards/geistmaschine/macropod/rules.mk b/keyboards/geistmaschine/macropod/rules.mk index 1b997fbaad..53d35b5bc6 100644 --- a/keyboards/geistmaschine/macropod/rules.mk +++ b/keyboards/geistmaschine/macropod/rules.mk @@ -2,4 +2,4 @@ CUSTOM_MATRIX = lite VPATH += drivers/gpio SRC += pca9555.c matrix.c -I2C_DRIVER_REQUIRED = yes +I2C_DRIVER_REQUIRED = yes \ No newline at end of file diff --git a/keyboards/generic_panda/panda65_01/keyboard.json b/keyboards/generic_panda/panda65_01/keyboard.json index a83b704f7f..1ba0ec134b 100644 --- a/keyboards/generic_panda/panda65_01/keyboard.json +++ b/keyboards/generic_panda/panda65_01/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Panda65_01", "manufacturer": "generic_panda", + "url": "https://github.com/JesseLeung97/qmk_firmware/tree/master/keyboards/generic_panda/panda65_01", "maintainer": "generic_panda", "usb": { "vid": "0x6770", diff --git a/keyboards/geonworks/ee_at/keyboard.json b/keyboards/geonworks/ee_at/keyboard.json index 55b821216d..c901901ab0 100644 --- a/keyboards/geonworks/ee_at/keyboard.json +++ b/keyboards/geonworks/ee_at/keyboard.json @@ -494,4 +494,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/geonworks/w1_at/keyboard.json b/keyboards/geonworks/w1_at/keyboard.json index 0d68f3854e..240463b9c4 100644 --- a/keyboards/geonworks/w1_at/keyboard.json +++ b/keyboards/geonworks/w1_at/keyboard.json @@ -502,4 +502,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/gh60/revc/pinout.txt b/keyboards/gh60/revc/pinout.txt index 7299b933e7..e9bf1983a5 100644 --- a/keyboards/gh60/revc/pinout.txt +++ b/keyboards/gh60/revc/pinout.txt @@ -15,4 +15,4 @@ 3 F4 POKER Arrow LEDs B2 Capslock LED - B0 not connected + B0 not connected \ No newline at end of file diff --git a/keyboards/gh80_3000/readme.md b/keyboards/gh80_3000/readme.md index 73bf2594b6..ca26947046 100644 --- a/keyboards/gh80_3000/readme.md +++ b/keyboards/gh80_3000/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make gh80_3000:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file diff --git a/keyboards/giabalanai/giabalanai.c b/keyboards/giabalanai/giabalanai.c index ae6a1547da..6f8e359479 100644 --- a/keyboards/giabalanai/giabalanai.c +++ b/keyboards/giabalanai/giabalanai.c @@ -88,6 +88,66 @@ NO_LED, 84, 83, 82, 81, 80, 79, NO_LED, NO_LED, NO_LED # endif #endif // RGBLIGHT_ENABLE +#ifdef RGB_MATRIX_ENABLE + +led_config_t g_led_config = { + { + { 74, 75, 98, 99, 122, 63, 86, 87, 110, 111 }, + { 73, 76, 97, 100, 121, 64, 85, 88, 109, 112 }, + { 72, 77, 96, 101, 120, 65, 84, 89, 108, 113 }, + { 71, 78, 95, 102, 119, 66, 83, 90, 107, 114 }, + { 70, 79, 94, 103, 118, 67, 82, 91, 106, 115 }, + { 69, 80, 93, 104, 117, 68, 81, 92, 105, 116 }, + { 26, 27, 28, 29, 30, 31, 32, NO_LED, NO_LED, NO_LED }, + { 50, 49, 48, 47, 46, 45, 44, NO_LED, NO_LED, NO_LED }, + { 25, 51, 52, 53, 54, 55, 56, NO_LED, NO_LED, NO_LED }, + { NO_LED, 12, 37, 36, 35, 34, 33, NO_LED, NO_LED, NO_LED }, + { NO_LED, 38, 39, 40, 41, 42, 43, NO_LED, NO_LED, NO_LED }, + { NO_LED, 62, 61, 60, 59, 58, 57, NO_LED, NO_LED, NO_LED } + }, { + { 120, 0 }, { 128, 0 }, { 136, 0 }, { 144, 0 }, { 152, 0 }, { 160, 0 }, { 168, 0 }, { 176, 0 }, { 184, 0 }, { 192, 0 }, { 200, 0 }, { 208, 0 }, + { 224, 32 }, + { 212, 16 }, { 204, 16 }, { 196, 16 }, { 188, 16 }, { 180, 16 }, { 172, 16 }, { 164, 16 }, { 156, 16 }, { 148, 16 }, { 140, 16 }, { 132, 16 }, { 124, 16 }, { 116, 16 }, + { 120, 32 }, { 128, 32 }, { 136, 32 }, { 144, 32 }, { 152, 32 }, { 160, 32 }, { 168, 32 }, { 176, 32 }, { 184, 32 }, { 192, 32 }, { 200, 32 }, { 208, 32 }, + { 212, 48 }, { 204, 48 }, { 196, 48 }, { 188, 48 }, { 180, 48 }, { 172, 48 }, { 164, 48 }, { 156, 48 }, { 148, 48 }, { 140, 48 }, { 132, 48 }, { 124, 48 }, { 116, 48 }, + { 120, 64 }, { 128, 64 }, { 136, 64 }, { 144, 64 }, { 152, 64 }, { 160, 64 }, { 168, 64 }, { 176, 64 }, { 184, 64 }, { 192, 64 }, { 200, 64 }, { 208, 64 }, + + { 88, 0 }, { 80, 0 }, { 72, 0 }, { 64, 0 }, { 56, 0 }, { 48, 0 }, { 40, 0 }, { 32, 0 }, { 24, 0 }, { 16, 0 }, { 8, 0 }, { 0, 0 }, + { 4, 16 }, { 12, 16 }, { 20, 16 }, { 28, 16 }, { 36, 16 }, { 44, 16 }, { 52, 16 }, { 60, 16 }, { 68, 16 }, { 76, 16 }, { 84, 16 }, { 92, 16 }, + { 96, 32 }, { 88, 32 }, { 80, 32 }, { 72, 32 }, { 64, 32 }, { 56, 32 }, { 48, 32 }, { 40, 32 }, { 32, 32 }, { 24, 32 }, { 16, 32 }, { 8, 32 }, + { 12, 48 }, { 20, 48 }, { 28, 48 }, { 36, 48 }, { 44, 48 }, { 52, 48 }, { 60, 48 }, { 68, 48 }, { 76, 48 }, { 84, 48 }, { 92, 48 }, { 100, 48 }, + { 104, 64 }, { 96, 64 }, { 88, 64 }, { 80, 64 }, { 72, 64 }, { 64, 64 }, { 56, 64 }, { 48, 64 }, { 40, 64 }, { 32, 64 }, { 24, 64 }, { 16, 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, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + } +}; + +// const uint8_t PROGMEM convert_led_location2number[] = { +// 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, +// 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, +// 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, +// 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, +// 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, +// +// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, +// 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, +// 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 12, +// 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, +// 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62 +// }; +#endif + void my_process_midi4Bass(uint8_t channel, keyrecord_t *record, uint8_t *chord_status, uint8_t chord, uint16_t root_note, bool is_single_bass) { uint8_t velocity = midi_config.velocity; diff --git a/keyboards/giabalanai/keyboard.json b/keyboards/giabalanai/keyboard.json index 9bb6b49336..2e2357fe4c 100644 --- a/keyboards/giabalanai/keyboard.json +++ b/keyboards/giabalanai/keyboard.json @@ -17,131 +17,6 @@ "multisplash": true }, "driver": "ws2812", - "layout": [ - {"x": 120, "y": 0, "flags": 4}, - {"x": 128, "y": 0, "flags": 4}, - {"x": 136, "y": 0, "flags": 4}, - {"x": 144, "y": 0, "flags": 4}, - {"x": 152, "y": 0, "flags": 4}, - {"x": 160, "y": 0, "flags": 4}, - {"x": 168, "y": 0, "flags": 4}, - {"x": 176, "y": 0, "flags": 4}, - {"x": 184, "y": 0, "flags": 4}, - {"x": 192, "y": 0, "flags": 4}, - {"x": 200, "y": 0, "flags": 4}, - {"x": 208, "y": 0, "flags": 4}, - {"matrix": [9, 1], "x": 224, "y": 32, "flags": 4}, - {"x": 212, "y": 16, "flags": 4}, - {"x": 204, "y": 16, "flags": 4}, - {"x": 196, "y": 16, "flags": 4}, - {"x": 188, "y": 16, "flags": 4}, - {"x": 180, "y": 16, "flags": 4}, - {"x": 172, "y": 16, "flags": 4}, - {"x": 164, "y": 16, "flags": 4}, - {"x": 156, "y": 16, "flags": 4}, - {"x": 148, "y": 16, "flags": 4}, - {"x": 140, "y": 16, "flags": 4}, - {"x": 132, "y": 16, "flags": 4}, - {"x": 124, "y": 16, "flags": 4}, - {"matrix": [8, 0], "x": 116, "y": 16, "flags": 4}, - {"matrix": [6, 0], "x": 120, "y": 32, "flags": 4}, - {"matrix": [6, 1], "x": 128, "y": 32, "flags": 4}, - {"matrix": [6, 2], "x": 136, "y": 32, "flags": 4}, - {"matrix": [6, 3], "x": 144, "y": 32, "flags": 4}, - {"matrix": [6, 4], "x": 152, "y": 32, "flags": 4}, - {"matrix": [6, 5], "x": 160, "y": 32, "flags": 4}, - {"matrix": [6, 6], "x": 168, "y": 32, "flags": 4}, - {"matrix": [9, 6], "x": 176, "y": 32, "flags": 4}, - {"matrix": [9, 5], "x": 184, "y": 32, "flags": 4}, - {"matrix": [9, 4], "x": 192, "y": 32, "flags": 4}, - {"matrix": [9, 3], "x": 200, "y": 32, "flags": 4}, - {"matrix": [9, 2], "x": 208, "y": 32, "flags": 4}, - {"matrix": [10, 1], "x": 212, "y": 48, "flags": 4}, - {"matrix": [10, 2], "x": 204, "y": 48, "flags": 4}, - {"matrix": [10, 3], "x": 196, "y": 48, "flags": 4}, - {"matrix": [10, 4], "x": 188, "y": 48, "flags": 4}, - {"matrix": [10, 5], "x": 180, "y": 48, "flags": 4}, - {"matrix": [10, 6], "x": 172, "y": 48, "flags": 4}, - {"matrix": [7, 6], "x": 164, "y": 48, "flags": 4}, - {"matrix": [7, 5], "x": 156, "y": 48, "flags": 4}, - {"matrix": [7, 4], "x": 148, "y": 48, "flags": 4}, - {"matrix": [7, 3], "x": 140, "y": 48, "flags": 4}, - {"matrix": [7, 2], "x": 132, "y": 48, "flags": 4}, - {"matrix": [7, 1], "x": 124, "y": 48, "flags": 4}, - {"matrix": [7, 0], "x": 116, "y": 48, "flags": 4}, - {"matrix": [8, 1], "x": 120, "y": 64, "flags": 4}, - {"matrix": [8, 2], "x": 128, "y": 64, "flags": 4}, - {"matrix": [8, 3], "x": 136, "y": 64, "flags": 4}, - {"matrix": [8, 4], "x": 144, "y": 64, "flags": 4}, - {"matrix": [8, 5], "x": 152, "y": 64, "flags": 4}, - {"matrix": [8, 6], "x": 160, "y": 64, "flags": 4}, - {"matrix": [11, 6], "x": 168, "y": 64, "flags": 4}, - {"matrix": [11, 5], "x": 176, "y": 64, "flags": 4}, - {"matrix": [11, 4], "x": 184, "y": 64, "flags": 4}, - {"matrix": [11, 3], "x": 192, "y": 64, "flags": 4}, - {"matrix": [11, 2], "x": 200, "y": 64, "flags": 4}, - {"matrix": [11, 1], "x": 208, "y": 64, "flags": 4}, - {"matrix": [0, 5], "x": 88, "y": 0, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 0, "flags": 4}, - {"matrix": [3, 5], "x": 64, "y": 0, "flags": 4}, - {"matrix": [4, 5], "x": 56, "y": 0, "flags": 4}, - {"matrix": [5, 5], "x": 48, "y": 0, "flags": 4}, - {"matrix": [5, 0], "x": 40, "y": 0, "flags": 4}, - {"matrix": [4, 0], "x": 32, "y": 0, "flags": 4}, - {"matrix": [3, 0], "x": 24, "y": 0, "flags": 4}, - {"matrix": [2, 0], "x": 16, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 8, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 4, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 12, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 20, "y": 16, "flags": 4}, - {"matrix": [3, 1], "x": 28, "y": 16, "flags": 4}, - {"matrix": [4, 1], "x": 36, "y": 16, "flags": 4}, - {"matrix": [5, 1], "x": 44, "y": 16, "flags": 4}, - {"matrix": [5, 6], "x": 52, "y": 16, "flags": 4}, - {"matrix": [4, 6], "x": 60, "y": 16, "flags": 4}, - {"matrix": [3, 6], "x": 68, "y": 16, "flags": 4}, - {"matrix": [2, 6], "x": 76, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 84, "y": 16, "flags": 4}, - {"matrix": [0, 6], "x": 92, "y": 16, "flags": 4}, - {"matrix": [0, 7], "x": 96, "y": 32, "flags": 4}, - {"matrix": [1, 7], "x": 88, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 80, "y": 32, "flags": 4}, - {"matrix": [3, 7], "x": 72, "y": 32, "flags": 4}, - {"matrix": [4, 7], "x": 64, "y": 32, "flags": 4}, - {"matrix": [5, 7], "x": 56, "y": 32, "flags": 4}, - {"matrix": [5, 2], "x": 48, "y": 32, "flags": 4}, - {"matrix": [4, 2], "x": 40, "y": 32, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 24, "y": 32, "flags": 4}, - {"matrix": [1, 2], "x": 16, "y": 32, "flags": 4}, - {"matrix": [0, 2], "x": 8, "y": 32, "flags": 4}, - {"matrix": [0, 3], "x": 12, "y": 48, "flags": 4}, - {"matrix": [1, 3], "x": 20, "y": 48, "flags": 4}, - {"matrix": [2, 3], "x": 28, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 36, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 44, "y": 48, "flags": 4}, - {"matrix": [5, 3], "x": 52, "y": 48, "flags": 4}, - {"matrix": [5, 8], "x": 60, "y": 48, "flags": 4}, - {"matrix": [4, 8], "x": 68, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 76, "y": 48, "flags": 4}, - {"matrix": [2, 8], "x": 84, "y": 48, "flags": 4}, - {"matrix": [1, 8], "x": 92, "y": 48, "flags": 4}, - {"matrix": [0, 8], "x": 100, "y": 48, "flags": 4}, - {"matrix": [0, 9], "x": 104, "y": 64, "flags": 4}, - {"matrix": [1, 9], "x": 96, "y": 64, "flags": 4}, - {"matrix": [2, 9], "x": 88, "y": 64, "flags": 4}, - {"matrix": [3, 9], "x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 72, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 64, "y": 64, "flags": 4}, - {"matrix": [5, 4], "x": 56, "y": 64, "flags": 4}, - {"matrix": [4, 4], "x": 48, "y": 64, "flags": 4}, - {"matrix": [3, 4], "x": 40, "y": 64, "flags": 4}, - {"matrix": [2, 4], "x": 32, "y": 64, "flags": 4}, - {"matrix": [1, 4], "x": 24, "y": 64, "flags": 4}, - {"matrix": [0, 4], "x": 16, "y": 64, "flags": 4} - ], "max_brightness": 50 }, "rgblight": { diff --git a/keyboards/giabalanai/keymaps/2firmware/keymap.c b/keyboards/giabalanai/keymaps/2firmware/keymap.c index 9aa7fbc611..f60d1d07e0 100644 --- a/keyboards/giabalanai/keymaps/2firmware/keymap.c +++ b/keyboards/giabalanai/keymaps/2firmware/keymap.c @@ -468,7 +468,7 @@ void keyboard_post_init_user(void) { user_config.raw = eeconfig_read_user(); // When USB cable is connected to the left side keyboard, use QWERTY layout by default. - if (is_keyboard_master() && is_keyboard_left()) { + if (is_keyboard_master() && isLeftHand) { default_layer_set(1UL << _QWERTY); } diff --git a/keyboards/gizmo_engineering/gk6/gk6.c b/keyboards/gizmo_engineering/gk6/gk6.c index a6f6d93438..fe85ecc235 100755 --- a/keyboards/gizmo_engineering/gk6/gk6.c +++ b/keyboards/gizmo_engineering/gk6/gk6.c @@ -82,4 +82,102 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {1, C9_15, C8_15, C6_14}, //61 led59 {1, C9_16, C7_15, C6_15}, //62 led60 }; + +led_config_t g_led_config = { { + // Key Matrix to LED Index +// 1, 6, 10, 15, 20, 26, 31, 37, 42, 47, 52, 56 + {0, 5, 10, 15, 20, 26, 31, 37, 43, 48, 53, 58}, +// 2, 7, 11, 16, 21, 27, 32, 37b, 43, 48, 52b, 57 + {1, 6, 11, 16, 21, 27, 32, 38, 44, 49, 54, 59}, +// 3, 7b, 12, 17, 22, 28, 33, 38, 44, 49, 53, 58 + {2, 7, 12, 17, 22, 28, 33, 39, 45, 50, 55, 60}, +// 4, 8, 13, 18, 23, 29, 34, 39, 45, 50, 54, 59 + {3, 8, 13, 18, 23, 29, 34, 40, 46, 51, 56, 61}, +// 5, 9, 14, 19, 25, NO_LED, NO_LED, 41, 46, 51, 55, 60 + {4, 9, 14, 19, 25, NO_LED, NO_LED, 42, 47, 52, 57, 62}, +}, { + // LED Index to Physical Position + {0, 0}, // 0 + {0, 16}, // 1 + {0, 32}, // 2 + {0, 48}, // 3 + {0, 64}, // 4 + + {21, 0}, // 5 + {21, 16}, // 6 + {21, 32}, // 7 + {21, 48}, // 8 + {21, 64}, // 9 + + {41, 0}, // 10 + {41, 16}, // 11 + {41, 32}, // 12 + {41, 48}, // 13 + {41, 64}, // 14 + + {61, 0}, // 15 + {61, 16}, // 16 + {61, 32}, // 17 + {61, 48}, // 18 + {61, 64}, // 19 + + {82, 0}, // 20 + {82, 16}, // 21 + {82, 32}, // 22 + {82, 48}, // 23 + {82, 64}, // 24 + {92, 64}, // 25 + + {102, 0}, // 26 + {102, 16}, // 27 + {102, 32}, // 28 + {102, 48}, // 29 + {102, 64}, // 30 + + {122, 0}, // 31 + {122, 16}, // 32 + {122, 32}, // 33 + {122, 48}, // 34 + {122, 64}, // 35 + {112, 64}, // 36 + + {142, 0}, // 37 + {142, 16}, // 38 + {142, 32}, // 39 + {142, 48}, // 40 + {142, 64}, // 41 + {132, 64}, // 42 + + {163, 0}, // 43 + {163, 16}, // 44 + {163, 32}, // 45 + {163, 48}, // 46 + {163, 64}, // 47 + + {183, 0}, // 48 + {183, 16}, // 49 + {183, 32}, // 50 + {183, 48}, // 51 + {183, 64}, // 52 + + {203, 0}, // 53 + {203, 16}, // 54 + {203, 32}, // 55 + {203, 48}, // 56 + {203, 64}, // 57 + + {224, 0}, // 58 + {224, 16}, // 59 + {224, 32}, // 60 + {224, 48}, // 61 + {224, 64}, // 62 +}, { + // LED Index to Flag + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04 +} }; #endif diff --git a/keyboards/gizmo_engineering/gk6/keyboard.json b/keyboards/gizmo_engineering/gk6/keyboard.json index 70ab615a7c..45e5bf0706 100644 --- a/keyboards/gizmo_engineering/gk6/keyboard.json +++ b/keyboards/gizmo_engineering/gk6/keyboard.json @@ -24,71 +24,6 @@ "solid_reactive_multicross": true }, "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [0, 1], "x": 21, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 21, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 21, "y": 32, "flags": 4}, - {"matrix": [3, 1], "x": 21, "y": 48, "flags": 4}, - {"matrix": [4, 1], "x": 21, "y": 64, "flags": 4}, - {"matrix": [0, 2], "x": 41, "y": 0, "flags": 4}, - {"matrix": [1, 2], "x": 41, "y": 16, "flags": 4}, - {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, - {"matrix": [3, 2], "x": 41, "y": 48, "flags": 4}, - {"matrix": [4, 2], "x": 41, "y": 64, "flags": 4}, - {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 61, "y": 16, "flags": 4}, - {"matrix": [2, 3], "x": 61, "y": 32, "flags": 4}, - {"matrix": [3, 3], "x": 61, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 61, "y": 64, "flags": 4}, - {"matrix": [0, 4], "x": 82, "y": 0, "flags": 4}, - {"matrix": [1, 4], "x": 82, "y": 16, "flags": 4}, - {"matrix": [2, 4], "x": 82, "y": 32, "flags": 4}, - {"matrix": [3, 4], "x": 82, "y": 48, "flags": 4}, - {"x": 82, "y": 64, "flags": 4}, - {"matrix": [4, 4], "x": 92, "y": 64, "flags": 4}, - {"matrix": [0, 5], "x": 102, "y": 0, "flags": 4}, - {"matrix": [1, 5], "x": 102, "y": 16, "flags": 4}, - {"matrix": [2, 5], "x": 102, "y": 32, "flags": 4}, - {"matrix": [3, 5], "x": 102, "y": 48, "flags": 4}, - {"x": 102, "y": 64, "flags": 4}, - {"matrix": [0, 6], "x": 122, "y": 0, "flags": 4}, - {"matrix": [1, 6], "x": 122, "y": 16, "flags": 4}, - {"matrix": [2, 6], "x": 122, "y": 32, "flags": 4}, - {"matrix": [3, 6], "x": 122, "y": 48, "flags": 4}, - {"x": 122, "y": 64, "flags": 4}, - {"x": 112, "y": 64, "flags": 4}, - {"matrix": [0, 7], "x": 142, "y": 0, "flags": 4}, - {"matrix": [1, 7], "x": 142, "y": 16, "flags": 4}, - {"matrix": [2, 7], "x": 142, "y": 32, "flags": 4}, - {"matrix": [3, 7], "x": 142, "y": 48, "flags": 4}, - {"x": 142, "y": 64, "flags": 4}, - {"matrix": [4, 7], "x": 132, "y": 64, "flags": 4}, - {"matrix": [0, 8], "x": 163, "y": 0, "flags": 4}, - {"matrix": [1, 8], "x": 163, "y": 16, "flags": 4}, - {"matrix": [2, 8], "x": 163, "y": 32, "flags": 4}, - {"matrix": [3, 8], "x": 163, "y": 48, "flags": 4}, - {"matrix": [4, 8], "x": 163, "y": 64, "flags": 4}, - {"matrix": [0, 9], "x": 183, "y": 0, "flags": 4}, - {"matrix": [1, 9], "x": 183, "y": 16, "flags": 4}, - {"matrix": [2, 9], "x": 183, "y": 32, "flags": 4}, - {"matrix": [3, 9], "x": 183, "y": 48, "flags": 4}, - {"matrix": [4, 9], "x": 183, "y": 64, "flags": 4}, - {"matrix": [0, 10], "x": 203, "y": 0, "flags": 4}, - {"matrix": [1, 10], "x": 203, "y": 16, "flags": 4}, - {"matrix": [2, 10], "x": 203, "y": 32, "flags": 4}, - {"matrix": [3, 10], "x": 203, "y": 48, "flags": 4}, - {"matrix": [4, 10], "x": 203, "y": 64, "flags": 4}, - {"matrix": [0, 11], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 11], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 11], "x": 224, "y": 32, "flags": 4}, - {"matrix": [3, 11], "x": 224, "y": 48, "flags": 4}, - {"matrix": [4, 11], "x": 224, "y": 64, "flags": 4} - ], "react_on_keyup": true, "sleep": true }, diff --git a/keyboards/gkeyboard/greatpad/config.h b/keyboards/gkeyboard/greatpad/config.h index 3ea0c44f9b..4c745779b4 100644 --- a/keyboards/gkeyboard/greatpad/config.h +++ b/keyboards/gkeyboard/greatpad/config.h @@ -3,9 +3,9 @@ #pragma once -#define I2C_DRIVER I2CD0 -#define I2C1_SCL_PIN GP21 -#define I2C1_SDA_PIN GP20 - #define OLED_DISPLAY_128X64 +#define I2C1_SCL_PIN GP21 +#define I2C1_SDA_PIN GP20 +#define I2C_DRIVER I2CD0 #define OLED_BRIGHTNESS 128 +#define OLED_FONT_H "lib/glcdfont.c" diff --git a/keyboards/gkeyboard/greatpad/keyboard.json b/keyboards/gkeyboard/greatpad/keyboard.json index 35ea738cae..d578111703 100644 --- a/keyboards/gkeyboard/greatpad/keyboard.json +++ b/keyboards/gkeyboard/greatpad/keyboard.json @@ -145,4 +145,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/gkeyboard/greatpad/lib/glcdfont.c b/keyboards/gkeyboard/greatpad/lib/glcdfont.c new file mode 100644 index 0000000000..10ced2bb2b --- /dev/null +++ b/keyboards/gkeyboard/greatpad/lib/glcdfont.c @@ -0,0 +1,236 @@ +// Copyright 2023 gkeyboard (@gkeyboard) +// SPDX-License-Identifier: GPL-2.0-or-later + +// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. +// See gfxfont.h for newer custom bitmap font info. + +#pragma once + +#include "progmem.h" + +static const unsigned char PROGMEM font[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xB6, 0xFF, 0xB6, 0x94, 0x00, + 0x08, 0x0C, 0x7E, 0x0C, 0x08, 0x00, + 0x10, 0x30, 0x7E, 0x30, 0x10, 0x00, + 0x08, 0x08, 0x3E, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x3E, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x3E, 0x14, 0x3E, 0x14, 0x00, + 0x2E, 0x2A, 0x7F, 0x2A, 0x3A, 0x00, + 0x20, 0x12, 0x08, 0x24, 0x02, 0x00, + 0x37, 0x49, 0x49, 0x37, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x7F, 0x51, 0x49, 0x45, 0x7F, 0x00, + 0x08, 0x04, 0x02, 0x7F, 0x00, 0x00, + 0x71, 0x49, 0x49, 0x49, 0x4F, 0x00, + 0x41, 0x41, 0x49, 0x49, 0x77, 0x00, + 0x0F, 0x10, 0x10, 0x10, 0x7F, 0x00, + 0x4F, 0x49, 0x49, 0x49, 0x71, 0x00, + 0x7E, 0x49, 0x49, 0x49, 0x70, 0x00, + 0x01, 0x01, 0x71, 0x09, 0x07, 0x00, + 0x77, 0x49, 0x49, 0x49, 0x77, 0x00, + 0x07, 0x49, 0x49, 0x49, 0x3F, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x01, 0x01, 0x59, 0x09, 0x0F, 0x00, + 0x7F, 0x41, 0x5D, 0x59, 0x4F, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x7F, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x76, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x41, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x7E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x49, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x09, 0x00, + 0x7F, 0x41, 0x41, 0x49, 0x7B, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, + 0x70, 0x40, 0x40, 0x40, 0x7F, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x77, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x01, 0x1F, 0x01, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x0F, 0x00, + 0x7F, 0x41, 0x71, 0x41, 0x7F, 0x00, + 0x7F, 0x09, 0x09, 0x19, 0x6F, 0x00, + 0x47, 0x49, 0x49, 0x49, 0x79, 0x00, + 0x01, 0x01, 0x7F, 0x01, 0x01, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x7F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x7F, 0x40, 0x7F, 0x40, 0x7F, 0x00, + 0x77, 0x08, 0x08, 0x08, 0x77, 0x00, + 0x4F, 0x48, 0x48, 0x48, 0x7F, 0x00, + 0x61, 0x51, 0x49, 0x45, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x00, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x7F, 0x00, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, + 0x60, 0x54, 0x54, 0x54, 0x7C, 0x00, + 0x7F, 0x44, 0x44, 0x44, 0x78, 0x00, + 0x7C, 0x44, 0x44, 0x44, 0x44, 0x00, + 0x78, 0x44, 0x44, 0x44, 0x7F, 0x00, + 0x7C, 0x54, 0x54, 0x54, 0x5C, 0x00, + 0x08, 0x7F, 0x09, 0x09, 0x09, 0x00, + 0x38, 0xA4, 0xA4, 0xA4, 0xFC, 0x00, + 0x7F, 0x04, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, + 0x70, 0x40, 0x40, 0x7D, 0x00, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x76, 0x00, + 0x00, 0x00, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x7C, 0x04, 0x7C, 0x00, + 0x7C, 0x04, 0x04, 0x04, 0x78, 0x00, + 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00, + 0xFC, 0x24, 0x24, 0x24, 0x38, 0x00, + 0x38, 0x24, 0x24, 0x24, 0xFC, 0x00, + 0x7C, 0x04, 0x04, 0x04, 0x04, 0x00, + 0x5C, 0x54, 0x54, 0x54, 0x74, 0x00, + 0x04, 0x04, 0x7F, 0x04, 0x04, 0x00, + 0x7C, 0x40, 0x40, 0x40, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x7C, 0x40, 0x7C, 0x40, 0x7C, 0x00, + 0x6C, 0x10, 0x10, 0x10, 0x6C, 0x00, + 0xBC, 0xA0, 0xA0, 0xA0, 0xFC, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x00, 0x00, 0xE0, 0xF0, 0xF0, 0xF0, + 0xF0, 0xFE, 0xFF, 0x9F, 0x0F, 0x0F, + 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, + 0x0F, 0x0F, 0x9F, 0xFF, 0xFE, 0xF0, + 0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xE0, 0x10, 0x08, 0x04, 0x02, 0x02, + 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x02, 0x02, 0x02, 0x04, 0x08, + 0x10, 0xE0, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0xFF, + 0x7F, 0x51, 0x55, 0x55, 0x45, 0x7F, + 0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00, + 0x7F, 0x41, 0x7B, 0x77, 0x41, 0x7F, + 0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00, + 0x7F, 0x41, 0x5D, 0x5D, 0x5D, 0x7F, + 0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00, + 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, + 0xE6, 0xF7, 0xF3, 0xF0, 0x60, 0x00, + 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, + 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, + 0xF8, 0x1C, 0xDE, 0x1F, 0xFF, 0xFF, + 0xFF, 0x1F, 0xDE, 0x1C, 0xF8, 0x00, + 0xC0, 0xE2, 0xB4, 0xF8, 0xF8, 0xF8, + 0xF8, 0xF8, 0xB4, 0xE2, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F, + 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, + 0x87, 0xE1, 0xF9, 0xF9, 0xE1, 0x87, + 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, + 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0xC0, 0x30, 0x0C, + 0x33, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, + 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x3F, 0x00, 0x00, 0x00, + 0xFF, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x38, 0xC8, 0x08, 0x08, 0x0F, + 0x7E, 0x00, 0x00, 0x7F, 0x00, 0x00, + 0x78, 0x00, 0x00, 0x7E, 0x00, 0x00, + 0x24, 0x24, 0x12, 0x12, 0x24, 0x24, + 0x48, 0x48, 0x24, 0x24, 0x12, 0x12, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x3F, + 0x3F, 0x7F, 0x7F, 0x38, 0x10, 0x00, + 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, + 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, + 0x0F, 0x14, 0x21, 0x40, 0x45, 0x41, + 0x45, 0x40, 0x21, 0x14, 0x0F, 0x00, + 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, + 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3F, 0x0C, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x0C, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x3F, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x01, 0x02, 0x04, 0x08, 0x10, 0x10, + 0x10, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x10, 0x10, 0x10, 0x08, 0x04, + 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x0C, 0x30, + 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x1C, 0x3E, 0x3E, 0x3E, 0x1C, 0x00, + 0x3E, 0x1C, 0x1C, 0x08, 0x08, 0x00, + 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/keyboards/gl516/xr63gl/config.h b/keyboards/gl516/xr63gl/config.h index d0af2e5b1d..928fde7d86 100644 --- a/keyboards/gl516/xr63gl/config.h +++ b/keyboards/gl516/xr63gl/config.h @@ -23,3 +23,4 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED_MASK 0U diff --git a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c index 94aa93d8ea..b3ac9906db 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c +++ b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c @@ -118,4 +118,119 @@ const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {1, SW9_CS16, SW9_CS17, SW9_CS18 }, // 87 LED 19 {1, SW10_CS16, SW10_CS17, SW10_CS18} // 88 LED 20 }; + +#define __ NO_LED + +led_config_t g_led_config = {{ + { 44, 57, __, 64, __, 66, 58, 55}, + { 16, 15, 31, 0, 45, 59, __, 1}, + { 17, 30, 32, 60, 46, 14, 29, 2}, + { 18, 61, 33, 63, 47, 56, 62, 3}, + { 19, 20, 34, 35, 48, 49, 5, 4}, + { 22, 21, 37, 36, 51, 50, 6, 7}, + { 23, 27, 38, __, 52, 43, 12, 8}, + { 24, 13, 39, 65, 53, __, 28, 9}, + { 25, 26, 40, 41, 42, 54, 11, 10} +}, { + {14, 0 }, // 0 Esc + {28, 0 }, // 1 1 + {42, 0 }, // 2 2 + {56, 0 }, // 3 3 + {70, 0 }, // 4 4 + {84, 0 }, // 5 5 + {98, 0 }, // 6 6 + {112, 0 }, // 7 7 + {126, 0 }, // 8 8 + {140, 0 }, // 9 9 + {154, 0 }, // 10 0 + {168, 0 }, // 11 - + {182, 0 }, // 12 = + {196, 0 }, // 13 Backspace + {210, 0 }, // 14 Del + + {14, 16}, // 15 Tab + {28, 16}, // 16 Q + {42, 16}, // 17 W + {56, 16}, // 18 E + {70, 16}, // 19 R + {84, 16}, // 20 T + {98, 16}, // 21 Y + {112, 16}, // 22 U + {126, 16}, // 23 I + {140, 16}, // 24 O + {154, 16}, // 25 P + {168, 16}, // 26 [ + {182, 16}, // 27 ] + {196, 16}, // 28 \| + {210, 16}, // 29 PgUp + + {14, 32}, // 30 Caps Lock + {28, 32}, // 31 A + {42, 32}, // 32 S + {56, 32}, // 33 D + {70, 32}, // 34 F + {84, 32}, // 35 G + {98, 32}, // 36 H + {112, 32}, // 37 J + {126, 32}, // 38 K + {140, 32}, // 39 L + {154, 32}, // 40 ; + {168, 32}, // 41 ' + {196, 32}, // 42 Enter + {210, 32}, // 43 PgDn + + {14, 48}, // 44 Shift_L + {42, 48}, // 45 Z + {56, 48}, // 46 X + {70, 48}, // 47 C + {84, 48}, // 48 V + {98, 48}, // 49 B + {112, 48}, // 50 N + {126, 48}, // 51 M + {140, 48}, // 52 , + {154, 48}, // 53 . + {168, 48}, // 54 / + {182, 48}, // 55 Shift_R + {196, 48}, // 56 Up + {210, 48}, // 57 END + + {14, 64}, // 58 Ctrl_L + {28, 64}, // 59 Win_L + {42, 64}, // 60 Alt_L + {84, 64}, // 61 Space + {126, 64}, // 62 Alt_R + {140, 64}, // 63 FN + {182, 64}, // 64 Left + {196, 64}, // 65 Down + {210, 64}, // 66 Right + + {224, 0 }, // 69 LED 1 + {224, 7 }, // 70 LED 2 + {224, 14}, // 71 LED 3 + {224, 21}, // 72 LED 4 + {224, 28}, // 73 LED 5 + {224, 35}, // 74 LED 6 + {224, 42}, // 75 LED 7 + {224, 49}, // 76 LED 8 + {224, 56}, // 77 LED 9 + {224, 64}, // 78 LED 10 + {0, 0 }, // 79 LED 11 + {0, 7 }, // 80 LED 12 + {0, 14}, // 81 LED 13 + {0, 21}, // 82 LED 14 + {0, 28}, // 83 LED 15 + {0, 35}, // 84 LED 16 + {0, 42}, // 85 LED 17 + {0, 49}, // 86 LED 18 + {0, 56}, // 87 LED 19 + {0, 64}, // 88 LED 20 +}, { + 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, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +} }; #endif diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json b/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json index 14603e0283..70c308da5f 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json +++ b/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json @@ -28,97 +28,6 @@ }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [1, 3], "x": 14, "y": 0, "flags": 4}, - {"matrix": [1, 7], "x": 28, "y": 0, "flags": 4}, - {"matrix": [2, 7], "x": 42, "y": 0, "flags": 4}, - {"matrix": [3, 7], "x": 56, "y": 0, "flags": 4}, - {"matrix": [4, 7], "x": 70, "y": 0, "flags": 4}, - {"matrix": [4, 6], "x": 84, "y": 0, "flags": 4}, - {"matrix": [5, 6], "x": 98, "y": 0, "flags": 4}, - {"matrix": [5, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [6, 7], "x": 126, "y": 0, "flags": 4}, - {"matrix": [7, 7], "x": 140, "y": 0, "flags": 4}, - {"matrix": [8, 7], "x": 154, "y": 0, "flags": 4}, - {"matrix": [8, 6], "x": 168, "y": 0, "flags": 4}, - {"matrix": [6, 6], "x": 182, "y": 0, "flags": 4}, - {"matrix": [7, 1], "x": 196, "y": 0, "flags": 4}, - {"matrix": [2, 5], "x": 210, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 14, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 28, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 42, "y": 16, "flags": 4}, - {"matrix": [3, 0], "x": 56, "y": 16, "flags": 4}, - {"matrix": [4, 0], "x": 70, "y": 16, "flags": 4}, - {"matrix": [4, 1], "x": 84, "y": 16, "flags": 4}, - {"matrix": [5, 1], "x": 98, "y": 16, "flags": 4}, - {"matrix": [5, 0], "x": 112, "y": 16, "flags": 4}, - {"matrix": [6, 0], "x": 126, "y": 16, "flags": 4}, - {"matrix": [7, 0], "x": 140, "y": 16, "flags": 4}, - {"matrix": [8, 0], "x": 154, "y": 16, "flags": 4}, - {"matrix": [8, 1], "x": 168, "y": 16, "flags": 4}, - {"matrix": [6, 1], "x": 182, "y": 16, "flags": 4}, - {"matrix": [7, 6], "x": 196, "y": 16, "flags": 4}, - {"matrix": [2, 6], "x": 210, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 14, "y": 32, "flags": 4}, - {"matrix": [1, 2], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 42, "y": 32, "flags": 4}, - {"matrix": [3, 2], "x": 56, "y": 32, "flags": 4}, - {"matrix": [4, 2], "x": 70, "y": 32, "flags": 4}, - {"matrix": [4, 3], "x": 84, "y": 32, "flags": 4}, - {"matrix": [5, 3], "x": 98, "y": 32, "flags": 4}, - {"matrix": [5, 2], "x": 112, "y": 32, "flags": 4}, - {"matrix": [6, 2], "x": 126, "y": 32, "flags": 4}, - {"matrix": [7, 2], "x": 140, "y": 32, "flags": 4}, - {"matrix": [8, 2], "x": 154, "y": 32, "flags": 4}, - {"matrix": [8, 3], "x": 168, "y": 32, "flags": 4}, - {"matrix": [8, 4], "x": 196, "y": 32, "flags": 4}, - {"matrix": [6, 5], "x": 210, "y": 32, "flags": 4}, - {"matrix": [0, 0], "x": 14, "y": 48, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 48, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 70, "y": 48, "flags": 4}, - {"matrix": [4, 4], "x": 84, "y": 48, "flags": 4}, - {"matrix": [4, 5], "x": 98, "y": 48, "flags": 4}, - {"matrix": [5, 5], "x": 112, "y": 48, "flags": 4}, - {"matrix": [5, 4], "x": 126, "y": 48, "flags": 4}, - {"matrix": [6, 4], "x": 140, "y": 48, "flags": 4}, - {"matrix": [7, 4], "x": 154, "y": 48, "flags": 4}, - {"matrix": [8, 5], "x": 168, "y": 48, "flags": 4}, - {"matrix": [0, 7], "x": 182, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 196, "y": 48, "flags": 4}, - {"matrix": [0, 1], "x": 210, "y": 48, "flags": 4}, - {"matrix": [0, 6], "x": 14, "y": 64, "flags": 4}, - {"matrix": [1, 5], "x": 28, "y": 64, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 84, "y": 64, "flags": 4}, - {"matrix": [3, 6], "x": 126, "y": 64, "flags": 4}, - {"matrix": [3, 3], "x": 140, "y": 64, "flags": 4}, - {"matrix": [0, 3], "x": 182, "y": 64, "flags": 4}, - {"matrix": [7, 3], "x": 196, "y": 64, "flags": 4}, - {"matrix": [0, 5], "x": 210, "y": 64, "flags": 4}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 7, "flags": 2}, - {"x": 224, "y": 14, "flags": 2}, - {"x": 224, "y": 21, "flags": 2}, - {"x": 224, "y": 28, "flags": 2}, - {"x": 224, "y": 35, "flags": 2}, - {"x": 224, "y": 42, "flags": 2}, - {"x": 224, "y": 49, "flags": 2}, - {"x": 224, "y": 56, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 0, "y": 7, "flags": 2}, - {"x": 0, "y": 14, "flags": 2}, - {"x": 0, "y": 21, "flags": 2}, - {"x": 0, "y": 28, "flags": 2}, - {"x": 0, "y": 35, "flags": 2}, - {"x": 0, "y": 42, "flags": 2}, - {"x": 0, "y": 49, "flags": 2}, - {"x": 0, "y": 56, "flags": 2}, - {"x": 0, "y": 64, "flags": 2} - ] - }, "layout_aliases": { "LAYOUT": "LAYOUT_65_ansi_blocker" }, diff --git a/keyboards/gmmk/gmmk2/p65/iso/iso.c b/keyboards/gmmk/gmmk2/p65/iso/iso.c index bc9cfe6a83..abadaccd34 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/iso.c +++ b/keyboards/gmmk/gmmk2/p65/iso/iso.c @@ -119,4 +119,120 @@ const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {1, SW9_CS16, SW9_CS17, SW9_CS18 }, // 86 LED 19 {1, SW10_CS16, SW10_CS17, SW10_CS18} // 87 LED 20 }; + +#define __ NO_LED + +led_config_t g_led_config = {{ + { 44, 58, 45, 65, __, 67, 59, 56}, + { 16, 15, 31, 0, 46, 60, __, 1}, + { 17, 30, 32, 61, 47, 14, 29, 2}, + { 18, 62, 33, 64, 48, 57, 63, 3}, + { 19, 20, 34, 35, 49, 50, 5, 4}, + { 22, 21, 37, 36, 52, 51, 6, 7}, + { 23, 27, 38, __, 53, 43, 12, 8}, + { 24, 13, 39, 66, 54, 42, __, 9}, + { 25, 26, 40, 41, 28, 55, 11, 10} +}, { + {14, 0 }, // 0 Esc + {28, 0 }, // 1 1 + {42, 0 }, // 2 2 + {56, 0 }, // 3 3 + {70, 0 }, // 4 4 + {84, 0 }, // 5 5 + {98, 0 }, // 6 6 + {112, 0 }, // 7 7 + {126, 0 }, // 8 8 + {140, 0 }, // 9 9 + {154, 0 }, // 10 0 + {168, 0 }, // 11 - + {182, 0 }, // 12 = + {196, 0 }, // 13 Backspace + {210, 0 }, // 14 HOME + + {14, 16}, // 15 Tab + {28, 16}, // 16 Q + {42, 16}, // 17 W + {56, 16}, // 18 E + {70, 16}, // 19 R + {84, 16}, // 20 T + {98, 16}, // 21 Y + {112, 16}, // 22 U + {126, 16}, // 23 I + {140, 16}, // 24 O + {154, 16}, // 25 P + {168, 16}, // 26 [ + {182, 16}, // 27 ] + {196, 16}, // 28 ENTER + {210, 16}, // 29 PgUp + + {14, 32}, // 30 Caps Lock + {28, 32}, // 31 A + {42, 32}, // 32 S + {56, 32}, // 33 D + {70, 32}, // 34 F + {84, 32}, // 35 G + {98, 32}, // 36 H + {112, 32}, // 37 J + {126, 32}, // 38 K + {140, 32}, // 39 L + {154, 32}, // 40 ; + {168, 32}, // 41 ' + {182, 32}, // 42 k42 + {210, 32}, // 43 PgDn + + {14, 48}, // 44 Shift_L + {28, 48}, // 45 k45 + {42, 48}, // 46 Z + {56, 48}, // 47 X + {70, 48}, // 48 C + {84, 48}, // 49 V + {98, 48}, // 50 B + {112, 48}, // 51 N + {126, 48}, // 52 M + {140, 48}, // 53 , + {154, 48}, // 54 . + {168, 48}, // 55 / + {182, 48}, // 56 Shift_R + {196, 48}, // 57 Up + {210, 48}, // 58 END + + {14, 64}, // 59 Ctrl_L + {28, 64}, // 60 Win_L + {42, 64}, // 61 Alt_L + {84, 64}, // 62 Space + {126, 64}, // 63 Alt_R + {140, 64}, // 64 FN + {182, 64}, // 65 Left + {196, 64}, // 66 Down + {210, 64}, // 67 Right + + {224, 0 }, // 68 LED 1 + {224, 7 }, // 69 LED 2 + {224, 14}, // 70 LED 3 + {224, 21}, // 71 LED 4 + {224, 28}, // 72 LED 5 + {224, 35}, // 73 LED 6 + {224, 42}, // 74 LED 7 + {224, 49}, // 75 LED 8 + {224, 56}, // 76 LED 9 + {224, 64}, // 77 LED 10 + {0, 0 }, // 78 LED 11 + {0, 7 }, // 79 LED 12 + {0, 14}, // 80 LED 13 + {0, 21}, // 81 LED 14 + {0, 28}, // 82 LED 15 + {0, 35}, // 83 LED 16 + {0, 42}, // 84 LED 17 + {0, 49}, // 85 LED 18 + {0, 56}, // 86 LED 19 + {0, 64}, // 87 LED 20 +}, { + 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, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +} }; #endif diff --git a/keyboards/gmmk/gmmk2/p65/iso/keyboard.json b/keyboards/gmmk/gmmk2/p65/iso/keyboard.json index 6a2f848ea6..9240268b4f 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/keyboard.json +++ b/keyboards/gmmk/gmmk2/p65/iso/keyboard.json @@ -28,98 +28,6 @@ }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [1, 3], "x": 14, "y": 0, "flags": 4}, - {"matrix": [1, 7], "x": 28, "y": 0, "flags": 4}, - {"matrix": [2, 7], "x": 42, "y": 0, "flags": 4}, - {"matrix": [3, 7], "x": 56, "y": 0, "flags": 4}, - {"matrix": [4, 7], "x": 70, "y": 0, "flags": 4}, - {"matrix": [4, 6], "x": 84, "y": 0, "flags": 4}, - {"matrix": [5, 6], "x": 98, "y": 0, "flags": 4}, - {"matrix": [5, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [6, 7], "x": 126, "y": 0, "flags": 4}, - {"matrix": [7, 7], "x": 140, "y": 0, "flags": 4}, - {"matrix": [8, 7], "x": 154, "y": 0, "flags": 4}, - {"matrix": [8, 6], "x": 168, "y": 0, "flags": 4}, - {"matrix": [6, 6], "x": 182, "y": 0, "flags": 4}, - {"matrix": [7, 1], "x": 196, "y": 0, "flags": 4}, - {"matrix": [2, 5], "x": 210, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 14, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 28, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 42, "y": 16, "flags": 4}, - {"matrix": [3, 0], "x": 56, "y": 16, "flags": 4}, - {"matrix": [4, 0], "x": 70, "y": 16, "flags": 4}, - {"matrix": [4, 1], "x": 84, "y": 16, "flags": 4}, - {"matrix": [5, 1], "x": 98, "y": 16, "flags": 4}, - {"matrix": [5, 0], "x": 112, "y": 16, "flags": 4}, - {"matrix": [6, 0], "x": 126, "y": 16, "flags": 4}, - {"matrix": [7, 0], "x": 140, "y": 16, "flags": 4}, - {"matrix": [8, 0], "x": 154, "y": 16, "flags": 4}, - {"matrix": [8, 1], "x": 168, "y": 16, "flags": 4}, - {"matrix": [6, 1], "x": 182, "y": 16, "flags": 4}, - {"matrix": [8, 4], "x": 196, "y": 16, "flags": 4}, - {"matrix": [2, 6], "x": 210, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 14, "y": 32, "flags": 4}, - {"matrix": [1, 2], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 42, "y": 32, "flags": 4}, - {"matrix": [3, 2], "x": 56, "y": 32, "flags": 4}, - {"matrix": [4, 2], "x": 70, "y": 32, "flags": 4}, - {"matrix": [4, 3], "x": 84, "y": 32, "flags": 4}, - {"matrix": [5, 3], "x": 98, "y": 32, "flags": 4}, - {"matrix": [5, 2], "x": 112, "y": 32, "flags": 4}, - {"matrix": [6, 2], "x": 126, "y": 32, "flags": 4}, - {"matrix": [7, 2], "x": 140, "y": 32, "flags": 4}, - {"matrix": [8, 2], "x": 154, "y": 32, "flags": 4}, - {"matrix": [8, 3], "x": 168, "y": 32, "flags": 4}, - {"matrix": [7, 5], "x": 182, "y": 32, "flags": 4}, - {"matrix": [6, 5], "x": 210, "y": 32, "flags": 4}, - {"matrix": [0, 0], "x": 14, "y": 48, "flags": 4}, - {"matrix": [0, 2], "x": 28, "y": 48, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 48, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 70, "y": 48, "flags": 4}, - {"matrix": [4, 4], "x": 84, "y": 48, "flags": 4}, - {"matrix": [4, 5], "x": 98, "y": 48, "flags": 4}, - {"matrix": [5, 5], "x": 112, "y": 48, "flags": 4}, - {"matrix": [5, 4], "x": 126, "y": 48, "flags": 4}, - {"matrix": [6, 4], "x": 140, "y": 48, "flags": 4}, - {"matrix": [7, 4], "x": 154, "y": 48, "flags": 4}, - {"matrix": [8, 5], "x": 168, "y": 48, "flags": 4}, - {"matrix": [0, 7], "x": 182, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 196, "y": 48, "flags": 4}, - {"matrix": [0, 1], "x": 210, "y": 48, "flags": 4}, - {"matrix": [0, 6], "x": 14, "y": 64, "flags": 4}, - {"matrix": [1, 5], "x": 28, "y": 64, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 84, "y": 64, "flags": 4}, - {"matrix": [3, 6], "x": 126, "y": 64, "flags": 4}, - {"matrix": [3, 3], "x": 140, "y": 64, "flags": 4}, - {"matrix": [0, 3], "x": 182, "y": 64, "flags": 4}, - {"matrix": [7, 3], "x": 196, "y": 64, "flags": 4}, - {"matrix": [0, 5], "x": 210, "y": 64, "flags": 4}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 7, "flags": 2}, - {"x": 224, "y": 14, "flags": 2}, - {"x": 224, "y": 21, "flags": 2}, - {"x": 224, "y": 28, "flags": 2}, - {"x": 224, "y": 35, "flags": 2}, - {"x": 224, "y": 42, "flags": 2}, - {"x": 224, "y": 49, "flags": 2}, - {"x": 224, "y": 56, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 0, "y": 7, "flags": 2}, - {"x": 0, "y": 14, "flags": 2}, - {"x": 0, "y": 21, "flags": 2}, - {"x": 0, "y": 28, "flags": 2}, - {"x": 0, "y": 35, "flags": 2}, - {"x": 0, "y": 42, "flags": 2}, - {"x": 0, "y": 49, "flags": 2}, - {"x": 0, "y": 56, "flags": 2}, - {"x": 0, "y": 64, "flags": 2} - ] - }, "community_layouts": ["65_iso_blocker"], "layouts": { "LAYOUT_65_iso_blocker": { diff --git a/keyboards/gmmk/gmmk2/p96/ansi/ansi.c b/keyboards/gmmk/gmmk2/p96/ansi/ansi.c index dc61fd813f..5b2b5893f7 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/ansi.c +++ b/keyboards/gmmk/gmmk2/p96/ansi/ansi.c @@ -151,6 +151,160 @@ const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {1, SW9_CS16, SW9_CS17, SW9_CS18}, // 119, LED 19 {1, SW10_CS16, SW10_CS17, SW10_CS18} // 120, LED 20 }; + +#define __ NO_LED + +led_config_t g_led_config = {{ + { 0, 18, 36, 54, 70, 87, 14, 94}, + { 1, 19, 37, 55, __, 88, 15, 82}, + { 2, 20, 38, 56, 71, 89, 16, 95}, + { 3, 21, 39, 57, 72, __, 17, 96}, + { 4, 22, 40, 58, 73, __, 32, 97}, + { 5, 23, 41, 59, 74, __, 33, 98}, + { 6, 24, 42, 60, 75, 90, 34, 83}, + { 7, 25, 43, 61, 76, __, 35, 84}, + { 8, 26, 44, 62, 77, __, 50, 85}, + { 9, 27, 45, 63, 78, 91, 51, 86}, + {10, 28, 46, 64, 79, 92, 52, 67}, + {11, 29, 47, 65, 80, __, 53, 68}, + {12, 30, 48, __, __, 93, __, 69}, + {13, 31, 49, 66, 81, __, __, __} +}, { + { 11, 0}, // 0, k00, Esc + { 22, 0}, // 1, k10, F1 + { 33, 0}, // 2, k20, F2 + { 44, 0}, // 3, k30, F3 + { 55, 0}, // 4, k40, F4 + { 66, 0}, // 5, k50, F5 + { 77, 0}, // 6, k60, F6 + { 88, 0}, // 7, k70, F7 + { 99, 0}, // 8, k80, F8 + { 110, 0}, // 9, k90, F9 + { 121, 0}, // 10, ka0, F10 + { 132, 0}, // 11, kb0, F11 + { 143, 0}, // 12, kc0, F12 + { 154, 0}, // 13, kd0, Printscreen + { 165, 0}, // 14, k06, Delete + { 176, 0}, // 15, k16, Insert + { 187, 0}, // 16, k26, Page Up + { 198, 0}, // 17, k36, Page Down + + { 11, 11}, // 18, k01, ` + { 22, 11}, // 19, k11, 1 + { 33, 11}, // 20, k21, 2 + { 44, 11}, // 21, k31, 3 + { 55, 11}, // 22, k41, 4 + { 66, 11}, // 23, k51, 5 + { 77, 11}, // 24, k61, 6 + { 88, 11}, // 25, k71, 7 + { 99, 11}, // 26, k81, 8 + { 110, 11}, // 27, k91, 9 + { 121, 11}, // 28, ka1, 0 + { 132, 11}, // 29, kb1, - + { 143, 11}, // 30, kc1, = + { 154, 11}, // 31, kd1, Backspace + { 165, 11}, // 32, k46, Num Lock + { 176, 11}, // 33, k56, Num / + { 187, 11}, // 34, k66, Num * + { 198, 11}, // 35, k76, Num - + + { 11, 22}, // 36, k02, Tab + { 22, 22}, // 37, k12, Q + { 33, 22}, // 38, k22, W + { 44, 22}, // 39, k32, E + { 55, 22}, // 40, k42, R + { 66, 22}, // 41, k52, T + { 77, 22}, // 42, k62, Y + { 88, 22}, // 43, k72, U + { 99, 22}, // 44, k82, I + { 110, 22}, // 45, k92, O + { 121, 22}, // 46, ka2, P + { 132, 22}, // 47, kb2, [ + { 143, 22}, // 48, kc2, ] + { 154, 22}, // 49, kd3, "\\" + { 165, 22}, // 50, k86, Num 7 + { 176, 22}, // 51, k96, Num 8 + { 187, 22}, // 52, ka6, Num 9 + { 198, 22}, // 53, kb6, Num + + + { 11, 33}, // 54, k03, Caps Lock + { 22, 33}, // 55, k13, A + { 33, 33}, // 56, k23, S + { 44, 33}, // 57, k33, D + { 55, 33}, // 58, k43, F + { 66, 33}, // 59, k53, G + { 77, 33}, // 60, k63, H + { 88, 33}, // 61, k73, J + { 99, 33}, // 62, k83, K + { 110, 33}, // 63, k93, L + { 121, 33}, // 64, ka3, ; + { 132, 33}, // 65, kb3, ' + { 154, 33}, // 66, kc3, Enter + { 165, 33}, // 67, ka7, Num 4 + { 176, 33}, // 68, kb7, Num 5 + { 187, 33}, // 69, kc7, Num 6 + + { 11, 44}, // 70, k04, Shift_L + { 33, 44}, // 71, k24, Z + { 44, 44}, // 72, k34, X + { 55, 44}, // 73, k44, C + { 66, 44}, // 74, k54, V + { 77, 44}, // 75, k64, B + { 88, 44}, // 76, k74, N + { 99, 44}, // 77, k84, M + { 110, 44}, // 78, k94, , + { 121, 44}, // 79, ka4, . + { 132, 44}, // 80, kb4, / + { 143, 44}, // 81, kd4, Shift_R + { 154, 44}, // 82, k17, Up + { 165, 44}, // 83, k67, Num 1 + { 176, 44}, // 84, k77, Num 2 + { 187, 44}, // 85, k87, Num 3 + { 198, 44}, // 86, k97, Enter_R + + { 11, 55}, // 87, k05, Ctrl_L + { 22, 55}, // 88, k15, Win_L + { 33, 55}, // 89, k25, Alt_L + { 77, 55}, // 90, k65, Space + { 110, 55}, // 91, k95, Alt_R + { 121, 55}, // 92, ka5, FN + { 132, 55}, // 93, kc5, Ctrl_R + { 143, 55}, // 94, k07, Left + { 154, 55}, // 95, k27, Down + { 165, 55}, // 96, k37, Right + { 176, 55}, // 97, k47, Num 0 + { 187, 55}, // 98, k57, Num . + + { 0, 0}, // 101, LED 1 + { 0, 6}, // 102, LED 2 + { 0, 12}, // 103, LED 3 + { 0, 18}, // 104, LED 4 + { 0, 24}, // 105, LED 5 + { 0, 30}, // 106, LED 6 + { 0, 36}, // 107, LED 7 + { 0, 42}, // 108, LED 8 + { 0, 48}, // 109, LED 9 + { 0, 54}, // 110, LED 10 + { 209, 0}, // 111, LED 11 + { 209, 6}, // 112, LED 12 + { 209, 12}, // 113, LED 13 + { 209, 18}, // 114, LED 14 + { 209, 24}, // 115, LED 15 + { 209, 30}, // 116, LED 16 + { 209, 36}, // 117, LED 17 + { 209, 42}, // 118, LED 18 + { 209, 48}, // 119, LED 19 + { 209, 54} // 120, LED 20 +}, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 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, 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, 2, 2, 2, 2 +} }; #endif #ifdef EEPROM_ENABLE diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json b/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json index 74332b1f84..0646be8c88 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json +++ b/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json @@ -32,129 +32,6 @@ }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 11, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 22, "y": 0, "flags": 4}, - {"matrix": [2, 0], "x": 33, "y": 0, "flags": 4}, - {"matrix": [3, 0], "x": 44, "y": 0, "flags": 4}, - {"matrix": [4, 0], "x": 55, "y": 0, "flags": 4}, - {"matrix": [5, 0], "x": 66, "y": 0, "flags": 4}, - {"matrix": [6, 0], "x": 77, "y": 0, "flags": 4}, - {"matrix": [7, 0], "x": 88, "y": 0, "flags": 4}, - {"matrix": [8, 0], "x": 99, "y": 0, "flags": 4}, - {"matrix": [9, 0], "x": 110, "y": 0, "flags": 4}, - {"matrix": [10, 0], "x": 121, "y": 0, "flags": 4}, - {"matrix": [11, 0], "x": 132, "y": 0, "flags": 4}, - {"matrix": [12, 0], "x": 143, "y": 0, "flags": 4}, - {"matrix": [13, 0], "x": 154, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 165, "y": 0, "flags": 4}, - {"matrix": [1, 6], "x": 176, "y": 0, "flags": 4}, - {"matrix": [2, 6], "x": 187, "y": 0, "flags": 4}, - {"matrix": [3, 6], "x": 198, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 11, "y": 11, "flags": 4}, - {"matrix": [1, 1], "x": 22, "y": 11, "flags": 4}, - {"matrix": [2, 1], "x": 33, "y": 11, "flags": 4}, - {"matrix": [3, 1], "x": 44, "y": 11, "flags": 4}, - {"matrix": [4, 1], "x": 55, "y": 11, "flags": 4}, - {"matrix": [5, 1], "x": 66, "y": 11, "flags": 4}, - {"matrix": [6, 1], "x": 77, "y": 11, "flags": 4}, - {"matrix": [7, 1], "x": 88, "y": 11, "flags": 4}, - {"matrix": [8, 1], "x": 99, "y": 11, "flags": 4}, - {"matrix": [9, 1], "x": 110, "y": 11, "flags": 4}, - {"matrix": [10, 1], "x": 121, "y": 11, "flags": 4}, - {"matrix": [11, 1], "x": 132, "y": 11, "flags": 4}, - {"matrix": [12, 1], "x": 143, "y": 11, "flags": 4}, - {"matrix": [13, 1], "x": 154, "y": 11, "flags": 4}, - {"matrix": [4, 6], "x": 165, "y": 11, "flags": 1}, - {"matrix": [5, 6], "x": 176, "y": 11, "flags": 4}, - {"matrix": [6, 6], "x": 187, "y": 11, "flags": 4}, - {"matrix": [7, 6], "x": 198, "y": 11, "flags": 4}, - {"matrix": [0, 2], "x": 11, "y": 22, "flags": 4}, - {"matrix": [1, 2], "x": 22, "y": 22, "flags": 4}, - {"matrix": [2, 2], "x": 33, "y": 22, "flags": 4}, - {"matrix": [3, 2], "x": 44, "y": 22, "flags": 4}, - {"matrix": [4, 2], "x": 55, "y": 22, "flags": 4}, - {"matrix": [5, 2], "x": 66, "y": 22, "flags": 4}, - {"matrix": [6, 2], "x": 77, "y": 22, "flags": 4}, - {"matrix": [7, 2], "x": 88, "y": 22, "flags": 4}, - {"matrix": [8, 2], "x": 99, "y": 22, "flags": 4}, - {"matrix": [9, 2], "x": 110, "y": 22, "flags": 4}, - {"matrix": [10, 2], "x": 121, "y": 22, "flags": 4}, - {"matrix": [11, 2], "x": 132, "y": 22, "flags": 4}, - {"matrix": [12, 2], "x": 143, "y": 22, "flags": 4}, - {"matrix": [13, 2], "x": 154, "y": 22, "flags": 4}, - {"matrix": [8, 6], "x": 165, "y": 22, "flags": 4}, - {"matrix": [9, 6], "x": 176, "y": 22, "flags": 4}, - {"matrix": [10, 6], "x": 187, "y": 22, "flags": 4}, - {"matrix": [11, 6], "x": 198, "y": 22, "flags": 4}, - {"matrix": [0, 3], "x": 11, "y": 33, "flags": 1}, - {"matrix": [1, 3], "x": 22, "y": 33, "flags": 4}, - {"matrix": [2, 3], "x": 33, "y": 33, "flags": 4}, - {"matrix": [3, 3], "x": 44, "y": 33, "flags": 4}, - {"matrix": [4, 3], "x": 55, "y": 33, "flags": 4}, - {"matrix": [5, 3], "x": 66, "y": 33, "flags": 4}, - {"matrix": [6, 3], "x": 77, "y": 33, "flags": 4}, - {"matrix": [7, 3], "x": 88, "y": 33, "flags": 4}, - {"matrix": [8, 3], "x": 99, "y": 33, "flags": 4}, - {"matrix": [9, 3], "x": 110, "y": 33, "flags": 4}, - {"matrix": [10, 3], "x": 121, "y": 33, "flags": 4}, - {"matrix": [11, 3], "x": 132, "y": 33, "flags": 4}, - {"matrix": [13, 3], "x": 154, "y": 33, "flags": 4}, - {"matrix": [10, 7], "x": 165, "y": 33, "flags": 4}, - {"matrix": [11, 7], "x": 176, "y": 33, "flags": 4}, - {"matrix": [12, 7], "x": 187, "y": 33, "flags": 4}, - {"matrix": [0, 4], "x": 11, "y": 44, "flags": 4}, - {"matrix": [2, 4], "x": 33, "y": 44, "flags": 4}, - {"matrix": [3, 4], "x": 44, "y": 44, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 44, "flags": 4}, - {"matrix": [5, 4], "x": 66, "y": 44, "flags": 4}, - {"matrix": [6, 4], "x": 77, "y": 44, "flags": 4}, - {"matrix": [7, 4], "x": 88, "y": 44, "flags": 4}, - {"matrix": [8, 4], "x": 99, "y": 44, "flags": 4}, - {"matrix": [9, 4], "x": 110, "y": 44, "flags": 4}, - {"matrix": [10, 4], "x": 121, "y": 44, "flags": 4}, - {"matrix": [11, 4], "x": 132, "y": 44, "flags": 4}, - {"matrix": [13, 4], "x": 143, "y": 44, "flags": 4}, - {"matrix": [1, 7], "x": 154, "y": 44, "flags": 4}, - {"matrix": [6, 7], "x": 165, "y": 44, "flags": 4}, - {"matrix": [7, 7], "x": 176, "y": 44, "flags": 4}, - {"matrix": [8, 7], "x": 187, "y": 44, "flags": 4}, - {"matrix": [9, 7], "x": 198, "y": 44, "flags": 4}, - {"matrix": [0, 5], "x": 11, "y": 55, "flags": 4}, - {"matrix": [1, 5], "x": 22, "y": 55, "flags": 4}, - {"matrix": [2, 5], "x": 33, "y": 55, "flags": 4}, - {"matrix": [6, 5], "x": 77, "y": 55, "flags": 4}, - {"matrix": [9, 5], "x": 110, "y": 55, "flags": 4}, - {"matrix": [10, 5], "x": 121, "y": 55, "flags": 4}, - {"matrix": [12, 5], "x": 132, "y": 55, "flags": 4}, - {"matrix": [0, 7], "x": 143, "y": 55, "flags": 4}, - {"matrix": [2, 7], "x": 154, "y": 55, "flags": 4}, - {"matrix": [3, 7], "x": 165, "y": 55, "flags": 4}, - {"matrix": [4, 7], "x": 176, "y": 55, "flags": 4}, - {"matrix": [5, 7], "x": 187, "y": 55, "flags": 4}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 0, "y": 6, "flags": 2}, - {"x": 0, "y": 12, "flags": 2}, - {"x": 0, "y": 18, "flags": 2}, - {"x": 0, "y": 24, "flags": 2}, - {"x": 0, "y": 30, "flags": 2}, - {"x": 0, "y": 36, "flags": 2}, - {"x": 0, "y": 42, "flags": 2}, - {"x": 0, "y": 48, "flags": 2}, - {"x": 0, "y": 54, "flags": 2}, - {"x": 209, "y": 0, "flags": 2}, - {"x": 209, "y": 6, "flags": 2}, - {"x": 209, "y": 12, "flags": 2}, - {"x": 209, "y": 18, "flags": 2}, - {"x": 209, "y": 24, "flags": 2}, - {"x": 209, "y": 30, "flags": 2}, - {"x": 209, "y": 36, "flags": 2}, - {"x": 209, "y": 42, "flags": 2}, - {"x": 209, "y": 48, "flags": 2}, - {"x": 209, "y": 54, "flags": 2} - ] - }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/gmmk/gmmk2/p96/iso/iso.c b/keyboards/gmmk/gmmk2/p96/iso/iso.c index 7da63dfae6..9a5c357307 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/iso.c +++ b/keyboards/gmmk/gmmk2/p96/iso/iso.c @@ -152,6 +152,155 @@ const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {1, SW9_CS16, SW9_CS17, SW9_CS18}, // 119, LED 19 {1, SW10_CS16, SW10_CS17, SW10_CS18} // 120, LED 20 }; + +#define __ NO_LED + +led_config_t g_led_config = {{ + { 0, 18, 36, 54, 70, 88, 14, 95}, + { 1, 19, 37, 55, 71, 89, 15, 83}, + { 2, 20, 38, 56, 72, 90, 16, 96}, + { 3, 21, 39, 57, 73, __, 17, 97}, + { 4, 22, 40, 58, 74, __, 32, 98}, + { 5, 23, 41, 59, 75, __, 33, 99}, + { 6, 24, 42, 60, 76, 91, 34, 84}, + { 7, 25, 43, 61, 77, __, 35, 85}, + { 8, 26, 44, 62, 78, __, 50, 86}, + { 9, 27, 45, 63, 79, 92, 51, 87}, + {10, 28, 46, 64, 80, 93, 52, 67}, + {11, 29, 47, 65, 81, __, 53, 68}, + {12, 30, 48, 66, __, 94, __, 69}, + {13, 31, __, 49, 82, __, __, __} +}, { + { 11, 0}, // 0, k00, Esc + { 22, 0}, // 1, k10, F1 + { 33, 0}, // 2, k20, F2 + { 44, 0}, // 3, k30, F3 + { 55, 0}, // 4, k40, F4 + { 66, 0}, // 5, k50, F5 + { 77, 0}, // 6, k60, F6 + { 88, 0}, // 7, k70, F7 + { 99, 0}, // 8, k80, F8 + { 110, 0}, // 9, k90, F9 + { 121, 0}, // 10, ka0, F10 + { 132, 0}, // 11, kb0, F11 + { 143, 0}, // 12, kc0, F12 + { 154, 0}, // 13, kd0, Printscreen + { 165, 0}, // 14, k06, Delete + { 176, 0}, // 15, k16, Insert + { 187, 0}, // 16, k26, Page Up + { 198, 0}, // 17, k36, Page Down + { 11, 11}, // 18, k01, ` + { 22, 11}, // 19, k11, 1 + { 33, 11}, // 20, k21, 2 + { 44, 11}, // 21, k31, 3 + { 55, 11}, // 22, k41, 4 + { 66, 11}, // 23, k51, 5 + { 77, 11}, // 24, k61, 6 + { 88, 11}, // 25, k71, 7 + { 99, 11}, // 26, k81, 8 + { 110, 11}, // 27, k91, 9 + { 121, 11}, // 28, ka1, 0 + { 132, 11}, // 29, kb1, - + { 143, 11}, // 30, kc1, = + { 154, 11}, // 31, kd1, Backspace + { 165, 11}, // 32, k46, Num Lock + { 176, 11}, // 33, k56, Num / + { 187, 11}, // 34, k66, Num * + { 198, 11}, // 35, k76, Num - + { 11, 22}, // 36, k02, Tab + { 22, 22}, // 37, k12, Q + { 33, 22}, // 38, k22, W + { 44, 22}, // 39, k32, E + { 55, 22}, // 40, k42, R + { 66, 22}, // 41, k52, T + { 77, 22}, // 42, k62, Y + { 88, 22}, // 43, k72, U + { 99, 22}, // 44, k82, I + { 110, 22}, // 45, k92, O + { 121, 22}, // 46, ka2, P + { 132, 22}, // 47, kb2, [ + { 143, 22}, // 48, kc2, ] + { 154, 22}, // 49, kd3, Enter + { 165, 22}, // 50, k86, Num 7 + { 176, 22}, // 51, k96, Num 8 + { 187, 22}, // 52, ka6, Num 9 + { 198, 22}, // 53, kb6, Num + + { 11, 33}, // 54, k03, Caps Lock + { 22, 33}, // 55, k13, A + { 33, 33}, // 56, k23, S + { 44, 33}, // 57, k33, D + { 55, 33}, // 58, k43, F + { 66, 33}, // 59, k53, G + { 77, 33}, // 60, k63, H + { 88, 33}, // 61, k73, J + { 99, 33}, // 62, k83, K + { 110, 33}, // 63, k93, L + { 121, 33}, // 64, ka3, ; + { 132, 33}, // 65, kb3, ' + { 143, 33}, // 66, kc3, # + { 165, 33}, // 67, ka7, Num 4 + { 176, 33}, // 68, kb7, Num 5 + { 187, 33}, // 69, kc7, Num 6 + { 11, 44}, // 70, k04, Shift_L + { 22, 44}, // 71, k14, "\\" + { 33, 44}, // 72, k24, Z + { 44, 44}, // 73, k34, X + { 55, 44}, // 74, k44, C + { 66, 44}, // 75, k54, V + { 77, 44}, // 76, k64, B + { 88, 44}, // 77, k74, N + { 99, 44}, // 78, k84, M + { 110, 44}, // 79, k94, , + { 121, 44}, // 80, ka4, . + { 132, 44}, // 81, kb4, / + { 143, 44}, // 82, kd4, Shift_R + { 154, 44}, // 83, k17, Up + { 165, 44}, // 84, k67, Num 1 + { 176, 44}, // 85, k77, Num 2 + { 187, 44}, // 86, k87, Num 3 + { 198, 44}, // 87, k97, Enter_R + { 11, 55}, // 88, k05, Ctrl_L + { 22, 55}, // 89, k15, Win_L + { 33, 55}, // 90, k25, Alt_L + { 77, 55}, // 91, k65, Space + { 110, 55}, // 92, k95, Alt_R + { 121, 55}, // 93, ka5, FN + { 132, 55}, // 94, kc5, Ctrl_R + { 143, 55}, // 95, k07, Left + { 154, 55}, // 96, k27, Down + { 165, 55}, // 97, k37, Right + { 176, 55}, // 98, k47, Num 0 + { 187, 55}, // 99, k57, Num . + { 0, 0}, // 101, LED 1 + { 0, 6}, // 102, LED 2 + { 0, 12}, // 103, LED 3 + { 0, 18}, // 104, LED 4 + { 0, 24}, // 105, LED 5 + { 0, 30}, // 106, LED 6 + { 0, 36}, // 107, LED 7 + { 0, 42}, // 108, LED 8 + { 0, 48}, // 109, LED 9 + { 0, 54}, // 110, LED 10 + { 209, 0}, // 111, LED 11 + { 209, 6}, // 112, LED 12 + { 209, 12}, // 113, LED 13 + { 209, 18}, // 114, LED 14 + { 209, 24}, // 115, LED 15 + { 209, 30}, // 116, LED 16 + { 209, 36}, // 117, LED 17 + { 209, 42}, // 118, LED 18 + { 209, 48}, // 119, LED 19 + { 209, 54} // 120, LED 20 +}, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 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, 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, 2, 2, 2, 2 +} }; #endif #ifdef EEPROM_ENABLE diff --git a/keyboards/gmmk/gmmk2/p96/iso/keyboard.json b/keyboards/gmmk/gmmk2/p96/iso/keyboard.json index 3463293a70..679881a94b 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/keyboard.json +++ b/keyboards/gmmk/gmmk2/p96/iso/keyboard.json @@ -32,130 +32,6 @@ }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 11, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 22, "y": 0, "flags": 4}, - {"matrix": [2, 0], "x": 33, "y": 0, "flags": 4}, - {"matrix": [3, 0], "x": 44, "y": 0, "flags": 4}, - {"matrix": [4, 0], "x": 55, "y": 0, "flags": 4}, - {"matrix": [5, 0], "x": 66, "y": 0, "flags": 4}, - {"matrix": [6, 0], "x": 77, "y": 0, "flags": 4}, - {"matrix": [7, 0], "x": 88, "y": 0, "flags": 4}, - {"matrix": [8, 0], "x": 99, "y": 0, "flags": 4}, - {"matrix": [9, 0], "x": 110, "y": 0, "flags": 4}, - {"matrix": [10, 0], "x": 121, "y": 0, "flags": 4}, - {"matrix": [11, 0], "x": 132, "y": 0, "flags": 4}, - {"matrix": [12, 0], "x": 143, "y": 0, "flags": 4}, - {"matrix": [13, 0], "x": 154, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 165, "y": 0, "flags": 4}, - {"matrix": [1, 6], "x": 176, "y": 0, "flags": 4}, - {"matrix": [2, 6], "x": 187, "y": 0, "flags": 4}, - {"matrix": [3, 6], "x": 198, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 11, "y": 11, "flags": 4}, - {"matrix": [1, 1], "x": 22, "y": 11, "flags": 4}, - {"matrix": [2, 1], "x": 33, "y": 11, "flags": 4}, - {"matrix": [3, 1], "x": 44, "y": 11, "flags": 4}, - {"matrix": [4, 1], "x": 55, "y": 11, "flags": 4}, - {"matrix": [5, 1], "x": 66, "y": 11, "flags": 4}, - {"matrix": [6, 1], "x": 77, "y": 11, "flags": 4}, - {"matrix": [7, 1], "x": 88, "y": 11, "flags": 4}, - {"matrix": [8, 1], "x": 99, "y": 11, "flags": 4}, - {"matrix": [9, 1], "x": 110, "y": 11, "flags": 4}, - {"matrix": [10, 1], "x": 121, "y": 11, "flags": 4}, - {"matrix": [11, 1], "x": 132, "y": 11, "flags": 4}, - {"matrix": [12, 1], "x": 143, "y": 11, "flags": 4}, - {"matrix": [13, 1], "x": 154, "y": 11, "flags": 4}, - {"matrix": [4, 6], "x": 165, "y": 11, "flags": 1}, - {"matrix": [5, 6], "x": 176, "y": 11, "flags": 4}, - {"matrix": [6, 6], "x": 187, "y": 11, "flags": 4}, - {"matrix": [7, 6], "x": 198, "y": 11, "flags": 4}, - {"matrix": [0, 2], "x": 11, "y": 22, "flags": 4}, - {"matrix": [1, 2], "x": 22, "y": 22, "flags": 4}, - {"matrix": [2, 2], "x": 33, "y": 22, "flags": 4}, - {"matrix": [3, 2], "x": 44, "y": 22, "flags": 4}, - {"matrix": [4, 2], "x": 55, "y": 22, "flags": 4}, - {"matrix": [5, 2], "x": 66, "y": 22, "flags": 4}, - {"matrix": [6, 2], "x": 77, "y": 22, "flags": 4}, - {"matrix": [7, 2], "x": 88, "y": 22, "flags": 4}, - {"matrix": [8, 2], "x": 99, "y": 22, "flags": 4}, - {"matrix": [9, 2], "x": 110, "y": 22, "flags": 4}, - {"matrix": [10, 2], "x": 121, "y": 22, "flags": 4}, - {"matrix": [11, 2], "x": 132, "y": 22, "flags": 4}, - {"matrix": [12, 2], "x": 143, "y": 22, "flags": 4}, - {"matrix": [13, 3], "x": 154, "y": 22, "flags": 4}, - {"matrix": [8, 6], "x": 165, "y": 22, "flags": 4}, - {"matrix": [9, 6], "x": 176, "y": 22, "flags": 4}, - {"matrix": [10, 6], "x": 187, "y": 22, "flags": 4}, - {"matrix": [11, 6], "x": 198, "y": 22, "flags": 4}, - {"matrix": [0, 3], "x": 11, "y": 33, "flags": 1}, - {"matrix": [1, 3], "x": 22, "y": 33, "flags": 4}, - {"matrix": [2, 3], "x": 33, "y": 33, "flags": 4}, - {"matrix": [3, 3], "x": 44, "y": 33, "flags": 4}, - {"matrix": [4, 3], "x": 55, "y": 33, "flags": 4}, - {"matrix": [5, 3], "x": 66, "y": 33, "flags": 4}, - {"matrix": [6, 3], "x": 77, "y": 33, "flags": 4}, - {"matrix": [7, 3], "x": 88, "y": 33, "flags": 4}, - {"matrix": [8, 3], "x": 99, "y": 33, "flags": 4}, - {"matrix": [9, 3], "x": 110, "y": 33, "flags": 4}, - {"matrix": [10, 3], "x": 121, "y": 33, "flags": 4}, - {"matrix": [11, 3], "x": 132, "y": 33, "flags": 4}, - {"matrix": [12, 3], "x": 143, "y": 33, "flags": 4}, - {"matrix": [10, 7], "x": 165, "y": 33, "flags": 4}, - {"matrix": [11, 7], "x": 176, "y": 33, "flags": 4}, - {"matrix": [12, 7], "x": 187, "y": 33, "flags": 4}, - {"matrix": [0, 4], "x": 11, "y": 44, "flags": 4}, - {"matrix": [1, 4], "x": 22, "y": 44, "flags": 4}, - {"matrix": [2, 4], "x": 33, "y": 44, "flags": 4}, - {"matrix": [3, 4], "x": 44, "y": 44, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 44, "flags": 4}, - {"matrix": [5, 4], "x": 66, "y": 44, "flags": 4}, - {"matrix": [6, 4], "x": 77, "y": 44, "flags": 4}, - {"matrix": [7, 4], "x": 88, "y": 44, "flags": 4}, - {"matrix": [8, 4], "x": 99, "y": 44, "flags": 4}, - {"matrix": [9, 4], "x": 110, "y": 44, "flags": 4}, - {"matrix": [10, 4], "x": 121, "y": 44, "flags": 4}, - {"matrix": [11, 4], "x": 132, "y": 44, "flags": 4}, - {"matrix": [13, 4], "x": 143, "y": 44, "flags": 4}, - {"matrix": [1, 7], "x": 154, "y": 44, "flags": 4}, - {"matrix": [6, 7], "x": 165, "y": 44, "flags": 4}, - {"matrix": [7, 7], "x": 176, "y": 44, "flags": 4}, - {"matrix": [8, 7], "x": 187, "y": 44, "flags": 4}, - {"matrix": [9, 7], "x": 198, "y": 44, "flags": 4}, - {"matrix": [0, 5], "x": 11, "y": 55, "flags": 4}, - {"matrix": [1, 5], "x": 22, "y": 55, "flags": 4}, - {"matrix": [2, 5], "x": 33, "y": 55, "flags": 4}, - {"matrix": [6, 5], "x": 77, "y": 55, "flags": 4}, - {"matrix": [9, 5], "x": 110, "y": 55, "flags": 4}, - {"matrix": [10, 5], "x": 121, "y": 55, "flags": 4}, - {"matrix": [12, 5], "x": 132, "y": 55, "flags": 4}, - {"matrix": [0, 7], "x": 143, "y": 55, "flags": 4}, - {"matrix": [2, 7], "x": 154, "y": 55, "flags": 4}, - {"matrix": [3, 7], "x": 165, "y": 55, "flags": 4}, - {"matrix": [4, 7], "x": 176, "y": 55, "flags": 4}, - {"matrix": [5, 7], "x": 187, "y": 55, "flags": 4}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 0, "y": 6, "flags": 2}, - {"x": 0, "y": 12, "flags": 2}, - {"x": 0, "y": 18, "flags": 2}, - {"x": 0, "y": 24, "flags": 2}, - {"x": 0, "y": 30, "flags": 2}, - {"x": 0, "y": 36, "flags": 2}, - {"x": 0, "y": 42, "flags": 2}, - {"x": 0, "y": 48, "flags": 2}, - {"x": 0, "y": 54, "flags": 2}, - {"x": 209, "y": 0, "flags": 2}, - {"x": 209, "y": 6, "flags": 2}, - {"x": 209, "y": 12, "flags": 2}, - {"x": 209, "y": 18, "flags": 2}, - {"x": 209, "y": 24, "flags": 2}, - {"x": 209, "y": 30, "flags": 2}, - {"x": 209, "y": 36, "flags": 2}, - {"x": 209, "y": 42, "flags": 2}, - {"x": 209, "y": 48, "flags": 2}, - {"x": 209, "y": 54, "flags": 2} - ] - }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/gmmk/numpad/keyboard.json b/keyboards/gmmk/numpad/keyboard.json index 23dd46ca1a..f5d64bf6cb 100644 --- a/keyboards/gmmk/numpad/keyboard.json +++ b/keyboards/gmmk/numpad/keyboard.json @@ -69,40 +69,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "aw20216s", - "layout": [ - {"matrix": [0, 0], "x": 45, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 90, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 134, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 179, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 45, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 90, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 134, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 179, "y": 24, "flags": 4}, - {"matrix": [2, 0], "x": 45, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 90, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 134, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 90, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 134, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 179, "y": 56, "flags": 4}, - {"matrix": [4, 0], "x": 67, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 134, "y": 64, "flags": 4}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 0, "y": 11, "flags": 2}, - {"x": 0, "y": 21, "flags": 2}, - {"x": 0, "y": 32, "flags": 2}, - {"x": 0, "y": 43, "flags": 2}, - {"x": 0, "y": 53, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 11, "flags": 2}, - {"x": 224, "y": 21, "flags": 2}, - {"x": 224, "y": 32, "flags": 2}, - {"x": 224, "y": 43, "flags": 2}, - {"x": 224, "y": 53, "flags": 2}, - {"x": 224, "y": 64, "flags": 2} - ] + "driver": "aw20216s" }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", diff --git a/keyboards/gmmk/numpad/keymaps/default/keymap.c b/keyboards/gmmk/numpad/keymaps/default/keymap.c index 380fc373c0..b7f9ff46b3 100644 --- a/keyboards/gmmk/numpad/keymaps/default/keymap.c +++ b/keyboards/gmmk/numpad/keymaps/default/keymap.c @@ -57,4 +57,4 @@ void slider(void) { void housekeeping_task_user(void) { slider(); -} +} \ No newline at end of file diff --git a/keyboards/gmmk/numpad/matrix.c b/keyboards/gmmk/numpad/matrix.c index 18a4ee7c46..8d6e641a77 100644 --- a/keyboards/gmmk/numpad/matrix.c +++ b/keyboards/gmmk/numpad/matrix.c @@ -1,6 +1,9 @@ // Copyright 2023 Cameron Varley (@RustedAperture) // SPDX-License-Identifier: GPL-2.0-or-later +/* + * scan matrix + */ #include "matrix.h" #include #include "atomic_util.h" @@ -8,8 +11,13 @@ #include "print.h" #include "debug.h" +/* matrix state(1:on, 0:off) */ +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values + static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +#define MATRIX_ROW_SHIFTER ((matrix_row_t)1) static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { diff --git a/keyboards/gmmk/numpad/mcuconf.h b/keyboards/gmmk/numpad/mcuconf.h index cf2de01e8a..a07efdbffb 100644 --- a/keyboards/gmmk/numpad/mcuconf.h +++ b/keyboards/gmmk/numpad/mcuconf.h @@ -23,4 +23,4 @@ #define WB32_SPI_USE_QSPI TRUE // #undef WB32_ADC_USE_ADC1 -#define WB32_ADC_USE_ADC1 TRUE +#define WB32_ADC_USE_ADC1 TRUE \ No newline at end of file diff --git a/keyboards/gmmk/numpad/numpad.c b/keyboards/gmmk/numpad/numpad.c index fa8a28bf8b..87446d8f49 100644 --- a/keyboards/gmmk/numpad/numpad.c +++ b/keyboards/gmmk/numpad/numpad.c @@ -59,6 +59,54 @@ const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {0, SW7_CS10, SW7_CS11, SW7_CS12 }, // 30 LED33 }; +led_config_t g_led_config = {{ + { 0, 1, 2, 3 }, + { 4, 5, 6, 7 }, + { 8, 9, 10, NO_LED}, + { 11, 12, 13, 14 }, + { 15, NO_LED, NO_LED, 16 } +}, { + {45, 0 }, // 0 NUM + {90, 0 }, // 1 / + {134, 0 }, // 2 * + {179, 0 }, // 3 - + {45, 16 }, // 4 7 + {90, 16 }, // 5 8 + {134, 16 }, // 6 9 + {179, 24 }, // 7 + + {45, 32 }, // 8 4 + {90, 32 }, // 9 5 + {134, 32 }, // 10 6 + {45, 48 }, // 11 1 + {90, 48 }, // 12 2 + {134, 48 }, // 13 3 + {179, 56 }, // 14 ENTER + {67, 64 }, // 15 0 + {134, 64 }, // 16 . + {0, 0 }, // 17 LED18 + {0, 11 }, // 18 LED19 + {0, 21 }, // 19 LED20 + {0, 32 }, // 20 LED21 + {0, 43 }, // 21 LED22 + {0, 53 }, // 22 LED23 + {0, 64 }, // 23 LED24 + {224, 0 }, // 24 LED27 + {224, 11 }, // 25 LED28 + {224, 21 }, // 26 LED29 + {224, 32 }, // 27 LED30 + {224, 43 }, // 28 LED31 + {224, 53 }, // 29 LED32 + {224, 64 } // 30 LED33 +}, { + 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 +} }; + # ifdef AW20216S_PW_EN_PIN void keyboard_pre_init_kb(void) { diff --git a/keyboards/gmmk/numpad/post_config.h b/keyboards/gmmk/numpad/post_config.h index b66c32f50b..6ee57f4439 100644 --- a/keyboards/gmmk/numpad/post_config.h +++ b/keyboards/gmmk/numpad/post_config.h @@ -18,4 +18,4 @@ #ifndef TAP_CODE_DELAY # define TAP_CODE_DELAY 10 -#endif +#endif \ No newline at end of file diff --git a/keyboards/gmmk/numpad/readme.md b/keyboards/gmmk/numpad/readme.md index 6246e63076..d40b2b8c58 100644 --- a/keyboards/gmmk/numpad/readme.md +++ b/keyboards/gmmk/numpad/readme.md @@ -37,4 +37,4 @@ The Button is set to KC_CALC by default and is located at 2,3 on the matrix ## Broken -* Bluetooth functionality +* Bluetooth functionality \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/ansi/ansi.c b/keyboards/gmmk/pro/rev1/ansi/ansi.c index 05365ee9f9..77e0a8c1a1 100644 --- a/keyboards/gmmk/pro/rev1/ansi/ansi.c +++ b/keyboards/gmmk/pro/rev1/ansi/ansi.c @@ -18,6 +18,124 @@ #ifdef RGB_MATRIX_ENABLE // clang-format off +led_config_t g_led_config = {{ + { 4, NO_LED, NO_LED, 95, 65, 79, 5, 28 }, + { 8, 2, 9, 0, 10, 75, 1, 7 }, + { 14, 3, 15, NO_LED, 16, 86, 6, 13 }, + { 20, 18, 21, 23, 22, 94, 12, 19 }, + { 25, 30, 26, 31, 27, 32, 29, 24 }, + { 41, 36, 42, 37, 43, 38, 35, 40 }, + { 46, 89, 47, 34, 48, 72, 78, 45 }, + { 52, 39, 53, 97, 54, 82, 44, 51 }, + { 58, 63, 59, 64, NO_LED, 60, 62, 57 }, + { 11, 90, 55, 17, 33, 49, NO_LED, 69 }, + { NO_LED, 85, 93, 61, 96, 66, 50, 56 } +}, { + {0, 0}, // 0, ESC, k13 + {0, 15}, // 1, ~, k16 + {4, 26}, // 2, Tab, k11 + {5, 38}, // 3, Caps, k21 + {9, 49}, // 4, Sh_L, k00 + {2, 61}, // 5, Ct_L, k06 + {18, 0}, // 6, F1, k26 + {14, 15}, // 7, 1, k17 + {22, 26}, // 8, Q, k10 + {25, 38}, // 9, A, k12 + {33, 49}, // 10, Z, k14 + {20, 61}, // 11, Win_L, k90 + {33, 0}, // 12, F2, k36 + {29, 15}, // 13, 2, k27 + {36, 26}, // 14, W, k20 + {40, 38}, // 15, S, k22 + {47, 49}, // 16, X, k24 + {38, 61}, // 17, Alt_L, k93 + {47, 0}, // 18, F3, k31 + {43, 15}, // 19, 3, k37 + {51, 26}, // 20, E, k30 + {54, 38}, // 21, D, k32 + {61, 49}, // 22, C, k34 + {61, 0}, // 23, F4, k33 + {58, 15}, // 24, 4, k47 + {65, 26}, // 25, R, k40 + {69, 38}, // 26, F, k42 + {76, 49}, // 27, V, k44 + {79, 0}, // 28, F5, k07 + {72, 15}, // 29, 5, k46 + {79, 26}, // 30, T, k41 + {83, 38}, // 31, G, k43 + {90, 49}, // 32, B, k45 + {92, 61}, // 33, SPACE, k94 + {94, 0}, // 34, F6, k63 + {87, 15}, // 35, 6, k56 + {94, 26}, // 36, Y, k51 + {98, 38}, // 37, H, k53 + {105, 49}, // 38, N, k55 + {108, 0}, // 39, F7, k71 + {101, 15}, // 40, 7, k57 + {108, 26}, // 41, U, k50 + {112, 38}, // 42, J, k52 + {119, 49}, // 43, M, k54 + {123, 0}, // 44, F8, k76 + {116, 15}, // 45, 8, k67 + {123, 26}, // 46, I, k60 + {126, 38}, // 47, K, k62 + {134, 49}, // 48, ,, k64 + {145, 61}, // 49, Alt_R, k95 + {141, 0}, // 50, F9, ka6 + {130, 15}, // 51, 9, k77 + {137, 26}, // 52, O, k70 + {141, 38}, // 53, L, k72 + {148, 49}, // 54, ., k74 + {159, 61}, // 55, FN, k92 + {155, 0}, // 56, F10, ka7 + {145, 15}, // 57, 0, k87 + {152, 26}, // 58, P, k80 + {155, 38}, // 59, ;, k82 + {163, 49}, // 60, ?, k85 + {170, 0}, // 61, F11, ka3 + {159, 15}, // 62, -, k86 + {166, 26}, // 63, [, k81 + {170, 38}, // 64, ", k83 + {173, 61}, // 65, Ct_R, k04 + {184, 0}, // 66, F12, ka5 + {0, 8}, // 67, LED, l01 + {224, 8}, // 68, LED, l11 + {202, 0}, // 69, Prt, k97 + {0, 15}, // 70, LED, l02 + {224, 15}, // 71, LED, l12 + {224, 15}, // 72, Del, k65 + {0, 21}, // 73, LED, l03 + {224, 21}, // 74, LED, l13 + {224, 26}, // 75, PgUp, k15 + {0, 28}, // 76, LED, l04 + {224, 28}, // 77, LED, l14 + {173, 15}, // 78, =, k66 + {220, 64}, // 79, Right, k05 + {0, 35}, // 80, LED, l05 + {224, 35}, // 81, LED, l15 + {224, 49}, // 82, End, k75 + {0, 42}, // 83, LED, l06 + {224, 42}, // 84, LED, l16 + {195, 15}, // 85, BSpc, ka1 + {224, 38}, // 86, PgDn, k25 + {0, 48}, // 87, LED, l07 + {224, 48}, // 88, LED, l17 + {181, 26}, // 89, ], k61 + {182, 49}, // 90, Sh_R, k91 + {0, 55}, // 91, LED, l08 + {224, 55}, // 92, LED, l18 + {199, 26}, // 93, \, ka2 + {206, 52}, // 94, Up, k35 + {191, 64}, // 95, Left, k03 + {193, 38}, // 96, Enter, ka4 + {206, 64} // 97, Down, k73 +}, { + 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, 2, 2, 4, 2, 2, 4, 2, 2, + 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 +}}; + const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 0, ESC, k13 {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 1, ~, k16 diff --git a/keyboards/gmmk/pro/rev1/ansi/keyboard.json b/keyboards/gmmk/pro/rev1/ansi/keyboard.json index e7bf3d6a59..fbb9107d16 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keyboard.json +++ b/keyboards/gmmk/pro/rev1/ansi/keyboard.json @@ -34,108 +34,6 @@ }, "processor": "STM32F303", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [1, 3], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 6], "x": 0, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 4, "y": 26, "flags": 4}, - {"matrix": [2, 1], "x": 5, "y": 38, "flags": 4}, - {"matrix": [0, 0], "x": 9, "y": 49, "flags": 4}, - {"matrix": [0, 6], "x": 2, "y": 61, "flags": 4}, - {"matrix": [2, 6], "x": 18, "y": 0, "flags": 4}, - {"matrix": [1, 7], "x": 14, "y": 15, "flags": 4}, - {"matrix": [1, 0], "x": 22, "y": 26, "flags": 4}, - {"matrix": [1, 2], "x": 25, "y": 38, "flags": 4}, - {"matrix": [1, 4], "x": 33, "y": 49, "flags": 4}, - {"matrix": [9, 0], "x": 20, "y": 61, "flags": 4}, - {"matrix": [3, 6], "x": 33, "y": 0, "flags": 4}, - {"matrix": [2, 7], "x": 29, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 36, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 38, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 49, "flags": 4}, - {"matrix": [9, 3], "x": 38, "y": 61, "flags": 4}, - {"matrix": [3, 1], "x": 47, "y": 0, "flags": 4}, - {"matrix": [3, 7], "x": 43, "y": 15, "flags": 4}, - {"matrix": [3, 0], "x": 51, "y": 26, "flags": 4}, - {"matrix": [3, 2], "x": 54, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 61, "y": 49, "flags": 4}, - {"matrix": [3, 3], "x": 61, "y": 0, "flags": 4}, - {"matrix": [4, 7], "x": 58, "y": 15, "flags": 4}, - {"matrix": [4, 0], "x": 65, "y": 26, "flags": 4}, - {"matrix": [4, 2], "x": 69, "y": 38, "flags": 4}, - {"matrix": [4, 4], "x": 76, "y": 49, "flags": 4}, - {"matrix": [0, 7], "x": 79, "y": 0, "flags": 4}, - {"matrix": [4, 6], "x": 72, "y": 15, "flags": 4}, - {"matrix": [4, 1], "x": 79, "y": 26, "flags": 4}, - {"matrix": [4, 3], "x": 83, "y": 38, "flags": 4}, - {"matrix": [4, 5], "x": 90, "y": 49, "flags": 4}, - {"matrix": [9, 4], "x": 92, "y": 61, "flags": 4}, - {"matrix": [6, 3], "x": 94, "y": 0, "flags": 4}, - {"matrix": [5, 6], "x": 87, "y": 15, "flags": 4}, - {"matrix": [5, 1], "x": 94, "y": 26, "flags": 4}, - {"matrix": [5, 3], "x": 98, "y": 38, "flags": 4}, - {"matrix": [5, 5], "x": 105, "y": 49, "flags": 4}, - {"matrix": [7, 1], "x": 108, "y": 0, "flags": 4}, - {"matrix": [5, 7], "x": 101, "y": 15, "flags": 4}, - {"matrix": [5, 0], "x": 108, "y": 26, "flags": 4}, - {"matrix": [5, 2], "x": 112, "y": 38, "flags": 4}, - {"matrix": [5, 4], "x": 119, "y": 49, "flags": 4}, - {"matrix": [7, 6], "x": 123, "y": 0, "flags": 4}, - {"matrix": [6, 7], "x": 116, "y": 15, "flags": 4}, - {"matrix": [6, 0], "x": 123, "y": 26, "flags": 4}, - {"matrix": [6, 2], "x": 126, "y": 38, "flags": 4}, - {"matrix": [6, 4], "x": 134, "y": 49, "flags": 4}, - {"matrix": [9, 5], "x": 145, "y": 61, "flags": 4}, - {"matrix": [10, 6], "x": 141, "y": 0, "flags": 4}, - {"matrix": [7, 7], "x": 130, "y": 15, "flags": 4}, - {"matrix": [7, 0], "x": 137, "y": 26, "flags": 4}, - {"matrix": [7, 2], "x": 141, "y": 38, "flags": 4}, - {"matrix": [7, 4], "x": 148, "y": 49, "flags": 4}, - {"matrix": [9, 2], "x": 159, "y": 61, "flags": 4}, - {"matrix": [10, 7], "x": 155, "y": 0, "flags": 4}, - {"matrix": [8, 7], "x": 145, "y": 15, "flags": 4}, - {"matrix": [8, 0], "x": 152, "y": 26, "flags": 4}, - {"matrix": [8, 2], "x": 155, "y": 38, "flags": 4}, - {"matrix": [8, 5], "x": 163, "y": 49, "flags": 4}, - {"matrix": [10, 3], "x": 170, "y": 0, "flags": 4}, - {"matrix": [8, 6], "x": 159, "y": 15, "flags": 4}, - {"matrix": [8, 1], "x": 166, "y": 26, "flags": 4}, - {"matrix": [8, 3], "x": 170, "y": 38, "flags": 4}, - {"matrix": [0, 4], "x": 173, "y": 61, "flags": 4}, - {"matrix": [10, 5], "x": 184, "y": 0, "flags": 4}, - {"x": 0, "y": 8, "flags": 2}, - {"x": 224, "y": 8, "flags": 2}, - {"matrix": [9, 7], "x": 202, "y": 0, "flags": 4}, - {"x": 0, "y": 15, "flags": 2}, - {"x": 224, "y": 15, "flags": 2}, - {"matrix": [6, 5], "x": 224, "y": 15, "flags": 4}, - {"x": 0, "y": 21, "flags": 2}, - {"x": 224, "y": 21, "flags": 2}, - {"matrix": [1, 5], "x": 224, "y": 26, "flags": 4}, - {"x": 0, "y": 28, "flags": 2}, - {"x": 224, "y": 28, "flags": 2}, - {"matrix": [6, 6], "x": 173, "y": 15, "flags": 4}, - {"matrix": [0, 5], "x": 220, "y": 64, "flags": 4}, - {"x": 0, "y": 35, "flags": 2}, - {"x": 224, "y": 35, "flags": 2}, - {"matrix": [7, 5], "x": 224, "y": 49, "flags": 4}, - {"x": 0, "y": 42, "flags": 2}, - {"x": 224, "y": 42, "flags": 2}, - {"matrix": [10, 1], "x": 195, "y": 15, "flags": 4}, - {"matrix": [2, 5], "x": 224, "y": 38, "flags": 4}, - {"x": 0, "y": 48, "flags": 2}, - {"x": 224, "y": 48, "flags": 2}, - {"matrix": [6, 1], "x": 181, "y": 26, "flags": 4}, - {"matrix": [9, 1], "x": 182, "y": 49, "flags": 4}, - {"x": 0, "y": 55, "flags": 2}, - {"x": 224, "y": 55, "flags": 2}, - {"matrix": [10, 2], "x": 199, "y": 26, "flags": 4}, - {"matrix": [3, 5], "x": 206, "y": 52, "flags": 4}, - {"matrix": [0, 3], "x": 191, "y": 64, "flags": 4}, - {"matrix": [10, 4], "x": 193, "y": 38, "flags": 4}, - {"matrix": [7, 3], "x": 206, "y": 64, "flags": 4} - ] - }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/default/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/default/rules.mk +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/iso/iso.c b/keyboards/gmmk/pro/rev1/iso/iso.c index 1ba3ddc404..932c6a1f49 100644 --- a/keyboards/gmmk/pro/rev1/iso/iso.c +++ b/keyboards/gmmk/pro/rev1/iso/iso.c @@ -18,6 +18,125 @@ #ifdef RGB_MATRIX_ENABLE // clang-format off +led_config_t g_led_config = {{ + { 4, NO_LED, NO_LED, 96, 65, 80, 5, 28 }, + { 8, 2, 9, 0, 10, 76, 1, 7 }, + { 14, 3, 15, 67, 16, 87, 6, 13 }, + { 20, 18, 21, 23, 22, 94, 12, 19 }, + { 25, 30, 26, 31, 27, 32, 29, 24 }, + { 41, 36, 42, 37, 43, 38, 35, 40 }, + { 46, 90, 47, 34, 48, 73, 79, 45 }, + { 52, 39, 53, 98, 54, 83, 44, 51 }, + { 58, 63, 59, 64, 95, 60, 62, 57 }, + { 11, 91, 55, 17, 33, 49, NO_LED, 70 }, + { NO_LED, 86, NO_LED, 61, 97, 66, 50, 56 } +}, { + {0, 0}, // 0, ESC, k13 + {0, 15}, // 1, `, k16 + {4, 26}, // 2, Tab, k11 + {5, 38}, // 3, Caps, k21 + {2, 49}, // 4, Sh_L, k00 + {2, 61}, // 5, Ct_L, k06 + {18, 0}, // 6, F1, k26 + {14, 15}, // 7, 1, k17 + {22, 26}, // 8, Q, k10 + {25, 38}, // 9, A, k12 + {33, 49}, // 10, Z, k14 + {20, 61}, // 11, Win_L, k90 + {33, 0}, // 12, F2, k36 + {29, 15}, // 13, 2, k27 + {36, 26}, // 14, W, k20 + {40, 38}, // 15, S, k22 + {47, 49}, // 16, X, k24 + {38, 61}, // 17, Alt_L, k93 + {47, 0}, // 18, F3, k31 + {43, 15}, // 19, 3, k37 + {51, 26}, // 20, E, k30 + {54, 38}, // 21, D, k32 + {61, 49}, // 22, C, k34 + {61, 0}, // 23, F4, k33 + {58, 15}, // 24, 4, k47 + {65, 26}, // 25, R, k40 + {69, 38}, // 26, F, k42 + {76, 49}, // 27, V, k44 + {79, 0}, // 28, F5, k07 + {72, 15}, // 29, 5, k46 + {79, 26}, // 30, T, k41 + {83, 38}, // 31, G, k43 + {90, 49}, // 32, B, k45 + {92, 61}, // 33, SPACE, k94 + {94, 0}, // 34, F6, k63 + {87, 15}, // 35, 6, k56 + {94, 26}, // 36, Y, k51 + {98, 38}, // 37, H, k53 + {105, 49}, // 38, N, k55 + {108, 0}, // 39, F7, k71 + {101, 15}, // 40, 7, k57 + {108, 26}, // 41, U, k50 + {112, 38}, // 42, J, k52 + {119, 49}, // 43, M, k54 + {123, 0}, // 44, F8, k76 + {116, 15}, // 45, 8, k67 + {123, 26}, // 46, I, k60 + {126, 38}, // 47, K, k62 + {134, 49}, // 48, ,, k64 + {145, 61}, // 49, Alt_R, k95 + {141, 0}, // 50, F9, ka6 + {130, 15}, // 51, 9, k77 + {137, 26}, // 52, O, k70 + {141, 38}, // 53, L, k72 + {148, 49}, // 54, ., k74 + {159, 61}, // 55, FN, k92 + {155, 0}, // 56, F10, ka7 + {145, 15}, // 57, 0, k87 + {152, 26}, // 58, P, k80 + {155, 38}, // 59, ;, k82 + {163, 49}, // 60, /, k85 + {170, 0}, // 61, F11, ka3 + {159, 15}, // 62, -, k86 + {166, 26}, // 63, [, k81 + {170, 38}, // 64, ", k83 + {173, 61}, // 65, Ct_R, k04 + {184, 0}, // 66, F12, ka5 + {18, 49}, // 67, \, k23 + {0, 8}, // 68, LED, l01 + {224, 8}, // 69, LED, l11 + {202, 0}, // 70, Prt, k97 + {0, 15}, // 71, LED, l02 + {224, 15}, // 72, LED, l12 + {224, 15}, // 73, Del, k65 + {0, 21}, // 74, LED, l03 + {224, 21}, // 75, LED, l13 + {224, 26}, // 76, PgUp, k15 + {0, 28}, // 77, LED, l04 + {224, 28}, // 78, LED, l14 + {173, 15}, // 79, =, k66 + {220, 64}, // 80, Right, k05 + {0, 35}, // 81, LED, l05 + {224, 35}, // 82, LED, l15 + {224, 49}, // 83, End, k75 + {0, 42}, // 84, LED, l06 + {224, 42}, // 85, LED, l16 + {195, 15}, // 86, BSpc, ka1 + {224, 38}, // 87, PgDn, k25 + {0, 48}, // 88, LED, l07 + {224, 48}, // 89, LED, l17 + {181, 26}, // 90, ], k61 + {182, 49}, // 91, Sh_R, k91 + {0, 55}, // 92, LED, l08 + {224, 55}, // 93, LED, l18 + {206, 52}, // 94, Up, k35 + {184, 38}, // 95, #, k84 + {191, 64}, // 96, Left, k03 + {201, 26}, // 97, Enter, ka4 + {206, 64}, // 98, Down, k73 +}, { + 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, 2, 2, 4, 2, 2, 4, 2, + 2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 +}}; + const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 0, ESC, k13 {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 1, ~, k16 diff --git a/keyboards/gmmk/pro/rev1/iso/keyboard.json b/keyboards/gmmk/pro/rev1/iso/keyboard.json index a30e7cbb6d..7506f8952d 100644 --- a/keyboards/gmmk/pro/rev1/iso/keyboard.json +++ b/keyboards/gmmk/pro/rev1/iso/keyboard.json @@ -34,109 +34,6 @@ }, "processor": "STM32F303", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [1, 3], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 6], "x": 0, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 4, "y": 26, "flags": 4}, - {"matrix": [2, 1], "x": 5, "y": 38, "flags": 4}, - {"matrix": [0, 0], "x": 2, "y": 49, "flags": 4}, - {"matrix": [0, 6], "x": 2, "y": 61, "flags": 4}, - {"matrix": [2, 6], "x": 18, "y": 0, "flags": 4}, - {"matrix": [1, 7], "x": 14, "y": 15, "flags": 4}, - {"matrix": [1, 0], "x": 22, "y": 26, "flags": 4}, - {"matrix": [1, 2], "x": 25, "y": 38, "flags": 4}, - {"matrix": [1, 4], "x": 33, "y": 49, "flags": 4}, - {"matrix": [9, 0], "x": 20, "y": 61, "flags": 4}, - {"matrix": [3, 6], "x": 33, "y": 0, "flags": 4}, - {"matrix": [2, 7], "x": 29, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 36, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 38, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 49, "flags": 4}, - {"matrix": [9, 3], "x": 38, "y": 61, "flags": 4}, - {"matrix": [3, 1], "x": 47, "y": 0, "flags": 4}, - {"matrix": [3, 7], "x": 43, "y": 15, "flags": 4}, - {"matrix": [3, 0], "x": 51, "y": 26, "flags": 4}, - {"matrix": [3, 2], "x": 54, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 61, "y": 49, "flags": 4}, - {"matrix": [3, 3], "x": 61, "y": 0, "flags": 4}, - {"matrix": [4, 7], "x": 58, "y": 15, "flags": 4}, - {"matrix": [4, 0], "x": 65, "y": 26, "flags": 4}, - {"matrix": [4, 2], "x": 69, "y": 38, "flags": 4}, - {"matrix": [4, 4], "x": 76, "y": 49, "flags": 4}, - {"matrix": [0, 7], "x": 79, "y": 0, "flags": 4}, - {"matrix": [4, 6], "x": 72, "y": 15, "flags": 4}, - {"matrix": [4, 1], "x": 79, "y": 26, "flags": 4}, - {"matrix": [4, 3], "x": 83, "y": 38, "flags": 4}, - {"matrix": [4, 5], "x": 90, "y": 49, "flags": 4}, - {"matrix": [9, 4], "x": 92, "y": 61, "flags": 4}, - {"matrix": [6, 3], "x": 94, "y": 0, "flags": 4}, - {"matrix": [5, 6], "x": 87, "y": 15, "flags": 4}, - {"matrix": [5, 1], "x": 94, "y": 26, "flags": 4}, - {"matrix": [5, 3], "x": 98, "y": 38, "flags": 4}, - {"matrix": [5, 5], "x": 105, "y": 49, "flags": 4}, - {"matrix": [7, 1], "x": 108, "y": 0, "flags": 4}, - {"matrix": [5, 7], "x": 101, "y": 15, "flags": 4}, - {"matrix": [5, 0], "x": 108, "y": 26, "flags": 4}, - {"matrix": [5, 2], "x": 112, "y": 38, "flags": 4}, - {"matrix": [5, 4], "x": 119, "y": 49, "flags": 4}, - {"matrix": [7, 6], "x": 123, "y": 0, "flags": 4}, - {"matrix": [6, 7], "x": 116, "y": 15, "flags": 4}, - {"matrix": [6, 0], "x": 123, "y": 26, "flags": 4}, - {"matrix": [6, 2], "x": 126, "y": 38, "flags": 4}, - {"matrix": [6, 4], "x": 134, "y": 49, "flags": 4}, - {"matrix": [9, 5], "x": 145, "y": 61, "flags": 4}, - {"matrix": [10, 6], "x": 141, "y": 0, "flags": 4}, - {"matrix": [7, 7], "x": 130, "y": 15, "flags": 4}, - {"matrix": [7, 0], "x": 137, "y": 26, "flags": 4}, - {"matrix": [7, 2], "x": 141, "y": 38, "flags": 4}, - {"matrix": [7, 4], "x": 148, "y": 49, "flags": 4}, - {"matrix": [9, 2], "x": 159, "y": 61, "flags": 4}, - {"matrix": [10, 7], "x": 155, "y": 0, "flags": 4}, - {"matrix": [8, 7], "x": 145, "y": 15, "flags": 4}, - {"matrix": [8, 0], "x": 152, "y": 26, "flags": 4}, - {"matrix": [8, 2], "x": 155, "y": 38, "flags": 4}, - {"matrix": [8, 5], "x": 163, "y": 49, "flags": 4}, - {"matrix": [10, 3], "x": 170, "y": 0, "flags": 4}, - {"matrix": [8, 6], "x": 159, "y": 15, "flags": 4}, - {"matrix": [8, 1], "x": 166, "y": 26, "flags": 4}, - {"matrix": [8, 3], "x": 170, "y": 38, "flags": 4}, - {"matrix": [0, 4], "x": 173, "y": 61, "flags": 4}, - {"matrix": [10, 5], "x": 184, "y": 0, "flags": 4}, - {"matrix": [2, 3], "x": 18, "y": 49, "flags": 4}, - {"x": 0, "y": 8, "flags": 2}, - {"x": 224, "y": 8, "flags": 2}, - {"matrix": [9, 7], "x": 202, "y": 0, "flags": 4}, - {"x": 0, "y": 15, "flags": 2}, - {"x": 224, "y": 15, "flags": 2}, - {"matrix": [6, 5], "x": 224, "y": 15, "flags": 4}, - {"x": 0, "y": 21, "flags": 2}, - {"x": 224, "y": 21, "flags": 2}, - {"matrix": [1, 5], "x": 224, "y": 26, "flags": 4}, - {"x": 0, "y": 28, "flags": 2}, - {"x": 224, "y": 28, "flags": 2}, - {"matrix": [6, 6], "x": 173, "y": 15, "flags": 4}, - {"matrix": [0, 5], "x": 220, "y": 64, "flags": 4}, - {"x": 0, "y": 35, "flags": 2}, - {"x": 224, "y": 35, "flags": 2}, - {"matrix": [7, 5], "x": 224, "y": 49, "flags": 4}, - {"x": 0, "y": 42, "flags": 2}, - {"x": 224, "y": 42, "flags": 2}, - {"matrix": [10, 1], "x": 195, "y": 15, "flags": 4}, - {"matrix": [2, 5], "x": 224, "y": 38, "flags": 4}, - {"x": 0, "y": 48, "flags": 2}, - {"x": 224, "y": 48, "flags": 2}, - {"matrix": [6, 1], "x": 181, "y": 26, "flags": 4}, - {"matrix": [9, 1], "x": 182, "y": 49, "flags": 4}, - {"x": 0, "y": 55, "flags": 2}, - {"x": 224, "y": 55, "flags": 2}, - {"matrix": [3, 5], "x": 206, "y": 52, "flags": 4}, - {"matrix": [8, 4], "x": 184, "y": 38, "flags": 4}, - {"matrix": [0, 3], "x": 191, "y": 64, "flags": 4}, - {"matrix": [10, 4], "x": 201, "y": 26, "flags": 4}, - {"matrix": [7, 3], "x": 206, "y": 64, "flags": 4} - ] - }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/default/rules.mk b/keyboards/gmmk/pro/rev1/iso/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/default/rules.mk +++ b/keyboards/gmmk/pro/rev1/iso/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev2/ansi/ansi.c b/keyboards/gmmk/pro/rev2/ansi/ansi.c index 8b7695095f..a3f957ef0a 100644 --- a/keyboards/gmmk/pro/rev2/ansi/ansi.c +++ b/keyboards/gmmk/pro/rev2/ansi/ansi.c @@ -18,6 +18,124 @@ #ifdef RGB_MATRIX_ENABLE // clang-format off +led_config_t g_led_config = {{ + { 4, NO_LED, NO_LED, 95, 65, 79, 5, 28 }, + { 8, 2, 9, 0, 10, 75, 1, 7 }, + { 14, 3, 15, NO_LED, 16, 86, 6, 13 }, + { 20, 18, 21, 23, 22, 94, 12, 19 }, + { 25, 30, 26, 31, 27, 32, 29, 24 }, + { 41, 36, 42, 37, 43, 38, 35, 40 }, + { 46, 89, 47, 34, 48, 72, 78, 45 }, + { 52, 39, 53, 97, 54, 82, 44, 51 }, + { 58, 63, 59, 64, NO_LED, 60, 62, 57 }, + { 11, 90, 55, 17, 33, 49, NO_LED, 69 }, + { NO_LED, 85, 93, 61, 96, 66, 50, 56 } +}, { + {0, 0}, // 0, ESC, k13 + {0, 15}, // 1, ~, k16 + {4, 26}, // 2, Tab, k11 + {5, 38}, // 3, Caps, k21 + {9, 49}, // 4, Sh_L, k00 + {2, 61}, // 5, Ct_L, k06 + {18, 0}, // 6, F1, k26 + {14, 15}, // 7, 1, k17 + {22, 26}, // 8, Q, k10 + {25, 38}, // 9, A, k12 + {33, 49}, // 10, Z, k14 + {20, 61}, // 11, Win_L, k90 + {33, 0}, // 12, F2, k36 + {29, 15}, // 13, 2, k27 + {36, 26}, // 14, W, k20 + {40, 38}, // 15, S, k22 + {47, 49}, // 16, X, k24 + {38, 61}, // 17, Alt_L, k93 + {47, 0}, // 18, F3, k31 + {43, 15}, // 19, 3, k37 + {51, 26}, // 20, E, k30 + {54, 38}, // 21, D, k32 + {61, 49}, // 22, C, k34 + {61, 0}, // 23, F4, k33 + {58, 15}, // 24, 4, k47 + {65, 26}, // 25, R, k40 + {69, 38}, // 26, F, k42 + {76, 49}, // 27, V, k44 + {79, 0}, // 28, F5, k07 + {72, 15}, // 29, 5, k46 + {79, 26}, // 30, T, k41 + {83, 38}, // 31, G, k43 + {90, 49}, // 32, B, k45 + {92, 61}, // 33, SPACE, k94 + {94, 0}, // 34, F6, k63 + {87, 15}, // 35, 6, k56 + {94, 26}, // 36, Y, k51 + {98, 38}, // 37, H, k53 + {105, 49}, // 38, N, k55 + {108, 0}, // 39, F7, k71 + {101, 15}, // 40, 7, k57 + {108, 26}, // 41, U, k50 + {112, 38}, // 42, J, k52 + {119, 49}, // 43, M, k54 + {123, 0}, // 44, F8, k76 + {116, 15}, // 45, 8, k67 + {123, 26}, // 46, I, k60 + {126, 38}, // 47, K, k62 + {134, 49}, // 48, ,, k64 + {145, 61}, // 49, Alt_R, k95 + {141, 0}, // 50, F9, ka6 + {130, 15}, // 51, 9, k77 + {137, 26}, // 52, O, k70 + {141, 38}, // 53, L, k72 + {148, 49}, // 54, ., k74 + {159, 61}, // 55, FN, k92 + {155, 0}, // 56, F10, ka7 + {145, 15}, // 57, 0, k87 + {152, 26}, // 58, P, k80 + {155, 38}, // 59, ;, k82 + {163, 49}, // 60, ?, k85 + {170, 0}, // 61, F11, ka3 + {159, 15}, // 62, -, k86 + {166, 26}, // 63, [, k81 + {170, 38}, // 64, ", k83 + {173, 61}, // 65, Ct_R, k04 + {184, 0}, // 66, F12, ka5 + {0, 8}, // 67, LED, l01 + {224, 8}, // 68, LED, l11 + {202, 0}, // 69, Prt, k97 + {0, 15}, // 70, LED, l02 + {224, 15}, // 71, LED, l12 + {224, 15}, // 72, Del, k65 + {0, 21}, // 73, LED, l03 + {224, 21}, // 74, LED, l13 + {224, 26}, // 75, PgUp, k15 + {0, 28}, // 76, LED, l04 + {224, 28}, // 77, LED, l14 + {173, 15}, // 78, =, k66 + {220, 64}, // 79, Right, k05 + {0, 35}, // 80, LED, l05 + {224, 35}, // 81, LED, l15 + {224, 49}, // 82, End, k75 + {0, 42}, // 83, LED, l06 + {224, 42}, // 84, LED, l16 + {195, 15}, // 85, BSpc, ka1 + {224, 38}, // 86, PgDn, k25 + {0, 48}, // 87, LED, l07 + {224, 48}, // 88, LED, l17 + {181, 26}, // 89, ], k61 + {182, 49}, // 90, Sh_R, k91 + {0, 55}, // 91, LED, l08 + {224, 55}, // 92, LED, l18 + {199, 26}, // 93, \, ka2 + {206, 52}, // 94, Up, k35 + {191, 64}, // 95, Left, k03 + {193, 38}, // 96, Enter, ka4 + {206, 64} // 97, Down, k73 +}, { + 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, 2, 2, 4, 2, 2, 4, 2, 2, + 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 +}}; + const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 0, ESC, k13 {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 1, ~, k16 diff --git a/keyboards/gmmk/pro/rev2/ansi/keyboard.json b/keyboards/gmmk/pro/rev2/ansi/keyboard.json index f8eb11f10b..4e0fdfccd9 100644 --- a/keyboards/gmmk/pro/rev2/ansi/keyboard.json +++ b/keyboards/gmmk/pro/rev2/ansi/keyboard.json @@ -41,108 +41,6 @@ }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [1, 3], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 6], "x": 0, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 4, "y": 26, "flags": 4}, - {"matrix": [2, 1], "x": 5, "y": 38, "flags": 4}, - {"matrix": [0, 0], "x": 9, "y": 49, "flags": 4}, - {"matrix": [0, 6], "x": 2, "y": 61, "flags": 4}, - {"matrix": [2, 6], "x": 18, "y": 0, "flags": 4}, - {"matrix": [1, 7], "x": 14, "y": 15, "flags": 4}, - {"matrix": [1, 0], "x": 22, "y": 26, "flags": 4}, - {"matrix": [1, 2], "x": 25, "y": 38, "flags": 4}, - {"matrix": [1, 4], "x": 33, "y": 49, "flags": 4}, - {"matrix": [9, 0], "x": 20, "y": 61, "flags": 4}, - {"matrix": [3, 6], "x": 33, "y": 0, "flags": 4}, - {"matrix": [2, 7], "x": 29, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 36, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 38, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 49, "flags": 4}, - {"matrix": [9, 3], "x": 38, "y": 61, "flags": 4}, - {"matrix": [3, 1], "x": 47, "y": 0, "flags": 4}, - {"matrix": [3, 7], "x": 43, "y": 15, "flags": 4}, - {"matrix": [3, 0], "x": 51, "y": 26, "flags": 4}, - {"matrix": [3, 2], "x": 54, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 61, "y": 49, "flags": 4}, - {"matrix": [3, 3], "x": 61, "y": 0, "flags": 4}, - {"matrix": [4, 7], "x": 58, "y": 15, "flags": 4}, - {"matrix": [4, 0], "x": 65, "y": 26, "flags": 4}, - {"matrix": [4, 2], "x": 69, "y": 38, "flags": 4}, - {"matrix": [4, 4], "x": 76, "y": 49, "flags": 4}, - {"matrix": [0, 7], "x": 79, "y": 0, "flags": 4}, - {"matrix": [4, 6], "x": 72, "y": 15, "flags": 4}, - {"matrix": [4, 1], "x": 79, "y": 26, "flags": 4}, - {"matrix": [4, 3], "x": 83, "y": 38, "flags": 4}, - {"matrix": [4, 5], "x": 90, "y": 49, "flags": 4}, - {"matrix": [9, 4], "x": 92, "y": 61, "flags": 4}, - {"matrix": [6, 3], "x": 94, "y": 0, "flags": 4}, - {"matrix": [5, 6], "x": 87, "y": 15, "flags": 4}, - {"matrix": [5, 1], "x": 94, "y": 26, "flags": 4}, - {"matrix": [5, 3], "x": 98, "y": 38, "flags": 4}, - {"matrix": [5, 5], "x": 105, "y": 49, "flags": 4}, - {"matrix": [7, 1], "x": 108, "y": 0, "flags": 4}, - {"matrix": [5, 7], "x": 101, "y": 15, "flags": 4}, - {"matrix": [5, 0], "x": 108, "y": 26, "flags": 4}, - {"matrix": [5, 2], "x": 112, "y": 38, "flags": 4}, - {"matrix": [5, 4], "x": 119, "y": 49, "flags": 4}, - {"matrix": [7, 6], "x": 123, "y": 0, "flags": 4}, - {"matrix": [6, 7], "x": 116, "y": 15, "flags": 4}, - {"matrix": [6, 0], "x": 123, "y": 26, "flags": 4}, - {"matrix": [6, 2], "x": 126, "y": 38, "flags": 4}, - {"matrix": [6, 4], "x": 134, "y": 49, "flags": 4}, - {"matrix": [9, 5], "x": 145, "y": 61, "flags": 4}, - {"matrix": [10, 6], "x": 141, "y": 0, "flags": 4}, - {"matrix": [7, 7], "x": 130, "y": 15, "flags": 4}, - {"matrix": [7, 0], "x": 137, "y": 26, "flags": 4}, - {"matrix": [7, 2], "x": 141, "y": 38, "flags": 4}, - {"matrix": [7, 4], "x": 148, "y": 49, "flags": 4}, - {"matrix": [9, 2], "x": 159, "y": 61, "flags": 4}, - {"matrix": [10, 7], "x": 155, "y": 0, "flags": 4}, - {"matrix": [8, 7], "x": 145, "y": 15, "flags": 4}, - {"matrix": [8, 0], "x": 152, "y": 26, "flags": 4}, - {"matrix": [8, 2], "x": 155, "y": 38, "flags": 4}, - {"matrix": [8, 5], "x": 163, "y": 49, "flags": 4}, - {"matrix": [10, 3], "x": 170, "y": 0, "flags": 4}, - {"matrix": [8, 6], "x": 159, "y": 15, "flags": 4}, - {"matrix": [8, 1], "x": 166, "y": 26, "flags": 4}, - {"matrix": [8, 3], "x": 170, "y": 38, "flags": 4}, - {"matrix": [0, 4], "x": 173, "y": 61, "flags": 4}, - {"matrix": [10, 5], "x": 184, "y": 0, "flags": 4}, - {"x": 0, "y": 8, "flags": 2}, - {"x": 224, "y": 8, "flags": 2}, - {"matrix": [9, 7], "x": 202, "y": 0, "flags": 4}, - {"x": 0, "y": 15, "flags": 2}, - {"x": 224, "y": 15, "flags": 2}, - {"matrix": [6, 5], "x": 224, "y": 15, "flags": 4}, - {"x": 0, "y": 21, "flags": 2}, - {"x": 224, "y": 21, "flags": 2}, - {"matrix": [1, 5], "x": 224, "y": 26, "flags": 4}, - {"x": 0, "y": 28, "flags": 2}, - {"x": 224, "y": 28, "flags": 2}, - {"matrix": [6, 6], "x": 173, "y": 15, "flags": 4}, - {"matrix": [0, 5], "x": 220, "y": 64, "flags": 4}, - {"x": 0, "y": 35, "flags": 2}, - {"x": 224, "y": 35, "flags": 2}, - {"matrix": [7, 5], "x": 224, "y": 49, "flags": 4}, - {"x": 0, "y": 42, "flags": 2}, - {"x": 224, "y": 42, "flags": 2}, - {"matrix": [10, 1], "x": 195, "y": 15, "flags": 4}, - {"matrix": [2, 5], "x": 224, "y": 38, "flags": 4}, - {"x": 0, "y": 48, "flags": 2}, - {"x": 224, "y": 48, "flags": 2}, - {"matrix": [6, 1], "x": 181, "y": 26, "flags": 4}, - {"matrix": [9, 1], "x": 182, "y": 49, "flags": 4}, - {"x": 0, "y": 55, "flags": 2}, - {"x": 224, "y": 55, "flags": 2}, - {"matrix": [10, 2], "x": 199, "y": 26, "flags": 4}, - {"matrix": [3, 5], "x": 206, "y": 52, "flags": 4}, - {"matrix": [0, 3], "x": 191, "y": 64, "flags": 4}, - {"matrix": [10, 4], "x": 193, "y": 38, "flags": 4}, - {"matrix": [7, 3], "x": 206, "y": 64, "flags": 4} - ] - }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c index fc80da5cfc..2863121e7f 100644 --- a/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c +++ b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c @@ -65,4 +65,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [1] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) } }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev2/ansi/keymaps/default/rules.mk b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/gmmk/pro/rev2/ansi/keymaps/default/rules.mk +++ b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev2/iso/iso.c b/keyboards/gmmk/pro/rev2/iso/iso.c index ce211ea47d..7a34f2432f 100644 --- a/keyboards/gmmk/pro/rev2/iso/iso.c +++ b/keyboards/gmmk/pro/rev2/iso/iso.c @@ -18,6 +18,125 @@ #ifdef RGB_MATRIX_ENABLE // clang-format off +led_config_t g_led_config = {{ + { 4, NO_LED, NO_LED, 96, 65, 80, 5, 28 }, + { 8, 2, 9, 0, 10, 76, 1, 7 }, + { 14, 3, 15, 67, 16, 87, 6, 13 }, + { 20, 18, 21, 23, 22, 94, 12, 19 }, + { 25, 30, 26, 31, 27, 32, 29, 24 }, + { 41, 36, 42, 37, 43, 38, 35, 40 }, + { 46, 90, 47, 34, 48, 73, 79, 45 }, + { 52, 39, 53, 98, 54, 83, 44, 51 }, + { 58, 63, 59, 64, 95, 60, 62, 57 }, + { 11, 91, 55, 17, 33, 49, NO_LED, 70 }, + { NO_LED, 86, NO_LED, 61, 97, 66, 50, 56 } +}, { + {0, 0}, // 0, ESC, k13 + {0, 15}, // 1, `, k16 + {4, 26}, // 2, Tab, k11 + {5, 38}, // 3, Caps, k21 + {2, 49}, // 4, Sh_L, k00 + {2, 61}, // 5, Ct_L, k06 + {18, 0}, // 6, F1, k26 + {14, 15}, // 7, 1, k17 + {22, 26}, // 8, Q, k10 + {25, 38}, // 9, A, k12 + {33, 49}, // 10, Z, k14 + {20, 61}, // 11, Win_L, k90 + {33, 0}, // 12, F2, k36 + {29, 15}, // 13, 2, k27 + {36, 26}, // 14, W, k20 + {40, 38}, // 15, S, k22 + {47, 49}, // 16, X, k24 + {38, 61}, // 17, Alt_L, k93 + {47, 0}, // 18, F3, k31 + {43, 15}, // 19, 3, k37 + {51, 26}, // 20, E, k30 + {54, 38}, // 21, D, k32 + {61, 49}, // 22, C, k34 + {61, 0}, // 23, F4, k33 + {58, 15}, // 24, 4, k47 + {65, 26}, // 25, R, k40 + {69, 38}, // 26, F, k42 + {76, 49}, // 27, V, k44 + {79, 0}, // 28, F5, k07 + {72, 15}, // 29, 5, k46 + {79, 26}, // 30, T, k41 + {83, 38}, // 31, G, k43 + {90, 49}, // 32, B, k45 + {92, 61}, // 33, SPACE, k94 + {94, 0}, // 34, F6, k63 + {87, 15}, // 35, 6, k56 + {94, 26}, // 36, Y, k51 + {98, 38}, // 37, H, k53 + {105, 49}, // 38, N, k55 + {108, 0}, // 39, F7, k71 + {101, 15}, // 40, 7, k57 + {108, 26}, // 41, U, k50 + {112, 38}, // 42, J, k52 + {119, 49}, // 43, M, k54 + {123, 0}, // 44, F8, k76 + {116, 15}, // 45, 8, k67 + {123, 26}, // 46, I, k60 + {126, 38}, // 47, K, k62 + {134, 49}, // 48, ,, k64 + {145, 61}, // 49, Alt_R, k95 + {141, 0}, // 50, F9, ka6 + {130, 15}, // 51, 9, k77 + {137, 26}, // 52, O, k70 + {141, 38}, // 53, L, k72 + {148, 49}, // 54, ., k74 + {159, 61}, // 55, FN, k92 + {155, 0}, // 56, F10, ka7 + {145, 15}, // 57, 0, k87 + {152, 26}, // 58, P, k80 + {155, 38}, // 59, ;, k82 + {163, 49}, // 60, /, k85 + {170, 0}, // 61, F11, ka3 + {159, 15}, // 62, -, k86 + {166, 26}, // 63, [, k81 + {170, 38}, // 64, ", k83 + {173, 61}, // 65, Ct_R, k04 + {184, 0}, // 66, F12, ka5 + {18, 49}, // 67, \, k23 + {0, 8}, // 68, LED, l01 + {224, 8}, // 69, LED, l11 + {202, 0}, // 70, Prt, k97 + {0, 15}, // 71, LED, l02 + {224, 15}, // 72, LED, l12 + {224, 15}, // 73, Del, k65 + {0, 21}, // 74, LED, l03 + {224, 21}, // 75, LED, l13 + {224, 26}, // 76, PgUp, k15 + {0, 28}, // 77, LED, l04 + {224, 28}, // 78, LED, l14 + {173, 15}, // 79, =, k66 + {220, 64}, // 80, Right, k05 + {0, 35}, // 81, LED, l05 + {224, 35}, // 82, LED, l15 + {224, 49}, // 83, End, k75 + {0, 42}, // 84, LED, l06 + {224, 42}, // 85, LED, l16 + {195, 15}, // 86, BSpc, ka1 + {224, 38}, // 87, PgDn, k25 + {0, 48}, // 88, LED, l07 + {224, 48}, // 89, LED, l17 + {181, 26}, // 90, ], k61 + {182, 49}, // 91, Sh_R, k91 + {0, 55}, // 92, LED, l08 + {224, 55}, // 93, LED, l18 + {206, 52}, // 94, Up, k35 + {184, 38}, // 95, #, k84 + {191, 64}, // 96, Left, k03 + {201, 26}, // 97, Enter, ka4 + {206, 64}, // 98, Down, k73 +}, { + 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, 2, 2, 4, 2, 2, 4, 2, + 2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 +}}; + const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {0, SW1_CS1, SW1_CS2, SW1_CS3}, // 0, ESC, k13 {0, SW1_CS4, SW1_CS5, SW1_CS6}, // 1, ~, k16 diff --git a/keyboards/gmmk/pro/rev2/iso/keyboard.json b/keyboards/gmmk/pro/rev2/iso/keyboard.json index 886d9e8c55..01db9dc22f 100644 --- a/keyboards/gmmk/pro/rev2/iso/keyboard.json +++ b/keyboards/gmmk/pro/rev2/iso/keyboard.json @@ -41,109 +41,6 @@ }, "processor": "WB32F3G71", "bootloader": "wb32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [1, 3], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 6], "x": 0, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 4, "y": 26, "flags": 4}, - {"matrix": [2, 1], "x": 5, "y": 38, "flags": 4}, - {"matrix": [0, 0], "x": 2, "y": 49, "flags": 4}, - {"matrix": [0, 6], "x": 2, "y": 61, "flags": 4}, - {"matrix": [2, 6], "x": 18, "y": 0, "flags": 4}, - {"matrix": [1, 7], "x": 14, "y": 15, "flags": 4}, - {"matrix": [1, 0], "x": 22, "y": 26, "flags": 4}, - {"matrix": [1, 2], "x": 25, "y": 38, "flags": 4}, - {"matrix": [1, 4], "x": 33, "y": 49, "flags": 4}, - {"matrix": [9, 0], "x": 20, "y": 61, "flags": 4}, - {"matrix": [3, 6], "x": 33, "y": 0, "flags": 4}, - {"matrix": [2, 7], "x": 29, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 36, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 38, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 49, "flags": 4}, - {"matrix": [9, 3], "x": 38, "y": 61, "flags": 4}, - {"matrix": [3, 1], "x": 47, "y": 0, "flags": 4}, - {"matrix": [3, 7], "x": 43, "y": 15, "flags": 4}, - {"matrix": [3, 0], "x": 51, "y": 26, "flags": 4}, - {"matrix": [3, 2], "x": 54, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 61, "y": 49, "flags": 4}, - {"matrix": [3, 3], "x": 61, "y": 0, "flags": 4}, - {"matrix": [4, 7], "x": 58, "y": 15, "flags": 4}, - {"matrix": [4, 0], "x": 65, "y": 26, "flags": 4}, - {"matrix": [4, 2], "x": 69, "y": 38, "flags": 4}, - {"matrix": [4, 4], "x": 76, "y": 49, "flags": 4}, - {"matrix": [0, 7], "x": 79, "y": 0, "flags": 4}, - {"matrix": [4, 6], "x": 72, "y": 15, "flags": 4}, - {"matrix": [4, 1], "x": 79, "y": 26, "flags": 4}, - {"matrix": [4, 3], "x": 83, "y": 38, "flags": 4}, - {"matrix": [4, 5], "x": 90, "y": 49, "flags": 4}, - {"matrix": [9, 4], "x": 92, "y": 61, "flags": 4}, - {"matrix": [6, 3], "x": 94, "y": 0, "flags": 4}, - {"matrix": [5, 6], "x": 87, "y": 15, "flags": 4}, - {"matrix": [5, 1], "x": 94, "y": 26, "flags": 4}, - {"matrix": [5, 3], "x": 98, "y": 38, "flags": 4}, - {"matrix": [5, 5], "x": 105, "y": 49, "flags": 4}, - {"matrix": [7, 1], "x": 108, "y": 0, "flags": 4}, - {"matrix": [5, 7], "x": 101, "y": 15, "flags": 4}, - {"matrix": [5, 0], "x": 108, "y": 26, "flags": 4}, - {"matrix": [5, 2], "x": 112, "y": 38, "flags": 4}, - {"matrix": [5, 4], "x": 119, "y": 49, "flags": 4}, - {"matrix": [7, 6], "x": 123, "y": 0, "flags": 4}, - {"matrix": [6, 7], "x": 116, "y": 15, "flags": 4}, - {"matrix": [6, 0], "x": 123, "y": 26, "flags": 4}, - {"matrix": [6, 2], "x": 126, "y": 38, "flags": 4}, - {"matrix": [6, 4], "x": 134, "y": 49, "flags": 4}, - {"matrix": [9, 5], "x": 145, "y": 61, "flags": 4}, - {"matrix": [10, 6], "x": 141, "y": 0, "flags": 4}, - {"matrix": [7, 7], "x": 130, "y": 15, "flags": 4}, - {"matrix": [7, 0], "x": 137, "y": 26, "flags": 4}, - {"matrix": [7, 2], "x": 141, "y": 38, "flags": 4}, - {"matrix": [7, 4], "x": 148, "y": 49, "flags": 4}, - {"matrix": [9, 2], "x": 159, "y": 61, "flags": 4}, - {"matrix": [10, 7], "x": 155, "y": 0, "flags": 4}, - {"matrix": [8, 7], "x": 145, "y": 15, "flags": 4}, - {"matrix": [8, 0], "x": 152, "y": 26, "flags": 4}, - {"matrix": [8, 2], "x": 155, "y": 38, "flags": 4}, - {"matrix": [8, 5], "x": 163, "y": 49, "flags": 4}, - {"matrix": [10, 3], "x": 170, "y": 0, "flags": 4}, - {"matrix": [8, 6], "x": 159, "y": 15, "flags": 4}, - {"matrix": [8, 1], "x": 166, "y": 26, "flags": 4}, - {"matrix": [8, 3], "x": 170, "y": 38, "flags": 4}, - {"matrix": [0, 4], "x": 173, "y": 61, "flags": 4}, - {"matrix": [10, 5], "x": 184, "y": 0, "flags": 4}, - {"matrix": [2, 3], "x": 18, "y": 49, "flags": 4}, - {"x": 0, "y": 8, "flags": 2}, - {"x": 224, "y": 8, "flags": 2}, - {"matrix": [9, 7], "x": 202, "y": 0, "flags": 4}, - {"x": 0, "y": 15, "flags": 2}, - {"x": 224, "y": 15, "flags": 2}, - {"matrix": [6, 5], "x": 224, "y": 15, "flags": 4}, - {"x": 0, "y": 21, "flags": 2}, - {"x": 224, "y": 21, "flags": 2}, - {"matrix": [1, 5], "x": 224, "y": 26, "flags": 4}, - {"x": 0, "y": 28, "flags": 2}, - {"x": 224, "y": 28, "flags": 2}, - {"matrix": [6, 6], "x": 173, "y": 15, "flags": 4}, - {"matrix": [0, 5], "x": 220, "y": 64, "flags": 4}, - {"x": 0, "y": 35, "flags": 2}, - {"x": 224, "y": 35, "flags": 2}, - {"matrix": [7, 5], "x": 224, "y": 49, "flags": 4}, - {"x": 0, "y": 42, "flags": 2}, - {"x": 224, "y": 42, "flags": 2}, - {"matrix": [10, 1], "x": 195, "y": 15, "flags": 4}, - {"matrix": [2, 5], "x": 224, "y": 38, "flags": 4}, - {"x": 0, "y": 48, "flags": 2}, - {"x": 224, "y": 48, "flags": 2}, - {"matrix": [6, 1], "x": 181, "y": 26, "flags": 4}, - {"matrix": [9, 1], "x": 182, "y": 49, "flags": 4}, - {"x": 0, "y": 55, "flags": 2}, - {"x": 224, "y": 55, "flags": 2}, - {"matrix": [3, 5], "x": 206, "y": 52, "flags": 4}, - {"matrix": [8, 4], "x": 184, "y": 38, "flags": 4}, - {"matrix": [0, 3], "x": 191, "y": 64, "flags": 4}, - {"matrix": [10, 4], "x": 201, "y": 26, "flags": 4}, - {"matrix": [7, 3], "x": 206, "y": 64, "flags": 4} - ] - }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/gmmk/pro/rev2/iso/keymaps/default/rules.mk b/keyboards/gmmk/pro/rev2/iso/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/gmmk/pro/rev2/iso/keymaps/default/rules.mk +++ b/keyboards/gmmk/pro/rev2/iso/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gopolar/gg86/gg86.c b/keyboards/gopolar/gg86/gg86.c index 40fb06c8a6..52e1434f00 100644 --- a/keyboards/gopolar/gg86/gg86.c +++ b/keyboards/gopolar/gg86/gg86.c @@ -25,6 +25,69 @@ #include #include +led_config_t g_led_config = { { + { 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, NO_LED, 74, 73, 72 }, + { 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71 }, + { 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38 }, + { 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, NO_LED, 37, NO_LED, NO_LED, NO_LED }, + { 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, NO_LED, 10, NO_LED }, + { 0, 1, 2, NO_LED, NO_LED, 3, NO_LED, NO_LED, NO_LED, NO_LED, 4, 5, 6, NO_LED, 7, 8, 9 } +}, { + // Key matrix (0 -> 87) + {3 , 64}, {19 , 64}, {36 , 64}, {91 , 64}, {146, 64}, {162, 64}, {179, 64}, {198, 64}, {211, 64}, {224, 64}, + {211, 52}, {182, 52}, {170, 52}, {146, 52}, {133, 52}, {120, 52}, {107, 52}, {94 , 52}, {81 , 52}, {68 , 52}, {55 , 52}, {42 , 52}, {29 , 52}, {16 , 52}, {2 , 52}, + {2 , 41}, {23 , 41}, {36 , 41}, {49 , 41}, {62 , 41}, {75 , 41}, {88 , 41}, {101, 41}, {114, 41}, {127, 41}, {140, 41}, {153, 41}, {174, 41}, + {224, 29}, {211, 29}, {198, 29}, {179, 29}, {162, 29}, {149, 29}, {136, 29}, {123, 29}, {110, 29}, {97 , 29}, {84 , 29}, {71 , 29}, {58 , 29}, {45 , 29}, {32 , 29}, {19 , 29}, {3 , 29}, + {0 , 17}, {13 , 17}, {26 , 17}, {39 , 17}, {52 , 17}, {65 , 17}, {78 , 17}, {91 , 17}, {104, 17}, {117, 17}, {130, 17}, {143, 17}, {156, 17}, {175, 17}, {198, 17}, {211, 17}, {224, 17}, + {224, 0}, {211, 0}, {198, 0}, {182, 0}, {169, 0}, {156, 0}, {143, 0}, {123, 0}, {110, 0}, {97 , 0}, {84 , 0}, {65 , 0}, {52 , 0}, {39 , 0}, {26 , 0}, {0 , 0}, + + // Underglow (88 -> 99) + {1 , 6}, {50 , 6}, {89 , 6}, {135, 6}, {176, 6}, {198, 6}, {221, 55}, {192, 58}, {138, 59}, {96 , 61}, {42 , 59}, {7 , 60}, +}, { + // Key matrix (0 -> 87) + 1, 1, 1, 4, 1, 1, 1, 4, 4, 4, + 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, + 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + + // Underglow (88 -> 99) + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +} }; + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case (LED_FLAG_UNDERGLOW): { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } + } + return false; + } + return process_record_user(keycode, record); +} + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; @@ -51,7 +114,7 @@ bool rgb_matrix_indicators_kb(void) { #endif #ifdef OLED_ENABLE - uint16_t startup_timer; + uint16_t startup_timer; oled_rotation_t oled_init_kb(oled_rotation_t rotation) { startup_timer = timer_read(); @@ -66,7 +129,7 @@ bool rgb_matrix_indicators_kb(void) { render_logo(); } else { finished_logo = true; - + if (!oled_task_user()) { return false; } diff --git a/keyboards/gopolar/gg86/keyboard.json b/keyboards/gopolar/gg86/keyboard.json index dc182f6977..3412a7c63c 100644 --- a/keyboards/gopolar/gg86/keyboard.json +++ b/keyboards/gopolar/gg86/keyboard.json @@ -59,108 +59,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [5, 0], "x": 3, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 19, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 36, "y": 64, "flags": 1}, - {"matrix": [5, 5], "x": 91, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 146, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 162, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 179, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 4}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 4}, - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 4}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 182, "y": 52, "flags": 1}, - {"matrix": [4, 12], "x": 170, "y": 52, "flags": 1}, - {"matrix": [4, 11], "x": 146, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 133, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 1], "x": 16, "y": 52, "flags": 4}, - {"matrix": [4, 0], "x": 2, "y": 52, "flags": 1}, - {"matrix": [3, 0], "x": 2, "y": 41, "flags": 8}, - {"matrix": [3, 1], "x": 23, "y": 41, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 41, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 41, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 41, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 41, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 41, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 41, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 41, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 41, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 41, "flags": 4}, - {"matrix": [3, 11], "x": 153, "y": 41, "flags": 4}, - {"matrix": [3, 13], "x": 174, "y": 41, "flags": 1}, - {"matrix": [2, 16], "x": 224, "y": 29, "flags": 4}, - {"matrix": [2, 15], "x": 211, "y": 29, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 29, "flags": 4}, - {"matrix": [2, 13], "x": 179, "y": 29, "flags": 4}, - {"matrix": [2, 12], "x": 162, "y": 29, "flags": 4}, - {"matrix": [2, 11], "x": 149, "y": 29, "flags": 4}, - {"matrix": [2, 10], "x": 136, "y": 29, "flags": 4}, - {"matrix": [2, 9], "x": 123, "y": 29, "flags": 4}, - {"matrix": [2, 8], "x": 110, "y": 29, "flags": 4}, - {"matrix": [2, 7], "x": 97, "y": 29, "flags": 4}, - {"matrix": [2, 6], "x": 84, "y": 29, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 29, "flags": 4}, - {"matrix": [2, 4], "x": 58, "y": 29, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 29, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 29, "flags": 4}, - {"matrix": [2, 1], "x": 19, "y": 29, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 29, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 17, "flags": 4}, - {"matrix": [1, 1], "x": 13, "y": 17, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 17, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 17, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 17, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 17, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 17, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 17, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 17, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 17, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 17, "flags": 4}, - {"matrix": [1, 12], "x": 156, "y": 17, "flags": 4}, - {"matrix": [1, 13], "x": 175, "y": 17, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 17, "flags": 4}, - {"matrix": [1, 15], "x": 211, "y": 17, "flags": 4}, - {"matrix": [1, 16], "x": 224, "y": 17, "flags": 4}, - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 8}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 182, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 169, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 156, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 123, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 110, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 97, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 65, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 39, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 26, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"x": 1, "y": 6, "flags": 2}, - {"x": 50, "y": 6, "flags": 2}, - {"x": 89, "y": 6, "flags": 2}, - {"x": 135, "y": 6, "flags": 2}, - {"x": 176, "y": 6, "flags": 2}, - {"x": 198, "y": 6, "flags": 2}, - {"x": 221, "y": 55, "flags": 2}, - {"x": 192, "y": 58, "flags": 2}, - {"x": 138, "y": 59, "flags": 2}, - {"x": 96, "y": 61, "flags": 2}, - {"x": 42, "y": 59, "flags": 2}, - {"x": 7, "y": 60, "flags": 2} - ], "max_brightness": 150 }, "matrix_pins": { diff --git a/keyboards/gopolar/gg86/lib/glcdfont.c b/keyboards/gopolar/gg86/lib/glcdfont.c index 400aed8e53..6b2294ea58 100644 --- a/keyboards/gopolar/gg86/lib/glcdfont.c +++ b/keyboards/gopolar/gg86/lib/glcdfont.c @@ -246,4 +246,4 @@ const unsigned char font[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; +}; \ No newline at end of file diff --git a/keyboards/gray_studio/space65r3/readme.md b/keyboards/gray_studio/space65r3/readme.md index d13846ebe3..2de127bd7a 100644 --- a/keyboards/gray_studio/space65r3/readme.md +++ b/keyboards/gray_studio/space65r3/readme.md @@ -17,4 +17,4 @@ Flashing example for this keyboard: ## Bootloader * **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/gray_studio/think65v3/readme.md b/keyboards/gray_studio/think65v3/readme.md index 8b8b42a03c..dc09a00d1d 100644 --- a/keyboards/gray_studio/think65v3/readme.md +++ b/keyboards/gray_studio/think65v3/readme.md @@ -18,4 +18,4 @@ * **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -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 infromation. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). +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 infromation. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/grid600/readme.md b/keyboards/grid600/readme.md index 73ca0f9eb9..f7fa6a085b 100644 --- a/keyboards/grid600/readme.md +++ b/keyboards/grid600/readme.md @@ -4,4 +4,4 @@ The Grid 600 is a tray mount 60% case supporting most standard 60% PCBs. A unique feature of the Grid 600 is that it has five different cover modules that not only include USB C pass through, but also have functions such as RGB or additional macro keys. -This is a collection of some of the programmable modules available for this enclosure. +This is a collection of some of the programmable modules available for this enclosure. \ No newline at end of file diff --git a/keyboards/gummykey/readme.md b/keyboards/gummykey/readme.md index 3207add859..80558ee330 100644 --- a/keyboards/gummykey/readme.md +++ b/keyboards/gummykey/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/h0oni/deskpad/deskpad.c b/keyboards/h0oni/deskpad/deskpad.c index 54fc42309d..8f9c97c97d 100644 --- a/keyboards/h0oni/deskpad/deskpad.c +++ b/keyboards/h0oni/deskpad/deskpad.c @@ -50,4 +50,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/h0oni/deskpad/keymaps/default/keymap.c b/keyboards/h0oni/deskpad/keymaps/default/keymap.c index c2ed7b7c43..4ab51b657e 100644 --- a/keyboards/h0oni/deskpad/keymaps/default/keymap.c +++ b/keyboards/h0oni/deskpad/keymaps/default/keymap.c @@ -186,4 +186,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [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/readme.md b/keyboards/h0oni/deskpad/readme.md index bb6e710e77..a79983fff7 100644 --- a/keyboards/h0oni/deskpad/readme.md +++ b/keyboards/h0oni/deskpad/readme.md @@ -16,4 +16,4 @@ Enter the bootloader in 2 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the left most key) and plug in the keyboard. * **Physical reset button**: Press the button at the back of the PCB twice to enter into the bootloader mode. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/h0oni/hotduck/readme.md b/keyboards/h0oni/hotduck/readme.md index 5f4f9f4931..e4c06c46da 100644 --- a/keyboards/h0oni/hotduck/readme.md +++ b/keyboards/h0oni/hotduck/readme.md @@ -9,4 +9,4 @@ Make example for this keyboard (after setting up your build environment): make h0oni/hotduck: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/hadron/ver3/keyboard.json b/keyboards/hadron/ver3/keyboard.json index 525b15df80..f3e4bba06f 100644 --- a/keyboards/hadron/ver3/keyboard.json +++ b/keyboards/hadron/ver3/keyboard.json @@ -3,19 +3,7 @@ "device_version": "0.0.3" }, "rgb_matrix": { - "driver": "ws2812", - "layout": [ - {"matrix": [1, 13], "x": 195, "y": 3, "flags": 4}, - {"matrix": [4, 13], "x": 195, "y": 16, "flags": 4}, - {"matrix": [4, 10], "x": 150, "y": 16, "flags": 4}, - {"matrix": [4, 7], "x": 105, "y": 16, "flags": 4}, - {"matrix": [4, 4], "x": 60, "y": 16, "flags": 4}, - {"matrix": [4, 1], "x": 15, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 15, "y": 3, "flags": 4}, - {"matrix": [1, 4], "x": 60, "y": 3, "flags": 4}, - {"matrix": [1, 7], "x": 105, "y": 3, "flags": 4}, - {"matrix": [1, 10], "x": 150, "y": 3, "flags": 4} - ] + "driver": "ws2812" }, "matrix_pins": { "cols": ["B8", "B2", "B10", "A0", "A1", "A2", "B0", "A3", "B1", "A6", "A7", "B12", "C13", "B11", "B9"], diff --git a/keyboards/hadron/ver3/ver3.c b/keyboards/hadron/ver3/ver3.c index 212aa15725..d337fd9681 100644 --- a/keyboards/hadron/ver3/ver3.c +++ b/keyboards/hadron/ver3/ver3.c @@ -15,6 +15,24 @@ */ #include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +#include "rgb_matrix.h" + +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, 6, NO_LED, NO_LED, 7, NO_LED, NO_LED, 8, NO_LED, NO_LED, 9, NO_LED, NO_LED, 0, 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, 5, NO_LED, NO_LED, 4, NO_LED, NO_LED, 3, NO_LED, NO_LED, 2, NO_LED, NO_LED, 1, NO_LED } +}, { + { 195, 3 }, { 195, 16 }, { 150, 16 }, { 105, 16 }, { 60, 16 }, { 15, 16 }, { 15, 3 }, { 60, 3 }, { 105, 3 }, { 150, 3 } +}, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 +} }; + +#endif + #ifdef OLED_ENABLE oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return OLED_ROTATION_180; } diff --git a/keyboards/halfcliff/matrix.c b/keyboards/halfcliff/matrix.c index 05073908fa..790f8c41bb 100644 --- a/keyboards/halfcliff/matrix.c +++ b/keyboards/halfcliff/matrix.c @@ -29,20 +29,16 @@ static pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; /* matrix state(1:on, 0:off) */ -static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -static matrix_row_t matrix[MATRIX_ROWS]; // debounced values +static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +static matrix_row_t matrix[MATRIX_ROWS]; // debounced values // row offsets for each hand uint8_t thisHand, thatHand; // user-defined overridable functions -__attribute__((weak)) void matrix_init_kb(void) { - matrix_init_user(); -} +__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { - matrix_scan_user(); -} +__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); } __attribute__((weak)) void matrix_init_user(void) {} @@ -50,9 +46,7 @@ __attribute__((weak)) void matrix_scan_user(void) {} __attribute__((weak)) void matrix_slave_scan_user(void) {} -matrix_row_t matrix_get_row(uint8_t row) { - return matrix[row]; -} +matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } void matrix_print(void) {} @@ -64,19 +58,13 @@ static inline void gpio_atomic_set_pin_output_low(pin_t pin) { } static inline void gpio_atomic_set_pin_input_high(pin_t pin) { - ATOMIC_BLOCK_FORCEON { - gpio_set_pin_input_high(pin); - } + ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } } // matrix code -static void select_row(uint8_t row) { - gpio_atomic_set_pin_output_low(row_pins[row]); -} +static void select_row(uint8_t row) { gpio_atomic_set_pin_output_low(row_pins[row]); } -static void unselect_row(uint8_t row) { - gpio_atomic_set_pin_input_high(row_pins[row]); -} +static void unselect_row(uint8_t row) { gpio_atomic_set_pin_input_high(row_pins[row]); } static void unselect_rows(void) { for (uint8_t x = 0; x < ROWS_PER_HAND; x++) { @@ -104,7 +92,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) // Unselect row unselect_row(current_row); if (current_row + 1 < MATRIX_ROWS) { - wait_us(30); // wait for row signal to go HIGH + wait_us(30); // wait for row signal to go HIGH } // If the row has changed, store the row and return the changed flag. @@ -115,13 +103,9 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) return false; } -static void select_col(uint8_t col) { - gpio_atomic_set_pin_output_low(col_pins[col]); -} +static void select_col(uint8_t col) { gpio_atomic_set_pin_output_low(col_pins[col]); } -static void unselect_col(uint8_t col) { - gpio_atomic_set_pin_input_high(col_pins[col]); -} +static void unselect_col(uint8_t col) { gpio_atomic_set_pin_input_high(col_pins[col]); } static void unselect_cols(void) { for (uint8_t x = 0; x < MATRIX_COLS; x++) { @@ -172,7 +156,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) // Unselect col unselect_col(current_col); if (current_col + 1 < MATRIX_COLS) { - wait_us(30); // wait for col signal to go HIGH + wait_us(30); // wait for col signal to go HIGH } return matrix_changed; @@ -182,7 +166,7 @@ void matrix_init(void) { split_pre_init(); // Set pinout for right half if pinout for that half is defined - if (!is_keyboard_left()) { + if (!isLeftHand) { #ifdef DIRECT_PINS_RIGHT const pin_t direct_pins_right[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS_RIGHT; for (uint8_t i = 0; i < MATRIX_ROWS; i++) { @@ -205,7 +189,7 @@ void matrix_init(void) { #endif } - thisHand = is_keyboard_left() ? 0 : (ROWS_PER_HAND); + thisHand = isLeftHand ? 0 : (ROWS_PER_HAND); thatHand = ROWS_PER_HAND - thisHand; // initialize key pins @@ -217,7 +201,7 @@ void matrix_init(void) { matrix[i] = 0; } - debounce_init(); + debounce_init(ROWS_PER_HAND); matrix_init_kb(); @@ -264,26 +248,26 @@ bool matrix_post_scan(void) { } uint8_t matrix_scan(void) { - bool local_changed = false; - static matrix_row_t temp_raw_matrix[MATRIX_ROWS]; // temp raw values + bool local_changed = false; + static matrix_row_t temp_raw_matrix[MATRIX_ROWS]; // temp raw values // Set row, read cols - for (uint8_t current_row = 0; current_row < ROWS_PER_HAND / 2; current_row++) { + for (uint8_t current_row = 0; current_row < ROWS_PER_HAND/2; current_row++) { local_changed |= read_cols_on_row(raw_matrix, current_row); } // Set col, read rows for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { local_changed |= read_rows_on_col(temp_raw_matrix, current_col); - // Updated key matrix on lines 6-10 (or lines 16-20) - if (local_changed) { - for (uint8_t i = ROWS_PER_HAND / 2; i < ROWS_PER_HAND; i++) { + //Updated key matrix on lines 6-10 (or lines 16-20) + if(local_changed) { + for (uint8_t i = ROWS_PER_HAND/2; i < ROWS_PER_HAND; i++) { raw_matrix[i] = temp_raw_matrix[i]; } } } - debounce(raw_matrix, matrix + thisHand, local_changed); + debounce(raw_matrix, matrix + thisHand, ROWS_PER_HAND, local_changed); bool remote_changed = matrix_post_scan(); return (uint8_t)(local_changed || remote_changed); diff --git a/keyboards/handwired/3dfoxc/keymaps/default/keymap.c b/keyboards/handwired/3dfoxc/keymaps/default/keymap.c index 14ac32cf21..fb12640474 100644 --- a/keyboards/handwired/3dfoxc/keymaps/default/keymap.c +++ b/keyboards/handwired/3dfoxc/keymaps/default/keymap.c @@ -66,4 +66,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END ) }; - + \ No newline at end of file diff --git a/keyboards/handwired/3dp660_oled/keyboard.json b/keyboards/handwired/3dp660_oled/keyboard.json index 9ab254e163..cb19d2ab80 100644 --- a/keyboards/handwired/3dp660_oled/keyboard.json +++ b/keyboards/handwired/3dp660_oled/keyboard.json @@ -246,4 +246,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/412_64/keymaps/default/rules.mk b/keyboards/handwired/412_64/keymaps/default/rules.mk index 83a7ba356b..08fdcc0a56 100644 --- a/keyboards/handwired/412_64/keymaps/default/rules.mk +++ b/keyboards/handwired/412_64/keymaps/default/rules.mk @@ -1 +1 @@ -KEY_LOCK_ENABLE = yes # Enable the universal locking key, which lets you do any locking you require. +KEY_LOCK_ENABLE = yes # Enable the universal locking key, which lets you do any locking you require. \ No newline at end of file diff --git a/keyboards/handwired/412_64/readme.md b/keyboards/handwired/412_64/readme.md index 8356c0c743..042bacfaf1 100644 --- a/keyboards/handwired/412_64/readme.md +++ b/keyboards/handwired/412_64/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make handwired/412_64: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/handwired/6macro/keymaps/default/readme.md b/keyboards/handwired/6macro/keymaps/default/readme.md index b1727655e1..dd42a8fc62 100644 --- a/keyboards/handwired/6macro/keymaps/default/readme.md +++ b/keyboards/handwired/6macro/keymaps/default/readme.md @@ -12,4 +12,4 @@ Layer 2: # Default 6macro Layout -This is the default layout. Layer 0 is mappped to function keys 13-18. Top right key switches to layer above when held. Upper layers are for RGB control. +This is the default layout. Layer 0 is mappped to function keys 13-18. Top right key switches to layer above when held. Upper layers are for RGB control. \ No newline at end of file diff --git a/keyboards/handwired/6macro/keymaps/osu/readme.md b/keyboards/handwired/6macro/keymaps/osu/readme.md index b6103fa240..0de5d6bf2e 100644 --- a/keyboards/handwired/6macro/keymaps/osu/readme.md +++ b/keyboards/handwired/6macro/keymaps/osu/readme.md @@ -12,4 +12,4 @@ Layer 2: # OSU 6macro Layout -This layout is for the game OSU. Layer 0 is mappped as shown above. Top right key switches to layer above when held. Upper layers are for RGB control. +This layout is for the game OSU. Layer 0 is mappped as shown above. Top right key switches to layer above when held. Upper layers are for RGB control. \ No newline at end of file diff --git a/keyboards/handwired/acacia/keyboard.json b/keyboards/handwired/acacia/keyboard.json index 17246e52ec..16f614d795 100644 --- a/keyboards/handwired/acacia/keyboard.json +++ b/keyboards/handwired/acacia/keyboard.json @@ -2,6 +2,7 @@ "keyboard_name": "Acacia", "manufacturer": "jpsecher", "maintainer": "jpsecher", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/acacia", "processor": "atmega32u2", "bootloader": "atmel-dfu", "bootloader_instructions": "Enter the bootloader by using the small buttons on the PCB: press the RESET button while connected to QMK Toolbox.", diff --git a/keyboards/handwired/alcor_dactyl/config.h b/keyboards/handwired/alcor_dactyl/config.h index 3da8cebf4d..42c45acdbf 100644 --- a/keyboards/handwired/alcor_dactyl/config.h +++ b/keyboards/handwired/alcor_dactyl/config.h @@ -3,6 +3,26 @@ #pragma once + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U + #define SERIAL_USART_FULL_DUPLEX #define SERIAL_USART_TX_PIN GP10 #define SERIAL_USART_RX_PIN GP9 diff --git a/keyboards/handwired/angel/keymaps/default/readme.md b/keyboards/handwired/angel/keymaps/default/readme.md index ec1d67b276..6425306b0e 100644 --- a/keyboards/handwired/angel/keymaps/default/readme.md +++ b/keyboards/handwired/angel/keymaps/default/readme.md @@ -4,4 +4,4 @@ The default layout for hand-wire Angel is Colemak-DHM with modifiers on the home row. I'd love to see how we can improve it. -The most enjoyable part besides soldering is poking the QMK configurations and test it on keybr.com. It's so much fun. +The most enjoyable part besides soldering is poking the QMK configurations and test it on keybr.com. It's so much fun. \ No newline at end of file diff --git a/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c b/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c index 892c186d1b..74b92cf97e 100644 --- a/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c +++ b/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c @@ -53,4 +53,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGDN, KC_END /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/baredev/rev1/keymaps/default/readme.md b/keyboards/handwired/baredev/rev1/keymaps/default/readme.md index fed020505f..6e8c07ad83 100644 --- a/keyboards/handwired/baredev/rev1/keymaps/default/readme.md +++ b/keyboards/handwired/baredev/rev1/keymaps/default/readme.md @@ -4,4 +4,4 @@ Has all the functions of a ABNT TKL keyboard, sans right shift. -Basic media functions also included. +Basic media functions also included. \ No newline at end of file diff --git a/keyboards/handwired/baredev/rev1/readme.md b/keyboards/handwired/baredev/rev1/readme.md index 949b46da61..1dac2fb6ad 100644 --- a/keyboards/handwired/baredev/rev1/readme.md +++ b/keyboards/handwired/baredev/rev1/readme.md @@ -26,4 +26,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/boss566y/redragon_vara/keymaps/default/readme.md b/keyboards/handwired/boss566y/redragon_vara/keymaps/default/readme.md index d8adf3e13c..8836223788 100644 --- a/keyboards/handwired/boss566y/redragon_vara/keymaps/default/readme.md +++ b/keyboards/handwired/boss566y/redragon_vara/keymaps/default/readme.md @@ -8,4 +8,4 @@ Keymap is basic 104 qwerty layout with: * FN is M(2). Arrow keys on HJKL, media keys on F6 to F12, and RCtrl+Home on Home. * Both M(1) and M(2) have Reset on Escape - + \ No newline at end of file diff --git a/keyboards/handwired/bouvet/macropad/v1/keyboard.json b/keyboards/handwired/bouvet/macropad/v1/keyboard.json deleted file mode 100644 index 0492ef6c37..0000000000 --- a/keyboards/handwired/bouvet/macropad/v1/keyboard.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "manufacturer": "Kenneth Fossen", - "keyboard_name": "Bouvet Macropad v1", - "maintainer": "spydx", - "development_board": "promicro", - "diode_direction": "COL2ROW", - "features": { - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["D7","E6","B4","B5"], - "rows": ["B1", "B3", "B2", "B6"] - }, - "encoders": { - "rotary": [ - {"pin_a": "C6", "pin_b": "D4"}, - {"pin_a": "F6", "pin_b": "F7"} - ] - }, - "url": "https://kefo.no", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - - {"matrix": [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, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3} - ] - } - } -} diff --git a/keyboards/handwired/bouvet/macropad/v1/keymaps/default/keymap.c b/keyboards/handwired/bouvet/macropad/v1/keymaps/default/keymap.c deleted file mode 100644 index 74f3c9cded..0000000000 --- a/keyboards/handwired/bouvet/macropad/v1/keymaps/default/keymap.c +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2026 Kenneth Fossen -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_MCTL, LCS(KC_TAB), C(KC_TAB), KC_MPLY, - KC_P4, KC_P5, KC_P6, KC_PAST, - KC_P1, KC_P2, KC_P3, KC_PENT, - LCMD(KC_C), LCMD(KC_V) - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } -}; -#endif diff --git a/keyboards/handwired/bouvet/macropad/v1/readme.md b/keyboards/handwired/bouvet/macropad/v1/readme.md deleted file mode 100644 index a913af88ad..0000000000 --- a/keyboards/handwired/bouvet/macropad/v1/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# bouvet/macropad/v1 - -![bouvet/macropad/v1](https://www.kefo.no/assets/macropad/macropad_v1.png) -Small macropad, with two rotary encoder buttons and 14 keys. -Optional OLED 128x16 screen, small learning and sharing project. - -* Keyboard Maintainer: [Kenneth Fossen](https://github.com/spydx) -* Hardware Supported: Bouvet Macropad -* Hardware Availability: [Shop](https://www.kefo.no/macropad) - -Make example for this keyboard (after setting up your build environment): - - make handwired/bouvet/macropad/v1:default - -Flashing example for this keyboard: - - make handwired/bouvet/macropad/v1:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/cans12erv2/readme.md b/keyboards/handwired/cans12erv2/readme.md index 25533145d8..fa08efacc7 100644 --- a/keyboards/handwired/cans12erv2/readme.md +++ b/keyboards/handwired/cans12erv2/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard * **Physical reset button**: Quickly double press the reset button on the PCB to make the RP2040 boot into its uf2 mode -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/colorlice/colorlice.c b/keyboards/handwired/colorlice/colorlice.c new file mode 100644 index 0000000000..81e87d8c7a --- /dev/null +++ b/keyboards/handwired/colorlice/colorlice.c @@ -0,0 +1,39 @@ +/* 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 . + */ + +#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, 13, 14, 15 }, + { 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, NO_LED }, + { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, NO_LED, 44, NO_LED }, + { 58, 57, 56, 55, 54, 53, NO_LED, 52, 51, 50, 49, 48, 47, 46, 45, NO_LED}, + { 59, NO_LED, 60, 61, 62, NO_LED, NO_LED,63, NO_LED, NO_LED, 64, 65,66,67, 68, NO_LED } +}, { + { 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, 16 }, { 210, 16 }, { 195, 16 }, { 180, 16 }, { 165, 16 }, { 150, 16 }, { 135, 16 }, { 120, 16 }, { 90, 16 }, { 75, 16 }, { 60, 16 }, { 45, 16 }, { 30, 16 }, { 15, 16 }, { 0, 16 }, + { 0, 32 }, { 15, 32 }, { 30, 32 }, { 45, 32 }, { 60, 32 }, { 75, 32 }, { 90, 32 }, { 135, 32 }, { 150, 32 }, { 165, 32 }, { 180, 32 }, { 195, 32 }, { 210, 32 }, { 224, 32 }, + { 225, 48 }, { 224, 48 }, { 210, 48 }, { 195, 48 }, { 180, 48 }, { 165, 48 }, { 150, 48 }, { 135, 48 }, { 90, 48 }, { 75, 48 }, { 60, 48 }, { 45, 48 }, { 30, 48 }, { 15, 48 }, + { 15, 64 }, { 45, 64 }, { 75, 64 }, { 90, 64 }, { 150, 64 }, { 180, 64 }, { 210, 64 }, { 215, 64 }, { 220, 64 }, { 225, 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, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +} }; +#endif diff --git a/keyboards/handwired/colorlice/keyboard.json b/keyboards/handwired/colorlice/keyboard.json index 5780f012d5..b2606afb89 100644 --- a/keyboards/handwired/colorlice/keyboard.json +++ b/keyboards/handwired/colorlice/keyboard.json @@ -57,77 +57,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "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": 120, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 135, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 195, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 210, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [1, 13], "x": 210, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 195, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 180, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 165, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 150, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 135, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 90, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 75, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 60, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 45, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 30, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 15, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 1}, - {"matrix": [2, 1], "x": 15, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 30, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 75, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 90, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 135, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 150, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 165, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 180, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 195, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 210, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 195, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 180, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 165, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 150, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 135, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 90, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 75, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 60, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 30, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 15, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 15, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 45, "y": 64, "flags": 1}, - {"matrix": [4, 3], "x": 75, "y": 64, "flags": 1}, - {"matrix": [4, 4], "x": 90, "y": 64, "flags": 1}, - {"matrix": [4, 7], "x": 150, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 180, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 215, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 220, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "led_flush_limit": 26, "led_process_limit": 4, "sleep": true diff --git a/keyboards/handwired/croxsplit44/keymaps/default/keymap.c b/keyboards/handwired/croxsplit44/keymaps/default/keymap.c index b9432f6429..1811e6baf9 100644 --- a/keyboards/handwired/croxsplit44/keymaps/default/keymap.c +++ b/keyboards/handwired/croxsplit44/keymaps/default/keymap.c @@ -28,4 +28,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, UG_NEXT, UG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_UP, KC_RGHT, KC_ENT, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS), -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/dactyl/matrix.c b/keyboards/handwired/dactyl/matrix.c index 9846676112..140f4236c1 100644 --- a/keyboards/handwired/dactyl/matrix.c +++ b/keyboards/handwired/dactyl/matrix.c @@ -76,6 +76,8 @@ uint8_t expander_status; uint8_t expander_input_pin_mask; bool i2c_initialized = false; +#define ROW_SHIFTER ((matrix_row_t)1) + __attribute__ ((weak)) void matrix_init_user(void) {} @@ -282,7 +284,7 @@ uint8_t matrix_scan(void) inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & (MATRIX_ROW_SHIFTER << col)); + return (matrix[row] & (ROW_SHIFTER << col)); } inline @@ -342,7 +344,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) if (! col_expanded[col_index]) { uint8_t pin = onboard_col_pins[col_index]; uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); } } @@ -430,10 +432,10 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) if (column_state & (1 << current_row)) { // key closed; set state bit in matrix - current_matrix[current_row] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[current_row] |= (ROW_SHIFTER << current_col); } else { // key open; clear state bit in matrix - current_matrix[current_row] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[current_row] &= ~(ROW_SHIFTER << current_col); } // Determine whether the matrix changed state diff --git a/keyboards/handwired/dactyl/readme.md b/keyboards/handwired/dactyl/readme.md index 608a1b7fe3..e99df7f5a2 100644 --- a/keyboards/handwired/dactyl/readme.md +++ b/keyboards/handwired/dactyl/readme.md @@ -6,7 +6,7 @@ The Dactyl uses the [Teensy Loader](https://www.pjrc.com/teensy/loader.html). Linux users need to modify udev rules as described on the [Teensy Linux page]. Some distributions provide a binary, maybe called -`teensy_loader_cli`. +`teensy-loader-cli`. [Teensy Linux page]: https://www.pjrc.com/teensy/loader_linux.html @@ -26,7 +26,7 @@ To flash the firmware: - Click the button in the Teensy app to download the firmware. -To flash with ´teensy_loader_cli´: +To flash with ´teensy-loader-cli´: - Build the firmware as above diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json b/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json index c6a790d14d..207f8c06a7 100644 --- a/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl ManuForm 4x5_5", "manufacturer": "ssedrick", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform/4x5_5", "maintainer": "ssedrick", "usb": { "vid": "0x444D", diff --git a/keyboards/handwired/dactyl_manuform/5x6_6/readme.md b/keyboards/handwired/dactyl_manuform/5x6_6/readme.md index e1c251193b..78107a183d 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_6/readme.md +++ b/keyboards/handwired/dactyl_manuform/5x6_6/readme.md @@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 2 ways: **Physical reset button**: Briefly press the reset button on the bottom of the case, or bridge the reset and ground pins momentarily on the pro micro -**Keycode in layout**: Press the key mapped to `QK_BOOT` (by default hold down `MO(1)` and press the left most key in row 5 on the left hand half of the keyboard) +**Keycode in layout**: Press the key mapped to `QK_BOOT` (by default hold down `MO(1)` and press the left most key in row 5 on the left hand half of the keyboard) \ No newline at end of file diff --git a/keyboards/handwired/dactyl_manuform/5x8/keyboard.json b/keyboards/handwired/dactyl_manuform/5x8/keyboard.json index 649987911b..2ac3010717 100644 --- a/keyboards/handwired/dactyl_manuform/5x8/keyboard.json +++ b/keyboards/handwired/dactyl_manuform/5x8/keyboard.json @@ -10,7 +10,7 @@ "features": { "bootmagic": true, "extrakey": true, - "mousekey": true + "mousekey": true, }, "qmk": { "locking": { @@ -25,11 +25,6 @@ "diode_direction": "COL2ROW", "split": { "enabled": true, - "matrix_pins": { - "right": { - "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"] - } - }, "serial": { "pin": "D0" } @@ -47,14 +42,14 @@ {"matrix": [0, 6], "x": 6, "y": 0}, {"matrix": [0, 7], "x": 7, "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.5}, - {"matrix": [6, 6], "x": 16, "y": 0.5}, {"matrix": [6, 7], "x": 17, "y": 0.5}, + {"matrix": [6, 6], "x": 16, "y": 0.5}, + {"matrix": [6, 5], "x": 15, "y": 0.5}, + {"matrix": [6, 4], "x": 14, "y": 0}, + {"matrix": [6, 3], "x": 13, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 1], "x": 11, "y": 0}, + {"matrix": [6, 0], "x": 10, "y": 0}, {"matrix": [1, 0], "x": 0, "y": 1.5}, {"matrix": [1, 1], "x": 1, "y": 1.5}, @@ -65,14 +60,14 @@ {"matrix": [1, 6], "x": 6, "y": 1}, {"matrix": [1, 7], "x": 7, "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.5}, - {"matrix": [7, 6], "x": 16, "y": 1.5}, {"matrix": [7, 7], "x": 17, "y": 1.5}, + {"matrix": [7, 6], "x": 16, "y": 1.5}, + {"matrix": [7, 5], "x": 15, "y": 1.5}, + {"matrix": [7, 4], "x": 14, "y": 1}, + {"matrix": [7, 3], "x": 13, "y": 1}, + {"matrix": [7, 2], "x": 12, "y": 1}, + {"matrix": [7, 1], "x": 11, "y": 1}, + {"matrix": [7, 0], "x": 10, "y": 1}, {"matrix": [2, 0], "x": 0, "y": 2.5}, {"matrix": [2, 1], "x": 1, "y": 2.5}, @@ -83,14 +78,14 @@ {"matrix": [2, 6], "x": 6, "y": 2}, {"matrix": [2, 7], "x": 7, "y": 2}, - {"matrix": [8, 0], "x": 10, "y": 2}, - {"matrix": [8, 1], "x": 11, "y": 2}, - {"matrix": [8, 2], "x": 12, "y": 2}, - {"matrix": [8, 3], "x": 13, "y": 2}, - {"matrix": [8, 4], "x": 14, "y": 2}, - {"matrix": [8, 5], "x": 15, "y": 2.5}, - {"matrix": [8, 6], "x": 16, "y": 2.5}, {"matrix": [8, 7], "x": 17, "y": 2.5}, + {"matrix": [8, 6], "x": 16, "y": 2.5}, + {"matrix": [8, 5], "x": 15, "y": 2.5}, + {"matrix": [8, 4], "x": 14, "y": 2}, + {"matrix": [8, 3], "x": 13, "y": 2}, + {"matrix": [8, 2], "x": 12, "y": 2}, + {"matrix": [8, 1], "x": 11, "y": 2}, + {"matrix": [8, 0], "x": 10, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3.5}, {"matrix": [3, 1], "x": 1, "y": 3.5}, @@ -100,41 +95,41 @@ {"matrix": [3, 5], "x": 5, "y": 3}, {"matrix": [3, 6], "x": 6, "y": 3}, - {"matrix": [9, 1], "x": 11, "y": 3}, - {"matrix": [9, 2], "x": 12, "y": 3}, - {"matrix": [9, 3], "x": 13, "y": 3}, - {"matrix": [9, 4], "x": 14, "y": 3}, - {"matrix": [9, 5], "x": 15, "y": 3.5}, - {"matrix": [9, 6], "x": 16, "y": 3.5}, - {"matrix": [9, 7], "x": 17, "y": 3.5}, + {"matrix": [9, 6], "x": 17, "y": 3.5}, + {"matrix": [9, 5], "x": 16, "y": 3.5}, + {"matrix": [9, 4], "x": 15, "y": 3.5}, + {"matrix": [9, 3], "x": 14, "y": 3}, + {"matrix": [9, 2], "x": 13, "y": 3}, + {"matrix": [9, 1], "x": 12, "y": 3}, + {"matrix": [9, 0], "x": 11, "y": 3}, {"matrix": [4, 1], "x": 1, "y": 4.5}, {"matrix": [4, 2], "x": 2, "y": 4.5}, {"matrix": [4, 3], "x": 3, "y": 4}, {"matrix": [4, 4], "x": 4, "y": 4}, - {"matrix": [10, 3], "x": 13, "y": 4}, {"matrix": [10, 4], "x": 14, "y": 4}, - {"matrix": [10, 5], "x": 15, "y": 4.5}, - {"matrix": [10, 6], "x": 16, "y": 4.5}, + {"matrix": [10, 3], "x": 13, "y": 4}, + {"matrix": [10, 2], "x": 12, "y": 5}, + {"matrix": [10, 1], "x": 11, "y": 5}, {"matrix": [4, 5], "x": 4.5, "y": 5}, {"matrix": [4, 6], "x": 5.5, "y": 5}, - {"matrix": [10, 1], "x": 11.5, "y": 5}, - {"matrix": [10, 2], "x": 12.5, "y": 5}, + {"matrix": [10, 6], "x": 14.5, "y": 4.5}, + {"matrix": [10, 5], "x": 15.5, "y": 4.5}, {"matrix": [5, 5], "x": 5, "y": 6}, {"matrix": [5, 6], "x": 6, "y": 6}, - {"matrix": [11, 1], "x": 11, "y": 6}, - {"matrix": [11, 2], "x": 12, "y": 6}, + {"matrix": [11, 6], "x": 12, "y": 6}, + {"matrix": [11, 5], "x": 11, "y": 6}, {"matrix": [5, 3], "x": 5, "y": 7}, {"matrix": [5, 4], "x": 6, "y": 7}, - {"matrix": [11, 3], "x": 11, "y": 7}, - {"matrix": [11, 4], "x": 12, "y": 7} + {"matrix": [11, 4], "x": 12, "y": 7}, + {"matrix": [11, 3], "x": 11, "y": 7} ] } } diff --git a/keyboards/handwired/dactyl_manuform_pi_pico/config.h b/keyboards/handwired/dactyl_manuform_pi_pico/config.h index 9b5e919b1b..c622149a4a 100644 --- a/keyboards/handwired/dactyl_manuform_pi_pico/config.h +++ b/keyboards/handwired/dactyl_manuform_pi_pico/config.h @@ -2,7 +2,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once - +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U #define SERIAL_USART_FULL_DUPLEX #define SERIAL_USART_TX_PIN GP9 #define SERIAL_USART_RX_PIN GP8 diff --git a/keyboards/handwired/dactyl_rah/keyboard.json b/keyboards/handwired/dactyl_rah/keyboard.json index 69d982ee6b..2cb7741cc7 100644 --- a/keyboards/handwired/dactyl_rah/keyboard.json +++ b/keyboards/handwired/dactyl_rah/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Dactyl RAH", "manufacturer": "ralphie02", + "url": "https://qmk.fm/keyboards/", "maintainer": "ralphie02", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/dqz11n1g/keyboard.json b/keyboards/handwired/dqz11n1g/keyboard.json index d28df5c669..4e45a5a920 100644 --- a/keyboards/handwired/dqz11n1g/keyboard.json +++ b/keyboards/handwired/dqz11n1g/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "DQz11N1G", "manufacturer": "Unknown", + "url": "https://github.com/dvdkhlng/qmk_firmware_dqz11n1g", "maintainer": "dvdkhlng", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/dqz11n1g/keymaps/default/readme.md b/keyboards/handwired/dqz11n1g/keymaps/default/readme.md index cfb0cbea91..d61546eb37 100644 --- a/keyboards/handwired/dqz11n1g/keymaps/default/readme.md +++ b/keyboards/handwired/dqz11n1g/keymaps/default/readme.md @@ -14,4 +14,4 @@ features that are documented for the one-handed Maltron keyboards. Most keys don't send any keycodes at all when function lock is enabed. We instead map some of the Quantum keycodes (mouse keys and audio control) -in the middle (keypad) section of the keypad, when Function Lock is enabled. +in the middle (keypad) section of the keypad, when Function Lock is enabled. \ No newline at end of file diff --git a/keyboards/handwired/dygma/raise/ansi/ansi.c b/keyboards/handwired/dygma/raise/ansi/ansi.c index de2b9dedf6..67b84c3bc8 100644 --- a/keyboards/handwired/dygma/raise/ansi/ansi.c +++ b/keyboards/handwired/dygma/raise/ansi/ansi.c @@ -38,3 +38,44 @@ const uint8_t led_map[RGB_MATRIX_LED_COUNT] = { 34 + LPH, 35 + LPH, 36 + LPH, 37 + LPH, 38 + LPH, 39 + LPH, 40 + LPH, 41 + LPH, 42 + LPH, 43 + LPH, 44 + LPH, 45 + LPH, 46 + LPH, 47 + LPH, 48 + LPH, 49 + LPH, 50 + LPH, 51 + LPH, 52 + LPH, 53 + LPH, 54 + LPH, 55 + LPH, 56 + LPH, 57 + LPH, 58 + LPH, 59 + LPH, 60 + LPH, 61 + LPH, 62 + LPH, 63 + LPH, 64 + LPH, 65 + LPH, 0xff }; + +// taken from "key_led_map" and reformatted +// ISO & ANSI (ANSI has no LED at 20, but this key can never be pressed so we can have just one map). +led_config_t g_led_config = { { + // left hand + { 0 , 1 , 2 , 3 , 4 , 5 , 6 , NO_LED } , + { 7 , 8 , 9 , 10 , 11 , 12 , NO_LED , NO_LED } , + { 13 , 14 , 15 , 16 , 17 , 18 , NO_LED , NO_LED } , + { 19 , 20 , 21 , 22 , 23 , 24 , 25 , NO_LED } , + { 26 , 27 , 28 , 29 , 30 , NO_LED , 31 , 32 } , + + // right hand + { 33 , 34 , 35 , 36 , 37 , 38 , 39 , NO_LED } , + { 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 } , + { 48 , 49 , 50 , 51 , 52 , 53 , 54 , NO_LED } , + { 55 , 56 , 57 , 58 , 59 , 60 , NO_LED , NO_LED } , + { 61 , 62 , 63 , 64 , 65 , 66 , 67 , 68 } + }, { + // generated from the svg image of the keyboard, see create-led-config.js + {82, 3}, {88, 3}, {94, 3}, {100, 3}, {106, 3}, {112, 3}, {118, 3}, {84, 10}, {91, 10}, {97, 10}, {103, 10}, {109, 10}, + {115, 10}, {84, 16}, {92, 16}, {98, 16}, {104, 16}, {110, 16}, {116, 16}, {85, 22}, + {0, 0}, + {94, 22}, {100, 22}, {106, 22}, {112, 22}, {118, 22}, {83, 28}, {90, 28}, {98, 28}, {106, 28}, {116, 28}, {111, 34}, + {118, 34}, {168, 3}, {159, 3}, {153, 3}, {147, 3}, {141, 3}, {135, 3}, {129, 3}, {168, 16}, {162, 10}, {156, 10}, + {150, 10}, {144, 10}, {139, 10}, {133, 10}, {127, 10}, {170, 10}, {159, 16}, {153, 16}, {147, 16}, {141, 16}, {135, 16}, + {129, 16}, {166, 22}, {154, 22}, {148, 22}, {142, 22}, {136, 22}, {130, 22}, {170, 28}, {163, 28}, {156, 28}, {149, 28}, + {140, 28}, {131, 28}, {136, 34}, {128, 34}, {78, 13}, {78, 6}, {80, 0}, {87, 0}, {95, 0}, {103, 0}, {111, 0}, {119, 0}, + {122, 3}, {121, 9}, {120, 15}, {122, 21}, {123, 27}, {123, 33}, {120, 38}, {116, 42}, {114, 48}, {112, 55}, {109, 61}, + {103, 64}, {96, 64}, {88, 64}, {81, 63}, {76, 60}, {75, 52}, {75, 46}, {74, 38}, {74, 32}, {75, 27}, {77, 21}, {175, 10}, + {175, 4}, {172, 0}, {164, 0}, {157, 0}, {149, 0}, {142, 0}, {134, 0}, {127, 0}, {123, 3}, {122, 8}, {122, 15}, {124, 21}, + {124, 27}, {124, 33}, {126, 38}, {131, 42}, {134, 48}, {135, 55}, {137, 61}, {143, 63}, {150, 63}, {158, 63}, {166, 63}, + {173, 63}, {177, 59}, {178, 49}, {179, 40}, {179, 31}, {177, 25}, {175, 20}, {175, 15}, {123, 54} + }, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 0, + 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 + } +}; diff --git a/keyboards/handwired/dygma/raise/ansi/keyboard.json b/keyboards/handwired/dygma/raise/ansi/keyboard.json index 703ae91244..9abe98fdfa 100644 --- a/keyboards/handwired/dygma/raise/ansi/keyboard.json +++ b/keyboards/handwired/dygma/raise/ansi/keyboard.json @@ -6,142 +6,6 @@ "rgb_matrix": true, "raw": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 82, "y": 3, "flags": 4}, - {"matrix": [0, 1], "x": 88, "y": 3, "flags": 4}, - {"matrix": [0, 2], "x": 94, "y": 3, "flags": 4}, - {"matrix": [0, 3], "x": 100, "y": 3, "flags": 4}, - {"matrix": [0, 4], "x": 106, "y": 3, "flags": 4}, - {"matrix": [0, 5], "x": 112, "y": 3, "flags": 4}, - {"matrix": [0, 6], "x": 118, "y": 3, "flags": 4}, - {"matrix": [1, 0], "x": 84, "y": 10, "flags": 4}, - {"matrix": [1, 1], "x": 91, "y": 10, "flags": 4}, - {"matrix": [1, 2], "x": 97, "y": 10, "flags": 4}, - {"matrix": [1, 3], "x": 103, "y": 10, "flags": 4}, - {"matrix": [1, 4], "x": 109, "y": 10, "flags": 4}, - {"matrix": [1, 5], "x": 115, "y": 10, "flags": 4}, - {"matrix": [2, 0], "x": 84, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 92, "y": 16, "flags": 4}, - {"matrix": [2, 2], "x": 98, "y": 16, "flags": 4}, - {"matrix": [2, 3], "x": 104, "y": 16, "flags": 4}, - {"matrix": [2, 4], "x": 110, "y": 16, "flags": 4}, - {"matrix": [2, 5], "x": 116, "y": 16, "flags": 4}, - {"matrix": [3, 0], "x": 85, "y": 22, "flags": 4}, - {"matrix": [3, 1], "x": 0, "y": 0, "flags": 0}, - {"matrix": [3, 2], "x": 94, "y": 22, "flags": 4}, - {"matrix": [3, 3], "x": 100, "y": 22, "flags": 4}, - {"matrix": [3, 4], "x": 106, "y": 22, "flags": 4}, - {"matrix": [3, 5], "x": 112, "y": 22, "flags": 4}, - {"matrix": [3, 6], "x": 118, "y": 22, "flags": 4}, - {"matrix": [4, 0], "x": 83, "y": 28, "flags": 4}, - {"matrix": [4, 1], "x": 90, "y": 28, "flags": 4}, - {"matrix": [4, 2], "x": 98, "y": 28, "flags": 4}, - {"matrix": [4, 3], "x": 106, "y": 28, "flags": 4}, - {"matrix": [4, 4], "x": 116, "y": 28, "flags": 4}, - {"matrix": [4, 6], "x": 111, "y": 34, "flags": 4}, - {"matrix": [4, 7], "x": 118, "y": 34, "flags": 4}, - {"matrix": [5, 0], "x": 168, "y": 3, "flags": 4}, - {"matrix": [5, 1], "x": 159, "y": 3, "flags": 4}, - {"matrix": [5, 2], "x": 153, "y": 3, "flags": 4}, - {"matrix": [5, 3], "x": 147, "y": 3, "flags": 4}, - {"matrix": [5, 4], "x": 141, "y": 3, "flags": 4}, - {"matrix": [5, 5], "x": 135, "y": 3, "flags": 4}, - {"matrix": [5, 6], "x": 129, "y": 3, "flags": 4}, - {"matrix": [6, 0], "x": 168, "y": 16, "flags": 4}, - {"matrix": [6, 1], "x": 162, "y": 10, "flags": 4}, - {"matrix": [6, 2], "x": 156, "y": 10, "flags": 4}, - {"matrix": [6, 3], "x": 150, "y": 10, "flags": 4}, - {"matrix": [6, 4], "x": 144, "y": 10, "flags": 4}, - {"matrix": [6, 5], "x": 139, "y": 10, "flags": 4}, - {"matrix": [6, 6], "x": 133, "y": 10, "flags": 4}, - {"matrix": [6, 7], "x": 127, "y": 10, "flags": 4}, - {"matrix": [7, 0], "x": 170, "y": 10, "flags": 4}, - {"matrix": [7, 1], "x": 159, "y": 16, "flags": 4}, - {"matrix": [7, 2], "x": 153, "y": 16, "flags": 4}, - {"matrix": [7, 3], "x": 147, "y": 16, "flags": 4}, - {"matrix": [7, 4], "x": 141, "y": 16, "flags": 4}, - {"matrix": [7, 5], "x": 135, "y": 16, "flags": 4}, - {"matrix": [7, 6], "x": 129, "y": 16, "flags": 4}, - {"matrix": [8, 0], "x": 166, "y": 22, "flags": 4}, - {"matrix": [8, 1], "x": 154, "y": 22, "flags": 4}, - {"matrix": [8, 2], "x": 148, "y": 22, "flags": 4}, - {"matrix": [8, 3], "x": 142, "y": 22, "flags": 4}, - {"matrix": [8, 4], "x": 136, "y": 22, "flags": 4}, - {"matrix": [8, 5], "x": 130, "y": 22, "flags": 4}, - {"matrix": [9, 0], "x": 170, "y": 28, "flags": 4}, - {"matrix": [9, 1], "x": 163, "y": 28, "flags": 4}, - {"matrix": [9, 2], "x": 156, "y": 28, "flags": 4}, - {"matrix": [9, 3], "x": 149, "y": 28, "flags": 4}, - {"matrix": [9, 4], "x": 140, "y": 28, "flags": 4}, - {"matrix": [9, 5], "x": 131, "y": 28, "flags": 4}, - {"matrix": [9, 6], "x": 136, "y": 34, "flags": 4}, - {"matrix": [9, 7], "x": 128, "y": 34, "flags": 4}, - {"x": 78, "y": 13, "flags": 2}, - {"x": 78, "y": 6, "flags": 2}, - {"x": 80, "y": 0, "flags": 2}, - {"x": 87, "y": 0, "flags": 2}, - {"x": 95, "y": 0, "flags": 2}, - {"x": 103, "y": 0, "flags": 2}, - {"x": 111, "y": 0, "flags": 2}, - {"x": 119, "y": 0, "flags": 2}, - {"x": 122, "y": 3, "flags": 2}, - {"x": 121, "y": 9, "flags": 2}, - {"x": 120, "y": 15, "flags": 2}, - {"x": 122, "y": 21, "flags": 2}, - {"x": 123, "y": 27, "flags": 2}, - {"x": 123, "y": 33, "flags": 2}, - {"x": 120, "y": 38, "flags": 2}, - {"x": 116, "y": 42, "flags": 2}, - {"x": 114, "y": 48, "flags": 2}, - {"x": 112, "y": 55, "flags": 2}, - {"x": 109, "y": 61, "flags": 2}, - {"x": 103, "y": 64, "flags": 2}, - {"x": 96, "y": 64, "flags": 2}, - {"x": 88, "y": 64, "flags": 2}, - {"x": 81, "y": 63, "flags": 2}, - {"x": 76, "y": 60, "flags": 2}, - {"x": 75, "y": 52, "flags": 2}, - {"x": 75, "y": 46, "flags": 2}, - {"x": 74, "y": 38, "flags": 2}, - {"x": 74, "y": 32, "flags": 2}, - {"x": 75, "y": 27, "flags": 2}, - {"x": 77, "y": 21, "flags": 2}, - {"x": 175, "y": 10, "flags": 2}, - {"x": 175, "y": 4, "flags": 2}, - {"x": 172, "y": 0, "flags": 2}, - {"x": 164, "y": 0, "flags": 2}, - {"x": 157, "y": 0, "flags": 2}, - {"x": 149, "y": 0, "flags": 2}, - {"x": 142, "y": 0, "flags": 2}, - {"x": 134, "y": 0, "flags": 2}, - {"x": 127, "y": 0, "flags": 2}, - {"x": 123, "y": 3, "flags": 2}, - {"x": 122, "y": 8, "flags": 2}, - {"x": 122, "y": 15, "flags": 2}, - {"x": 124, "y": 21, "flags": 2}, - {"x": 124, "y": 27, "flags": 2}, - {"x": 124, "y": 33, "flags": 2}, - {"x": 126, "y": 38, "flags": 2}, - {"x": 131, "y": 42, "flags": 2}, - {"x": 134, "y": 48, "flags": 2}, - {"x": 135, "y": 55, "flags": 2}, - {"x": 137, "y": 61, "flags": 2}, - {"x": 143, "y": 63, "flags": 2}, - {"x": 150, "y": 63, "flags": 2}, - {"x": 158, "y": 63, "flags": 2}, - {"x": 166, "y": 63, "flags": 2}, - {"x": 173, "y": 63, "flags": 2}, - {"x": 177, "y": 59, "flags": 2}, - {"x": 178, "y": 49, "flags": 2}, - {"x": 179, "y": 40, "flags": 2}, - {"x": 179, "y": 31, "flags": 2}, - {"x": 177, "y": 25, "flags": 2}, - {"x": 175, "y": 20, "flags": 2}, - {"x": 175, "y": 15, "flags": 2}, - {"x": 123, "y": 54, "flags": 4} - ] - }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/handwired/dygma/raise/info.json b/keyboards/handwired/dygma/raise/info.json index 56058c31f5..be32abfb94 100644 --- a/keyboards/handwired/dygma/raise/info.json +++ b/keyboards/handwired/dygma/raise/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Raise", "manufacturer": "Dygma", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/dygma/raise", "maintainer": "ibash", "usb": { "vid": "0x1209", diff --git a/keyboards/handwired/dygma/raise/iso/iso.c b/keyboards/handwired/dygma/raise/iso/iso.c index 247a9646df..9643af7b8c 100644 --- a/keyboards/handwired/dygma/raise/iso/iso.c +++ b/keyboards/handwired/dygma/raise/iso/iso.c @@ -38,3 +38,42 @@ const uint8_t led_map[RGB_MATRIX_LED_COUNT] = { 34 + LPH, 35 + LPH, 36 + LPH, 37 + LPH, 38 + LPH, 39 + LPH, 40 + LPH, 41 + LPH, 42 + LPH, 43 + LPH, 44 + LPH, 45 + LPH, 46 + LPH, 47 + LPH, 48 + LPH, 49 + LPH, 50 + LPH, 51 + LPH, 52 + LPH, 53 + LPH, 54 + LPH, 55 + LPH, 56 + LPH, 57 + LPH, 58 + LPH, 59 + LPH, 60 + LPH, 61 + LPH, 62 + LPH, 63 + LPH, 64 + LPH, 65 + LPH, 0xff }; + +// taken from "key_led_map" and reformatted +// ISO & ANSI (ANSI has no LED at 20, but this key can never be pressed so we can have just one map). +led_config_t g_led_config = { { + // left hand + { 0 , 1 , 2 , 3 , 4 , 5 , 6 , NO_LED } , + { 7 , 8 , 9 , 10 , 11 , 12 , NO_LED , NO_LED } , + { 13 , 14 , 15 , 16 , 17 , 18 , NO_LED , NO_LED } , + { 19 , 20 , 21 , 22 , 23 , 24 , 25 , NO_LED } , + { 26 , 27 , 28 , 29 , 30 , NO_LED , 31 , 32 } , + + // right hand + { 33 , 34 , 35 , 36 , 37 , 38 , 39 , NO_LED } , + { 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 } , + { 48 , 49 , 50 , 51 , 52 , 53 , 54 , NO_LED } , + { 55 , 56 , 57 , 58 , 59 , 60 , NO_LED , NO_LED } , + { 61 , 62 , 63 , 64 , 65 , 66 , 67 , 68 } + }, { + // generated from the svg image of the keyboard, see create-led-config.js + {82, 3}, {88, 3}, {94, 3}, {100, 3}, {106, 3}, {112, 3}, {118, 3}, {84, 10}, {91, 10}, {97, 10}, {103, 10}, {109, 10}, + {115, 10}, {84, 16}, {92, 16}, {98, 16}, {104, 16}, {110, 16}, {116, 16}, {82, 22}, {88, 22}, {94, 22}, {100, 22}, + {106, 22}, {112, 22}, {118, 22}, {83, 28}, {90, 28}, {98, 28}, {106, 28}, {116, 28}, {111, 34}, {118, 34}, {168, 3}, + {159, 3}, {153, 3}, {147, 3}, {141, 3}, {135, 3}, {129, 3}, {170, 13}, {162, 10}, {156, 10}, {150, 10}, {144, 10}, + {139, 10}, {133, 10}, {127, 10}, {164, 16}, {158, 16}, {152, 16}, {146, 16}, {140, 16}, {134, 16}, {128, 16}, {166, 22}, + {154, 22}, {148, 22}, {142, 22}, {136, 22}, {130, 22}, {170, 28}, {163, 28}, {156, 28}, {149, 28}, {140, 28}, {131, 28}, + {136, 34}, {128, 34}, {78, 13}, {78, 6}, {80, 0}, {87, 0}, {95, 0}, {103, 0}, {111, 0}, {119, 0}, {122, 3}, {121, 9}, + {120, 15}, {122, 21}, {123, 27}, {123, 33}, {120, 38}, {116, 42}, {114, 48}, {112, 55}, {109, 61}, {103, 64}, {96, 64}, + {88, 64}, {81, 63}, {76, 60}, {75, 52}, {75, 46}, {74, 38}, {74, 32}, {75, 27}, {77, 21}, {175, 10}, {175, 4}, {172, 0}, + {164, 0}, {157, 0}, {149, 0}, {142, 0}, {134, 0}, {127, 0}, {123, 3}, {122, 8}, {122, 15}, {124, 21}, {124, 27}, {124, 33}, + {126, 38}, {131, 42}, {134, 48}, {135, 55}, {137, 61}, {143, 63}, {150, 63}, {158, 63}, {166, 63}, {173, 63}, {177, 59}, + {178, 49}, {179, 40}, {179, 31}, {177, 25}, {175, 20}, {175, 15}, {123, 54} + + }, { + 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 + } +}; diff --git a/keyboards/handwired/dygma/raise/iso/keyboard.json b/keyboards/handwired/dygma/raise/iso/keyboard.json index 057851bd8c..9abe98fdfa 100644 --- a/keyboards/handwired/dygma/raise/iso/keyboard.json +++ b/keyboards/handwired/dygma/raise/iso/keyboard.json @@ -6,142 +6,6 @@ "rgb_matrix": true, "raw": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 82, "y": 3, "flags": 4}, - {"matrix": [0, 1], "x": 88, "y": 3, "flags": 4}, - {"matrix": [0, 2], "x": 94, "y": 3, "flags": 4}, - {"matrix": [0, 3], "x": 100, "y": 3, "flags": 4}, - {"matrix": [0, 4], "x": 106, "y": 3, "flags": 4}, - {"matrix": [0, 5], "x": 112, "y": 3, "flags": 4}, - {"matrix": [0, 6], "x": 118, "y": 3, "flags": 4}, - {"matrix": [1, 0], "x": 84, "y": 10, "flags": 4}, - {"matrix": [1, 1], "x": 91, "y": 10, "flags": 4}, - {"matrix": [1, 2], "x": 97, "y": 10, "flags": 4}, - {"matrix": [1, 3], "x": 103, "y": 10, "flags": 4}, - {"matrix": [1, 4], "x": 109, "y": 10, "flags": 4}, - {"matrix": [1, 5], "x": 115, "y": 10, "flags": 4}, - {"matrix": [2, 0], "x": 84, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 92, "y": 16, "flags": 4}, - {"matrix": [2, 2], "x": 98, "y": 16, "flags": 4}, - {"matrix": [2, 3], "x": 104, "y": 16, "flags": 4}, - {"matrix": [2, 4], "x": 110, "y": 16, "flags": 4}, - {"matrix": [2, 5], "x": 116, "y": 16, "flags": 4}, - {"matrix": [3, 0], "x": 82, "y": 22, "flags": 4}, - {"matrix": [3, 1], "x": 88, "y": 22, "flags": 4}, - {"matrix": [3, 2], "x": 94, "y": 22, "flags": 4}, - {"matrix": [3, 3], "x": 100, "y": 22, "flags": 4}, - {"matrix": [3, 4], "x": 106, "y": 22, "flags": 4}, - {"matrix": [3, 5], "x": 112, "y": 22, "flags": 4}, - {"matrix": [3, 6], "x": 118, "y": 22, "flags": 4}, - {"matrix": [4, 0], "x": 83, "y": 28, "flags": 4}, - {"matrix": [4, 1], "x": 90, "y": 28, "flags": 4}, - {"matrix": [4, 2], "x": 98, "y": 28, "flags": 4}, - {"matrix": [4, 3], "x": 106, "y": 28, "flags": 4}, - {"matrix": [4, 4], "x": 116, "y": 28, "flags": 4}, - {"matrix": [4, 6], "x": 111, "y": 34, "flags": 4}, - {"matrix": [4, 7], "x": 118, "y": 34, "flags": 4}, - {"matrix": [5, 0], "x": 168, "y": 3, "flags": 4}, - {"matrix": [5, 1], "x": 159, "y": 3, "flags": 4}, - {"matrix": [5, 2], "x": 153, "y": 3, "flags": 4}, - {"matrix": [5, 3], "x": 147, "y": 3, "flags": 4}, - {"matrix": [5, 4], "x": 141, "y": 3, "flags": 4}, - {"matrix": [5, 5], "x": 135, "y": 3, "flags": 4}, - {"matrix": [5, 6], "x": 129, "y": 3, "flags": 4}, - {"matrix": [6, 0], "x": 170, "y": 13, "flags": 4}, - {"matrix": [6, 1], "x": 162, "y": 10, "flags": 4}, - {"matrix": [6, 2], "x": 156, "y": 10, "flags": 4}, - {"matrix": [6, 3], "x": 150, "y": 10, "flags": 4}, - {"matrix": [6, 4], "x": 144, "y": 10, "flags": 4}, - {"matrix": [6, 5], "x": 139, "y": 10, "flags": 4}, - {"matrix": [6, 6], "x": 133, "y": 10, "flags": 4}, - {"matrix": [6, 7], "x": 127, "y": 10, "flags": 4}, - {"matrix": [7, 0], "x": 164, "y": 16, "flags": 4}, - {"matrix": [7, 1], "x": 158, "y": 16, "flags": 4}, - {"matrix": [7, 2], "x": 152, "y": 16, "flags": 4}, - {"matrix": [7, 3], "x": 146, "y": 16, "flags": 4}, - {"matrix": [7, 4], "x": 140, "y": 16, "flags": 4}, - {"matrix": [7, 5], "x": 134, "y": 16, "flags": 4}, - {"matrix": [7, 6], "x": 128, "y": 16, "flags": 4}, - {"matrix": [8, 0], "x": 166, "y": 22, "flags": 4}, - {"matrix": [8, 1], "x": 154, "y": 22, "flags": 4}, - {"matrix": [8, 2], "x": 148, "y": 22, "flags": 4}, - {"matrix": [8, 3], "x": 142, "y": 22, "flags": 4}, - {"matrix": [8, 4], "x": 136, "y": 22, "flags": 4}, - {"matrix": [8, 5], "x": 130, "y": 22, "flags": 4}, - {"matrix": [9, 0], "x": 170, "y": 28, "flags": 4}, - {"matrix": [9, 1], "x": 163, "y": 28, "flags": 4}, - {"matrix": [9, 2], "x": 156, "y": 28, "flags": 4}, - {"matrix": [9, 3], "x": 149, "y": 28, "flags": 4}, - {"matrix": [9, 4], "x": 140, "y": 28, "flags": 4}, - {"matrix": [9, 5], "x": 131, "y": 28, "flags": 4}, - {"matrix": [9, 6], "x": 136, "y": 34, "flags": 4}, - {"matrix": [9, 7], "x": 128, "y": 34, "flags": 4}, - {"x": 78, "y": 13, "flags": 2}, - {"x": 78, "y": 6, "flags": 2}, - {"x": 80, "y": 0, "flags": 2}, - {"x": 87, "y": 0, "flags": 2}, - {"x": 95, "y": 0, "flags": 2}, - {"x": 103, "y": 0, "flags": 2}, - {"x": 111, "y": 0, "flags": 2}, - {"x": 119, "y": 0, "flags": 2}, - {"x": 122, "y": 3, "flags": 2}, - {"x": 121, "y": 9, "flags": 2}, - {"x": 120, "y": 15, "flags": 2}, - {"x": 122, "y": 21, "flags": 2}, - {"x": 123, "y": 27, "flags": 2}, - {"x": 123, "y": 33, "flags": 2}, - {"x": 120, "y": 38, "flags": 2}, - {"x": 116, "y": 42, "flags": 2}, - {"x": 114, "y": 48, "flags": 2}, - {"x": 112, "y": 55, "flags": 2}, - {"x": 109, "y": 61, "flags": 2}, - {"x": 103, "y": 64, "flags": 2}, - {"x": 96, "y": 64, "flags": 2}, - {"x": 88, "y": 64, "flags": 2}, - {"x": 81, "y": 63, "flags": 2}, - {"x": 76, "y": 60, "flags": 2}, - {"x": 75, "y": 52, "flags": 2}, - {"x": 75, "y": 46, "flags": 2}, - {"x": 74, "y": 38, "flags": 2}, - {"x": 74, "y": 32, "flags": 2}, - {"x": 75, "y": 27, "flags": 2}, - {"x": 77, "y": 21, "flags": 2}, - {"x": 175, "y": 10, "flags": 2}, - {"x": 175, "y": 4, "flags": 2}, - {"x": 172, "y": 0, "flags": 2}, - {"x": 164, "y": 0, "flags": 2}, - {"x": 157, "y": 0, "flags": 2}, - {"x": 149, "y": 0, "flags": 2}, - {"x": 142, "y": 0, "flags": 2}, - {"x": 134, "y": 0, "flags": 2}, - {"x": 127, "y": 0, "flags": 2}, - {"x": 123, "y": 3, "flags": 2}, - {"x": 122, "y": 8, "flags": 2}, - {"x": 122, "y": 15, "flags": 2}, - {"x": 124, "y": 21, "flags": 2}, - {"x": 124, "y": 27, "flags": 2}, - {"x": 124, "y": 33, "flags": 2}, - {"x": 126, "y": 38, "flags": 2}, - {"x": 131, "y": 42, "flags": 2}, - {"x": 134, "y": 48, "flags": 2}, - {"x": 135, "y": 55, "flags": 2}, - {"x": 137, "y": 61, "flags": 2}, - {"x": 143, "y": 63, "flags": 2}, - {"x": 150, "y": 63, "flags": 2}, - {"x": 158, "y": 63, "flags": 2}, - {"x": 166, "y": 63, "flags": 2}, - {"x": 173, "y": 63, "flags": 2}, - {"x": 177, "y": 59, "flags": 2}, - {"x": 178, "y": 49, "flags": 2}, - {"x": 179, "y": 40, "flags": 2}, - {"x": 179, "y": 31, "flags": 2}, - {"x": 177, "y": 25, "flags": 2}, - {"x": 175, "y": 20, "flags": 2}, - {"x": 175, "y": 15, "flags": 2}, - {"x": 123, "y": 54, "flags": 4} - ] - }, "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/handwired/ergo_v_1/keyboard.json b/keyboards/handwired/ergo_v_1/keyboard.json deleted file mode 100644 index b26e34f8bb..0000000000 --- a/keyboards/handwired/ergo_v_1/keyboard.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "keyboard_name": "Ergo-V-1", - "manufacturer": "wizardkeyboards", - "url": "https://wizardkeyboards.com/", - "maintainer": "qmk", - "usb": { - "vid": "0xFEED", - "pid": "0x97C4", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true - }, - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "matrix_pins": { - "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], - "rows": ["F6", "F7", "B1", "B3", "B2", "B6"] - }, - "diode_direction": "COL2ROW", - "split": { - "enabled": true, - "serial": { - "pin": "D0" - } - }, - "development_board": "promicro", - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - - {"matrix": [6, 0], "x": 11, "y": 0}, - {"matrix": [6, 1], "x": 12, "y": 0}, - {"matrix": [6, 2], "x": 13, "y": 0}, - {"matrix": [6, 3], "x": 14, "y": 0}, - {"matrix": [6, 4], "x": 15, "y": 0}, - {"matrix": [6, 5], "x": 16, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - - {"matrix": [7, 0], "x": 11, "y": 1}, - {"matrix": [7, 1], "x": 12, "y": 1}, - {"matrix": [7, 2], "x": 13, "y": 1}, - {"matrix": [7, 3], "x": 14, "y": 1}, - {"matrix": [7, 4], "x": 15, "y": 1}, - {"matrix": [7, 5], "x": 16, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - - {"matrix": [8, 0], "x": 11, "y": 2}, - {"matrix": [8, 1], "x": 12, "y": 2}, - {"matrix": [8, 2], "x": 13, "y": 2}, - {"matrix": [8, 3], "x": 14, "y": 2}, - {"matrix": [8, 4], "x": 15, "y": 2}, - {"matrix": [8, 5], "x": 16, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - - {"matrix": [9, 0], "x": 11, "y": 3}, - {"matrix": [9, 1], "x": 12, "y": 3}, - {"matrix": [9, 2], "x": 13, "y": 3}, - {"matrix": [9, 3], "x": 14, "y": 3}, - {"matrix": [9, 4], "x": 15, "y": 3}, - {"matrix": [9, 5], "x": 16, "y": 3}, - - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2, "y": 4}, - {"matrix": [4, 3], "x": 3, "y": 4}, - - {"matrix": [10, 2], "x": 13, "y": 4}, - {"matrix": [10, 3], "x": 14, "y": 4}, - {"matrix": [10, 4], "x": 15, "y": 4}, - - {"matrix": [4, 5], "x": 4, "y": 5}, - {"matrix": [5, 5], "x": 5, "y": 5}, - - {"matrix": [11, 0], "x": 11, "y": 5}, - {"matrix": [10, 0], "x": 12, "y": 5}, - - {"matrix": [4, 4], "x": 4, "y": 4}, - {"matrix": [5, 4], "x": 6, "y": 7}, - {"matrix": [5, 3], "x": 6, "y": 6}, - {"matrix": [5, 1], "x": 7, "y": 6}, - - {"matrix": [11, 4], "x": 9, "y": 6} - {"matrix": [11, 2], "x": 10, "y": 6}, - {"matrix": [11, 1], "x": 10, "y": 7}, - {"matrix": [10, 1], "x": 12, "y": 4}, - - {"matrix": [5, 2], "x": 7, "y": 7}, - {"matrix": [11, 3], "x": 9, "y": 7}, - ] - } - } -} diff --git a/keyboards/handwired/ergo_v_1/keymaps/default/keymap.c b/keyboards/handwired/ergo_v_1/keymaps/default/keymap.c deleted file mode 100644 index c69fa20367..0000000000 --- a/keyboards/handwired/ergo_v_1/keymaps/default/keymap.c +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2025 https://github.com/wizarddata -// Copyright 2025 https://github.com/VPavliashvili -// SPDX-License-Identifier: GPL-2.0+ - -#include QMK_KEYBOARD_H - -enum layers { - _MN, // main - _FN, // fn - _MS, // mouse movements -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MN] = LAYOUT( -// ┌───────┬───────┬───────┬───────┬───────┬───────┐ ┌───────┬───────┬───────┬───────┬───────┬───────┐ - KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,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_ENT , -// ├───────┼───────┼───────┼───────┼───────┼───────┤ ├───────┼───────┼───────┼───────┼───────┼───────┤ - 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_RSFT, -// └───────┼───────┼───────┼───────┼───────┴───────┘ └───────┴───────┼───────┼───────┼───────┼───────┘ - XXXXXXX,KC_PGDN,KC_PGUP, KC_HOME,KC_END ,XXXXXXX, -// └───────┴───────┴───────┘ └───────┴───────┴───────┘ -// ┌───────┬───────┐ ┌───────┬───────┐ - KC_PSCR,KC_EQL , KC_MINS,KC_INS , -// ┌────────┬───────┼───────┼───────┤ ├───────┼───────┼───────┬───────┐ - KC_LGUI, KC_SPC ,KC_LCTL,KC_DEL , KC_SCRL,MO(_FN),KC_BSPC,KC_RGUI, -// | ├───────┤ ├───────┤ | - KC_LALT, MO(_MS) -// └────────────────────────┴───────┘ └───────┴───────────────────────┘ - ), - [_FN] = LAYOUT( -// ┌───────┬───────┬───────┬───────┬───────┬───────┐ ┌───────┬───────┬───────┬───────┬───────┬───────┐ - XXXXXXX,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 , -// ├───────┼───────┼───────┼───────┼───────┼───────┤ ├───────┼───────┼───────┼───────┼───────┼───────┤ - _______,_______,KC_VOLD,KC_MUTE,KC_VOLU,_______, KC_F12 ,KC_MPRV,KC_MPLY,KC_MNXT,_______,_______, -// ├───────┼───────┼───────┼───────┼───────┼───────┤ ├───────┼───────┼───────┼───────┼───────┼───────┤ - _______,_______,_______,_______,_______,_______, KC_LEFT,KC_DOWN,KC_UP ,KC_RGHT,_______,_______, -// ├───────┼───────┼───────┼───────┼───────┼───────┤ ├───────┼───────┼───────┼───────┼───────┼───────┤ - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, -// └───────┼───────┼───────┼───────┼───────┴───────┘ └───────┴───────┼───────┼───────┼───────┼───────┘ - _______,_______,_______, _______,_______,_______, -// └───────┴───────┴───────┘ └───────┴───────┴───────┘ -// ┌───────┬───────┐ ┌───────┬───────┐ - _______,_______, _______,_______, -// ┌────────┬───────┼───────┼───────┤ ├───────┼───────┼───────┬───────┐ - _______, _______,_______,_______, _______,_______,_______,_______, -// | ├───────┤ ├───────┤ | - _______, _______ -// └────────────────────────┴───────┘ └───────┴───────────────────────┘ - ), - [_MS] = LAYOUT( -// ┌───────┬───────┬───────┬───────┬───────┬───────┐ ┌───────┬───────┬───────┬───────┬───────┬───────┐ - XXXXXXX,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, -// ├───────┼───────┼───────┼───────┼───────┼───────┤ ├───────┼───────┼───────┼───────┼───────┼───────┤ - _______,_______,MS_WHLU,_______,_______,_______, _______,_______,_______,_______,_______,_______, -// ├───────┼───────┼───────┼───────┼───────┼───────┤ ├───────┼───────┼───────┼───────┼───────┼───────┤ - _______,_______,MS_WHLD,_______,MS_BTN1,MS_BTN2, MS_LEFT,MS_DOWN,MS_UP ,MS_RGHT,_______,_______, -// ├───────┼───────┼───────┼───────┼───────┼───────┤ ├───────┼───────┼───────┼───────┼───────┼───────┤ - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, -// └───────┼───────┼───────┼───────┼───────┴───────┘ └───────┴───────┼───────┼───────┼───────┼───────┘ - _______,_______,_______, _______,_______,_______, -// └───────┴───────┴───────┘ └───────┴───────┴───────┘ -// ┌───────┬───────┐ ┌───────┬───────┐ - _______,_______, _______,_______, -// ┌────────┬───────┼───────┼───────┤ ├───────┼───────┼───────┬───────┐ - _______, _______,_______,_______, _______,_______,_______,_______, -// | ├───────┤ ├───────┤ | - _______, _______ -// └────────────────────────┴───────┘ └───────┴───────────────────────┘ - ) -}; diff --git a/keyboards/handwired/ergo_v_1/readme.md b/keyboards/handwired/ergo_v_1/readme.md deleted file mode 100644 index 371ebeae4f..0000000000 --- a/keyboards/handwired/ergo_v_1/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# Ergo-V-1 - -Fork of [Ergo-S-1](https://github.com/wizarddata/Ergo-S-1) from WizardKeyboards - -Ergo-S-1 on its part is heavily inspired from Kinesis Advantage - -![Ergo-V-1](https://i.imgur.com/eE1l5IV.jpeg) - -This keyboard is practically identical to the orignal one with some differences -* Modified thumb cluster with one extra key -* Improved switch cutouts, compatible with kailh style switches -* unlike Ergo-S-1 this is a wired keyboard based on qmk - -Make example for this keyboard (after setting up your build environment): - - make handwired/ergo_v_1:default - -Flashing example for this keyboard: - - make handwired/ergo_v_1:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 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 -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/evk/readme.md b/keyboards/handwired/evk/readme.md index 1be2e73cd7..ccfed391d4 100644 --- a/keyboards/handwired/evk/readme.md +++ b/keyboards/handwired/evk/readme.md @@ -3,4 +3,4 @@ The Ergonomic Vertical Keyboard (EVK) deletes our humpback. * Maintainer: [YangPiCui](https://github.com/YangPiCui) -* Hardware Availability: Upon Custom Ordering +* Hardware Availability: Upon Custom Ordering \ No newline at end of file diff --git a/keyboards/handwired/fabiclawz/alpha_fs/keyboard.json b/keyboards/handwired/fabiclawz/alpha_fs/keyboard.json deleted file mode 100644 index 0d69485773..0000000000 --- a/keyboards/handwired/fabiclawz/alpha_fs/keyboard.json +++ /dev/null @@ -1,268 +0,0 @@ -{ - "manufacturer": "FabiClawZ", - "keyboard_name": "handwired/fabiclawz/alpha_fs", - "maintainer": "FFS2309", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10"], - "rows": ["GP14", "GP15", "GP16", "GP17", "GP18", "GP19", "GP20", "GP21", "GP22", "GP26"] - }, - "processor": "RP2040", - "rgb_matrix": { - "animations": { - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "multisplash": true, - "solid_reactive_simple": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 13, "y": 0, "flags": 1}, - {"matrix": [9, 1], "x": 24, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 34, "y": 0, "flags": 1}, - {"matrix": [9, 2], "x": 45, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 57, "y": 0, "flags": 1}, - {"matrix": [9, 3], "x": 68, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 78, "y": 0, "flags": 1}, - {"matrix": [9, 4], "x": 89, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 102, "y": 0, "flags": 1}, - {"matrix": [9, 5], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 123, "y": 0, "flags": 1}, - {"matrix": [9, 6], "x": 133, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 146, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 159, "y": 0, "flags": 1}, - {"matrix": [7, 8], "x": 169, "y": 0, "flags": 1}, - {"matrix": [8, 8], "x": 180, "y": 0, "flags": 1}, - {"matrix": [9, 8], "x": 193, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 203, "y": 0, "flags": 1}, - {"matrix": [1, 10], "x": 214, "y": 0, "flags": 1}, - {"matrix": [2, 10], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [8, 1], "x": 21, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 31, "y": 15, "flags": 4}, - {"matrix": [8, 2], "x": 42, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 15, "flags": 4}, - {"matrix": [8, 3], "x": 63, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 73, "y": 15, "flags": 4}, - {"matrix": [8, 4], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 94, "y": 15, "flags": 4}, - {"matrix": [8, 5], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 115, "y": 15, "flags": 4}, - {"matrix": [8, 6], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 141, "y": 15, "flags": 1}, - {"matrix": [1, 8], "x": 159, "y": 15, "flags": 1}, - {"matrix": [6, 8], "x": 169, "y": 15, "flags": 1}, - {"matrix": [5, 8], "x": 180, "y": 15, "flags": 1}, - {"matrix": [3, 10], "x": 193, "y": 15, "flags": 8}, - {"matrix": [4, 10], "x": 203, "y": 15, "flags": 4}, - {"matrix": [5, 10], "x": 214, "y": 15, "flags": 4}, - {"matrix": [6, 10], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [7, 1], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 36, "y": 27, "flags": 4}, - {"matrix": [7, 2], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 57, "y": 27, "flags": 4}, - {"matrix": [7, 3], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 78, "y": 27, "flags": 4}, - {"matrix": [7, 4], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 99, "y": 27, "flags": 4}, - {"matrix": [7, 5], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 120, "y": 27, "flags": 4}, - {"matrix": [7, 6], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 147, "y": 20, "flags": 1}, - {"matrix": [2, 8], "x": 159, "y": 27, "flags": 1}, - {"matrix": [3, 8], "x": 169, "y": 27, "flags": 1}, - {"matrix": [4, 8], "x": 180, "y": 27, "flags": 1}, - {"matrix": [0, 9], "x": 193, "y": 27, "flags": 4}, - {"matrix": [1, 9], "x": 203, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 214, "y": 27, "flags": 4}, - {"matrix": [7, 10], "x": 224, "y": 34, "flags": 4}, - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [6, 1], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 39, "y": 40, "flags": 4}, - {"matrix": [6, 2], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 60, "y": 40, "flags": 4}, - {"matrix": [6, 3], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 81, "y": 40, "flags": 4}, - {"matrix": [6, 4], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 102, "y": 40, "flags": 4}, - {"matrix": [6, 5], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 123, "y": 40, "flags": 4}, - {"matrix": [6, 6], "x": 133, "y": 40, "flags": 4}, - {"matrix": [5, 9], "x": 193, "y": 40, "flags": 4}, - {"matrix": [4, 9], "x": 203, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 214, "y": 40, "flags": 4}, - {"matrix": [4, 0], "x": 1, "y": 52, "flags": 1}, - {"matrix": [4, 1], "x": 13, "y": 52, "flags": 4}, - {"matrix": [5, 1], "x": 23, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 34, "y": 52, "flags": 4}, - {"matrix": [5, 2], "x": 44, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 55, "y": 52, "flags": 4}, - {"matrix": [5, 3], "x": 65, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 76, "y": 52, "flags": 4}, - {"matrix": [5, 4], "x": 86, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 69, "y": 52, "flags": 4}, - {"matrix": [5, 5], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 117, "y": 52, "flags": 4}, - {"matrix": [5, 6], "x": 137, "y": 52, "flags": 1}, - {"matrix": [3, 7], "x": 169, "y": 52, "flags": 1}, - {"matrix": [6, 9], "x": 193, "y": 52, "flags": 4}, - {"matrix": [7, 9], "x": 203, "y": 52, "flags": 4}, - {"matrix": [8, 9], "x": 214, "y": 52, "flags": 4}, - {"matrix": [8, 10], "x": 224, "y": 58, "flags": 1}, - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [6, 0], "x": 14, "y": 64, "flags": 1}, - {"matrix": [7, 0], "x": 27, "y": 64, "flags": 1}, - {"matrix": [8, 0], "x": 66, "y": 64, "flags": 4}, - {"matrix": [9, 0], "x": 105, "y": 64, "flags": 1}, - {"matrix": [9, 7], "x": 118, "y": 64, "flags": 1}, - {"matrix": [8, 7], "x": 131, "y": 64, "flags": 1}, - {"matrix": [7, 7], "x": 145, "y": 64, "flags": 1}, - {"matrix": [6, 7], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 7], "x": 169, "y": 64, "flags": 1}, - {"matrix": [4, 7], "x": 180, "y": 64, "flags": 1}, - {"matrix": [9, 9], "x": 198, "y": 64, "flags": 4}, - {"matrix": [9, 10], "x": 214, "y": 64, "flags": 1} - ] - }, - "url": "https://github.com/FFS2309/alpha_fs_keyboard", - "usb": { - "device_version": "1.0.0", - "pid": "0x0001", - "vid": "0x4643" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP11" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, - {"label": "F2", "matrix": [9, 1], "x": 2.25, "y": 0}, - {"label": "F3", "matrix": [0, 2], "x": 3.25, "y": 0}, - {"label": "F4", "matrix": [9, 2], "x": 4.25, "y": 0}, - {"label": "F5", "matrix": [0, 3], "x": 5.5, "y": 0}, - {"label": "F6", "matrix": [9, 3], "x": 6.5, "y": 0}, - {"label": "F7", "matrix": [0, 4], "x": 7.5, "y": 0}, - {"label": "F8", "matrix": [9, 4], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [0, 5], "x": 9.75, "y": 0}, - {"label": "F10", "matrix": [9, 5], "x": 10.75, "y": 0}, - {"label": "F11", "matrix": [0, 6], "x": 11.75, "y": 0}, - {"label": "F12", "matrix": [9, 6], "x": 12.75, "y": 0}, - {"label": "Extra1", "matrix": [0, 7], "x": 14, "y": 0}, - {"label": "PrtSc", "matrix": [0, 8], "x": 15.25, "y": 0}, - {"label": "Scroll Lock", "matrix": [7, 8], "x": 16.25, "y": 0}, - {"label": "Pause", "matrix": [8, 8], "x": 17.25, "y": 0}, - {"label": "Extra2", "matrix": [9, 8], "x": 18.5, "y": 0}, - {"label": "Extra3", "matrix": [0, 10], "x": 19.5, "y": 0}, - {"label": "Extra4", "matrix": [1, 10], "x": 20.5, "y": 0}, - {"label": "Extra5", "matrix": [2, 10], "x": 21.5, "y": 0}, - {"label": "^", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "2", "matrix": [8, 1], "x": 2, "y": 1.5}, - {"label": "3", "matrix": [1, 2], "x": 3, "y": 1.5}, - {"label": "4", "matrix": [8, 2], "x": 4, "y": 1.5}, - {"label": "5", "matrix": [1, 3], "x": 5, "y": 1.5}, - {"label": "6", "matrix": [8, 3], "x": 6, "y": 1.5}, - {"label": "7", "matrix": [1, 4], "x": 7, "y": 1.5}, - {"label": "8", "matrix": [8, 4], "x": 8, "y": 1.5}, - {"label": "9", "matrix": [1, 5], "x": 9, "y": 1.5}, - {"label": "0", "matrix": [8, 5], "x": 10, "y": 1.5}, - {"label": "\u00df", "matrix": [1, 6], "x": 11, "y": 1.5}, - {"label": "\u00b4", "matrix": [8, 6], "x": 12, "y": 1.5}, - {"label": "Backspace", "matrix": [1, 7], "x": 13, "y": 1.5, "w": 2}, - {"label": "Insert", "matrix": [1, 8], "x": 15.25, "y": 1.5}, - {"label": "Home", "matrix": [6, 8], "x": 16.25, "y": 1.5}, - {"label": "PgUp", "matrix": [5, 8], "x": 17.25, "y": 1.5}, - {"label": "Num Lock", "matrix": [3, 10], "x": 18.5, "y": 1.5}, - {"label": "/", "matrix": [4, 10], "x": 19.5, "y": 1.5}, - {"label": "*", "matrix": [5, 10], "x": 20.5, "y": 1.5}, - {"label": "-", "matrix": [6, 10], "x": 21.5, "y": 1.5}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "W", "matrix": [7, 1], "x": 2.5, "y": 2.5}, - {"label": "E", "matrix": [2, 2], "x": 3.5, "y": 2.5}, - {"label": "R", "matrix": [7, 2], "x": 4.5, "y": 2.5}, - {"label": "T", "matrix": [2, 3], "x": 5.5, "y": 2.5}, - {"label": "Y", "matrix": [7, 3], "x": 6.5, "y": 2.5}, - {"label": "U", "matrix": [2, 4], "x": 7.5, "y": 2.5}, - {"label": "I", "matrix": [7, 4], "x": 8.5, "y": 2.5}, - {"label": "O", "matrix": [2, 5], "x": 9.5, "y": 2.5}, - {"label": "P", "matrix": [7, 5], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [2, 6], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [7, 6], "x": 12.5, "y": 2.5}, - {"label": "Enter", "matrix": [2, 7], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - {"label": "Delete", "matrix": [2, 8], "x": 15.25, "y": 2.5}, - {"label": "End", "matrix": [3, 8], "x": 16.25, "y": 2.5}, - {"label": "PgDn", "matrix": [4, 8], "x": 17.25, "y": 2.5}, - {"label": "7", "matrix": [0, 9], "x": 18.5, "y": 2.5}, - {"label": "8", "matrix": [1, 9], "x": 19.5, "y": 2.5}, - {"label": "9", "matrix": [2, 9], "x": 20.5, "y": 2.5}, - {"label": "+", "matrix": [7, 10], "x": 21.5, "y": 2.5, "h": 2}, - {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "S", "matrix": [6, 1], "x": 2.75, "y": 3.5}, - {"label": "D", "matrix": [3, 2], "x": 3.75, "y": 3.5}, - {"label": "F", "matrix": [6, 2], "x": 4.75, "y": 3.5}, - {"label": "G", "matrix": [3, 3], "x": 5.75, "y": 3.5}, - {"label": "H", "matrix": [6, 3], "x": 6.75, "y": 3.5}, - {"label": "J", "matrix": [3, 4], "x": 7.75, "y": 3.5}, - {"label": "K", "matrix": [6, 4], "x": 8.75, "y": 3.5}, - {"label": "L", "matrix": [3, 5], "x": 9.75, "y": 3.5}, - {"label": ":", "matrix": [6, 5], "x": 10.75, "y": 3.5}, - {"label": "@", "matrix": [3, 6], "x": 11.75, "y": 3.5}, - {"label": "~", "matrix": [6, 6], "x": 12.75, "y": 3.5}, - {"label": "4", "matrix": [5, 9], "x": 18.5, "y": 3.5}, - {"label": "5", "matrix": [4, 9], "x": 19.5, "y": 3.5}, - {"label": "6", "matrix": [3, 9], "x": 20.5, "y": 3.5}, - {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"label": "Z", "matrix": [5, 1], "x": 2.25, "y": 4.5}, - {"label": "X", "matrix": [4, 2], "x": 3.25, "y": 4.5}, - {"label": "C", "matrix": [5, 2], "x": 4.25, "y": 4.5}, - {"label": "V", "matrix": [4, 3], "x": 5.25, "y": 4.5}, - {"label": "B", "matrix": [5, 3], "x": 6.25, "y": 4.5}, - {"label": "N", "matrix": [4, 4], "x": 7.25, "y": 4.5}, - {"label": "M", "matrix": [5, 4], "x": 8.25, "y": 4.5}, - {"label": "<", "matrix": [4, 5], "x": 9.25, "y": 4.5}, - {"label": ">", "matrix": [5, 5], "x": 10.25, "y": 4.5}, - {"label": "?", "matrix": [4, 6], "x": 11.25, "y": 4.5}, - {"label": "Shift", "matrix": [5, 6], "x": 12.25, "y": 4.5, "w": 2.75}, - {"label": "\u2191", "matrix": [3, 7], "x": 16.25, "y": 4.5}, - {"label": "1", "matrix": [6, 9], "x": 18.5, "y": 4.5}, - {"label": "2", "matrix": [7, 9], "x": 19.5, "y": 4.5}, - {"label": "3", "matrix": [8, 9], "x": 20.5, "y": 4.5}, - {"label": "Enter", "matrix": [8, 10], "x": 21.5, "y": 4.5, "h": 2}, - {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [6, 0], "x": 1.25, "y": 5.5, "w": 1.25}, - {"label": "Alt", "matrix": [7, 0], "x": 2.5, "y": 5.5, "w": 1.25}, - {"matrix": [8, 0], "x": 3.75, "y": 5.5, "w": 6.25}, - {"label": "AltGr", "matrix": [9, 0], "x": 10, "y": 5.5, "w": 1.25}, - {"label": "Win", "matrix": [9, 7], "x": 11.25, "y": 5.5, "w": 1.25}, - {"label": "Menu", "matrix": [8, 7], "x": 12.5, "y": 5.5, "w": 1.25}, - {"label": "Ctrl", "matrix": [7, 7], "x": 13.75, "y": 5.5, "w": 1.25}, - {"label": "\u2190", "matrix": [6, 7], "x": 15.25, "y": 5.5}, - {"label": "\u2193", "matrix": [5, 7], "x": 16.25, "y": 5.5}, - {"label": "\u2192", "matrix": [4, 7], "x": 17.25, "y": 5.5}, - {"label": "0", "matrix": [9, 9], "x": 18.5, "y": 5.5, "w": 2}, - {"label": ".", "matrix": [9, 10], "x": 20.5, "y": 5.5} - ] - } - } -} diff --git a/keyboards/handwired/fabiclawz/alpha_fs/keymaps/default/keymap.c b/keyboards/handwired/fabiclawz/alpha_fs/keymaps/default/keymap.c deleted file mode 100644 index bd9e146baf..0000000000 --- a/keyboards/handwired/fabiclawz/alpha_fs/keymaps/default/keymap.c +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2025 Fabian Felix Selbach (@FFS2309) -// 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, KC_PSCR, KC_SCRL, KC_PAUS, RM_NEXT, RM_PREV, RM_VALU, RM_VALD, - - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_P4, KC_P5, KC_P6, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT - ) -}; diff --git a/keyboards/handwired/fabiclawz/alpha_fs/readme.md b/keyboards/handwired/fabiclawz/alpha_fs/readme.md deleted file mode 100644 index 2eae8d5132..0000000000 --- a/keyboards/handwired/fabiclawz/alpha_fs/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# handwired/fabiclawz/alpha_fs - -![handwired/fabiclawz/alpha_fs](https://i.imgur.com/FOOmKXN.jpeg) - -My first keyboard with custom PCB, originally designed for the Milk-V duo series of RISC-V MCUs with pin compatibility with the Raspberry Pi Pico used in this -case for QMK. - -* Keyboard Maintainer: [Fabian Felix Selbach](https://github.com/FFS2309) -* Hardware Supported: Raspberry Pi Pico, Custom PCB -* Hardware Availability: [Hardware design files](https://github.com/FFS2309/alpha_fs_keyboard) - -Make example for this keyboard (after setting up your build environment): - - make handwired/fabiclawz/alpha_fs:default - -Flashing example for this keyboard: - - make handwired/fabiclawz/alpha_fs: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 (Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the Pi Pico if available -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/fc200rt_qmk/keymaps/default/keymap.c b/keyboards/handwired/fc200rt_qmk/keymaps/default/keymap.c index 6d0a2baf0b..bcdd1818de 100644 --- a/keyboards/handwired/fc200rt_qmk/keymaps/default/keymap.c +++ b/keyboards/handwired/fc200rt_qmk/keymaps/default/keymap.c @@ -25,4 +25,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/footy/readme.md b/keyboards/handwired/footy/readme.md index 7c2f2b3b10..6d02fad95c 100644 --- a/keyboards/handwired/footy/readme.md +++ b/keyboards/handwired/footy/readme.md @@ -39,4 +39,4 @@ You can build either of these firmware images by running the following commands: ``` make handwired/footy:handy make handwired/footy:superwhisper -``` +``` \ No newline at end of file diff --git a/keyboards/handwired/freoduo/readme.md b/keyboards/handwired/freoduo/readme.md index 72fa687454..7fa8af68cd 100644 --- a/keyboards/handwired/freoduo/readme.md +++ b/keyboards/handwired/freoduo/readme.md @@ -9,4 +9,4 @@ Make example for this keyboard (after setting up your build environment): make handwired/freoduo: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/handwired/hacked_motospeed/keymaps/german/layers.json b/keyboards/handwired/hacked_motospeed/keymaps/german/layers.json index b3f65ef735..7bbd3cd438 100644 --- a/keyboards/handwired/hacked_motospeed/keymaps/german/layers.json +++ b/keyboards/handwired/hacked_motospeed/keymaps/german/layers.json @@ -1 +1 @@ -[["KC_ESC", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "LSFT(KC_8)", "LSFT(KC_9)", "KC_PEQL", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "LSFT(KC_MINS)", "MO(2)", "MO(6)", "KC_TAB", "KC_BSPC", "KC_SPC", "MO(1)", "KC_LCTL", "KC_LALT", "MO(4)", "KC_LGUI", "MO(2)"], ["LALT(KC_F4)", "LSFT(KC_Q)", "LSFT(KC_W)", "LSFT(KC_E)", "LSFT(KC_R)", "LSFT(KC_T)", "LSFT(KC_Y)", "LSFT(KC_U)", "LSFT(KC_I)", "LSFT(KC_O)", "LSFT(KC_P)", "LSFT(KC_A)", "LSFT(KC_S)", "LSFT(KC_D)", "LSFT(KC_F)", "LSFT(KC_G)", "LSFT(KC_H)", "LSFT(KC_J)", "LSFT(KC_K)", "LSFT(KC_L)", "RALT(KC_7)", "RALT(KC_0)", "KC_NUHS", "LSFT(KC_Z)", "LSFT(KC_X)", "LSFT(KC_C)", "LSFT(KC_V)", "LSFT(KC_B)", "LSFT(KC_N)", "LSFT(KC_M)", "LSFT(KC_COMM)", "LSFT(KC_DOT)", "LSFT(KC_1)", "MO(3)", "TG(6)", "LSFT(KC_TAB)", "KC_DEL", "KC_ENT", "KC_TRNS", "LSFT(KC_LCTL)", "LSFT(KC_LALT)", "LSFT(KC_RALT)", "LSFT(KC_LGUI)", "MO(3)"], ["LSFT(KC_GRV)", "RALT(KC_Q)", "KC_INT3", "RALT(KC_E)", "LSFT(KC_4)", "LSFT(KC_5)", "LSFT(KC_6)", "KC_LBRC", "KC_UP", "KC_SCLN", "KC_PSCR", "KC_QUOT", "KC_MINS", "LSFT(KC_7)", "LSFT(KC_2)", "LSFT(KC_NUHS)", "LSFT(KC_3)", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_NUBS", "LSFT(KC_NUBS)", "RALT(KC_RBRC)", "KC_GRV", "LSFT(KC_RBRC)", "KC_SLSH", "KC_RBRC", "RALT(KC_NUBS)", "KC_HOME", "KC_PGDN", "KC_PGUP", "KC_END", "RALT(KC_6)", "KC_TRNS", "KC_CAPS", "KC_TAB", "KC_DEL", "KC_ENT", "MO(3)", "OU_BT", "OU_USB", "OU_AUTO", "BL_STEP", "KC_TRNS"], ["LSFT(KC_GRV)", "RALT(KC_Q)", "KC_INT3", "RALT(KC_E)", "LSFT(KC_4)", "LSFT(KC_5)", "LSFT(KC_6)", "LSFT(KC_LBRC)", "KC_UP", "LSFT(KC_SCLN)", "KC_PSCR", "LSFT(KC_QUOT)", "KC_MINS", "RALT(KC_MINS)", "LSFT(KC_EQL)", "KC_EQL", "LSFT(KC_3)", "KC_LEFT", "KC_DOWN", "KC_RGHT", "RALT(KC_8)", "RALT(KC_9)", "RALT(KC_RBRC)", "KC_GRV", "LSFT(KC_RBRC)", "LSFT(KC_SLSH)", "KC_RBRC", "RALT(KC_NUBS)", "KC_HOME", "KC_PGDN", "KC_PGUP", "KC_END", "RALT(KC_6)", "KC_TRNS", "KC_CAPS", "LSFT(KC_TAB)", "LSFT(KC_DEL)", "LSFT(KC_ENT)", "KC_TRNS", "RSFT(KC_RCTL)", "RSFT(KC_LALT)", "RSFT(KC_RALT)", "RSFT(KC_RGUI)", "KC_TRNS"], ["RALT(KC_ESC)", "RALT(KC_Q)", "RALT(KC_W)", "RALT(KC_E)", "RALT(KC_R)", "RALT(KC_T)", "RALT(KC_Y)", "RALT(KC_U)", "RALT(KC_I)", "RALT(KC_O)", "RALT(KC_P)", "RALT(KC_A)", "RALT(KC_S)", "RALT(KC_D)", "RALT(KC_F)", "RALT(KC_G)", "RALT(KC_H)", "RALT(KC_J)", "RALT(KC_K)", "RALT(KC_L)", "RALT(KC_8)", "RALT(KC_9)", "LSFT(KC_0)", "RALT(KC_Z)", "RALT(KC_X)", "RALT(KC_C)", "RALT(KC_V)", "RALT(KC_B)", "RALT(KC_N)", "RALT(KC_M)", "RALT(KC_COMM)", "RALT(KC_DOT)", "RALT(KC_6)", "KC_NO", "RALT(KC_ENT)", "RALT(KC_TAB)", "RALT(KC_DEL)", "RALT(KC_SPC)", "RALT(KC_LSFT)", "RALT(KC_LCTL)", "RALT(KC_LALT)", "KC_TRNS", "RALT(KC_LGUI)", "KC_NO"], ["KC_0", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_F11", "KC_F12", "KC_F13", "KC_F14", "KC_F15", "KC_F16", "KC_F17", "KC_F18", "KC_F19", "KC_F20", "KC_F21", "KC_F22", "KC_F23", "KC_NO", "KC_TRNS", "KC_TAB", "KC_BSPC", "KC_SPC", "KC_LSFT", "KC_LCTL", "KC_LALT", "KC_RALT", "KC_LGUI", "KC_NO"]] +[["KC_ESC", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "LSFT(KC_8)", "LSFT(KC_9)", "KC_PEQL", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "LSFT(KC_MINS)", "MO(2)", "MO(6)", "KC_TAB", "KC_BSPC", "KC_SPC", "MO(1)", "KC_LCTL", "KC_LALT", "MO(4)", "KC_LGUI", "MO(2)"], ["LALT(KC_F4)", "LSFT(KC_Q)", "LSFT(KC_W)", "LSFT(KC_E)", "LSFT(KC_R)", "LSFT(KC_T)", "LSFT(KC_Y)", "LSFT(KC_U)", "LSFT(KC_I)", "LSFT(KC_O)", "LSFT(KC_P)", "LSFT(KC_A)", "LSFT(KC_S)", "LSFT(KC_D)", "LSFT(KC_F)", "LSFT(KC_G)", "LSFT(KC_H)", "LSFT(KC_J)", "LSFT(KC_K)", "LSFT(KC_L)", "RALT(KC_7)", "RALT(KC_0)", "KC_NUHS", "LSFT(KC_Z)", "LSFT(KC_X)", "LSFT(KC_C)", "LSFT(KC_V)", "LSFT(KC_B)", "LSFT(KC_N)", "LSFT(KC_M)", "LSFT(KC_COMM)", "LSFT(KC_DOT)", "LSFT(KC_1)", "MO(3)", "TG(6)", "LSFT(KC_TAB)", "KC_DEL", "KC_ENT", "KC_TRNS", "LSFT(KC_LCTL)", "LSFT(KC_LALT)", "LSFT(KC_RALT)", "LSFT(KC_LGUI)", "MO(3)"], ["LSFT(KC_GRV)", "RALT(KC_Q)", "KC_INT3", "RALT(KC_E)", "LSFT(KC_4)", "LSFT(KC_5)", "LSFT(KC_6)", "KC_LBRC", "KC_UP", "KC_SCLN", "KC_PSCR", "KC_QUOT", "KC_MINS", "LSFT(KC_7)", "LSFT(KC_2)", "LSFT(KC_NUHS)", "LSFT(KC_3)", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_NUBS", "LSFT(KC_NUBS)", "RALT(KC_RBRC)", "KC_GRV", "LSFT(KC_RBRC)", "KC_SLSH", "KC_RBRC", "RALT(KC_NUBS)", "KC_HOME", "KC_PGDN", "KC_PGUP", "KC_END", "RALT(KC_6)", "KC_TRNS", "KC_CAPS", "KC_TAB", "KC_DEL", "KC_ENT", "MO(3)", "OU_BT", "OU_USB", "OU_AUTO", "BL_STEP", "KC_TRNS"], ["LSFT(KC_GRV)", "RALT(KC_Q)", "KC_INT3", "RALT(KC_E)", "LSFT(KC_4)", "LSFT(KC_5)", "LSFT(KC_6)", "LSFT(KC_LBRC)", "KC_UP", "LSFT(KC_SCLN)", "KC_PSCR", "LSFT(KC_QUOT)", "KC_MINS", "RALT(KC_MINS)", "LSFT(KC_EQL)", "KC_EQL", "LSFT(KC_3)", "KC_LEFT", "KC_DOWN", "KC_RGHT", "RALT(KC_8)", "RALT(KC_9)", "RALT(KC_RBRC)", "KC_GRV", "LSFT(KC_RBRC)", "LSFT(KC_SLSH)", "KC_RBRC", "RALT(KC_NUBS)", "KC_HOME", "KC_PGDN", "KC_PGUP", "KC_END", "RALT(KC_6)", "KC_TRNS", "KC_CAPS", "LSFT(KC_TAB)", "LSFT(KC_DEL)", "LSFT(KC_ENT)", "KC_TRNS", "RSFT(KC_RCTL)", "RSFT(KC_LALT)", "RSFT(KC_RALT)", "RSFT(KC_RGUI)", "KC_TRNS"], ["RALT(KC_ESC)", "RALT(KC_Q)", "RALT(KC_W)", "RALT(KC_E)", "RALT(KC_R)", "RALT(KC_T)", "RALT(KC_Y)", "RALT(KC_U)", "RALT(KC_I)", "RALT(KC_O)", "RALT(KC_P)", "RALT(KC_A)", "RALT(KC_S)", "RALT(KC_D)", "RALT(KC_F)", "RALT(KC_G)", "RALT(KC_H)", "RALT(KC_J)", "RALT(KC_K)", "RALT(KC_L)", "RALT(KC_8)", "RALT(KC_9)", "LSFT(KC_0)", "RALT(KC_Z)", "RALT(KC_X)", "RALT(KC_C)", "RALT(KC_V)", "RALT(KC_B)", "RALT(KC_N)", "RALT(KC_M)", "RALT(KC_COMM)", "RALT(KC_DOT)", "RALT(KC_6)", "KC_NO", "RALT(KC_ENT)", "RALT(KC_TAB)", "RALT(KC_DEL)", "RALT(KC_SPC)", "RALT(KC_LSFT)", "RALT(KC_LCTL)", "RALT(KC_LALT)", "KC_TRNS", "RALT(KC_LGUI)", "KC_NO"], ["KC_0", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_F11", "KC_F12", "KC_F13", "KC_F14", "KC_F15", "KC_F16", "KC_F17", "KC_F18", "KC_F19", "KC_F20", "KC_F21", "KC_F22", "KC_F23", "KC_NO", "KC_TRNS", "KC_TAB", "KC_BSPC", "KC_SPC", "KC_LSFT", "KC_LCTL", "KC_LALT", "KC_RALT", "KC_LGUI", "KC_NO"]] \ No newline at end of file diff --git a/keyboards/handwired/hacked_motospeed/keymaps/german/readme.md b/keyboards/handwired/hacked_motospeed/keymaps/german/readme.md index 41a2f2d9a4..fd07b155fb 100755 --- a/keyboards/handwired/hacked_motospeed/keymaps/german/readme.md +++ b/keyboards/handwired/hacked_motospeed/keymaps/german/readme.md @@ -10,4 +10,4 @@ To make use of this file you will need follow the following steps: * Copy this folder into %s * You are now ready to compile or use your keymap with the source -More information can be found in the QMK docs: +More information can be found in the QMK docs: \ No newline at end of file diff --git a/keyboards/handwired/hacked_motospeed/readme.md b/keyboards/handwired/hacked_motospeed/readme.md index 3e1e058033..ac2d4afc28 100644 --- a/keyboards/handwired/hacked_motospeed/readme.md +++ b/keyboards/handwired/hacked_motospeed/readme.md @@ -20,4 +20,4 @@ Make example for this keyboard (after setting up your build environment): make handwired/hacked_motospeed: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/handwired/heisenberg/keymaps/default/keymap.c b/keyboards/handwired/heisenberg/keymaps/default/keymap.c index 9b6986262a..044cb42773 100644 --- a/keyboards/handwired/heisenberg/keymaps/default/keymap.c +++ b/keyboards/handwired/heisenberg/keymaps/default/keymap.c @@ -165,4 +165,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Enable the adjust layer when both lower and layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} +} \ No newline at end of file diff --git a/keyboards/handwired/heisenberg/keymaps/turkishish/keymap.c b/keyboards/handwired/heisenberg/keymaps/turkishish/keymap.c index 7125fb71a5..73457a597e 100644 --- a/keyboards/handwired/heisenberg/keymaps/turkishish/keymap.c +++ b/keyboards/handwired/heisenberg/keymaps/turkishish/keymap.c @@ -229,4 +229,4 @@ void keyboard_post_init_user(void) { rgblight_sethsv_noeeprom(100, 255, 255); // sets the color to greenish without saving //rgblight_sethsv_noeeprom(HSV_TURQUOISE); -} +} \ No newline at end of file diff --git a/keyboards/handwired/heisenberg/keymaps/turkishish/readme.md b/keyboards/handwired/heisenberg/keymaps/turkishish/readme.md index 1bdc327c5c..d994401bbd 100644 --- a/keyboards/handwired/heisenberg/keymaps/turkishish/readme.md +++ b/keyboards/handwired/heisenberg/keymaps/turkishish/readme.md @@ -2,4 +2,4 @@ You can flash the "turkishish" layout (which I'm currently using) like: - make handwired/heisenberg:turkishish + make handwired/heisenberg:turkishish \ No newline at end of file diff --git a/keyboards/handwired/hen_des/epssp75/readme.md b/keyboards/handwired/hen_des/epssp75/readme.md index 6ab66d52be..5c353d215b 100644 --- a/keyboards/handwired/hen_des/epssp75/readme.md +++ b/keyboards/handwired/hen_des/epssp75/readme.md @@ -15,4 +15,4 @@ Detailed [description](https://hen-des.github.io/epssp75/index.html) and expirie Enter the bootloader in 2 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead \ No newline at end of file diff --git a/keyboards/handwired/hnah108/hnah108.c b/keyboards/handwired/hnah108/hnah108.c new file mode 100644 index 0000000000..fde7b16564 --- /dev/null +++ b/keyboards/handwired/hnah108/hnah108.c @@ -0,0 +1,47 @@ +/* Copyright 2019 HnahKB + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + // Key Matrix to LED Index + { 18, 17, 16, NO_LED, 15, 14, NO_LED, NO_LED, 13, 12, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { 19, 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 }, + { 20, NO_LED, NO_LED, NO_LED, NO_LED, 24, NO_LED, NO_LED, 26, NO_LED, NO_LED }, + { 21, 22, 23, 25, 27, NO_LED, 28, 29, NO_LED, 0, 1 }, + { 11, 10, NO_LED, 9, NO_LED, 8, NO_LED, 7, 6, NO_LED, 5 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 4 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 3 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 2 } + }, { + // LED Index to Physical Position + { 0, 0 }, { 18, 0 }, { 37, 0 }, { 56, 0 }, { 74, 0 }, { 93, 0 }, { 112, 0 }, { 130, 0 }, { 149, 0 }, { 168, 0 }, { 186, 0 }, { 205, 0 }, { 224, 0 }, + { 0, 25 }, { 224, 25 }, + { 0, 51 }, { 224, 51 }, + { 0, 63 }, { 18, 63 }, { 37, 63 }, { 56, 63 }, { 74, 63 }, { 93, 63 }, { 112, 63 }, { 130, 63 }, { 149, 63 }, { 168, 63 }, { 186, 63 }, { 205, 63 }, { 224, 63 } + }, { + // LED Index to Flag + 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 + } +}; +#endif diff --git a/keyboards/handwired/hnah108/keyboard.json b/keyboards/handwired/hnah108/keyboard.json index 808fd9eb24..a02a70173c 100644 --- a/keyboards/handwired/hnah108/keyboard.json +++ b/keyboards/handwired/hnah108/keyboard.json @@ -51,39 +51,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "ws2812", - "layout": [ - {"matrix": [5, 9], "x": 0, "y": 0, "flags": 1}, - {"matrix": [5, 10], "x": 18, "y": 0, "flags": 1}, - {"matrix": [9, 10], "x": 37, "y": 0, "flags": 1}, - {"matrix": [8, 10], "x": 56, "y": 0, "flags": 1}, - {"matrix": [7, 10], "x": 74, "y": 0, "flags": 1}, - {"matrix": [6, 10], "x": 93, "y": 0, "flags": 1}, - {"matrix": [6, 8], "x": 112, "y": 0, "flags": 1}, - {"matrix": [6, 7], "x": 130, "y": 0, "flags": 1}, - {"matrix": [6, 5], "x": 149, "y": 0, "flags": 1}, - {"matrix": [6, 3], "x": 168, "y": 0, "flags": 1}, - {"matrix": [6, 1], "x": 186, "y": 0, "flags": 1}, - {"matrix": [6, 0], "x": 205, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 224, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 0, "y": 25, "flags": 1}, - {"matrix": [0, 5], "x": 224, "y": 25, "flags": 1}, - {"matrix": [0, 4], "x": 0, "y": 51, "flags": 1}, - {"matrix": [0, 2], "x": 224, "y": 51, "flags": 1}, - {"matrix": [0, 1], "x": 0, "y": 63, "flags": 1}, - {"matrix": [0, 0], "x": 18, "y": 63, "flags": 1}, - {"matrix": [2, 0], "x": 37, "y": 63, "flags": 1}, - {"matrix": [4, 0], "x": 56, "y": 63, "flags": 1}, - {"matrix": [5, 0], "x": 74, "y": 63, "flags": 1}, - {"matrix": [5, 1], "x": 93, "y": 63, "flags": 1}, - {"matrix": [5, 2], "x": 112, "y": 63, "flags": 1}, - {"matrix": [4, 5], "x": 130, "y": 63, "flags": 1}, - {"matrix": [5, 3], "x": 149, "y": 63, "flags": 1}, - {"matrix": [4, 8], "x": 168, "y": 63, "flags": 1}, - {"matrix": [5, 4], "x": 186, "y": 63, "flags": 1}, - {"matrix": [5, 6], "x": 205, "y": 63, "flags": 1}, - {"matrix": [5, 7], "x": 224, "y": 63, "flags": 1} - ] + "driver": "ws2812" }, "features": { "backlight": true, diff --git a/keyboards/handwired/hnah40rgb/hnah40rgb.c b/keyboards/handwired/hnah40rgb/hnah40rgb.c new file mode 100644 index 0000000000..1f877975e5 --- /dev/null +++ b/keyboards/handwired/hnah40rgb/hnah40rgb.c @@ -0,0 +1,47 @@ +#include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +#if defined (ansi) +led_config_t g_led_config = { { + //Key Matrix to LED Index + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, + {22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12 }, + {23, 24, 25, 26, 27, 28, 29, 30, 31, NO_LED, 34}, + {43, 42, 41, NO_LED, NO_LED, NO_LED, 38, NO_LED, 36, 35, 11} +}, { + //LED Index to Physical Positon + { 0, 0}, { 20, 0}, { 40, 0 }, { 61, 0 }, { 81, 0}, { 101, 0}, { 122, 0}, { 142, 0}, { 162, 0}, { 183, 0}, { 224, 0}, { 224, 0}, + {224, 21}, {183, 21}, {162,21 }, {142, 21}, {122,21}, { 101,21}, { 81 ,21}, { 61 ,21}, { 40 ,21}, { 20 ,21}, { 0 ,21}, + { 0, 42}, { 20, 42}, { 40,42 }, { 61, 42}, { 81,42}, { 101,42}, { 122,42}, { 142,42}, { 162,42}, { 183,42}, { 224,42}, + {224, 64}, {224, 64}, {181,64 }, {162, 64}, {122,64}, {101,64}, { 61,64}, { 40,64}, { 20,64}, { 0,64}, + { 0,64}, { 0,0}, { 224,10}, { 224,18}, { 224,30}, { 224,47}, +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, +} }; + +#else +led_config_t g_led_config = { { + //Key Matrix to LED Index + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, + {22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12 }, + {23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34}, + {43, 42, 41, NO_LED, 40, 39, 38, 37, 36, 35, 11} +}, { + //LED Index to Physical Positon + { 0, 0}, { 20, 0}, { 40, 0 }, { 61, 0 }, { 81, 0}, { 101, 0}, { 122, 0}, { 142, 0}, { 162, 0}, { 183, 0}, { 224, 0}, { 224, 0}, + {224, 21}, {183, 21}, {162,21 }, {142, 21}, {122,21}, { 101,21}, { 81 ,21}, { 61 ,21}, { 40 ,21}, { 20 ,21}, { 0 ,21}, + { 0, 42}, { 20, 42}, { 40,42 }, { 61, 42}, { 81,42}, { 101,42}, { 122,42}, { 142,42}, { 162,42}, { 183,42}, { 224,42}, + {224, 64}, {224, 64}, {181,64 }, {162, 64}, {122,64}, {101,64}, { 61,64}, { 40,64}, { 20,64}, { 0,64}, + { 0,64}, { 0,0}, { 224,10}, { 224,18}, { 224,30}, { 224,47}, +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, +} }; +#endif +#endif \ No newline at end of file diff --git a/keyboards/handwired/hnah40rgb/keyboard.json b/keyboards/handwired/hnah40rgb/keyboard.json index ec824ea14f..6f13b70095 100644 --- a/keyboards/handwired/hnah40rgb/keyboard.json +++ b/keyboards/handwired/hnah40rgb/keyboard.json @@ -60,58 +60,6 @@ "animation": "cycle_pinwheel" }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 81, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 101, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 122, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 142, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 162, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 183, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 224, "y": 0, "flags": 4}, - {"matrix": [3, 10], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 10], "x": 224, "y": 21, "flags": 1}, - {"matrix": [1, 9], "x": 183, "y": 21, "flags": 4}, - {"matrix": [1, 8], "x": 162, "y": 21, "flags": 4}, - {"matrix": [1, 7], "x": 142, "y": 21, "flags": 4}, - {"matrix": [1, 6], "x": 122, "y": 21, "flags": 4}, - {"matrix": [1, 5], "x": 101, "y": 21, "flags": 4}, - {"matrix": [1, 4], "x": 81, "y": 21, "flags": 4}, - {"matrix": [1, 3], "x": 61, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 21, "flags": 4}, - {"matrix": [1, 1], "x": 20, "y": 21, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1}, - {"matrix": [2, 1], "x": 20, "y": 42, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 42, "flags": 4}, - {"matrix": [2, 3], "x": 61, "y": 42, "flags": 4}, - {"matrix": [2, 4], "x": 81, "y": 42, "flags": 4}, - {"matrix": [2, 5], "x": 101, "y": 42, "flags": 4}, - {"matrix": [2, 6], "x": 122, "y": 42, "flags": 4}, - {"matrix": [2, 7], "x": 142, "y": 42, "flags": 4}, - {"matrix": [2, 8], "x": 162, "y": 42, "flags": 4}, - {"matrix": [2, 9], "x": 183, "y": 42, "flags": 4}, - {"x": 224, "y": 42, "flags": 1}, - {"matrix": [2, 10], "x": 224, "y": 64, "flags": 1}, - {"matrix": [3, 9], "x": 224, "y": 64, "flags": 1}, - {"matrix": [3, 8], "x": 181, "y": 64, "flags": 1}, - {"matrix": [3, 7], "x": 162, "y": 64, "flags": 1}, - {"matrix": [3, 6], "x": 122, "y": 64, "flags": 1}, - {"matrix": [3, 5], "x": 101, "y": 64, "flags": 1}, - {"matrix": [3, 4], "x": 61, "y": 64, "flags": 1}, - {"matrix": [3, 2], "x": 40, "y": 64, "flags": 1}, - {"matrix": [3, 1], "x": 20, "y": 64, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1}, - {"x": 0, "y": 64, "flags": 1}, - {"x": 0, "y": 0, "flags": 1}, - {"x": 224, "y": 10, "flags": 1}, - {"x": 224, "y": 18, "flags": 1}, - {"x": 224, "y": 30, "flags": 1}, - {"x": 224, "y": 47, "flags": 1} - ], "max_brightness": 200, "react_on_keyup": true }, diff --git a/keyboards/durgod/dgk6x/venus_iso/config.h b/keyboards/handwired/hnah40rgb/keymaps/ansi/config.h similarity index 90% rename from keyboards/durgod/dgk6x/venus_iso/config.h rename to keyboards/handwired/hnah40rgb/keymaps/ansi/config.h index f23b355905..66cd76a901 100644 --- a/keyboards/durgod/dgk6x/venus_iso/config.h +++ b/keyboards/handwired/hnah40rgb/keymaps/ansi/config.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Jessica Sullivan and Don Kjer +/* Copyright 2019 HnahKB * * 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 @@ -15,5 +15,4 @@ */ #pragma once - -#define CAPS_LED 29 +#define ansi \ No newline at end of file diff --git a/keyboards/handwired/ibm_wheelwriter/keyboard.json b/keyboards/handwired/ibm_wheelwriter/keyboard.json index 8dfb3fc403..91f56540e2 100644 --- a/keyboards/handwired/ibm_wheelwriter/keyboard.json +++ b/keyboards/handwired/ibm_wheelwriter/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "6715 Wheelwriter", "manufacturer": "IBM", + "url": "https://github.com/andresteare/qmk_firmware", "maintainer": "andresteare", "usb": { "vid": "0x8767", diff --git a/keyboards/handwired/itstleo9/info.json b/keyboards/handwired/itstleo9/info.json index 6b0d2d85a1..340b8a9e33 100644 --- a/keyboards/handwired/itstleo9/info.json +++ b/keyboards/handwired/itstleo9/info.json @@ -30,4 +30,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/itstleo9/promicro/keyboard.json b/keyboards/handwired/itstleo9/promicro/keyboard.json index 2d297142d6..4cbc1050c0 100644 --- a/keyboards/handwired/itstleo9/promicro/keyboard.json +++ b/keyboards/handwired/itstleo9/promicro/keyboard.json @@ -4,4 +4,4 @@ "cols": ["D1", "D0", "D4"], "rows": ["F4", "F5", "F6"] } -} +} \ No newline at end of file diff --git a/keyboards/handwired/itstleo9/readme.md b/keyboards/handwired/itstleo9/readme.md index 0b4d61b0c4..233407b393 100644 --- a/keyboards/handwired/itstleo9/readme.md +++ b/keyboards/handwired/itstleo9/readme.md @@ -34,4 +34,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard * **Physical reset button**: Double-press reset button -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/itstleo9/rp2040/keyboard.json b/keyboards/handwired/itstleo9/rp2040/keyboard.json index 749af38688..0272150df1 100644 --- a/keyboards/handwired/itstleo9/rp2040/keyboard.json +++ b/keyboards/handwired/itstleo9/rp2040/keyboard.json @@ -6,4 +6,4 @@ "cols": ["GP10", "GP11", "GP12"], "rows": ["GP21", "GP20", "GP19"] } -} +} \ No newline at end of file diff --git a/keyboards/handwired/jankrp2040dactyl/config.h b/keyboards/handwired/jankrp2040dactyl/config.h index a5f277120e..0cabd35336 100644 --- a/keyboards/handwired/jankrp2040dactyl/config.h +++ b/keyboards/handwired/jankrp2040dactyl/config.h @@ -2,4 +2,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#define GRAVE_ESC_SHIFT_OVERRIDE +#define GRAVE_ESC_SHIFT_OVERRIDE \ No newline at end of file diff --git a/keyboards/handwired/jopr/jopr.c b/keyboards/handwired/jopr/jopr.c index 0ecb9d4d9f..cb155ecb4b 100644 --- a/keyboards/handwired/jopr/jopr.c +++ b/keyboards/handwired/jopr/jopr.c @@ -4,4 +4,4 @@ void led_init_ports(void) { gpio_set_pin_output(F0); gpio_set_pin_output(F1); gpio_set_pin_output(F4); -} +} \ No newline at end of file diff --git a/keyboards/handwired/jopr/keymaps/modded_white/keymap.c b/keyboards/handwired/jopr/keymaps/modded_white/keymap.c index 20da1fb6f6..f062953b3f 100644 --- a/keyboards/handwired/jopr/keymaps/modded_white/keymap.c +++ b/keyboards/handwired/jopr/keymaps/modded_white/keymap.c @@ -57,4 +57,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } return true; -} +} \ No newline at end of file diff --git a/keyboards/handwired/jotanck/keyboard.json b/keyboards/handwired/jotanck/keyboard.json index 028ef31c49..bddcce9fa5 100644 --- a/keyboards/handwired/jotanck/keyboard.json +++ b/keyboards/handwired/jotanck/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Jotanck", "manufacturer": "Jotix", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/jotanck", "maintainer": "jotix", "usb": { "vid": "0x4A4F", diff --git a/keyboards/handwired/jotlily60/keyboard.json b/keyboards/handwired/jotlily60/keyboard.json index 2d658dac0e..fd072d83db 100644 --- a/keyboards/handwired/jotlily60/keyboard.json +++ b/keyboards/handwired/jotlily60/keyboard.json @@ -2,6 +2,7 @@ "manufacturer": "Jotix", "keyboard_name": "jotlily60", "maintainer" : "jotix", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/jotlily60", "usb": { "vid": "0x4A4F", "pid": "0x2332", diff --git a/keyboards/handwired/k8split/keyboard.json b/keyboards/handwired/k8split/keyboard.json index b69f91a801..2312d43689 100644 --- a/keyboards/handwired/k8split/keyboard.json +++ b/keyboards/handwired/k8split/keyboard.json @@ -13,11 +13,6 @@ "mousekey": true, "nkro": true }, - "host": { - "default": { - "nkro": true - } - }, "matrix_pins": { "cols": ["C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], "rows": ["D5", "D3", "D2", "D1", "D0", "B7"] diff --git a/keyboards/wolf/singa/kohaku_hotswap/config.h b/keyboards/handwired/k8split/keymaps/left/config.h similarity index 84% rename from keyboards/wolf/singa/kohaku_hotswap/config.h rename to keyboards/handwired/k8split/keymaps/left/config.h index 49a055b0ce..968a6eb413 100644 --- a/keyboards/wolf/singa/kohaku_hotswap/config.h +++ b/keyboards/handwired/k8split/keymaps/left/config.h @@ -1,10 +1,11 @@ /* -Copyright 2024 Wolf +Copyright 2020 Ckat 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 @@ -16,5 +17,5 @@ along with this program. If not, see . #pragma once -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U +/* ensure NKRO is on */ +#define FORCE_NKRO diff --git a/keyboards/wolf/singa/kohaku_solder/config.h b/keyboards/handwired/k8split/keymaps/right/config.h similarity index 84% rename from keyboards/wolf/singa/kohaku_solder/config.h rename to keyboards/handwired/k8split/keymaps/right/config.h index 49a055b0ce..968a6eb413 100644 --- a/keyboards/wolf/singa/kohaku_solder/config.h +++ b/keyboards/handwired/k8split/keymaps/right/config.h @@ -1,10 +1,11 @@ /* -Copyright 2024 Wolf +Copyright 2020 Ckat 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 @@ -16,5 +17,5 @@ along with this program. If not, see . #pragma once -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U +/* ensure NKRO is on */ +#define FORCE_NKRO diff --git a/keyboards/handwired/k_numpad17/readme.md b/keyboards/handwired/k_numpad17/readme.md index 35f42f18a8..76bbaf4391 100644 --- a/keyboards/handwired/k_numpad17/readme.md +++ b/keyboards/handwired/k_numpad17/readme.md @@ -22,4 +22,4 @@ Bootmagic is enabled. Press the key at (0,0) while plugging the keyboard in to * Keyboard Maintainer: [Karlssn](https://github.com/Karlssn) * Hardware Availability: [Casefile](https://www.thingiverse.com/thing:4062409) -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/handwired/lagrange/transport.c b/keyboards/handwired/lagrange/transport.c index ef0006172d..3ff2e9f409 100644 --- a/keyboards/handwired/lagrange/transport.c +++ b/keyboards/handwired/lagrange/transport.c @@ -158,7 +158,7 @@ void transport_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) /* Update the layer and LED state if necessary. */ - if (!is_keyboard_left()) { + if (!isLeftHand) { if (context.led_state.raw != new_context.led_state.raw) { context.led_state.raw = new_context.led_state.raw; led_update_kb(context.led_state); diff --git a/keyboards/handwired/mechboards_micropad/keymaps/default/readme.md b/keyboards/handwired/mechboards_micropad/keymaps/default/readme.md index 03e46d4b4a..92d37ad8b9 100644 --- a/keyboards/handwired/mechboards_micropad/keymaps/default/readme.md +++ b/keyboards/handwired/mechboards_micropad/keymaps/default/readme.md @@ -1,4 +1,4 @@ # The default keymap for mechboards_micropad This is a 4 key micropad freebie from Mechboards and Yiancar-Designs. -Press the keys to find out the secrets:) +Press the keys to find out the secrets:) \ No newline at end of file diff --git a/keyboards/handwired/minorca/keymaps/default/readme.md b/keyboards/handwired/minorca/keymaps/default/readme.md index 8f0c28966c..6ed31f82b3 100644 --- a/keyboards/handwired/minorca/keymaps/default/readme.md +++ b/keyboards/handwired/minorca/keymaps/default/readme.md @@ -2,4 +2,4 @@ Copied from https://github.com/pancinteractive/qmk_firmware/blob/master/keyboard/minorca_mkV/keymaps/default/keymap.c -It looks incomplete. +It looks incomplete. \ No newline at end of file diff --git a/keyboards/handwired/numpad20/readme.md b/keyboards/handwired/numpad20/readme.md index bcdc0b7ad9..4e14fbb005 100644 --- a/keyboards/handwired/numpad20/readme.md +++ b/keyboards/handwired/numpad20/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make handwired/numpad20:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file diff --git a/keyboards/handwired/oem_ansi_fullsize/keyboard.json b/keyboards/handwired/oem_ansi_fullsize/keyboard.json index c72444cc61..3c3ebb2646 100644 --- a/keyboards/handwired/oem_ansi_fullsize/keyboard.json +++ b/keyboards/handwired/oem_ansi_fullsize/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "oem_ansi_fullsize", "manufacturer": "Cian Johnston", + "url": "https://github.com/johnstcn/qmk", "maintainer": "johnstcn", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/oem_iso_fullsize/keyboard.json b/keyboards/handwired/oem_iso_fullsize/keyboard.json index c31c8e917c..dcff4541f1 100644 --- a/keyboards/handwired/oem_iso_fullsize/keyboard.json +++ b/keyboards/handwired/oem_iso_fullsize/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "teclado_oscar", "manufacturer": "Gamdias", + "url": "https://github.com/andresteare/qmk_firmware", "maintainer": "andresteare", "usb": { "vid": "0x9856", diff --git a/keyboards/handwired/oem_iso_fullsize/readme.md b/keyboards/handwired/oem_iso_fullsize/readme.md index 5e2ebe9eff..47aba78653 100644 --- a/keyboards/handwired/oem_iso_fullsize/readme.md +++ b/keyboards/handwired/oem_iso_fullsize/readme.md @@ -27,4 +27,4 @@ These line are specifically to my pinout so it's probably not essencial for you #define LED_SCROLL_LOCK_PIN A3 #define LED_NUM_LOCK_PIN C6 #define BACKLIGHT_PINS { B5, E5, E4, A7, A1, A2 } -#define BACKLIGHT_LEVELS 1 +#define BACKLIGHT_LEVELS 1 \ No newline at end of file diff --git a/keyboards/handwired/onekey/bluepill_uf2boot/readme.md b/keyboards/handwired/onekey/bluepill_uf2boot/readme.md index 108d6f3167..7886ed1888 100644 --- a/keyboards/handwired/onekey/bluepill_uf2boot/readme.md +++ b/keyboards/handwired/onekey/bluepill_uf2boot/readme.md @@ -4,4 +4,4 @@ To trigger keypress, short together pins *B0* and *A7*. This variant requires the uf2-stm32f103 bootloader to be installed. This can be downloaded from the [uf2-stm32f103 releases page](https://github.com/mmoskal/uf2-stm32f103/releases). -Double-tap reset to enter bootloader mode. Copy the built uf2 file to the device by dragging the file to the new USB disk. +Double-tap reset to enter bootloader mode. Copy the built uf2 file to the device by dragging the file to the new USB disk. \ No newline at end of file diff --git a/keyboards/handwired/onekey/kb2040/config.h b/keyboards/handwired/onekey/kb2040/config.h index 7ddc2ed5fa..a9508bc4cc 100644 --- a/keyboards/handwired/onekey/kb2040/config.h +++ b/keyboards/handwired/onekey/kb2040/config.h @@ -11,6 +11,7 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U // settings for the oled keyboard demo with Adafruit 0.91" OLED display on the Stemma QT port +#define OLED_DISPLAY_128X32 #define I2C_DRIVER I2CD0 #define I2C1_SDA_PIN GP12 #define I2C1_SCL_PIN GP13 diff --git a/keyboards/handwired/onekey/keymaps/digitizer/rules.mk b/keyboards/handwired/onekey/keymaps/digitizer/rules.mk index 9b17f2fa2c..ea9f9bd9ac 100644 --- a/keyboards/handwired/onekey/keymaps/digitizer/rules.mk +++ b/keyboards/handwired/onekey/keymaps/digitizer/rules.mk @@ -1 +1 @@ -DIGITIZER_ENABLE = yes +DIGITIZER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/onekey/nucleo_f446re/board.h b/keyboards/handwired/onekey/nucleo_f446re/board.h index 54c93c551a..0c5f4dde79 100644 --- a/keyboards/handwired/onekey/nucleo_f446re/board.h +++ b/keyboards/handwired/onekey/nucleo_f446re/board.h @@ -4,5 +4,6 @@ #include_next -// Configure clocks to use onboard STLINKs MCO as HSE is not populated by default +#undef STM32_HSECLK +#define STM32_HSECLK 8000000U #define STM32_HSE_BYPASS diff --git a/keyboards/handwired/onekey/nucleo_f446re/mcuconf.h b/keyboards/handwired/onekey/nucleo_f446re/mcuconf.h index ba463bf4f7..701d61d31d 100644 --- a/keyboards/handwired/onekey/nucleo_f446re/mcuconf.h +++ b/keyboards/handwired/onekey/nucleo_f446re/mcuconf.h @@ -4,6 +4,12 @@ #include_next +#undef STM32_PLLM_VALUE +#define STM32_PLLM_VALUE 4 + +#undef STM32_PLLSAIM_VALUE +#define STM32_PLLSAIM_VALUE 4 + #undef STM32_ADC_USE_ADC1 #define STM32_ADC_USE_ADC1 TRUE diff --git a/keyboards/handwired/onekey/nucleo_f446re/readme.md b/keyboards/handwired/onekey/nucleo_f446re/readme.md index 71a5e48184..b0645b65fe 100644 --- a/keyboards/handwired/onekey/nucleo_f446re/readme.md +++ b/keyboards/handwired/onekey/nucleo_f446re/readme.md @@ -1,4 +1,4 @@ -# STM32 Nucleo-F446 onekey +# STM32 Nucleo-L432 onekey To trigger keypress, short together pins *A0* and *A1*. Note that the pin numbering is relative to the MCU, so that A0 and A1 refer to PA0 and PA1 on the MCU (which are also labelled A0 and A1 on the board, but this isn't true for the other PAx pins). diff --git a/keyboards/handwired/onekey/sipeed_longan_nano/readme.md b/keyboards/handwired/onekey/sipeed_longan_nano/readme.md index ee0590fa3e..0a3a291576 100644 --- a/keyboards/handwired/onekey/sipeed_longan_nano/readme.md +++ b/keyboards/handwired/onekey/sipeed_longan_nano/readme.md @@ -2,4 +2,4 @@ Supported Hardware: *GD32VF103CB Sipeed Longan Nano*. -To trigger keypress, short together pins *B0* and *A7*. +To trigger keypress, short together pins *B0* and *A7*. \ No newline at end of file diff --git a/keyboards/handwired/onekey/stm32f405_feather/readme.md b/keyboards/handwired/onekey/stm32f405_feather/readme.md index beac723f6d..49a05725d5 100644 --- a/keyboards/handwired/onekey/stm32f405_feather/readme.md +++ b/keyboards/handwired/onekey/stm32f405_feather/readme.md @@ -4,4 +4,4 @@ To trigger keypress, short together pins *GPIO 12 / PC2* and *GPIO 11 / PC3*. -https://learn.adafruit.com/adafruit-stm32f405-feather-express/dfu-bootloader-details#enabling-dfu-bootloader-mode-3045622-2 +https://learn.adafruit.com/adafruit-stm32f405-feather-express/dfu-bootloader-details#enabling-dfu-bootloader-mode-3045622-2 \ No newline at end of file diff --git a/keyboards/handwired/onekey/teensy_lc/readme.md b/keyboards/handwired/onekey/teensy_lc/readme.md index 49a3b97693..20e9be5bed 100644 --- a/keyboards/handwired/onekey/teensy_lc/readme.md +++ b/keyboards/handwired/onekey/teensy_lc/readme.md @@ -35,4 +35,4 @@ When setting matrix pins, you need to use the MCU definitions instead of what is | 23/A9 | C2 | | | 24/A10 | E20 | | | 25/A11 | E21 | | -| 26/A12 | E30 | | +| 26/A12 | E30 | | \ No newline at end of file diff --git a/keyboards/handwired/orbweaver/keyboard.json b/keyboards/handwired/orbweaver/keyboard.json index 0061c79ba2..73baa9a21d 100644 --- a/keyboards/handwired/orbweaver/keyboard.json +++ b/keyboards/handwired/orbweaver/keyboard.json @@ -12,29 +12,8 @@ "rgb_matrix": true }, "rgb_matrix": { - "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 168, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 0, "y": 20, "flags": 4}, - {"matrix": [1, 0], "x": 56, "y": 20, "flags": 4}, - {"matrix": [1, 1], "x": 112, "y": 20, "flags": 4}, - {"matrix": [1, 2], "x": 168, "y": 20, "flags": 4}, - {"matrix": [1, 3], "x": 224, "y": 20, "flags": 4}, - {"matrix": [1, 4], "x": 0, "y": 40, "flags": 4}, - {"matrix": [2, 0], "x": 56, "y": 40, "flags": 4}, - {"matrix": [2, 1], "x": 112, "y": 40, "flags": 4}, - {"matrix": [2, 2], "x": 168, "y": 40, "flags": 4}, - {"matrix": [2, 3], "x": 224, "y": 40, "flags": 4}, - {"matrix": [2, 4], "x": 0, "y": 60, "flags": 4}, - {"matrix": [3, 0], "x": 56, "y": 60, "flags": 4}, - {"matrix": [3, 1], "x": 112, "y": 60, "flags": 4}, - {"matrix": [3, 2], "x": 168, "y": 60, "flags": 4}, - {"matrix": [3, 4], "x": 224, "y": 60, "flags": 4} - ] + "center_point": [40, 30], + "driver": "is31fl3731" }, "matrix_pins": { "rows": ["GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], diff --git a/keyboards/handwired/orbweaver/orbweaver.c b/keyboards/handwired/orbweaver/orbweaver.c index 8c23818eea..f89d1ca363 100644 --- a/keyboards/handwired/orbweaver/orbweaver.c +++ b/keyboards/handwired/orbweaver/orbweaver.c @@ -15,10 +15,10 @@ // // SPDX-License-Identifier: GPL-2.0-or-later -// This IS31FL3731 configuration is for a Razer Orbweaver Chroma. -// It was reverse-engineered by testing all possible Cx_y combinations (144 total), +// This IS31FL3731 configuration is for a Razer Orbweaver Chroma. +// It was reverse-engineered by testing all possible Cx_y combinations (144 total), // and determining which ones addressed individual diodes (60 total). These were then -// placed in order R-G-B, sweeping left to right, and then top to bottom. +// placed in order R-G-B, sweeping left to right, and then top to bottom. #include "rgb_matrix.h" @@ -30,24 +30,55 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { * | | | B location * | | | | */ {0, C9_1, C8_1, C7_1}, //top left key. - {0, C9_2, C8_2, C7_2}, + {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}, //top right key. + {0, C9_5, C8_5, C7_5}, //top right key. {0, C9_6, C8_6, C7_6}, - {0, C9_7, C8_7, C6_6}, + {0, C9_7, C8_7, C6_6}, {0, C9_8, C7_7, C6_7}, - {0, C1_8, C2_8, C3_8}, + {0, C1_8, C2_8, C3_8}, {0, C1_7, C2_7, C3_7}, {0, C1_6, C2_6, C3_6}, - {0, C1_5, C2_5, C3_5}, - {0, C1_4, C2_4, C3_4}, - {0, C1_3, C2_3, C3_3}, + {0, C1_5, C2_5, C3_5}, + {0, C1_4, C2_4, C3_4}, + {0, C1_3, C2_3, C3_3}, {0, C1_2, C2_2, C4_3}, {0, C1_1, C3_2, C4_2}, //lower left key - {0, C9_9, C8_9, C7_9}, + {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} //lower right key }; + +led_config_t g_led_config = { + // Matrix location to LED index + { + { 0, 2, 3, 4, 5 }, + { 6, 7, 8, 9, 10 }, + { 11, 12, 13, 14, 15 }, + { 16, 17, 18, 19, 19 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } + }, + + // LED index to physical location + { + {0,0}, {20,0}, {40,0}, {60,0}, {80,0}, + {0,20}, {20,20}, {40,20}, {60,20}, {80,20}, + {0,40}, {20,40}, {40,40}, {60,40}, {80,40}, + {0,60}, {20,60}, {40,60}, {60,60}, {80,60} + }, + + // LED index to flags + { + 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4 + } + }; + + + diff --git a/keyboards/handwired/owlet60/keyboard.json b/keyboards/handwired/owlet60/keyboard.json index 33b4e1bbae..fad204e6fa 100644 --- a/keyboards/handwired/owlet60/keyboard.json +++ b/keyboards/handwired/owlet60/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Owlet60", "manufacturer": "worthlessowl", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/owlet60/", "maintainer": "worthlessowl", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/owlet60/matrix.c b/keyboards/handwired/owlet60/matrix.c index bc4e698966..7ef5d66a9f 100644 --- a/keyboards/handwired/owlet60/matrix.c +++ b/keyboards/handwired/owlet60/matrix.c @@ -29,59 +29,82 @@ along with this program. If not, see . #include "timer.h" #if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 01234567\n") +# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -static const uint8_t col_select_pins[3] = MATRIX_COL_SELECT_PINS; -static const uint8_t dat_pin = MATRIX_COL_DATA_PIN; +static const uint8_t col_select_pins[3] = MATRIX_COL_SELECT_PINS; +static const uint8_t dat_pin = MATRIX_COL_DATA_PIN; /* matrix state(1:on, 0:off) */ -static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -static matrix_row_t matrix[MATRIX_ROWS]; // raw values +static matrix_row_t raw_matrix[MATRIX_ROWS]; //raw values +static matrix_row_t matrix[MATRIX_ROWS]; //raw values /* 2d array containing binary representation of its index */ static const uint8_t num_in_binary[8][3] = { - {0, 0, 0}, {0, 0, 1}, {0, 1, 0}, {0, 1, 1}, {1, 0, 0}, {1, 0, 1}, {1, 1, 0}, {1, 1, 1}, + {0, 0, 0}, + {0, 0, 1}, + {0, 1, 0}, + {0, 1, 1}, + {1, 0, 0}, + {1, 0, 1}, + {1, 1, 0}, + {1, 1, 1}, }; static void select_col_analog(uint8_t col); static void mux_pin_control(const uint8_t binary[]); -void debounce_init(void); -void debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed); +void debounce_init(uint8_t num_rows); +void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed); -__attribute__((weak)) void matrix_init_user(void) {} -__attribute__((weak)) void matrix_scan_user(void) {} +__attribute__ ((weak)) +void matrix_init_user(void) {} -__attribute__((weak)) void matrix_init_kb(void) { - matrix_init_user(); +__attribute__ ((weak)) +void matrix_scan_user(void) {} + +__attribute__ ((weak)) +void matrix_init_kb(void) { + matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { - matrix_scan_user(); +__attribute__ ((weak)) +void matrix_scan_kb(void) { + matrix_scan_user(); } -inline uint8_t matrix_rows(void) { +inline +uint8_t matrix_rows(void) +{ return MATRIX_ROWS; } -inline uint8_t matrix_cols(void) { +inline +uint8_t matrix_cols(void) +{ return MATRIX_COLS; } -inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & ((matrix_row_t)1 << col)); +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ + return (matrix[row] & ((matrix_row_t)1<. #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED @@ -224,7 +227,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << tp_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << tp_index); } return (last_row_value != current_matrix[current_row]); } @@ -242,7 +245,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); } // Unselect row diff --git a/keyboards/handwired/promethium/readme.md b/keyboards/handwired/promethium/readme.md index 8194214535..e63d2f1add 100644 --- a/keyboards/handwired/promethium/readme.md +++ b/keyboards/handwired/promethium/readme.md @@ -10,4 +10,4 @@ Features: * Bluetooth LE *TBD* * Battery * Per switch RGB LED -* Proximity sensor for energy conservation *TBD* +* Proximity sensor for energy conservation *TBD* \ No newline at end of file diff --git a/keyboards/handwired/promethium/rgbsps.h b/keyboards/handwired/promethium/rgbsps.h index 2e3c9fa0b3..77689344fc 100644 --- a/keyboards/handwired/promethium/rgbsps.h +++ b/keyboards/handwired/promethium/rgbsps.h @@ -4,4 +4,4 @@ void rgbsps_set(uint8_t index, uint8_t r, uint8_t g, uint8_t b); void rgbsps_setall(uint8_t r, uint8_t g, uint8_t b); void rgbsps_turnoff(void); void rgbsps_send(void); -void rgbsps_sethsv(uint8_t index, uint16_t hue, uint8_t sat, uint8_t val); +void rgbsps_sethsv(uint8_t index, uint16_t hue, uint8_t sat, uint8_t val); \ No newline at end of file diff --git a/keyboards/handwired/pterodactyl/matrix.c b/keyboards/handwired/pterodactyl/matrix.c index 6c8825874c..54da26a7d4 100644 --- a/keyboards/handwired/pterodactyl/matrix.c +++ b/keyboards/handwired/pterodactyl/matrix.c @@ -86,6 +86,8 @@ uint8_t expander_status; uint8_t expander_input_pin_mask; bool i2c_initialized = false; +#define ROW_SHIFTER ((matrix_row_t)1) + __attribute__ ((weak)) void matrix_init_user(void) {} @@ -254,7 +256,7 @@ uint8_t matrix_scan(void) inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & (MATRIX_ROW_SHIFTER << col)); + return (matrix[row] & (ROW_SHIFTER << col)); } inline @@ -312,7 +314,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) if (! col_expanded[col_index]) { uint8_t pin = onboard_col_pins[col_index]; uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); } } @@ -399,10 +401,10 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) if (column_state & (1 << current_row)) { // key closed; set state bit in matrix - current_matrix[current_row] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[current_row] |= (ROW_SHIFTER << current_col); } else { // key open; clear state bit in matrix - current_matrix[current_row] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[current_row] &= ~(ROW_SHIFTER << current_col); } // Determine whether the matrix changed state diff --git a/keyboards/handwired/pteron/readme.md b/keyboards/handwired/pteron/readme.md index a8e9073191..a66d41edbb 100644 --- a/keyboards/handwired/pteron/readme.md +++ b/keyboards/handwired/pteron/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make handwired/pteron: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/handwired/riblee_f401/readme.md b/keyboards/handwired/riblee_f401/readme.md index d51ba88502..6287ac40c1 100644 --- a/keyboards/handwired/riblee_f401/readme.md +++ b/keyboards/handwired/riblee_f401/readme.md @@ -13,4 +13,4 @@ Flashing example for this keyboard: make handwired/riblee_f401: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/handwired/riblee_f411/readme.md b/keyboards/handwired/riblee_f411/readme.md index 8efc1e6218..e59a307fe7 100644 --- a/keyboards/handwired/riblee_f411/readme.md +++ b/keyboards/handwired/riblee_f411/readme.md @@ -13,4 +13,4 @@ Flashing example for this keyboard: make handwired/riblee_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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto108/keyboard.json b/keyboards/handwired/scottokeebs/scotto108/keyboard.json index 7a7e660d79..0781bb4cae 100644 --- a/keyboards/handwired/scottokeebs/scotto108/keyboard.json +++ b/keyboards/handwired/scottokeebs/scotto108/keyboard.json @@ -135,4 +135,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto108/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto108/keymaps/default/keymap.c index 1b90006a79..472318e1f5 100644 --- a/keyboards/handwired/scottokeebs/scotto108/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scotto108/keymaps/default/keymap.c @@ -26,4 +26,4 @@ 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_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto34/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto34/keymaps/default/keymap.c index 2fbc9a8c81..8231ad94fc 100644 --- a/keyboards/handwired/scottokeebs/scotto34/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scotto34/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto34/readme.md b/keyboards/handwired/scottokeebs/scotto34/readme.md index c377a8affa..88e9185ec2 100644 --- a/keyboards/handwired/scottokeebs/scotto34/readme.md +++ b/keyboards/handwired/scottokeebs/scotto34/readme.md @@ -26,4 +26,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto36/readme.md b/keyboards/handwired/scottokeebs/scotto36/readme.md index 0650e0f218..a8cbe3cf41 100644 --- a/keyboards/handwired/scottokeebs/scotto36/readme.md +++ b/keyboards/handwired/scottokeebs/scotto36/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c index e53d2853c7..a5d489f004 100644 --- a/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto40/readme.md b/keyboards/handwired/scottokeebs/scotto40/readme.md index 12ef7a23ed..f81e639847 100644 --- a/keyboards/handwired/scottokeebs/scotto40/readme.md +++ b/keyboards/handwired/scottokeebs/scotto40/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto61/keyboard.json b/keyboards/handwired/scottokeebs/scotto61/keyboard.json index 362d8279fc..31510f5b86 100644 --- a/keyboards/handwired/scottokeebs/scotto61/keyboard.json +++ b/keyboards/handwired/scottokeebs/scotto61/keyboard.json @@ -88,4 +88,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto61/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto61/keymaps/default/keymap.c index 44d163a33a..e12bf9b644 100644 --- a/keyboards/handwired/scottokeebs/scotto61/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scotto61/keymaps/default/keymap.c @@ -25,4 +25,4 @@ 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_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto9/readme.md b/keyboards/handwired/scottokeebs/scotto9/readme.md index afe5a98096..ab87671138 100644 --- a/keyboards/handwired/scottokeebs/scotto9/readme.md +++ b/keyboards/handwired/scottokeebs/scotto9/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoalp/keyboard.json b/keyboards/handwired/scottokeebs/scottoalp/keyboard.json index 21879d9b05..d3473c7b22 100644 --- a/keyboards/handwired/scottokeebs/scottoalp/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottoalp/keyboard.json @@ -75,4 +75,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoalp/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottoalp/keymaps/default/keymap.c index f1dcd782d9..cc334629f6 100644 --- a/keyboards/handwired/scottokeebs/scottoalp/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scottoalp/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, 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/handwired/scottokeebs/scottoalp/readme.md b/keyboards/handwired/scottokeebs/scottoalp/readme.md index 4210a8d0d6..3f49d61199 100644 --- a/keyboards/handwired/scottokeebs/scottoalp/readme.md +++ b/keyboards/handwired/scottokeebs/scottoalp/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,1) 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottocmd/config.h b/keyboards/handwired/scottokeebs/scottocmd/config.h index 37714b3574..a168f0ef21 100644 --- a/keyboards/handwired/scottokeebs/scottocmd/config.h +++ b/keyboards/handwired/scottokeebs/scottocmd/config.h @@ -18,4 +18,4 @@ along with this program. If not, see . #pragma once // OLED -#define OLED_DISPLAY_128X64 +#define OLED_DISPLAY_128X64 \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottocmd/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottocmd/keymaps/default/keymap.c index b7552a8a72..dbb5cbc4a9 100644 --- a/keyboards/handwired/scottokeebs/scottocmd/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scottocmd/keymaps/default/keymap.c @@ -46,4 +46,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottocmd/scottocmd.c b/keyboards/handwired/scottokeebs/scottocmd/scottocmd.c index d2bcd3a07e..9027b50028 100644 --- a/keyboards/handwired/scottokeebs/scottocmd/scottocmd.c +++ b/keyboards/handwired/scottokeebs/scottocmd/scottocmd.c @@ -36,4 +36,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottodeck/keyboard.json b/keyboards/handwired/scottokeebs/scottodeck/keyboard.json index 089d72ad67..e8f4f60c21 100644 --- a/keyboards/handwired/scottokeebs/scottodeck/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottodeck/keyboard.json @@ -47,4 +47,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottodeck/readme.md b/keyboards/handwired/scottokeebs/scottodeck/readme.md index b24b47d851..86224acb3c 100644 --- a/keyboards/handwired/scottokeebs/scottodeck/readme.md +++ b/keyboards/handwired/scottokeebs/scottodeck/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/keymap.c index f13389954f..451f48a968 100644 --- a/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoergo/readme.md b/keyboards/handwired/scottokeebs/scottoergo/readme.md index 3ddb7c5a4d..8bbf388304 100644 --- a/keyboards/handwired/scottokeebs/scottoergo/readme.md +++ b/keyboards/handwired/scottokeebs/scottoergo/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottofly/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottofly/keymaps/default/keymap.c index 4e4a995269..2633845d50 100644 --- a/keyboards/handwired/scottokeebs/scottofly/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scottofly/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottofly/readme.md b/keyboards/handwired/scottokeebs/scottofly/readme.md index 742191f647..ae51e0ef75 100644 --- a/keyboards/handwired/scottokeebs/scottofly/readme.md +++ b/keyboards/handwired/scottokeebs/scottofly/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottogame/config.h b/keyboards/handwired/scottokeebs/scottogame/config.h index 37714b3574..a168f0ef21 100644 --- a/keyboards/handwired/scottokeebs/scottogame/config.h +++ b/keyboards/handwired/scottokeebs/scottogame/config.h @@ -18,4 +18,4 @@ along with this program. If not, see . #pragma once // OLED -#define OLED_DISPLAY_128X64 +#define OLED_DISPLAY_128X64 \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottogame/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottogame/keymaps/default/keymap.c index 2643590e98..786587e543 100644 --- a/keyboards/handwired/scottokeebs/scottogame/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scottogame/keymaps/default/keymap.c @@ -46,4 +46,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottogame/readme.md b/keyboards/handwired/scottokeebs/scottogame/readme.md index 3ad481092e..c622df1b4e 100644 --- a/keyboards/handwired/scottokeebs/scottogame/readme.md +++ b/keyboards/handwired/scottokeebs/scottogame/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottogame/scottogame.c b/keyboards/handwired/scottokeebs/scottogame/scottogame.c index 1de49ed27f..bea5a57a3b 100644 --- a/keyboards/handwired/scottokeebs/scottogame/scottogame.c +++ b/keyboards/handwired/scottokeebs/scottogame/scottogame.c @@ -31,4 +31,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottohazard/config.h b/keyboards/handwired/scottokeebs/scottohazard/config.h index 64010b226c..2036aaed34 100644 --- a/keyboards/handwired/scottokeebs/scottohazard/config.h +++ b/keyboards/handwired/scottokeebs/scottohazard/config.h @@ -17,4 +17,4 @@ along with this program. If not, see . #pragma once -#define EE_HANDS +#define EE_HANDS \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/keymap.c index 4e4a995269..2633845d50 100644 --- a/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoinvader/readme.md b/keyboards/handwired/scottokeebs/scottoinvader/readme.md index 3b65f069e4..c04920498a 100644 --- a/keyboards/handwired/scottokeebs/scottoinvader/readme.md +++ b/keyboards/handwired/scottokeebs/scottoinvader/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottokatana/keyboard.json b/keyboards/handwired/scottokeebs/scottokatana/keyboard.json index f15ec3ed9e..6cf65818b6 100644 --- a/keyboards/handwired/scottokeebs/scottokatana/keyboard.json +++ b/keyboards/handwired/scottokeebs/scottokatana/keyboard.json @@ -60,4 +60,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottokatana/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottokatana/keymaps/default/keymap.c index a620e88277..b3ef7e9758 100644 --- a/keyboards/handwired/scottokeebs/scottokatana/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scottokatana/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottokatana/readme.md b/keyboards/handwired/scottokeebs/scottokatana/readme.md index 9605a4e6ea..915062f653 100644 --- a/keyboards/handwired/scottokeebs/scottokatana/readme.md +++ b/keyboards/handwired/scottokeebs/scottokatana/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottolong/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottolong/keymaps/default/keymap.c index 006ce3ec84..e63da854f0 100644 --- a/keyboards/handwired/scottokeebs/scottolong/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scottolong/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottolong/readme.md b/keyboards/handwired/scottokeebs/scottolong/readme.md index 88303e5aad..bdea4ee350 100644 --- a/keyboards/handwired/scottokeebs/scottolong/readme.md +++ b/keyboards/handwired/scottokeebs/scottolong/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottomacrodeck/readme.md b/keyboards/handwired/scottokeebs/scottomacrodeck/readme.md index 0f49f5b780..4fc82f42c8 100644 --- a/keyboards/handwired/scottokeebs/scottomacrodeck/readme.md +++ b/keyboards/handwired/scottokeebs/scottomacrodeck/readme.md @@ -26,4 +26,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c index fe2e5738ac..967526afa6 100644 --- a/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c @@ -21,4 +21,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( MS_BTN1, MS_BTN2, MS_LEFT, MS_UP, MS_DOWN, MS_RGHT ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottomouse/readme.md b/keyboards/handwired/scottokeebs/scottomouse/readme.md index d4c5f41bcd..4102f63310 100644 --- a/keyboards/handwired/scottokeebs/scottomouse/readme.md +++ b/keyboards/handwired/scottokeebs/scottomouse/readme.md @@ -26,4 +26,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoslant/readme.md b/keyboards/handwired/scottokeebs/scottoslant/readme.md index f3d37ee189..6bb237b6bf 100644 --- a/keyboards/handwired/scottokeebs/scottoslant/readme.md +++ b/keyboards/handwired/scottokeebs/scottoslant/readme.md @@ -25,4 +25,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottosplit/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottosplit/keymaps/default/keymap.c index 4e4a995269..2633845d50 100644 --- a/keyboards/handwired/scottokeebs/scottosplit/keymaps/default/keymap.c +++ b/keyboards/handwired/scottokeebs/scottosplit/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottosplit/readme.md b/keyboards/handwired/scottokeebs/scottosplit/readme.md index c364699ee7..94e73afd13 100644 --- a/keyboards/handwired/scottokeebs/scottosplit/readme.md +++ b/keyboards/handwired/scottokeebs/scottosplit/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottostarter/readme.md b/keyboards/handwired/scottokeebs/scottostarter/readme.md index b2641685e5..346db2f5fd 100644 --- a/keyboards/handwired/scottokeebs/scottostarter/readme.md +++ b/keyboards/handwired/scottokeebs/scottostarter/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/sector245/s245/keyboard.json b/keyboards/handwired/sector245/s245/keyboard.json deleted file mode 100644 index 5a74a74f1d..0000000000 --- a/keyboards/handwired/sector245/s245/keyboard.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "keyboard_name": "S245 Streamdeck", - "manufacturer": "sector245", - "maintainer": "sector245", - "processor": "RP2040", - "bootloader": "rp2040", - "debounce": 20, - "usb": { - "vid": "0x5345", - "pid": "0x0001", - "device_version": "1.0.0" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "encoder": true - }, - "matrix_pins": { - "direct": [ - ["GP2", "GP3", "GP13"], - ["GP4", "GP5", "GP6"], - ["GP7", "GP8", "GP9"] - ] - }, - "encoder": { - "rotary": [ - { - "pin_a": "GP10", - "pin_b": "GP11", - "resolution": 2 - } - ] - }, - "community_layouts": ["ortho_3x3"], - "layouts": { - "LAYOUT_ortho_3x3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0, "encoder": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2} - ] - } - } -} diff --git a/keyboards/handwired/sector245/s245/keymaps/default/keymap.c b/keyboards/handwired/sector245/s245/keymaps/default/keymap.c deleted file mode 100644 index 0786a5918c..0000000000 --- a/keyboards/handwired/sector245/s245/keymaps/default/keymap.c +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2025 sector245 (@sector245) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_3x3( - KC_A, KC_B, KC_C, - KC_D, KC_E, KC_F, - KC_G, KC_H, KC_I - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } -}; -#endif diff --git a/keyboards/handwired/sector245/s245/keymaps/default/rules.mk b/keyboards/handwired/sector245/s245/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/handwired/sector245/s245/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/handwired/sector245/s245/readme.md b/keyboards/handwired/sector245/s245/readme.md deleted file mode 100644 index b7fc7956fe..0000000000 --- a/keyboards/handwired/sector245/s245/readme.md +++ /dev/null @@ -1,24 +0,0 @@ -# S245 Streamdeck - -A 3x3 macropad with rotary encoder. - -* Keyboard Maintainer: [sector245](https://github.com/sinomau) -* Hardware Supported: S245 Streamdeck PCB, RP2040 - -Make example for this keyboard (after setting up your build environment): - - make handwired/sector245/s245:default - -Flashing example for this keyboard: - - make handwired/sector245/s245:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key) and plug in the keyboard -* **Physical reset button**: Hold the BOOTSEL button on the Pico and plug in the keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/skakunm_dactyl/keymaps/default/keymap.c b/keyboards/handwired/skakunm_dactyl/keymaps/default/keymap.c index 9f1b95c7c3..0109b18c6c 100644 --- a/keyboards/handwired/skakunm_dactyl/keymaps/default/keymap.c +++ b/keyboards/handwired/skakunm_dactyl/keymaps/default/keymap.c @@ -38,4 +38,4 @@ enum custom_keycodes { 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/handwired/skakunm_dactyl/readme.md b/keyboards/handwired/skakunm_dactyl/readme.md index ae78156824..73174fbd1b 100644 --- a/keyboards/handwired/skakunm_dactyl/readme.md +++ b/keyboards/handwired/skakunm_dactyl/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make handwired/skakunm_dactyl: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/handwired/splittest/keymaps/bitbang/keymap.c b/keyboards/handwired/splittest/keymaps/bitbang/keymap.c index 7535715da1..8a83e19850 100644 --- a/keyboards/handwired/splittest/keymaps/bitbang/keymap.c +++ b/keyboards/handwired/splittest/keymaps/bitbang/keymap.c @@ -11,4 +11,4 @@ void keyboard_post_init_user(void) { debug_matrix = true; debug_keyboard = true; // debug_mouse=true; -} +} \ No newline at end of file diff --git a/keyboards/handwired/splittest/keymaps/data_sync/keymap.c b/keyboards/handwired/splittest/keymaps/data_sync/keymap.c deleted file mode 100644 index fcef718983..0000000000 --- a/keyboards/handwired/splittest/keymaps/data_sync/keymap.c +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2022 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(KC_L, KC_R) -}; diff --git a/keyboards/handwired/splittest/keymaps/data_sync/keymap.json b/keyboards/handwired/splittest/keymaps/data_sync/keymap.json deleted file mode 100644 index 832fd82e53..0000000000 --- a/keyboards/handwired/splittest/keymaps/data_sync/keymap.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "modules": [ - "qmk/split_data_sync" - ] -} diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/default/readme.md b/keyboards/handwired/stef9998/split_5x7/keymaps/default/readme.md index 9e18a74c4a..9d3e057bc6 100644 --- a/keyboards/handwired/stef9998/split_5x7/keymaps/default/readme.md +++ b/keyboards/handwired/stef9998/split_5x7/keymaps/default/readme.md @@ -4,4 +4,4 @@ This is the default layout. For the most part it's a straightforward and easy to follow layout. -The only thing to note is the apostrophe key which is on the second layer under return. +The only thing to note is the apostrophe key which is on the second layer under return. \ No newline at end of file diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/rules.mk b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/rules.mk index aff8946111..f18f03c2c7 100644 --- a/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/rules.mk +++ b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/rules.mk @@ -1,2 +1,2 @@ CAPS_WORD_ENABLE = yes -SWAP_HANDS_ENABLE = yes +SWAP_HANDS_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/stef9998/split_5x7/readme.md b/keyboards/handwired/stef9998/split_5x7/readme.md index 26a06749f8..bf6c9ef719 100644 --- a/keyboards/handwired/stef9998/split_5x7/readme.md +++ b/keyboards/handwired/stef9998/split_5x7/readme.md @@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to How to enter the bootloader: * **Keycode in layout**: Press the key mapped to `QK_BOOT`.\ -In the default keymap it's accessible by pressing either of the buttons bringing you to layer `_SYM` and then pressing one of the outer Ctrl's. +In the default keymap it's accessible by pressing either of the buttons bringing you to layer `_SYM` and then pressing one of the outer Ctrl's. \ No newline at end of file diff --git a/keyboards/handwired/stef9998/split_5x7/rev1/rev1.c b/keyboards/handwired/stef9998/split_5x7/rev1/rev1.c index 94c1780d08..18543078c7 100644 --- a/keyboards/handwired/stef9998/split_5x7/rev1/rev1.c +++ b/keyboards/handwired/stef9998/split_5x7/rev1/rev1.c @@ -30,4 +30,4 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}}, {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}}, }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/handwired/stef9998/split_5x7/rev1/rules.mk b/keyboards/handwired/stef9998/split_5x7/rev1/rules.mk index 1056aa2c41..3cd6d040b8 100644 --- a/keyboards/handwired/stef9998/split_5x7/rev1/rules.mk +++ b/keyboards/handwired/stef9998/split_5x7/rev1/rules.mk @@ -1,4 +1,4 @@ # Disable unsupported hardware AUDIO_SUPPORTED = no BACKLIGHT_SUPPORTED = no -RGBLIGHT_SUPPORTED = no +RGBLIGHT_SUPPORTED = no \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/the_galleon/keymaps/default/rules.mk b/keyboards/handwired/swiftrax/the_galleon/keymaps/default/rules.mk index 979fc59cc7..90fc9b184b 100644 --- a/keyboards/handwired/swiftrax/the_galleon/keymaps/default/rules.mk +++ b/keyboards/handwired/swiftrax/the_galleon/keymaps/default/rules.mk @@ -1 +1 @@ -WPM_ENABLE = yes +WPM_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c index 2fa06ec7ce..fa9b6ef0fd 100644 --- a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c +++ b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c @@ -44,7 +44,7 @@ static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; # ifdef MATRIX_MUL_SELECT -static const pin_t col_sel[MATRIX_COLS] = MATRIX_MUL_SEL; +static const pin_t col_sel[MATRIX_COLS] = MATRIX_MUL_SEL; # endif #endif @@ -57,8 +57,8 @@ static const uint8_t delay_sel[] = {MATRIX_IO_DELAY_MULSEL}; #endif /* matrix state(1:on, 0:off) */ -extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { @@ -68,9 +68,7 @@ static inline void gpio_atomic_set_pin_output_low(pin_t pin) { } static inline void gpio_atomic_set_pin_input_high(pin_t pin) { - ATOMIC_BLOCK_FORCEON { - gpio_set_pin_input_high(pin); - } + ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); } } // matrix code @@ -110,13 +108,9 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) #elif defined(DIODE_DIRECTION) # if (DIODE_DIRECTION == COL2ROW) -static void select_row(uint8_t row) { - gpio_atomic_set_pin_output_low(row_pins[row]); -} +static void select_row(uint8_t row) { gpio_atomic_set_pin_output_low(row_pins[row]); } -static void unselect_row(uint8_t row) { - gpio_atomic_set_pin_input_high(row_pins[row]); -} +static void unselect_row(uint8_t row) { gpio_atomic_set_pin_input_high(row_pins[row]); } static void unselect_rows(void) { for (uint8_t x = 0; x < MATRIX_ROWS; x++) { @@ -159,7 +153,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) // Unselect row unselect_row(current_row); # ifdef MATRIX_IO_DELAY_PORTS - if (current_row_value) { // wait for col signal to go HIGH + if (current_row_value) { // wait for col signal to go HIGH bool is_pressed; do { MATRIX_DEBUG_DELAY_START(); @@ -176,7 +170,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) } # endif # ifdef MATRIX_IO_DELAY_ADAPTIVE - if (current_row_value) { // wait for col signal to go HIGH + if (current_row_value) { // wait for col signal to go HIGH for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { MATRIX_DEBUG_DELAY_START(); # ifdef MATRIX_MUL_SELECT @@ -190,7 +184,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) } # endif # ifdef MATRIX_IO_DELAY_ADAPTIVE2 - if (current_row_value) { // wait for col signal to go HIGH + if (current_row_value) { // wait for col signal to go HIGH pin_t state; do { MATRIX_DEBUG_DELAY_START(); @@ -210,7 +204,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) # endif if (MATRIX_IO_DELAY_ALWAYS || current_row + 1 < MATRIX_ROWS) { MATRIX_DEBUG_DELAY_START(); - matrix_output_unselect_delay(current_row, current_row_value != 0); // wait for col signal to go HIGH + matrix_output_unselect_delay(current_row, current_row_value != 0); // wait for col signal to go HIGH MATRIX_DEBUG_DELAY_END(); } @@ -224,13 +218,9 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) # elif (DIODE_DIRECTION == ROW2COL) -static void select_col(uint8_t col) { - gpio_atomic_set_pin_output_low(col_pins[col]); -} +static void select_col(uint8_t col) { gpio_atomic_set_pin_output_low(col_pins[col]); } -static void unselect_col(uint8_t col) { - gpio_atomic_set_pin_input_high(col_pins[col]); -} +static void unselect_col(uint8_t col) { gpio_atomic_set_pin_input_high(col_pins[col]); } static void unselect_cols(void) { for (uint8_t x = 0; x < MATRIX_COLS; x++) { @@ -247,7 +237,7 @@ static void init_pins(void) { static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { bool matrix_changed = false; - bool key_pressed = false; + bool key_pressed = false; // Select col select_col(current_col); @@ -279,7 +269,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) // Unselect col unselect_col(current_col); if (MATRIX_IO_DELAY_ALWAYS || current_col + 1 < MATRIX_COLS) { - matrix_output_unselect_delay(current_col, key_pressed); // wait for col signal to go HIGH + matrix_output_unselect_delay(current_col, key_pressed); // wait for col signal to go HIGH } return matrix_changed; @@ -302,7 +292,7 @@ void matrix_init(void) { matrix[i] = 0; } - debounce_init(); + debounce_init(MATRIX_ROWS); matrix_init_kb(); } @@ -327,7 +317,7 @@ uint8_t matrix_scan(void) { MATRIX_DEBUG_GAP(); MATRIX_DEBUG_SCAN_START(); - debounce(raw_matrix, matrix, changed); + debounce(raw_matrix, matrix, MATRIX_ROWS, changed); MATRIX_DEBUG_SCAN_END(); MATRIX_DEBUG_GAP(); diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c index 99ce2f2c2d..842df65dbd 100644 --- a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c +++ b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c @@ -166,7 +166,7 @@ void matrix_init(void) { matrix[i] = 0; } - debounce_init(); + debounce_init(MATRIX_ROWS); matrix_init_kb(); } @@ -221,7 +221,7 @@ uint8_t matrix_scan(void) { MATRIX_DEBUG_SCAN_END(); MATRIX_DEBUG_GAP(); MATRIX_DEBUG_SCAN_START(); // debounce raw_matrix[] to matrix[] - debounce(raw_matrix, matrix, changed); + debounce(raw_matrix, matrix, MATRIX_ROWS, changed); MATRIX_DEBUG_SCAN_END(); MATRIX_DEBUG_GAP(); MATRIX_DEBUG_SCAN_START(); diff --git a/keyboards/handwired/t111/keymaps/oleg/config.h b/keyboards/handwired/t111/keymaps/oleg/config.h index 3e5f8251c3..b4f15ae896 100644 --- a/keyboards/handwired/t111/keymaps/oleg/config.h +++ b/keyboards/handwired/t111/keymaps/oleg/config.h @@ -17,4 +17,4 @@ along with this program. If not, see . #pragma once -#define UNICODE_SELECTED_MODES UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE \ No newline at end of file diff --git a/keyboards/handwired/t111/keymaps/oleg/rules.mk b/keyboards/handwired/t111/keymaps/oleg/rules.mk index 502b2def76..0517619ed1 100644 --- a/keyboards/handwired/t111/keymaps/oleg/rules.mk +++ b/keyboards/handwired/t111/keymaps/oleg/rules.mk @@ -1 +1 @@ -UNICODEMAP_ENABLE = yes +UNICODEMAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/tnx_corne_f401/config.h b/keyboards/handwired/tnx_corne_f401/config.h deleted file mode 100644 index 90d1dd71e1..0000000000 --- a/keyboards/handwired/tnx_corne_f401/config.h +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2026 ToYoNiX -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// Split configuration -#define SPLIT_HAND_PIN_LOW_IS_LEFT - -// Enable full duplex operation mode -#define SERIAL_USART_FULL_DUPLEX -#define SERIAL_USART_TX_PIN B6 -#define SERIAL_USART_RX_PIN B7 diff --git a/keyboards/handwired/tnx_corne_f401/halconf.h b/keyboards/handwired/tnx_corne_f401/halconf.h deleted file mode 100644 index ae24733a80..0000000000 --- a/keyboards/handwired/tnx_corne_f401/halconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2024 zvecr -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once -#define HAL_USE_SERIAL TRUE - -#define SERIAL_USB_BUFFERS_SIZE 256 - -#include_next diff --git a/keyboards/handwired/tnx_corne_f401/keyboard.json b/keyboards/handwired/tnx_corne_f401/keyboard.json deleted file mode 100644 index 39d5cf8439..0000000000 --- a/keyboards/handwired/tnx_corne_f401/keyboard.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "manufacturer": "Assem Mohamed", - "keyboard_name": "handwired/tnx_corne_f401", - "maintainer": "ToYoNiX", - "development_board": "blackpill_f401", - "bootloader": "tinyuf2", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "B9", "pin_b": "B8", "resolution": 2} - ] - }, - "split": { - "enabled": true, - "handedness": { - "pin": "C13" - }, - "serial": { - "driver": "usart" - }, - "transport": { - "watchdog": true - }, - "encoder": { - "right": { - "rotary": [ - {"pin_a": "B9", "pin_b": "B8", "resolution": 2} - ] - } - } - }, - "features": { - "bootmagic": true, - "extrakey": true, - "encoder": true, - "mousekey": true, - "nkro": true - }, - "host": { - "default": { - "nkro": true - } - }, - "matrix_pins": { - "cols": ["A8", "B15", "B14", "B13", "B12"], - "rows": ["B0", "A5", "A4", "A3"] - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x544E", - "vid": "0x4B42" - }, - "layouts": { - "LAYOUT_split_3x5_3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.3}, - {"matrix": [0, 1], "x": 1, "y": 0.1}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0.1}, - {"matrix": [0, 4], "x": 4, "y": 0.2}, - - {"matrix": [4, 4], "x": 8, "y": 0.2}, - {"matrix": [4, 3], "x": 9, "y": 0.1}, - {"matrix": [4, 2], "x": 10, "y": 0}, - {"matrix": [4, 1], "x": 11, "y": 0.1}, - {"matrix": [4, 0], "x": 12, "y": 0.3}, - - {"matrix": [1, 0], "x": 0, "y": 1.3}, - {"matrix": [1, 1], "x": 1, "y": 1.1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1.1}, - {"matrix": [1, 4], "x": 4, "y": 1.2}, - - {"matrix": [5, 4], "x": 8, "y": 1.2}, - {"matrix": [5, 3], "x": 9, "y": 1.1}, - {"matrix": [5, 2], "x": 10, "y": 1}, - {"matrix": [5, 1], "x": 11, "y": 1.1}, - {"matrix": [5, 0], "x": 12, "y": 1.3}, - - {"matrix": [2, 0], "x": 0, "y": 2.3}, - {"matrix": [2, 1], "x": 1, "y": 2.1}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2.1}, - {"matrix": [2, 4], "x": 4, "y": 2.2}, - - {"matrix": [6, 4], "x": 8, "y": 2.2}, - {"matrix": [6, 3], "x": 9, "y": 2.1}, - {"matrix": [6, 2], "x": 10, "y": 2}, - {"matrix": [6, 1], "x": 11, "y": 2.1}, - {"matrix": [6, 0], "x": 12, "y": 2.3}, - - {"matrix": [3, 2], "x": 3, "y": 3.7}, - {"matrix": [3, 3], "x": 4, "y": 3.7}, - {"matrix": [3, 4], "x": 5, "y": 3.2, "h": 1.5}, - - {"matrix": [7, 4], "x": 7, "y": 3.2, "h": 1.5}, - {"matrix": [7, 3], "x": 8, "y": 3.7}, - {"matrix": [7, 2], "x": 9, "y": 3.7} - ] - } - } -} diff --git a/keyboards/handwired/tnx_corne_f401/keymaps/default/keymap.c b/keyboards/handwired/tnx_corne_f401/keymaps/default/keymap.c deleted file mode 100644 index c21ecce172..0000000000 --- a/keyboards/handwired/tnx_corne_f401/keymaps/default/keymap.c +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2026 ToYoNiX -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// Home Row Mods - custom modifier order -#define HM_A LSFT_T(KC_A) // Shift -#define HM_S LCTL_T(KC_S) // Ctrl -#define HM_D LGUI_T(KC_D) // Win/GUI -#define HM_F LALT_T(KC_F) // Alt - -#define HM_J LALT_T(KC_J) // Alt -#define HM_K LGUI_T(KC_K) // Win/GUI -#define HM_L LCTL_T(KC_L) // Ctrl -#define HM_SCLN RSFT_T(KC_SCLN) // Shift - -// Keymap -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* BASE Layer: QWERTY */ - [0] = LAYOUT_split_3x5_3( - //A8 B15 B14 B13 B12 B12 B13 B14 B15 A8 - KC_Q, KC_W, KC_E, KC_R, KC_T, /*B0*/ KC_Y, KC_U, KC_I, KC_O, KC_P, - HM_A, HM_S, HM_D, HM_F, KC_G, /*A5*/ KC_H, HM_J, HM_K, HM_L, HM_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, /*A4*/ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_ESC, KC_SPC, MO(1), /*A3*/ MO(2), KC_BSPC, KC_ENT - ), - [1] = LAYOUT_split_3x5_3( - KC_TAB, KC_7, KC_8, KC_9, KC_0, KC_GRV, KC_QUOT, KC_MINS, KC_EQL, KC_NO, - KC_LSFT, KC_4, KC_5, KC_6, KC_PSCR, KC_HOME, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, - KC_LGUI, KC_1, KC_2, KC_3, KC_DEL, KC_END, KC_COMM, KC_DOT, KC_SLSH, KC_NO, - _______, _______, _______, _______, _______, _______ - ), - [2] = LAYOUT_split_3x5_3( - QK_BOOT, KC_F7, KC_F8, KC_F9, KC_F10, TO(3), KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, - QK_RBT, KC_F1, KC_F2, KC_F3, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - _______, _______, _______, _______, _______, _______ - ), - // Gaming Layers - [3] = LAYOUT_split_3x5_3( - KC_TAB, KC_Q, KC_W, KC_E, KC_R, TO(0), KC_NO, KC_NO, KC_NO, KC_NO, - KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_ESC, KC_SPC, LT(4, KC_LGUI), KC_NO, KC_NO, KC_NO - ), - [4] = LAYOUT_split_3x5_3( - KC_NO, KC_7, KC_8, KC_9, KC_0, TO(0), KC_NO, KC_NO, KC_NO, KC_NO, - KC_M, KC_4, KC_5, KC_6, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_B, KC_1, KC_2, KC_3, KC_F3, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - _______, _______, _______, KC_NO, KC_NO, KC_NO - ) -}; - -// Encoders -#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(MS_WHLD, MS_WHLU) }, - [1] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_BRIU, KC_BRID) }, - [2] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_NO, KC_NO) }, - [3] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_NO, KC_NO) }, - [4] = { ENCODER_CCW_CW(KC_NO, KC_NO), ENCODER_CCW_CW(KC_NO, KC_NO) }, - // Encoder 1 Encoder 2 -}; -#endif diff --git a/keyboards/handwired/tnx_corne_f401/keymaps/default/rules.mk b/keyboards/handwired/tnx_corne_f401/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/handwired/tnx_corne_f401/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/handwired/tnx_corne_f401/mcuconf.h b/keyboards/handwired/tnx_corne_f401/mcuconf.h deleted file mode 100644 index 949178684b..0000000000 --- a/keyboards/handwired/tnx_corne_f401/mcuconf.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2024 zvecr -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next -#undef STM32_SERIAL_USE_USART1 -#define STM32_SERIAL_USE_USART1 TRUE diff --git a/keyboards/handwired/tnx_corne_f401/readme.md b/keyboards/handwired/tnx_corne_f401/readme.md deleted file mode 100644 index e52fde920a..0000000000 --- a/keyboards/handwired/tnx_corne_f401/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# handwired/tnx_corne_f401 - -![handwired/tnx_corne_f401](https://i.imgur.com/rHiwS60.jpeg) - -*A handwired Corne keyboard using STM32 microcontrollers, with encoder support.* - -* Keyboard Maintainer: [Assem Mohamed](https://github.com/ToYoNiX) -* Hardware Supported: STM32F401, STM32F411, or STM32F103 development boards with USB HID support -* Hardware Availability: Commonly available Blackpill F401 and Bluepill F103 boards, plus EC11 encoders and a TRRS cable - -Make example for this keyboard (after setting up your build environment): - - make handwired/tnx_corne_f401:default - -Flashing example for this keyboard: - - make handwired/tnx_corne_f401:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 2 ways: - -* **Physical reset button**: Double-press the reset button on the dev board to enter DFU mode -* **Keycode in layout**: Press the key mapped to `QK_BOOT` diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c index f678db94d8..298060bcb4 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c +++ b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c @@ -16,6 +16,39 @@ #include "tractyl_manuform.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 24, 23, 18, 17, 10, 9 }, + { 25, 22, 19, 16, 11, 8 }, + { 26, 21, 20, 15, 12, 7 }, + { NO_LED, NO_LED, NO_LED, 14, 13, 6 }, + { NO_LED, NO_LED, NO_LED, 14, 13, 6 }, + { 51, 50, 45, 44, 37, 36 }, + { 52, 49, 46, 43, 38, 35 }, + { 53, 48, 47, 42, 39, 34 }, + { NO_LED, NO_LED, NO_LED, 41, 40, 33 }, + { NO_LED, NO_LED, NO_LED, 41, 40, 33 } +}, { + { 85, 16 }, { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 }, + { 85, 39 }, { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 }, + { 60, 55 }, { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 }, + { 16, 42 }, { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }, { 139, 16 }, + { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 }, { 139, 39 }, + { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 }, { 164, 55 }, + { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 }, { 208, 42 }, + { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 } +}, { + 2, 2, 2, 2, 2, 2, 1, + 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 1, 1, 2, + 2, 2, 2, 2, 2, 1, 4, + 4, 4, 4, 4, 4, 1, 1, + 4, 4, 4, 4, 4, 4, 4, + 4, 4, 1, 1, 1 +} }; +#endif + #ifdef SWAP_HANDS_ENABLE const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { /* Left hand, matrix positions */ diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json index 4ecb7f33c8..cc651bec95 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json +++ b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json @@ -7,62 +7,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"x": 85, "y": 16, "flags": 2}, - {"x": 50, "y": 13, "flags": 2}, - {"x": 16, "y": 20, "flags": 2}, - {"x": 16, "y": 38, "flags": 2}, - {"x": 50, "y": 48, "flags": 2}, - {"x": 85, "y": 52, "flags": 2}, - {"matrix": [4, 5], "x": 95, "y": 63, "flags": 1}, - {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4}, - {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4}, - {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4}, - {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4}, - {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4}, - {"matrix": [4, 4], "x": 80, "y": 58, "flags": 1}, - {"matrix": [4, 3], "x": 60, "y": 55, "flags": 1}, - {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4}, - {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4}, - {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4}, - {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4}, - {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 7, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 24, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 41, "flags": 1}, - {"x": 139, "y": 16, "flags": 2}, - {"x": 174, "y": 13, "flags": 2}, - {"x": 208, "y": 20, "flags": 2}, - {"x": 208, "y": 38, "flags": 2}, - {"x": 174, "y": 48, "flags": 2}, - {"x": 139, "y": 52, "flags": 2}, - {"matrix": [9, 5], "x": 129, "y": 63, "flags": 1}, - {"matrix": [7, 5], "x": 139, "y": 39, "flags": 4}, - {"matrix": [6, 5], "x": 139, "y": 21, "flags": 4}, - {"matrix": [5, 5], "x": 139, "y": 4, "flags": 4}, - {"matrix": [5, 4], "x": 156, "y": 2, "flags": 4}, - {"matrix": [6, 4], "x": 156, "y": 19, "flags": 4}, - {"matrix": [7, 4], "x": 156, "y": 37, "flags": 4}, - {"matrix": [9, 4], "x": 144, "y": 58, "flags": 1}, - {"matrix": [9, 3], "x": 164, "y": 55, "flags": 1}, - {"matrix": [7, 3], "x": 174, "y": 35, "flags": 4}, - {"matrix": [6, 3], "x": 174, "y": 13, "flags": 4}, - {"matrix": [5, 3], "x": 174, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 191, "y": 3, "flags": 4}, - {"matrix": [6, 2], "x": 191, "y": 20, "flags": 4}, - {"matrix": [7, 2], "x": 191, "y": 37, "flags": 4}, - {"matrix": [7, 1], "x": 208, "y": 42, "flags": 4}, - {"matrix": [6, 1], "x": 208, "y": 24, "flags": 4}, - {"matrix": [5, 1], "x": 208, "y": 7, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 7, "flags": 1}, - {"matrix": [6, 0], "x": 224, "y": 24, "flags": 1}, - {"matrix": [7, 0], "x": 224, "y": 41, "flags": 1} - ], "max_brightness": 80, "sleep": true, "split_count": [32, 30] @@ -81,7 +25,7 @@ "pin": "D3" }, "bootmagic": { - "matrix": [5, 5] + "matrix": [4, 5] } }, "ws2812": { diff --git a/keyboards/handwired/twadlee/tp69/keyboard.json b/keyboards/handwired/twadlee/tp69/keyboard.json index 91b162233e..833aa8bdf8 100644 --- a/keyboards/handwired/twadlee/tp69/keyboard.json +++ b/keyboards/handwired/twadlee/tp69/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TP69", "manufacturer": "Tracy Wadleigh", + "url": "https://github.com/twadleigh/qmk_firmware", "maintainer": "qmk", "usb": { "vid": "0xBEEF", diff --git a/keyboards/handwired/twadlee/tp69/twadlee-tp69-kle.json b/keyboards/handwired/twadlee/tp69/twadlee-tp69-kle.json index f2fb14db93..b54508bf4f 100644 --- a/keyboards/handwired/twadlee/tp69/twadlee-tp69-kle.json +++ b/keyboards/handwired/twadlee/tp69/twadlee-tp69-kle.json @@ -136,4 +136,4 @@ }, "" ] -] +] \ No newline at end of file diff --git a/keyboards/handwired/twentypad/keyboard.json b/keyboards/handwired/twentypad/keyboard.json deleted file mode 100644 index 0de0ed1cb9..0000000000 --- a/keyboards/handwired/twentypad/keyboard.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "manufacturer": "Harry Cutts", - "keyboard_name": "TwentyPad", - "maintainer": "HarryCutts", - "bootloader": "atmel-dfu", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true - }, - "matrix_pins": { - "direct": [ - ["B7", "D5", "B5", "F6"], - ["B3", "D3", "B4", "F7"], - ["B2", "D2", "D7", "C7"], - ["B1", "D1", "D6", "C6"], - ["B0", "D0", "D4", "B6"] - ] - }, - "processor": "atmega32u4", - "url": "https://github.com/HarryCutts/twentypad/", - "usb": { - "device_version": "1.0.0", - "pid": "0x209D", - "vid": "0xFEED" - }, - "community_layouts": ["ortho_5x4"], - "layouts": { - "LAYOUT_ortho_5x4": { - "layout": [ - {"label": "B7", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "D5", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "B5", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "F6", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "B3", "matrix": [1, 0], "x": 0, "y": 1}, - {"label": "D3", "matrix": [1, 1], "x": 1, "y": 1}, - {"label": "B4", "matrix": [1, 2], "x": 2, "y": 1}, - {"label": "F7", "matrix": [1, 3], "x": 3, "y": 1}, - {"label": "B2", "matrix": [2, 0], "x": 0, "y": 2}, - {"label": "D2", "matrix": [2, 1], "x": 1, "y": 2}, - {"label": "D7", "matrix": [2, 2], "x": 2, "y": 2}, - {"label": "C7", "matrix": [2, 3], "x": 3, "y": 2}, - {"label": "B1", "matrix": [3, 0], "x": 0, "y": 3}, - {"label": "D1", "matrix": [3, 1], "x": 1, "y": 3}, - {"label": "D6", "matrix": [3, 2], "x": 2, "y": 3}, - {"label": "C6", "matrix": [3, 3], "x": 3, "y": 3}, - {"label": "B0", "matrix": [4, 0], "x": 0, "y": 4}, - {"label": "D0", "matrix": [4, 1], "x": 1, "y": 4}, - {"label": "D4", "matrix": [4, 2], "x": 2, "y": 4}, - {"label": "B6", "matrix": [4, 3], "x": 3, "y": 4} - ] - } - } -} diff --git a/keyboards/handwired/twentypad/keymaps/default/keymap.json b/keyboards/handwired/twentypad/keymaps/default/keymap.json deleted file mode 100644 index ed963a29cd..0000000000 --- a/keyboards/handwired/twentypad/keymaps/default/keymap.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "keyboard": "handwired/twentypad", - "keymap": "default", - "layout": "LAYOUT_ortho_5x4", - "layers": [ - [ - "KC_CALCULATOR", "KC_KP_SLASH", "KC_KP_ASTERISK", "KC_KP_MINUS", - "KC_KP_7", "KC_KP_8", "KC_KP_9", "KC_KP_PLUS", - "KC_KP_4", "KC_KP_5", "KC_KP_6", "KC_LEFT_PAREN", - "KC_KP_1", "KC_KP_2", "KC_KP_3", "KC_RIGHT_PAREN", - "KC_KP_0", "KC_KP_DOT", "KC_KP_EQUAL", "KC_KP_ENTER" - ] - ] -} diff --git a/keyboards/handwired/twentypad/readme.md b/keyboards/handwired/twentypad/readme.md deleted file mode 100644 index 6984c5947c..0000000000 --- a/keyboards/handwired/twentypad/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# TwentyPad - -![TwentyPad](https://i.imgur.com/e1Bsg1M.jpeg) - -A simple twenty-key macro pad, built to learn PCB design. - -* Keyboard Maintainer: [Harry Cutts](https://github.com/HarryCutts) -* Hardware Supported: ATMEGA32U4 on a [custom PCB](https://github.com/HarryCutts/twentypad/) - -Make example for this keyboard (after setting up your build environment): - - qmk compile -kb handwired/twentypad -km default - -Flashing example for this keyboard: - - qmk flash -kb handwired/twentypad -km default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard -* **Physical reset button**: Press the button marked `SWR1` in the top-left of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/wwa/helios/keyboard.json b/keyboards/handwired/wwa/helios/keyboard.json index beb821643f..8a77808e67 100644 --- a/keyboards/handwired/wwa/helios/keyboard.json +++ b/keyboards/handwired/wwa/helios/keyboard.json @@ -38,4 +38,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/wwa/kepler/keyboard.json b/keyboards/handwired/wwa/kepler/keyboard.json index ab0689b8c8..843403bf89 100644 --- a/keyboards/handwired/wwa/kepler/keyboard.json +++ b/keyboards/handwired/wwa/kepler/keyboard.json @@ -50,4 +50,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/wwa/mercury/keyboard.json b/keyboards/handwired/wwa/mercury/keyboard.json index 47ad7c7c2a..8ed067f84d 100644 --- a/keyboards/handwired/wwa/mercury/keyboard.json +++ b/keyboards/handwired/wwa/mercury/keyboard.json @@ -34,4 +34,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/wwa/mercury/readme.md b/keyboards/handwired/wwa/mercury/readme.md index 1523d95d30..32d346dbe9 100644 --- a/keyboards/handwired/wwa/mercury/readme.md +++ b/keyboards/handwired/wwa/mercury/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/wwa/soyuz/keyboard.json b/keyboards/handwired/wwa/soyuz/keyboard.json index d8d09e74c2..b922af10a2 100644 --- a/keyboards/handwired/wwa/soyuz/keyboard.json +++ b/keyboards/handwired/wwa/soyuz/keyboard.json @@ -57,4 +57,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/wwa/soyuzxl/keyboard.json b/keyboards/handwired/wwa/soyuzxl/keyboard.json index fd32c25a4d..d666e798f4 100644 --- a/keyboards/handwired/wwa/soyuzxl/keyboard.json +++ b/keyboards/handwired/wwa/soyuzxl/keyboard.json @@ -49,4 +49,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/handwired/wwa/soyuzxl/keymaps/default/keymap.c b/keyboards/handwired/wwa/soyuzxl/keymaps/default/keymap.c index 6004d8caf2..af0eb592dc 100644 --- a/keyboards/handwired/wwa/soyuzxl/keymaps/default/keymap.c +++ b/keyboards/handwired/wwa/soyuzxl/keymaps/default/keymap.c @@ -10,4 +10,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24 ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/xealous/keymaps/default/keymap.c b/keyboards/handwired/xealous/keymaps/default/keymap.c index b581015b54..88aa4ddfc9 100644 --- a/keyboards/handwired/xealous/keymaps/default/keymap.c +++ b/keyboards/handwired/xealous/keymaps/default/keymap.c @@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { float tone_qwerty[][2] = TONE_QWERTY; float tone_numpad[][2] = TONE_NUMPAD; -layer_state_t default_layer_state_set_user(layer_state_t state) { +layer_state_t default_layer_state_set_kb(layer_state_t state) { if (state == 1UL<<_QWERTY) { PLAY_SONG(tone_qwerty); } else if (state == 1UL<<_NUMPAD) { diff --git a/keyboards/handwired/yodadistro/macro/readme.md b/keyboards/handwired/yodadistro/macro/readme.md index 4183280b99..ceda19acba 100644 --- a/keyboards/handwired/yodadistro/macro/readme.md +++ b/keyboards/handwired/yodadistro/macro/readme.md @@ -22,4 +22,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to * **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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/z150/keymaps/default/keymap.c b/keyboards/handwired/z150/keymaps/default/keymap.c index f7fb3a0987..8ebc68f37a 100644 --- a/keyboards/handwired/z150/keymaps/default/keymap.c +++ b/keyboards/handwired/z150/keymaps/default/keymap.c @@ -36,4 +36,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_BSLS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_F9, KC_F10,KC_LALT, KC_GRV, KC_SPC, KC_CAPS, KC_P0, KC_PDOT ) -}; +}; \ No newline at end of file diff --git a/keyboards/handwired/zergo/keyboard.json b/keyboards/handwired/zergo/keyboard.json index 59ee3ec636..44bd80c0cd 100644 --- a/keyboards/handwired/zergo/keyboard.json +++ b/keyboards/handwired/zergo/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "zErgo", "manufacturer": "GreenJack", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/zergo", "maintainer": "greenjack", "usb": { "vid": "0xFEED", diff --git a/keyboards/hazel/bad_wings/config.h b/keyboards/hazel/bad_wings/config.h index 4a498a1ae3..b69628e7fc 100644 --- a/keyboards/hazel/bad_wings/config.h +++ b/keyboards/hazel/bad_wings/config.h @@ -19,4 +19,4 @@ #define POINTING_DEVICE_CS_PIN GP1 #define CIRQUE_PINNACLE_DIAMETER_MM 35 -#define POINTING_DEVICE_ROTATION_90 +#define POINTING_DEVICE_ROTATION_90 \ No newline at end of file diff --git a/keyboards/hazel/bad_wings/keymaps/default/keymap.json b/keyboards/hazel/bad_wings/keymaps/default/keymap.json index 13233c1cf8..670506eaf6 100644 --- a/keyboards/hazel/bad_wings/keymaps/default/keymap.json +++ b/keyboards/hazel/bad_wings/keymaps/default/keymap.json @@ -160,4 +160,4 @@ ] ], "author": "Jason Hazel" -} +} \ No newline at end of file diff --git a/keyboards/hazel/bad_wings/keymaps/default/rules.mk b/keyboards/hazel/bad_wings/keymaps/default/rules.mk index 7a7b6c40c2..cb8ebf227e 100644 --- a/keyboards/hazel/bad_wings/keymaps/default/rules.mk +++ b/keyboards/hazel/bad_wings/keymaps/default/rules.mk @@ -1,2 +1,2 @@ MOUSEKEY_ENABLE = yes -EXTRAKEY_ENABLE = yes +EXTRAKEY_ENABLE = yes \ No newline at end of file diff --git a/keyboards/hazel/bad_wings/mcuconf.c b/keyboards/hazel/bad_wings/mcuconf.c index add1bd2887..9ed5ae7efb 100644 --- a/keyboards/hazel/bad_wings/mcuconf.c +++ b/keyboards/hazel/bad_wings/mcuconf.c @@ -8,4 +8,4 @@ #undef RP_SPI_USE_SPI0 #define RP_SPI_USE_SPI0 TRUE #undef RP_I2C_USE_I2C1 -#define RP_I2C_USE_I2C1 TRUE +#define RP_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/hazel/bad_wings/readme.md b/keyboards/hazel/bad_wings/readme.md index 3323d2c2f7..0b0f643745 100644 --- a/keyboards/hazel/bad_wings/readme.md +++ b/keyboards/hazel/bad_wings/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the top-left key and plug in the keyboard * **Physical reset button**: Hold Xiao B button, press Xiao R button, release B -* **Keycode in layout**: There is no key mapped to `QK_BOOT` in the pre-created keymaps, but you may assign this key in any keymaps you create +* **Keycode in layout**: There is no key mapped to `QK_BOOT` in the pre-created keymaps, but you may assign this key in any keymaps you create \ No newline at end of file diff --git a/keyboards/heer_s1/config.h b/keyboards/heer_s1/config.h deleted file mode 100644 index 8935cb74af..0000000000 --- a/keyboards/heer_s1/config.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2026 Heer (@heer) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -// ── OLED (SH1106 1.3", 128×64, I2C address 0x3C) ──────────────────────────── -#define OLED_DISPLAY_128X64 -#define OLED_IC OLED_IC_SH1106 -#define OLED_COLUMN_OFFSET 2 -#define OLED_BRIGHTNESS 180 -#define OLED_TIMEOUT 0 -#define OLED_UPDATE_INTERVAL 10 -// NOTE: do NOT raise OLED_UPDATE_PROCESS_LIMIT. The default of 1 keeps each I2C -// transaction to a single 32-byte block. -// -// TESTED, TWICE, ON HARDWARE: a limit of 4 — only 128 bytes, one page, the write -// size stock SSD1306/SH1106 drivers use — blanks this panel completely. The board -// keeps running (keys and encoders work) but the display never comes up. The -// reasoning that "a page is safe because everyone writes pages" is wrong for this -// module. Do not try it again. -// -// OLED_UPDATE_INTERVAL is a different knob and is safe to shorten: it changes how -// OFTEN a block is flushed, not how BIG the transaction is, which stays one -// 32-byte block. At the old 33ms, swapping the right-hand panel between the key -// grid and the encoder bars took ~21 blocks * 33ms = ~700ms to reach the glass — -// you would turn the knob and see the bar most of a second later. 10ms puts that -// at ~210ms. If the panel ever misbehaves, this is the first value to put back. - -// ── I2C (OLED on GP16=SDA, GP17=SCL via RP2040 I2C0) ──────────────────────── -#define I2C_DRIVER I2CD0 -#define I2C1_SDA_PIN GP16 -#define I2C1_SCL_PIN GP17 diff --git a/keyboards/heer_s1/halconf.h b/keyboards/heer_s1/halconf.h deleted file mode 100644 index c809c7e712..0000000000 --- a/keyboards/heer_s1/halconf.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2026 Heer (@heer) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_I2C TRUE - -#include_next diff --git a/keyboards/heer_s1/heer_s1.c b/keyboards/heer_s1/heer_s1.c deleted file mode 100644 index 8cd4034031..0000000000 --- a/keyboards/heer_s1/heer_s1.c +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2026 Heer (@heer) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef OLED_ENABLE - -// The panel is mounted upside-down on the PCB, so the rotation belongs to the -// board rather than to any one keymap. -// -// This returns the rotation and nothing else. oled_driver.c does: -// -// oled_rotation = oled_init_user(oled_init_kb(rotation)); -// -// so the driver already chains the keymap's hook onto this one's result — -// calling oled_init_user() from in here would run it twice. -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - return OLED_ROTATION_180; -} - -// A keymap that draws its own screen returns false from oled_task_user, which -// stops the board's default display painting over it. This mirrors the weak -// default in oled_driver.c, which is simply `return oled_task_user();`. -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - - oled_set_cursor(0, 0); - oled_write_P(PSTR(" HEER S1"), false); - - oled_set_cursor(0, 1); - oled_write_P(PSTR("---------------"), false); - - // Shown as a number, not a name: a board-level default cannot know what any - // given keymap calls its layers. - oled_set_cursor(0, 2); - oled_write_P(PSTR("LAYER "), false); - oled_write_char('0' + get_highest_layer(layer_state), false); - - oled_set_cursor(0, 3); - oled_write_P(PSTR("["), false); - for (uint8_t i = 0; i < 4; i++) { - oled_write_P(get_highest_layer(layer_state) == i ? PSTR("*") : PSTR("-"), false); - } - oled_write_P(PSTR("]"), false); - - return true; -} - -#endif // OLED_ENABLE diff --git a/keyboards/heer_s1/keyboard.json b/keyboards/heer_s1/keyboard.json deleted file mode 100644 index 271d9ab3d6..0000000000 --- a/keyboards/heer_s1/keyboard.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "manufacturer": "Heer Works", - "keyboard_name": "HEER S1", - "maintainer": "heer", - "bootloader": "rp2040", - "processor": "RP2040", - "usb": { - "vid": "0x4857", - "pid": "0x5331", - "device_version": "1.0.0" - }, - "matrix_pins": { - "masked": true, - "cols": ["GP8", "GP9", "GP10", "GP11"], - "rows": ["GP4", "GP5", "GP6", "GP7", "GP2", "GP14"] - }, - "diode_direction": "ROW2COL", - "encoder": { - "rotary": [ - {"pin_a": "GP0", "pin_b": "GP1"}, - {"pin_a": "GP12", "pin_b": "GP13"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "oled": true - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [4, 0], "x": 0, "y": 0, "encoder": 0}, - {"matrix": [5, 0], "x": 1, "y": 0, "encoder": 1}, - {"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} - ] - } - } -} diff --git a/keyboards/heer_s1/keymaps/default/keymap.c b/keyboards/heer_s1/keymaps/default/keymap.c deleted file mode 100644 index d106b23e77..0000000000 --- a/keyboards/heer_s1/keymaps/default/keymap.c +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2026 Heer (@heer) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum layers { - L_BASE, - L_MEDIA, - L_EDIT, - L_SYS, -}; - -// The bottom-right key advances to the next layer and wraps, so all four are -// reachable using nothing but standard keycodes. -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [L_BASE] = LAYOUT( - TO(L_MEDIA), TO(L_BASE), - 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_ENT, KC_ESC, TO(L_MEDIA) - ), - - [L_MEDIA] = LAYOUT( - TO(L_EDIT), TO(L_BASE), - KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, - KC_VOLD, KC_VOLU, KC_MUTE, _______, - KC_BRID, KC_BRIU, _______, _______, - _______, _______, _______, TO(L_EDIT) - ), - - [L_EDIT] = LAYOUT( - TO(L_SYS), TO(L_BASE), - LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), - LCTL(KC_A), LCTL(KC_S), LCTL(KC_F), LCTL(KC_H), - LCTL(KC_N), LCTL(KC_W), LCTL(KC_T), LCTL(KC_P), - KC_DEL, KC_HOME, KC_END, TO(L_SYS) - ), - - [L_SYS] = LAYOUT( - TO(L_BASE), TO(L_BASE), - 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, TO(L_BASE) - ), -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [L_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, - [L_MEDIA] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, - [L_EDIT] = { ENCODER_CCW_CW(LCTL(KC_Z), LCTL(KC_Y)), ENCODER_CCW_CW(KC_UP, KC_DOWN) }, - [L_SYS] = { ENCODER_CCW_CW(KC_F11, KC_F12), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) }, -}; -#endif diff --git a/keyboards/heer_s1/keymaps/default/rules.mk b/keyboards/heer_s1/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/heer_s1/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/heer_s1/mcuconf.h b/keyboards/heer_s1/mcuconf.h deleted file mode 100644 index 0930d1538d..0000000000 --- a/keyboards/heer_s1/mcuconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2026 Heer (@heer) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef RP_I2C_USE_I2C0 -#define RP_I2C_USE_I2C0 TRUE diff --git a/keyboards/heer_s1/readme.md b/keyboards/heer_s1/readme.md deleted file mode 100644 index 09293b7c1e..0000000000 --- a/keyboards/heer_s1/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# HEER S1 - -![HEER S1](https://i.imgur.com/rSxQHUi.png) - -A 4x4 RP2040 macropad with two EC11 rotary encoders and a 128x64 SH1106 OLED. - -* Keyboard Maintainer: [Heer Electronics](https://github.com/heerelectronics) -* Hardware Supported: HEER S1 PCB (RP2040 QFN-56) -* Hardware Availability: https://www.heerelectronics.com - -Make example for this keyboard (after setting up your build environment): - - make heer_s1:default - -Flashing example for this keyboard: - - make heer_s1:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` (bottom row of the SYSTEM layer) diff --git a/keyboards/heliar/wm1_hotswap/keymaps/default/readme.md b/keyboards/heliar/wm1_hotswap/keymaps/default/readme.md index bed6b22e02..d35a2c1e4d 100644 --- a/keyboards/heliar/wm1_hotswap/keymaps/default/readme.md +++ b/keyboards/heliar/wm1_hotswap/keymaps/default/readme.md @@ -4,4 +4,4 @@ ## layer 1 keymap ![Wm1 Layout Image Layer1](https://i.imgur.com/cHOefMH.png) ## The keycap size of layout -![Wm1 Layout Image Layout size](https://i.imgur.com/jL1EDod.png) +![Wm1 Layout Image Layout size](https://i.imgur.com/jL1EDod.png) \ No newline at end of file diff --git a/keyboards/mechanicalkeyboards/point65/config.h b/keyboards/hfdkb/ac001/ac001.c similarity index 60% rename from keyboards/mechanicalkeyboards/point65/config.h rename to keyboards/hfdkb/ac001/ac001.c index 31ba8c3f90..83dbdeb628 100644 --- a/keyboards/mechanicalkeyboards/point65/config.h +++ b/keyboards/hfdkb/ac001/ac001.c @@ -1,4 +1,4 @@ -/* Copyright 2024 Sebastiaan Swinkels @ BeanBoards +/* Copyright (C) 2022 jonylee@hfd * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,11 +14,23 @@ * along with this program. If not, see . */ -#pragma once +#include "quantum.h" +/* + 3---------------2 + | | | + | | | + 4-------0-------1 +*/ +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, 1, 2, 3, 4} +}, { + // LED Index to Physical Position + { 64, 112 }, { 64, 224 }, { 224, 0 }, { 0, 0 }, { 64, 0 }, -/* Double tap the side button to enter bootloader */ -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U - -/* couple of defaults */ -#define RGB_INDICATOR_POS_OFFSET 48 /* Indicator LEDs additional brightness */ +}, { + // LED Index to Flag + 4, 4, 4, 4, 4 +} }; +#endif diff --git a/keyboards/hfdkb/ac001/keyboard.json b/keyboards/hfdkb/ac001/keyboard.json index ffb20e3c01..ee9aab074b 100644 --- a/keyboards/hfdkb/ac001/keyboard.json +++ b/keyboards/hfdkb/ac001/keyboard.json @@ -21,13 +21,6 @@ "multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 112, "y": 64, "flags": 4}, - {"matrix": [0, 1], "x": 224, "y": 64, "flags": 4}, - {"matrix": [0, 2], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 0, "y": 64, "flags": 4} - ], "react_on_keyup": true, "sleep": true }, diff --git a/keyboards/hineybush/h87_g2/config.h b/keyboards/hineybush/h87_g2/config.h index ccde4ac624..f37f589f0a 100644 --- a/keyboards/hineybush/h87_g2/config.h +++ b/keyboards/hineybush/h87_g2/config.h @@ -16,4 +16,4 @@ #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 1 +#define BACKLIGHT_PAL_MODE 1 \ No newline at end of file diff --git a/keyboards/hnk/hnk100/keyboard.json b/keyboards/hnk/hnk100/keyboard.json deleted file mode 100644 index db13f1963c..0000000000 --- a/keyboards/hnk/hnk100/keyboard.json +++ /dev/null @@ -1,288 +0,0 @@ -{ - "manufacturer": "hnkbd", - "keyboard_name": "hnk100", - "maintainer": "ascYAOBT", - "bootloader": "atmel-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "D2", "D1", "D0", "D3", "D5"], - "rows": ["B6", "B5", "B4", "D7", "D6", "D4", "F0", "E6", "B0", "B1", "B3", "B7"] - }, - "processor": "atmega32u4", - "rgb_matrix": { - "animations": { - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": 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_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_reactive_cross": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "splash": true, - "typing_heatmap": true - }, - "brightness_steps": 20, - "default": { - "animation": "solid_color", - "val": 120 - }, - "driver": "ws2812", - "hue_steps": 22, - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 20, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 30, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 40, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 50, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 65, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 75, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 85, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 95, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 110, "y": 0, "flags": 4}, - {"matrix": [6, 0], "x": 120, "y": 0, "flags": 4}, - {"matrix": [6, 1], "x": 130, "y": 0, "flags": 4}, - {"matrix": [6, 2], "x": 140, "y": 0, "flags": 4}, - {"matrix": [6, 3], "x": 150, "y": 0, "flags": 4}, - {"matrix": [6, 4], "x": 160, "y": 0, "flags": 4}, - {"matrix": [6, 5], "x": 170, "y": 0, "flags": 4}, - {"matrix": [7, 9], "x": 210, "y": 12, "flags": 4}, - {"matrix": [7, 8], "x": 200, "y": 12, "flags": 4}, - {"matrix": [7, 7], "x": 190, "y": 12, "flags": 4}, - {"matrix": [7, 6], "x": 180, "y": 12, "flags": 4}, - {"matrix": [7, 5], "x": 170, "y": 12, "flags": 4}, - {"matrix": [7, 4], "x": 160, "y": 12, "flags": 4}, - {"matrix": [7, 3], "x": 150, "y": 12, "flags": 4}, - {"matrix": [7, 2], "x": 135, "y": 12, "flags": 4}, - {"matrix": [7, 0], "x": 120, "y": 12, "flags": 4}, - {"matrix": [1, 11], "x": 110, "y": 12, "flags": 4}, - {"matrix": [1, 10], "x": 100, "y": 12, "flags": 4}, - {"matrix": [1, 9], "x": 90, "y": 12, "flags": 4}, - {"matrix": [1, 8], "x": 80, "y": 12, "flags": 4}, - {"matrix": [1, 7], "x": 70, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 60, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 50, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 40, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 30, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 20, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 10, "y": 12, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 24, "flags": 4}, - {"matrix": [2, 1], "x": 15, "y": 24, "flags": 4}, - {"matrix": [2, 2], "x": 25, "y": 24, "flags": 4}, - {"matrix": [2, 3], "x": 35, "y": 24, "flags": 4}, - {"matrix": [2, 4], "x": 45, "y": 24, "flags": 4}, - {"matrix": [2, 5], "x": 55, "y": 24, "flags": 4}, - {"matrix": [2, 6], "x": 65, "y": 24, "flags": 4}, - {"matrix": [2, 7], "x": 75, "y": 24, "flags": 4}, - {"matrix": [2, 8], "x": 85, "y": 24, "flags": 4}, - {"matrix": [2, 9], "x": 95, "y": 24, "flags": 4}, - {"matrix": [2, 10], "x": 105, "y": 24, "flags": 4}, - {"matrix": [2, 11], "x": 115, "y": 24, "flags": 4}, - {"matrix": [8, 0], "x": 125, "y": 24, "flags": 4}, - {"matrix": [8, 2], "x": 137, "y": 24, "flags": 4}, - {"matrix": [8, 3], "x": 150, "y": 24, "flags": 4}, - {"matrix": [8, 4], "x": 160, "y": 24, "flags": 4}, - {"matrix": [8, 5], "x": 170, "y": 24, "flags": 4}, - {"matrix": [8, 6], "x": 180, "y": 24, "flags": 4}, - {"matrix": [8, 7], "x": 190, "y": 24, "flags": 4}, - {"matrix": [8, 8], "x": 200, "y": 24, "flags": 4}, - {"matrix": [9, 9], "x": 210, "y": 36, "flags": 4}, - {"matrix": [9, 8], "x": 200, "y": 36, "flags": 4}, - {"matrix": [9, 7], "x": 190, "y": 36, "flags": 4}, - {"matrix": [9, 6], "x": 180, "y": 36, "flags": 4}, - {"matrix": [9, 2], "x": 135, "y": 36, "flags": 4}, - {"matrix": [3, 11], "x": 117, "y": 36, "flags": 4}, - {"matrix": [3, 10], "x": 107, "y": 36, "flags": 4}, - {"matrix": [3, 9], "x": 97, "y": 36, "flags": 4}, - {"matrix": [3, 8], "x": 87, "y": 36, "flags": 4}, - {"matrix": [3, 7], "x": 77, "y": 36, "flags": 4}, - {"matrix": [3, 6], "x": 67, "y": 36, "flags": 4}, - {"matrix": [3, 5], "x": 57, "y": 36, "flags": 4}, - {"matrix": [3, 4], "x": 47, "y": 36, "flags": 4}, - {"matrix": [3, 3], "x": 37, "y": 36, "flags": 4}, - {"matrix": [3, 2], "x": 27, "y": 36, "flags": 4}, - {"matrix": [3, 1], "x": 17, "y": 36, "flags": 4}, - {"matrix": [3, 0], "x": 4, "y": 36, "flags": 4}, - {"matrix": [4, 0], "x": 6, "y": 48, "flags": 4}, - {"matrix": [4, 1], "x": 22, "y": 48, "flags": 4}, - {"matrix": [4, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 48, "flags": 4}, - {"matrix": [4, 4], "x": 52, "y": 48, "flags": 4}, - {"matrix": [4, 5], "x": 62, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 72, "y": 48, "flags": 4}, - {"matrix": [4, 7], "x": 82, "y": 48, "flags": 4}, - {"matrix": [4, 8], "x": 92, "y": 48, "flags": 4}, - {"matrix": [4, 9], "x": 102, "y": 48, "flags": 4}, - {"matrix": [4, 10], "x": 112, "y": 48, "flags": 4}, - {"matrix": [10, 2], "x": 142, "y": 48, "flags": 4}, - {"matrix": [10, 4], "x": 160, "y": 48, "flags": 4}, - {"matrix": [10, 6], "x": 180, "y": 48, "flags": 4}, - {"matrix": [10, 7], "x": 190, "y": 48, "flags": 4}, - {"matrix": [10, 8], "x": 200, "y": 48, "flags": 4}, - {"matrix": [11, 9], "x": 210, "y": 60, "flags": 4}, - {"matrix": [11, 8], "x": 200, "y": 60, "flags": 4}, - {"matrix": [11, 6], "x": 185, "y": 60, "flags": 4}, - {"matrix": [11, 5], "x": 170, "y": 60, "flags": 4}, - {"matrix": [11, 4], "x": 160, "y": 60, "flags": 4}, - {"matrix": [11, 3], "x": 150, "y": 60, "flags": 4}, - {"matrix": [11, 2], "x": 140, "y": 60, "flags": 4}, - {"matrix": [11, 0], "x": 128, "y": 60, "flags": 4}, - {"matrix": [5, 10], "x": 115, "y": 60, "flags": 4}, - {"matrix": [5, 8], "x": 103, "y": 60, "flags": 4}, - {"matrix": [5, 5], "x": 63, "y": 60, "flags": 4}, - {"matrix": [5, 2], "x": 26, "y": 60, "flags": 4}, - {"matrix": [5, 1], "x": 14, "y": 60, "flags": 4}, - {"matrix": [5, 0], "x": 2, "y": 60, "flags": 4} - ], - "max_brightness": 170, - "saturation_steps": 22, - "sleep": true - }, - "url": "https://hnkbd.ca/", - "usb": { - "device_version": "1.0.0", - "pid": "0x0002", - "vid": "0x484E" - }, - "ws2812": { - "pin": "B2" - }, - "community_layouts": ["fullsize_ansi"], - "layouts": { - "LAYOUT_fullsize_ansi": { - "layout": [ - {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "F5", "matrix": [0, 7], "x": 6.5, "y": 0}, - {"label": "F6", "matrix": [0, 8], "x": 7.5, "y": 0}, - {"label": "F7", "matrix": [0, 9], "x": 8.5, "y": 0}, - {"label": "F8", "matrix": [0, 10], "x": 9.5, "y": 0}, - {"label": "F9", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "F10", "matrix": [6, 0], "x": 12, "y": 0}, - {"label": "F11", "matrix": [6, 1], "x": 13, "y": 0}, - {"label": "F12", "matrix": [6, 2], "x": 14, "y": 0}, - {"label": "PSc", "matrix": [6, 3], "x": 15.25, "y": 0}, - {"label": "Scr", "matrix": [6, 4], "x": 16.25, "y": 0}, - {"label": "Pse", "matrix": [6, 5], "x": 17.25, "y": 0}, - {"label": "Grv", "matrix": [1, 0], "x": 0, "y": 1.25}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, - {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, - {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, - {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, - {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, - {"label": "5", "matrix": [1, 6], "x": 6, "y": 1.25}, - {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, - {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, - {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, - {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, - {"label": "Mins", "matrix": [1, 11], "x": 11, "y": 1.25}, - {"label": "Eql", "matrix": [7, 0], "x": 12, "y": 1.25}, - {"label": "Bspc", "matrix": [7, 2], "x": 13, "y": 1.25, "w": 2}, - {"label": "Ins", "matrix": [7, 3], "x": 15.25, "y": 1.25}, - {"label": "Home", "matrix": [7, 4], "x": 16.25, "y": 1.25}, - {"label": "PgUp", "matrix": [7, 5], "x": 17.25, "y": 1.25}, - {"label": "Num", "matrix": [7, 6], "x": 18.5, "y": 1.25}, - {"label": "PsLs", "matrix": [7, 7], "x": 19.5, "y": 1.25}, - {"label": "Past", "matrix": [7, 8], "x": 20.5, "y": 1.25}, - {"label": "Pmns", "matrix": [7, 9], "x": 21.5, "y": 1.25}, - {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"label": "Lbrc", "matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"label": "Rbrc", "matrix": [8, 0], "x": 12.5, "y": 2.25}, - {"label": "BsLs", "matrix": [8, 2], "x": 13.5, "y": 2.25, "w": 1.5}, - {"label": "Del", "matrix": [8, 3], "x": 15.25, "y": 2.25}, - {"label": "End", "matrix": [8, 4], "x": 16.25, "y": 2.25}, - {"label": "PgDn", "matrix": [8, 5], "x": 17.25, "y": 2.25}, - {"label": "P7", "matrix": [8, 6], "x": 18.5, "y": 2.25}, - {"label": "P8", "matrix": [8, 7], "x": 19.5, "y": 2.25}, - {"label": "P9", "matrix": [8, 8], "x": 20.5, "y": 2.25}, - {"label": "Caps", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"label": "Scln", "matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"label": "Quot", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Ent", "matrix": [9, 2], "x": 12.75, "y": 3.25, "w": 2.25}, - {"label": "P4", "matrix": [9, 6], "x": 18.5, "y": 3.25}, - {"label": "P5", "matrix": [9, 7], "x": 19.5, "y": 3.25}, - {"label": "P6", "matrix": [9, 8], "x": 20.5, "y": 3.25}, - {"label": "PPls", "matrix": [9, 9], "x": 21.5, "y": 2.25, "h": 2}, - {"label": "Lsft", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, - {"label": "Z", "matrix": [4, 1], "x": 2.25, "y": 4.25}, - {"label": "X", "matrix": [4, 2], "x": 3.25, "y": 4.25}, - {"label": "C", "matrix": [4, 3], "x": 4.25, "y": 4.25}, - {"label": "V", "matrix": [4, 4], "x": 5.25, "y": 4.25}, - {"label": "B", "matrix": [4, 5], "x": 6.25, "y": 4.25}, - {"label": "N", "matrix": [4, 6], "x": 7.25, "y": 4.25}, - {"label": "M", "matrix": [4, 7], "x": 8.25, "y": 4.25}, - {"label": "Comm", "matrix": [4, 8], "x": 9.25, "y": 4.25}, - {"label": "Dot", "matrix": [4, 9], "x": 10.25, "y": 4.25}, - {"label": "Slsh", "matrix": [4, 10], "x": 11.25, "y": 4.25}, - {"label": "Rsft", "matrix": [10, 2], "x": 12.25, "y": 4.25, "w": 2.75}, - {"label": "Up", "matrix": [10, 4], "x": 16.25, "y": 4.25}, - {"label": "P1", "matrix": [10, 6], "x": 18.5, "y": 4.25}, - {"label": "P2", "matrix": [10, 7], "x": 19.5, "y": 4.25}, - {"label": "P3", "matrix": [10, 8], "x": 20.5, "y": 4.25}, - {"label": "Lctl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, - {"label": "Lgui", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, - {"label": "Lalt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, - {"label": "Spc", "matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25}, - {"label": "Ralt", "matrix": [5, 8], "x": 10, "y": 5.25, "w": 1.25}, - {"label": "Ropt", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, - {"label": "Mo", "matrix": [11, 0], "x": 12.5, "y": 5.25, "w": 1.25}, - {"label": "Rctl", "matrix": [11, 2], "x": 13.75, "y": 5.25, "w": 1.25}, - {"label": "Left", "matrix": [11, 3], "x": 15.25, "y": 5.25}, - {"label": "Down", "matrix": [11, 4], "x": 16.25, "y": 5.25}, - {"label": "Right", "matrix": [11, 5], "x": 17.25, "y": 5.25}, - {"label": "P0", "matrix": [11, 6], "x": 18.5, "y": 5.25, "w": 2}, - {"label": "Pdot", "matrix": [11, 8], "x": 20.5, "y": 5.25}, - {"label": "Pent", "matrix": [11, 9], "x": 21.5, "y": 4.25, "h": 2} - ] - } - } -} diff --git a/keyboards/hnk/hnk100/keymaps/default/keymap.c b/keyboards/hnk/hnk100/keymaps/default/keymap.c deleted file mode 100644 index b15a2e18b2..0000000000 --- a/keyboards/hnk/hnk100/keymaps/default/keymap.c +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_fullsize_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, - - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_ROPT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT - ), - [1] = LAYOUT_fullsize_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SATU, RM_HUEU, _______, _______, _______, _______, _______, _______, - _______, KC_MUTE, KC_VOLD, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_HUED, _______, _______, _______, _______, - _______, KC_PIPE, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, RM_VALU, _______, _______, _______, - _______, _______, _______, KC_PSCR, _______, RM_SPDD, _______, RM_SPDU, RM_PREV, RM_VALD, RM_NEXT, _______, _______, _______ - ) -}; diff --git a/keyboards/hnk/hnk100/readme.md b/keyboards/hnk/hnk100/readme.md deleted file mode 100644 index 7ad9c85206..0000000000 --- a/keyboards/hnk/hnk100/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# hnk100 - -Our Hide Nothing Keyboard version of the traditional 100%, with or without RGB support. For more information visit https://hnkbd.ca - -* Keyboard Maintainer: [hnkbd](https://github.com/ascYAOBT) -* Hardware Supported: hnk100, either with or without per key RGB LED -* Hardware Availability: https://hnkbd.ca - -Make example for this keyboard (after setting up your build environment): - - make hnk/hnk100:default - -Flashing example for this keyboard: - - make hnk/hnk100: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 while plugged in and with QMK Toolbox opened. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/holyswitch/lightweight65/keymaps/default/keymap.c b/keyboards/holyswitch/lightweight65/keymaps/default/keymap.c index 3969ccceef..a5e4a91ea8 100644 --- a/keyboards/holyswitch/lightweight65/keymaps/default/keymap.c +++ b/keyboards/holyswitch/lightweight65/keymaps/default/keymap.c @@ -31,4 +31,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/horizon/keymaps/default/keymap.c b/keyboards/horizon/keymaps/default/keymap.c index 5b20cf4814..bdb03bd081 100644 --- a/keyboards/horizon/keymaps/default/keymap.c +++ b/keyboards/horizon/keymaps/default/keymap.c @@ -44,4 +44,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/devil68_pro.c b/keyboards/horrortroll/chinese_pcb/devil68_pro/devil68_pro.c new file mode 100644 index 0000000000..98a35e7483 --- /dev/null +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/devil68_pro.c @@ -0,0 +1,49 @@ +/* Copyright 2022 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +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, 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, NO_LED, 43 }, + { NO_LED, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, NO_LED, 55, 56, 57 }, + { 58, 59, NO_LED, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, 65, 66, 67 } +}, { + // Key matrix (0 -> 67) + {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}, {224, 0}, + {3 , 16}, {21 , 16}, {36 , 16}, {51 , 16}, {66 , 16}, {81 , 16}, {96 , 16}, {111, 16}, {126, 16}, {141, 16}, {156, 16}, {171, 16}, {186, 16}, {205, 16}, {224, 16}, + {5 , 32}, {25 , 32}, {40 , 32}, {55 , 32}, {70 , 32}, {85 , 32}, {100, 32}, {115, 32}, {130, 32}, {145, 32}, {160, 32}, {175, 32}, {200, 32}, {224, 32}, + {8 , 48}, {31 , 48}, {46 , 48}, {61 , 48}, {76 , 48}, {91 , 48}, {106, 48}, {121, 48}, {136, 48}, {151, 48}, {166, 48}, {188, 48}, {210, 48}, {224, 48}, + {2 , 64}, {19 , 64}, {36 , 64}, {96 , 64}, {149, 64}, {164, 64}, {179, 64}, {194, 64}, {209, 64}, {224, 64}, + + // Underglow (68 -> 85) + {210, 60}, {186, 12}, {158, 12}, {130, 12}, {101, 12}, {71 , 12}, {39 , 12}, {13 , 12}, {13 , 35}, + {13 , 12}, {39 , 12}, {71 , 12}, {101, 12}, {130, 12}, {158, 12}, {186, 12}, {210, 12}, {210, 35}, +}, { + // Key matrix (0 -> 67) + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, + 1, 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, 1, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 4, 4, 4, + + // Underglow (68 -> 85) + 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2 +} }; +#endif diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json b/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json index 80cb05a3c2..250cceb3e7 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json @@ -59,94 +59,6 @@ "solid_multisplash": true }, "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 202, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 3, "y": 16, "flags": 1}, - {"matrix": [1, 2], "x": 21, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 36, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 51, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 66, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 81, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 111, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 126, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 141, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 156, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 171, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 186, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 205, "y": 16, "flags": 4}, - {"matrix": [1, 15], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 5, "y": 32, "flags": 8}, - {"matrix": [2, 2], "x": 25, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 40, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 55, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 70, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 100, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 115, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 130, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 145, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 175, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 200, "y": 32, "flags": 1}, - {"matrix": [2, 15], "x": 224, "y": 32, "flags": 4}, - {"matrix": [3, 1], "x": 8, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 31, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 46, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 61, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 76, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 91, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 106, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 121, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 136, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 151, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 166, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 188, "y": 48, "flags": 1}, - {"matrix": [3, 14], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 19, "y": 64, "flags": 1}, - {"matrix": [4, 3], "x": 36, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 149, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 164, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 179, "y": 64, "flags": 1}, - {"matrix": [4, 13], "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": 210, "y": 60, "flags": 2}, - {"x": 186, "y": 12, "flags": 2}, - {"x": 158, "y": 12, "flags": 2}, - {"x": 130, "y": 12, "flags": 2}, - {"x": 101, "y": 12, "flags": 2}, - {"x": 71, "y": 12, "flags": 2}, - {"x": 39, "y": 12, "flags": 2}, - {"x": 13, "y": 12, "flags": 2}, - {"x": 13, "y": 35, "flags": 2}, - {"x": 13, "y": 12, "flags": 2}, - {"x": 39, "y": 12, "flags": 2}, - {"x": 71, "y": 12, "flags": 2}, - {"x": 101, "y": 12, "flags": 2}, - {"x": 130, "y": 12, "flags": 2}, - {"x": 158, "y": 12, "flags": 2}, - {"x": 186, "y": 12, "flags": 2}, - {"x": 210, "y": 12, "flags": 2}, - {"x": 210, "y": 35, "flags": 2} - ], "max_brightness": 200 }, "features": { diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c index bf7dce5949..4ad4bcd5cc 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c @@ -31,6 +31,8 @@ enum layer_names { _FN, }; +// enum layer_keycodes { }; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* @@ -89,6 +91,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case (LED_FLAG_UNDERGLOW): { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } + } + return false; + } + return true; +} + bool rgb_matrix_indicators_user(void) { hsv_t hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h index a9f64ff8d2..b68f9fa634 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h @@ -44,6 +44,20 @@ typedef struct { bool reflected; } CUSTOM_PRESETS; +enum user_rgb_mode { + RGB_MODE_ALL, + RGB_MODE_NONE, +}; + +typedef union { + uint32_t raw; + struct { + uint8_t rgb_mode :8; + }; +} user_config_t; + +user_config_t user_config; + enum layer_keycodes { //Custom Gradient control keycode G1_HUI = SAFE_RANGE, //Custom gradient color 1 hue increase @@ -66,6 +80,20 @@ enum layer_keycodes { RGB_C_E, //Cycle user effect }; +void keyboard_post_init_user(void) { + user_config.raw = eeconfig_read_user(); + switch (user_config.rgb_mode) { + case RGB_MODE_ALL: + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + break; + case RGB_MODE_NONE: + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + break; + } +} + bool process_record_user(uint16_t keycode, keyrecord_t *record) { process_record_user_oled(keycode, record); @@ -201,6 +229,25 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } return false; + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_NONE; + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + user_config.rgb_mode = RGB_MODE_ALL; + } + break; + } + eeconfig_update_user(user_config.raw); + } + return false; } return true; } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c index abebdd6296..d1cb624570 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c @@ -19,4 +19,4 @@ static hsv_t COOL_DIAGONAL_math(hsv_t hsv, uint8_t i, uint8_t time) { return hsv; } -bool COOL_DIAGONAL(effect_params_t* params) { return effect_runner_i(params, &COOL_DIAGONAL_math); } +bool COOL_DIAGONAL(effect_params_t* params) { return effect_runner_i(params, &COOL_DIAGONAL_math); } \ No newline at end of file diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/rgb_matrix_user.inc b/keyboards/horrortroll/handwired_k552/keymaps/default/rgb_matrix_user.inc index 1e09e3f0c1..1817465030 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/rgb_matrix_user.inc +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/rgb_matrix_user.inc @@ -12,4 +12,4 @@ RGB_MATRIX_EFFECT(RANDOM_BREATH_RAINBOW) #include "led/kitt.c" #include "led/random_breath_rainbow.c" -#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS +#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS \ No newline at end of file diff --git a/keyboards/horrortroll/handwired_k552/lib/galaxy.c b/keyboards/horrortroll/handwired_k552/lib/galaxy.c index 511c5ae775..6578295c6f 100644 --- a/keyboards/horrortroll/handwired_k552/lib/galaxy.c +++ b/keyboards/horrortroll/handwired_k552/lib/galaxy.c @@ -59,4 +59,4 @@ void render_galaxy(void) { }; oled_write_raw_P(galaxy[0], ANIM_SIZE); -} +} \ No newline at end of file diff --git a/keyboards/horrortroll/handwired_k552/mcuconf.h b/keyboards/horrortroll/handwired_k552/mcuconf.h index 4469bc3398..88bd6f4846 100644 --- a/keyboards/horrortroll/handwired_k552/mcuconf.h +++ b/keyboards/horrortroll/handwired_k552/mcuconf.h @@ -30,4 +30,4 @@ #define STM32_SPI_USE_SPI1 TRUE #undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 FALSE +#define STM32_SPI_USE_SPI2 FALSE \ No newline at end of file diff --git a/keyboards/horrortroll/nyx/rev1/rev1.c b/keyboards/horrortroll/nyx/rev1/rev1.c index d927f53f01..48cbeb6680 100644 --- a/keyboards/horrortroll/nyx/rev1/rev1.c +++ b/keyboards/horrortroll/nyx/rev1/rev1.c @@ -17,6 +17,52 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } + } + return false; + case QK_RGB_MATRIX_MODE_NEXT: + if (record->event.pressed) { + switch (rgb_matrix_get_mode()) { + case RGB_MATRIX_SOLID_MULTISPLASH: + rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); + return false; + default: + rgb_matrix_step(); + return false; + } + } + return false; + case QK_RGB_MATRIX_MODE_PREVIOUS: + if (record->event.pressed) { + switch (rgb_matrix_get_mode()) { + case RGB_MATRIX_SOLID_COLOR: + rgb_matrix_mode(RGB_MATRIX_SOLID_MULTISPLASH); + return false; + default: + rgb_matrix_step_reverse(); + return false; + } + } + return false; + } + + return process_record_user(keycode, record); +} bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { @@ -30,4 +76,14 @@ bool rgb_matrix_indicators_kb(void) { } return true; } + +void keyboard_post_init_kb(void) { + if (!(rgb_matrix_get_flags() & LED_FLAG_ALL)) { + rgb_matrix_set_color_all(0, 0, 0); + } else { + rgb_matrix_mode_noeeprom(RGB_MATRIX_CUSTOM_STARTUP_SWIRL_ANIM); + } + + keyboard_post_init_user(); +} #endif diff --git a/keyboards/horrortroll/readme.md b/keyboards/horrortroll/readme.md index d862cab63e..64bcdf0c65 100644 --- a/keyboards/horrortroll/readme.md +++ b/keyboards/horrortroll/readme.md @@ -32,4 +32,4 @@ **Discord:** HorrorTroll#0975 **Facebook:** https://www.facebook.com/PhamChonChe.Duc -**Email:** sonicvipduc@gmail.com +**Email:** sonicvipduc@gmail.com \ No newline at end of file diff --git a/keyboards/hotdox76v2/hotdox76v2.c b/keyboards/hotdox76v2/hotdox76v2.c index 022bd92a1f..e60777703e 100644 --- a/keyboards/hotdox76v2/hotdox76v2.c +++ b/keyboards/hotdox76v2/hotdox76v2.c @@ -8,6 +8,56 @@ #include "oled_font_lib/logo2.h" #include "oled_font_lib/ext_font.h" + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { + { + { NO_LED, 34, 33, 32, 35, 37, 36 }, + { 27, 28, 29, 30, 31, NO_LED, NO_LED }, + { 26, 25, 24, 23, 22, 21, 20 }, + { 14, 15, 16, 17, 18, 19, NO_LED }, + { 13, 12, 11, 10, 9, 8, 7 }, + { 0, 1, 2, 3, 4, 5, 6 }, + /*right*/ + { NO_LED, 77, 76, 75, 78, 80, 79 }, + { 70, 71, 72, 73, 74, NO_LED, NO_LED }, + { 69, 68, 67, 66, 65, 64, 63 }, + { 57, 58, 59, 60, 61, 62, NO_LED }, + { 56, 55, 54, 53, 52, 51, 50 }, + { 43, 44, 45, 46, 47, 48, 49 } + }, + { + // LED Index to Physical Position + {0,0}, {17,0}, {34,0}, {52,0}, {69,0}, {86,0}, {103,0}, + {103,13}, {86,13}, {69,13}, {52,13}, {34,13}, {17,13}, {0,13}, + {0,26}, {17,26}, {34,26}, {52,26}, {69,26}, {86,26}, + {103,38}, {86,38}, {69,38}, {52,38}, {34,38}, {17,38}, {0,38}, + {0,51}, {17,51}, {34,51}, {52,51}, {69,51}, + {86,64}, {69,64}, {52,64}, {34,64}, {17,64}, {0,64}, + {69,64}, {52,64}, {34,64}, {17,64}, {0,64}, + + {224,0}, {207,0}, {190,0}, {172,0}, {155,0}, {138,0}, {121,0}, + {121,13}, {138,13}, {155,13}, {172,13}, {190,13}, {207,13}, {224,13}, + {224,26}, {207,26}, {190,26}, {172,26}, {155,26}, {138,26}, + {121,38}, {138,38}, {155,38}, {172,38}, {190,38}, {207,38}, {224,38}, + {224,51}, {207,51}, {190,51}, {172,51}, {155,51}, + {138,64}, {155,64}, {172,64}, {190,64}, {207,64}, {224,64}, + {155,64}, {172,64}, {190,64}, {207,64}, {224,64} + + + }, + { + // 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, + 2,2,2,2,2, + 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, + 2,2,2,2,2 + } +}; +// clang-format on +#endif + #ifdef OLED_ENABLE # define UNC (' ') diff --git a/keyboards/hotdox76v2/keyboard.json b/keyboards/hotdox76v2/keyboard.json index cb70bdefee..8881670b56 100644 --- a/keyboards/hotdox76v2/keyboard.json +++ b/keyboards/hotdox76v2/keyboard.json @@ -24,94 +24,6 @@ }, "center_point": [112, 32], "driver": "ws2812", - "layout": [ - {"matrix": [5, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [5, 1], "x": 17, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 34, "y": 0, "flags": 4}, - {"matrix": [5, 3], "x": 52, "y": 0, "flags": 4}, - {"matrix": [5, 4], "x": 69, "y": 0, "flags": 4}, - {"matrix": [5, 5], "x": 86, "y": 0, "flags": 4}, - {"matrix": [5, 6], "x": 103, "y": 0, "flags": 4}, - {"matrix": [4, 6], "x": 103, "y": 13, "flags": 4}, - {"matrix": [4, 5], "x": 86, "y": 13, "flags": 4}, - {"matrix": [4, 4], "x": 69, "y": 13, "flags": 4}, - {"matrix": [4, 3], "x": 52, "y": 13, "flags": 4}, - {"matrix": [4, 2], "x": 34, "y": 13, "flags": 4}, - {"matrix": [4, 1], "x": 17, "y": 13, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 13, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 26, "flags": 4}, - {"matrix": [3, 1], "x": 17, "y": 26, "flags": 4}, - {"matrix": [3, 2], "x": 34, "y": 26, "flags": 4}, - {"matrix": [3, 3], "x": 52, "y": 26, "flags": 4}, - {"matrix": [3, 4], "x": 69, "y": 26, "flags": 4}, - {"matrix": [3, 5], "x": 86, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 103, "y": 38, "flags": 4}, - {"matrix": [2, 5], "x": 86, "y": 38, "flags": 4}, - {"matrix": [2, 4], "x": 69, "y": 38, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 38, "flags": 4}, - {"matrix": [2, 2], "x": 34, "y": 38, "flags": 4}, - {"matrix": [2, 1], "x": 17, "y": 38, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 38, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 51, "flags": 4}, - {"matrix": [1, 1], "x": 17, "y": 51, "flags": 4}, - {"matrix": [1, 2], "x": 34, "y": 51, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 51, "flags": 4}, - {"matrix": [1, 4], "x": 69, "y": 51, "flags": 4}, - {"matrix": [0, 3], "x": 86, "y": 64, "flags": 4}, - {"matrix": [0, 2], "x": 69, "y": 64, "flags": 4}, - {"matrix": [0, 1], "x": 52, "y": 64, "flags": 4}, - {"matrix": [0, 4], "x": 34, "y": 64, "flags": 4}, - {"matrix": [0, 6], "x": 17, "y": 64, "flags": 4}, - {"matrix": [0, 5], "x": 0, "y": 64, "flags": 4}, - {"x": 69, "y": 64, "flags": 2}, - {"x": 52, "y": 64, "flags": 2}, - {"x": 34, "y": 64, "flags": 2}, - {"x": 17, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"matrix": [11, 0], "x": 224, "y": 0, "flags": 4}, - {"matrix": [11, 1], "x": 207, "y": 0, "flags": 4}, - {"matrix": [11, 2], "x": 190, "y": 0, "flags": 4}, - {"matrix": [11, 3], "x": 172, "y": 0, "flags": 4}, - {"matrix": [11, 4], "x": 155, "y": 0, "flags": 4}, - {"matrix": [11, 5], "x": 138, "y": 0, "flags": 4}, - {"matrix": [11, 6], "x": 121, "y": 0, "flags": 4}, - {"matrix": [10, 6], "x": 121, "y": 13, "flags": 4}, - {"matrix": [10, 5], "x": 138, "y": 13, "flags": 4}, - {"matrix": [10, 4], "x": 155, "y": 13, "flags": 4}, - {"matrix": [10, 3], "x": 172, "y": 13, "flags": 4}, - {"matrix": [10, 2], "x": 190, "y": 13, "flags": 4}, - {"matrix": [10, 1], "x": 207, "y": 13, "flags": 4}, - {"matrix": [10, 0], "x": 224, "y": 13, "flags": 4}, - {"matrix": [9, 0], "x": 224, "y": 26, "flags": 4}, - {"matrix": [9, 1], "x": 207, "y": 26, "flags": 4}, - {"matrix": [9, 2], "x": 190, "y": 26, "flags": 4}, - {"matrix": [9, 3], "x": 172, "y": 26, "flags": 4}, - {"matrix": [9, 4], "x": 155, "y": 26, "flags": 4}, - {"matrix": [9, 5], "x": 138, "y": 26, "flags": 4}, - {"matrix": [8, 6], "x": 121, "y": 38, "flags": 4}, - {"matrix": [8, 5], "x": 138, "y": 38, "flags": 4}, - {"matrix": [8, 4], "x": 155, "y": 38, "flags": 4}, - {"matrix": [8, 3], "x": 172, "y": 38, "flags": 4}, - {"matrix": [8, 2], "x": 190, "y": 38, "flags": 4}, - {"matrix": [8, 1], "x": 207, "y": 38, "flags": 4}, - {"matrix": [8, 0], "x": 224, "y": 38, "flags": 4}, - {"matrix": [7, 0], "x": 224, "y": 51, "flags": 4}, - {"matrix": [7, 1], "x": 207, "y": 51, "flags": 4}, - {"matrix": [7, 2], "x": 190, "y": 51, "flags": 4}, - {"matrix": [7, 3], "x": 172, "y": 51, "flags": 4}, - {"matrix": [7, 4], "x": 155, "y": 51, "flags": 4}, - {"matrix": [6, 3], "x": 138, "y": 64, "flags": 4}, - {"matrix": [6, 2], "x": 155, "y": 64, "flags": 4}, - {"matrix": [6, 1], "x": 172, "y": 64, "flags": 4}, - {"matrix": [6, 4], "x": 190, "y": 64, "flags": 4}, - {"matrix": [6, 6], "x": 207, "y": 64, "flags": 4}, - {"matrix": [6, 5], "x": 224, "y": 64, "flags": 4}, - {"x": 155, "y": 64, "flags": 2}, - {"x": 172, "y": 64, "flags": 2}, - {"x": 190, "y": 64, "flags": 2}, - {"x": 207, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2} - ], "max_brightness": 150, "sleep": true, "split_count": [43, 43] diff --git a/keyboards/hp69/keymaps/default/rules.mk b/keyboards/hp69/keymaps/default/rules.mk index ef72559a0c..628167ff66 100644 --- a/keyboards/hp69/keymaps/default/rules.mk +++ b/keyboards/hp69/keymaps/default/rules.mk @@ -1 +1 @@ -AUDIO_ENABLE = yes +AUDIO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/hs60/v1/ansi/keymaps/default/readme.md b/keyboards/hs60/v1/ansi/keymaps/default/readme.md index 0c10315c81..fa811319d3 100644 --- a/keyboards/hs60/v1/ansi/keymaps/default/readme.md +++ b/keyboards/hs60/v1/ansi/keymaps/default/readme.md @@ -3,4 +3,4 @@ The default keymap for ANSI HS60 ![Layout image](https://imgur.com/CSyPw0J.png) -Default layer is normal ANSI and Fn layer is used for RGB functions, Volume control and arrow cluster +Default layer is normal ANSI and Fn layer is used for RGB functions, Volume control and arrow cluster \ No newline at end of file diff --git a/keyboards/hs60/v1/iso/keymaps/default/readme.md b/keyboards/hs60/v1/iso/keymaps/default/readme.md index a0d36ee927..9125cb349e 100644 --- a/keyboards/hs60/v1/iso/keymaps/default/readme.md +++ b/keyboards/hs60/v1/iso/keymaps/default/readme.md @@ -3,4 +3,4 @@ The default keymap for ISO HS60 ![Layout image](https://imgur.com/HXj4tYL.png) -Default layer is normal ISO and Fn layer is used for RGB functions, Volume control and arrow cluster +Default layer is normal ISO and Fn layer is used for RGB functions, Volume control and arrow cluster \ No newline at end of file diff --git a/keyboards/hs60/v2/ansi/keymaps/default/readme.md b/keyboards/hs60/v2/ansi/keymaps/default/readme.md index da48fc9297..3afd8afb33 100644 --- a/keyboards/hs60/v2/ansi/keymaps/default/readme.md +++ b/keyboards/hs60/v2/ansi/keymaps/default/readme.md @@ -3,4 +3,4 @@ The default keymap for ANSI HS60 V2. VIA support disabled. ![Layout image](https://i.imgur.com/m8t5CfE.png) -Default layer is normal ANSI and Fn layer is used for RGB functions, Volume control and arrow cluster. +Default layer is normal ANSI and Fn layer is used for RGB functions, Volume control and arrow cluster. \ No newline at end of file diff --git a/keyboards/hs60/v2/hhkb/keymaps/default/readme.md b/keyboards/hs60/v2/hhkb/keymaps/default/readme.md index 2d7ad0d103..5259a584d2 100644 --- a/keyboards/hs60/v2/hhkb/keymaps/default/readme.md +++ b/keyboards/hs60/v2/hhkb/keymaps/default/readme.md @@ -3,4 +3,4 @@ The default keymap for HHKB HS60 V2. VIA support disabled. ![Layout image](https://imgur.com/usbrQWL.png) -Default layer is normal HHKB with 7U space. Fn layer is used for RGB functions, Volume control and arrow cluster +Default layer is normal HHKB with 7U space. Fn layer is used for RGB functions, Volume control and arrow cluster \ No newline at end of file diff --git a/keyboards/hs60/v2/iso/keymaps/default/readme.md b/keyboards/hs60/v2/iso/keymaps/default/readme.md index 7f41ad185f..9aa0a3a2b5 100644 --- a/keyboards/hs60/v2/iso/keymaps/default/readme.md +++ b/keyboards/hs60/v2/iso/keymaps/default/readme.md @@ -3,4 +3,4 @@ The default keymap for ISO HS60 V2. VIA support disabled. ![Layout image](https://imgur.com/6go4vQV.png) -Default layer is normal ISO and Fn layer is used for RGB functions, Volume control and arrow cluster +Default layer is normal ISO and Fn layer is used for RGB functions, Volume control and arrow cluster \ No newline at end of file diff --git a/keyboards/ianklug/grooveboard/keymaps/default/keymap.c b/keyboards/ianklug/grooveboard/keymaps/default/keymap.c index caac536104..643d9f1d1b 100644 --- a/keyboards/ianklug/grooveboard/keymaps/default/keymap.c +++ b/keyboards/ianklug/grooveboard/keymaps/default/keymap.c @@ -25,4 +25,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT( KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ) -}; +}; \ No newline at end of file diff --git a/keyboards/ibm/model_m/ashpil_usbc/keyboard.json b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json index 3dc35aa22a..3bf1069fd1 100644 --- a/keyboards/ibm/model_m/ashpil_usbc/keyboard.json +++ b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "IBM Model M 101/102", "manufacturer": "ashpil", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/ashpil_usbc", "maintainer": "ashpil", "usb": { "vid": "0xFEED", diff --git a/keyboards/ibm/model_m/mschwingen/info.json b/keyboards/ibm/model_m/mschwingen/info.json index 27b3ff5381..0deb57ed03 100644 --- a/keyboards/ibm/model_m/mschwingen/info.json +++ b/keyboards/ibm/model_m/mschwingen/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "atmega32U4 board for IBM Model M", "manufacturer": "mschwingen", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/mschwingen", "maintainer": "mschwingen", "usb": { "vid": "0xFEED", diff --git a/keyboards/ibm/model_m/teensy2/keyboard.json b/keyboards/ibm/model_m/teensy2/keyboard.json index 62be457462..fac1d42ebe 100644 --- a/keyboards/ibm/model_m/teensy2/keyboard.json +++ b/keyboards/ibm/model_m/teensy2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "IBM Model M 101/102", "manufacturer": "wangfuco", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/teensy2", "maintainer": "wangfuco", "usb": { "vid": "0xFEED", diff --git a/keyboards/ibm/model_m/teensypp/keyboard.json b/keyboards/ibm/model_m/teensypp/keyboard.json index 5166cda073..e77c43483b 100644 --- a/keyboards/ibm/model_m/teensypp/keyboard.json +++ b/keyboards/ibm/model_m/teensypp/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "IBM Model M 101/102", "manufacturer": "iw0rm3r", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/teensypp", "maintainer": "iw0rm3r", "usb": { "vid": "0xFEED", diff --git a/keyboards/ibm/model_m/yugo_m/keyboard.json b/keyboards/ibm/model_m/yugo_m/keyboard.json index f4b3282102..aee2f9720a 100644 --- a/keyboards/ibm/model_m/yugo_m/keyboard.json +++ b/keyboards/ibm/model_m/yugo_m/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Yugo-M (IBM Model M replacment controller)", "manufacturer": "IBM", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/yugo_m", "maintainer": "Nidzo Tomic", "usb": { "vid": "0xFEED", diff --git a/keyboards/ibm/model_m_122/ibm122m/keyboard.json b/keyboards/ibm/model_m_122/ibm122m/keyboard.json index 23bfbf2c6a..a9e10ffd6a 100644 --- a/keyboards/ibm/model_m_122/ibm122m/keyboard.json +++ b/keyboards/ibm/model_m_122/ibm122m/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "IBM Model M 122 key", "manufacturer": "IBM", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m_122/ibm122m", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/ibm/model_m_122/m122_3270/info.json b/keyboards/ibm/model_m_122/m122_3270/info.json index 364ab250dc..9b7a78c7f7 100644 --- a/keyboards/ibm/model_m_122/m122_3270/info.json +++ b/keyboards/ibm/model_m_122/m122_3270/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Model M PC/3270 122 key", "manufacturer": "IBM", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m_122/m122_3270", "maintainer": "jmaynard", "usb": { "vid": "0x1209", diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/mcuconf.h b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/mcuconf.h deleted file mode 100644 index 0e89bead66..0000000000 --- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/mcuconf.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 - -#undef STM32_PLLSAIM_VALUE -#define STM32_PLLSAIM_VALUE 8 diff --git a/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json b/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json index 06ce761651..50ce403130 100644 --- a/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json +++ b/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "IBM Model M Space-Saving Keyboard", "manufacturer": "tiltowait", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m_ssk/teensypp_ssk", "maintainer": "tiltowait", "usb": { "vid": "0xFEED", diff --git a/keyboards/icebreaker/readme.md b/keyboards/icebreaker/readme.md index dac4163669..439756f1b3 100644 --- a/keyboards/icebreaker/readme.md +++ b/keyboards/icebreaker/readme.md @@ -23,4 +23,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/idlebuilds/dinkey32_30/dinkey32_30.c b/keyboards/idlebuilds/dinkey32_30/dinkey32_30.c deleted file mode 100644 index 0473726a44..0000000000 --- a/keyboards/idlebuilds/dinkey32_30/dinkey32_30.c +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2023 Idle Builds (@IdleBuilds) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - return OLED_ROTATION_180; -} - -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - if (is_keyboard_master()) { - static const char PROGMEM idle_builds_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x80, 0x80, 0x80, 0xc0, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf3, 0xf3, 0xf3, 0xf3, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x39, 0x3d, 0x3d, 0x3d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0xd8, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xa8, 0xa8, 0xa8, 0xa8, 0xf8, 0xf8, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xf8, 0xc0, 0x80, 0x80, 0x80, 0x80, 0xf8, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0xd8, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0xb8, 0xa8, 0xa8, 0xa8, 0xe8, 0xe8, 0x40}; - oled_write_raw_P(idle_builds_logo, sizeof(idle_builds_logo)); - } else { - oled_write_P(PSTR("\n\nDINKEY 32|30"), false); - } - return true; -} -#endif diff --git a/keyboards/idlebuilds/dinkey32_30/keyboard.json b/keyboards/idlebuilds/dinkey32_30/keyboard.json deleted file mode 100644 index f26cd4366e..0000000000 --- a/keyboards/idlebuilds/dinkey32_30/keyboard.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "keyboard_name": "dinkey32_30", - "manufacturer": "Idle Builds", - "maintainer": "IdleBuilds", - "url": "https://github.com/IdleBuilds/Dinkey", - "bootloader": "atmel-dfu", - "processor": "atmega32u4", - "usb": { - "device_version": "1.0.0", - "pid": "0x3230", - "vid": "0xFEED" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "nkro": true, - "oled": true - }, - "split": { - "enabled": true, - "serial": { - "pin": "D2" - }, - "transport": { - "sync": { - "modifiers": true - } - } - }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["E6", "D7", "C6", "D4", "F6"], - "rows": ["F4", "F5", "B4", "B5"] - }, - "layouts": { - "LAYOUT_32": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.93}, - {"matrix": [0, 1], "x": 1, "y": 0.31}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0.28}, - {"matrix": [0, 4], "x": 4, "y": 0.42}, - {"matrix": [4, 4], "x": 7, "y": 0.42}, - {"matrix": [4, 3], "x": 8, "y": 0.28}, - {"matrix": [4, 2], "x": 9, "y": 0}, - {"matrix": [4, 1], "x": 10, "y": 0.31}, - {"matrix": [4, 0], "x": 11, "y": 0.93}, - {"matrix": [1, 1], "x": 1, "y": 1.31}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1.28}, - {"matrix": [1, 4], "x": 4, "y": 1.42}, - {"matrix": [5, 4], "x": 7, "y": 1.42}, - {"matrix": [5, 3], "x": 8, "y": 1.28}, - {"matrix": [5, 2], "x": 9, "y": 1}, - {"matrix": [5, 1], "x": 10, "y": 1.31}, - {"matrix": [2, 0], "x": 0, "y": 2.93}, - {"matrix": [2, 1], "x": 1, "y": 2.31}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2.28}, - {"matrix": [2, 4], "x": 4, "y": 2.42}, - {"matrix": [6, 4], "x": 7, "y": 2.42}, - {"matrix": [6, 3], "x": 8, "y": 2.28}, - {"matrix": [6, 2], "x": 9, "y": 2}, - {"matrix": [6, 1], "x": 10, "y": 2.31}, - {"matrix": [6, 0], "x": 11, "y": 2.93}, - {"matrix": [3, 3], "x": 3.5, "y": 3.75}, - {"matrix": [3, 4], "x": 4.5, "y": 4}, - {"matrix": [7, 4], "x": 6.5, "y": 4}, - {"matrix": [7, 3], "x": 7.5, "y": 3.75} - ] - }, - "LAYOUT_30": { - "layout": [ - {"matrix": [1, 0], "x": 0, "y": 1.93}, - {"matrix": [0, 1], "x": 1, "y": 0.31}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0.28}, - {"matrix": [0, 4], "x": 4, "y": 0.42}, - {"matrix": [4, 4], "x": 7, "y": 0.42}, - {"matrix": [4, 3], "x": 8, "y": 0.28}, - {"matrix": [4, 2], "x": 9, "y": 0}, - {"matrix": [4, 1], "x": 10, "y": 0.31}, - {"matrix": [5, 0], "x": 11, "y": 1.93}, - {"matrix": [1, 1], "x": 1, "y": 1.31}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1.28}, - {"matrix": [1, 4], "x": 4, "y": 1.42}, - {"matrix": [5, 4], "x": 7, "y": 1.42}, - {"matrix": [5, 3], "x": 8, "y": 1.28}, - {"matrix": [5, 2], "x": 9, "y": 1}, - {"matrix": [5, 1], "x": 10, "y": 1.31}, - {"matrix": [2, 1], "x": 1, "y": 2.31}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2.28}, - {"matrix": [2, 4], "x": 4, "y": 2.42}, - {"matrix": [6, 4], "x": 7, "y": 2.42}, - {"matrix": [6, 3], "x": 8, "y": 2.28}, - {"matrix": [6, 2], "x": 9, "y": 2}, - {"matrix": [6, 1], "x": 10, "y": 2.31}, - {"matrix": [3, 3], "x": 3.5, "y": 3.75}, - {"matrix": [3, 4], "x": 4.5, "y": 4}, - {"matrix": [7, 4], "x": 6.5, "y": 4}, - {"matrix": [7, 3], "x": 7.5, "y": 3.75} - ] - } - } -} diff --git a/keyboards/idlebuilds/dinkey32_30/keymaps/default/keymap.c b/keyboards/idlebuilds/dinkey32_30/keymaps/default/keymap.c deleted file mode 100644 index 5e3e90de26..0000000000 --- a/keyboards/idlebuilds/dinkey32_30/keymaps/default/keymap.c +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2023 Idle Builds (@IdleBuilds) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_30( - KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_P, - KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, - KC_BSPC, KC_TAB, KC_SPC, KC_ENT - ) -}; diff --git a/keyboards/idlebuilds/dinkey32_30/readme.md b/keyboards/idlebuilds/dinkey32_30/readme.md deleted file mode 100644 index 2b882e7eca..0000000000 --- a/keyboards/idlebuilds/dinkey32_30/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# Dinkey 32|30 - -![Dinkey 32|30 — 30 key config](https://i.imgur.com/L7e2yfP.jpeg) -![Dinkey 32|30 — 32 key config](https://i.imgur.com/iEurnyP.jpeg) - -A low-profile split keyboard with 30 or 32 key configuration. Part of the Dinkey keyboard series by Idle Builds. - -* Keyboard Maintainer: [IdleBuilds](https://github.com/IdleBuilds) -* Hardware Supported: Dinkey 32|30 PCB, ATmega32U4 -* Hardware Availability: [Store](https://www.idlebuilds.com), [Idle Builds GitHub](https://github.com/IdleBuilds/Dinkey) - -Make example for this keyboard (after setting up your build environment): - - make idlebuilds/dinkey32_30:default - -Flashing example for this keyboard: - - make idlebuilds/dinkey32_30:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key on left half) 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/idlebuilds/dinkey34/dinkey34.c b/keyboards/idlebuilds/dinkey34/dinkey34.c deleted file mode 100644 index 3140a25440..0000000000 --- a/keyboards/idlebuilds/dinkey34/dinkey34.c +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2023 Idle Builds (@IdleBuilds) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - return OLED_ROTATION_180; -} - -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - if (is_keyboard_master()) { - oled_write_P(PSTR("LAYER:\n\n"), false); - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR("BASE\n"), false); - break; - case 1: - oled_write_P(PSTR("LAYER 1\n"), false); - break; - case 2: - oled_write_P(PSTR("LAYER 2\n"), false); - break; - case 3: - oled_write_P(PSTR("LAYER 3\n"), false); - break; - default: - oled_write_P(PSTR("UNKNOWN\n"), false); - } - } else { - static const char PROGMEM my_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0xff, 0x3f, 0x03, 0x03, 0x03, 0x03, 0x07, 0xce, 0xfc, 0x10, 0x00, 0x80, 0xfe, 0x3f, 0x00, 0x00, 0x00, 0xf8, 0x7e, 0x1e, 0x78, 0xe0, 0x80, 0x00, 0xc0, 0xfe, 0x1f, 0x00, 0x00, 0x80, 0xfe, 0xff, 0xe0, 0xb0, 0x18, 0x1c, 0x0e, 0x02, 0x00, 0x00, 0x00, 0xc0, 0xfe, 0xfe, 0xe2, 0xe2, 0x63, 0x63, 0x63, 0x03, 0x00, 0x03, 0x06, 0x1c, 0x38, 0xf0, 0xf0, 0x38, 0x1c, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0e, 0xcc, 0xe4, 0xf4, 0xde, 0xde, 0xce, 0x80, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xcc, 0xfe, 0xdf, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0c, 0x04, 0x06, 0x06, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x00, 0x00, 0x0f, 0x0f, 0x08, 0x08, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x08, 0x08, 0x08, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - oled_write_raw_P(my_logo, sizeof(my_logo)); - } - return true; -} -#endif diff --git a/keyboards/idlebuilds/dinkey34/keyboard.json b/keyboards/idlebuilds/dinkey34/keyboard.json deleted file mode 100644 index 9040410939..0000000000 --- a/keyboards/idlebuilds/dinkey34/keyboard.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "keyboard_name": "dinkey34", - "manufacturer": "Idle Builds", - "maintainer": "IdleBuilds", - "url": "https://github.com/IdleBuilds/Dinkey", - "bootloader": "atmel-dfu", - "processor": "atmega32u4", - "usb": { - "device_version": "1.0.0", - "pid": "0x3400", - "vid": "0xFEED" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "nkro": true, - "oled": true - }, - "split": { - "enabled": true, - "serial": { - "pin": "D2" - }, - "transport": { - "sync": { - "modifiers": true - } - } - }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["E6", "D7", "C6", "D4", "F6"], - "rows": ["F4", "F5", "B4", "B5"] - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"x": 0, "y": 0.93, "matrix": [0, 0]}, - {"x": 1, "y": 0.31, "matrix": [0, 1]}, - {"x": 2, "y": 0, "matrix": [0, 2]}, - {"x": 3, "y": 0.28, "matrix": [0, 3]}, - {"x": 4, "y": 0.42, "matrix": [0, 4]}, - - {"x": 7, "y": 0.42, "matrix": [4, 4]}, - {"x": 8, "y": 0.28, "matrix": [4, 3]}, - {"x": 9, "y": 0, "matrix": [4, 2]}, - {"x": 10, "y": 0.31, "matrix": [4, 1]}, - {"x": 11, "y": 0.93, "matrix": [4, 0]}, - - {"x": 0, "y": 1.93, "matrix": [1, 0]}, - {"x": 1, "y": 1.31, "matrix": [1, 1]}, - {"x": 2, "y": 1, "matrix": [1, 2]}, - {"x": 3, "y": 1.28, "matrix": [1, 3]}, - {"x": 4, "y": 1.42, "matrix": [1, 4]}, - - {"x": 7, "y": 1.42, "matrix": [5, 4]}, - {"x": 8, "y": 1.28, "matrix": [5, 3]}, - {"x": 9, "y": 1, "matrix": [5, 2]}, - {"x": 10, "y": 1.31, "matrix": [5, 1]}, - {"x": 11, "y": 1.93, "matrix": [5, 0]}, - - {"x": 0, "y": 2.93, "matrix": [2, 0]}, - {"x": 1, "y": 2.31, "matrix": [2, 1]}, - {"x": 2, "y": 2, "matrix": [2, 2]}, - {"x": 3, "y": 2.28, "matrix": [2, 3]}, - {"x": 4, "y": 2.42, "matrix": [2, 4]}, - - {"x": 7, "y": 2.42, "matrix": [6, 4]}, - {"x": 8, "y": 2.28, "matrix": [6, 3]}, - {"x": 9, "y": 2, "matrix": [6, 2]}, - {"x": 10, "y": 2.31, "matrix": [6, 1]}, - {"x": 11, "y": 2.93, "matrix": [6, 0]}, - - {"matrix": [3, 0], "x": 3.5, "y": 3.75}, - {"matrix": [3, 1], "x": 4.5, "y": 4}, - - {"matrix": [7, 1], "x": 6.5, "y": 4}, - {"matrix": [7, 0], "x": 7.5, "y": 3.75} - ] - } - } -} diff --git a/keyboards/idlebuilds/dinkey34/keymaps/default/keymap.c b/keyboards/idlebuilds/dinkey34/keymaps/default/keymap.c deleted file mode 100644 index 17f04e5b20..0000000000 --- a/keyboards/idlebuilds/dinkey34/keymaps/default/keymap.c +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2023 Idle Builds (@IdleBuilds) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_BSPC, KC_TAB, KC_SPC, KC_ENT - ), -}; diff --git a/keyboards/idlebuilds/dinkey34/readme.md b/keyboards/idlebuilds/dinkey34/readme.md deleted file mode 100644 index 52ca151b3a..0000000000 --- a/keyboards/idlebuilds/dinkey34/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Dinkey 34 - -![Dinkey 34](https://i.imgur.com/MhrvYzo.jpeg) - -A low-profile split keyboard with 34 keys. Part of the Dinkey keyboard series by Idle Builds. - -* Keyboard Maintainer: [IdleBuilds](https://github.com/IdleBuilds) -* Hardware Supported: Dinkey 34 PCB, ATmega32U4 -* Hardware Availability: [Store](https://www.idlebuilds.com), [Idle Builds GitHub](https://github.com/IdleBuilds/Dinkey) - -Make example for this keyboard (after setting up your build environment): - - make idlebuilds/dinkey34:default - -Flashing example for this keyboard: - - make idlebuilds/dinkey34:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key on left half) 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/idobao/id42/id42.c b/keyboards/idobao/id42/id42.c new file mode 100755 index 0000000000..5e76e4c5be --- /dev/null +++ b/keyboards/idobao/id42/id42.c @@ -0,0 +1,45 @@ +// Copyright 2022 Vino Rodrigues (@vinorodrigues) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#define __ NO_LED + +#ifdef RGB_MATRIX_ENABLE + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │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 │ + * └────┴───┴────┴─────────┴─────────┘ └───┴───┴───┘ + */ +led_config_t g_led_config = { { + // Key Matrix to LED Index + // WS2812 LED strings are addressed from 0 (1st) to RGB_MATRIX_LED_COUNT-1 (last) + { 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 } +}, { + // LED Index to Physical Position + // **NB**: Reversed order + // Generated from: https://xelus.netlify.app/guides/KLE_to_RGB_parser + {224,64 }, {204,64 }, {183,64 }, {135,64 }, { 84,64 }, { 48,64 }, { 25,64 }, { 3,64 }, + {224,43 }, {204,43 }, {181,43 }, {158,43 }, {137,43 }, {117,43 }, { 97,43 }, { 76,43 }, { 56,43 }, { 36,43 }, { 8,43 }, + {216,21 }, {188,21 }, {168,21 }, {148,21 }, {127,21 }, {107,21 }, { 87,21 }, { 66,21 }, { 46,21 }, { 25,21 }, { 3,21 }, + {224,0 }, {204,0 }, {183,0 }, {163,0 }, {143,0 }, {122,0 }, {102,0 }, { 81,0 }, { 61,0 }, { 41,0 }, { 20,0 }, { 0,0 } +}, { + // LED Index to Flag + // **NB**: Reversed order + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 4, + 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, + 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4 +} }; + +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/idobao/id42/keyboard.json b/keyboards/idobao/id42/keyboard.json index d726f04e78..0f1cecd16a 100644 --- a/keyboards/idobao/id42/keyboard.json +++ b/keyboards/idobao/id42/keyboard.json @@ -56,50 +56,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [3, 11], "x": 224, "y": 64, "flags": 4}, - {"matrix": [3, 10], "x": 204, "y": 64, "flags": 4}, - {"matrix": [3, 9], "x": 183, "y": 64, "flags": 4}, - {"matrix": [3, 6], "x": 135, "y": 64, "flags": 4}, - {"matrix": [3, 3], "x": 84, "y": 64, "flags": 4}, - {"matrix": [3, 2], "x": 48, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 25, "y": 64, "flags": 4}, - {"matrix": [3, 0], "x": 3, "y": 64, "flags": 4}, - {"matrix": [2, 11], "x": 224, "y": 43, "flags": 4}, - {"matrix": [2, 10], "x": 204, "y": 43, "flags": 4}, - {"matrix": [2, 8], "x": 181, "y": 43, "flags": 4}, - {"matrix": [2, 7], "x": 158, "y": 43, "flags": 1}, - {"matrix": [2, 6], "x": 137, "y": 43, "flags": 1}, - {"matrix": [2, 5], "x": 117, "y": 43, "flags": 1}, - {"matrix": [2, 4], "x": 97, "y": 43, "flags": 1}, - {"matrix": [2, 3], "x": 76, "y": 43, "flags": 1}, - {"matrix": [2, 2], "x": 56, "y": 43, "flags": 1}, - {"matrix": [2, 1], "x": 36, "y": 43, "flags": 1}, - {"matrix": [2, 0], "x": 8, "y": 43, "flags": 4}, - {"matrix": [1, 11], "x": 216, "y": 21, "flags": 4}, - {"matrix": [1, 9], "x": 188, "y": 21, "flags": 1}, - {"matrix": [1, 8], "x": 168, "y": 21, "flags": 1}, - {"matrix": [1, 7], "x": 148, "y": 21, "flags": 1}, - {"matrix": [1, 6], "x": 127, "y": 21, "flags": 1}, - {"matrix": [1, 5], "x": 107, "y": 21, "flags": 1}, - {"matrix": [1, 4], "x": 87, "y": 21, "flags": 1}, - {"matrix": [1, 3], "x": 66, "y": 21, "flags": 1}, - {"matrix": [1, 2], "x": 46, "y": 21, "flags": 1}, - {"matrix": [1, 1], "x": 25, "y": 21, "flags": 1}, - {"matrix": [1, 0], "x": 3, "y": 21, "flags": 4}, - {"matrix": [0, 11], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 204, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 183, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 163, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 122, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 102, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 81, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 61, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 41, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 20, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4} - ], "max_brightness": 180, "sleep": true }, diff --git a/keyboards/idobao/id61/config.h b/keyboards/idobao/id61/config.h new file mode 100644 index 0000000000..3766a8ef1d --- /dev/null +++ b/keyboards/idobao/id61/config.h @@ -0,0 +1,28 @@ +// Copyright 2022 Vino Rodrigues (@vinorodrigues) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#if defined(RGB_MATRIX_ENABLE) + #ifndef ID61_DISABLE_UNDERGLOW + #define RGB_MATRIX_LED_COUNT 71 + #else + #define RGB_MATRIX_LED_COUNT 61 // = 71 - 10 + #endif +#endif // RGB_MATRIX_ENABLE + +/* ----------------------- + * Feature disable options + * These options are also useful to firmware size reduction. + * ----------------------- */ + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +// #define NO_ACTION_LAYER +// #define NO_ACTION_TAPPING +// #define NO_ACTION_ONESHOT diff --git a/keyboards/idobao/id61/id61.c b/keyboards/idobao/id61/id61.c new file mode 100644 index 0000000000..bd2271049b --- /dev/null +++ b/keyboards/idobao/id61/id61.c @@ -0,0 +1,68 @@ +// Copyright 2022 Vino Rodrigues (@vinorodrigues) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#define __ NO_LED + +#if defined(RGB_MATRIX_ENABLE) + +/* Pre-key + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │60 │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 │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + * + * Underglow (from top / [Esc] = top left) + * ┌────┬────┬────┬────┬────┐ + * │ 61 │ 62 │ 63 │ 64 │ 65 │ + * ├────┴────┴────┴────┴────┤ + * ├────┬────┬────┬────┬────┤ + * │ 70 │ 69 │ 68 │ 67 │ 66 │ + * └────┴────┴────┴────┴────┘ + */ + +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 60, 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 }, +}, { + // LED Index to Physical Position + // generated from: https://xelus.netlify.app/guides/KLE_to_RGB_parser + /* NB: Reverse order! */ + {224,64 }, {204,64 }, {184,64 }, {163,64 }, {103,64 }, { 42,64 }, { 22,64 }, { 2,64 }, + {212,48 }, {182,48 }, {165,48 }, {149,48 }, {133,48 }, {117,48 }, {101,48 }, { 85,48 }, { 69,48 }, { 52,48 }, { 36,48 }, { 10,48 }, + {216,32 }, {190,32 }, {174,32 }, {157,32 }, {141,32 }, {125,32 }, {109,32 }, { 93,32 }, { 77,32 }, { 61,32 }, { 44,32 }, { 28,32 }, { 6,32 }, + {222,16 }, {202,16 }, {186,16 }, {170,16 }, {153,16 }, {137,16 }, {121,16 }, {105,16 }, { 89,16 }, { 73,16 }, { 57,16 }, { 40,16 }, { 24,16 }, { 4,16 }, + {218,0 }, {194,0 }, {178,0 }, {161,0 }, {145,0 }, {129,0 }, {113,0 }, { 97,0 }, { 81,0 }, { 65,0 }, { 48,0 }, { 32,0 }, { 16,0 }, { 0,0 } + // underglow LEDs (positions pushed to nearest edge to match edge key colors) + #ifndef ID61_DISABLE_UNDERGLOW + , { 0,0 }, { 56,0 }, { 112,0 }, {168,0 }, {224,0 }, + {224,64 }, {168,64 }, {112,64 }, { 56,64 }, { 0,64 } + #endif +}, { + // LED Index to Flag + /* NB: Reverse order! */ + 1, 1, 1, 1, 4, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 9, + 1, 4, 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, 4 + // underglow LEDs + #ifndef ID61_DISABLE_UNDERGLOW + , 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2 + #endif +} }; + +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/idobao/id61/keyboard.json b/keyboards/idobao/id61/keyboard.json index af0c29788d..d3bf62c726 100644 --- a/keyboards/idobao/id61/keyboard.json +++ b/keyboards/idobao/id61/keyboard.json @@ -56,79 +56,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 204, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 184, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 163, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 103, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 42, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [3, 12], "x": 212, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 182, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 165, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 149, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 133, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 117, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 101, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 85, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 69, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, - {"matrix": [2, 12], "x": 216, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 190, "y": 32, "flags": 1}, - {"matrix": [2, 10], "x": 174, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 157, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 141, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 125, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 109, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 93, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 77, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 61, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 9}, - {"matrix": [1, 13], "x": 222, "y": 16, "flags": 1}, - {"matrix": [1, 12], "x": 202, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 186, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 170, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 153, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 137, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 121, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 105, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 89, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 73, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 57, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [0, 13], "x": 218, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 194, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 178, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 161, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 145, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 129, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 113, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 97, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 81, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 65, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 56, "y": 0, "flags": 2}, - {"x": 112, "y": 0, "flags": 2}, - {"x": 168, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 168, "y": 64, "flags": 2}, - {"x": 112, "y": 64, "flags": 2}, - {"x": 56, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2} - ], "max_brightness": 170, "sleep": true }, diff --git a/keyboards/idobao/id61/post_rules.mk b/keyboards/idobao/id61/post_rules.mk new file mode 100644 index 0000000000..673b260396 --- /dev/null +++ b/keyboards/idobao/id61/post_rules.mk @@ -0,0 +1,8 @@ +# The Denwir D60 case has a sealed/solid undercase, +# this enables switching off thoes LEDs +# Usage: `make idobao/id61:default UNDERGLOW=off` + +UNDERGLOW ?= yes +ifneq ($(strip $(UNDERGLOW)), yes) + OPT_DEFS += -DID61_DISABLE_UNDERGLOW +endif diff --git a/keyboards/idobao/id63/config.h b/keyboards/idobao/id63/config.h new file mode 100644 index 0000000000..5a7df9028e --- /dev/null +++ b/keyboards/idobao/id63/config.h @@ -0,0 +1,28 @@ +// Copyright 2022 Vino Rodrigues (@vinorodrigues) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#if defined(RGB_MATRIX_ENABLE) + #ifndef ID63_DISABLE_UNDERGLOW + #define RGB_MATRIX_LED_COUNT 75 + #else + #define RGB_MATRIX_LED_COUNT (75 - 12) + #endif +#endif // RGB_MATRIX_ENABLE + +/* ----------------------- + * Feature disable options + * These options are also useful to firmware size reduction. + * ----------------------- */ + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +// #define NO_ACTION_LAYER +// #define NO_ACTION_TAPPING +// #define NO_ACTION_ONESHOT diff --git a/keyboards/idobao/id63/id63.c b/keyboards/idobao/id63/id63.c new file mode 100644 index 0000000000..f425eb4fe4 --- /dev/null +++ b/keyboards/idobao/id63/id63.c @@ -0,0 +1,68 @@ +// Copyright 2022 Vino Rodrigues (@vinorodrigues) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#define __ NO_LED + +#ifdef RGB_MATRIX_ENABLE + +/* Pre-key LED addresses + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │62 │61 │60 │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 │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ + * + * Underglow LED addresses (as seen from top / [Esc] = top left) + * ┌────┬────┬────┬────┬────┬────┐ + * │ 63 │ 64 │ 65 │ 66 │ 67 │ 68 │ + * ├────┴────┴────┴────┴────┴────┤ + * ├────┬────┬────┬────┬────┬────┤ + * │ 74 │ 73 │ 72 │ 71 │ 70 │ 69 │ + * └────┴────┴────┴────┴────┴────┘ + */ + +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 62, 61, 60, 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 }, +}, { + // LED Index to Physical Position + // generated from: https://xelus.netlify.app/guides/KLE_to_RGB_parser + /* NB: Reverse & upside-down order! */ + {224,64 }, {208,64 }, {192,64 }, {176,64 }, {160,64 }, {102,64 }, { 42,64 }, { 22,64 }, { 2,64 }, + {224,48 }, {208,48 }, {186,48 }, {164,48 }, {148,48 }, {132,48 }, {116,48 }, {100,48 }, { 84,48 }, { 68,48 }, { 52,48 }, { 36,48 }, { 10,48 }, + {214,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 }, + {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 }, + {216,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 }, { 0,0 } + // underglow LEDs (positions pushed to nearest edge to match edge key colors) + #ifndef ID63_DISABLE_UNDERGLOW + , { 0,0 }, { 45,0 }, { 90,0 }, {134,0 }, {179,0 }, {224,0 }, + {224,64 }, {179,64 }, {134,64 }, { 90,64 }, { 45,64 }, { 0,64 } + #endif +}, { + // LED Index to Flag + /* NB: Reverse & upside-down order! */ + 4, 4, 4, 1, 1, 4, 1, 1, 1, + 1, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 9, + 1, 4, 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, 4 + // underglow LEDs + #ifndef ID63_DISABLE_UNDERGLOW + , 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2 + #endif +} }; + +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/idobao/id63/keyboard.json b/keyboards/idobao/id63/keyboard.json index bfe0ac7cbe..141c1263d1 100644 --- a/keyboards/idobao/id63/keyboard.json +++ b/keyboards/idobao/id63/keyboard.json @@ -56,83 +56,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 208, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 192, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 176, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 160, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 102, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 186, "y": 48, "flags": 1}, - {"matrix": [3, 10], "x": 164, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 148, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 132, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 116, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 100, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 68, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, - {"matrix": [2, 13], "x": 214, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 188, "y": 32, "flags": 1}, - {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 9}, - {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1}, - {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [0, 13], "x": 216, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 45, "y": 0, "flags": 2}, - {"x": 90, "y": 0, "flags": 2}, - {"x": 134, "y": 0, "flags": 2}, - {"x": 179, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 179, "y": 64, "flags": 2}, - {"x": 134, "y": 64, "flags": 2}, - {"x": 90, "y": 64, "flags": 2}, - {"x": 45, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2} - ], "max_brightness": 180, "sleep": true }, diff --git a/keyboards/idobao/id63/post_rules.mk b/keyboards/idobao/id63/post_rules.mk new file mode 100644 index 0000000000..1a465397fd --- /dev/null +++ b/keyboards/idobao/id63/post_rules.mk @@ -0,0 +1,8 @@ +# The Denwir D60 case has a sealed/solid undercase, +# this enables switching off thoes LEDs +# Usage: `make idobao/id63:default UNDERGLOW=off` + +UNDERGLOW ?= yes +ifneq ($(strip $(UNDERGLOW)), yes) + OPT_DEFS += -DID63_DISABLE_UNDERGLOW +endif diff --git a/keyboards/idobao/id67/config.h b/keyboards/idobao/id67/config.h new file mode 100644 index 0000000000..8f454d1ff4 --- /dev/null +++ b/keyboards/idobao/id67/config.h @@ -0,0 +1,30 @@ +// Copyright 2021 Tybera (@tybera) +// Copyright 2021 Werther (@thewerther) +// Copyright 2022 Vino Rodrigues (@vinorodrigues) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#if defined(RGB_MATRIX_ENABLE) + #ifndef ID67_DISABLE_UNDERGLOW + #define RGB_MATRIX_LED_COUNT 77 + #else + #define RGB_MATRIX_LED_COUNT (77 - 10) + #endif +#endif // RGB_MATRIX_ENABLE + +/* ----------------------- + * Feature disable options + * These options are also useful to firmware size reduction. + * ----------------------- */ + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +// #define NO_ACTION_LAYER +// #define NO_ACTION_TAPPING +// #define NO_ACTION_ONESHOT diff --git a/keyboards/idobao/id67/id67.c b/keyboards/idobao/id67/id67.c new file mode 100644 index 0000000000..dab6347eb3 --- /dev/null +++ b/keyboards/idobao/id67/id67.c @@ -0,0 +1,68 @@ +// Copyright 2021 Tybera (@tybera) +// Copyright 2021 Werther (@thewerther) +// Copyright 2022 Vino Rodrigues (@vinorodrigues) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#define __ NO_LED + +#if defined(RGB_MATRIX_ENABLE) + +/* NB!!: Indices are reversed on the physical board, top left is bottom right. + * These "LED Index to *" arrays are in that reversed order! + * i.e., Space row on top, listed right to left */ +led_config_t g_led_config = { { + /* Under- / Per-Key + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │66 │65 │64 │63 │62 │61 │60 │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 │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + * + * Bottom Side (as seen from top orientation) + * 67 68 69 70 71 + * 76 75 74 73 72 + */ + // Key Matrix to LED Index + {66, 65, 64, 63, 62, 61, 60, 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}, +}, { + // LED Index to Physical Position + // based on: https://gist.github.com/vinorodrigues/07fd735683856b2a06c7c52b9b3878cb + // **NB: In reverse order** + {224,64 }, {209,64 }, {194,64 }, {170,64 }, {151,64 }, { 95,64 }, { 39,64 }, { 21,64 }, { 2,64 }, + {224,48 }, {209,48 }, {189,48 }, {168,48 }, {153,48 }, {138,48 }, {123,48 }, {108,48 }, { 93,48 }, { 78,48 }, { 63,48 }, { 49,48 }, { 34,48 }, { 9,48 }, + {224,32 }, {200,32 }, {175,32 }, {161,32 }, {146,32 }, {131,32 }, {116,32 }, {101,32 }, { 86,32 }, { 71,32 }, { 56,32 }, { 41,32 }, { 26,32 }, { 6,32 }, + {224,16 }, {205,16 }, {187,16 }, {172,16 }, {157,16 }, {142,16 }, {127,16 }, {112,16 }, { 97,16 }, { 82,16 }, { 67,16 }, { 52,16 }, { 37,16 }, { 22,16 }, { 4,16 }, + {224,0 }, {202,0 }, {179,0 }, {164,0 }, {149,0 }, {134,0 }, {119,0 }, {105,0 }, { 90,0 }, { 75,0 }, { 60,0 }, { 45,0 }, { 30,0 }, { 15,0 }, { 0,0 } + // underglow LEDs + #ifndef ID67_DISABLE_UNDERGLOW + , {0, 0}, {56, 0}, {112, 0}, {168, 0}, {224, 0}, + {224, 64}, {168, 64}, {112, 64}, {56, 64}, {0, 64} + #endif +}, { + // LED Index to Flag + // **NB: In reverse order** + 1, 1, 1, 1, 1, 4, 1, 1, 1, // fifth/bottom row + 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // fourth row + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 9, // third row + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // second row + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1 // first/top row + // underglow LEDs + #ifndef ID67_DISABLE_UNDERGLOW + , 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2 + #endif +} }; + +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/idobao/id67/keyboard.json b/keyboards/idobao/id67/keyboard.json index 025b965050..786ed39be0 100644 --- a/keyboards/idobao/id67/keyboard.json +++ b/keyboards/idobao/id67/keyboard.json @@ -56,85 +56,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 194, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 170, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 151, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 95, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 39, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 209, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 168, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 153, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 138, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 123, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 108, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 93, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 78, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 63, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [2, 13], "x": 200, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 175, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 9}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [1, 13], "x": 205, "y": 16, "flags": 4}, - {"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}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 56, "y": 0, "flags": 2}, - {"x": 112, "y": 0, "flags": 2}, - {"x": 168, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 168, "y": 64, "flags": 2}, - {"x": 112, "y": 64, "flags": 2}, - {"x": 56, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2} - ], "max_brightness": 180, "sleep": true }, diff --git a/keyboards/idobao/id67/post_rules.mk b/keyboards/idobao/id67/post_rules.mk new file mode 100644 index 0000000000..32832a65b2 --- /dev/null +++ b/keyboards/idobao/id67/post_rules.mk @@ -0,0 +1,8 @@ +# Some ID67 variants (v1 base build & "Bestype") have a solid back plate, +# this enables switching off thoes LEDs +# Usage: `make idobao/id67:default UNDERGLOW=off` + +UNDERGLOW ?= yes +ifneq ($(strip $(UNDERGLOW)), yes) + OPT_DEFS += -DID67_DISABLE_UNDERGLOW +endif diff --git a/keyboards/idobao/id75/v2/keyboard.json b/keyboards/idobao/id75/v2/keyboard.json index 068c01a785..743c7cf404 100644 --- a/keyboards/idobao/id75/v2/keyboard.json +++ b/keyboards/idobao/id75/v2/keyboard.json @@ -44,94 +44,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "ws2812", - "layout": [ - {"x": 8, "y": 12, "flags": 2}, - {"x": 60, "y": 12, "flags": 2}, - {"x": 112, "y": 12, "flags": 2}, - {"x": 164, "y": 12, "flags": 2}, - {"x": 216, "y": 12, "flags": 2}, - {"x": 216, "y": 60, "flags": 2}, - {"x": 164, "y": 60, "flags": 2}, - {"x": 112, "y": 60, "flags": 2}, - {"x": 60, "y": 60, "flags": 2}, - {"x": 8, "y": 60, "flags": 2}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 208, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 192, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 176, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 160, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 144, "y": 64, "flags": 4}, - {"matrix": [4, 8], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 7], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 4], "x": 64, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 32, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 208, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4} - ] + "driver": "ws2812" }, "build": { "lto": true diff --git a/keyboards/idobao/id75/v2/v2.c b/keyboards/idobao/id75/v2/v2.c new file mode 100644 index 0000000000..55d58d92e1 --- /dev/null +++ b/keyboards/idobao/id75/v2/v2.c @@ -0,0 +1,49 @@ +/* Copyright 2022 peepeetee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index +{ 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70 }, +{ 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 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 } +}, { + // LED Index to Physical Position +{8, 12},{60, 12},{112, 12},{164, 12},{216, 12}, +{216, 60},{164, 60},{112, 60},{60, 60},{8, 60}, + + +{224, 64}, {208, 64}, {192, 64}, {176, 64}, {160, 64}, {144, 64}, {128, 64}, {112, 64}, {96, 64}, {80, 64}, {64, 64}, {48, 64}, {32, 64}, {16, 64}, {0, 64}, +{224, 48}, {208, 48}, {192, 48}, {176, 48}, {160, 48}, {144, 48}, {128, 48}, {112, 48}, {96, 48}, {80, 48}, {64, 48}, {48, 48}, {32, 48}, {16, 48}, {0, 48}, +{224, 32}, {208, 32}, {192, 32}, {176, 32}, {160, 32}, {144, 32}, {128, 32}, {112, 32}, {96, 32}, {80, 32}, {64, 32}, {48, 32}, {32, 32}, {16, 32}, {0, 32}, +{224, 16}, {208, 16}, {192, 16}, {176, 16}, {160, 16}, {144, 16}, {128, 16}, {112, 16}, {96, 16}, {80, 16}, {64, 16}, {48, 16}, {32, 16}, {16, 16}, {0, 16}, +{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}, {0, 0}, + +}, { + // LED Index to Flag +2,2,2,2,2,2,2,2,2,2, +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/idobao/id80/v3/ansi/ansi.c b/keyboards/idobao/id80/v3/ansi/ansi.c new file mode 100644 index 0000000000..75f995fbbe --- /dev/null +++ b/keyboards/idobao/id80/v3/ansi/ansi.c @@ -0,0 +1,76 @@ +// Copyright 2022 Vino Rodrigues (@vinorodrigues) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#define __ NO_LED + +#ifdef RGB_MATRIX_ENABLE + +/* Per-key LED's + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┐ + * │79 ││78 │77 │76 │75 ││74 │73 │72 │71 ││70 │69 │68 │67 ││66 ││65 │ + * ├───┼┴──┬┴──┬┴──┬┴──┬┴┴─┬─┴─┬─┴─┬─┴─┬─┴┴┬──┴┬──┴┬──┴┬──┴┴───┤├───┤ + * │64 │63 │62 │61 │60 │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 │ + * └───┴───┴───┘ + * Underglow (as seen from top) + * ┌────┬────┬────┬────┬────┬────┐ + * │ 80 │ 81 │ 82 │ 83 │ 84 │ 85 │ + * ├────┼────┴────┴────┴────┼────┤ + * │ 93 │ │ 86 │ + * ├────┼────┬────┬────┬────┼────┤ + * │ 92 │ 91 │ 90 │ 89 │ 88 │ 87 │ + * └────┴────┴────┴────┴────┴────┘ + */ + +led_config_t g_led_config = { { + // Key Matrix to LED Index + /* Generated with: https://xelus.netlify.app/guides/KLE_to_RGB_parser */ + { 8, 21, 34, 49, 64, 79, __, __, __, __, __ }, + { 7, __, 33, 48, 63, 78, __, __, __, __, __ }, + { 6, 20, 32, 47, 62, 77, __, __, 35, 50, 65 }, + { 0, 19, 31, 46, 61, 76, 9, __, 36, __, 67 }, + { 1, 18, 30, 45, 60, 75, 10, 22, 37, 52, 68 }, + { 2, 17, 29, 44, 59, 74, 11, 23, 38, 53, 69 }, + { 5, 16, 28, 43, 58, 73, __, __, __, 51, 66 }, + { 3, 15, 27, 42, 57, 72, 12, 24, 39, 54, 70 }, + { 4, 14, 26, 41, 56, 71, 13, 25, 40, 55, __ }, +}, { + /* NB: Reversed order */ + // per-key + {224,64 }, {209,64 }, {195,64 }, {173,61 }, {151,61 }, { 94,61 }, { 39,61 }, { 20,61 }, { 2,61 }, + {209,52 }, {185,49 }, {165,49 }, {151,49 }, {136,49 }, {121,49 }, {106,49 }, { 92,49 }, { 77,49 }, { 62,49 }, { 48,49 }, { 33,49 }, { 9,49 }, + {196,38 }, {173,38 }, {158,38 }, {143,38 }, {129,38 }, {114,38 }, { 99,38 }, { 84,38 }, { 70,38 }, { 55,38 }, { 40,38 }, { 26,38 }, { 6,38 }, + {224,26 }, {202,26 }, {184,26 }, {169,26 }, {154,26 }, {140,26 }, {125,26 }, {110,26 }, { 95,26 }, { 81,26 }, { 66,26 }, { 51,26 }, { 37,26 }, { 22,26 }, { 4,26 }, + {224,15 }, {198,15 }, {176,15 }, {162,15 }, {147,15 }, {132,15 }, {118,15 }, {103,15 }, { 88,15 }, { 73,15 }, { 59,15 }, { 44,15 }, { 29,15 }, { 15,15 }, { 0,15 }, + {224,0 }, {206,0 }, {187,0 }, {173,0 }, {158,0 }, {143,0 }, {125,0 }, {110,0 }, { 95,0 }, { 81,0 }, { 62,0 }, { 48,0 }, { 33,0 }, { 18,0 }, { 0,0 }, + // underglow + { 0,0 }, { 45,0 }, { 90,0 }, {134,0 }, {179,0 }, {224,0 }, + {224,32 }, + {224,64 }, {179,64 }, {134,64 }, { 90,64 }, { 45,64 }, { 0,64 }, + { 0,32 } +}, { + /* NB: Reversed order */ + 4, 4, 4, 4, 4, 1, 4, 4, 4, + 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, + 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, + 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, + 4, 4, 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, 4, 4, + // + 2, 2, 2, 2, 2, 2, + 2, + 2, 2, 2, 2, 2, 2, + 2 +} }; + +#endif diff --git a/keyboards/idobao/id80/v3/ansi/keyboard.json b/keyboards/idobao/id80/v3/ansi/keyboard.json index a366289a1f..0ab369fb5d 100644 --- a/keyboards/idobao/id80/v3/ansi/keyboard.json +++ b/keyboards/idobao/id80/v3/ansi/keyboard.json @@ -53,102 +53,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [3, 0], "x": 224, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 209, "y": 64, "flags": 4}, - {"matrix": [5, 0], "x": 195, "y": 64, "flags": 4}, - {"matrix": [7, 0], "x": 173, "y": 61, "flags": 4}, - {"matrix": [8, 0], "x": 151, "y": 61, "flags": 4}, - {"matrix": [6, 0], "x": 94, "y": 61, "flags": 1}, - {"matrix": [2, 0], "x": 39, "y": 61, "flags": 4}, - {"matrix": [1, 0], "x": 20, "y": 61, "flags": 4}, - {"matrix": [0, 0], "x": 2, "y": 61, "flags": 4}, - {"matrix": [3, 6], "x": 209, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 185, "y": 49, "flags": 4}, - {"matrix": [5, 6], "x": 165, "y": 49, "flags": 1}, - {"matrix": [7, 6], "x": 151, "y": 49, "flags": 1}, - {"matrix": [8, 6], "x": 136, "y": 49, "flags": 1}, - {"matrix": [8, 1], "x": 121, "y": 49, "flags": 1}, - {"matrix": [7, 1], "x": 106, "y": 49, "flags": 1}, - {"matrix": [6, 1], "x": 92, "y": 49, "flags": 1}, - {"matrix": [5, 1], "x": 77, "y": 49, "flags": 1}, - {"matrix": [4, 1], "x": 62, "y": 49, "flags": 1}, - {"matrix": [3, 1], "x": 48, "y": 49, "flags": 1}, - {"matrix": [2, 1], "x": 33, "y": 49, "flags": 1}, - {"matrix": [0, 1], "x": 9, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 196, "y": 38, "flags": 4}, - {"matrix": [5, 7], "x": 173, "y": 38, "flags": 1}, - {"matrix": [7, 7], "x": 158, "y": 38, "flags": 1}, - {"matrix": [8, 7], "x": 143, "y": 38, "flags": 1}, - {"matrix": [8, 2], "x": 129, "y": 38, "flags": 1}, - {"matrix": [7, 2], "x": 114, "y": 38, "flags": 1}, - {"matrix": [6, 2], "x": 99, "y": 38, "flags": 1}, - {"matrix": [5, 2], "x": 84, "y": 38, "flags": 1}, - {"matrix": [4, 2], "x": 70, "y": 38, "flags": 1}, - {"matrix": [3, 2], "x": 55, "y": 38, "flags": 1}, - {"matrix": [2, 2], "x": 40, "y": 38, "flags": 1}, - {"matrix": [1, 2], "x": 26, "y": 38, "flags": 1}, - {"matrix": [0, 2], "x": 6, "y": 38, "flags": 4}, - {"matrix": [2, 8], "x": 224, "y": 26, "flags": 4}, - {"matrix": [3, 8], "x": 202, "y": 26, "flags": 1}, - {"matrix": [4, 8], "x": 184, "y": 26, "flags": 1}, - {"matrix": [5, 8], "x": 169, "y": 26, "flags": 1}, - {"matrix": [7, 8], "x": 154, "y": 26, "flags": 1}, - {"matrix": [8, 8], "x": 140, "y": 26, "flags": 1}, - {"matrix": [8, 3], "x": 125, "y": 26, "flags": 1}, - {"matrix": [7, 3], "x": 110, "y": 26, "flags": 1}, - {"matrix": [6, 3], "x": 95, "y": 26, "flags": 1}, - {"matrix": [5, 3], "x": 81, "y": 26, "flags": 1}, - {"matrix": [4, 3], "x": 66, "y": 26, "flags": 1}, - {"matrix": [3, 3], "x": 51, "y": 26, "flags": 1}, - {"matrix": [2, 3], "x": 37, "y": 26, "flags": 1}, - {"matrix": [1, 3], "x": 22, "y": 26, "flags": 1}, - {"matrix": [0, 3], "x": 4, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 224, "y": 15, "flags": 4}, - {"matrix": [6, 9], "x": 198, "y": 15, "flags": 4}, - {"matrix": [4, 9], "x": 176, "y": 15, "flags": 1}, - {"matrix": [5, 9], "x": 162, "y": 15, "flags": 1}, - {"matrix": [7, 9], "x": 147, "y": 15, "flags": 1}, - {"matrix": [8, 9], "x": 132, "y": 15, "flags": 1}, - {"matrix": [8, 4], "x": 118, "y": 15, "flags": 1}, - {"matrix": [7, 4], "x": 103, "y": 15, "flags": 1}, - {"matrix": [6, 4], "x": 88, "y": 15, "flags": 1}, - {"matrix": [5, 4], "x": 73, "y": 15, "flags": 1}, - {"matrix": [4, 4], "x": 59, "y": 15, "flags": 1}, - {"matrix": [3, 4], "x": 44, "y": 15, "flags": 1}, - {"matrix": [2, 4], "x": 29, "y": 15, "flags": 1}, - {"matrix": [1, 4], "x": 15, "y": 15, "flags": 1}, - {"matrix": [0, 4], "x": 0, "y": 15, "flags": 1}, - {"matrix": [2, 10], "x": 224, "y": 0, "flags": 4}, - {"matrix": [6, 10], "x": 206, "y": 0, "flags": 4}, - {"matrix": [3, 10], "x": 187, "y": 0, "flags": 4}, - {"matrix": [4, 10], "x": 173, "y": 0, "flags": 4}, - {"matrix": [5, 10], "x": 158, "y": 0, "flags": 4}, - {"matrix": [7, 10], "x": 143, "y": 0, "flags": 4}, - {"matrix": [8, 5], "x": 125, "y": 0, "flags": 4}, - {"matrix": [7, 5], "x": 110, "y": 0, "flags": 4}, - {"matrix": [6, 5], "x": 95, "y": 0, "flags": 4}, - {"matrix": [5, 5], "x": 81, "y": 0, "flags": 4}, - {"matrix": [4, 5], "x": 62, "y": 0, "flags": 4}, - {"matrix": [3, 5], "x": 48, "y": 0, "flags": 4}, - {"matrix": [2, 5], "x": 33, "y": 0, "flags": 4}, - {"matrix": [1, 5], "x": 18, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 0, "y": 0, "flags": 4}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 45, "y": 0, "flags": 2}, - {"x": 90, "y": 0, "flags": 2}, - {"x": 134, "y": 0, "flags": 2}, - {"x": 179, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 32, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 179, "y": 64, "flags": 2}, - {"x": 134, "y": 64, "flags": 2}, - {"x": 90, "y": 64, "flags": 2}, - {"x": 45, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 0, "y": 32, "flags": 2} - ], "max_brightness": 180, "sleep": true }, diff --git a/keyboards/idobao/id87/v2/keyboard.json b/keyboards/idobao/id87/v2/keyboard.json index 1b7d428dda..ad6641f954 100644 --- a/keyboards/idobao/id87/v2/keyboard.json +++ b/keyboards/idobao/id87/v2/keyboard.json @@ -56,111 +56,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"x": 0, "y": 64, "flags": 2}, - {"x": 37, "y": 64, "flags": 2}, - {"x": 75, "y": 64, "flags": 2}, - {"x": 112, "y": 64, "flags": 2}, - {"x": 149, "y": 64, "flags": 2}, - {"x": 187, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 224, "y": 32, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 187, "y": 0, "flags": 2}, - {"x": 149, "y": 0, "flags": 2}, - {"x": 112, "y": 0, "flags": 2}, - {"x": 75, "y": 0, "flags": 2}, - {"x": 37, "y": 0, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 0, "y": 32, "flags": 2}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 34, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 83, "y": 64, "flags": 4}, - {"matrix": [5, 8], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 7], "x": 148, "y": 64, "flags": 1}, - {"matrix": [5, 4], "x": 164, "y": 64, "flags": 1}, - {"matrix": [5, 3], "x": 180, "y": 64, "flags": 1}, - {"matrix": [10, 6], "x": 198, "y": 64, "flags": 1}, - {"matrix": [10, 2], "x": 211, "y": 64, "flags": 1}, - {"matrix": [10, 1], "x": 224, "y": 64, "flags": 1}, - {"matrix": [9, 2], "x": 211, "y": 52, "flags": 1}, - {"matrix": [10, 4], "x": 170, "y": 52, "flags": 1}, - {"matrix": [10, 5], "x": 146, "y": 52, "flags": 4}, - {"matrix": [10, 7], "x": 133, "y": 52, "flags": 4}, - {"matrix": [10, 8], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 0], "x": 8, "y": 52, "flags": 1}, - {"matrix": [3, 0], "x": 5, "y": 40, "flags": 1}, - {"matrix": [3, 1], "x": 23, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 40, "flags": 4}, - {"matrix": [9, 8], "x": 127, "y": 40, "flags": 4}, - {"matrix": [9, 7], "x": 140, "y": 40, "flags": 4}, - {"matrix": [9, 5], "x": 153, "y": 40, "flags": 4}, - {"matrix": [9, 3], "x": 174, "y": 40, "flags": 1}, - {"matrix": [8, 1], "x": 224, "y": 27, "flags": 1}, - {"matrix": [8, 2], "x": 211, "y": 27, "flags": 1}, - {"matrix": [8, 6], "x": 198, "y": 27, "flags": 1}, - {"matrix": [8, 3], "x": 179, "y": 27, "flags": 4}, - {"matrix": [8, 4], "x": 162, "y": 27, "flags": 4}, - {"matrix": [8, 5], "x": 149, "y": 27, "flags": 4}, - {"matrix": [8, 7], "x": 136, "y": 27, "flags": 4}, - {"matrix": [8, 8], "x": 123, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 110, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 97, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 84, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 58, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 27, "flags": 4}, - {"matrix": [2, 1], "x": 19, "y": 27, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 13, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 15, "flags": 4}, - {"matrix": [7, 8], "x": 117, "y": 15, "flags": 4}, - {"matrix": [7, 0], "x": 130, "y": 15, "flags": 4}, - {"matrix": [7, 7], "x": 143, "y": 15, "flags": 4}, - {"matrix": [7, 5], "x": 156, "y": 15, "flags": 4}, - {"matrix": [7, 3], "x": 175, "y": 15, "flags": 1}, - {"matrix": [7, 6], "x": 198, "y": 15, "flags": 1}, - {"matrix": [7, 2], "x": 211, "y": 15, "flags": 1}, - {"matrix": [7, 1], "x": 224, "y": 15, "flags": 1}, - {"matrix": [6, 1], "x": 224, "y": 0, "flags": 1}, - {"matrix": [6, 2], "x": 211, "y": 0, "flags": 1}, - {"matrix": [6, 6], "x": 198, "y": 0, "flags": 1}, - {"matrix": [6, 3], "x": 182, "y": 0, "flags": 1}, - {"matrix": [6, 4], "x": 169, "y": 0, "flags": 1}, - {"matrix": [6, 5], "x": 156, "y": 0, "flags": 1}, - {"matrix": [6, 7], "x": 143, "y": 0, "flags": 1}, - {"matrix": [6, 8], "x": 123, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 97, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 65, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 39, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 26, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1} - ], "max_brightness": 180, "sleep": true }, diff --git a/keyboards/idobao/id87/v2/v2.c b/keyboards/idobao/id87/v2/v2.c new file mode 100644 index 0000000000..7992fb6295 --- /dev/null +++ b/keyboards/idobao/id87/v2/v2.c @@ -0,0 +1,83 @@ +// Copyright 2022 vinorodrigues (@vinorodrigues) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#define __ NO_LED + +#if defined(RGB_MATRIX_ENABLE) + +/* Under-, Per-Key + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │102│ │101│100│99 │98 │ │97 │96 │95 │94 │ │93 │92 │91 │90 │ │89 │88 │87 │ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ + * │70 │71 │72 │73 │74 │75 │76 │77 │78 │79 │80 │81 │82 │ 83 │ │84 │85 │86 │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ + * │ 69 │68 │67 │66 │65 │64 │63 │62 │61 │60 │59 │58 │57 │ 56 │ │55 │54 │53 │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ + * │ 40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │50 │51 │ 52 │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ + * │ 39 │38 │37 │36 │35 │34 │33 │32 │31 │30 │29 │ 28 │ │27 │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ + * │ 16 │ 17 │ 18 │ 19 │ 20 │ 21 │ 22 │ 23 │ │24 │25 │26 │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + * + * Underglow (as seen from top) + * ┌───┬───┬───┬───┬───┬───┬───┐ + * │14 │13 │12 │11 │10 │ 9 │ 8 │ + * ├───┼───┴───┴───┴───┴───┼───┤ + * │15 │ │ 7 │ + * ├───┼───┬───┬───┬───┬───┼───┤ + * │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ + * └───┴───┴───┴───┴───┴───┴───┘ +*/ +led_config_t g_led_config = { { + // Key Matrix to LED Index + // partially generated from: https://xelus.netlify.app/guides/KLE_to_RGB_parser & CSV Excel formula + + { 102, __, 101, 100, 99, 98, 97, 96, 95 }, + { 70, 71, 72, 73, 74, 75, 76, 77, 78 }, + { 69, 68, 67, 66, 65, 64, 63, 62, 61 }, + { 40, 41, 42, 43, 44, 45, 46, 47, 48 }, + { 39, __, 38, 37, 36, 35, 34, 33, 32 }, + { 16, 17, 18, 23, 22, __, 19, 21, 20 }, + { __, 87, 88, 90, 91, 92, 89, 93, 94 }, + { 80, 86, 85, 83, __, 82, 84, 81, 79 }, + { __, 53, 54, 56, 57, 58, 55, 59, 60 }, + { __, __, 27, 52, __, 51, __, 50, 49 }, + { __, 26, 25, __, 28, 29, 24, 30, 31 } +}, { + // LED Index to Physical Position + // generated from: https://xelus.netlify.app/guides/KLE_to_RGB_parser + // underglow + /* colors are pushed to the edge as only the edges can be seen */ + { 0,64 }, { 37,64 }, { 75,64 }, {112,64 }, {149,64 }, {187,64 }, {224,64 }, + {224,32 }, + {224,0 }, {187,0 }, {149,0 }, {112,0 }, { 75,0 }, { 37,0 }, { 0,0 }, + { 0,32 }, + // under-, per-key + /* pattern is complex; starts at btm-lft, zig-zags up, and ends top-lft */ + { 2,64 }, { 18,64 }, { 34,64 }, { 83,64 }, {131,64 }, {148,64 }, {164,64 }, {180,64 }, {198,64 }, {211,64 }, {224,64 }, // lf-2-rt, btm + {211,52 }, {170,52 }, {146,52 }, {133,52 }, {120,52 }, {107,52 }, { 94,52 }, { 81,52 }, { 68,52 }, { 55,52 }, { 42,52 }, { 29,52 }, { 8,52 }, // rt-2-lf** + { 5,40 }, { 23,40 }, { 36,40 }, { 49,40 }, { 62,40 }, { 75,40 }, { 88,40 }, {101,40 }, {114,40 }, {127,40 }, {140,40 }, {153,40 }, {174,40 }, // lf-2-rt + {224,27 }, {211,27 }, {198,27 }, {179,27 }, {162,27 }, {149,27 }, {136,27 }, {123,27 }, {110,27 }, { 97,27 }, { 84,27 }, { 71,27 }, { 58,27 }, { 45,27 }, { 32,27 }, { 19,27 }, { 3,27 }, // rt-2-lf** + { 0,15 }, { 13,15 }, { 26,15 }, { 39,15 }, { 52,15 }, { 65,15 }, { 78,15 }, { 91,15 }, {104,15 }, {117,15 }, {130,15 }, {143,15 }, {156,15 }, {175,15 }, {198,15 }, {211,15 }, {224,15 }, // lf-2-rt + {224,0 }, {211,0 }, {198,0 }, {182,0 }, {169,0 }, {156,0 }, {143,0 }, {123,0 }, {110,0 }, { 97,0 }, { 84,0 }, { 65,0 }, { 52,0 }, { 39,0 }, { 26,0 }, { 0,0 }, // rt-2-lf**, top +}, { + // LED Index to Flag + // underglow + 2, 2, 2, 2, 2, 2, 2, + 2, + 2, 2, 2, 2, 2, 2, 2, + 2, + // under-, per-key + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 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, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +} }; + +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/idobao/montex/v1rgb/keyboard.json b/keyboards/idobao/montex/v1rgb/keyboard.json index affe87fd1f..1c5252bbea 100755 --- a/keyboards/idobao/montex/v1rgb/keyboard.json +++ b/keyboards/idobao/montex/v1rgb/keyboard.json @@ -33,39 +33,6 @@ "solid_splash": true }, "driver": "ws2812", - "layout": [ - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"matrix": [0, 2], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 56, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 84, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 168, "y": 64, "flags": 4}, - {"matrix": [5, 3], "x": 224, "y": 58, "flags": 4}, - {"matrix": [4, 3], "x": 168, "y": 41, "flags": 4}, - {"matrix": [4, 2], "x": 112, "y": 41, "flags": 4}, - {"matrix": [4, 1], "x": 56, "y": 41, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 41, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 29, "flags": 4}, - {"matrix": [3, 1], "x": 56, "y": 29, "flags": 4}, - {"matrix": [3, 2], "x": 112, "y": 29, "flags": 4}, - {"matrix": [3, 3], "x": 168, "y": 29, "flags": 4}, - {"matrix": [2, 4], "x": 224, "y": 35, "flags": 4}, - {"matrix": [2, 3], "x": 168, "y": 29, "flags": 4}, - {"matrix": [2, 2], "x": 112, "y": 29, "flags": 4}, - {"matrix": [2, 1], "x": 56, "y": 29, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 29, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 17, "flags": 4}, - {"matrix": [1, 1], "x": 56, "y": 17, "flags": 4}, - {"matrix": [1, 2], "x": 112, "y": 17, "flags": 4}, - {"matrix": [1, 3], "x": 168, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 224, "y": 17, "flags": 4}, - {"matrix": [0, 4], "x": 224, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 168, "y": 0, "flags": 1} - ], "max_brightness": 170 }, "features": { diff --git a/keyboards/idobao/montex/v1rgb/v1rgb.c b/keyboards/idobao/montex/v1rgb/v1rgb.c new file mode 100755 index 0000000000..b70067cfcf --- /dev/null +++ b/keyboards/idobao/montex/v1rgb/v1rgb.c @@ -0,0 +1,58 @@ +// Copyright 2022 peepeetee (@peepeetee) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE + +/* WS2812 indices always start at 0 + * underglow = 0-3 + * note: starting point of 4 and jump from 6 to 7 + * ┌───┌───┐───┬───┬───┐ + * │ 6 │ 5 │ 4 │30 │29 │ + * ├───┼───┘───┼───┼───┤ + * │24 │25 │26 │27 │28 │ + * ├───┼───┼───┼───┼───┤ + * │23 │22 │21 │20 │19 │ + * ├───┼───┼───┼───┤ │ + * │15 │16 │17 │18 │ │ + * ├───┼───┼───┼───┤───┤ + * │14 │13 │12 │11 │10 │ + * ├───┼───┴───┼───┤ │ + * │ 7 │ 8 │ 9 │ │ + * └───┴───────┴───┘───┘ + */ + +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 6, 5, 4, 30, 29}, + { 24, 25, 26, 27, 28}, + { 23, 22, 21, 20, 19}, + { 15, 16, 17, 18, NO_LED}, + { 14, 13, 12, 11, NO_LED}, + { 7, 8, 9, 10, NO_LED} +}, { + // LED Index to Physical Position + /* underglow: because this is under the kb, you want the colors on the edge (corners) of the acrylic plate */ + { 224,0 }, { 224,64}, { 0,64 }, { 0,0 }, // 0-3 (underglow) + /* per-key: origins generated from https://xelus.netlify.app/guides/KLE_to_RGB_parser */ + { 112,0 }, { 56,0 }, { 0,0 }, /* ---- */ /* ---- */ // 4-6 (top row middle to left) + { 0,64 }, { 84,64 }, { 168,64 }, // 7-9 (jump to bottom left) + { 224,58 }, { 168,41 }, { 112,41 }, { 56,41 }, { 0,41 }, // 10-14 (flow Z pattern upwards...) + { 0,29 }, { 56,29 }, { 112,29 }, { 168,29 }, // 15-18 + { 224,35 }, { 168,29 }, { 112,29 }, { 56,29 }, { 0,29 }, // 19-23 + { 0,17 }, { 56,17 }, { 112,17 }, { 168,17 }, { 224,17 }, // 24-28 + /* ---- */ /* ---- */ /* ---- */ { 224,0 }, { 168,0 } // 29-30 (end at top) +}, { + // LED Index to Flag + 2, 2, 2, 2, // 0 1 2 3 (underglow) + 1, 1, 1, // 4 5 6 + 4, 4, 4, 4, // 7 - 10 + 4, 4, 4, 4, //11 - 14 + 4, 4, 4, 4, //15 - 18 + 4, 4, 4, 4, 4, //19 - 23 + 4, 4, 4, 4, 4, //24 - 28 + 1, 1 //29 30 +} }; + +#endif diff --git a/keyboards/idobao/montex/v2/config.h b/keyboards/idobao/montex/v2/config.h new file mode 100755 index 0000000000..548f3f62e7 --- /dev/null +++ b/keyboards/idobao/montex/v2/config.h @@ -0,0 +1,28 @@ +// Copyright 2022 IBNobody (@IBNobody) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#if defined(RGB_MATRIX_ENABLE) + #ifndef ID27_DISABLE_UNDERGLOW + #define RGB_MATRIX_LED_COUNT 31 // The number of LEDs connected + #else + #define RGB_MATRIX_LED_COUNT 27 // -4 disabled underglow LEDs + #endif +#endif // RGB_MATRIX_ENABLE + +/* ----------------------- + * Feature disable options + * These options are also useful to firmware size reduction. + * ----------------------- */ + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +// #define NO_ACTION_LAYER +// #define NO_ACTION_TAPPING +// #define NO_ACTION_ONESHOT diff --git a/keyboards/idobao/montex/v2/keyboard.json b/keyboards/idobao/montex/v2/keyboard.json index 0832ed8729..319f46a459 100755 --- a/keyboards/idobao/montex/v2/keyboard.json +++ b/keyboards/idobao/montex/v2/keyboard.json @@ -41,39 +41,6 @@ "solid_splash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 4], "x": 224, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 168, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 56, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 17, "flags": 4}, - {"matrix": [1, 1], "x": 56, "y": 17, "flags": 4}, - {"matrix": [1, 2], "x": 112, "y": 17, "flags": 4}, - {"matrix": [1, 3], "x": 168, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 224, "y": 17, "flags": 4}, - {"matrix": [2, 4], "x": 224, "y": 35, "flags": 4}, - {"matrix": [2, 3], "x": 168, "y": 29, "flags": 4}, - {"matrix": [2, 2], "x": 112, "y": 29, "flags": 4}, - {"matrix": [2, 1], "x": 56, "y": 29, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 29, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 41, "flags": 4}, - {"matrix": [3, 1], "x": 56, "y": 41, "flags": 4}, - {"matrix": [3, 2], "x": 112, "y": 41, "flags": 4}, - {"matrix": [3, 3], "x": 168, "y": 41, "flags": 4}, - {"matrix": [5, 3], "x": 224, "y": 58, "flags": 4}, - {"matrix": [4, 3], "x": 168, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 112, "y": 52, "flags": 4}, - {"matrix": [4, 1], "x": 56, "y": 52, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 52, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 84, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 168, "y": 64, "flags": 4}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2} - ], "max_brightness": 180, "sleep": true }, diff --git a/keyboards/idobao/montex/v2/post_rules.mk b/keyboards/idobao/montex/v2/post_rules.mk new file mode 100644 index 0000000000..f2d43fa6ac --- /dev/null +++ b/keyboards/idobao/montex/v2/post_rules.mk @@ -0,0 +1,8 @@ +# some (if not most) Montex have a solid back plate, +# this enables switching off the bottom facing LEDs +# Usage: `make idobao/montex/v2:default UNDERGLOW=off` + +UNDERGLOW ?= yes +ifneq ($(strip $(UNDERGLOW)), yes) + OPT_DEFS += -DID27_DISABLE_UNDERGLOW +endif diff --git a/keyboards/idobao/montex/v2/v2.c b/keyboards/idobao/montex/v2/v2.c new file mode 100755 index 0000000000..ad6e32a692 --- /dev/null +++ b/keyboards/idobao/montex/v2/v2.c @@ -0,0 +1,82 @@ +// Copyright 2022 IBNobody (@IBNobody) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#define __ NO_LED + +#ifdef RGB_MATRIX_ENABLE + +/* Under-, Per-key + * ┌───┬───┬───┬───┬───┐ + * │ 4 │ 3 │ 2 │ 1 │ 0 │ + * ├───┼───┼───┼───┼───┤ + * │ 5 │ 6 │ 7 │ 8 │ 9 │ + * ├───┼───┼───┼───┼───┤ + * │14 │13 │12 │11 │ │ + * ├───┼───┼───┼───┤10 │ + * │15 │16 │17 │18 │ │ + * ├───┼───┼───┼───┼───┤ + * │23 │22 │21 │20 │ │ + * ├───┼───┴───┼───┤19 │ + * │24 │ 25 │26 │ │ + * └───┴───────┴───┴───┘ + * + * Underglow (from top / [Esc] = top left) + * ┌─────────┬─────────┐ + * │ │ │ + * │ │ │ + * │ 29 │ 30 │ + * │ │ │ + * │ │ │ + * ├─────────┼─────────┤ + * │ │ │ + * │ │ │ + * │ 28 │ 27 │ + * │ │ │ + * │ │ │ + * └─────────┴─────────┘ + */ + +led_config_t g_led_config = { { + // Key Matrix to LED Index + // Montex v2 WS2812 are laid in a Z-shape with index 0 = top-right + // Based on: https://xelus.netlify.app/guides/KLE_to_RGB_parser + { 4, 3, 2, 1, 0}, + { 5, 6, 7, 8, 9}, + { 14, 13, 12, 11, 10}, + { 15, 16, 17, 18, __}, + { 23, 22, 21, 20, __}, + { 24, 25, 26, 19, __} +}, { + // LED Index to Physical Position + // per-key + // Based on: https://xelus.netlify.app/guides/KLE_to_RGB_parser + {224,0 }, {168,0 }, {112,0 }, { 56,0 }, { 0,0 }, // top row + { 0,17 }, { 56,17 }, {112,17 }, {168,17 }, {224,17 }, // num-lk & /*- (reversed) + {224,35 }, {168,29 }, {112,29 }, { 56,29 }, { 0,29 }, // 789+ + { 0,41 }, { 56,41 }, {112,41 }, {168,41 }, // 456 (reversed) + {224,58 }, {168,52 }, {112,52 }, { 56,52 }, // 123 + { 0,52 }, { 0,64 }, { 84,64 }, {168,64 } // 0. & enter (reversed) + // underglow LEDs (positions pushed to nearest edge to match edge key colors) + #ifndef ID27_DISABLE_UNDERGLOW + , {224,64 }, { 0,64 }, + { 0,0 }, { 224,0 } + #endif +}, { + // LED Index to Flag + // LED_FLAG_MODIFIER 0x01, LED_FLAG_UNDERGLOW 0x02, LED_FLAG_KEYLIGHT 0x04, LED_FLAG_INDICATOR 0x08 + // per-key + 1, 1, 1, 1, 1, + 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 4 + // underglow + #ifndef ID27_DISABLE_UNDERGLOW + , 2, 2, 2, 2 + #endif +} }; + +#endif diff --git a/keyboards/idyllic/tinny50_rgb/keyboard.json b/keyboards/idyllic/tinny50_rgb/keyboard.json index e3d44714ab..4d3cd320dd 100644 --- a/keyboards/idyllic/tinny50_rgb/keyboard.json +++ b/keyboards/idyllic/tinny50_rgb/keyboard.json @@ -59,39 +59,7 @@ "default": { "val": 223 }, - "driver": "ws2812", - "layout": [ - {"x": 126, "y": 64, "flags": 2}, - {"x": 108, "y": 64, "flags": 2}, - {"x": 90, "y": 64, "flags": 2}, - {"x": 72, "y": 64, "flags": 2}, - {"x": 54, "y": 64, "flags": 2}, - {"x": 36, "y": 64, "flags": 2}, - {"x": 18, "y": 64, "flags": 2}, - {"x": 0, "y": 52, "flags": 2}, - {"x": 0, "y": 39, "flags": 2}, - {"x": 0, "y": 26, "flags": 2}, - {"x": 0, "y": 13, "flags": 2}, - {"x": 18, "y": 0, "flags": 2}, - {"x": 36, "y": 0, "flags": 2}, - {"x": 54, "y": 0, "flags": 2}, - {"x": 72, "y": 0, "flags": 2}, - {"x": 90, "y": 0, "flags": 2}, - {"x": 108, "y": 0, "flags": 2}, - {"x": 126, "y": 0, "flags": 2}, - {"x": 144, "y": 0, "flags": 2}, - {"x": 162, "y": 0, "flags": 2}, - {"x": 180, "y": 0, "flags": 2}, - {"x": 198, "y": 0, "flags": 2}, - {"x": 224, "y": 13, "flags": 2}, - {"x": 224, "y": 26, "flags": 2}, - {"x": 224, "y": 39, "flags": 2}, - {"x": 224, "y": 52, "flags": 2}, - {"x": 198, "y": 64, "flags": 2}, - {"x": 180, "y": 64, "flags": 2}, - {"x": 162, "y": 64, "flags": 2}, - {"x": 144, "y": 64, "flags": 2} - ] + "driver": "ws2812" }, "ws2812": { "pin": "GP10", diff --git a/keyboards/idyllic/tinny50_rgb/readme.md b/keyboards/idyllic/tinny50_rgb/readme.md index fbe144583f..8529433a1a 100644 --- a/keyboards/idyllic/tinny50_rgb/readme.md +++ b/keyboards/idyllic/tinny50_rgb/readme.md @@ -24,4 +24,4 @@ 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 both the `BOOT` and `RESET` buttons at the same time -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/idyllic/tinny50_rgb/tinny50_rgb.c b/keyboards/idyllic/tinny50_rgb/tinny50_rgb.c new file mode 100644 index 0000000000..d8b06b8fb6 --- /dev/null +++ b/keyboards/idyllic/tinny50_rgb/tinny50_rgb.c @@ -0,0 +1,45 @@ +/* +Copyright 2022 Zykrah + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + // Key Matrix to LED Index + {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} + }, { + // LED Index to Physical Position + {150, 64}, {130, 64}, {110, 64}, { 90, 64}, { 70, 64}, { 50, 64}, { 30, 64}, + { 0, 52}, { 0, 39}, { 0, 26}, { 0, 13}, + { 30, 0}, { 50, 0}, { 70, 0}, { 90, 0}, {110, 0}, {130, 0}, {150, 0}, {170, 0}, {190, 0}, {210, 0}, {230, 0}, + {255, 13}, {255, 26}, {255, 39}, {255, 52}, + {230, 64}, {210, 64}, {190, 64}, {170, 64} + }, { + // LED Index to Flag + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // UNDERGLOW + 2, 2, 2, 2, // UNDERGLOW + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // UNDERGLOW + 2, 2, 2, 2, // UNDERGLOW + } +}; +#endif + diff --git a/keyboards/illusion/rosa/keymaps/default/keymap.c b/keyboards/illusion/rosa/keymaps/default/keymap.c index 16b2a53849..7b6e13fb69 100644 --- a/keyboards/illusion/rosa/keymaps/default/keymap.c +++ b/keyboards/illusion/rosa/keymaps/default/keymap.c @@ -30,4 +30,4 @@ 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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ) -}; +}; \ No newline at end of file diff --git a/keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c b/keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c index 04a5a99187..14b9ef10e6 100644 --- a/keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c +++ b/keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c @@ -37,4 +37,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, 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/illusion/rosa/keymaps/split_rshift/keymap.c b/keyboards/illusion/rosa/keymaps/split_rshift/keymap.c index 2b66ecdd3e..072739c306 100644 --- a/keyboards/illusion/rosa/keymaps/split_rshift/keymap.c +++ b/keyboards/illusion/rosa/keymaps/split_rshift/keymap.c @@ -37,4 +37,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, 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/ilumkb/simpler61/keyboard.json b/keyboards/ilumkb/simpler61/keyboard.json index eb98400603..10e182dac8 100644 --- a/keyboards/ilumkb/simpler61/keyboard.json +++ b/keyboards/ilumkb/simpler61/keyboard.json @@ -43,69 +43,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 216, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4}, - {"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": 4}, - {"matrix": [2, 0], "x": 2, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 114, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 130, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 162, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 178, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 204, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 68, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 84, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 100, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 116, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 132, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 148, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 164, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 180, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 202, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 4, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 24, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 44, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 180, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 200, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 220, "y": 64, "flags": 4} - ], "led_process_limit": 4, "led_flush_limit": 26, "sleep": true diff --git a/keyboards/ilumkb/simpler61/simpler61.c b/keyboards/ilumkb/simpler61/simpler61.c index afff4dbc36..99cefc7844 100644 --- a/keyboards/ilumkb/simpler61/simpler61.c +++ b/keyboards/ilumkb/simpler61/simpler61.c @@ -84,4 +84,27 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW7_CS30, SW7_CS29, SW7_CS28}, {0, SW5_CS30, SW5_CS29, SW5_CS28}, }; + +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, NO_LED, 40}, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, NO_LED, 53}, + { 54, 55, 56, NO_LED, NO_LED, 57, NO_LED, NO_LED, NO_LED, NO_LED, 58, 59, NO_LED, 60}, + }, { + {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}, {24, 16}, {40, 16}, {56, 16}, {72, 16}, {88, 16}, {104, 16}, {120, 16}, {136, 16}, {152, 16}, {168, 16}, {184, 16}, {200, 16}, {220, 16}, + {2, 32}, {28, 32}, {44, 32}, {60, 32}, {76, 32}, {92, 32}, {108, 32}, {114, 32}, {130, 32}, {146, 32}, {162, 32}, {178, 32}, {204, 32}, + {9, 48}, {36, 48}, {52, 48}, {68, 48}, {84, 48}, {100, 48}, {116, 48}, {132, 48}, {148, 48}, {164, 48}, {180, 48}, {202, 48}, {224, 48}, + {4, 64}, {24, 64}, {44, 64}, {112, 64}, {180, 64}, {200, 64}, {220, 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, + } +}; + #endif diff --git a/keyboards/ilumkb/simpler64/keyboard.json b/keyboards/ilumkb/simpler64/keyboard.json index b49c986d86..240d0d67c2 100644 --- a/keyboards/ilumkb/simpler64/keyboard.json +++ b/keyboards/ilumkb/simpler64/keyboard.json @@ -43,72 +43,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 216, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4}, - {"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": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 114, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 130, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 162, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 178, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 204, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 8, "y": 48, "flags": 4}, - {"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": 138, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 154, "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": 2, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 42, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 102, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 160, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 176, "y": 64, "flags": 4}, - {"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_process_limit": 4, "led_flush_limit": 26, "sleep": true diff --git a/keyboards/ilumkb/simpler64/simpler64.c b/keyboards/ilumkb/simpler64/simpler64.c index aa0a97fe54..21892a55f4 100644 --- a/keyboards/ilumkb/simpler64/simpler64.c +++ b/keyboards/ilumkb/simpler64/simpler64.c @@ -87,4 +87,27 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW6_CS30, SW6_CS29, SW6_CS28}, {0, SW5_CS30, SW5_CS29, SW5_CS28}, }; + +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, NO_LED, 40}, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54}, + { 55, 56, 57, NO_LED, NO_LED, 58, NO_LED, NO_LED, NO_LED, 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}, {24, 16}, {40, 16}, {56, 16}, {72, 16}, {88, 16}, {104, 16}, {120, 16}, {136, 16}, {152, 16}, {168, 16}, {184, 16}, {200, 16}, {220, 16}, + {6, 32}, {28, 32}, {44, 32}, {60, 32}, {76, 32}, {92, 32}, {108, 32}, {114, 32}, {130, 32}, {146, 32}, {162, 32}, {178, 32}, {204, 32}, + {8, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {138, 48}, {154, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48}, {224, 48}, + {2, 64}, {22, 64}, {42, 64}, {102, 64}, {160, 64}, {176, 64}, {192, 64}, {208, 64}, {224, 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, + } +}; + #endif diff --git a/keyboards/inett_studio/sqx/hotswap/hotswap.c b/keyboards/inett_studio/sqx/hotswap/hotswap.c index da9f0fd617..dc12ec4f30 100644 --- a/keyboards/inett_studio/sqx/hotswap/hotswap.c +++ b/keyboards/inett_studio/sqx/hotswap/hotswap.c @@ -114,6 +114,44 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {1, C9_16, C7_15, C6_15}, }; +led_config_t g_led_config = { + { + { 18, 19, 20, 21, 22, 23, 24, 16, 17, 36, 37, 38, 39, 40}, + { 26, 27, 28, 29, 30, 31, 25, 48, 41, 42, 43, 44, 45, 46}, + { 8, 7, 0, 32, 33, 34, 35, 49, 50, 51, 52, 53, NO_LED, 47}, + { 9, NO_LED, 10, 1, 2, 3, 4, 5, 56, 55, 57, 58, 59, 54}, + { 14, 13, 12, 11, NO_LED, NO_LED, 6, 15, NO_LED, NO_LED, 60, 61, 62, 63}, + }, + { + { 48, 32},{ 48, 48},{ 64, 48},{ 80, 48},{ 96, 48},{112, 48},{112, 64},{ 32, 32}, + { 16, 32},{ 16, 48}, { 32, 48},{ 64, 64},{ 40, 64},{ 20, 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},{ 64, 32},{ 80, 32},{ 96, 32},{112, 32}, + + {112, 0},{128, 0},{144, 0},{160, 0},{176, 0},{192, 0},{208, 0},{224, 0}, + {128, 16},{144, 16},{160, 16},{176, 16},{192, 16},{216, 16},{216, 32},{112, 16}, + + {128, 32},{144, 32},{160, 32},{176, 32},{192, 32}, {224, 48},{144, 48}, + {128, 48},{160, 48},{176, 48},{192, 48},{160, 64},{180, 64},{200, 64},{224, 64} + }, + { + 4, 4, 4, 4, 4, 4, 4, 4, + 1, 1, 4, 1, 1, 1, 1, + + 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, 1, 1, 4, + + 4, 4, 4, 4, 4, 1, 4, + 4, 4, 4, 1, 1, 1, 1, 1, + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/inett_studio/sqx/hotswap/keyboard.json b/keyboards/inett_studio/sqx/hotswap/keyboard.json index a7dd508f3f..0c28be4582 100644 --- a/keyboards/inett_studio/sqx/hotswap/keyboard.json +++ b/keyboards/inett_studio/sqx/hotswap/keyboard.json @@ -40,72 +40,6 @@ "pixel_fractal": true }, "driver": "is31fl3731", - "layout": [ - {"matrix": [2, 2], "x": 48, "y": 32, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 112, "y": 64, "flags": 4}, - {"matrix": [2, 1], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 16, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 16, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 64, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 40, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 20, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [4, 7], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 96, "y": 16, "flags": 4}, - {"matrix": [0, 5], "x": 0, "y": 16, "flags": 1}, - {"matrix": [0, 6], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 64, "y": 32, "flags": 4}, - {"matrix": [1, 4], "x": 80, "y": 32, "flags": 4}, - {"matrix": [1, 5], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 112, "y": 0, "flags": 4}, - {"matrix": [2, 5], "x": 128, "y": 0, "flags": 4}, - {"matrix": [2, 6], "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}, - {"matrix": [0, 13], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 216, "y": 16, "flags": 1}, - {"matrix": [2, 13], "x": 216, "y": 32, "flags": 1}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [2, 7], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 192, "y": 32, "flags": 4}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 192, "y": 48, "flags": 1}, - {"matrix": [4, 10], "x": 160, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 180, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 200, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1} - ], "max_brightness": 170 }, "rgblight": { diff --git a/keyboards/inett_studio/sqx/universal/keyboard.json b/keyboards/inett_studio/sqx/universal/keyboard.json index 7e207f0eb1..2c2b03bd0d 100644 --- a/keyboards/inett_studio/sqx/universal/keyboard.json +++ b/keyboards/inett_studio/sqx/universal/keyboard.json @@ -40,80 +40,6 @@ "pixel_fractal": true }, "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 32, "y": 32, "flags": 4}, - {"matrix": [0, 1], "x": 48, "y": 48, "flags": 4}, - {"matrix": [0, 2], "x": 64, "y": 48, "flags": 4}, - {"matrix": [0, 3], "x": 80, "y": 48, "flags": 4}, - {"matrix": [0, 4], "x": 96, "y": 48, "flags": 4}, - {"matrix": [0, 5], "x": 112, "y": 48, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 64, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 64, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 32, "flags": 1}, - {"matrix": [1, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [1, 2], "x": 0, "y": 48, "flags": 4}, - {"matrix": [1, 3], "x": 0, "y": 48, "flags": 4}, - {"matrix": [1, 4], "x": 16, "y": 48, "flags": 1}, - {"matrix": [1, 5], "x": 32, "y": 48, "flags": 1}, - {"matrix": [2, 3], "x": 64, "y": 64, "flags": 1}, - {"matrix": [2, 4], "x": 32, "y": 64, "flags": 4}, - {"matrix": [2, 5], "x": 16, "y": 64, "flags": 4}, - {"matrix": [2, 6], "x": 0, "y": 64, "flags": 4}, - {"matrix": [2, 2], "x": 0, "y": 0, "flags": 1}, - {"matrix": [3, 3], "x": 16, "y": 0, "flags": 4}, - {"matrix": [3, 4], "x": 32, "y": 0, "flags": 4}, - {"matrix": [3, 5], "x": 48, "y": 0, "flags": 4}, - {"matrix": [3, 6], "x": 64, "y": 0, "flags": 4}, - {"matrix": [3, 7], "x": 80, "y": 0, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 0, "flags": 4}, - {"x": 96, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 16, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 16, "flags": 4}, - {"x": 32, "y": 16, "flags": 4}, - {"matrix": [3, 0], "x": 48, "y": 16, "flags": 4}, - {"matrix": [3, 1], "x": 64, "y": 16, "flags": 4}, - {"matrix": [3, 2], "x": 80, "y": 16, "flags": 4}, - {"x": 48, "y": 32, "flags": 4}, - {"matrix": [4, 2], "x": 64, "y": 32, "flags": 4}, - {"matrix": [4, 1], "x": 80, "y": 32, "flags": 4}, - {"matrix": [4, 0], "x": 96, "y": 32, "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": 4}, - {"matrix": [0, 13], "x": 216, "y": 0, "flags": 1}, - {"x": 224, "y": 0, "flags": 1}, - {"matrix": [4, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [1, 7], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 224, "y": 16, "flags": 1}, - {"x": 224, "y": 32, "flags": 1}, - {"matrix": [2, 13], "x": 216, "y": 32, "flags": 1}, - {"matrix": [2, 7], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 208, "y": 32, "flags": 4}, - {"x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 8], "x": 128, "y": 48, "flags": 1}, - {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 192, "y": 48, "flags": 4}, - {"x": 142, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 160, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 176, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 208, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1} - ], "max_brightness": 170 }, "rgblight": { diff --git a/keyboards/inett_studio/sqx/universal/universal.c b/keyboards/inett_studio/sqx/universal/universal.c index 0f92fa3807..105e89ecc5 100644 --- a/keyboards/inett_studio/sqx/universal/universal.c +++ b/keyboards/inett_studio/sqx/universal/universal.c @@ -114,6 +114,48 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {1, C9_16, C7_15, C6_15}, }; +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, + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/inland/kb83/kb83.c b/keyboards/inland/kb83/kb83.c index 9cc1b78129..431406d008 100644 --- a/keyboards/inland/kb83/kb83.c +++ b/keyboards/inland/kb83/kb83.c @@ -164,3 +164,31 @@ bool dip_switch_update_kb(uint8_t index, bool active) { } return true; } + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + + default: + return true; + } +} diff --git a/keyboards/inland/v83p/keymaps/default/rules.mk b/keyboards/inland/v83p/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/inland/v83p/keymaps/default/rules.mk +++ b/keyboards/inland/v83p/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/input_club/k_type/k_type.c b/keyboards/input_club/k_type/k_type.c index 2fd1bd0612..c719208af1 100644 --- a/keyboards/input_club/k_type/k_type.c +++ b/keyboards/input_club/k_type/k_type.c @@ -150,6 +150,57 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 1, SW11_CS7, SW10_CS7, SW12_CS7 } }; +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, NO_LED }, + { 29, NO_LED, 30, 31, 32, 33, 34, 35, 36, 37 }, + { 38, 39, 40, 41, 42, 43, 44, 45, 46, NO_LED }, + { 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 }, + { 57, 58, 59, 60, 61, NO_LED, 62, NO_LED, 63, NO_LED }, + { 64, 65, 66, 67, 68, 69, 70, 71, 72, 73 }, + { NO_LED, 74, NO_LED, 75, 76, 77, 78, 79, 80, 81 }, + { 82, 83, 84, 85, 86, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } + }, { + // LED Index to Physical Position + // Key LED + { 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 }, { 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, 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 + 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, + + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + + // Underglow LED + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + + 2, 2, + + 2, 2, + + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + } +}; + void matrix_init_kb(void) { // put your keyboard start-up code here // runs once when the firmware starts up diff --git a/keyboards/input_club/k_type/keyboard.json b/keyboards/input_club/k_type/keyboard.json index 99ff1fe5b6..ed004335c0 100644 --- a/keyboards/input_club/k_type/keyboard.json +++ b/keyboards/input_club/k_type/keyboard.json @@ -53,128 +53,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "custom", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 26, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 39, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 65, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 79, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 92, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 105, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 118, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 131, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 144, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 158, "y": 0, "flags": 4}, - {"matrix": [1, 2], "x": 171, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 197, "y": 0, "flags": 1}, - {"matrix": [1, 4], "x": 210, "y": 0, "flags": 1}, - {"matrix": [1, 5], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 6], "x": 0, "y": 21, "flags": 1}, - {"matrix": [1, 7], "x": 13, "y": 21, "flags": 4}, - {"matrix": [1, 8], "x": 26, "y": 21, "flags": 4}, - {"matrix": [1, 9], "x": 39, "y": 21, "flags": 4}, - {"matrix": [2, 0], "x": 52, "y": 21, "flags": 4}, - {"matrix": [2, 1], "x": 65, "y": 21, "flags": 4}, - {"matrix": [2, 2], "x": 79, "y": 21, "flags": 4}, - {"matrix": [2, 3], "x": 92, "y": 21, "flags": 4}, - {"matrix": [2, 4], "x": 105, "y": 21, "flags": 4}, - {"matrix": [2, 5], "x": 118, "y": 21, "flags": 4}, - {"matrix": [2, 6], "x": 131, "y": 21, "flags": 4}, - {"matrix": [2, 7], "x": 144, "y": 21, "flags": 4}, - {"matrix": [2, 8], "x": 158, "y": 21, "flags": 4}, - {"matrix": [3, 0], "x": 171, "y": 21, "flags": 1}, - {"matrix": [3, 2], "x": 197, "y": 21, "flags": 4}, - {"matrix": [3, 3], "x": 210, "y": 21, "flags": 4}, - {"matrix": [3, 4], "x": 224, "y": 21, "flags": 4}, - {"matrix": [3, 5], "x": 0, "y": 32, "flags": 1}, - {"matrix": [3, 6], "x": 13, "y": 32, "flags": 4}, - {"matrix": [3, 7], "x": 26, "y": 32, "flags": 4}, - {"matrix": [3, 8], "x": 39, "y": 32, "flags": 4}, - {"matrix": [3, 9], "x": 52, "y": 32, "flags": 4}, - {"matrix": [4, 0], "x": 65, "y": 32, "flags": 4}, - {"matrix": [4, 1], "x": 79, "y": 32, "flags": 4}, - {"matrix": [4, 2], "x": 92, "y": 32, "flags": 4}, - {"matrix": [4, 3], "x": 105, "y": 32, "flags": 4}, - {"matrix": [4, 4], "x": 118, "y": 32, "flags": 4}, - {"matrix": [4, 5], "x": 131, "y": 32, "flags": 4}, - {"matrix": [4, 6], "x": 144, "y": 32, "flags": 4}, - {"matrix": [4, 7], "x": 158, "y": 32, "flags": 4}, - {"matrix": [4, 8], "x": 171, "y": 32, "flags": 4}, - {"matrix": [5, 0], "x": 197, "y": 32, "flags": 4}, - {"matrix": [5, 1], "x": 210, "y": 32, "flags": 4}, - {"matrix": [5, 2], "x": 224, "y": 32, "flags": 4}, - {"matrix": [5, 3], "x": 0, "y": 42, "flags": 1}, - {"matrix": [5, 4], "x": 13, "y": 42, "flags": 4}, - {"matrix": [5, 5], "x": 26, "y": 42, "flags": 4}, - {"matrix": [5, 6], "x": 39, "y": 42, "flags": 4}, - {"matrix": [5, 7], "x": 52, "y": 42, "flags": 4}, - {"matrix": [5, 8], "x": 65, "y": 42, "flags": 4}, - {"matrix": [5, 9], "x": 79, "y": 42, "flags": 4}, - {"matrix": [6, 0], "x": 92, "y": 42, "flags": 4}, - {"matrix": [6, 1], "x": 105, "y": 42, "flags": 4}, - {"matrix": [6, 2], "x": 118, "y": 42, "flags": 4}, - {"matrix": [6, 3], "x": 131, "y": 42, "flags": 4}, - {"matrix": [6, 4], "x": 144, "y": 42, "flags": 4}, - {"matrix": [6, 6], "x": 171, "y": 42, "flags": 1}, - {"matrix": [6, 8], "x": 0, "y": 53, "flags": 1}, - {"matrix": [7, 0], "x": 26, "y": 53, "flags": 4}, - {"matrix": [7, 1], "x": 39, "y": 53, "flags": 4}, - {"matrix": [7, 2], "x": 52, "y": 53, "flags": 4}, - {"matrix": [7, 3], "x": 65, "y": 53, "flags": 4}, - {"matrix": [7, 4], "x": 79, "y": 53, "flags": 4}, - {"matrix": [7, 5], "x": 92, "y": 53, "flags": 4}, - {"matrix": [7, 6], "x": 105, "y": 53, "flags": 4}, - {"matrix": [7, 7], "x": 118, "y": 53, "flags": 4}, - {"matrix": [7, 8], "x": 131, "y": 53, "flags": 4}, - {"matrix": [7, 9], "x": 144, "y": 53, "flags": 4}, - {"matrix": [8, 1], "x": 171, "y": 53, "flags": 1}, - {"matrix": [8, 3], "x": 210, "y": 53, "flags": 1}, - {"matrix": [8, 4], "x": 0, "y": 64, "flags": 1}, - {"matrix": [8, 5], "x": 13, "y": 64, "flags": 1}, - {"matrix": [8, 6], "x": 26, "y": 64, "flags": 1}, - {"matrix": [8, 7], "x": 79, "y": 64, "flags": 4}, - {"matrix": [8, 8], "x": 131, "y": 64, "flags": 1}, - {"matrix": [8, 9], "x": 144, "y": 64, "flags": 1}, - {"matrix": [9, 0], "x": 158, "y": 64, "flags": 1}, - {"matrix": [9, 1], "x": 171, "y": 64, "flags": 1}, - {"matrix": [9, 2], "x": 197, "y": 64, "flags": 1}, - {"matrix": [9, 3], "x": 210, "y": 64, "flags": 1}, - {"matrix": [9, 4], "x": 224, "y": 64, "flags": 1}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 206, "y": 64, "flags": 2}, - {"x": 189, "y": 64, "flags": 2}, - {"x": 172, "y": 64, "flags": 2}, - {"x": 155, "y": 64, "flags": 2}, - {"x": 137, "y": 64, "flags": 2}, - {"x": 120, "y": 64, "flags": 2}, - {"x": 103, "y": 64, "flags": 2}, - {"x": 86, "y": 64, "flags": 2}, - {"x": 68, "y": 64, "flags": 2}, - {"x": 51, "y": 64, "flags": 2}, - {"x": 34, "y": 64, "flags": 2}, - {"x": 17, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 0, "y": 42, "flags": 2}, - {"x": 0, "y": 21, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 17, "y": 0, "flags": 2}, - {"x": 34, "y": 0, "flags": 2}, - {"x": 51, "y": 0, "flags": 2}, - {"x": 68, "y": 0, "flags": 2}, - {"x": 86, "y": 0, "flags": 2}, - {"x": 103, "y": 0, "flags": 2}, - {"x": 120, "y": 0, "flags": 2}, - {"x": 137, "y": 0, "flags": 2}, - {"x": 155, "y": 0, "flags": 2}, - {"x": 172, "y": 0, "flags": 2}, - {"x": 189, "y": 0, "flags": 2}, - {"x": 206, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 21, "flags": 2}, - {"x": 224, "y": 42, "flags": 2} - ] + "driver": "custom" }, "features": { "bootmagic": false, diff --git a/keyboards/itstleo/itstleo40/keyboard.json b/keyboards/itstleo/itstleo40/keyboard.json index 6fb745e866..ff55e3b0ce 100644 --- a/keyboards/itstleo/itstleo40/keyboard.json +++ b/keyboards/itstleo/itstleo40/keyboard.json @@ -75,4 +75,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/itstleo/itstleo40/readme.md b/keyboards/itstleo/itstleo40/readme.md index aa48340194..b76a966509 100644 --- a/keyboards/itstleo/itstleo40/readme.md +++ b/keyboards/itstleo/itstleo40/readme.md @@ -23,4 +23,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/ivndbt/late9/readme.md b/keyboards/ivndbt/late9/readme.md index 0a8a3bb7df..8f1ae628fe 100644 --- a/keyboards/ivndbt/late9/readme.md +++ b/keyboards/ivndbt/late9/readme.md @@ -22,4 +22,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader When asked by the terminal, short with a metal wire the pins on the backside of the board highlighted as `RST` (one is the `RESET` and the other one is `GROUND`) to enter the bootloader and let the OS detects the device.\ -After installing this firmware you can use Bootmagic to enter the bootloader while plugging in your LATE-9. By default it's the button on the upper-left of the keyboard. +After installing this firmware you can use Bootmagic to enter the bootloader while plugging in your LATE-9. By default it's the button on the upper-left of the keyboard. \ No newline at end of file diff --git a/keyboards/ivndbt/late9/rev1/keymaps/default/keymap.c b/keyboards/ivndbt/late9/rev1/keymaps/default/keymap.c index fac1ca4a4e..cf38757100 100644 --- a/keyboards/ivndbt/late9/rev1/keymaps/default/keymap.c +++ b/keyboards/ivndbt/late9/rev1/keymaps/default/keymap.c @@ -81,4 +81,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LSFT(KC_7), LSFT(KC_5), LSFT(KC_6), LSFT(KC_BSLS), KC_PDOT, KC_PEQL ), -}; +}; \ No newline at end of file diff --git a/keyboards/ivndbt/ows/keyboard.json b/keyboards/ivndbt/ows/keyboard.json deleted file mode 100644 index f36c67a42e..0000000000 --- a/keyboards/ivndbt/ows/keyboard.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "keyboard_name": "OWS", - "manufacturer": "ivndbt", - "url": "https://github.com/ivndbt/obiwanstenobit", - "maintainer": "ivndbt", - "usb": { - "vid": "0x6961", - "pid": "0x3033", - "device_version": "0.1.1" - }, - "development_board": "promicro_rp2040", - "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["GP4", "GP5", "GP6", "GP8", "GP7", "GP22", "GP26", "GP21", "GP23", "GP20"], - "rows": ["GP9", "GP28", "GP27"] - }, - "features": { - "bootmagic": true, - "nkro": true, - "steno": true, - "mousekey": false, - "extrakey": true - }, - "host": { - "default": { - "nkro": true - } - }, - "stenography": { - "enabled": true, - "protocol": "geminipr" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [2, 8], "x": 0, "y": 0}, - {"matrix": [0, 9], "x": 1, "y": 0}, - {"matrix": [0, 8], "x": 2, "y": 0}, - {"matrix": [0, 7], "x": 3, "y": 0}, - {"matrix": [0, 6], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - - {"matrix": [0, 0], "x": 8, "y": 0}, - {"matrix": [0, 1], "x": 9, "y": 0}, - {"matrix": [0, 2], "x": 10, "y": 0}, - {"matrix": [0, 3], "x": 11, "y": 0}, - {"matrix": [0, 4], "x": 12, "y": 0}, - {"matrix": [2, 3], "x": 13, "y": 0}, - - {"matrix": [2, 9], "x": 0, "y": 1}, - {"matrix": [1, 9], "x": 1, "y": 1}, - {"matrix": [1, 8], "x": 2, "y": 1}, - {"matrix": [1, 7], "x": 3, "y": 1}, - {"matrix": [1, 6], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - - {"matrix": [1, 0], "x": 8, "y": 1}, - {"matrix": [1, 1], "x": 9, "y": 1}, - {"matrix": [1, 2], "x": 10, "y": 1}, - {"matrix": [1, 3], "x": 11, "y": 1}, - {"matrix": [1, 4], "x": 12, "y": 1}, - {"matrix": [2, 4], "x": 13, "y": 1}, - - {"matrix": [2, 7], "x": 3, "y": 3}, - {"matrix": [2, 6], "x": 4, "y": 3}, - {"matrix": [2, 5], "x": 5, "y": 3}, - - {"matrix": [2, 0], "x": 8, "y": 3}, - {"matrix": [2, 1], "x": 9, "y": 3}, - {"matrix": [2, 2], "x": 10, "y": 3} - ] - } - } -} diff --git a/keyboards/ivndbt/ows/keymaps/default/keymap.c b/keyboards/ivndbt/ows/keymaps/default/keymap.c deleted file mode 100644 index 19d484e952..0000000000 --- a/keyboards/ivndbt/ows/keymaps/default/keymap.c +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2026 ivndbt -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// Layers declarations -enum layers { - _PLOVER, - _LOWER, - _RAISE, - _CONTROL, - _QWERTY -}; - -#define LOWER TL_LOWR -#define RAISE TL_UPPR -#define QWERTY TG(_QWERTY) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_PLOVER] = LAYOUT( - LOWER, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR, - RAISE, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR, - STN_N1, STN_A, STN_O, STN_E, STN_U, STN_N2 - ), - -[_LOWER] = LAYOUT( - _______, _______, _______, _______, _______, KC_DEL, KC_ESC, _______, KC_UP, _______, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, KC_TAB, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, - _______, _______, _______, KC_HOME, KC_END, _______ - ), - -[_RAISE] = LAYOUT( - _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______, - _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT - ), - -[_CONTROL] = LAYOUT( - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERTY, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_RBT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - -[_QWERTY] = LAYOUT( - KC_BSPC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, QWERTY, - KC_SPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_Z, KC_ENT, - KC_X, KC_C, KC_V, KC_B, KC_N, KC_M - ) -}; diff --git a/keyboards/ivndbt/ows/keymaps/default/readme.md b/keyboards/ivndbt/ows/keymaps/default/readme.md deleted file mode 100644 index 79cd68eb08..0000000000 --- a/keyboards/ivndbt/ows/keymaps/default/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# OWS usage - -OWS is meant to be use with [Plover](https://opensteno.org/plover/) via the GeminiPR steno protocol.\ -To get started, make sure to follow the setup guide described in the [Plover Wiki](https://plover.wiki/index.php/Setting_up_a_hobbyist_writer_with_Plover) for hobbyist writers. - -For an in-depth look at its features, please visit the [project repository](https://github.com/ivndbt/obiwanstenobit). diff --git a/keyboards/ivndbt/ows/keymaps/default/rules.mk b/keyboards/ivndbt/ows/keymaps/default/rules.mk deleted file mode 100644 index 7c9bf212a6..0000000000 --- a/keyboards/ivndbt/ows/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TRI_LAYER_ENABLE = yes diff --git a/keyboards/ivndbt/ows/readme.md b/keyboards/ivndbt/ows/readme.md deleted file mode 100644 index 7cca68ebbf..0000000000 --- a/keyboards/ivndbt/ows/readme.md +++ /dev/null @@ -1,32 +0,0 @@ -# OWS - -Open-source steno keyboard with a pseudo-split layout, designed to be compact, portable, and cost-effective. - -![OWS](https://i.imgur.com/OKkenaR.jpeg "OWS v1 prototype") - -* Keyboard maintainer: [ivndbt](https://github.com/ivndbt) -* Hardware supported: Pro Micro RP2040 -* Hardware Availability: OWS is open-source, check the [project repository](https://github.com/ivndbt/obiwanstenobit) - -Make example for this keyboard (after setting up your build environment): - - make ivndbt/ows:default - -Flashing example for this keyboard: - - make ivndbt/ows: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 - -1. There are 4 ways to enter the bootloader: - - * **Physical reset button**: Double tap the `RST` button located on the back of the Controller PCB. - * **Physical boot button**: Hold the `BOOT` button as you plug the RP2040 - * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top-left key on the right-hand Main PCB) while plugging in the keyboard. - * **Keycode in layout**: Press the key assigned to `QK_BOOT` if it is available - -2. Wait for the OS to detect the device -3. Copy the `.uf2` file to the new USB disk or flash via QMK CLI -4. Wait for the keyboard to become available diff --git a/keyboards/jacky_studio/bear_65/rev1/keyboard.json b/keyboards/jacky_studio/bear_65/rev1/keyboard.json index 3181635e03..df7be71869 100644 --- a/keyboards/jacky_studio/bear_65/rev1/keyboard.json +++ b/keyboards/jacky_studio/bear_65/rev1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Bear 65", "manufacturer": "Jacky", + "url": "https://qmk.fm/keyboards", "maintainer": "qmk", "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/jacky_studio/bear_65/rev2/keyboard.json b/keyboards/jacky_studio/bear_65/rev2/keyboard.json index bfc31bb1a5..0fa471d44a 100644 --- a/keyboards/jacky_studio/bear_65/rev2/keyboard.json +++ b/keyboards/jacky_studio/bear_65/rev2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Bear65 V2", "manufacturer": "Jacky", + "url": "https://qmk.fm/keyboards", "maintainer": "qmk", "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/janus/config.h b/keyboards/janus/config.h index 605d9b9477..8f28edfb91 100644 --- a/keyboards/janus/config.h +++ b/keyboards/janus/config.h @@ -12,4 +12,4 @@ /* Double tap reset button to enter bootloader */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U \ No newline at end of file diff --git a/keyboards/janus/halconf.h b/keyboards/janus/halconf.h index 776808b278..550a6e0abf 100644 --- a/keyboards/janus/halconf.h +++ b/keyboards/janus/halconf.h @@ -6,4 +6,4 @@ #include_next #undef HAL_USE_SIO -#define HAL_USE_SIO TRUE +#define HAL_USE_SIO TRUE \ No newline at end of file diff --git a/keyboards/janus/keymaps/default/keymap.c b/keyboards/janus/keymaps/default/keymap.c index 251589ffce..351e3a3db0 100644 --- a/keyboards/janus/keymaps/default/keymap.c +++ b/keyboards/janus/keymaps/default/keymap.c @@ -47,4 +47,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { OS_LGUI, OS_LALT, OS_LSFT, OS_LCTL, XXXXXXX, KC_NUM, OS_RCTL, OS_RSFT, OS_RALT, OS_RGUI, _______, _______, _______, _______ ), -}; +}; \ No newline at end of file diff --git a/keyboards/janus/keymaps/default/readme.md b/keyboards/janus/keymaps/default/readme.md index abbcf44178..dc7534e317 100644 --- a/keyboards/janus/keymaps/default/readme.md +++ b/keyboards/janus/keymaps/default/readme.md @@ -10,4 +10,4 @@ It is inspired by [Callum's keymap](https://github.com/qmk/qmk_firmware/tree/mas * Symbol layer only contains non-shifted symbol keys. * General differences in key positions. -For simplicity's sake, the keymap uses QMK's native one shot key implementation. There are other excellent one shot implementations out there, including Callum's in the aforementioned keymap. +For simplicity's sake, the keymap uses QMK's native one shot key implementation. There are other excellent one shot implementations out there, including Callum's in the aforementioned keymap. \ No newline at end of file diff --git a/keyboards/janus/mcuconf.h b/keyboards/janus/mcuconf.h index 6e619860c3..c41253d4fb 100644 --- a/keyboards/janus/mcuconf.h +++ b/keyboards/janus/mcuconf.h @@ -6,4 +6,4 @@ #include_next #undef RP_SIO_USE_UART0 -#define RP_SIO_USE_UART0 TRUE +#define RP_SIO_USE_UART0 TRUE \ No newline at end of file diff --git a/keyboards/jaykeeb/joker/keyboard.json b/keyboards/jaykeeb/joker/keyboard.json index 68a5b1830b..b35c8c5830 100644 --- a/keyboards/jaykeeb/joker/keyboard.json +++ b/keyboards/jaykeeb/joker/keyboard.json @@ -487,4 +487,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/jaykeeb/joker/keymaps/default/keymap.c b/keyboards/jaykeeb/joker/keymaps/default/keymap.c index 3ce114ab99..a9f7194160 100644 --- a/keyboards/jaykeeb/joker/keymaps/default/keymap.c +++ b/keyboards/jaykeeb/joker/keymaps/default/keymap.c @@ -12,4 +12,4 @@ 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, KC_UP , KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_PDOT ) -}; +}; \ No newline at end of file diff --git a/keyboards/jaykeeb/joker/matrix_diagram.md b/keyboards/jaykeeb/joker/matrix_diagram.md index f8308157c1..d7b79bf97a 100644 --- a/keyboards/jaykeeb/joker/matrix_diagram.md +++ b/keyboards/jaykeeb/joker/matrix_diagram.md @@ -20,4 +20,4 @@ ┌─────┬─────┬───────────────────────────┬─────┬─────┐ │50 │51 │56 │5A │5B │ WKL └─────┴─────┴───────────────────────────┴─────┴─────┘ -``` +``` \ No newline at end of file diff --git a/keyboards/jaykeeb/skyline/keymaps/default/keymap.c b/keyboards/jaykeeb/skyline/keymaps/default/keymap.c index caee0ba44e..78cf4b4c44 100644 --- a/keyboards/jaykeeb/skyline/keymaps/default/keymap.c +++ b/keyboards/jaykeeb/skyline/keymaps/default/keymap.c @@ -34,4 +34,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/jaykeeb/skyline/readme.md b/keyboards/jaykeeb/skyline/readme.md index 0c72e1d49f..6f58ba33de 100644 --- a/keyboards/jaykeeb/skyline/readme.md +++ b/keyboards/jaykeeb/skyline/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/jaykeeb/sriwedari70/keyboard.json b/keyboards/jaykeeb/sriwedari70/keyboard.json index ddeaa316e3..efb13554dc 100644 --- a/keyboards/jaykeeb/sriwedari70/keyboard.json +++ b/keyboards/jaykeeb/sriwedari70/keyboard.json @@ -141,4 +141,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/jiran/keymaps/default/config.h b/keyboards/jiran/keymaps/default/config.h index 149a54be7f..b1020ed78c 100644 --- a/keyboards/jiran/keymaps/default/config.h +++ b/keyboards/jiran/keymaps/default/config.h @@ -18,4 +18,4 @@ along with this program. If not, see . #pragma once // #define USE_I2C -#define EE_HANDS +#define EE_HANDS \ No newline at end of file diff --git a/keyboards/jiran/readme.md b/keyboards/jiran/readme.md index e311d43356..13dc8963df 100644 --- a/keyboards/jiran/readme.md +++ b/keyboards/jiran/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make jiran: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/jlw/bruce_le_clavier/readme.md b/keyboards/jlw/bruce_le_clavier/readme.md index f2684b28fa..7bef2d5eef 100644 --- a/keyboards/jlw/bruce_le_clavier/readme.md +++ b/keyboards/jlw/bruce_le_clavier/readme.md @@ -50,4 +50,4 @@ Exemple de « make » (après avoir installé votre environnement de développem Exemple de flash pour ce clavier: make jlw/bruce_le_clavier:flash - + \ No newline at end of file diff --git a/keyboards/jlw/bruce_the_keyboard/keymaps/default/keymap.c b/keyboards/jlw/bruce_the_keyboard/keymaps/default/keymap.c index 5218cbb3e5..73ef2e0213 100644 --- a/keyboards/jlw/bruce_the_keyboard/keymaps/default/keymap.c +++ b/keyboards/jlw/bruce_the_keyboard/keymaps/default/keymap.c @@ -32,4 +32,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { DF(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(2), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/jlw/vault35_wkl_universal/keymaps/default/rules.mk b/keyboards/jlw/vault35_wkl_universal/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/jlw/vault35_wkl_universal/keymaps/default/rules.mk +++ b/keyboards/jlw/vault35_wkl_universal/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/jones/v03/keymaps/default/keymap.c b/keyboards/jones/v03/keymaps/default/keymap.c index c81e300cf1..d051bd781e 100644 --- a/keyboards/jones/v03/keymaps/default/keymap.c +++ b/keyboards/jones/v03/keymaps/default/keymap.c @@ -24,4 +24,4 @@ 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, JP_COMM,JP_DOT, JP_SLSH,JP_BSLS,KC_UP, XXXXXXX, KC_MUTE,KC_LALT,KC_LGUI,KC_LNG2, KC_SPC, KC_SPC, KC_LNG1,KC_RGUI,KC_RALT,KC_LEFT,KC_DOWN,KC_RGHT ) -}; +}; \ No newline at end of file diff --git a/keyboards/jones/v03/keymaps/default_jp/rules.mk b/keyboards/jones/v03/keymaps/default_jp/rules.mk index aa97fcc936..d371e96a07 100644 --- a/keyboards/jones/v03/keymaps/default_jp/rules.mk +++ b/keyboards/jones/v03/keymaps/default_jp/rules.mk @@ -1 +1 @@ -TAP_DANCE_ENABLE = yes # Enable Tap Dance +TAP_DANCE_ENABLE = yes # Enable Tap Dance \ No newline at end of file diff --git a/keyboards/jones/v03/matrix.c b/keyboards/jones/v03/matrix.c index 1f566eaedb..d8bc134cf7 100644 --- a/keyboards/jones/v03/matrix.c +++ b/keyboards/jones/v03/matrix.c @@ -16,6 +16,8 @@ along with this program. If not, see . */ #include "matrix.h" +#define ROW_SHIFTER ((uint16_t)1) + static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; @@ -60,10 +62,10 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) // Check col pin pin_state if (gpio_read_pin(col_pins[col_index]) == 0) { // Pin LO, set col bit - current_matrix[current_row] |= (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= (ROW_SHIFTER << col_index); } else { // Pin HI, clear col bit - current_matrix[current_row] &= ~(MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] &= ~(ROW_SHIFTER << col_index); } } } diff --git a/keyboards/jones/v03_1/keymaps/default/keymap.c b/keyboards/jones/v03_1/keymaps/default/keymap.c index 14f4b45bf9..b374a6488b 100644 --- a/keyboards/jones/v03_1/keymaps/default/keymap.c +++ b/keyboards/jones/v03_1/keymaps/default/keymap.c @@ -23,4 +23,4 @@ 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,KC_UP, XXXXXXX, KC_MUTE,KC_LNG2,KC_LALT,KC_LGUI, KC_SPC, KC_SPC, KC_RGUI,KC_RALT,KC_LNG1,KC_LEFT,KC_DOWN,KC_RGHT ) -}; +}; \ No newline at end of file diff --git a/keyboards/jones/v03_1/keymaps/default_ansi/rules.mk b/keyboards/jones/v03_1/keymaps/default_ansi/rules.mk index 15d7e0624c..18b26d5c82 100644 --- a/keyboards/jones/v03_1/keymaps/default_ansi/rules.mk +++ b/keyboards/jones/v03_1/keymaps/default_ansi/rules.mk @@ -1 +1 @@ -TAP_DANCE_ENABLE = yes # Enable Tap Dance +TAP_DANCE_ENABLE = yes # Enable Tap Dance \ No newline at end of file diff --git a/keyboards/jones/v03_1/matrix.c b/keyboards/jones/v03_1/matrix.c index 1f566eaedb..d8bc134cf7 100644 --- a/keyboards/jones/v03_1/matrix.c +++ b/keyboards/jones/v03_1/matrix.c @@ -16,6 +16,8 @@ along with this program. If not, see . */ #include "matrix.h" +#define ROW_SHIFTER ((uint16_t)1) + static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; @@ -60,10 +62,10 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) // Check col pin pin_state if (gpio_read_pin(col_pins[col_index]) == 0) { // Pin LO, set col bit - current_matrix[current_row] |= (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= (ROW_SHIFTER << col_index); } else { // Pin HI, clear col bit - current_matrix[current_row] &= ~(MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] &= ~(ROW_SHIFTER << col_index); } } } diff --git a/keyboards/jorne/keymaps/default/config.h b/keyboards/jorne/keymaps/default/config.h index 3fa16d679a..2fb5ca4c4f 100644 --- a/keyboards/jorne/keymaps/default/config.h +++ b/keyboards/jorne/keymaps/default/config.h @@ -2,6 +2,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once +#define OLED_DISPLAY_128X32 + #ifdef RGBLIGHT_ENABLE #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/joshajohnson/hub16/matrix.c b/keyboards/joshajohnson/hub16/matrix.c index f786c9fd73..26222cf15a 100644 --- a/keyboards/joshajohnson/hub16/matrix.c +++ b/keyboards/joshajohnson/hub16/matrix.c @@ -14,23 +14,28 @@ 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 "wait.h" +#include "util.h" #include "matrix.h" // Encoder things #define SWITCH_1 F7 #define SWITCH_2 D7 +static bool read_encoder_switches(matrix_row_t current_matrix[], uint8_t current_row); static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +/* matrix state(1:on, 0:off) */ +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + static void select_row(uint8_t row) { gpio_set_pin_output(row_pins[row]); gpio_write_pin_low(row_pins[row]); } -static void unselect_row(uint8_t row) { - gpio_set_pin_input_high(row_pins[row]); -} +static void unselect_row(uint8_t row) { gpio_set_pin_input_high(row_pins[row]); } static void unselect_rows(void) { for (uint8_t x = 0; x < MATRIX_ROWS; x++) { @@ -52,9 +57,9 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) // Clear data in matrix row current_matrix[current_row] = 0; - // Select row and wait for row selection to stabilize + // Select row and wait for row selecton to stabilize select_row(current_row); - matrix_io_delay(); + wait_us(30); // For each col... for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { @@ -71,19 +76,6 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) return (last_row_value != current_matrix[current_row]); } -static bool read_encoder_switches(matrix_row_t current_matrix[], uint8_t current_row) { - // Store last value of row prior to reading - matrix_row_t last_row_value = current_matrix[current_row]; - - // Clear data in matrix row - current_matrix[current_row] = 0; - - // Populate the matrix row with the state of the encoder - current_matrix[current_row] |= gpio_read_pin(SWITCH_1) ? (1 << 0) : 0; - current_matrix[current_row] |= gpio_read_pin(SWITCH_2) ? (1 << 1) : 0; - - return (last_row_value != current_matrix[current_row]); -} void matrix_init_custom(void) { // initialize key pins @@ -92,16 +84,42 @@ void matrix_init_custom(void) { init_pins(); } -bool matrix_scan_custom(matrix_row_t current_matrix[]) { +bool matrix_scan_custom(void) { bool changed = false; // Set row, read cols - for (uint8_t current_row = 0; current_row < MATRIX_ROWS - 1; current_row++) { - changed |= read_cols_on_row(current_matrix, current_row); + for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { + changed |= read_cols_on_row(raw_matrix, current_row); } // Read encoder switches, already debounced - changed |= read_encoder_switches(current_matrix, 4); + changed |= read_encoder_switches(matrix, 4); return changed; } + +static bool read_encoder_switches(matrix_row_t current_matrix[], uint8_t current_row) { + // Store last value of row prior to reading + matrix_row_t last_row_value = current_matrix[current_row]; + + // Clear data in matrix row + current_matrix[current_row] = 0; + + // Debounce the encoder buttons using a shift register + static uint8_t btn_1_array; + static uint8_t btn_2_array; + bool btn_1_rise = 0; + bool btn_2_rise = 0; + btn_1_array <<= 1; + btn_2_array <<= 1; + btn_1_array |= gpio_read_pin(SWITCH_1); + btn_2_array |= gpio_read_pin(SWITCH_2); + (btn_1_array == 0b01111111) ? (btn_1_rise = 1) : (btn_1_rise = 0); + (btn_2_array == 0b01111111) ? (btn_2_rise = 1) : (btn_2_rise = 0); + + // Populate the matrix row with the state of the encoder + current_matrix[current_row] |= btn_1_rise ? (1 << 0) : 0; + current_matrix[current_row] |= btn_2_rise ? (1 << 1) : 0; + + return (last_row_value != current_matrix[current_row]); +} diff --git a/keyboards/joshajohnson/hub20/hub20.c b/keyboards/joshajohnson/hub20/hub20.c new file mode 100644 index 0000000000..8b1c58e1f7 --- /dev/null +++ b/keyboards/joshajohnson/hub20/hub20.c @@ -0,0 +1,171 @@ +/* Copyright 2020 joshajohnson 2021 peepeetee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + {NO_LED,NO_LED,NO_LED,NO_LED}, + { 7, 8, 9, 10}, + { 11, 12, 13, 14}, + { 15, 16, 17, 18}, + { 19, 20, 21, 22}, + { 23, 24, 25, 26} + //todo: assign leds to keys differently for the different layouts +}, { + // LED Index to Physical Position + { 190, 50}, { 111, 50}, { 35, 50}, {38, 0}, {38, 35}, {186, 35}, {186, 0}, // UNDERGLOW + //todo: underglow location needs to be recalculated. The top row is above row 4, and for now they have the same y value 0 + { 0, 0}, {75, 0}, {150, 0}, {225, 0}, // row 4 + { 0, 16}, {75, 16}, {150, 16}, {225, 16}, // row 3 + { 0, 32}, {75, 32}, {150, 32}, {225, 32}, // row 2 + { 0, 48}, {75, 48}, {150, 48}, {225, 48}, // row 1 + { 0, 64}, {75, 64}, {150, 64}, {225, 64} // row 0 + +}, { + // LED Index to Flag + LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, // UNDERGLOW + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 4 + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 3 + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 2 + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 1 + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT // row 0 + +} }; +#endif + + + +// #if LED_MERGE_NUMPAD_LEFT_HANDED_ENTER && LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO +// #error lower left enter conflicts with lower left zero +// #endif + +// #if LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER && LED_MERGE_NUMPAD_LEFT_HANDED_ZERO +// #error lower right enter conflicts with lower right zero +// #endif + +// /* LAYOUT_left_handed + + +// * ┌───┬───┐ +// * │01 │02 │ +// * ┌───┼───┼───┼───┐ +// * │10 │11 │12 │13 │ +// * ├───┼───┼───┼───┤ +// * │ │21 │22 │23 │ +// * │20 ├───┼───┼───┤ +// * │ │31 │32 │33 │ +// * ├───┼───┼───┼───┤ +// * │ │41 │42 │43 │ +// * │40 ├───┼───┴───┤ +// * │ │51 │ 52 │ +// * └───┴───┴───────┘ +// */ + +// #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_PLUS //key 20 +// #define LED_MERGE_NUMPAD_LEFT_HANDED_PLUS FALSE +// #endif // LED_MERGE_NUMPAD_LEFT_HANDED_PLUS + +// #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_ENTER //key 40 +// #define LED_MERGE_NUMPAD_LEFT_HANDED_ENTER FALSE +// #endif // LED_MERGE_NUMPAD_LEFT_HANDED_ENTER + +// #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_ZERO //key 52 +// #define LED_MERGE_NUMPAD_LEFT_HANDED_ZERO FALSE +// #endif // LED_MERGE_NUMPAD_LEFT_HANDED_ZERO + + +// /* LAYOUT_right_handed + + +// * ┌───┬───┐ +// * │01 │02 │ +// * ┌───┼───┼───┼───┐ +// * │10 │11 │12 │13 │ +// * ├───┼───┼───┼───┤ +// * │20 │21 │22 │ │ +// * ├───┼───┼───┤23 │ +// * │30 │31 │32 │ │ +// * ├───┼───┼───┼───┤ +// * │40 │41 │42 │ │ +// * ├───┴───┼───┤43 │ +// * │ 50 │52 │ │ +// * └───────┴───┴───┘ +// */ +// //LOCATION OF bottom row 0 NOT TESTED, WAITING ENDORSEMENT FROM MANUFACTURER + +// #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS // key 23 +// #define LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS FALSE +// #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS + +// #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER // key 43 +// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER FALSE +// #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER + +// #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO // key 50 (confirm with manufacturer) +// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO FALSE +// #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO + +// uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) { +// // Keys here have 2 leds. Here we add the led that is not bound to the key +// // and the default led would be added +// // by the default code that runs after this in rgb_matrix_map_row_column_to_led + +// uint8_t counter = 0; + +// #if LED_MERGE_NUMPAD_LEFT_HANDED_PLUS //key 20, leds 7 and 11, 7 already bound + +// if (row == 2 && column == 0) { +// led_i[counter] = 11; +// counter ++; +// } +// #endif +// #if LED_MERGE_NUMPAD_LEFT_HANDED_ENTER //key 40, leds 19 and 23, 23 already bound +// if (row == 4 && column == 0) { +// led_i[counter] = 23; +// counter ++; +// } +// #endif +// #if LED_MERGE_NUMPAD_LEFT_HANDED_ZERO //key 52, leds 25 and 26, 26 already bound +// if (row == 5 && column == 2) { +// led_i[counter] = 26; +// counter ++; +// } +// #endif + +// #if LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS // key 23, led 14 and 18, 14 already bound +// if (row == 2 && column == 3) { +// led_i[counter] = 18; +// counter ++; +// } +// #endif +// #if LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER // key 43, led 22 and 26, 22 already bound +// if (row == 4 && column == 3) { +// led_i[counter] = 26; +// counter ++; +// } +// #endif +// #if LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO // key 50 (confirm with manufacturer) +// // LED 23 and 24, 23(?) already bound +// if (row == 5 && column == 0) { +// led_i[counter] = 24; +// counter ++; +// } +// #endif +// return counter; +// } diff --git a/keyboards/joshajohnson/hub20/keyboard.json b/keyboards/joshajohnson/hub20/keyboard.json index c26a25de3c..0d557c58b5 100644 --- a/keyboards/joshajohnson/hub20/keyboard.json +++ b/keyboards/joshajohnson/hub20/keyboard.json @@ -28,36 +28,7 @@ "solid_reactive_simple": true, "solid_reactive": true }, - "driver": "ws2812", - "layout": [ - {"x": 190, "y": 50, "flags": 2}, - {"x": 111, "y": 50, "flags": 2}, - {"x": 35, "y": 50, "flags": 2}, - {"x": 38, "y": 0, "flags": 2}, - {"x": 38, "y": 35, "flags": 2}, - {"x": 186, "y": 35, "flags": 2}, - {"x": 186, "y": 0, "flags": 2}, - {"matrix": [1, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 75, "y": 0, "flags": 4}, - {"matrix": [1, 2], "x": 150, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 224, "y": 0, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 75, "y": 16, "flags": 4}, - {"matrix": [2, 2], "x": 150, "y": 16, "flags": 4}, - {"matrix": [2, 3], "x": 224, "y": 16, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [3, 1], "x": 75, "y": 32, "flags": 4}, - {"matrix": [3, 2], "x": 150, "y": 32, "flags": 4}, - {"matrix": [3, 3], "x": 224, "y": 32, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [4, 1], "x": 75, "y": 48, "flags": 4}, - {"matrix": [4, 2], "x": 150, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 224, "y": 48, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 75, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 150, "y": 64, "flags": 4}, - {"matrix": [5, 3], "x": 224, "y": 64, "flags": 4} - ] + "driver": "ws2812" }, "features": { "bootmagic": true, diff --git a/keyboards/jukaie/jk01/jk01.c b/keyboards/jukaie/jk01/jk01.c index 804d1a55b7..595f6bf43f 100644 --- a/keyboards/jukaie/jk01/jk01.c +++ b/keyboards/jukaie/jk01/jk01.c @@ -170,4 +170,4 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } return true; /* Process all other keycodes normally */ -}; +}; \ No newline at end of file diff --git a/keyboards/junco/rev1/keyboard.json b/keyboards/junco/rev1/keyboard.json index 1ec680aa3a..936a0bf29c 100644 --- a/keyboards/junco/rev1/keyboard.json +++ b/keyboards/junco/rev1/keyboard.json @@ -22,82 +22,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"x": 95, "y": 64, "flags": 2}, - {"x": 52, "y": 64, "flags": 2}, - {"x": 86, "y": 40, "flags": 2}, - {"x": 52, "y": 40, "flags": 2}, - {"x": 9, "y": 40, "flags": 2}, - {"x": 9, "y": 8, "flags": 2}, - {"x": 52, "y": 8, "flags": 2}, - {"x": 86, "y": 8, "flags": 2}, - {"matrix": [0, 5], "x": 86, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 69, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 34, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 17, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 17, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 34, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 69, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 86, "y": 16, "flags": 4}, - {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 69, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 34, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 17, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 17, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 69, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 86, "y": 48, "flags": 4}, - {"matrix": [4, 4], "x": 103, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 86, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 69, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 52, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 34, "y": 64, "flags": 4}, - {"x": 129, "y": 64, "flags": 2}, - {"x": 172, "y": 64, "flags": 2}, - {"x": 138, "y": 40, "flags": 2}, - {"x": 172, "y": 40, "flags": 2}, - {"x": 215, "y": 40, "flags": 2}, - {"x": 215, "y": 8, "flags": 2}, - {"x": 172, "y": 8, "flags": 2}, - {"x": 138, "y": 8, "flags": 2}, - {"matrix": [5, 5], "x": 138, "y": 0, "flags": 4}, - {"matrix": [5, 4], "x": 155, "y": 0, "flags": 4}, - {"matrix": [5, 3], "x": 172, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 190, "y": 0, "flags": 4}, - {"matrix": [5, 1], "x": 207, "y": 0, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 0, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 16, "flags": 4}, - {"matrix": [6, 1], "x": 207, "y": 16, "flags": 4}, - {"matrix": [6, 2], "x": 190, "y": 16, "flags": 4}, - {"matrix": [6, 3], "x": 172, "y": 16, "flags": 4}, - {"matrix": [6, 4], "x": 155, "y": 16, "flags": 4}, - {"matrix": [6, 5], "x": 138, "y": 16, "flags": 4}, - {"matrix": [7, 5], "x": 138, "y": 32, "flags": 4}, - {"matrix": [7, 4], "x": 155, "y": 32, "flags": 4}, - {"matrix": [7, 3], "x": 172, "y": 32, "flags": 4}, - {"matrix": [7, 2], "x": 190, "y": 32, "flags": 4}, - {"matrix": [7, 1], "x": 207, "y": 32, "flags": 4}, - {"matrix": [7, 0], "x": 224, "y": 32, "flags": 4}, - {"matrix": [8, 0], "x": 224, "y": 48, "flags": 4}, - {"matrix": [8, 1], "x": 207, "y": 48, "flags": 4}, - {"matrix": [8, 2], "x": 190, "y": 48, "flags": 4}, - {"matrix": [8, 3], "x": 172, "y": 48, "flags": 4}, - {"matrix": [8, 4], "x": 155, "y": 48, "flags": 4}, - {"matrix": [8, 5], "x": 138, "y": 48, "flags": 4}, - {"matrix": [9, 4], "x": 121, "y": 64, "flags": 4}, - {"matrix": [9, 3], "x": 138, "y": 64, "flags": 4}, - {"matrix": [9, 2], "x": 155, "y": 64, "flags": 4}, - {"matrix": [9, 1], "x": 172, "y": 64, "flags": 4}, - {"matrix": [9, 0], "x": 190, "y": 64, "flags": 4} - ], "split_count": [37, 37] }, "encoder": { diff --git a/keyboards/junco/rev1/rev1.c b/keyboards/junco/rev1/rev1.c index 0167a095ad..d1346b82e2 100644 --- a/keyboards/junco/rev1/rev1.c +++ b/keyboards/junco/rev1/rev1.c @@ -21,3 +21,106 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}} }; #endif + +/* RGB LED matrix */ +#ifdef RGB_MATRIX_ENABLE +/* + Key Matrix Physical + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, + L30, L31, L32, L33, L34, L35, L45, R40, R30, R31, R32, R33, R34, R35, + L40, L41, L42, L43, L44, R42, R41, R43, R44, R45 + + Key Electrical + Left: + { L00, L01, L02, L03, L04, L05 }, + { L10, L11, L12, L13, L14, L15 }, + { L20, L21, L22, L23, L24, L25 }, + { L30, L31, L32, L33, L34, L35 }, + { L40, L41, L42, L43, L44, L45 }, + Right: + { R05, R04, R03, R02, R01, R00 }, + { R15, R14, R13, R12, R11, R10 }, + { R25, R24, R23, R22, R21, R20 }, + { R35, R34, R33, R32, R31, R30 }, + { R45, R44, R43, R42, R41, R40 } + + Key matrix physical filled with LED electrical indexes, count starting at 1 + + Col + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Row + + 14 13 12 11 10 9 46 47 48 49 50 51 0 + 6 7 8 45 44 43 + 15 16 17 18 19 20 57 56 55 54 53 52 1 + + 26 25 24 23 22 21 58 59 60 61 62 63 2 + 5 4 3 40 41 42 + 27 28 29 30 31 32 NO NO 69 68 67 66 65 64 3 + + 37 36 35 34 33 70 71 72 73 74 4 + 2 1 38 39 +*/ + +// clang-format off +led_config_t g_led_config = { + { // Key Electrical Matrix to LED Index (count start at 0, so 8 is the first non-underglow key) + + // Left Half + { 13, 12, 11, 10, 9, 8 }, + { 14, 15, 16, 17, 18, 19 }, + { 25, 24, 23, 22, 21, 20 }, + { 26, 27, 28, 29, 30, 31 }, + { 36, 35, 34, 33, 32, NO_LED }, + + // Right Half + { 50, 49, 48, 47, 46, 45 }, + { 51, 52, 53, 54, 55, 56 }, + { 62, 61, 60, 59, 58, 57 }, + { 63, 64, 65, 66, 67, 68 }, + { 73, 72, 71, 70, 69, NO_LED } + }, + { // LED Index to LED Physical Position (mirrored on right half) + + // Left Underglow (indicies 1 - 8) + { 95, 72 }, { 52, 72 }, { 86, 40 }, { 52, 40 }, { 9, 40 }, { 9, 8 }, { 52, 8 }, { 86, 8 }, + // Left Matrix (indicies 9 - 37) + { 86, 0 }, { 69, 0 }, { 52, 0 }, { 34, 0 }, { 17, 0 }, { 0, 0 }, + { 0, 16 }, { 17, 16 }, { 34, 16 }, { 52, 16 }, { 69, 16 }, { 86, 16 }, + { 86, 32 }, { 69, 32 }, { 52, 32 }, { 34, 32 }, { 17, 32 }, { 0, 32 }, + { 0, 48 }, { 17, 48 }, { 34, 48 }, { 52, 48 }, { 69, 48 }, { 86, 48 }, /* No Led */ + { 103, 64 }, { 86, 64 }, { 69, 64 }, { 52, 64 }, { 34, 64 }, + + // Right Underglow (indicies 38 - 45) + { 129, 72 }, { 172, 72 }, { 138, 40 }, { 172, 40 }, { 215, 40 }, { 215, 8 }, { 172, 8 }, { 138, 8 }, + // Right Matrix (indicies 46 - 74) + { 138, 0 }, { 155, 0 }, { 172, 0 }, { 190, 0 }, { 207, 0 }, { 224, 0 }, + { 224, 16 }, { 207, 16 }, { 190, 16 }, { 172, 16 }, { 155, 16 }, { 138, 16 }, + { 138, 32 }, { 155, 32 }, { 172, 32 }, { 190, 32 }, { 207, 32 }, { 224, 32 }, + /* No Led */ { 224, 48 }, { 207, 48 }, { 190, 48 }, { 172, 48 }, { 155, 48 }, { 138, 48 }, + { 121, 64 }, { 138, 64 }, { 155, 64 }, { 172, 64 }, { 190, 64 } + }, + { // LED Index to Flag (2 - Underglow, 4 - Key Backlight) + + // Left Underglow + 2, 2, 2, 2, 2, 2, 2, 2, + // Left Matrix + 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, + + // Right Underglow + 2, 2, 2, 2, 2, 2, 2, 2, + // Right Matrix + 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/jyap808/pando58/keyboard.json b/keyboards/jyap808/pando58/keyboard.json deleted file mode 100644 index a4f4f48ebe..0000000000 --- a/keyboards/jyap808/pando58/keyboard.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "keyboard_name": "Pando58", - "manufacturer": "jyap808", - "maintainer": "jyap808", - "bootloader": "rp2040", - "processor": "RP2040", - "usb": { - "vid": "0x4A59", - "pid": "0x3538", - "device_version": "1.2.0" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7"], - "rows": ["GP14", "GP15", "GP26", "GP27", "GP28"] - }, - "diode_direction": "COL2ROW", - "split": { - "enabled": true, - "serial": { - "driver": "vendor", - "pin": "GP0" - }, - "transport": { - "watchdog": true - } - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - - {"matrix": [5, 5], "x": 11, "y": 0}, - {"matrix": [5, 4], "x": 12, "y": 0}, - {"matrix": [5, 3], "x": 13, "y": 0}, - {"matrix": [5, 2], "x": 14, "y": 0}, - {"matrix": [5, 1], "x": 15, "y": 0}, - {"matrix": [5, 0], "x": 16, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - - {"matrix": [6, 5], "x": 11, "y": 1}, - {"matrix": [6, 4], "x": 12, "y": 1}, - {"matrix": [6, 3], "x": 13, "y": 1}, - {"matrix": [6, 2], "x": 14, "y": 1}, - {"matrix": [6, 1], "x": 15, "y": 1}, - {"matrix": [6, 0], "x": 16, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - - {"matrix": [7, 5], "x": 11, "y": 2}, - {"matrix": [7, 4], "x": 12, "y": 2}, - {"matrix": [7, 3], "x": 13, "y": 2}, - {"matrix": [7, 2], "x": 14, "y": 2}, - {"matrix": [7, 1], "x": 15, "y": 2}, - {"matrix": [7, 0], "x": 16, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - - {"matrix": [8, 5], "x": 11, "y": 3}, - {"matrix": [8, 4], "x": 12, "y": 3}, - {"matrix": [8, 3], "x": 13, "y": 3}, - {"matrix": [8, 2], "x": 14, "y": 3}, - {"matrix": [8, 1], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 16, "y": 3}, - - {"matrix": [4, 1], "x": 2, "y": 4}, - {"matrix": [4, 2], "x": 3, "y": 4}, - {"matrix": [4, 3], "x": 4, "y": 4}, - {"matrix": [4, 4], "x": 6, "y": 4}, - {"matrix": [4, 5], "x": 7, "y": 4}, - - {"matrix": [9, 5], "x": 9, "y": 4}, - {"matrix": [9, 4], "x": 10, "y": 4}, - {"matrix": [9, 3], "x": 12, "y": 4}, - {"matrix": [9, 2], "x": 13, "y": 4}, - {"matrix": [9, 1], "x": 14, "y": 4} - ] - } - } -} diff --git a/keyboards/jyap808/pando58/keymaps/default/keymap.c b/keyboards/jyap808/pando58/keymaps/default/keymap.c deleted file mode 100644 index 4983b86f9b..0000000000 --- a/keyboards/jyap808/pando58/keymaps/default/keymap.c +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2026 Julian Yap (@jyap808) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS, - KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS, - KC_LGUI,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT, - KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSFT, - KC_LEFT,KC_RGHT,KC_BSPC,KC_LCTL,KC_LALT, KC_ENT ,KC_SPC ,TL_LOWR,KC_UP ,KC_DOWN), - - [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_EQL , - KC_CAPS,_______,_______,_______,_______,_______, KC_VOLD,KC_VOLU,KC_MUTE,_______,KC_PSCR,_______, - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______, _______,_______,KC_LBRC,KC_RBRC,_______,_______, - KC_HOME,KC_END ,KC_DEL ,_______,_______, _______,_______,_______,KC_PGUP,KC_PGDN), -}; diff --git a/keyboards/jyap808/pando58/readme.md b/keyboards/jyap808/pando58/readme.md deleted file mode 100644 index 28a6151b61..0000000000 --- a/keyboards/jyap808/pando58/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Pando58 - -![Pando58 - 3D printed case](https://i.imgur.com/e01JcXL.jpeg) - -![Pando58 - Layered build](https://i.imgur.com/JyufNvG.jpeg) - -*58-key columnar split keyboard driven by RP2040 Zero controllers, utilizing RJ45 sockets for interconnect.* - -[Build guide](https://jyap808.github.io/pando58) - -* Keyboard Maintainer: [jyap808](https://github.com/jyap808) -* Hardware Availability: [github/jyap808/pando58](https://github.com/jyap808/pando58) -* Hardware Supported: RP2040 Zero - -Make example for this keyboard (after setting up your build environment): - - make jyap808/pando58:default - -Flashing example for this keyboard: - - make jyap808/pando58:default:flash - -See the [build environment setup](getting_started_build_tools) and the [make instructions](getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](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/kakunpc/angel64/alpha/matrix.c b/keyboards/kakunpc/angel64/alpha/matrix.c index 50213d5b80..ff2b8a801e 100644 --- a/keyboards/kakunpc/angel64/alpha/matrix.c +++ b/keyboards/kakunpc/angel64/alpha/matrix.c @@ -22,52 +22,67 @@ along with this program. If not, see . #include "debounce.h" #if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 01234567\n") +# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED -extern const matrix_row_t matrix_mask[]; + extern const matrix_row_t matrix_mask[]; #endif static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; /* matrix state(1:on, 0:off) */ -static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -static matrix_row_t matrix[MATRIX_ROWS]; // debounced values +static matrix_row_t raw_matrix[MATRIX_ROWS]; //raw values +static matrix_row_t matrix[MATRIX_ROWS]; //debounced values -__attribute__((weak)) void matrix_init_kb(void) { +__attribute__ ((weak)) +void matrix_init_kb(void) { matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { +__attribute__ ((weak)) +void matrix_scan_kb(void) { matrix_scan_user(); } -__attribute__((weak)) void matrix_init_user(void) {} +__attribute__ ((weak)) +void matrix_init_user(void) { +} -__attribute__((weak)) void matrix_scan_user(void) {} +__attribute__ ((weak)) +void matrix_scan_user(void) { +} -inline uint8_t matrix_rows(void) { +inline +uint8_t matrix_rows(void) { return MATRIX_ROWS; } -inline uint8_t matrix_cols(void) { +inline +uint8_t matrix_cols(void) { return MATRIX_COLS; } -inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & ((matrix_row_t)1 << col)); +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ + return (matrix[row] & ((matrix_row_t)1<. #include "debounce.h" #if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 01234567\n") +# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED -extern const matrix_row_t matrix_mask[]; + extern const matrix_row_t matrix_mask[]; #endif static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; /* matrix state(1:on, 0:off) */ -static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -static matrix_row_t matrix[MATRIX_ROWS]; // debounced values +static matrix_row_t raw_matrix[MATRIX_ROWS]; //raw values +static matrix_row_t matrix[MATRIX_ROWS]; //debounced values -__attribute__((weak)) void matrix_init_kb(void) { +__attribute__ ((weak)) +void matrix_init_kb(void) { matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { +__attribute__ ((weak)) +void matrix_scan_kb(void) { matrix_scan_user(); } -__attribute__((weak)) void matrix_init_user(void) {} +__attribute__ ((weak)) +void matrix_init_user(void) { +} -__attribute__((weak)) void matrix_scan_user(void) {} +__attribute__ ((weak)) +void matrix_scan_user(void) { +} -inline uint8_t matrix_rows(void) { +inline +uint8_t matrix_rows(void) { return MATRIX_ROWS; } -inline uint8_t matrix_cols(void) { +inline +uint8_t matrix_cols(void) { return MATRIX_COLS; } -inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & ((matrix_row_t)1 << col)); +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ + return (matrix[row] & ((matrix_row_t)1<. */ #include "matrix.h" +#if (MATRIX_COLS <= 8) +# define ROW_SHIFTER ((uint8_t)1) +#elif (MATRIX_COLS <= 16) +# define ROW_SHIFTER ((uint16_t)1) +#elif (MATRIX_COLS <= 32) +# define ROW_SHIFTER ((uint32_t)1) +#endif + static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; @@ -80,7 +88,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) uint8_t pin_state = gpio_read_pin(col_pins[col_index]); // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); } // Unselect row @@ -105,10 +113,10 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) // Check row pin state if (gpio_read_pin(row_pins[row_index]) == 0) { // Pin LO, set col bit - current_matrix[tmp] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[tmp] |= (ROW_SHIFTER << current_col); } else { // Pin HI, clear col bit - current_matrix[tmp] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[tmp] &= ~(ROW_SHIFTER << current_col); } // Determine if the matrix changed state diff --git a/keyboards/kakunpc/thedogkeyboard/matrix.c b/keyboards/kakunpc/thedogkeyboard/matrix.c index 50213d5b80..ff2b8a801e 100644 --- a/keyboards/kakunpc/thedogkeyboard/matrix.c +++ b/keyboards/kakunpc/thedogkeyboard/matrix.c @@ -22,52 +22,67 @@ along with this program. If not, see . #include "debounce.h" #if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 01234567\n") +# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED -extern const matrix_row_t matrix_mask[]; + extern const matrix_row_t matrix_mask[]; #endif static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; /* matrix state(1:on, 0:off) */ -static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -static matrix_row_t matrix[MATRIX_ROWS]; // debounced values +static matrix_row_t raw_matrix[MATRIX_ROWS]; //raw values +static matrix_row_t matrix[MATRIX_ROWS]; //debounced values -__attribute__((weak)) void matrix_init_kb(void) { +__attribute__ ((weak)) +void matrix_init_kb(void) { matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { +__attribute__ ((weak)) +void matrix_scan_kb(void) { matrix_scan_user(); } -__attribute__((weak)) void matrix_init_user(void) {} +__attribute__ ((weak)) +void matrix_init_user(void) { +} -__attribute__((weak)) void matrix_scan_user(void) {} +__attribute__ ((weak)) +void matrix_scan_user(void) { +} -inline uint8_t matrix_rows(void) { +inline +uint8_t matrix_rows(void) { return MATRIX_ROWS; } -inline uint8_t matrix_cols(void) { +inline +uint8_t matrix_cols(void) { return MATRIX_COLS; } -inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & ((matrix_row_t)1 << col)); +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ + return (matrix[row] & ((matrix_row_t)1< #undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE +#define STM32_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/kbdfans/baguette66/rgb/keyboard.json b/keyboards/kbdfans/baguette66/rgb/keyboard.json index 77103382bd..5955add028 100644 --- a/keyboards/kbdfans/baguette66/rgb/keyboard.json +++ b/keyboards/kbdfans/baguette66/rgb/keyboard.json @@ -58,74 +58,6 @@ "animation": "cycle_all" }, "driver": "ws2812", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 195, "y": 0, "flags": 4}, - {"matrix": [2, 14], "x": 210, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 4}, - {"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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 201, "y": 32, "flags": 4}, - {"matrix": [3, 13], "x": 220, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 205, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 187, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 64, "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": 4}, - {"matrix": [4, 1], "x": 21, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 39, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 8], "x": 152, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 171, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "max_brightness": 150, "sat_steps": 8, "sleep": true, diff --git a/keyboards/kbdfans/baguette66/rgb/rgb.c b/keyboards/kbdfans/baguette66/rgb/rgb.c index 379597b58e..8e1dbc5bcd 100644 --- a/keyboards/kbdfans/baguette66/rgb/rgb.c +++ b/keyboards/kbdfans/baguette66/rgb/rgb.c @@ -17,6 +17,26 @@ #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, 13, 15 }, + { 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16 }, + { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,NO_LED, 14 }, + { 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, NO_LED}, + { NO_LED, 58, 59, NO_LED, NO_LED, 60, NO_LED, NO_LED, 61, NO_LED, 62, NO_LED, 63, 64, 65 } +}, { + {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,16}, {206,16},{188,16},{173,16},{158,16},{143,16},{128,16},{113,16},{98,16},{83,16},{68,16},{53,16},{38,16},{23,16},{4,16}, + {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}, + {220,48},{205,48},{187,48},{169,48},{154,48},{139,48},{124,48},{109,48},{94,48},{79,48},{64,48},{49,48},{34,48},{9,48}, + {21,64},{39,64},{96,64},{152,64},{171,64},{195,64},{210,64},{224,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, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 1, 1, 1 +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kbdfans/bella/rgb/keyboard.json b/keyboards/kbdfans/bella/rgb/keyboard.json index 7bbc5ea7a2..2ca18d2851 100644 --- a/keyboards/kbdfans/bella/rgb/keyboard.json +++ b/keyboards/kbdfans/bella/rgb/keyboard.json @@ -54,102 +54,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 44, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 59, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 73, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 95, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 140, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 161, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 176, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 191, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 206, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 17, "flags": 4}, - {"matrix": [1, 1], "x": 15, "y": 17, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 17, "flags": 4}, - {"matrix": [1, 3], "x": 44, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 59, "y": 17, "flags": 4}, - {"matrix": [1, 5], "x": 73, "y": 17, "flags": 4}, - {"matrix": [1, 6], "x": 88, "y": 17, "flags": 4}, - {"matrix": [1, 7], "x": 102, "y": 17, "flags": 4}, - {"matrix": [1, 8], "x": 117, "y": 17, "flags": 4}, - {"matrix": [1, 9], "x": 132, "y": 17, "flags": 4}, - {"matrix": [1, 10], "x": 147, "y": 17, "flags": 4}, - {"matrix": [1, 11], "x": 161, "y": 17, "flags": 4}, - {"matrix": [1, 12], "x": 176, "y": 17, "flags": 4}, - {"matrix": [1, 14], "x": 198, "y": 17, "flags": 4}, - {"matrix": [1, 15], "x": 224, "y": 17, "flags": 4}, - {"matrix": [2, 0], "x": 4, "y": 29, "flags": 4}, - {"matrix": [2, 1], "x": 22, "y": 29, "flags": 4}, - {"matrix": [2, 2], "x": 37, "y": 29, "flags": 4}, - {"matrix": [2, 3], "x": 51, "y": 29, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 29, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 29, "flags": 4}, - {"matrix": [2, 6], "x": 95, "y": 29, "flags": 4}, - {"matrix": [2, 7], "x": 110, "y": 29, "flags": 4}, - {"matrix": [2, 8], "x": 125, "y": 29, "flags": 4}, - {"matrix": [2, 9], "x": 140, "y": 29, "flags": 4}, - {"matrix": [2, 10], "x": 154, "y": 29, "flags": 4}, - {"matrix": [2, 11], "x": 169, "y": 29, "flags": 4}, - {"matrix": [2, 12], "x": 184, "y": 29, "flags": 4}, - {"matrix": [2, 13], "x": 202, "y": 29, "flags": 4}, - {"matrix": [2, 15], "x": 224, "y": 29, "flags": 4}, - {"matrix": [3, 0], "x": 5, "y": 41, "flags": 4}, - {"matrix": [3, 1], "x": 26, "y": 41, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 41, "flags": 4}, - {"matrix": [3, 3], "x": 55, "y": 41, "flags": 4}, - {"matrix": [3, 4], "x": 70, "y": 41, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 41, "flags": 4}, - {"matrix": [3, 6], "x": 99, "y": 41, "flags": 4}, - {"matrix": [3, 7], "x": 114, "y": 41, "flags": 4}, - {"matrix": [3, 8], "x": 129, "y": 41, "flags": 4}, - {"matrix": [3, 9], "x": 143, "y": 41, "flags": 4}, - {"matrix": [3, 10], "x": 158, "y": 41, "flags": 4}, - {"matrix": [3, 11], "x": 172, "y": 41, "flags": 4}, - {"matrix": [3, 13], "x": 196, "y": 41, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 41, "flags": 4}, - {"matrix": [4, 0], "x": 9, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 33, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 62, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 77, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 92, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 106, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 121, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 136, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 150, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 165, "y": 52, "flags": 4}, - {"matrix": [4, 12], "x": 185, "y": 52, "flags": 4}, - {"matrix": [4, 14], "x": 209, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 20, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 38, "y": 64, "flags": 4}, - {"matrix": [5, 6], "x": 94, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 150, "y": 64, "flags": 4}, - {"matrix": [5, 11], "x": 172, "y": 64, "flags": 4}, - {"matrix": [5, 12], "x": 195, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 209, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 224, "y": 64, "flags": 1}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 45, "y": 0, "flags": 2}, - {"x": 90, "y": 0, "flags": 2}, - {"x": 134, "y": 0, "flags": 2}, - {"x": 179, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 0, "y": 32, "flags": 2}, - {"x": 224, "y": 32, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 45, "y": 64, "flags": 2}, - {"x": 90, "y": 64, "flags": 2}, - {"x": 134, "y": 64, "flags": 2}, - {"x": 179, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2} - ], "led_flush_limit": 26, "led_process_limit": 4, "sleep": true diff --git a/keyboards/kbdfans/bella/rgb/rgb.c b/keyboards/kbdfans/bella/rgb/rgb.c index 2dd792c5bc..4818c99005 100644 --- a/keyboards/kbdfans/bella/rgb/rgb.c +++ b/keyboards/kbdfans/bella/rgb/rgb.c @@ -118,6 +118,36 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW4_CS3, SW4_CS2, SW4_CS1}, /* RGB40 */ }; +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15*/ + { 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, NO_LED, 9, 10, 11, 12, 13, }, /* R0 */ + { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, NO_LED, 27, 28, }, /* R1 */ + { 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, NO_LED, 43, }, /* R2 */ + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, NO_LED, 57, }, /* R3 */ + { 58, NO_LED, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, NO_LED, 70, NO_LED, }, /* R4 */ + { 71, 72, 73, NO_LED, NO_LED, NO_LED, 74, NO_LED, NO_LED, NO_LED, 75, 76, 77, NO_LED, 78, 79, }, /* R5 */ + }, { + {0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0}, + {0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17}, + {4, 29}, {22, 29}, {37, 29}, {51, 29}, {66, 29}, {81, 29}, {95, 29}, {110, 29}, {125, 29}, {140, 29}, {154, 29}, {169, 29}, {184, 29}, {202, 29}, {224, 29}, + {5, 41}, {26, 41}, {40, 41}, {55, 41}, {70, 41}, {84, 41}, {99, 41}, {114, 41}, {129, 41}, {143, 41}, {158, 41}, {172, 41}, {196, 41}, {224, 41}, + {9, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {185, 52}, {209, 52}, + {2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64}, + {0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0}, + {0, 32}, {224,32}, + {0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64}, + }, { + 4,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,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,1, + 4,4,4,4,4,4,1,1,1, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2, + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kbdfans/bella/rgb_iso/keyboard.json b/keyboards/kbdfans/bella/rgb_iso/keyboard.json index 43f36625f9..c7dd6423b5 100644 --- a/keyboards/kbdfans/bella/rgb_iso/keyboard.json +++ b/keyboards/kbdfans/bella/rgb_iso/keyboard.json @@ -54,103 +54,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 44, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 59, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 73, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 95, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 140, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 161, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 176, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 191, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 206, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 17, "flags": 4}, - {"matrix": [1, 1], "x": 15, "y": 17, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 17, "flags": 4}, - {"matrix": [1, 3], "x": 44, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 59, "y": 17, "flags": 4}, - {"matrix": [1, 5], "x": 73, "y": 17, "flags": 4}, - {"matrix": [1, 6], "x": 88, "y": 17, "flags": 4}, - {"matrix": [1, 7], "x": 102, "y": 17, "flags": 4}, - {"matrix": [1, 8], "x": 117, "y": 17, "flags": 4}, - {"matrix": [1, 9], "x": 132, "y": 17, "flags": 4}, - {"matrix": [1, 10], "x": 147, "y": 17, "flags": 4}, - {"matrix": [1, 11], "x": 161, "y": 17, "flags": 4}, - {"matrix": [1, 12], "x": 176, "y": 17, "flags": 4}, - {"matrix": [1, 14], "x": 198, "y": 17, "flags": 4}, - {"matrix": [1, 15], "x": 224, "y": 17, "flags": 4}, - {"matrix": [2, 0], "x": 4, "y": 29, "flags": 4}, - {"matrix": [2, 1], "x": 22, "y": 29, "flags": 4}, - {"matrix": [2, 2], "x": 37, "y": 29, "flags": 4}, - {"matrix": [2, 3], "x": 51, "y": 29, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 29, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 29, "flags": 4}, - {"matrix": [2, 6], "x": 95, "y": 29, "flags": 4}, - {"matrix": [2, 7], "x": 110, "y": 29, "flags": 4}, - {"matrix": [2, 8], "x": 125, "y": 29, "flags": 4}, - {"matrix": [2, 9], "x": 140, "y": 29, "flags": 4}, - {"matrix": [2, 10], "x": 154, "y": 29, "flags": 4}, - {"matrix": [2, 11], "x": 169, "y": 29, "flags": 4}, - {"matrix": [2, 12], "x": 184, "y": 29, "flags": 4}, - {"matrix": [3, 13], "x": 200, "y": 35, "flags": 4}, - {"matrix": [2, 15], "x": 224, "y": 29, "flags": 4}, - {"matrix": [3, 0], "x": 5, "y": 41, "flags": 4}, - {"matrix": [3, 1], "x": 26, "y": 41, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 41, "flags": 4}, - {"matrix": [3, 3], "x": 55, "y": 41, "flags": 4}, - {"matrix": [3, 4], "x": 70, "y": 41, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 41, "flags": 4}, - {"matrix": [3, 6], "x": 99, "y": 41, "flags": 4}, - {"matrix": [3, 7], "x": 114, "y": 41, "flags": 4}, - {"matrix": [3, 8], "x": 129, "y": 41, "flags": 4}, - {"matrix": [3, 9], "x": 143, "y": 41, "flags": 4}, - {"matrix": [3, 10], "x": 158, "y": 41, "flags": 4}, - {"matrix": [3, 11], "x": 172, "y": 41, "flags": 4}, - {"matrix": [2, 13], "x": 187, "y": 41, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 41, "flags": 4}, - {"matrix": [4, 0], "x": 2, "y": 52, "flags": 4}, - {"matrix": [4, 1], "x": 18, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 33, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 62, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 77, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 92, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 106, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 121, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 136, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 150, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 165, "y": 52, "flags": 4}, - {"matrix": [4, 12], "x": 185, "y": 52, "flags": 4}, - {"matrix": [4, 14], "x": 209, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 20, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 38, "y": 64, "flags": 4}, - {"matrix": [5, 6], "x": 94, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 150, "y": 64, "flags": 4}, - {"matrix": [5, 11], "x": 172, "y": 64, "flags": 4}, - {"matrix": [5, 12], "x": 195, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 209, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 224, "y": 64, "flags": 1}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 45, "y": 0, "flags": 2}, - {"x": 90, "y": 0, "flags": 2}, - {"x": 134, "y": 0, "flags": 2}, - {"x": 179, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 0, "y": 32, "flags": 2}, - {"x": 224, "y": 32, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 45, "y": 64, "flags": 2}, - {"x": 90, "y": 64, "flags": 2}, - {"x": 134, "y": 64, "flags": 2}, - {"x": 179, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2} - ], "led_flush_limit": 26, "led_process_limit": 4, "sleep": true diff --git a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c index ecbe4b3122..8d9349e295 100644 --- a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c +++ b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c @@ -119,6 +119,36 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW4_CS3, SW4_CS2, SW4_CS1}, /* RGB40 */ }; +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15*/ + { 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, NO_LED, 9, 10, 11, 12, 13, }, /* R0 */ + { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, NO_LED, 27, 28, }, /* R1 */ + { 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 56, NO_LED, 43, }, /* R2 */ + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 42, NO_LED, 57, }, /* R3 */ + { 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, NO_LED, 71, NO_LED, }, /* R4 */ + { 72, 73, 74, NO_LED, NO_LED, NO_LED, 75, NO_LED, NO_LED, NO_LED, 76, 77, 78, NO_LED, 79, 80, }, /* R5 */ + }, { + {0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0}, + {0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17}, + {4, 29}, {22, 29}, {37, 29}, {51, 29}, {66, 29}, {81, 29}, {95, 29}, {110, 29}, {125, 29}, {140, 29}, {154, 29}, {169, 29}, {184, 29}, {200, 35}, {224, 29}, + {5, 41}, {26, 41}, {40, 41}, {55, 41}, {70, 41}, {84, 41}, {99, 41}, {114, 41}, {129, 41}, {143, 41}, {158, 41}, {172, 41}, {187, 41}, {224, 41}, + {2, 52}, {18, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {185, 52}, {209, 52}, + {2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64}, + {0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0}, + {0, 32}, {224,32}, + {0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64}, + }, { + 4,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,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,1, + 4,4,4,4,4,4,1,1,1, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2, + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kbdfans/boop65/rgb/keyboard.json b/keyboards/kbdfans/boop65/rgb/keyboard.json index 6fc36d1539..4a051c9112 100644 --- a/keyboards/kbdfans/boop65/rgb/keyboard.json +++ b/keyboards/kbdfans/boop65/rgb/keyboard.json @@ -56,91 +56,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 14], "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, 5], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 8], "x": 152, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 171, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}, - {"x": 0, "y": 8, "flags": 2}, - {"x": 32, "y": 8, "flags": 2}, - {"x": 64, "y": 8, "flags": 2}, - {"x": 96, "y": 8, "flags": 2}, - {"x": 128, "y": 8, "flags": 2}, - {"x": 160, "y": 8, "flags": 2}, - {"x": 192, "y": 8, "flags": 2}, - {"x": 224, "y": 8, "flags": 2}, - {"x": 0, "y": 56, "flags": 2}, - {"x": 32, "y": 56, "flags": 2}, - {"x": 64, "y": 56, "flags": 2}, - {"x": 96, "y": 56, "flags": 2}, - {"x": 128, "y": 56, "flags": 2}, - {"x": 160, "y": 56, "flags": 2}, - {"x": 192, "y": 56, "flags": 2}, - {"x": 224, "y": 56, "flags": 2} - ], "led_flush_limit": 26, "led_process_limit": 4, "max_brightness": 200, diff --git a/keyboards/kbdfans/boop65/rgb/rgb.c b/keyboards/kbdfans/boop65/rgb/rgb.c index 5a6caf64d1..f70c92812f 100644 --- a/keyboards/kbdfans/boop65/rgb/rgb.c +++ b/keyboards/kbdfans/boop65/rgb/rgb.c @@ -112,6 +112,29 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW6_CS39, SW6_CS38, SW6_CS37} }; +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, NO_LED,42, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED,56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, NO_LED, 63, 64, NO_LED, 65, 66 } +}, { + {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},{203,0},{224,0}, + {4,16},{23,16},{38,16},{53,16},{68,16},{83,16},{98,16},{113,16},{128,16},{143,16},{158,16},{173,16},{188,16},{206,16},{224,16}, + {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},{224,32}, + {9,48},{34,48},{49,48},{64,48},{79,48},{94,48},{109,48},{124,48},{139,48},{154,48},{169,48},{189,48},{210,48},{224,48}, + {2,64},{21,64},{39,64},{96,64},{152,64},{171,64},{195,64},{210,64},{224,64}, + {0,8},{32,8},{64,8},{96,8},{128,8},{160,8},{192,8},{224,8}, + {0,56},{32,56},{64,56},{96,56},{128,56},{160,56},{192,56},{224,56} +}, { + 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, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2 +} }; bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { diff --git a/keyboards/kbdfans/bounce/75/hotswap/readme.md b/keyboards/kbdfans/bounce/75/hotswap/readme.md index 94704924ca..7e631099cc 100644 --- a/keyboards/kbdfans/bounce/75/hotswap/readme.md +++ b/keyboards/kbdfans/bounce/75/hotswap/readme.md @@ -18,4 +18,4 @@ Enter the bootloader in 3 ways: * **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 -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/kbdfans/bounce/pad/keymaps/default/keymap.c b/keyboards/kbdfans/bounce/pad/keymaps/default/keymap.c index 9deceaf38a..70648d0ae9 100644 --- a/keyboards/kbdfans/bounce/pad/keymaps/default/keymap.c +++ b/keyboards/kbdfans/bounce/pad/keymaps/default/keymap.c @@ -25,4 +25,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P1, KC_P2, KC_P3, KC_P0, KC_PDOT, KC_PENT ), -}; +}; \ No newline at end of file diff --git a/keyboards/kbdfans/d60b/keyboard.json b/keyboards/kbdfans/d60b/keyboard.json deleted file mode 100644 index 817cc6f504..0000000000 --- a/keyboards/kbdfans/d60b/keyboard.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "manufacturer": "KBDfans", - "keyboard_name": "D60B", - "maintainer": "chrisgve", - "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi_tsangan_split_bs_rshift"], - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["F0", "F1", "F5", "F4", "E6", "B7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], - "rows": ["C7", "C6", "B6", "B5", "F6"] - }, - "processor": "atmega32u4", - "qmk": { - "locking": { - "enabled": true - } - }, - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "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 - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 32, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 7], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 176, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 208, "y": 64, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4} - ], - "max_brightness": 200, - "sleep": true - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x1600", - "vid": "0xCA04" - }, - "ws2812": { - "pin": "F7" - }, - "layouts": { - "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, 2], "x": 1.5, "y": 1}, - {"matrix": [1, 3], "x": 2.5, "y": 1}, - {"matrix": [1, 4], "x": 3.5, "y": 1}, - {"matrix": [1, 5], "x": 4.5, "y": 1}, - {"matrix": [1, 6], "x": 5.5, "y": 1}, - {"matrix": [1, 7], "x": 6.5, "y": 1}, - {"matrix": [1, 8], "x": 7.5, "y": 1}, - {"matrix": [1, 9], "x": 8.5, "y": 1}, - {"matrix": [1, 10], "x": 9.5, "y": 1}, - {"matrix": [1, 11], "x": 10.5, "y": 1}, - {"matrix": [1, 12], "x": 11.5, "y": 1}, - {"matrix": [1, 13], "x": 12.5, "y": 1}, - {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 1.75, "y": 2}, - {"matrix": [2, 3], "x": 2.75, "y": 2}, - {"matrix": [2, 4], "x": 3.75, "y": 2}, - {"matrix": [2, 5], "x": 4.75, "y": 2}, - {"matrix": [2, 6], "x": 5.75, "y": 2}, - {"matrix": [2, 7], "x": 6.75, "y": 2}, - {"matrix": [2, 8], "x": 7.75, "y": 2}, - {"matrix": [2, 9], "x": 8.75, "y": 2}, - {"matrix": [2, 10], "x": 9.75, "y": 2}, - {"matrix": [2, 11], "x": 10.75, "y": 2}, - {"matrix": [2, 12], "x": 11.75, "y": 2}, - {"matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 1], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 14], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 1.5, "y": 4}, - {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 13], "x": 12.5, "y": 4}, - {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/kbdfans/d60b/readme.md b/keyboards/kbdfans/d60b/readme.md deleted file mode 100644 index 903a52019f..0000000000 --- a/keyboards/kbdfans/d60b/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# KBDfans D60B - -Customizable 60% Tsangan Hotswap by PCB by [KBDfans](https://kbdfans.com). -This board has also, at times, been referred to as the Sun60, but the name on the PCB is D60 B. - -- Keyboard Maintainer: [chrisgve](https://github.com/chrisgve) -- Hardware Supported: KBDfans D60B -- Hardware Availability: no longer available for sale - -Make example for this keyboard (after setting up your build environment): - - make kbdfans/d60b:default - -The keyboard uses a DFU bootloader. To make a keymap and use dfu to flash it: - - make kbdfans/d60b: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**: Short the two pads close to the position of the caps lock key -- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/kbdfans/kbd19x/keyboard.json b/keyboards/kbdfans/kbd19x/keyboard.json index 8834b78d87..b5f4673060 100644 --- a/keyboards/kbdfans/kbd19x/keyboard.json +++ b/keyboards/kbdfans/kbd19x/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "KBD19x", "manufacturer": "KBDfans", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/kbdfans/kbd19x", "maintainer": "jshuf, mechmerlin", "usb": { "vid": "0x4B42", diff --git a/keyboards/kbdfans/kbd66/keymaps/default/readme.md b/keyboards/kbdfans/kbd66/keymaps/default/readme.md index a12dc59927..f4ab771a5d 100644 --- a/keyboards/kbdfans/kbd66/keymaps/default/readme.md +++ b/keyboards/kbdfans/kbd66/keymaps/default/readme.md @@ -9,4 +9,4 @@ Backlight breathing: Fn + , Volume Up/Down: Fn + [ and Fn + ] Mute: Fn + \ Sleep: Fn + / -Bootloader Mode: Fn + CapsLock +Bootloader Mode: Fn + CapsLock \ No newline at end of file diff --git a/keyboards/kbdfans/kbd66/keymaps/default_ansi_split_space/readme.md b/keyboards/kbdfans/kbd66/keymaps/default_ansi_split_space/readme.md index 0529349022..6ad0d85e08 100644 --- a/keyboards/kbdfans/kbd66/keymaps/default_ansi_split_space/readme.md +++ b/keyboards/kbdfans/kbd66/keymaps/default_ansi_split_space/readme.md @@ -8,4 +8,4 @@ Backlight breathing: Fn + , Volume Up/Down: Fn + [ and Fn + ] Mute: Fn + \ Sleep: Fn + / -Bootloader Mode: Fn + CapsLock +Bootloader Mode: Fn + CapsLock \ No newline at end of file diff --git a/keyboards/kbdfans/kbd66/keymaps/default_iso_split_space/readme.md b/keyboards/kbdfans/kbd66/keymaps/default_iso_split_space/readme.md index 8abe42ae56..f325b741cc 100644 --- a/keyboards/kbdfans/kbd66/keymaps/default_iso_split_space/readme.md +++ b/keyboards/kbdfans/kbd66/keymaps/default_iso_split_space/readme.md @@ -8,4 +8,4 @@ Backlight breathing: Fn + , Volume Up/Down: Fn + [ and Fn + ] Mute: Fn + # Sleep: Fn + / -Bootloader Mode: Fn + CapsLock +Bootloader Mode: Fn + CapsLock \ No newline at end of file diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json index 9b034ef194..f55a649f43 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json @@ -37,75 +37,6 @@ "animation": "cycle_all" }, "driver": "is31fl3731", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 14], "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, 5], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 8], "x": 152, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 171, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "led_flush_limit": 26, "led_process_limit": 4, "max_brightness": 200, diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c b/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c index 7d25400d7f..210be85d3f 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c @@ -92,6 +92,10 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { }; +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, NO_LED, 42, 43}, {44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57}, {58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, NO_LED, 63, 64, NO_LED, 65, 66}}, + {{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}, {203, 0}, {224, 0}, {4, 16}, {23, 16}, {38, 16}, {53, 16}, {68, 16}, {83, 16}, {98, 16}, {113, 16}, {128, 16}, {143, 16}, {158, 16}, {173, 16}, {188, 16}, {206, 16}, {224, 16}, {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}, {224, 32}, {9, 48}, {34, 48}, {49, 48}, {64, 48}, {79, 48}, {94, 48}, {109, 48}, {124, 48}, {139, 48}, {154, 48}, {169, 48}, {189, 48}, {210, 48}, {224, 48}, {2, 64}, {21, 64}, {39, 64}, {96, 64}, {152, 64}, {171, 64}, {195, 64}, {210, 64}, {224, 64}}, + {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, 1, 1}}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json index 012ab5257b..916ee0f33a 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json @@ -35,75 +35,6 @@ "animation": "cycle_all" }, "driver": "is31fl3731", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 14], "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, 5], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 8], "x": 152, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 171, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "led_flush_limit": 26, "led_process_limit": 4, "sleep": true diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c b/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c index f32d5b2f1d..50958017a2 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c @@ -92,6 +92,27 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { }; +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, NO_LED,42, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED,56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, NO_LED, 63, 64, NO_LED, 65, 66 } +}, { + {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},{203,0},{224,0}, + {4,16},{23,16},{38,16},{53,16},{68,16},{83,16},{98,16},{113,16},{128,16},{143,16},{158,16},{173,16},{188,16},{206,16},{224,16}, + {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},{224,32}, + {9,48},{34,48},{49,48},{64,48},{79,48},{94,48},{109,48},{124,48},{139,48},{154,48},{169,48},{189,48},{210,48},{224,48}, + {2,64},{21,64},{39,64},{96,64},{152,64},{171,64},{195,64},{210,64},{224,64} +}, { + 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, 1, 1 +} }; + + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb/v3/keyboard.json index bab449e144..4a3beea9eb 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v3/keyboard.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/keyboard.json @@ -37,75 +37,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "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": 202, "y": 0, "flags": 4}, - {"matrix": [0, 14], "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, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 9}, - {"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": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 63, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 78, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 93, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 108, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 123, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 138, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 153, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 168, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 209, "y": 48, "flags": 4}, - {"matrix": [3, 14], "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, 5], "x": 95, "y": 64, "flags": 4}, - {"matrix": [4, 8], "x": 151, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 170, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 194, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "val_steps": 8, "led_flush_limit": 26, "led_process_limit": 4, diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c b/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c index dd3fd96e1c..0b40afadf9 100755 --- a/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c @@ -94,7 +94,33 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { }; +#define __ NO_LED #define CAPS_LOCK_LED_INDEX 30 + +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 } +}, { + // LED Index to Physical Position + // based on: https://gist.github.com/vinorodrigues/07fd735683856b2a06c7c52b9b3878cb + {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}, {202, 0}, {224, 0}, + {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}, {205, 16}, {224, 16}, + {6, 32}, {26, 32}, {41, 32}, {56, 32}, {71, 32}, {86, 32}, {101, 32}, {116, 32}, {131, 32}, {146, 32}, {161, 32}, {175, 32}, {200, 32}, {224, 32}, + {9, 48}, {34, 48}, {49, 48}, {63, 48}, {78, 48}, {93, 48}, {108, 48}, {123, 48}, {138, 48}, {153, 48}, {168, 48}, {189, 48}, {209, 48}, {224, 48}, + {2, 64}, {21, 64}, {39, 64}, {95, 64}, {151, 64}, {170, 64}, {194, 64}, {209, 64}, {224, 64} +}, { + // LED Index to Flag + 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, + 9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // caps lock is also an indicator so mask is `0x01 | 0x08` + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1 +} }; + #endif #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json index 574a02088f..ed47182ae5 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json @@ -52,75 +52,6 @@ "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 4, "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 201, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 64, "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}, - {"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, 5], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 152, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 171, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "max_brightness": 150, "sat_steps": 8, "val_steps": 8, diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/readme.md b/keyboards/kbdfans/kbd67/mkiirgb/v4/readme.md index 75e3657292..ad8b38a62e 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/readme.md +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/readme.md @@ -15,4 +15,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## 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` +* **Keycode in layout**: Press the key mapped to `QK_BOOT` \ No newline at end of file diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/v4.c b/keyboards/kbdfans/kbd67/mkiirgb/v4/v4.c index f9af0a3df9..24ccaea968 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/v4.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/v4.c @@ -17,6 +17,28 @@ #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, 13, 14 }, + { 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,NO_LED, 43 }, + { 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, NO_LED,45, 44 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, NO_LED,65, 66 } +}, { + {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},{203,0},{224,0}, + {224,16},{206,16},{188,16},{173,16},{158,16},{143,16},{128,16},{113,16},{98,16},{83,16}, {68,16},{53,16},{38,16},{23,16},{4,16}, + {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},{224,32}, + {224,48},{210,48},{189,48},{169,48},{154,48},{139,48},{124,48},{109,48},{94,48},{79,48},{64,48},{49,48},{34,48},{9,48}, + {2,64},{21,64},{39,64},{96,64},{152,64},{171,64},{195,64},{210,64},{224,64} +}, { + 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, 1, 1 +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json index 3d544fe88c..5000f8fb0a 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json @@ -40,76 +40,6 @@ "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 4, "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 191, "y": 32, "flags": 4}, - {"matrix": [1, 13], "x": 206, "y": 24, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 21, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 2, "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, 5], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 152, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 171, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "sat_steps": 8, "val_steps": 8, "speed_steps": 10, diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/mkiirgb_iso.c b/keyboards/kbdfans/kbd67/mkiirgb_iso/mkiirgb_iso.c index 8aa7d42ef3..432c871dba 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/mkiirgb_iso.c +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/mkiirgb_iso.c @@ -17,6 +17,28 @@ #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, 13, 14 }, + { 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 42, 15 }, + { 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,NO_LED, 43 }, + { 58, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, NO_LED,45, 44 }, + { 59, 60, 61, 57, NO_LED, 62, NO_LED, NO_LED, NO_LED, 63, 64, 65, NO_LED,66, 67 } +}, { + {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},{203,0},{224,0}, + {224,16},{188,16},{173,16},{158,16},{143,16},{128,16},{113,16},{98,16},{83,16}, {68,16},{53,16},{38,16},{23,16},{4,16}, + {6,32},{26,32},{41,32},{56,32},{71,32},{86,32},{101,32},{116,32},{131,32},{146,32},{161,32},{176,32},{191,32},{206,24},{224,32}, + {224,48},{210,48},{189,48},{169,48},{154,48},{139,48},{124,48},{109,48},{94,48},{79,48},{64,48},{49,48},{34,48},{21,48},{2,48}, + {2,64},{21,64},{39,64},{96,64},{152,64},{171,64},{195,64},{210,64},{224,64} +}, { + 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, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1 +} }; + + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kbdfans/kbd75rgb/kbd75rgb.c b/keyboards/kbdfans/kbd75rgb/kbd75rgb.c index 45e195524a..622ca83b68 100644 --- a/keyboards/kbdfans/kbd75rgb/kbd75rgb.c +++ b/keyboards/kbdfans/kbd75rgb/kbd75rgb.c @@ -17,6 +17,29 @@ #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, 13, 15}, + { 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16}, + { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45}, + { 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 14, 47, 46}, + { 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, NO_LED,72, 73}, + { 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}, {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, +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,1,4,1,1,1,4,4,4, +4,4,4,4 +} }; + + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kbdfans/kbd75rgb/keyboard.json b/keyboards/kbdfans/kbd75rgb/keyboard.json index af6379071d..6a69d78c03 100644 --- a/keyboards/kbdfans/kbd75rgb/keyboard.json +++ b/keyboards/kbdfans/kbd75rgb/keyboard.json @@ -58,92 +58,6 @@ "animation": "cycle_all" }, "driver": "ws2812", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 195, "y": 0, "flags": 4}, - {"matrix": [3, 12], "x": 210, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 12, "flags": 4}, - {"matrix": [1, 13], "x": 218, "y": 12, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 12, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 12, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 12, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 12, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 12, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 16, "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": 16, "y": 25, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 25, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 25, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 25, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 25, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 25, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 25, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 25, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 25, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 25, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 25, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 25, "flags": 4}, - {"matrix": [2, 13], "x": 218, "y": 25, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 25, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 200, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 176, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 144, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 16, "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": 16, "y": 51, "flags": 4}, - {"matrix": [4, 2], "x": 32, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 64, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 80, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 112, "y": 51, "flags": 4}, - {"matrix": [4, 8], "x": 128, "y": 51, "flags": 4}, - {"matrix": [4, 9], "x": 144, "y": 51, "flags": 4}, - {"matrix": [4, 10], "x": 160, "y": 51, "flags": 4}, - {"matrix": [4, 11], "x": 189, "y": 51, "flags": 4}, - {"matrix": [4, 13], "x": 218, "y": 51, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 51, "flags": 4}, - {"matrix": [5, 14], "x": 224, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 218, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 192, "y": 64, "flags": 1}, - {"matrix": [5, 10], "x": 176, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 160, "y": 64, "flags": 4}, - {"matrix": [5, 8], "x": 144, "y": 64, "flags": 4}, - {"matrix": [5, 5], "x": 80, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 32, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 16, "y": 64, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4} - ], "sat_steps": 8, "val_steps": 8, "speed_steps": 10, diff --git a/keyboards/kbdfans/kbd8x_mk2/keymaps/tester/readme.md b/keyboards/kbdfans/kbd8x_mk2/keymaps/tester/readme.md index 320ce9fd0d..3de082bed9 100644 --- a/keyboards/kbdfans/kbd8x_mk2/keymaps/tester/readme.md +++ b/keyboards/kbdfans/kbd8x_mk2/keymaps/tester/readme.md @@ -15,4 +15,4 @@ F8 = RGB Hue Decrease F9 = RGB Saturation Increase F10 = RGB Saturation Decrease F11 = RGB Value Increase -F12 = RGB Value Decrease +F12 = RGB Value Decrease \ No newline at end of file diff --git a/keyboards/kbdfans/kbdmini/kbdmini.c b/keyboards/kbdfans/kbdmini/kbdmini.c index c9b558b7d3..18acc21da4 100644 --- a/keyboards/kbdfans/kbdmini/kbdmini.c +++ b/keyboards/kbdfans/kbdmini/kbdmini.c @@ -57,3 +57,22 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW11_CS2, SW10_CS2, SW12_CS2 }, //LA8 { 0, SW11_CS1, SW10_CS1, SW12_CS1 } //LA4 }; + +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 } + }, { + { 0, 0 }, { 19, 0 }, { 38, 0 }, { 57, 0 }, { 76, 0 }, { 95, 0 }, { 114, 0 }, { 133, 0 }, { 152, 0 }, { 171, 0 }, { 190, 0 }, { 209, 0 }, { 224, 0 }, + { 0, 21 }, { 19, 21 }, { 38, 21 }, { 57, 21 }, { 76, 21 }, { 95, 21 }, { 114, 21 }, { 133, 21 }, { 152, 21 }, { 171, 21 }, { 190, 21 }, { 209, 21 }, { 224, 21 }, + { 0, 42 }, { 19, 42 }, { 38, 42 }, { 57, 42 }, { 76, 42 }, { 95, 42 }, { 114, 42 }, { 133, 42 }, { 152, 42 }, { 171, 42 }, { 190, 42 }, { 209, 42 }, { 224, 42 }, + { 0, 64 }, { 19, 64 }, { 38, 64 }, { 57, 64 }, { 76, 64 }, { 95, 64 }, { 114, 64 }, { 133, 64 }, { 152, 64 }, { 171, 64 }, { 190, 64 }, { 209, 64 }, { 224, 64 } + }, { + 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, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + } +}; diff --git a/keyboards/kbdfans/kbdmini/keyboard.json b/keyboards/kbdfans/kbdmini/keyboard.json index 90ec227140..97edf073e6 100644 --- a/keyboards/kbdfans/kbdmini/keyboard.json +++ b/keyboards/kbdfans/kbdmini/keyboard.json @@ -37,60 +37,6 @@ "typing_heatmap": true }, "driver": "is31fl3733", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 19, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 38, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 57, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 76, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 95, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 114, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 133, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 152, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 171, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 190, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 209, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, - {"matrix": [1, 1], "x": 19, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 21, "flags": 4}, - {"matrix": [1, 3], "x": 57, "y": 21, "flags": 4}, - {"matrix": [1, 4], "x": 76, "y": 21, "flags": 4}, - {"matrix": [1, 5], "x": 95, "y": 21, "flags": 4}, - {"matrix": [1, 6], "x": 114, "y": 21, "flags": 4}, - {"matrix": [1, 7], "x": 133, "y": 21, "flags": 4}, - {"matrix": [1, 8], "x": 152, "y": 21, "flags": 4}, - {"matrix": [1, 9], "x": 171, "y": 21, "flags": 4}, - {"matrix": [1, 10], "x": 190, "y": 21, "flags": 4}, - {"matrix": [1, 11], "x": 209, "y": 21, "flags": 4}, - {"matrix": [1, 12], "x": 224, "y": 21, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1}, - {"matrix": [2, 1], "x": 19, "y": 42, "flags": 4}, - {"matrix": [2, 2], "x": 38, "y": 42, "flags": 4}, - {"matrix": [2, 3], "x": 57, "y": 42, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 42, "flags": 4}, - {"matrix": [2, 5], "x": 95, "y": 42, "flags": 4}, - {"matrix": [2, 6], "x": 114, "y": 42, "flags": 4}, - {"matrix": [2, 7], "x": 133, "y": 42, "flags": 4}, - {"matrix": [2, 8], "x": 152, "y": 42, "flags": 4}, - {"matrix": [2, 9], "x": 171, "y": 42, "flags": 4}, - {"matrix": [2, 10], "x": 190, "y": 42, "flags": 4}, - {"matrix": [2, 11], "x": 209, "y": 42, "flags": 4}, - {"matrix": [2, 12], "x": 224, "y": 42, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [3, 1], "x": 19, "y": 64, "flags": 1}, - {"matrix": [3, 2], "x": 38, "y": 64, "flags": 1}, - {"matrix": [3, 3], "x": 57, "y": 64, "flags": 1}, - {"matrix": [3, 4], "x": 76, "y": 64, "flags": 1}, - {"matrix": [3, 5], "x": 95, "y": 64, "flags": 1}, - {"matrix": [3, 6], "x": 114, "y": 64, "flags": 1}, - {"matrix": [3, 7], "x": 133, "y": 64, "flags": 1}, - {"matrix": [3, 8], "x": 152, "y": 64, "flags": 1}, - {"matrix": [3, 9], "x": 171, "y": 64, "flags": 1}, - {"matrix": [3, 10], "x": 190, "y": 64, "flags": 1}, - {"matrix": [3, 11], "x": 209, "y": 64, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 64, "flags": 1} - ], "sleep": true }, "features": { diff --git a/keyboards/kbdfans/kbdpad/mk2/keymaps/tester/readme.md b/keyboards/kbdfans/kbdpad/mk2/keymaps/tester/readme.md index 286229e367..3cd1e9b67b 100644 --- a/keyboards/kbdfans/kbdpad/mk2/keymaps/tester/readme.md +++ b/keyboards/kbdfans/kbdpad/mk2/keymaps/tester/readme.md @@ -6,4 +6,4 @@ From left to right: Backlight Toggle Backlight Step RGB Toggle -RGB Mode Cycle +RGB Mode Cycle \ No newline at end of file diff --git a/keyboards/kbdfans/maja/keyboard.json b/keyboards/kbdfans/maja/keyboard.json index fd5d10d833..949dd09fe2 100644 --- a/keyboards/kbdfans/maja/keyboard.json +++ b/keyboards/kbdfans/maja/keyboard.json @@ -40,75 +40,6 @@ "animation": "cycle_all" }, "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 4, "y": 1, "flags": 1}, - {"matrix": [0, 1], "x": 18, "y": 1, "flags": 4}, - {"matrix": [0, 2], "x": 31, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 46, "y": 3, "flags": 4}, - {"matrix": [0, 4], "x": 59, "y": 5, "flags": 4}, - {"matrix": [0, 5], "x": 73, "y": 7, "flags": 4}, - {"matrix": [0, 6], "x": 86, "y": 10, "flags": 4}, - {"matrix": [0, 7], "x": 107, "y": 9, "flags": 4}, - {"matrix": [0, 8], "x": 121, "y": 7, "flags": 4}, - {"matrix": [0, 9], "x": 134, "y": 4, "flags": 4}, - {"matrix": [0, 10], "x": 148, "y": 2, "flags": 4}, - {"matrix": [0, 11], "x": 162, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 176, "y": 2, "flags": 4}, - {"matrix": [0, 13], "x": 196, "y": 2, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 5, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 22, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 37, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 50, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 20, "flags": 4}, - {"matrix": [1, 5], "x": 77, "y": 22, "flags": 4}, - {"matrix": [1, 6], "x": 103, "y": 23, "flags": 4}, - {"matrix": [1, 7], "x": 117, "y": 21, "flags": 4}, - {"matrix": [1, 8], "x": 130, "y": 19, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 171, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 186, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 202, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 4, "y": 28, "flags": 4}, - {"matrix": [2, 1], "x": 23, "y": 28, "flags": 4}, - {"matrix": [2, 2], "x": 38, "y": 29, "flags": 4}, - {"matrix": [2, 3], "x": 51, "y": 31, "flags": 4}, - {"matrix": [2, 4], "x": 65, "y": 34, "flags": 4}, - {"matrix": [2, 5], "x": 78, "y": 36, "flags": 4}, - {"matrix": [2, 6], "x": 109, "y": 36, "flags": 4}, - {"matrix": [2, 7], "x": 122, "y": 34, "flags": 4}, - {"matrix": [2, 8], "x": 136, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 150, "y": 29, "flags": 4}, - {"matrix": [2, 10], "x": 164, "y": 29, "flags": 4}, - {"matrix": [2, 11], "x": 177, "y": 29, "flags": 4}, - {"matrix": [2, 13], "x": 200, "y": 29, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 29, "flags": 4}, - {"matrix": [3, 0], "x": 5, "y": 42, "flags": 4}, - {"matrix": [3, 1], "x": 27, "y": 42, "flags": 4}, - {"matrix": [3, 2], "x": 42, "y": 43, "flags": 4}, - {"matrix": [3, 3], "x": 55, "y": 46, "flags": 4}, - {"matrix": [3, 4], "x": 69, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 82, "y": 51, "flags": 4}, - {"matrix": [3, 6], "x": 104, "y": 51, "flags": 4}, - {"matrix": [3, 7], "x": 118, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 131, "y": 46, "flags": 4}, - {"matrix": [3, 9], "x": 145, "y": 44, "flags": 4}, - {"matrix": [3, 10], "x": 159, "y": 43, "flags": 4}, - {"matrix": [3, 11], "x": 173, "y": 43, "flags": 4}, - {"matrix": [3, 12], "x": 192, "y": 43, "flags": 4}, - {"matrix": [3, 13], "x": 214, "y": 46, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 55, "flags": 4}, - {"matrix": [4, 2], "x": 40, "y": 58, "flags": 4}, - {"matrix": [4, 3], "x": 62, "y": 61, "flags": 4}, - {"matrix": [4, 5], "x": 86, "y": 64, "flags": 1}, - {"matrix": [4, 7], "x": 119, "y": 62, "flags": 4}, - {"matrix": [4, 9], "x": 147, "y": 58, "flags": 4}, - {"matrix": [4, 12], "x": 201, "y": 60, "flags": 1}, - {"matrix": [4, 13], "x": 214, "y": 60, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 60, "flags": 1} - ], "led_flush_limit": 26, "led_process_limit": 4, "sleep": true diff --git a/keyboards/kbdfans/maja/maja.c b/keyboards/kbdfans/maja/maja.c index c1db8e606c..cc073930bc 100755 --- a/keyboards/kbdfans/maja/maja.c +++ b/keyboards/kbdfans/maja/maja.c @@ -74,6 +74,26 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {1, C8_16, C7_16, C6_16} // LD17 }; +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, NO_LED, 42, 43}, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, NO_LED}, + { 58, NO_LED, 59, 60, NO_LED, 61, NO_LED, 62, NO_LED, 63, NO_LED, NO_LED, 64, 65, 66} +}, { + {4,1},{18,1},{31,0},{46,3},{59,5},{73,7},{86,10},{107,9},{121,7},{134,4},{148,2},{162,0},{176,2},{196,2},{224,0}, + {5,15},{22,15},{37,15},{50,17},{64,20},{77,22},{103,23},{117,21},{130,19},{143,16},{158,15},{171,16},{186,16},{202,16},{224,16}, + {4,28},{23,28},{38,29},{51,31},{65,34},{78,36},{109,36},{122,34},{136,32},{150,29},{164,29},{177,29},{200,29},{224,29}, + {5,42},{27,42},{42,43},{55,46},{69,48},{82,51},{104,51},{118,48},{131,46},{145,44},{159,43},{173,43},{192,43},{214,46}, + {0,55},{40,58},{62,61},{86,64},{119,62},{147,58},{201,60},{214,60},{224,60} +}, { + 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, 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, 1, + 4, 4, 4, 1, 4, 4, 1, 1, 1 +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kbdfans/odin/rgb/keyboard.json b/keyboards/kbdfans/odin/rgb/keyboard.json index 8e14e1210a..1fb5a833ec 100644 --- a/keyboards/kbdfans/odin/rgb/keyboard.json +++ b/keyboards/kbdfans/odin/rgb/keyboard.json @@ -59,112 +59,6 @@ "animation": "cycle_all" }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 36, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 108, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 120, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 132, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 156, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 168, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 16], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 17], "x": 204, "y": 0, "flags": 4}, - {"matrix": [0, 18], "x": 216, "y": 0, "flags": 4}, - {"matrix": [0, 19], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 19], "x": 224, "y": 14, "flags": 4}, - {"matrix": [1, 18], "x": 216, "y": 14, "flags": 4}, - {"matrix": [1, 17], "x": 204, "y": 14, "flags": 4}, - {"matrix": [1, 16], "x": 192, "y": 14, "flags": 4}, - {"matrix": [1, 15], "x": 180, "y": 14, "flags": 4}, - {"matrix": [1, 13], "x": 156, "y": 14, "flags": 4}, - {"matrix": [1, 12], "x": 144, "y": 14, "flags": 4}, - {"matrix": [1, 11], "x": 132, "y": 14, "flags": 4}, - {"matrix": [1, 10], "x": 120, "y": 14, "flags": 4}, - {"matrix": [1, 9], "x": 108, "y": 14, "flags": 4}, - {"matrix": [1, 8], "x": 96, "y": 14, "flags": 4}, - {"matrix": [1, 7], "x": 84, "y": 14, "flags": 4}, - {"matrix": [1, 6], "x": 72, "y": 14, "flags": 4}, - {"matrix": [1, 5], "x": 60, "y": 14, "flags": 4}, - {"matrix": [1, 4], "x": 48, "y": 14, "flags": 4}, - {"matrix": [1, 3], "x": 36, "y": 14, "flags": 4}, - {"matrix": [1, 2], "x": 24, "y": 14, "flags": 4}, - {"matrix": [1, 1], "x": 12, "y": 14, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 14, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 27, "flags": 4}, - {"matrix": [2, 1], "x": 12, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 24, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 48, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 60, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 72, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 84, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 96, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 108, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 132, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 144, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 156, "y": 27, "flags": 4}, - {"matrix": [2, 15], "x": 180, "y": 27, "flags": 4}, - {"matrix": [2, 16], "x": 192, "y": 27, "flags": 4}, - {"matrix": [2, 17], "x": 204, "y": 27, "flags": 4}, - {"matrix": [2, 18], "x": 216, "y": 27, "flags": 4}, - {"matrix": [2, 19], "x": 224, "y": 33, "flags": 4}, - {"matrix": [3, 18], "x": 216, "y": 40, "flags": 4}, - {"matrix": [3, 17], "x": 204, "y": 40, "flags": 4}, - {"matrix": [3, 16], "x": 192, "y": 40, "flags": 4}, - {"x": 224, "y": 0, "flags": 4}, - {"x": 0, "y": 0, "flags": 4}, - {"x": 0, "y": 64, "flags": 4}, - {"x": 224, "y": 64, "flags": 4}, - {"matrix": [3, 13], "x": 156, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 132, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 120, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 108, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 96, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 84, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 72, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 48, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 36, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 24, "y": 40, "flags": 4}, - {"matrix": [3, 1], "x": 12, "y": 40, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 40, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 24, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 36, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 48, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 60, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 72, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 84, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 96, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 108, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 132, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 156, "y": 52, "flags": 4}, - {"matrix": [4, 15], "x": 180, "y": 52, "flags": 4}, - {"matrix": [4, 16], "x": 192, "y": 52, "flags": 4}, - {"matrix": [4, 17], "x": 204, "y": 52, "flags": 4}, - {"matrix": [4, 18], "x": 216, "y": 52, "flags": 4}, - {"matrix": [4, 19], "x": 224, "y": 58, "flags": 4}, - {"matrix": [5, 18], "x": 216, "y": 64, "flags": 4}, - {"matrix": [5, 17], "x": 204, "y": 64, "flags": 4}, - {"matrix": [5, 16], "x": 192, "y": 64, "flags": 4}, - {"matrix": [5, 15], "x": 180, "y": 64, "flags": 4}, - {"matrix": [5, 14], "x": 168, "y": 64, "flags": 4}, - {"matrix": [5, 13], "x": 156, "y": 64, "flags": 4}, - {"matrix": [5, 11], "x": 132, "y": 64, "flags": 4}, - {"matrix": [5, 6], "x": 72, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 24, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 12, "y": 64, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4} - ], "max_brightness": 150, "sleep": true }, diff --git a/keyboards/kbdfans/odin/rgb/rgb.c b/keyboards/kbdfans/odin/rgb/rgb.c index 1cfe8d487c..2774ca7a6e 100644 --- a/keyboards/kbdfans/odin/rgb/rgb.c +++ b/keyboards/kbdfans/odin/rgb/rgb.c @@ -16,6 +16,31 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + { 0, NO_LED, 1, 2, 3, 4, NO_LED, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 }, + { 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, NO_LED, 22, 21, 20, 19, 18 }, + { 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, NO_LED, 51, 52, 53, 54, 55 }, + { 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, NO_LED, 63, NO_LED, NO_LED, 58, 57, 56, NO_LED }, + { 76, NO_LED, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, NO_LED, 87, NO_LED, 88, 89, 90, 91, 92 }, + { 103, 102, 101, NO_LED, NO_LED, NO_LED, 100, NO_LED, NO_LED, NO_LED, NO_LED, 99, NO_LED, 98, 97, 96, 95, 94, 93, NO_LED } + }, { + { 0, 0 }, { 24, 0 }, { 36, 0 }, { 48, 0 }, { 60, 0 }, { 84, 0 }, { 96, 0 }, { 108, 0 }, { 120, 0 }, { 132, 0 }, { 144, 0 }, { 156, 0 }, { 168, 0 }, { 180, 0 }, { 192, 0 }, { 204, 0 }, { 216, 0 }, { 224, 0 }, + { 224, 14 }, { 216, 14 }, { 204, 14 }, { 192, 14 }, { 180, 14 }, { 156, 14 }, { 144, 14 }, { 132, 14 }, { 120, 14 }, { 108, 14 }, { 96, 14 }, { 84, 14 }, { 72, 14 }, { 60, 14 }, { 48, 14 }, { 36, 14 }, { 24, 14 }, { 12, 14 }, { 0, 14 }, + { 0, 27 }, { 12, 27 }, { 24, 27 }, { 36, 27 }, { 48, 27 }, { 60, 27 }, { 72, 27 }, { 84, 27 }, { 96, 27 }, { 108, 27 }, { 120, 27 }, { 132, 27 }, { 144, 27 }, { 156, 27 }, { 180, 27 }, { 192, 27 }, { 204, 27 }, { 216, 27 }, { 224, 33 }, + { 216, 40 }, { 204, 40 }, { 192, 40 }, { 224, 0 }, { 0, 0 }, { 0, 64 }, { 224, 64 }, { 156, 40 }, { 132, 40 }, { 120, 40 }, { 108, 40 }, { 96, 40 }, { 84, 40 }, { 72, 40 }, { 60, 40 }, { 48, 40 }, { 36, 40 }, { 24, 40 }, { 12, 40 }, { 0, 40 }, + { 0, 52 }, { 24, 52 }, { 36, 52 }, { 48, 52 }, { 60, 52 }, { 72, 52 }, { 84, 52 }, { 96, 52 }, { 108, 52 }, { 120, 52 }, { 132, 52 }, { 156, 52 }, { 180, 52 }, { 192, 52 }, { 204, 52 }, { 216, 52 }, { 224, 58 }, + { 216, 64 }, { 204, 64 }, { 192, 64 }, { 180, 64 }, { 168, 64 }, { 156, 64 }, { 132, 64 }, { 72, 64 }, { 24, 64 }, { 12, 64 }, { 0, 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 + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kbdmania/kmac/matrix.c b/keyboards/kbdmania/kmac/matrix.c index 60e63281ba..ea149c49ad 100644 --- a/keyboards/kbdmania/kmac/matrix.c +++ b/keyboards/kbdmania/kmac/matrix.c @@ -24,48 +24,39 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; /* matrix state(1:on, 0:off) */ -static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -static matrix_row_t matrix[MATRIX_ROWS]; // debounced values +static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +static matrix_row_t matrix[MATRIX_ROWS]; // debounced values -__attribute__((weak)) void matrix_init_kb(void) { - matrix_init_user(); -} +__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { - matrix_scan_user(); -} +__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); } __attribute__((weak)) void matrix_init_user(void) {} __attribute__((weak)) void matrix_scan_user(void) {} -inline uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} +inline uint8_t matrix_rows(void) { return MATRIX_ROWS; } -inline uint8_t matrix_cols(void) { - return MATRIX_COLS; -} +inline uint8_t matrix_cols(void) { return MATRIX_COLS; } -inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & ((matrix_row_t)1 << col)); -} +inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); } -inline matrix_row_t matrix_get_row(uint8_t row) { - return matrix[row]; -} +inline matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } void matrix_print(void) { print_matrix_header(); @@ -154,18 +145,18 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) if (row_index == 3 && current_col == 0) { if (gpio_read_pin(E2) == 0) { // Pin LO, set col bit - current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] |= (ROW_SHIFTER << current_col); } else { // Pin HI, clear col bit - current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] &= ~(ROW_SHIFTER << current_col); } } else { if (gpio_read_pin(row_pins[row_index]) == 0) { // Pin HI, clear col bit - current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] &= ~(ROW_SHIFTER << current_col); } else { // Pin LO, set col bit - current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] |= (ROW_SHIFTER << current_col); } } @@ -191,7 +182,7 @@ void matrix_init(void) { matrix[i] = 0; } - debounce_init(); + debounce_init(MATRIX_ROWS); matrix_init_kb(); } @@ -203,7 +194,7 @@ uint8_t matrix_scan(void) { changed |= read_rows_on_col(raw_matrix, current_col); } - debounce(raw_matrix, matrix, changed); + debounce(raw_matrix, matrix, MATRIX_ROWS, changed); matrix_scan_kb(); diff --git a/keyboards/kbnordic/nordic65/rev_a/matrix_diagram.md b/keyboards/kbnordic/nordic65/rev_a/matrix_diagram.md index 0bc0c86a99..fa1f3b2cbc 100644 --- a/keyboards/kbnordic/nordic65/rev_a/matrix_diagram.md +++ b/keyboards/kbnordic/nordic65/rev_a/matrix_diagram.md @@ -22,4 +22,4 @@ ┌─────┬───┬─────┬───────────────────────────┬─────┐ │40 │41 │42 │46 │4B │ Tsangan └─────┴───┴─────┴───────────────────────────┴─────┘ -``` +``` \ No newline at end of file diff --git a/keyboards/keaboard/readme.md b/keyboards/keaboard/readme.md index 9912ee4b8b..71473211ed 100644 --- a/keyboards/keaboard/readme.md +++ b/keyboards/keaboard/readme.md @@ -18,4 +18,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader -Enter the bootloader by holding tapping reset button on the top edge of the board. +Enter the bootloader by holding tapping reset button on the top edge of the board. \ No newline at end of file diff --git a/keyboards/keebfront/vanguard65/readme.md b/keyboards/keebfront/vanguard65/readme.md index b7091c9ea0..d054271bb3 100644 --- a/keyboards/keebfront/vanguard65/readme.md +++ b/keyboards/keebfront/vanguard65/readme.md @@ -26,4 +26,4 @@ Enter the bootloader in 2 ways: * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available ## Matrix Diagram -![MatrixCoordinates](https://i.imgur.com/rQfEXyeh.jpeg) +![MatrixCoordinates](https://i.imgur.com/rQfEXyeh.jpeg) \ No newline at end of file diff --git a/keyboards/keebio/bamfk4/bamfk4.c b/keyboards/keebio/bamfk4/bamfk4.c new file mode 100644 index 0000000000..757bc03f72 --- /dev/null +++ b/keyboards/keebio/bamfk4/bamfk4.c @@ -0,0 +1,37 @@ +// Copyright 2022 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, NO_LED, NO_LED, NO_LED }, +}, { + // LED Index to Physical Position + //through switch + { 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 }, { 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, + 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 \ No newline at end of file diff --git a/keyboards/keebio/bamfk4/config.h b/keyboards/keebio/bamfk4/config.h index 832d0afd67..e97e28f5a9 100644 --- a/keyboards/keebio/bamfk4/config.h +++ b/keyboards/keebio/bamfk4/config.h @@ -4,3 +4,19 @@ #pragma once #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/keebio/bamfk4/keyboard.json b/keyboards/keebio/bamfk4/keyboard.json index 98ea684637..08b3900766 100644 --- a/keyboards/keebio/bamfk4/keyboard.json +++ b/keyboards/keebio/bamfk4/keyboard.json @@ -50,40 +50,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"x": 26, "y": 10, "flags": 4}, - {"x": 4, "y": 10, "flags": 4}, - {"x": 3, "y": 49, "flags": 4}, - {"x": 23, "y": 49, "flags": 4}, - {"x": 69, "y": 49, "flags": 4}, - {"x": 68, "y": 10, "flags": 4}, - {"x": 90, "y": 10, "flags": 4}, - {"x": 89, "y": 49, "flags": 4}, - {"x": 134, "y": 49, "flags": 4}, - {"x": 132, "y": 10, "flags": 4}, - {"x": 155, "y": 10, "flags": 4}, - {"x": 155, "y": 49, "flags": 4}, - {"x": 199, "y": 49, "flags": 4}, - {"x": 199, "y": 10, "flags": 4}, - {"x": 219, "y": 10, "flags": 4}, - {"x": 219, "y": 49, "flags": 4}, - {"x": 218, "y": 62, "flags": 2}, - {"x": 188, "y": 62, "flags": 2}, - {"x": 159, "y": 62, "flags": 2}, - {"x": 123, "y": 62, "flags": 2}, - {"x": 100, "y": 62, "flags": 2}, - {"x": 59, "y": 62, "flags": 2}, - {"x": 35, "y": 62, "flags": 2}, - {"x": 5, "y": 62, "flags": 2}, - {"x": 6, "y": 6, "flags": 2}, - {"x": 35, "y": 6, "flags": 2}, - {"x": 59, "y": 6, "flags": 2}, - {"x": 100, "y": 6, "flags": 2}, - {"x": 123, "y": 6, "flags": 2}, - {"x": 159, "y": 6, "flags": 2}, - {"x": 188, "y": 6, "flags": 2}, - {"x": 218, "y": 6, "flags": 2} - ], "max_brightness": 160, "sleep": true }, diff --git a/keyboards/keebio/bamfk4/keymaps/default/keymap.c b/keyboards/keebio/bamfk4/keymaps/default/keymap.c index 98144676b1..960c436da3 100644 --- a/keyboards/keebio/bamfk4/keymaps/default/keymap.c +++ b/keyboards/keebio/bamfk4/keymaps/default/keymap.c @@ -15,4 +15,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_C, KC_D ) -}; +}; \ No newline at end of file diff --git a/keyboards/keebio/bdn9/keymaps/test/config.h b/keyboards/keebio/bdn9/keymaps/test/config.h new file mode 100644 index 0000000000..e09fba9232 --- /dev/null +++ b/keyboards/keebio/bdn9/keymaps/test/config.h @@ -0,0 +1,5 @@ +#pragma once + +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_KEYPRESSES +#endif diff --git a/keyboards/keebio/bdn9/rev1/config.h b/keyboards/keebio/bdn9/rev1/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/bdn9/rev1/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/bdn9/rev1/keyboard.json b/keyboards/keebio/bdn9/rev1/keyboard.json index 8130b115f9..5c677db78d 100644 --- a/keyboards/keebio/bdn9/rev1/keyboard.json +++ b/keyboards/keebio/bdn9/rev1/keyboard.json @@ -12,9 +12,6 @@ ] }, "backlight": { - "default": { - "brightness": 5 - }, "pin": "B5", "levels": 7 }, diff --git a/keyboards/keebio/bdn9/rev1/rev1.c b/keyboards/keebio/bdn9/rev1/rev1.c index fe3defa156..567de03af4 100644 --- a/keyboards/keebio/bdn9/rev1/rev1.c +++ b/keyboards/keebio/bdn9/rev1/rev1.c @@ -1,8 +1,22 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - #include "quantum.h" +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(5); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} + bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { diff --git a/keyboards/keebio/bdn9/rev2/config.h b/keyboards/keebio/bdn9/rev2/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/bdn9/rev2/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/bdn9/rev2/keyboard.json b/keyboards/keebio/bdn9/rev2/keyboard.json index ee1787e169..a8a0c8d10d 100644 --- a/keyboards/keebio/bdn9/rev2/keyboard.json +++ b/keyboards/keebio/bdn9/rev2/keyboard.json @@ -71,20 +71,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [1, 1], "x": 112, "y": 32, "flags": 4}, - {"matrix": [1, 2], "x": 224, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [2, 1], "x": 112, "y": 64, "flags": 4}, - {"matrix": [2, 2], "x": 224, "y": 64, "flags": 4}, - {"x": 56, "y": 64, "flags": 2}, - {"x": 168, "y": 64, "flags": 2} - ] + "driver": "ws2812" }, "encoder": { "rotary": [ diff --git a/keyboards/keebio/bdn9/rev2/rev2.c b/keyboards/keebio/bdn9/rev2/rev2.c index fe3defa156..5c6d940325 100644 --- a/keyboards/keebio/bdn9/rev2/rev2.c +++ b/keyboards/keebio/bdn9/rev2/rev2.c @@ -1,8 +1,43 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - #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 } +}, { + // LED Index to Physical Position + { 0, 0 }, { 112, 0 }, { 224, 0 }, + { 0, 32 }, { 112, 32 }, { 224, 32 }, + { 0, 64 }, { 112, 64 }, { 224, 64 }, + { 56, 64 }, { 168, 64 }, +}, { + // LED Index to Flag + 4, 4, 4, + 4, 4, 4, + 4, 4, 4, + 2, 2 +} }; +#endif + +void eeconfig_init_kb(void) { +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +# ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +# endif +#endif + +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_enable(); // Enable RGB by default +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} + bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { diff --git a/keyboards/keebio/bdn9/rev3/config.h b/keyboards/keebio/bdn9/rev3/config.h index 98f261b801..3afa37bce1 100644 --- a/keyboards/keebio/bdn9/rev3/config.h +++ b/keyboards/keebio/bdn9/rev3/config.h @@ -4,9 +4,11 @@ #pragma once /* Defines for the RGB matrix */ -#define WS2812_PWM_DRIVER PWMD15 -#define WS2812_PWM_CHANNEL 2 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 -#define WS2812_DMA_CHANNEL 2 -#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM15_UP +#ifdef RGB_MATRIX_ENABLE +# define WS2812_PWM_DRIVER PWMD15 +# define WS2812_PWM_CHANNEL 2 +# define WS2812_PWM_PAL_MODE 1 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +# define WS2812_DMA_CHANNEL 2 +# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM15_UP +#endif diff --git a/keyboards/keebio/bfo9000/keymaps/default/config.h b/keyboards/keebio/bfo9000/keymaps/default/config.h new file mode 100644 index 0000000000..a9ae679110 --- /dev/null +++ b/keyboards/keebio/bfo9000/keymaps/default/config.h @@ -0,0 +1,27 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// #define USE_I2C + +/* Select hand configuration */ +// #define MASTER_RIGHT +// #define EE_HANDS diff --git a/keyboards/keebio/bfo9000/keymaps/default/keymap.c b/keyboards/keebio/bfo9000/keymaps/default/keymap.c index 0d28c3c5c2..f37ea79c40 100644 --- a/keyboards/keebio/bfo9000/keymaps/default/keymap.c +++ b/keyboards/keebio/bfo9000/keymaps/default/keymap.c @@ -1,6 +1,3 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include QMK_KEYBOARD_H #define _BASE 0 diff --git a/keyboards/keebio/bfo9000/readme.md b/keyboards/keebio/bfo9000/readme.md index 3fa6239680..059f2800a2 100644 --- a/keyboards/keebio/bfo9000/readme.md +++ b/keyboards/keebio/bfo9000/readme.md @@ -1,10 +1,11 @@ -# BFO-9000 +BFO-9000 +======== A split full-size ortholinear keyboard made and sold by Keebio. Each half is a 6x9 arrangement, with breakable pieces to allow the number of rows to be customized between 4 to 6, and the number of columns to be between 7 to 9. [More info at Keebio](https://keeb.io). -* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -* Hardware Supported: Pro Micro -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +Hardware Supported: Pro Micro +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): @@ -12,6 +13,6 @@ Make example for this keyboard (after setting up your build environment): Example of flashing this keyboard: - make keebio/bfo9000:default:flash + make keebio/bfo9000:default:avrdude -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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/keebio/bigswitchseat/keymaps/default/keymap.c b/keyboards/keebio/bigswitchseat/keymaps/default/keymap.c index a48f4f9165..6d4378b995 100644 --- a/keyboards/keebio/bigswitchseat/keymaps/default/keymap.c +++ b/keyboards/keebio/bigswitchseat/keymaps/default/keymap.c @@ -5,11 +5,23 @@ // Defines names for use in layer keycodes and the keymap enum layer_names { - _MAIN + _MAIN, + _FN1, + _FN2, + _FN3 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MAIN] = LAYOUT( KC_A + ), + [_FN1] = LAYOUT( + _______ + ), + [_FN2] = LAYOUT( + _______ + ), + [_FN3] = LAYOUT( + _______ ) }; diff --git a/keyboards/keebio/chiri_ce/rev1/config.h b/keyboards/keebio/chiri_ce/rev1/config.h index e9d9934301..b1eb9da4e9 100644 --- a/keyboards/keebio/chiri_ce/rev1/config.h +++ b/keyboards/keebio/chiri_ce/rev1/config.h @@ -3,16 +3,14 @@ #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 index aea1fb1d6f..9cf7f51654 100644 --- a/keyboards/keebio/chiri_ce/rev1/keyboard.json +++ b/keyboards/keebio/chiri_ce/rev1/keyboard.json @@ -118,9 +118,6 @@ "matrix": [4, 0] }, "enabled": true, - "handedness": { - "pin": "GP4" - }, "matrix_pins": { "right": { "cols": ["GP29", "GP28", "GP2", "GP27", "GP18", "GP7"], diff --git a/keyboards/keebio/chocopad/readme.md b/keyboards/keebio/chocopad/readme.md index 9a6e62178f..67c875d923 100644 --- a/keyboards/keebio/chocopad/readme.md +++ b/keyboards/keebio/chocopad/readme.md @@ -1,17 +1,14 @@ -# Chocopad +Chocopad +======== A 4x4 macropad keyboard using Kailh PG1350 Lower Profile Choc switches. -* Keyboard Maintainer: Keebio -* Hardware Supported: Chocopad PCB, Arduino Pro Micro -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: Keebio +Hardware Supported: Chocopad PCB, Arduino Pro Micro +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): make keebio/chocopad/rev1:default -Example of flashing this keyboard: - - make keebio/chocopad/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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/keebio/chocopad/rev1/config.h b/keyboards/keebio/chocopad/rev1/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/chocopad/rev1/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/chocopad/rev1/keyboard.json b/keyboards/keebio/chocopad/rev1/keyboard.json index 06dbbf0bc6..fafea9dce0 100644 --- a/keyboards/keebio/chocopad/rev1/keyboard.json +++ b/keyboards/keebio/chocopad/rev1/keyboard.json @@ -17,9 +17,6 @@ "rgblight": true }, "backlight": { - "default": { - "brightness": 5 - }, "pin": "B5", "levels": 6 }, diff --git a/keyboards/keebio/chocopad/rev1/rev1.c b/keyboards/keebio/chocopad/rev1/rev1.c new file mode 100644 index 0000000000..e362bb3483 --- /dev/null +++ b/keyboards/keebio/chocopad/rev1/rev1.c @@ -0,0 +1,21 @@ +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(5); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_MODE_EFFECT_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/convolution/readme.md b/keyboards/keebio/convolution/readme.md index cb7d7c35db..c1bc8ae3d8 100644 --- a/keyboards/keebio/convolution/readme.md +++ b/keyboards/keebio/convolution/readme.md @@ -13,6 +13,6 @@ Example of flashing this keyboard: make keebio/convolution/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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. A build guide for this keyboard can be found here: [Keebio Build Guides](https://docs.keeb.io) diff --git a/keyboards/keebio/demod_lm/info.json b/keyboards/keebio/demod_lm/info.json deleted file mode 100644 index 64fa5a05ca..0000000000 --- a/keyboards/keebio/demod_lm/info.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "manufacturer": "Keebio", - "maintainer": "Keebio", - "url": "https://keeb.io", - "usb": { - "vid": "0xCB10" - } -} diff --git a/keyboards/keebio/demod_lm/keymaps/default/keymap.json b/keyboards/keebio/demod_lm/keymaps/default/keymap.json deleted file mode 100644 index 9115271b3d..0000000000 --- a/keyboards/keebio/demod_lm/keymaps/default/keymap.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "keyboard": "keebio/demod_lm/rev1", - "keymap": "default", - "layout": "LAYOUT_numpad_5x4", - "layers": [ - ["RM_NEXT", "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/keebio/demod_lm/readme.md b/keyboards/keebio/demod_lm/readme.md deleted file mode 100644 index c9233d0961..0000000000 --- a/keyboards/keebio/demod_lm/readme.md +++ /dev/null @@ -1,24 +0,0 @@ -# Demod LM - -A low-profile number pad and sold by Keebio. [More info at Keebio](https://keeb.io). - -* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -* Hardware Supported: Demod LM PCB with STM32G431 microcontroller -* Hardware Availability: [Keebio](https://keeb.io) - -Make example for this keyboard (after setting up your build environment): - - make keebio/demod_lm/rev1:default - -Example of flashing this keyboard: - - make keebio/demod_lm/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 one of two ways: - -* **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/demod_lm/rev1/config.h b/keyboards/keebio/demod_lm/rev1/config.h deleted file mode 100644 index fae0576081..0000000000 --- a/keyboards/keebio/demod_lm/rev1/config.h +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2025 Danny Nguyen (@nooges) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* Defines for the RGB matrix */ -#define WS2812_PWM_DRIVER PWMD3 -#define WS2812_PWM_CHANNEL 3 -#define WS2812_PWM_PAL_MODE 2 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 -#define WS2812_DMA_CHANNEL 2 -#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP diff --git a/keyboards/keebio/demod_lm/rev1/halconf.h b/keyboards/keebio/demod_lm/rev1/halconf.h deleted file mode 100644 index 0249d61fea..0000000000 --- a/keyboards/keebio/demod_lm/rev1/halconf.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2024 Danny Nguyen (@nooges) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/keebio/demod_lm/rev1/keyboard.json b/keyboards/keebio/demod_lm/rev1/keyboard.json deleted file mode 100644 index ac35998852..0000000000 --- a/keyboards/keebio/demod_lm/rev1/keyboard.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "keyboard_name": "Demod LM Rev. 1", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["A1", "A0", "B3", "B6"], - "rows": ["A15", "F0", "B4", "B5", "F1"] - }, - "processor": "STM32G431", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 88, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 104, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 120, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 136, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 136, "y": 24, "flags": 4}, - {"matrix": [1, 2], "x": 120, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 104, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 88, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 88, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 104, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 120, "y": 32, "flags": 4}, - {"matrix": [3, 2], "x": 120, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 104, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 88, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 120, "y": 64, "flags": 4}, - {"matrix": [3, 3], "x": 136, "y": 56, "flags": 4} - ], - "max_brightness": 200, - "sleep": true - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x1654" - }, - "ws2812": { - "driver": "pwm", - "pin": "B0" - }, - "community_layouts": ["numpad_5x4"], - "layouts": { - "LAYOUT_numpad_5x4": { - "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": [1, 3], "x": 3, "y": 1, "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, "w": 2}, - {"matrix": [4, 2], "x": 2, "y": 4}, - {"matrix": [3, 3], "x": 3, "y": 3, "h": 2} - ] - } - } -} diff --git a/keyboards/keebio/demod_lm/rev1/mcuconf.h b/keyboards/keebio/demod_lm/rev1/mcuconf.h deleted file mode 100644 index a864dab31e..0000000000 --- a/keyboards/keebio/demod_lm/rev1/mcuconf.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2024 Danny Nguyen (@nooges) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -/* enable TIM3, used for RGB LED PWM driver */ -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/keebio/demod_lm/rev1/rev1.c b/keyboards/keebio/demod_lm/rev1/rev1.c deleted file mode 100644 index 7843a900a3..0000000000 --- a/keyboards/keebio/demod_lm/rev1/rev1.c +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2024 Danny Nguyen (@nooges) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -void keyboard_pre_init_kb(void) { - // Disable the PD peripheral in pre-init because its pins (B4, B6) are being used in the matrix: - PWR->CR3 |= PWR_CR3_UCPD_DBDIS; - // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) - keyboard_pre_init_user(); -} diff --git a/keyboards/keebio/dilly/config.h b/keyboards/keebio/dilly/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/dilly/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/dilly/dilly.c b/keyboards/keebio/dilly/dilly.c new file mode 100644 index 0000000000..231a828f07 --- /dev/null +++ b/keyboards/keebio/dilly/dilly.c @@ -0,0 +1,18 @@ +#include "quantum.h" + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(3); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/dilly/keymaps/default/keymap.c b/keyboards/keebio/dilly/keymaps/default/keymap.c index 9cef52ae4e..71a92037b6 100644 --- a/keyboards/keebio/dilly/keymaps/default/keymap.c +++ b/keyboards/keebio/dilly/keymaps/default/keymap.c @@ -1,8 +1,6 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include QMK_KEYBOARD_H + #define _BASE 0 #define _FN1 1 #define _FN2 2 diff --git a/keyboards/keebio/dilly/readme.md b/keyboards/keebio/dilly/readme.md index e4b6e418a3..74139eaeae 100644 --- a/keyboards/keebio/dilly/readme.md +++ b/keyboards/keebio/dilly/readme.md @@ -1,17 +1,14 @@ -# Dilly +Dilly +===== A 3x10 ortholinear keyboard using Kailh PG1350 Lower Profile Choc switches. -* Keyboard Maintainer: Keebio -* Hardware Supported: Dilly PCB, Arduino Pro Micro -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: Keebio +Hardware Supported: Dilly PCB, Arduino Pro Micro +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): make keebio/dilly:default -Example of flashing this keyboard: - - make keebio/dilly: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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/keebio/dsp40/keymaps/default/keymap.c b/keyboards/keebio/dsp40/keymaps/default/keymap.c index c1496844bb..e8d3627ff2 100755 --- a/keyboards/keebio/dsp40/keymaps/default/keymap.c +++ b/keyboards/keebio/dsp40/keymaps/default/keymap.c @@ -24,7 +24,8 @@ enum custom_layer { }; enum custom_keycodes { - LOWER = SAFE_RANGE, + QWERTY = SAFE_RANGE, + LOWER, RAISE, ADJUST, }; diff --git a/keyboards/keebio/dsp40/readme.md b/keyboards/keebio/dsp40/readme.md index 1a37587313..c6b195c404 100644 --- a/keyboards/keebio/dsp40/readme.md +++ b/keyboards/keebio/dsp40/readme.md @@ -10,8 +10,4 @@ Make example for this keyboard (after setting up your build environment): make keebio/dsp40/rev1:default -Example of flashing this keyboard: - - make keebio/dsp40/rev1:default:flash - See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/keebio/dsp40/rev1/keyboard.json b/keyboards/keebio/dsp40/rev1/keyboard.json index 2553e12c2b..776f67837c 100644 --- a/keyboards/keebio/dsp40/rev1/keyboard.json +++ b/keyboards/keebio/dsp40/rev1/keyboard.json @@ -26,9 +26,6 @@ } }, "backlight": { - "default": { - "brightness": 5 - }, "pin": "A6", "levels": 7 }, diff --git a/keyboards/keebio/dsp40/rev1/readme.md b/keyboards/keebio/dsp40/rev1/readme.md index 8852ef5501..ee62ba7886 100644 --- a/keyboards/keebio/dsp40/rev1/readme.md +++ b/keyboards/keebio/dsp40/rev1/readme.md @@ -10,8 +10,4 @@ Make example for this keyboard (after setting up your build environment): make keebio/dsp40/rev1:default -Example of flashing this keyboard: - - make keebio/dsp40/rev1:default:flash - See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/keebio/dsp40/rev1/rev1.c b/keyboards/keebio/dsp40/rev1/rev1.c new file mode 100644 index 0000000000..091cfc1523 --- /dev/null +++ b/keyboards/keebio/dsp40/rev1/rev1.c @@ -0,0 +1,26 @@ +/* Copyright 2021 Danny Nguyen + +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 eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(5); +#endif + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/ergodicity/config.h b/keyboards/keebio/ergodicity/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/ergodicity/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/ergodicity/ergodicity.c b/keyboards/keebio/ergodicity/ergodicity.c new file mode 100644 index 0000000000..76fb136c03 --- /dev/null +++ b/keyboards/keebio/ergodicity/ergodicity.c @@ -0,0 +1,18 @@ +#include "quantum.h" + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(5); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/ergodicity/keyboard.json b/keyboards/keebio/ergodicity/keyboard.json index 504edf3b56..6f755ba45c 100644 --- a/keyboards/keebio/ergodicity/keyboard.json +++ b/keyboards/keebio/ergodicity/keyboard.json @@ -29,9 +29,6 @@ }, "diode_direction": "COL2ROW", "backlight": { - "default": { - "brightness": 5 - }, "pin": "B5", "levels": 7, "breathing": true diff --git a/keyboards/keebio/ergodicity/readme.md b/keyboards/keebio/ergodicity/readme.md index 3fe77848e3..61f4ee658c 100644 --- a/keyboards/keebio/ergodicity/readme.md +++ b/keyboards/keebio/ergodicity/readme.md @@ -1,15 +1,11 @@ # Ergodicity -* Keyboard Maintainer: [nooges/bakingpy](https://github.com/nooges) -* Hardware Supported: Ergodicity PCB w/ATmega32u4 -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: [nooges/bakingpy](https://github.com/nooges) +Hardware Supported: Ergodicity PCB w/ATmega32u4 +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): - make keebio/ergodicity:default - -Example of flashing this keyboard: - - make keebio/ergodicity:default:flash + make keebio/ergodicity:default:dfu 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/keebio/foldkb/rev1/rev1.c b/keyboards/keebio/foldkb/rev1/rev1.c index 33915a0efe..c2ba942a30 100644 --- a/keyboards/keebio/foldkb/rev1/rev1.c +++ b/keyboards/keebio/foldkb/rev1/rev1.c @@ -16,6 +16,15 @@ along with this program. If not, see . #include "quantum.h" +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(3); +#endif + eeconfig_update_kb(0); + eeconfig_init_user(); +} + bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { diff --git a/keyboards/keebio/foldkb/rev2/keyboard.json b/keyboards/keebio/foldkb/rev2/keyboard.json index 58e69e085d..19dd601c86 100644 --- a/keyboards/keebio/foldkb/rev2/keyboard.json +++ b/keyboards/keebio/foldkb/rev2/keyboard.json @@ -153,7 +153,7 @@ }, "split": { "bootmagic": { - "matrix": [5, 7] + "matrix": [5, 8] }, "enabled": true, "handedness": { diff --git a/keyboards/keebio/foldkb/rev2_1/config.h b/keyboards/keebio/foldkb/rev2_1/config.h deleted file mode 100644 index d28027392d..0000000000 --- a/keyboards/keebio/foldkb/rev2_1/config.h +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* Defines for the split keyboard setup */ -#define SERIAL_USART_TX_PIN A9 -#define SERIAL_USART_RX_PIN A10 -#define SERIAL_USART_FULL_DUPLEX -#define SERIAL_USART_PIN_SWAP - -#define USB_VBUS_PIN A7 - -/* Defines for the RGB matrix */ -#define WS2812_PWM_DRIVER PWMD3 -#define WS2812_PWM_CHANNEL 3 -#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP diff --git a/keyboards/keebio/foldkb/rev2_1/halconf.h b/keyboards/keebio/foldkb/rev2_1/halconf.h deleted file mode 100644 index ce1dfd06d7..0000000000 --- a/keyboards/keebio/foldkb/rev2_1/halconf.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_SERIAL TRUE - -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/keebio/foldkb/rev2_1/keyboard.json b/keyboards/keebio/foldkb/rev2_1/keyboard.json deleted file mode 100644 index fc2eafe431..0000000000 --- a/keyboards/keebio/foldkb/rev2_1/keyboard.json +++ /dev/null @@ -1,279 +0,0 @@ -{ - "keyboard_name": "FoldKB Rev. 2.1", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "A4", "pin_b": "A3"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["A6", "A15", "B3", "B4", "B5", "B6", "B7", "F0"], - "rows": ["A5", "A0", "A1", "A2", "F1"] - }, - "processor": "STM32G431", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "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, - "starlight_smooth": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 1], "x": 17, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 31, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 59, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 72, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 86, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 100, "y": 0, "flags": 4}, - {"matrix": [1, 7], "x": 100, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 86, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 72, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 59, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 45, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 28, "y": 16, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 59, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 100, "y": 32, "flags": 4}, - {"matrix": [3, 7], "x": 100, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 86, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 72, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 59, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 22, "y": 48, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 22, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 40, "y": 64, "flags": 4}, - {"matrix": [4, 4], "x": 57, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 72, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 86, "y": 64, "flags": 4}, - {"matrix": [4, 7], "x": 100, "y": 64, "flags": 4}, - {"x": 93, "y": 48, "flags": 2}, - {"x": 65, "y": 64, "flags": 2}, - {"x": 31, "y": 64, "flags": 2}, - {"x": 10, "y": 64, "flags": 2}, - {"x": 0, "y": 24, "flags": 2}, - {"x": 24, "y": 0, "flags": 2}, - {"x": 65, "y": 0, "flags": 2}, - {"x": 90, "y": 8, "flags": 2}, - {"matrix": [5, 7], "x": 221, "y": 0, "flags": 4}, - {"matrix": [5, 6], "x": 207, "y": 0, "flags": 4}, - {"matrix": [5, 5], "x": 193, "y": 0, "flags": 4}, - {"matrix": [5, 4], "x": 179, "y": 0, "flags": 4}, - {"matrix": [5, 3], "x": 165, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 152, "y": 0, "flags": 4}, - {"matrix": [5, 1], "x": 138, "y": 0, "flags": 4}, - {"matrix": [5, 0], "x": 124, "y": 0, "flags": 4}, - {"matrix": [6, 0], "x": 124, "y": 16, "flags": 4}, - {"matrix": [6, 1], "x": 138, "y": 16, "flags": 4}, - {"matrix": [6, 2], "x": 152, "y": 16, "flags": 4}, - {"matrix": [6, 3], "x": 165, "y": 16, "flags": 4}, - {"matrix": [6, 4], "x": 179, "y": 16, "flags": 4}, - {"matrix": [6, 5], "x": 193, "y": 16, "flags": 4}, - {"matrix": [6, 6], "x": 207, "y": 16, "flags": 4}, - {"matrix": [6, 7], "x": 224, "y": 16, "flags": 4}, - {"matrix": [7, 7], "x": 215, "y": 32, "flags": 4}, - {"matrix": [7, 5], "x": 193, "y": 32, "flags": 4}, - {"matrix": [7, 4], "x": 179, "y": 32, "flags": 4}, - {"matrix": [7, 3], "x": 165, "y": 32, "flags": 4}, - {"matrix": [7, 2], "x": 152, "y": 32, "flags": 4}, - {"matrix": [7, 1], "x": 138, "y": 32, "flags": 4}, - {"matrix": [7, 0], "x": 124, "y": 32, "flags": 4}, - {"matrix": [8, 0], "x": 124, "y": 48, "flags": 4}, - {"matrix": [8, 1], "x": 138, "y": 48, "flags": 4}, - {"matrix": [8, 2], "x": 152, "y": 48, "flags": 4}, - {"matrix": [8, 3], "x": 165, "y": 48, "flags": 4}, - {"matrix": [8, 4], "x": 179, "y": 48, "flags": 4}, - {"matrix": [8, 5], "x": 198, "y": 48, "flags": 4}, - {"matrix": [8, 7], "x": 217, "y": 48, "flags": 4}, - {"matrix": [9, 7], "x": 215, "y": 64, "flags": 4}, - {"matrix": [9, 5], "x": 198, "y": 64, "flags": 4}, - {"matrix": [9, 4], "x": 181, "y": 64, "flags": 4}, - {"matrix": [9, 3], "x": 164, "y": 64, "flags": 4}, - {"matrix": [9, 1], "x": 145, "y": 64, "flags": 4}, - {"matrix": [9, 0], "x": 136, "y": 64, "flags": 4}, - {"matrix": [9, 0], "x": 126, "y": 64, "flags": 4}, - {"x": 121, "y": 56, "flags": 2}, - {"x": 152, "y": 64, "flags": 2}, - {"x": 207, "y": 64, "flags": 2}, - {"x": 224, "y": 52, "flags": 2}, - {"x": 224, "y": 12, "flags": 2}, - {"x": 196, "y": 0, "flags": 2}, - {"x": 159, "y": 0, "flags": 2}, - {"x": 124, "y": 8, "flags": 2} - ], - "max_brightness": 120, - "sleep": true, - "split_count": [44, 45] - }, - "split": { - "bootmagic": { - "matrix": [5, 7] - }, - "enabled": true, - "handedness": { - "pin": "A8" - }, - "matrix_pins": { - "right": { - "cols": ["A6", "A5", "A4", "A3", "A2", "B5", "B6", "B7"], - "rows": ["A15", "B3", "B4", "A0", "A1"] - } - }, - "serial": { - "driver": "usart" - }, - "transport": { - "sync": { - "matrix_state": true - } - } - }, - "usb": { - "device_version": "2.0.0", - "pid": "0x2358" - }, - "ws2812": { - "driver": "pwm", - "pin": "B0" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.25, "y": 0}, - {"matrix": [0, 2], "x": 2.25, "y": 0}, - {"matrix": [0, 3], "x": 3.25, "y": 0}, - {"matrix": [0, 4], "x": 4.25, "y": 0}, - {"matrix": [0, 5], "x": 5.25, "y": 0}, - {"matrix": [0, 6], "x": 6.25, "y": 0}, - {"matrix": [0, 7], "x": 7.25, "y": 0}, - {"matrix": [5, 0], "x": 9, "y": 0}, - {"matrix": [5, 1], "x": 10, "y": 0}, - {"matrix": [5, 2], "x": 11, "y": 0}, - {"matrix": [5, 3], "x": 12, "y": 0}, - {"matrix": [5, 4], "x": 13, "y": 0}, - {"matrix": [5, 5], "x": 14, "y": 0}, - {"matrix": [5, 6], "x": 15, "y": 0}, - {"matrix": [5, 7], "x": 16, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 2], "x": 1.75, "y": 1, "w": 1.5}, - {"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": [6, 0], "x": 9, "y": 1}, - {"matrix": [6, 1], "x": 10, "y": 1}, - {"matrix": [6, 2], "x": 11, "y": 1}, - {"matrix": [6, 3], "x": 12, "y": 1}, - {"matrix": [6, 4], "x": 13, "y": 1}, - {"matrix": [6, 5], "x": 14, "y": 1}, - {"matrix": [6, 6], "x": 15, "y": 1}, - {"matrix": [6, 7], "x": 16, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 2], "x": 1.5, "y": 2, "w": 1.75}, - {"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": [7, 0], "x": 9, "y": 2}, - {"matrix": [7, 1], "x": 10, "y": 2}, - {"matrix": [7, 2], "x": 11, "y": 2}, - {"matrix": [7, 3], "x": 12, "y": 2}, - {"matrix": [7, 4], "x": 13, "y": 2}, - {"matrix": [7, 5], "x": 14, "y": 2}, - {"matrix": [7, 7], "x": 15, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 2], "x": 1, "y": 3, "w": 2.25}, - {"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": [8, 0], "x": 9, "y": 3}, - {"matrix": [8, 1], "x": 10, "y": 3}, - {"matrix": [8, 2], "x": 11, "y": 3}, - {"matrix": [8, 3], "x": 12, "y": 3}, - {"matrix": [8, 4], "x": 13, "y": 3}, - {"matrix": [8, 5], "x": 14, "y": 3, "w": 1.75}, - {"matrix": [8, 7], "x": 15.75, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 2], "x": 1.5, "y": 4, "w": 1.25}, - {"matrix": [4, 3], "x": 2.75, "y": 4, "w": 1.25}, - {"matrix": [4, 4], "x": 4, "y": 4, "w": 1.25}, - {"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": [9, 0], "x": 9, "y": 4, "w": 1.25}, - {"matrix": [9, 1], "x": 10.25, "y": 4, "w": 1.5}, - {"matrix": [9, 3], "x": 11.75, "y": 4, "w": 1.25}, - {"matrix": [9, 4], "x": 13, "y": 4, "w": 1.25}, - {"matrix": [9, 5], "x": 14.25, "y": 4, "w": 1.25}, - {"matrix": [9, 7], "x": 15.5, "y": 4, "w": 1.25} - ] - } - } -} diff --git a/keyboards/keebio/foldkb/rev2_1/keymaps/default/keymap.c b/keyboards/keebio/foldkb/rev2_1/keymaps/default/keymap.c deleted file mode 100644 index bf3f325446..0000000000 --- a/keyboards/keebio/foldkb/rev2_1/keymaps/default/keymap.c +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_MUTE, 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_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, MO(1), - KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL - ), - [1] = LAYOUT( - KC_MUTE, QK_BOOT, 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_DEL, - RM_TOGG, _______, RM_SATD, RM_SATU, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, - RM_NEXT, _______, RM_VALD, RM_VALU, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, - KC_VOLU, _______, RM_HUED, RM_HUEU, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, - KC_VOLD, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, KC_0, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/keebio/foldkb/rev2_1/mcuconf.h b/keyboards/keebio/foldkb/rev2_1/mcuconf.h deleted file mode 100644 index 77847f5b2c..0000000000 --- a/keyboards/keebio/foldkb/rev2_1/mcuconf.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -/* enable USART1, used for split comms */ -#undef STM32_SERIAL_USE_USART1 -#define STM32_SERIAL_USE_USART1 TRUE - -/* enable TIM3, used for RGB LED PWM driver */ -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/keebio/foldkb/rev2_1/rev2_1.c b/keyboards/keebio/foldkb/rev2_1/rev2_1.c deleted file mode 100644 index 0fc47b1483..0000000000 --- a/keyboards/keebio/foldkb/rev2_1/rev2_1.c +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -void keyboard_pre_init_kb(void) { - // Disable the PD peripheral in pre-init because its pins are being used in the matrix: - PWR->CR3 |= PWR_CR3_UCPD_DBDIS; - // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) - keyboard_pre_init_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { return false; } - if (index == 0) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else if (index == 1) { - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } - return false; -} diff --git a/keyboards/wolf/singa/kohaku_solder_rgb/config.h b/keyboards/keebio/fourier/keymaps/default/config.h similarity index 81% rename from keyboards/wolf/singa/kohaku_solder_rgb/config.h rename to keyboards/keebio/fourier/keymaps/default/config.h index 49a055b0ce..fa952ef4c3 100644 --- a/keyboards/wolf/singa/kohaku_solder_rgb/config.h +++ b/keyboards/keebio/fourier/keymaps/default/config.h @@ -1,10 +1,14 @@ /* -Copyright 2024 Wolf +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -16,5 +20,4 @@ along with this program. If not, see . #pragma once -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U +// #define USE_I2C diff --git a/keyboards/keebio/fourier/keymaps/default/keymap.c b/keyboards/keebio/fourier/keymaps/default/keymap.c index 0c8e1168af..6fa9ab5799 100644 --- a/keyboards/keebio/fourier/keymaps/default/keymap.c +++ b/keyboards/keebio/fourier/keymaps/default/keymap.c @@ -1,6 +1,3 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include QMK_KEYBOARD_H // Each layer gets a name for readability, which is then used in the keymap matrix below. @@ -11,6 +8,10 @@ #define _FN1 1 #define _FN2 2 +enum custom_keycodes { + QWERTY = SAFE_RANGE, +}; + #define KC_FN1 MO(_FN1) #define KC_FN2 MO(_FN2) #define SPFN1 LT(_FN1, KC_SPACE) diff --git a/keyboards/keebio/fourier/readme.md b/keyboards/keebio/fourier/readme.md index d3d0f81f1e..c18d1a7484 100644 --- a/keyboards/keebio/fourier/readme.md +++ b/keyboards/keebio/fourier/readme.md @@ -1,10 +1,11 @@ -# Fourier +Fourier +======== A split 40% staggered keyboard made and sold by Keebio. [More info at Keebio](https://keeb.io). -* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -* Hardware Supported: Pro Micro -* Hardware Availability: [Keebio](https://keeb.io/collections/frontpage/products/fourier-40-split-staggered-keyboard) +Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +Hardware Supported: Pro Micro +Hardware Availability: [Keebio](https://keeb.io/collections/frontpage/products/fourier-40-split-staggered-keyboard) Make example for this keyboard (after setting up your build environment): @@ -12,8 +13,8 @@ Make example for this keyboard (after setting up your build environment): Example of flashing this keyboard: - make keebio/fourier:default:flash + make keebio/fourier:default:avrdude -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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. A build guide for this keyboard can be found here: [Keebio Build Guides](https://docs.keeb.io) diff --git a/keyboards/keebio/iris/readme.md b/keyboards/keebio/iris/readme.md index d1d498c67e..e98f985394 100644 --- a/keyboards/keebio/iris/readme.md +++ b/keyboards/keebio/iris/readme.md @@ -1,10 +1,11 @@ -# Iris +Iris +==== A split ergo 4x6 keyboard with 3 or 4 thumb keys made and sold by Keebio. [More info at Keebio](https://keeb.io). -* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -* Hardware Supported: Pro Micro, ATmega32u4 -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +Hardware Supported: Pro Micro, ATmega32u4 +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/keebio/iris/rev1/rev1.c b/keyboards/keebio/iris/rev1/rev1.c index ea8029f47c..e05b758a44 100644 --- a/keyboards/keebio/iris/rev1/rev1.c +++ b/keyboards/keebio/iris/rev1/rev1.c @@ -1,6 +1,3 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include "quantum.h" #ifdef SWAP_HANDS_ENABLE diff --git a/keyboards/keebio/iris/rev1_led/rev1_led.c b/keyboards/keebio/iris/rev1_led/rev1_led.c index ea8029f47c..e05b758a44 100644 --- a/keyboards/keebio/iris/rev1_led/rev1_led.c +++ b/keyboards/keebio/iris/rev1_led/rev1_led.c @@ -1,6 +1,3 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include "quantum.h" #ifdef SWAP_HANDS_ENABLE diff --git a/keyboards/keebio/iris/rev2/config.h b/keyboards/keebio/iris/rev2/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/iris/rev2/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/iris/rev2/keyboard.json b/keyboards/keebio/iris/rev2/keyboard.json index 23023fa3db..9ea21851ee 100644 --- a/keyboards/keebio/iris/rev2/keyboard.json +++ b/keyboards/keebio/iris/rev2/keyboard.json @@ -10,9 +10,6 @@ }, "diode_direction": "COL2ROW", "backlight": { - "default": { - "brightness": 3 - }, "pin": "B5", "levels": 5 }, diff --git a/keyboards/keebio/iris/rev2/rev2.c b/keyboards/keebio/iris/rev2/rev2.c index 45c8d90361..87d4b4029d 100644 --- a/keyboards/keebio/iris/rev2/rev2.c +++ b/keyboards/keebio/iris/rev2/rev2.c @@ -1,6 +1,3 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - #include "quantum.h" #ifdef SWAP_HANDS_ENABLE @@ -21,3 +18,20 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}}, }; #endif + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(3); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/iris/rev3/config.h b/keyboards/keebio/iris/rev3/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/iris/rev3/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/iris/rev3/keyboard.json b/keyboards/keebio/iris/rev3/keyboard.json index 68805c27f8..f7b3f894fe 100644 --- a/keyboards/keebio/iris/rev3/keyboard.json +++ b/keyboards/keebio/iris/rev3/keyboard.json @@ -15,9 +15,6 @@ ] }, "backlight": { - "default": { - "brightness": 3 - }, "pin": "B6", "levels": 5 }, diff --git a/keyboards/keebio/iris/rev3/rev3.c b/keyboards/keebio/iris/rev3/rev3.c index 0f7f5a7f75..8b12388cac 100644 --- a/keyboards/keebio/iris/rev3/rev3.c +++ b/keyboards/keebio/iris/rev3/rev3.c @@ -1,6 +1,3 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - #include "quantum.h" #ifdef SWAP_HANDS_ENABLE @@ -25,6 +22,23 @@ const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0}; # endif #endif +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(3); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} + #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } diff --git a/keyboards/keebio/iris/rev4/config.h b/keyboards/keebio/iris/rev4/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/iris/rev4/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/iris/rev4/keyboard.json b/keyboards/keebio/iris/rev4/keyboard.json index dc5392d91f..3acd3d0a14 100644 --- a/keyboards/keebio/iris/rev4/keyboard.json +++ b/keyboards/keebio/iris/rev4/keyboard.json @@ -15,9 +15,6 @@ ] }, "backlight": { - "default": { - "brightness": 3 - }, "pin": "B5", "levels": 5 }, diff --git a/keyboards/keebio/iris/rev4/rev4.c b/keyboards/keebio/iris/rev4/rev4.c index 03a25c3395..04a2241966 100644 --- a/keyboards/keebio/iris/rev4/rev4.c +++ b/keyboards/keebio/iris/rev4/rev4.c @@ -1,8 +1,22 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - #include "quantum.h" +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(3); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} + #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } diff --git a/keyboards/keebio/iris/rev6/keyboard.json b/keyboards/keebio/iris/rev6/keyboard.json index 910c4b35ce..ef240c5ab9 100644 --- a/keyboards/keebio/iris/rev6/keyboard.json +++ b/keyboards/keebio/iris/rev6/keyboard.json @@ -43,76 +43,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 5, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 5, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 2, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 2, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 3, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 13, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 18, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 18, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 30, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 43, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 42, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 42, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 45, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 45, "flags": 4}, - {"matrix": [4, 2], "x": 56, "y": 47, "flags": 4}, - {"matrix": [4, 3], "x": 72, "y": 58, "flags": 4}, - {"matrix": [4, 4], "x": 90, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 98, "y": 52, "flags": 4}, - {"x": 80, "y": 58, "flags": 2}, - {"x": 40, "y": 50, "flags": 2}, - {"x": 8, "y": 43, "flags": 2}, - {"x": 8, "y": 5, "flags": 2}, - {"x": 40, "y": 1, "flags": 2}, - {"x": 72, "y": 3, "flags": 2}, - {"matrix": [5, 0], "x": 224, "y": 5, "flags": 4}, - {"matrix": [5, 1], "x": 208, "y": 5, "flags": 4}, - {"matrix": [5, 2], "x": 192, "y": 2, "flags": 4}, - {"matrix": [5, 3], "x": 176, "y": 0, "flags": 4}, - {"matrix": [5, 4], "x": 160, "y": 2, "flags": 4}, - {"matrix": [5, 5], "x": 144, "y": 3, "flags": 4}, - {"matrix": [6, 5], "x": 144, "y": 18, "flags": 4}, - {"matrix": [6, 4], "x": 160, "y": 18, "flags": 4}, - {"matrix": [6, 3], "x": 176, "y": 15, "flags": 4}, - {"matrix": [6, 2], "x": 192, "y": 13, "flags": 4}, - {"matrix": [6, 1], "x": 208, "y": 15, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 17, "flags": 4}, - {"matrix": [7, 0], "x": 224, "y": 32, "flags": 4}, - {"matrix": [7, 1], "x": 208, "y": 32, "flags": 4}, - {"matrix": [7, 2], "x": 192, "y": 28, "flags": 4}, - {"matrix": [7, 3], "x": 176, "y": 27, "flags": 4}, - {"matrix": [7, 4], "x": 160, "y": 28, "flags": 4}, - {"matrix": [7, 5], "x": 144, "y": 30, "flags": 4}, - {"matrix": [8, 5], "x": 144, "y": 45, "flags": 4}, - {"matrix": [8, 4], "x": 160, "y": 45, "flags": 4}, - {"matrix": [8, 3], "x": 176, "y": 42, "flags": 4}, - {"matrix": [8, 2], "x": 192, "y": 40, "flags": 4}, - {"matrix": [8, 1], "x": 208, "y": 42, "flags": 4}, - {"matrix": [8, 0], "x": 224, "y": 43, "flags": 4}, - {"matrix": [9, 2], "x": 168, "y": 47, "flags": 4}, - {"matrix": [9, 3], "x": 152, "y": 58, "flags": 4}, - {"matrix": [9, 4], "x": 134, "y": 64, "flags": 4}, - {"matrix": [9, 5], "x": 126, "y": 52, "flags": 4}, - {"x": 144, "y": 58, "flags": 2}, - {"x": 184, "y": 50, "flags": 2}, - {"x": 216, "y": 43, "flags": 2}, - {"x": 216, "y": 5, "flags": 2}, - {"x": 184, "y": 1, "flags": 2}, - {"x": 152, "y": 3, "flags": 2} - ], "max_brightness": 160, "sleep": true, "split_count": [34, 34] diff --git a/keyboards/keebio/iris/rev6/rev6.c b/keyboards/keebio/iris/rev6/rev6.c index 1547a0a6e8..3d9e18fd01 100644 --- a/keyboards/keebio/iris/rev6/rev6.c +++ b/keyboards/keebio/iris/rev6/rev6.c @@ -13,6 +13,57 @@ along with this program. If not, see . */ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + // Left Half + { 0, 1, 2, 3, 4, 5 }, + { 11, 10, 9, 8, 7, 6 }, + { 12, 13, 14, 15, 16, 17 }, + { 23, 22, 21, 20, 19, 18 }, + { NO_LED, NO_LED, 24, 25, 26, 27 }, + // Right Half + { 34, 35, 36, 37, 38, 39 }, + { 45, 44, 43, 42, 41, 40 }, + { 46, 47, 48, 49, 50, 51 }, + { 57, 56, 55, 54, 53, 52 }, + { NO_LED, NO_LED, 58, 59, 60, 61 } +}, { + // LED Index to Physical Position + // Left Half + { 0, 5 }, { 16, 5 }, { 32, 2 }, { 48, 0 }, { 64, 2 }, { 80, 3 }, + { 80, 17 }, { 64, 15 }, { 48, 13 }, { 32, 15 }, { 16, 18 }, { 0, 18 }, + { 0, 32 }, { 16, 32 }, { 32, 28 }, { 48, 27 }, { 64, 28 }, { 80, 30 }, + { 80, 43 }, { 64, 42 }, { 48, 40 }, { 32, 42 }, { 16, 45 }, { 0, 45 }, + { 56, 47 }, { 72, 58 }, { 90, 64 }, { 98, 52 }, + { 80, 58 }, { 40, 50 }, { 8, 43 }, { 8, 5 }, { 40, 1 }, { 72, 3 }, + // Right Half + { 224, 5 }, { 208, 5 }, { 192, 2 }, { 176, 0 }, { 160, 2 }, { 144, 3 }, + { 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 224, 17 }, + { 224, 32 }, { 208, 32 }, { 192, 28 }, { 176, 27 }, { 160, 28 }, { 144, 30 }, + { 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 224, 43 }, + { 168, 47 }, { 152, 58 }, { 134, 64 }, { 126, 52 }, + { 144, 58 }, { 184, 50 }, { 216, 43 }, { 216, 5 }, { 184, 1 }, { 152, 3 } +}, { + // LED Index to Flag + // Left Half + 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, + 2, 2, 2, 2, 2, 2, + // Right Half + 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, + 2, 2, 2, 2, 2, 2 + +} }; +#endif + #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } diff --git a/keyboards/keebio/iris/rev7/keyboard.json b/keyboards/keebio/iris/rev7/keyboard.json index 7b58990d18..79b410cd94 100644 --- a/keyboards/keebio/iris/rev7/keyboard.json +++ b/keyboards/keebio/iris/rev7/keyboard.json @@ -41,76 +41,6 @@ "multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 5, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 5, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 2, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 2, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 3, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 13, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 18, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 18, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 30, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 43, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 42, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 42, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 45, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 45, "flags": 4}, - {"matrix": [4, 2], "x": 56, "y": 47, "flags": 4}, - {"matrix": [4, 3], "x": 72, "y": 58, "flags": 4}, - {"matrix": [4, 4], "x": 90, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 98, "y": 52, "flags": 4}, - {"x": 80, "y": 58, "flags": 2}, - {"x": 40, "y": 50, "flags": 2}, - {"x": 8, "y": 43, "flags": 2}, - {"x": 8, "y": 5, "flags": 2}, - {"x": 40, "y": 1, "flags": 2}, - {"x": 72, "y": 3, "flags": 2}, - {"matrix": [5, 0], "x": 224, "y": 5, "flags": 4}, - {"matrix": [5, 1], "x": 208, "y": 5, "flags": 4}, - {"matrix": [5, 2], "x": 192, "y": 2, "flags": 4}, - {"matrix": [5, 3], "x": 176, "y": 0, "flags": 4}, - {"matrix": [5, 4], "x": 160, "y": 2, "flags": 4}, - {"matrix": [5, 5], "x": 144, "y": 3, "flags": 4}, - {"matrix": [6, 5], "x": 144, "y": 18, "flags": 4}, - {"matrix": [6, 4], "x": 160, "y": 18, "flags": 4}, - {"matrix": [6, 3], "x": 176, "y": 15, "flags": 4}, - {"matrix": [6, 2], "x": 192, "y": 13, "flags": 4}, - {"matrix": [6, 1], "x": 208, "y": 15, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 17, "flags": 4}, - {"matrix": [7, 0], "x": 224, "y": 32, "flags": 4}, - {"matrix": [7, 1], "x": 208, "y": 32, "flags": 4}, - {"matrix": [7, 2], "x": 192, "y": 28, "flags": 4}, - {"matrix": [7, 3], "x": 176, "y": 27, "flags": 4}, - {"matrix": [7, 4], "x": 160, "y": 28, "flags": 4}, - {"matrix": [7, 5], "x": 144, "y": 30, "flags": 4}, - {"matrix": [8, 5], "x": 144, "y": 45, "flags": 4}, - {"matrix": [8, 4], "x": 160, "y": 45, "flags": 4}, - {"matrix": [8, 3], "x": 176, "y": 42, "flags": 4}, - {"matrix": [8, 2], "x": 192, "y": 40, "flags": 4}, - {"matrix": [8, 1], "x": 208, "y": 42, "flags": 4}, - {"matrix": [8, 0], "x": 224, "y": 43, "flags": 4}, - {"matrix": [9, 2], "x": 168, "y": 47, "flags": 4}, - {"matrix": [9, 3], "x": 152, "y": 58, "flags": 4}, - {"matrix": [9, 4], "x": 134, "y": 64, "flags": 4}, - {"matrix": [9, 5], "x": 126, "y": 52, "flags": 4}, - {"x": 144, "y": 58, "flags": 2}, - {"x": 184, "y": 50, "flags": 2}, - {"x": 216, "y": 43, "flags": 2}, - {"x": 216, "y": 5, "flags": 2}, - {"x": 184, "y": 1, "flags": 2}, - {"x": 152, "y": 3, "flags": 2} - ], "max_brightness": 120, "sleep": true, "split_count": [34, 34] diff --git a/keyboards/keebio/iris/rev7/rev7.c b/keyboards/keebio/iris/rev7/rev7.c index 197a9dec75..deab7acc8a 100644 --- a/keyboards/keebio/iris/rev7/rev7.c +++ b/keyboards/keebio/iris/rev7/rev7.c @@ -13,6 +13,59 @@ along with this program. If not, see . */ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + // Left Half + { 0, 1, 2, 3, 4, 5 }, + { 11, 10, 9, 8, 7, 6 }, + { 12, 13, 14, 15, 16, 17 }, + { 23, 22, 21, 20, 19, 18 }, + { NO_LED, NO_LED, 24, 25, 26, 27 }, + // Right Half + { 34, 35, 36, 37, 38, 39 }, + { 45, 44, 43, 42, 41, 40 }, + { 46, 47, 48, 49, 50, 51 }, + { 57, 56, 55, 54, 53, 52 }, + { NO_LED, NO_LED, 58, 59, 60, 61 } +}, { + // LED Index to Physical Position + // Left Half + { 0, 5 }, { 16, 5 }, { 32, 2 }, { 48, 0 }, { 64, 2 }, { 80, 3 }, + { 80, 17 }, { 64, 15 }, { 48, 13 }, { 32, 15 }, { 16, 18 }, { 0, 18 }, + { 0, 32 }, { 16, 32 }, { 32, 28 }, { 48, 27 }, { 64, 28 }, { 80, 30 }, + { 80, 43 }, { 64, 42 }, { 48, 40 }, { 32, 42 }, { 16, 45 }, { 0, 45 }, + { 56, 47 }, { 72, 58 }, { 90, 64 }, { 98, 52 }, + { 80, 58 }, { 40, 50 }, { 8, 43 }, { 8, 5 }, { 40, 1 }, { 72, 3 }, + // Right Half + { 224, 5 }, { 208, 5 }, { 192, 2 }, { 176, 0 }, { 160, 2 }, { 144, 3 }, + { 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 224, 17 }, + { 224, 32 }, { 208, 32 }, { 192, 28 }, { 176, 27 }, { 160, 28 }, { 144, 30 }, + { 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 224, 43 }, + { 168, 47 }, { 152, 58 }, { 134, 64 }, { 126, 52 }, + { 144, 58 }, { 184, 50 }, { 216, 43 }, { 216, 5 }, { 184, 1 }, { 152, 3 } +}, { + // LED Index to Flag + // Left Half + 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, + 2, 2, 2, 2, 2, 2, + // Right Half + 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, + 2, 2, 2, 2, 2, 2 + +} }; + + +#endif + #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } diff --git a/keyboards/keebio/iris_lm/g1/config.h b/keyboards/keebio/iris_lm/g1/config.h index ca19ea6402..952033edf1 100644 --- a/keyboards/keebio/iris_lm/g1/config.h +++ b/keyboards/keebio/iris_lm/g1/config.h @@ -13,11 +13,14 @@ #define SERIAL_USART_PIN_SWAP #define USB_VBUS_PIN C6 +#define SPLIT_HAND_PIN A0 /* Defines for the RGB matrix */ -#define WS2812_PWM_DRIVER PWMD3 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 10 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 -#define WS2812_DMA_CHANNEL 2 -#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP +#ifdef RGB_MATRIX_ENABLE +# define WS2812_PWM_DRIVER PWMD3 +# define WS2812_PWM_CHANNEL 4 +# define WS2812_PWM_PAL_MODE 10 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +# define WS2812_DMA_CHANNEL 2 +# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP +#endif diff --git a/keyboards/keebio/iris_lm/g1/keyboard.json b/keyboards/keebio/iris_lm/g1/keyboard.json index 20cd78d937..6aca0c9bac 100644 --- a/keyboards/keebio/iris_lm/g1/keyboard.json +++ b/keyboards/keebio/iris_lm/g1/keyboard.json @@ -33,9 +33,6 @@ ] } }, - "handedness": { - "pin": "A0" - }, "matrix_pins": { "right": { "cols": ["C11", "C13", "B6", "B9", "B12", "B2"], diff --git a/keyboards/keebio/iris_lm/k1/config.h b/keyboards/keebio/iris_lm/k1/config.h index ca19ea6402..952033edf1 100644 --- a/keyboards/keebio/iris_lm/k1/config.h +++ b/keyboards/keebio/iris_lm/k1/config.h @@ -13,11 +13,14 @@ #define SERIAL_USART_PIN_SWAP #define USB_VBUS_PIN C6 +#define SPLIT_HAND_PIN A0 /* Defines for the RGB matrix */ -#define WS2812_PWM_DRIVER PWMD3 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 10 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 -#define WS2812_DMA_CHANNEL 2 -#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP +#ifdef RGB_MATRIX_ENABLE +# define WS2812_PWM_DRIVER PWMD3 +# define WS2812_PWM_CHANNEL 4 +# define WS2812_PWM_PAL_MODE 10 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +# define WS2812_DMA_CHANNEL 2 +# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP +#endif diff --git a/keyboards/keebio/iris_lm/k1/keyboard.json b/keyboards/keebio/iris_lm/k1/keyboard.json index 3a86f6253b..e5b0d5c655 100644 --- a/keyboards/keebio/iris_lm/k1/keyboard.json +++ b/keyboards/keebio/iris_lm/k1/keyboard.json @@ -18,9 +18,6 @@ }, "split": { "enabled": true, - "handedness": { - "pin": "A0" - }, "matrix_pins": { "right": { "cols": ["C11", "C13", "B6", "B9", "B12", "B2"], diff --git a/keyboards/keebio/kbo5000/keymaps/default/keymap.c b/keyboards/keebio/kbo5000/keymaps/default/keymap.c index e3ad5fe6fa..e164711fc9 100644 --- a/keyboards/keebio/kbo5000/keymaps/default/keymap.c +++ b/keyboards/keebio/kbo5000/keymaps/default/keymap.c @@ -1,6 +1,3 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include QMK_KEYBOARD_H enum encoder_names { diff --git a/keyboards/keebio/kbo5000/keymaps/iso/keymap.c b/keyboards/keebio/kbo5000/keymaps/iso/keymap.c index 78b3023267..b08c92d7e1 100644 --- a/keyboards/keebio/kbo5000/keymaps/iso/keymap.c +++ b/keyboards/keebio/kbo5000/keymaps/iso/keymap.c @@ -1,6 +1,3 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include QMK_KEYBOARD_H enum encoder_names { diff --git a/keyboards/keebio/kbo5000/readme.md b/keyboards/keebio/kbo5000/readme.md index 2208542122..1f1f63889e 100644 --- a/keyboards/keebio/kbo5000/readme.md +++ b/keyboards/keebio/kbo5000/readme.md @@ -15,6 +15,6 @@ Example of flashing this keyboard: Handedness detection is already hardwired onto the PCB, so no need to deal with `EE_HANDS` or flashing .eep files. -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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. A build guide for this keyboard can be found here: [Keebio Build Guides](https://docs.keeb.io) diff --git a/keyboards/keebio/kbo5000/rev1/config.h b/keyboards/keebio/kbo5000/rev1/config.h index 365d756870..12f7f76c87 100644 --- a/keyboards/keebio/kbo5000/rev1/config.h +++ b/keyboards/keebio/kbo5000/rev1/config.h @@ -18,6 +18,4 @@ along with this program. If not, see . #pragma once -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) - #define CAPS_LOCK_LED_PIN B6 diff --git a/keyboards/keebio/kbo5000/rev1/rev1.c b/keyboards/keebio/kbo5000/rev1/rev1.c index f2c98da111..8aa227deba 100644 --- a/keyboards/keebio/kbo5000/rev1/rev1.c +++ b/keyboards/keebio/kbo5000/rev1/rev1.c @@ -1,6 +1,3 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - #include "quantum.h" #include "split_util.h" @@ -9,11 +6,29 @@ void matrix_init_kb(void) { matrix_init_user(); } -void led_update_ports(led_t led_state) { +bool led_update_kb(led_t led_state) { // Only update if left half - if (is_keyboard_left()) { + if (isLeftHand && led_update_user(led_state)) { gpio_write_pin(CAPS_LOCK_LED_PIN, !led_state.caps_lock); } + return true; +} + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(3); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); } bool encoder_update_kb(uint8_t index, bool clockwise) { diff --git a/keyboards/keebio/laplace/keymaps/default/keymap.c b/keyboards/keebio/laplace/keymaps/default/keymap.c index c45a7956e5..fbd88c72af 100644 --- a/keyboards/keebio/laplace/keymaps/default/keymap.c +++ b/keyboards/keebio/laplace/keymaps/default/keymap.c @@ -1,6 +1,3 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include QMK_KEYBOARD_H #define _BASE 0 diff --git a/keyboards/keebio/laplace/readme.md b/keyboards/keebio/laplace/readme.md index f71efb0c37..4292483bc8 100644 --- a/keyboards/keebio/laplace/readme.md +++ b/keyboards/keebio/laplace/readme.md @@ -1,10 +1,11 @@ -# Laplace +Laplace +======= A 40% staggered keyboard made and sold by Keebio. [More info at Keebio](https://keeb.io). -* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -* Hardware Supported: Pro Micro -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +Hardware Supported: Pro Micro +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): @@ -12,8 +13,8 @@ Make example for this keyboard (after setting up your build environment): Example of flashing this keyboard: - make keebio/laplace:default:flash + make keebio/laplace:default:avrdude -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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. A build guide for this keyboard can be found here: [Keebio Build Guides](https://docs.keeb.io) diff --git a/keyboards/mode/m65v2/config.h b/keyboards/keebio/levinson/keymaps/default/config.h similarity index 70% rename from keyboards/mode/m65v2/config.h rename to keyboards/keebio/levinson/keymaps/default/config.h index c34b7e5a8b..be2d71e8f0 100644 --- a/keyboards/mode/m65v2/config.h +++ b/keyboards/keebio/levinson/keymaps/default/config.h @@ -1,5 +1,9 @@ /* - Copyright 2025 Gondolindrim +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2018 Danny Nguyen 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,9 +21,8 @@ along with this program. If not, see . #pragma once -#define WS2812_PWM_COMPLEMENTARY_OUTPUT -#define WS2812_PWM_DRIVER PWMD1 -#define WS2812_PWM_CHANNEL 3 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_PWM_DMA_STREAM STM32_DMA2_STREAM5 -#define WS2812_PWM_DMA_CHANNEL 6 +// #define USE_I2C + +/* Select hand configuration */ +// #define MASTER_RIGHT +// #define EE_HANDS diff --git a/keyboards/keebio/levinson/keymaps/default/keymap.c b/keyboards/keebio/levinson/keymaps/default/keymap.c index b3f4e17124..20be1edd39 100644 --- a/keyboards/keebio/levinson/keymaps/default/keymap.c +++ b/keyboards/keebio/levinson/keymaps/default/keymap.c @@ -1,8 +1,6 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include QMK_KEYBOARD_H + // 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 diff --git a/keyboards/keebio/levinson/levinson.c b/keyboards/keebio/levinson/levinson.c index e78585b731..6f1a050e80 100644 --- a/keyboards/keebio/levinson/levinson.c +++ b/keyboards/keebio/levinson/levinson.c @@ -1,6 +1,3 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include "quantum.h" #ifdef SWAP_HANDS_ENABLE diff --git a/keyboards/keebio/levinson/readme.md b/keyboards/keebio/levinson/readme.md index 2c63b7d8f5..f328aa4205 100644 --- a/keyboards/keebio/levinson/readme.md +++ b/keyboards/keebio/levinson/readme.md @@ -1,10 +1,11 @@ -# Levinson +Levinson +======== A split 40% split 4x12 ortholinear keyboard made and sold by Keebio. It's essentially a Let's Split with LED backlight support and 2u thumb key support. [More info at Keebio](https://keeb.io). -* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -* Hardware Supported: Pro Micro, Elite-C -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +Hardware Supported: Pro Micro, Elite-C +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): @@ -12,7 +13,7 @@ Make example for this keyboard (after setting up your build environment): Example of flashing this keyboard with Pro micro: - make keebio/levinson/rev3:default:flash + make keebio/levinson/rev3:default:avrdude Example of flashing this keyboard with Elite-C: diff --git a/keyboards/keebio/levinson/rev2/config.h b/keyboards/keebio/levinson/rev2/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/levinson/rev2/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/levinson/rev2/keyboard.json b/keyboards/keebio/levinson/rev2/keyboard.json index b6b1fcfa33..dd71186837 100644 --- a/keyboards/keebio/levinson/rev2/keyboard.json +++ b/keyboards/keebio/levinson/rev2/keyboard.json @@ -15,27 +15,12 @@ }, "diode_direction": "COL2ROW", "backlight": { - "default": { - "brightness": 5 - }, "pin": "B5", "levels": 7 }, "rgblight": { "led_count": 12, - "split_count": [6, 6], - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "knight": true, - "christmas": true, - "static_gradient": true, - "rgb_test": true, - "alternating": true, - "twinkle": true - } + "split_count": [6, 6] }, "ws2812": { "pin": "D3" diff --git a/keyboards/keebio/levinson/rev2/rev2.c b/keyboards/keebio/levinson/rev2/rev2.c new file mode 100644 index 0000000000..76fb136c03 --- /dev/null +++ b/keyboards/keebio/levinson/rev2/rev2.c @@ -0,0 +1,18 @@ +#include "quantum.h" + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(5); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/levinson/rev3/config.h b/keyboards/keebio/levinson/rev3/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/levinson/rev3/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/levinson/rev3/keyboard.json b/keyboards/keebio/levinson/rev3/keyboard.json index 0c619bb627..7930727755 100644 --- a/keyboards/keebio/levinson/rev3/keyboard.json +++ b/keyboards/keebio/levinson/rev3/keyboard.json @@ -24,9 +24,6 @@ }, "diode_direction": "COL2ROW", "backlight": { - "default": { - "brightness": 5 - }, "pin": "B6", "levels": 7 }, diff --git a/keyboards/keebio/levinson/rev3/rev3.c b/keyboards/keebio/levinson/rev3/rev3.c new file mode 100644 index 0000000000..76fb136c03 --- /dev/null +++ b/keyboards/keebio/levinson/rev3/rev3.c @@ -0,0 +1,18 @@ +#include "quantum.h" + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(5); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/nyquist/readme.md b/keyboards/keebio/nyquist/readme.md index 1bfcd59bfa..40e7ebf3d2 100644 --- a/keyboards/keebio/nyquist/readme.md +++ b/keyboards/keebio/nyquist/readme.md @@ -1,10 +1,11 @@ -# Nyquist +Nyquist +======= A split 60% split 5x12 ortholinear keyboard made and sold by Keebio. [More info at Keebio](https://keeb.io). -* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -* Hardware Supported: Pro Micro, ATmega32u4 -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +Hardware Supported: Pro Micro, ATmega32u4 +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): @@ -14,6 +15,6 @@ Example of flashing this keyboard: make keebio/nyquist/rev3:default:flash -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. A build guide for this keyboard can be found here: [Nyquist Build Guide](https://docs.keeb.io) diff --git a/keyboards/keebio/nyquist/rev2/config.h b/keyboards/keebio/nyquist/rev2/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/nyquist/rev2/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/nyquist/rev2/keyboard.json b/keyboards/keebio/nyquist/rev2/keyboard.json index a66dff3904..69639db6bf 100644 --- a/keyboards/keebio/nyquist/rev2/keyboard.json +++ b/keyboards/keebio/nyquist/rev2/keyboard.json @@ -24,27 +24,12 @@ }, "diode_direction": "COL2ROW", "backlight": { - "default": { - "brightness": 5 - }, "pin": "B6", "levels": 7 }, "rgblight": { "led_count": 12, - "split_count": [6, 6], - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "knight": true, - "christmas": true, - "static_gradient": true, - "rgb_test": true, - "alternating": true, - "twinkle": true - } + "split_count": [6, 6] }, "ws2812": { "pin": "D3" diff --git a/keyboards/keebio/nyquist/rev2/rev2.c b/keyboards/keebio/nyquist/rev2/rev2.c new file mode 100644 index 0000000000..76fb136c03 --- /dev/null +++ b/keyboards/keebio/nyquist/rev2/rev2.c @@ -0,0 +1,18 @@ +#include "quantum.h" + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(5); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/nyquist/rev3/config.h b/keyboards/keebio/nyquist/rev3/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/nyquist/rev3/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/nyquist/rev3/keyboard.json b/keyboards/keebio/nyquist/rev3/keyboard.json index a4db4dcd8e..bdc7be0e4e 100644 --- a/keyboards/keebio/nyquist/rev3/keyboard.json +++ b/keyboards/keebio/nyquist/rev3/keyboard.json @@ -24,9 +24,6 @@ }, "diode_direction": "COL2ROW", "backlight": { - "default": { - "brightness": 5 - }, "pin": "B5", "levels": 7 }, diff --git a/keyboards/keebio/nyquist/rev3/rev3.c b/keyboards/keebio/nyquist/rev3/rev3.c new file mode 100644 index 0000000000..76fb136c03 --- /dev/null +++ b/keyboards/keebio/nyquist/rev3/rev3.c @@ -0,0 +1,18 @@ +#include "quantum.h" + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(5); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/nyquist/rev5/config.h b/keyboards/keebio/nyquist/rev5/config.h index f05cd8695f..c4bbd6c5b2 100644 --- a/keyboards/keebio/nyquist/rev5/config.h +++ b/keyboards/keebio/nyquist/rev5/config.h @@ -3,6 +3,8 @@ #pragma once +#define SPLIT_HAND_PIN GP23 + #define USB_VBUS_PIN GP18 #define SERIAL_USART_FULL_DUPLEX diff --git a/keyboards/keebio/nyquist/rev5/keyboard.json b/keyboards/keebio/nyquist/rev5/keyboard.json index 6ff3dd3821..fc03c00e29 100644 --- a/keyboards/keebio/nyquist/rev5/keyboard.json +++ b/keyboards/keebio/nyquist/rev5/keyboard.json @@ -25,9 +25,6 @@ ] } }, - "handedness": { - "pin": "GP23" - }, "matrix_pins": { "right":{ "cols": ["GP25", "GP29", "GP20", "GP11", "GP3", "GP2"], diff --git a/keyboards/keebio/quefrency/keymaps/default/config.h b/keyboards/keebio/quefrency/keymaps/default/config.h new file mode 100644 index 0000000000..53bf8fb933 --- /dev/null +++ b/keyboards/keebio/quefrency/keymaps/default/config.h @@ -0,0 +1,24 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2018 Danny Nguyen + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// #define USE_I2C diff --git a/keyboards/keebio/quefrency/keymaps/default/keymap.c b/keyboards/keebio/quefrency/keymaps/default/keymap.c index 35fb3eec1b..48dcd73eff 100644 --- a/keyboards/keebio/quefrency/keymaps/default/keymap.c +++ b/keyboards/keebio/quefrency/keymaps/default/keymap.c @@ -12,6 +12,10 @@ enum custom_layer { _FN1, }; +enum custom_keycodes { + QWERTY = SAFE_RANGE, +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT_65_with_macro( KC_F1, KC_F2, 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_DEL, KC_BSPC, KC_HOME, diff --git a/keyboards/keebio/quefrency/keymaps/default60/keymap.c b/keyboards/keebio/quefrency/keymaps/default60/keymap.c index 2f06f69309..f3545dfbdc 100644 --- a/keyboards/keebio/quefrency/keymaps/default60/keymap.c +++ b/keyboards/keebio/quefrency/keymaps/default60/keymap.c @@ -12,6 +12,10 @@ enum custom_layer { _FN1, }; +enum custom_keycodes { + QWERTY = SAFE_RANGE, +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT_60( 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_DEL, KC_BSPC, diff --git a/keyboards/keebio/quefrency/keymaps/default65/keymap.c b/keyboards/keebio/quefrency/keymaps/default65/keymap.c index 0cdc7dbcdc..980dd95eed 100644 --- a/keyboards/keebio/quefrency/keymaps/default65/keymap.c +++ b/keyboards/keebio/quefrency/keymaps/default65/keymap.c @@ -3,6 +3,8 @@ #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 @@ -10,6 +12,10 @@ #define _BASE 0 #define _FN1 1 +enum custom_keycodes { + QWERTY = SAFE_RANGE, +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT_65( 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_DEL, KC_BSPC, KC_HOME, diff --git a/keyboards/keebio/quefrency/readme.md b/keyboards/keebio/quefrency/readme.md index 2138a5d14b..dd2bde88f4 100644 --- a/keyboards/keebio/quefrency/readme.md +++ b/keyboards/keebio/quefrency/readme.md @@ -1,10 +1,11 @@ -# Quefrency +Quefrency +========= A split 60/65% staggered keyboard made and sold by Keebio. [More info at Keebio](https://keeb.io). -* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -* Hardware Supported: Pro Micro (Rev. 1), ATmega32u4 (Rev. 2 & 3) -* Hardware Availability: [Keebio](https://keeb.io/) +Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +Hardware Supported: Pro Micro (Rev. 1), ATmega32u4 (Rev. 2 & 3) +Hardware Availability: [Keebio](https://keeb.io/) Make example for this keyboard (after setting up your build environment): @@ -16,6 +17,6 @@ Example of flashing this keyboard: Handedness detection is already hardwired onto the PCB, so no need to deal with `EE_HANDS` or flashing .eep files. -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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. A build guide for this keyboard can be found here: [Keebio Build Guides](https://docs.keeb.io) diff --git a/keyboards/keebio/quefrency/rev1/config.h b/keyboards/keebio/quefrency/rev1/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/quefrency/rev1/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/quefrency/rev1/rev1.c b/keyboards/keebio/quefrency/rev1/rev1.c new file mode 100644 index 0000000000..51adb74d31 --- /dev/null +++ b/keyboards/keebio/quefrency/rev1/rev1.c @@ -0,0 +1,14 @@ +#include "quantum.h" + +void eeconfig_init_kb(void) { +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/quefrency/rev2/config.h b/keyboards/keebio/quefrency/rev2/config.h index 365d756870..12f7f76c87 100644 --- a/keyboards/keebio/quefrency/rev2/config.h +++ b/keyboards/keebio/quefrency/rev2/config.h @@ -18,6 +18,4 @@ along with this program. If not, see . #pragma once -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) - #define CAPS_LOCK_LED_PIN B6 diff --git a/keyboards/keebio/quefrency/rev2/rev2.c b/keyboards/keebio/quefrency/rev2/rev2.c index 992f621ef6..f0320597f7 100644 --- a/keyboards/keebio/quefrency/rev2/rev2.c +++ b/keyboards/keebio/quefrency/rev2/rev2.c @@ -1,6 +1,3 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - #include "quantum.h" #include "split_util.h" @@ -9,11 +6,29 @@ void matrix_init_kb(void) { matrix_init_user(); } -void led_update_ports(led_t led_state) { +bool led_update_kb(led_t led_state) { // Only update if left half - if (is_keyboard_left()) { + if (isLeftHand && led_update_user(led_state)) { gpio_write_pin(CAPS_LOCK_LED_PIN, !led_state.caps_lock); } + return true; +} + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(3); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); } #ifdef ENCODER_ENABLE diff --git a/keyboards/keebio/quefrency/rev3/config.h b/keyboards/keebio/quefrency/rev3/config.h index 365d756870..12f7f76c87 100644 --- a/keyboards/keebio/quefrency/rev3/config.h +++ b/keyboards/keebio/quefrency/rev3/config.h @@ -18,6 +18,4 @@ along with this program. If not, see . #pragma once -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) - #define CAPS_LOCK_LED_PIN B6 diff --git a/keyboards/keebio/quefrency/rev3/rev3.c b/keyboards/keebio/quefrency/rev3/rev3.c index 82fb267879..74d68723f5 100644 --- a/keyboards/keebio/quefrency/rev3/rev3.c +++ b/keyboards/keebio/quefrency/rev3/rev3.c @@ -22,11 +22,29 @@ void matrix_init_kb(void) { matrix_init_user(); } -void led_update_ports(led_t led_state) { +bool led_update_kb(led_t led_state) { // Only update if left half - if (is_keyboard_left()) { + if (led_update_user(led_state) && isLeftHand) { gpio_write_pin(CAPS_LOCK_LED_PIN, !led_state.caps_lock); } + return true; +} + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(3); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); } #ifdef ENCODER_ENABLE diff --git a/keyboards/keebio/quefrency/rev6/config.h b/keyboards/keebio/quefrency/rev6/config.h index ca19ea6402..952033edf1 100644 --- a/keyboards/keebio/quefrency/rev6/config.h +++ b/keyboards/keebio/quefrency/rev6/config.h @@ -13,11 +13,14 @@ #define SERIAL_USART_PIN_SWAP #define USB_VBUS_PIN C6 +#define SPLIT_HAND_PIN A0 /* Defines for the RGB matrix */ -#define WS2812_PWM_DRIVER PWMD3 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 10 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 -#define WS2812_DMA_CHANNEL 2 -#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP +#ifdef RGB_MATRIX_ENABLE +# define WS2812_PWM_DRIVER PWMD3 +# define WS2812_PWM_CHANNEL 4 +# define WS2812_PWM_PAL_MODE 10 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +# define WS2812_DMA_CHANNEL 2 +# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP +#endif diff --git a/keyboards/keebio/quefrency/rev6/keyboard.json b/keyboards/keebio/quefrency/rev6/keyboard.json index ac488daa08..84629eb4cf 100644 --- a/keyboards/keebio/quefrency/rev6/keyboard.json +++ b/keyboards/keebio/quefrency/rev6/keyboard.json @@ -200,18 +200,12 @@ ] } }, - "handedness": { - "pin": "A0" - }, "matrix_pins": { "right": { "cols": ["B2", "B1", "B0", "B12", "B13", "A7", "B6", "C13", "C14"], "rows": ["A5", "A4", "A3", "B5", "F1"] } }, - "serial": { - "driver": "usart" - }, "transport": { "sync": { "matrix_state": true diff --git a/keyboards/keebio/quefrency/rev6/rules.mk b/keyboards/keebio/quefrency/rev6/rules.mk new file mode 100644 index 0000000000..c6e2988321 --- /dev/null +++ b/keyboards/keebio/quefrency/rev6/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = usart diff --git a/keyboards/wily/wily_s/config.h b/keyboards/keebio/rorschach/keymaps/default/config.h similarity index 81% rename from keyboards/wily/wily_s/config.h rename to keyboards/keebio/rorschach/keymaps/default/config.h index 580f722f15..da32daebb3 100644 --- a/keyboards/wily/wily_s/config.h +++ b/keyboards/keebio/rorschach/keymaps/default/config.h @@ -1,4 +1,5 @@ -/* Copyright 2025 Gondolindrim +/* +Copyright 2018 Danny Nguyen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,6 +17,8 @@ along with this program. If not, see . #pragma once -#define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 4 -#define BACKLIGHT_PWM_PAL_MOPDE 2 +// #define USE_I2C + +/* Select hand configuration */ +// #define MASTER_RIGHT +// #define EE_HANDS diff --git a/keyboards/keebio/rorschach/keymaps/default/keymap.c b/keyboards/keebio/rorschach/keymaps/default/keymap.c index df03718193..2949164c34 100644 --- a/keyboards/keebio/rorschach/keymaps/default/keymap.c +++ b/keyboards/keebio/rorschach/keymaps/default/keymap.c @@ -1,8 +1,6 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include QMK_KEYBOARD_H + enum layer_names { _QWERTY, _LOWER, diff --git a/keyboards/keebio/rorschach/readme.md b/keyboards/keebio/rorschach/readme.md index f048cd307a..1a623a5353 100644 --- a/keyboards/keebio/rorschach/readme.md +++ b/keyboards/keebio/rorschach/readme.md @@ -1,10 +1,11 @@ -# Rorschach +Rorschach +========= A split ortholinear 4x6 keyboard with 2 additional thumb keys and sold by Keebio. [More info at Keebio](https://keeb.io). -* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -* Hardware Supported: Pro Micro -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +Hardware Supported: Pro Micro +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): @@ -12,8 +13,8 @@ Make example for this keyboard (after setting up your build environment): Example of flashing this keyboard: - make keebio/rorschach/rev1:default:flash + make keebio/rorschach/rev1:default:avrdude -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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. A build guide for this keyboard can be found here: [Iris Build Guide](https://docs.keeb.io/iris-build-guide.html) diff --git a/keyboards/keebio/sinc/readme.md b/keyboards/keebio/sinc/readme.md index 9ffdf29c42..29d9ed0415 100644 --- a/keyboards/keebio/sinc/readme.md +++ b/keyboards/keebio/sinc/readme.md @@ -15,6 +15,6 @@ Example of flashing this keyboard: Handedness detection is already hardwired onto the PCB, so no need to deal with `EE_HANDS` or flashing .eep files. -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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. A build guide for this keyboard can be found here: [Keebio Build Guides](https://docs.keeb.io) diff --git a/keyboards/keebio/sinc/sinc.c b/keyboards/keebio/sinc/sinc.c index 102ede7cff..faa3540af9 100644 --- a/keyboards/keebio/sinc/sinc.c +++ b/keyboards/keebio/sinc/sinc.c @@ -17,12 +17,14 @@ along with this program. If not, see . #include "quantum.h" #include "split_util.h" -#ifdef LED_CAPS_LOCK_PIN -void led_update_ports(led_t led_state) { +#ifdef BACKLIGHT_ENABLE +bool led_update_kb(led_t led_state) { + if (!led_update_user(led_state)) { return false; } // Only update if left half - if (is_keyboard_left()) { + if (isLeftHand && led_update_user(led_state)) { gpio_write_pin(LED_CAPS_LOCK_PIN, !led_state.caps_lock); } + return true; } #endif diff --git a/keyboards/keebio/sinc_lm/info.json b/keyboards/keebio/sinc_lm/info.json deleted file mode 100644 index cb41e89ff6..0000000000 --- a/keyboards/keebio/sinc_lm/info.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "manufacturer": "Keebio", - "url": "https://keeb.io", - "maintainer": "nooges", - "usb": { - "vid": "0xCB10" - }, - "features": { - "bootmagic": true, - "console": true, - "extrakey": true, - "mousekey": true, - "nkro": false - }, - "split": { - "enabled": true - }, - "build": { - "lto": true - } -} diff --git a/keyboards/keebio/sinc_lm/keymaps/default/keymap.c b/keyboards/keebio/sinc_lm/keymaps/default/keymap.c deleted file mode 100644 index 83e1638fdd..0000000000 --- a/keyboards/keebio/sinc_lm/keymaps/default/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2026 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_MUTE, RM_NEXT, 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_VOLD, KC_VOLU, - KC_F1, KC_F2, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, - KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, - KC_F7, KC_F8, 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_F9, KC_F10, MO(1), KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RM_HUEU, RM_HUED, 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, _______, _______, - RM_SATU, RM_SATD, RM_TOGG, RM_NEXT, KC_UP, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, - RM_VALU, RM_VALD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RM_SPDU, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/keebio/sinc_lm/readme.md b/keyboards/keebio/sinc_lm/readme.md deleted file mode 100644 index 7e03c056f3..0000000000 --- a/keyboards/keebio/sinc_lm/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Sinc LM - -A split 75%/TKL staggered low-profile keyboard made and sold by Keebio. [More info at Keebio](https://keeb.io). - -* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -* Hardware Availability: [Keebio](https://keeb.io/) - -Make example for this keyboard (after setting up your build environment): - - make keebio/sinc_lm/rev1:default - -Example of flashing this keyboard: - - make keebio/sinc_lm/rev1:default:flash - -Handedness detection is already hardwired onto the PCB, so no need to deal with `EE_HANDS` or flashing .eep files. - -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 one of these ways: - -* **Physical reset button**: Press and hold the button on the back of the PCB for at least 2 seconds and let go, or double-press the button -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available - -A build guide for this keyboard can be found here: [Keebio Build Guides](https://docs.keeb.io) diff --git a/keyboards/keebio/sinc_lm/rev1/config.h b/keyboards/keebio/sinc_lm/rev1/config.h deleted file mode 100644 index 4d80efeedb..0000000000 --- a/keyboards/keebio/sinc_lm/rev1/config.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2026 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* Defines for the split keyboard setup */ -#define SERIAL_USART_DRIVER SD3 // USART 3 -#define SERIAL_USART_TX_PIN B10 -#define SERIAL_USART_RX_PIN B11 -#define SERIAL_USART_TX_PAL_MODE 7 -#define SERIAL_USART_RX_PAL_MODE 7 -#define SERIAL_USART_FULL_DUPLEX -#define SERIAL_USART_PIN_SWAP - -#define USB_VBUS_PIN C6 - -/* Defines for the RGB matrix */ -#define WS2812_PWM_DRIVER PWMD3 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 10 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 -#define WS2812_DMA_CHANNEL 2 -#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP diff --git a/keyboards/keebio/sinc_lm/rev1/halconf.h b/keyboards/keebio/sinc_lm/rev1/halconf.h deleted file mode 100644 index ae60dc5a29..0000000000 --- a/keyboards/keebio/sinc_lm/rev1/halconf.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2026 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_SERIAL TRUE - -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/keebio/sinc_lm/rev1/keyboard.json b/keyboards/keebio/sinc_lm/rev1/keyboard.json deleted file mode 100644 index 6d237775df..0000000000 --- a/keyboards/keebio/sinc_lm/rev1/keyboard.json +++ /dev/null @@ -1,358 +0,0 @@ -{ - "manufacturer": "Keebio", - "keyboard_name": "Sinc LM Rev. 1", - "maintainer": "nooges", - "bootloader": "stm32-dfu", - "bootmagic": { - "matrix": [0, 2] - }, - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["B13", "B14", "B2", "F0", "C10", "B6", "C13", "C14", "C15"], - "rows": ["B4", "C11", "B12", "B5", "F1", "B1"] - }, - "processor": "STM32G431", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "gradient_up_down": true, - "gradient_left_right": true, - "breathing": true, - "band_sat": true, - "band_val": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_up_down": true, - "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, - "flower_blooming": 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, - "starlight": true, - "starlight_smooth": true, - "starlight_dual_hue": true, - "starlight_dual_sat": true, - "riverflow": true - }, - "driver": "ws2812", - "layout": [ - { "matrix": [5, 2], "x": 30, "y": 4, "flags": 4 }, - { "x": 32, "y": 10, "flags": 2 }, - { "matrix": [5, 3], "x": 45, "y": 4, "flags": 4 }, - { "matrix": [5, 4], "x": 58, "y": 4, "flags": 4 }, - { "matrix": [5, 5], "x": 70, "y": 4, "flags": 4 }, - { "x": 76, "y": 2, "flags": 2 }, - { "matrix": [5, 6], "x": 82, "y": 4, "flags": 4 }, - { "matrix": [5, 7], "x": 97, "y": 4, "flags": 4 }, - { "matrix": [5, 8], "x": 109, "y": 4, "flags": 4 }, - { "x": 103, "y": 10, "flags": 2 }, - - { "matrix": [0, 8], "x": 103, "y": 18, "flags": 4 }, - { "matrix": [0, 7], "x": 91, "y": 18, "flags": 4 }, - { "matrix": [0, 6], "x": 79, "y": 18, "flags": 4 }, - { "matrix": [0, 5], "x": 67, "y": 18, "flags": 4 }, - { "matrix": [0, 4], "x": 54, "y": 18, "flags": 4 }, - { "matrix": [0, 3], "x": 42, "y": 18, "flags": 4 }, - { "matrix": [0, 2], "x": 30, "y": 18, "flags": 4 }, - - { "matrix": [1, 2], "x": 33, "y": 30, "flags": 4 }, - { "matrix": [1, 3], "x": 48, "y": 30, "flags": 4 }, - { "matrix": [1, 4], "x": 61, "y": 30, "flags": 4 }, - { "matrix": [1, 5], "x": 73, "y": 30, "flags": 4 }, - { "matrix": [1, 6], "x": 85, "y": 30, "flags": 4 }, - { "matrix": [1, 7], "x": 97, "y": 30, "flags": 4 }, - - { "matrix": [2, 7], "x": 100, "y": 41, "flags": 4 }, - { "matrix": [2, 6], "x": 88, "y": 41, "flags": 4 }, - { "matrix": [2, 5], "x": 76, "y": 41, "flags": 4 }, - { "matrix": [2, 4], "x": 64, "y": 41, "flags": 4 }, - { "matrix": [2, 3], "x": 51, "y": 41, "flags": 4 }, - { "matrix": [2, 2], "x": 35, "y": 41, "flags": 4 }, - - { "matrix": [3, 2], "x": 38, "y": 53, "flags": 4 }, - { "matrix": [3, 4], "x": 58, "y": 53, "flags": 4 }, - { "matrix": [3, 5], "x": 70, "y": 53, "flags": 4 }, - { "matrix": [3, 6], "x": 82, "y": 53, "flags": 4 }, - { "matrix": [3, 7], "x": 94, "y": 53, "flags": 4 }, - { "x": 100, "y": 46, "flags": 2 }, - { "matrix": [3, 8], "x": 106, "y": 53, "flags": 4 }, - - { "matrix": [4, 7], "x": 98, "y": 64, "flags": 4 }, - { "x": 85, "y": 64, "flags": 2 }, - { "matrix": [4, 5], "x": 77, "y": 64, "flags": 4 }, - { "matrix": [4, 4], "x": 62, "y": 64, "flags": 4 }, - { "matrix": [4, 3], "x": 47, "y": 64, "flags": 4 }, - { "x": 39, "y": 60, "flags": 4 }, - { "matrix": [4, 2], "x": 32, "y": 64, "flags": 4 }, - - { "matrix": [4, 1], "x": 12, "y": 64, "flags": 4 }, - { "x": 6, "y": 60, "flags": 2 }, - { "matrix": [4, 0], "x": 0, "y": 64, "flags": 4 }, - { "matrix": [3, 0], "x": 0, "y": 53, "flags": 4 }, - { "matrix": [3, 1], "x": 12, "y": 53, "flags": 4 }, - { "matrix": [2, 1], "x": 12, "y": 41, "flags": 4 }, - { "matrix": [2, 0], "x": 0, "y": 41, "flags": 4 }, - { "matrix": [1, 0], "x": 0, "y": 30, "flags": 4 }, - { "matrix": [1, 1], "x": 12, "y": 30, "flags": 4 }, - { "matrix": [0, 1], "x": 12, "y": 18, "flags": 4 }, - { "matrix": [0, 0], "x": 0, "y": 18, "flags": 4 }, - { "matrix": [5, 0], "x": 0, "y": 4, "flags": 4 }, - { "x": 6, "y": 2, "flags": 2 }, - { "matrix": [5, 1], "x": 12, "y": 4, "flags": 4 }, - - { "x": 224, "y": 10, "flags": 2 }, - { "matrix": [11, 8], "x": 224, "y": 4, "flags": 4 }, - { "matrix": [11, 7], "x": 212, "y": 4, "flags": 4 }, - { "matrix": [11, 6], "x": 197, "y": 4, "flags": 4 }, - { "x": 191, "y": 10, "flags": 2 }, - { "matrix": [11, 5], "x": 185, "y": 4, "flags": 4 }, - { "matrix": [11, 4], "x": 173, "y": 4, "flags": 4 }, - { "x": 166, "y": 10, "flags": 2 }, - { "matrix": [11, 3], "x": 160, "y": 4, "flags": 4 }, - { "matrix": [11, 2], "x": 145, "y": 4, "flags": 4 }, - { "x": 139, "y": 10, "flags": 2 }, - { "matrix": [11, 1], "x": 133, "y": 4, "flags": 4 }, - - { "matrix": [6, 0], "x": 127, "y": 18, "flags": 4 }, - { "matrix": [6, 1], "x": 139, "y": 18, "flags": 4 }, - { "matrix": [6, 2], "x": 151, "y": 18, "flags": 4 }, - { "matrix": [6, 3], "x": 163, "y": 18, "flags": 4 }, - { "matrix": [6, 4], "x": 176, "y": 18, "flags": 4 }, - { "matrix": [6, 5], "x": 188, "y": 18, "flags": 4 }, - { "matrix": [6, 7], "x": 206, "y": 18, "flags": 4 }, - { "matrix": [6, 8], "x": 224, "y": 18, "flags": 4 }, - - { "matrix": [7, 8], "x": 224, "y": 30, "flags": 4 }, - { "matrix": [7, 7], "x": 209, "y": 30, "flags": 4 }, - { "matrix": [7, 6], "x": 194, "y": 30, "flags": 4 }, - { "matrix": [7, 5], "x": 182, "y": 30, "flags": 4 }, - { "matrix": [7, 4], "x": 170, "y": 30, "flags": 4 }, - { "matrix": [7, 3], "x": 157, "y": 30, "flags": 4 }, - { "matrix": [7, 2], "x": 145, "y": 30, "flags": 4 }, - { "matrix": [7, 1], "x": 133, "y": 30, "flags": 4 }, - { "matrix": [7, 0], "x": 121, "y": 30, "flags": 4 }, - - { "matrix": [8, 0], "x": 124, "y": 41, "flags": 4 }, - { "matrix": [8, 1], "x": 136, "y": 41, "flags": 4 }, - { "matrix": [8, 2], "x": 148, "y": 41, "flags": 4 }, - { "matrix": [8, 3], "x": 160, "y": 41, "flags": 4 }, - { "matrix": [8, 4], "x": 173, "y": 41, "flags": 4 }, - { "matrix": [8, 5], "x": 185, "y": 41, "flags": 4 }, - { "matrix": [8, 7], "x": 204, "y": 41, "flags": 4 }, - { "matrix": [8, 8], "x": 224, "y": 41, "flags": 4 }, - - { "matrix": [9, 8], "x": 224, "y": 53, "flags": 4 }, - { "matrix": [9, 7], "x": 212, "y": 53, "flags": 4 }, - { "matrix": [9, 6], "x": 195, "y": 53, "flags": 4 }, - { "matrix": [9, 4], "x": 179, "y": 53, "flags": 4 }, - { "matrix": [9, 3], "x": 166, "y": 53, "flags": 4 }, - { "matrix": [9, 2], "x": 154, "y": 53, "flags": 4 }, - { "matrix": [9, 1], "x": 142, "y": 53, "flags": 4 }, - { "matrix": [9, 0], "x": 130, "y": 53, "flags": 4 }, - - { "x": 127, "y": 64, "flags": 2 }, - { "matrix": [10, 1], "x": 141, "y": 64, "flags": 4 }, - { "x": 157, "y": 64, "flags": 2 }, - { "matrix": [10, 2], "x": 163, "y": 64, "flags": 4 }, - { "matrix": [10, 3], "x": 176, "y": 64, "flags": 4 }, - { "matrix": [10, 4], "x": 188, "y": 64, "flags": 4 }, - { "x": 194, "y": 64, "flags": 2 }, - { "matrix": [10, 6], "x": 200, "y": 64, "flags": 4 }, - { "matrix": [10, 7], "x": 212, "y": 64, "flags": 4 }, - { "x": 218, "y": 64, "flags": 2 }, - { "matrix": [10, 8], "x": 224, "y": 64, "flags": 4 } - ], - "max_brightness": 120, - "sleep": true, - "split_count": [57, 56] - }, - "split": { - "bootmagic": { - "matrix": [11, 8] - }, - "enabled": true, - "handedness": { - "pin": "A0" - }, - - "matrix_pins": { - "right": { - "cols": ["B2", "A15", "A2", "A1", "A4", "B15", "B6", "C13", "C14"], - "rows": ["B12", "B13", "B14", "B5", "F1", "B1"] - } - }, - "serial": { - "driver": "usart" - }, - "transport": { - "sync": { - "matrix_state": true - } - } - }, - "url": "https://keeb.io", - "usb": { - "device_version": "1.0.0", - "pid": "0x1667", - "vid": "0xCB10" - }, - "ws2812": { - "driver": "pwm", - "pin": "B7" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "Mute", "matrix": [5, 0], "x": 0, "y": 0}, - {"label": "Play", "matrix": [5, 1], "x": 1, "y": 0}, - {"label": "Esc", "matrix": [5, 2], "x": 2.25, "y": 0}, - {"label": "F1", "matrix": [5, 3], "x": 3.5, "y": 0}, - {"label": "F2", "matrix": [5, 4], "x": 4.5, "y": 0}, - {"label": "F3", "matrix": [5, 5], "x": 5.5, "y": 0}, - {"label": "F4", "matrix": [5, 6], "x": 6.5, "y": 0}, - {"label": "F5", "matrix": [5, 7], "x": 7.75, "y": 0}, - {"label": "F6", "matrix": [5, 8], "x": 8.75, "y": 0}, - - {"label": "F7", "matrix": [11, 1], "x": 10.75, "y": 0}, - {"label": "F8", "matrix": [11, 2], "x": 11.75, "y": 0}, - {"label": "F9", "matrix": [11, 3], "x": 13, "y": 0}, - {"label": "F10", "matrix": [11, 4], "x": 14, "y": 0}, - {"label": "F11", "matrix": [11, 5], "x": 15, "y": 0}, - {"label": "F12", "matrix": [11, 6], "x": 16, "y": 0}, - {"label": "Volume Up", "matrix": [11, 7], "x": 17.25, "y": 0}, - {"label": "Volume Down", "matrix": [11, 8], "x": 18.25, "y": 0}, - - {"label": "F1", "matrix": [0, 0], "x": 0, "y": 1.25}, - {"label": "F2", "matrix": [0, 1], "x": 1, "y": 1.25}, - - {"label": "Grave", "matrix": [0, 2], "x": 2.25, "y": 1.25}, - {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 1.25}, - {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 1.25}, - {"label": "3", "matrix": [0, 5], "x": 5.25, "y": 1.25}, - {"label": "4", "matrix": [0, 6], "x": 6.25, "y": 1.25}, - {"label": "5", "matrix": [0, 7], "x": 7.25, "y": 1.25}, - {"label": "6", "matrix": [0, 8], "x": 8.25, "y": 1.25}, - - {"label": "7", "matrix": [6, 0], "x": 10.25, "y": 1.25}, - {"label": "8", "matrix": [6, 1], "x": 11.25, "y": 1.25}, - {"label": "9", "matrix": [6, 2], "x": 12.25, "y": 1.25}, - {"label": "0", "matrix": [6, 3], "x": 13.25, "y": 1.25}, - {"label": "-", "matrix": [6, 4], "x": 14.25, "y": 1.25}, - {"label": "=", "matrix": [6, 5], "x": 15.25, "y": 1.25}, - {"label": "Bksp", "matrix": [6, 7], "x": 16.25, "y": 1.25, "w": 2}, - {"label": "Del", "matrix": [6, 8], "x": 18.25, "y": 1.25}, - - {"label": "F3", "matrix": [1, 0], "x": 0, "y": 2.25}, - {"label": "F4", "matrix": [1, 1], "x": 1, "y": 2.25}, - - {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 2.25, "w": 1.5}, - {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 2.25}, - {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 2.25}, - {"label": "E", "matrix": [1, 5], "x": 5.75, "y": 2.25}, - {"label": "R", "matrix": [1, 6], "x": 6.75, "y": 2.25}, - {"label": "T", "matrix": [1, 7], "x": 7.75, "y": 2.25}, - - {"label": "Y", "matrix": [7, 0], "x": 9.75, "y": 2.25}, - {"label": "U", "matrix": [7, 1], "x": 10.75, "y": 2.25}, - {"label": "I", "matrix": [7, 2], "x": 11.75, "y": 2.25}, - {"label": "O", "matrix": [7, 3], "x": 12.75, "y": 2.25}, - {"label": "P", "matrix": [7, 4], "x": 13.75, "y": 2.25}, - {"label": "{", "matrix": [7, 5], "x": 14.75, "y": 2.25}, - {"label": "}", "matrix": [7, 6], "x": 15.75, "y": 2.25}, - {"label": "|", "matrix": [7, 7], "x": 16.75, "y": 2.25, "w": 1.5}, - {"label": "Home", "matrix": [7, 8], "x": 18.25, "y": 2.25}, - - {"label": "F5", "matrix": [2, 0], "x": 0, "y": 3.25}, - {"label": "F6", "matrix": [2, 1], "x": 1, "y": 3.25}, - - {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 3.25, "w": 1.75}, - {"label": "A", "matrix": [2, 3], "x": 4, "y": 3.25}, - {"label": "S", "matrix": [2, 4], "x": 5, "y": 3.25}, - {"label": "D", "matrix": [2, 5], "x": 6, "y": 3.25}, - {"label": "F", "matrix": [2, 6], "x": 7, "y": 3.25}, - {"label": "G", "matrix": [2, 7], "x": 8, "y": 3.25}, - - {"label": "H", "matrix": [8, 0], "x": 10, "y": 3.25}, - {"label": "J", "matrix": [8, 1], "x": 11, "y": 3.25}, - {"label": "K", "matrix": [8, 2], "x": 12, "y": 3.25}, - {"label": "L", "matrix": [8, 3], "x": 13, "y": 3.25}, - {"label": ":", "matrix": [8, 4], "x": 14, "y": 3.25}, - {"label": "\"", "matrix": [8, 5], "x": 15, "y": 3.25}, - {"label": "Enter", "matrix": [8, 7], "x": 16, "y": 3.25, "w": 2.25}, - {"label": "PgUp", "matrix": [8, 8], "x": 18.25, "y": 3.25}, - - {"label": "F7", "matrix": [3, 0], "x": 0, "y": 4.25}, - {"label": "F8", "matrix": [3, 1], "x": 1, "y": 4.25}, - - {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 4.25, "w": 2.25}, - {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 4.25}, - {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 4.25}, - {"label": "C", "matrix": [3, 6], "x": 6.5, "y": 4.25}, - {"label": "V", "matrix": [3, 7], "x": 7.5, "y": 4.25}, - {"label": "B", "matrix": [3, 8], "x": 8.5, "y": 4.25}, - - {"label": "N", "matrix": [9, 0], "x": 10.5, "y": 4.25}, - {"label": "M", "matrix": [9, 1], "x": 11.5, "y": 4.25}, - {"label": ",", "matrix": [9, 2], "x": 12.5, "y": 4.25}, - {"label": ".", "matrix": [9, 3], "x": 13.5, "y": 4.25}, - {"label": "/", "matrix": [9, 4], "x": 14.5, "y": 4.25}, - {"label": "Shift", "matrix": [9, 6], "x": 15.5, "y": 4.25, "w": 1.75}, - {"label": "Up", "matrix": [9, 7], "x": 17.25, "y": 4.25}, - {"label": "PgDn", "matrix": [9, 8], "x": 18.25, "y": 4.25}, - - {"label": "F9", "matrix": [4, 0], "x": 0, "y": 5.25}, - {"label": "F10", "matrix": [4, 1], "x": 1, "y": 5.25}, - - {"label": "Fn", "matrix": [4, 2], "x": 2.25, "y": 5.25, "w": 1.25}, - {"label": "Ctrl", "matrix": [4, 3], "x": 3.5, "y": 5.25, "w": 1.25}, - {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 5.25, "w": 1.25}, - {"label": "Win", "matrix": [4, 5], "x": 6, "y": 5.25, "w": 1.25}, - {"label": "Space", "matrix": [4, 7], "x": 7.25, "y": 5.25, "w": 2.25}, - - {"label": "Space", "matrix": [10, 1], "x": 10.5, "y": 5.25, "w": 2.75}, - {"label": "Fn", "matrix": [10, 2], "x": 13.25, "y": 5.25}, - {"label": "Alt", "matrix": [10, 3], "x": 14.25, "y": 5.25}, - {"label": "Ctrl", "matrix": [10, 4], "x": 15.25, "y": 5.25}, - {"label": "Left", "matrix": [10, 6], "x": 16.25, "y": 5.25}, - {"label": "Down", "matrix": [10, 7], "x": 17.25, "y": 5.25}, - {"label": "Right", "matrix": [10, 8], "x": 18.25, "y": 5.25} - ] - } - } -} diff --git a/keyboards/keebio/sinc_lm/rev1/mcuconf.h b/keyboards/keebio/sinc_lm/rev1/mcuconf.h deleted file mode 100644 index d3e39d03fa..0000000000 --- a/keyboards/keebio/sinc_lm/rev1/mcuconf.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2026 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -/* enable USART3, used for split comms */ -#undef STM32_SERIAL_USE_USART3 -#define STM32_SERIAL_USE_USART3 TRUE - -/* enable TIM3, used for RGB LED PWM driver */ -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/keebio/sinc_lm/rev1/rev1.c b/keyboards/keebio/sinc_lm/rev1/rev1.c deleted file mode 100644 index b85a2fb1bb..0000000000 --- a/keyboards/keebio/sinc_lm/rev1/rev1.c +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2026 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -void keyboard_pre_init_kb(void) { - // Disable the PD peripheral in pre-init because its pins are being used in the matrix: - PWR->CR3 |= PWR_CR3_UCPD_DBDIS; - // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) - keyboard_pre_init_user(); -} diff --git a/keyboards/keebio/stick/config.h b/keyboards/keebio/stick/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/stick/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/stick/keyboard.json b/keyboards/keebio/stick/keyboard.json index 00102c565a..b8d1184ec1 100644 --- a/keyboards/keebio/stick/keyboard.json +++ b/keyboards/keebio/stick/keyboard.json @@ -54,21 +54,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 100, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 120, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 140, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 200, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 220, "y": 0, "flags": 4} - ] + "driver": "ws2812" }, "encoder": { "rotary": [ diff --git a/keyboards/keebio/stick/stick.c b/keyboards/keebio/stick/stick.c index 9c5e67d93d..6fac145091 100644 --- a/keyboards/keebio/stick/stick.c +++ b/keyboards/keebio/stick/stick.c @@ -17,6 +17,38 @@ along with this program. If not, see . #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 } +}, { + // LED Index to Physical Position + { 0, 0 }, { 20, 0 }, { 40, 0 }, { 60, 0 }, + { 80, 0 }, { 100, 0 }, { 120, 0 }, { 140, 0 }, + { 160, 0 }, { 180, 0 }, { 200, 0 }, { 220, 0 }, +}, { + // LED Index to Flag + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 +} }; +#endif + +void eeconfig_init_kb(void) { +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +# ifdef RGBLIGHT_EFFECT_RAINDOWN_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +# endif +#endif + +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_enable(); // Enable RGB by default +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} + bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { diff --git a/keyboards/keebio/tragicforce68/keymaps/default/keymap.c b/keyboards/keebio/tragicforce68/keymaps/default/keymap.c index ee1c567c1b..59076d4ecf 100644 --- a/keyboards/keebio/tragicforce68/keymaps/default/keymap.c +++ b/keyboards/keebio/tragicforce68/keymaps/default/keymap.c @@ -1,6 +1,3 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include QMK_KEYBOARD_H #define _QWERTY 0 diff --git a/keyboards/keebio/tragicforce68/readme.md b/keyboards/keebio/tragicforce68/readme.md index 07a673e848..c3ea92d7ad 100644 --- a/keyboards/keebio/tragicforce68/readme.md +++ b/keyboards/keebio/tragicforce68/readme.md @@ -1,10 +1,11 @@ -# Tragicforce 68 +Tragicforce 68 +=============== Magicforce 68 with [Tragicforce 68 replacement PCB](https://keeb.io/products/mf68-magicforce-68-pcb-replacement-kit) from Keebio. -* Keyboard Maintainer: [Keebio](https://keeb.io) -* Hardware Supported: Pro Micro -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: [Keebio](https://keeb.io) +Hardware Supported: Pro Micro +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): @@ -12,6 +13,6 @@ Make example for this keyboard (after setting up your build environment): Example of flashing this keyboard: - make keebio/tragicforce68:default:flash + make keebio/tragicforce68:default:avrdude -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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/keebio/tukey/readme.md b/keyboards/keebio/tukey/readme.md index 7e0334084c..21527b6bf4 100644 --- a/keyboards/keebio/tukey/readme.md +++ b/keyboards/keebio/tukey/readme.md @@ -2,16 +2,12 @@ 2-key keyboard for Big Switches -* Keyboard Maintainer: [nooges/Keebio](https://github.com/nooges) -* Hardware Supported: Pro Micro, Elite-C -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: [nooges/Keebio](https://github.com/nooges) +Hardware Supported: Pro Micro, Elite-C +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): make keebio/tukey:default -Example of flashing this keyboard: - - make keebio/tukey: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/keebio/viterbi/keymaps/default/config.h b/keyboards/keebio/viterbi/keymaps/default/config.h index ffe91d3bee..acc5970dcb 100644 --- a/keyboards/keebio/viterbi/keymaps/default/config.h +++ b/keyboards/keebio/viterbi/keymaps/default/config.h @@ -17,6 +17,13 @@ along with this program. If not, see . #pragma once +// #define USE_I2C + +/* Select hand configuration */ + +// #define MASTER_RIGHT +// #define EE_HANDS + #undef RGBLIGHT_LED_COUNT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/keebio/viterbi/keymaps/default/keymap.c b/keyboards/keebio/viterbi/keymaps/default/keymap.c index 4a658ac6ec..e37fc8f790 100644 --- a/keyboards/keebio/viterbi/keymaps/default/keymap.c +++ b/keyboards/keebio/viterbi/keymaps/default/keymap.c @@ -1,8 +1,6 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include QMK_KEYBOARD_H + // 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 diff --git a/keyboards/keebio/viterbi/readme.md b/keyboards/keebio/viterbi/readme.md index 393fd6bbfb..2e475100b6 100644 --- a/keyboards/keebio/viterbi/readme.md +++ b/keyboards/keebio/viterbi/readme.md @@ -1,19 +1,21 @@ -# Viterbi +Viterbi +======= A split 5x14 ortholinear keyboard kit made and sold by Keebio. [More info at Keebio](https://keeb.io) -* Keyboard Maintainer: [Bakingpy](https://github.com/nooges) -* Hardware Supported: Pro Micro -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: [Bakingpy](https://github.com/nooges) +Hardware Supported: Pro Micro +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): make keebio/viterbi/rev1:default + Example of flashing this keyboard: - make keebio/viterbi/rev1:default:flash + make keebio/viterbi/rev1:default:avrdude -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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. A build guide for this keyboard can be found here: [Viterbi Build Guide](https://docs.keeb.io) diff --git a/keyboards/keebio/viterbi/rev2/config.h b/keyboards/keebio/viterbi/rev2/config.h deleted file mode 100644 index 4ffb768771..0000000000 --- a/keyboards/keebio/viterbi/rev2/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 Danny Nguyen (danny@keeb.io) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/viterbi/rev2/keyboard.json b/keyboards/keebio/viterbi/rev2/keyboard.json index 4d427df6ef..a3e2d055b2 100644 --- a/keyboards/keebio/viterbi/rev2/keyboard.json +++ b/keyboards/keebio/viterbi/rev2/keyboard.json @@ -18,9 +18,6 @@ }, "diode_direction": "COL2ROW", "backlight": { - "default": { - "brightness": 5 - }, "pin": "B6", "levels": 7 }, diff --git a/keyboards/keebio/viterbi/rev2/rev2.c b/keyboards/keebio/viterbi/rev2/rev2.c new file mode 100644 index 0000000000..f00bb726e9 --- /dev/null +++ b/keyboards/keebio/viterbi/rev2/rev2.c @@ -0,0 +1,18 @@ +#include "quantum.h" + +void eeconfig_init_kb(void) { +#ifdef BACKLIGHT_ENABLE + backlight_enable(); + backlight_level(5); +#endif +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB by default + rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness +#ifdef RGBLIGHT_MODE_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/keebio/wavelet/keymaps/default/keymap.c b/keyboards/keebio/wavelet/keymaps/default/keymap.c index b3f4e17124..20be1edd39 100644 --- a/keyboards/keebio/wavelet/keymaps/default/keymap.c +++ b/keyboards/keebio/wavelet/keymaps/default/keymap.c @@ -1,8 +1,6 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include QMK_KEYBOARD_H + // 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 diff --git a/keyboards/keebio/wavelet/readme.md b/keyboards/keebio/wavelet/readme.md index e77344bfb6..a107289bb4 100644 --- a/keyboards/keebio/wavelet/readme.md +++ b/keyboards/keebio/wavelet/readme.md @@ -1,10 +1,11 @@ -# Wavelet +Wavelet +======= A 4x12 ortholinear keyboard using Kailh Choc Low-Profile switches made and sold by [Keebio](https://keeb.io). -* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) -* Hardware Supported: Pro Micro -* Hardware Availability: [Keebio](https://keeb.io) +Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +Hardware Supported: Pro Micro +Hardware Availability: [Keebio](https://keeb.io) Make example for this keyboard (after setting up your build environment): @@ -12,8 +13,8 @@ Make example for this keyboard (after setting up your build environment): Example of flashing this keyboard: - make keebio/wavelet:default:flash + make keebio/wavelet:default:avrdude -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). +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. A build guide for this keyboard can be found here: [Levinson Build Guide](https://docs.keeb.io) diff --git a/keyboards/keebio/wavelet/wavelet.c b/keyboards/keebio/wavelet/wavelet.c index e78585b731..6f1a050e80 100644 --- a/keyboards/keebio/wavelet/wavelet.c +++ b/keyboards/keebio/wavelet/wavelet.c @@ -1,6 +1,3 @@ -// Copyright 2025 Keebio (@keebio) -// SPDX-License-Identifier: GPL-2.0-or-later - #include "quantum.h" #ifdef SWAP_HANDS_ENABLE diff --git a/keyboards/keenome_keys/the_grid_v2/keymaps/default/keymap.c b/keyboards/keenome_keys/the_grid_v2/keymaps/default/keymap.c deleted file mode 100644 index 296c2af1f8..0000000000 --- a/keyboards/keenome_keys/the_grid_v2/keymaps/default/keymap.c +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2025 Nathan Sunday (@PoctorDepper) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_P7, KC_P8, KC_P9, KC_PSLS, - KC_P4, KC_P5, KC_P6, KC_PAST, - KC_P1, KC_P2, KC_P3, KC_PMNS, - KC_P0, KC_PDOT, KC_PENT, KC_PPLS - ) -}; diff --git a/keyboards/keenome_keys/the_grid_v2/readme.md b/keyboards/keenome_keys/the_grid_v2/readme.md deleted file mode 100644 index d7721c20d4..0000000000 --- a/keyboards/keenome_keys/the_grid_v2/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -# The Grid v2 - -* Keyboard Maintainer: [PoctorDepper](https://github.com/PoctorDepper) -* Hardware Supported: Custom PCB using RP2040 - -Make example for this keyboard (after setting up your build environment): - - make keenome_keys/the_grid_v2:default - -Flashing example for this keyboard: - - make keenome_keys/the_grid_v2:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **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/kegen/gboy/keyboard.json b/keyboards/kegen/gboy/keyboard.json index 1485a7b59d..a39316328f 100644 --- a/keyboards/kegen/gboy/keyboard.json +++ b/keyboards/kegen/gboy/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "G-Boy", "manufacturer": "Kegen", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/kegen/gboy", "maintainer": "mattchan", "usb": { "vid": "0x4B65", diff --git a/keyboards/kelwin/utopia88/keyboard.json b/keyboards/kelwin/utopia88/keyboard.json index f768b725fa..d73be1dd27 100644 --- a/keyboards/kelwin/utopia88/keyboard.json +++ b/keyboards/kelwin/utopia88/keyboard.json @@ -125,4 +125,4 @@ } } } - + \ No newline at end of file diff --git a/keyboards/keotl/11squares/keyboard.json b/keyboards/keotl/11squares/keyboard.json deleted file mode 100644 index 70f760d1f4..0000000000 --- a/keyboards/keotl/11squares/keyboard.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "manufacturer": "keotl", - "keyboard_name": "11squares", - "maintainer": "keotl", - "bootloader": "atmel-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["D0", "D1", "D2", "D3"], - "rows": ["F0", "F1", "F4", "F5"] - }, - "processor": "atmega32u4", - "url": "https://github.com/keotl/11squares", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "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, 1], "x": 1, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3} - ] - } - } -} diff --git a/keyboards/keotl/11squares/keymaps/default/keymap.c b/keyboards/keotl/11squares/keymaps/default/keymap.c deleted file mode 100644 index 2f861c8d8b..0000000000 --- a/keyboards/keotl/11squares/keymaps/default/keymap.c +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2026 Kento Lauzon (@keotl) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_NUM, KC_P7, KC_P9, - KC_P1, KC_P4, KC_P8, - KC_P2, KC_P6, - KC_P0, KC_P5, KC_P3 - ) -}; diff --git a/keyboards/keotl/11squares/readme.md b/keyboards/keotl/11squares/readme.md deleted file mode 100644 index 13dc1a1e42..0000000000 --- a/keyboards/keotl/11squares/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# 11squares - -![11squares](https://i.imgur.com/qV2gdeq.jpeg) - -*The optimal packing of 11 keyswitches. Usable as an 11 key macropad or numpad.* - -* Keyboard Maintainer: [keotl](https://github.com/keotl) -* Hardware Supported: [keotl/11squares](https://github.com/keotl/11squares) -* Hardware Availability: [Kicad Project](https://github.com/keotl/11squares) - -Make example for this keyboard (after setting up your build environment): - - make keotl/11squares:default - -Flashing example for this keyboard: - - make keotl/11squares: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/kepler_33/proto/readme.md b/keyboards/kepler_33/proto/readme.md index dc6c614e5b..ad1918ee1d 100644 --- a/keyboards/kepler_33/proto/readme.md +++ b/keyboards/kepler_33/proto/readme.md @@ -1,3 +1,3 @@ # Kepler-33 / proto -True 40% keyboard. So far only a prototype. +True 40% keyboard. So far only a prototype. \ No newline at end of file diff --git a/keyboards/kepler_33/readme.md b/keyboards/kepler_33/readme.md index 395296ca40..edafb26c42 100644 --- a/keyboards/kepler_33/readme.md +++ b/keyboards/kepler_33/readme.md @@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 1 ways: -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead \ No newline at end of file diff --git a/keyboards/keybee/keybee65/keybee65.c b/keyboards/keybee/keybee65/keybee65.c new file mode 100644 index 0000000000..6033dbeaaa --- /dev/null +++ b/keyboards/keybee/keybee65/keybee65.c @@ -0,0 +1,39 @@ +/* +Copyright 2020 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 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" + +led_config_t g_led_config = { + { + // Key Matrix to LED Index + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, NO_LED, 13, 14 }, + { 29, NO_LED, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15 }, + { 30, NO_LED, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43 }, + { 57, NO_LED, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, NO_LED, 45, 44 }, + { 58, 59, 60, NO_LED, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, 66, 67 } + }, { + // LED Index to Physical Position + { 6, 2 }, { 20, 2 }, { 35, 11 }, { 49, 11 }, { 64, 11 }, { 78, 11 }, { 92, 11 }, { 107, 11 }, { 120, 11 }, { 135, 11 }, { 148, 11 }, { 164, 11 }, { 177, 11 }, { 198, 11 }, { 220, 11 }, + { 9, 24 }, { 26, 24 }, { 42, 24 }, { 56, 24 }, { 70, 24 }, { 85, 24 }, { 100, 24 }, { 113, 24 }, { 128, 24 }, { 143, 24 }, { 156, 24 }, { 170, 24 }, { 184, 24 }, { 202, 24 }, { 220, 24 }, + { 11, 38 }, { 29, 38 }, { 46, 38 }, { 60, 38 }, { 74, 38 }, { 88, 38 }, { 103, 38 }, { 118, 38 }, { 132, 38 }, { 146, 38 }, { 160, 38 }, { 174, 38 }, { 198, 38 }, { 220, 38 }, + { 16, 53 }, { 37, 53 }, { 52, 53 }, { 66, 53 }, { 80, 53 }, { 96, 53 }, { 110, 53 }, { 125, 53 }, { 140, 53 }, { 153, 53 }, { 168, 53 }, { 187, 53 }, { 207, 53 }, { 220, 53 }, + { 6, 68 }, { 25, 68 }, { 44, 68 }, { 96, 68 }, { 148, 68 }, { 164, 68 }, { 180, 68 }, { 192, 68 }, { 207, 68 }, { 220, 68 } + }, { + // 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, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 + } +}; diff --git a/keyboards/keybee/keybee65/keyboard.json b/keyboards/keybee/keybee65/keyboard.json index a1f3426dbe..a2a4862836 100644 --- a/keyboards/keybee/keybee65/keyboard.json +++ b/keyboards/keybee/keybee65/keyboard.json @@ -12,76 +12,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 6, "y": 2, "flags": 4}, - {"matrix": [0, 1], "x": 20, "y": 2, "flags": 4}, - {"matrix": [0, 2], "x": 35, "y": 11, "flags": 4}, - {"matrix": [0, 3], "x": 49, "y": 11, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 11, "flags": 4}, - {"matrix": [0, 5], "x": 78, "y": 11, "flags": 4}, - {"matrix": [0, 6], "x": 92, "y": 11, "flags": 4}, - {"matrix": [0, 7], "x": 107, "y": 11, "flags": 4}, - {"matrix": [0, 8], "x": 120, "y": 11, "flags": 4}, - {"matrix": [0, 9], "x": 135, "y": 11, "flags": 4}, - {"matrix": [0, 10], "x": 148, "y": 11, "flags": 4}, - {"matrix": [0, 11], "x": 164, "y": 11, "flags": 4}, - {"matrix": [0, 12], "x": 177, "y": 11, "flags": 4}, - {"matrix": [0, 14], "x": 198, "y": 11, "flags": 4}, - {"matrix": [0, 15], "x": 220, "y": 11, "flags": 4}, - {"matrix": [1, 15], "x": 9, "y": 24, "flags": 4}, - {"matrix": [1, 14], "x": 26, "y": 24, "flags": 4}, - {"matrix": [1, 13], "x": 42, "y": 24, "flags": 4}, - {"matrix": [1, 12], "x": 56, "y": 24, "flags": 4}, - {"matrix": [1, 11], "x": 70, "y": 24, "flags": 4}, - {"matrix": [1, 10], "x": 85, "y": 24, "flags": 4}, - {"matrix": [1, 9], "x": 100, "y": 24, "flags": 4}, - {"matrix": [1, 8], "x": 113, "y": 24, "flags": 4}, - {"matrix": [1, 7], "x": 128, "y": 24, "flags": 4}, - {"matrix": [1, 6], "x": 143, "y": 24, "flags": 4}, - {"matrix": [1, 5], "x": 156, "y": 24, "flags": 4}, - {"matrix": [1, 4], "x": 170, "y": 24, "flags": 4}, - {"matrix": [1, 3], "x": 184, "y": 24, "flags": 4}, - {"matrix": [1, 2], "x": 202, "y": 24, "flags": 4}, - {"matrix": [1, 0], "x": 220, "y": 24, "flags": 4}, - {"matrix": [2, 0], "x": 11, "y": 38, "flags": 4}, - {"matrix": [2, 2], "x": 29, "y": 38, "flags": 4}, - {"matrix": [2, 3], "x": 46, "y": 38, "flags": 4}, - {"matrix": [2, 4], "x": 60, "y": 38, "flags": 4}, - {"matrix": [2, 5], "x": 74, "y": 38, "flags": 4}, - {"matrix": [2, 6], "x": 88, "y": 38, "flags": 4}, - {"matrix": [2, 7], "x": 103, "y": 38, "flags": 4}, - {"matrix": [2, 8], "x": 118, "y": 38, "flags": 4}, - {"matrix": [2, 9], "x": 132, "y": 38, "flags": 4}, - {"matrix": [2, 10], "x": 146, "y": 38, "flags": 4}, - {"matrix": [2, 11], "x": 160, "y": 38, "flags": 4}, - {"matrix": [2, 12], "x": 174, "y": 38, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 38, "flags": 4}, - {"matrix": [2, 15], "x": 220, "y": 38, "flags": 4}, - {"matrix": [3, 15], "x": 16, "y": 53, "flags": 4}, - {"matrix": [3, 14], "x": 37, "y": 53, "flags": 4}, - {"matrix": [3, 12], "x": 52, "y": 53, "flags": 4}, - {"matrix": [3, 11], "x": 66, "y": 53, "flags": 4}, - {"matrix": [3, 10], "x": 80, "y": 53, "flags": 4}, - {"matrix": [3, 9], "x": 96, "y": 53, "flags": 4}, - {"matrix": [3, 8], "x": 110, "y": 53, "flags": 4}, - {"matrix": [3, 7], "x": 125, "y": 53, "flags": 4}, - {"matrix": [3, 6], "x": 140, "y": 53, "flags": 4}, - {"matrix": [3, 5], "x": 153, "y": 53, "flags": 4}, - {"matrix": [3, 4], "x": 164, "y": 53, "flags": 4}, - {"matrix": [3, 3], "x": 187, "y": 53, "flags": 4}, - {"matrix": [3, 2], "x": 207, "y": 53, "flags": 4}, - {"matrix": [3, 0], "x": 220, "y": 53, "flags": 4}, - {"matrix": [4, 0], "x": 6, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 25, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 44, "y": 64, "flags": 4}, - {"matrix": [4, 7], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 148, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 164, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 180, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 192, "y": 64, "flags": 4}, - {"matrix": [4, 14], "x": 207, "y": 64, "flags": 4}, - {"matrix": [4, 15], "x": 220, "y": 64, "flags": 4} - ], "sleep": true }, "rgblight": { diff --git a/keyboards/keybee/keybee65/keymaps/default/keymap.c b/keyboards/keybee/keybee65/keymaps/default/keymap.c index fb5442251b..4662a9bd45 100644 --- a/keyboards/keybee/keybee65/keymaps/default/keymap.c +++ b/keyboards/keybee/keybee65/keymaps/default/keymap.c @@ -38,6 +38,44 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER): { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case LED_FLAG_UNDERGLOW: { + rgb_matrix_set_flags(LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case LED_FLAG_INDICATOR: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_disable_noeeprom(); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } + } + return false; + default: + return true; //Process all other keycodes normally + } +} + bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { diff --git a/keyboards/keybee/keybee65/readme.md b/keyboards/keybee/keybee65/readme.md index f23b8d2bef..a6fe9cb0c6 100644 --- a/keyboards/keybee/keybee65/readme.md +++ b/keyboards/keybee/keybee65/readme.md @@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch) * **Physical reset button**: Briefly press the button on the back of the PCB -* **Keycode in layout**: Press the Enter key on layer 1 which is mapped to `QK_BOOT` +* **Keycode in layout**: Press the Enter key on layer 1 which is mapped to `QK_BOOT` \ No newline at end of file diff --git a/keyboards/keycapsss/kimiko/rev2/glcdfont.c b/keyboards/keycapsss/kimiko/glcdfont.c similarity index 100% rename from keyboards/keycapsss/kimiko/rev2/glcdfont.c rename to keyboards/keycapsss/kimiko/glcdfont.c diff --git a/keyboards/keycapsss/kimiko/rev1/keymaps/default/config.h b/keyboards/keycapsss/kimiko/keymaps/default/config.h similarity index 91% rename from keyboards/keycapsss/kimiko/rev1/keymaps/default/config.h rename to keyboards/keycapsss/kimiko/keymaps/default/config.h index fc6f93bec0..8be15d964a 100644 --- a/keyboards/keycapsss/kimiko/rev1/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/keymaps/default/config.h @@ -17,6 +17,10 @@ #pragma once +#define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c" +// #define OLED_FONT_WIDTH 5 +// #define OLED_FONT_HEIGHT 7 + #ifdef RGBLIGHT_ENABLE # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 8 diff --git a/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c new file mode 100644 index 0000000000..c3c79d76ee --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c @@ -0,0 +1,237 @@ +// Copyright 2019 MechMerlin +// Copyright 2020 @ben_roe (keycapsss.com) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "progmem.h" + +// Corne 8x6 font +// Online editor: https://helixfonteditor.netlify.com +// or https://joric.github.io/qle/ +// See also: https://github.com/soundmonster/glcdfont_converter + +const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, + 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, + 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, + 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, + 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, + 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, + 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, + 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, + 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, + 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, + 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, + 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, + 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, + 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, + 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, + 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, + 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, + 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, + 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, + 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x13, 0x07, 0x08, 0x00, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, + 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, + 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, + 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, + 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2, + 0x42, 0x42, 0x42, 0xE2, 0x52, 0x22, + 0x22, 0x22, 0x42, 0x82, 0x02, 0x02, + 0x22, 0x22, 0x02, 0x04, 0xF8, 0x00, + 0x00, 0xF8, 0x04, 0x02, 0x02, 0x82, + 0x42, 0x22, 0x42, 0x82, 0x02, 0x02, + 0x02, 0x82, 0x42, 0x22, 0x12, 0x22, + 0x42, 0x82, 0x02, 0x04, 0xF8, 0x00, + 0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E, + 0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE, + 0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, + 0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00, + 0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E, + 0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, + 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, + 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, + 0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, + 0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, + 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, + 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, + 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, + 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, + 0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, + 0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, + 0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, + 0x1F, 0x1F, 0x0E, 0x1B, 0x11, 0xC0, + 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x06, + 0x0C, 0xC6, 0x1F, 0x1F, 0x80, 0x5F, + 0x1F, 0x00, 0x1F, 0x1F, 0x8E, 0x9B, + 0x91, 0x80, 0x9F, 0x9F, 0x91, 0x1F, + 0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47, + 0x42, 0x42, 0x42, 0x47, 0x4A, 0x44, + 0x40, 0x40, 0x40, 0x40, 0x41, 0x42, + 0x44, 0x44, 0x40, 0x20, 0x1F, 0x00, + 0x00, 0x1F, 0x20, 0x40, 0x41, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x41, 0x40, + 0x41, 0x41, 0x4F, 0x48, 0x48, 0x48, + 0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00, + 0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78, + 0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D, + 0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00, + 0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, + 0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, + 0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, + 0x88, 0x88, 0x55, 0x55, 0x23, 0x23, + 0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, + 0x23, 0x23, 0x55, 0x55, 0x88, 0x88, + 0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, + 0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, + 0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, + 0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, + 0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, + 0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, + 0x00, 0x84, 0x87, 0x7D, 0x55, 0x57, + 0x55, 0x7D, 0x87, 0x84, 0x00, 0x91, + 0x95, 0x55, 0x55, 0x3F, 0x55, 0x55, + 0x95, 0x91, 0x00, 0x08, 0x08, 0x08, + 0x88, 0xFC, 0x0A, 0x09, 0x08, 0x08, + 0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04, + 0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20, + 0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04, + 0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20, + 0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC, + 0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F, + 0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC, + 0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F, + 0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE, + 0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00, + 0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77, + 0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, + 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, + 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, + 0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, + 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, + 0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, + 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, +}; diff --git a/keyboards/keycapsss/kimiko/rev1/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/keymaps/default/keymap.c similarity index 97% rename from keyboards/keycapsss/kimiko/rev1/keymaps/default/keymap.c rename to keyboards/keycapsss/kimiko/keymaps/default/keymap.c index 5834ef9c26..c61fdfc03a 100644 --- a/keyboards/keycapsss/kimiko/rev1/keymaps/default/keymap.c +++ b/keyboards/keycapsss/kimiko/keymaps/default/keymap.c @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* LOWER * ,-------------------------------------------. ,-----------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | * |--------+------+------+------+------+------| |------+------+------+------+------+------| * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | * |--------+------+------+------+------+------| |------+------+------+------+------+------| @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| |------+------+------+------+------+------| * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | | + * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | | * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| * | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ | * `-----------------------------------------/ / \ \-----------------------------------------' diff --git a/keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk b/keyboards/keycapsss/kimiko/keymaps/default/rules.mk similarity index 95% rename from keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk rename to keyboards/keycapsss/kimiko/keymaps/default/rules.mk index 16cecbdbc6..ef4f0c0b43 100644 --- a/keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk +++ b/keyboards/keycapsss/kimiko/keymaps/default/rules.mk @@ -1,3 +1,4 @@ +OLED_ENABLE = yes ENCODER_ENABLE = yes # ENables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c new file mode 100644 index 0000000000..c99a966603 --- /dev/null +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -0,0 +1,83 @@ +/* Copyright 2023 @BenRoe (keycapsss.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + #include "quantum.h" + +#ifdef KEYBOARD_keycapsss_kimiko_rev1 +#ifdef RGB_MATRIX_ENABLE + +//Thanks to Ben (keycapsss) for helpipng me to create g_led_config + +// Physical LED position +// X 0 16 32 48 64 80 96 112 128 144 160 176 208 224 +// -----------------------------------------------------------| Y +// 5 4 3 2 1 0 0 1 2 3 4 5 | 0 +// 6 7 8 9 10 11 11 10 9 8 7 6 | 16 +// 17 16 15 14 13 12 12 13 14 15 16 17 | 32 +// 18 19 20 21 22 23 24 24 23 22 21 20 19 18 | 48 +// 29 28 27 26 25 25 26 27 28 29 | 64 + +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 5, 4, 3, 2, 1, 0 }, + { 6, 7, 8, 9, 10, 11 }, + { 17, 16, 15, 14, 13, 12 }, + { 18, 19, 20, 21, 22, 23 }, + { 29, 28, 27, 26, 25, 24 }, + { 35, 34, 33, 32, 31, 30 }, + { 36, 37, 38, 39, 40, 41 }, + { 47, 46, 45, 44, 43, 42 }, + { 48, 49, 50, 51, 52, 53 }, + { 59, 58, 57, 56, 55, 54 } +}, { + // LED Index to Physical Position + // Left half + { 80, 0 }, { 64, 0 }, { 48, 0 }, { 32, 0 }, { 16, 0 }, { 0, 0 }, + { 0, 16 }, { 16, 16 }, { 32, 16 }, { 48, 16 }, { 64, 16 }, { 80, 16 }, + { 80, 32 }, { 64, 32 }, { 48, 32 }, { 32, 32 }, { 16, 32 }, { 0, 32 }, + { 0, 48 }, { 16, 48 }, { 32, 48 }, { 48, 48 }, { 64, 48 }, { 80, 48 }, + { 96, 48 }, { 96, 64 }, { 80, 64 }, { 64, 64 }, { 48, 64 }, { 32, 64 }, + // Right half + { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 208, 0 }, { 224, 0 }, + { 224, 16 }, { 208, 16 }, { 176, 16 }, { 160, 16 }, { 144, 16 }, { 128, 16 }, + { 128, 32 }, { 144, 32 }, { 160, 32 }, { 176, 32 }, { 208, 32 }, { 224, 32 }, + { 224, 48 }, { 208, 48 }, { 176, 48 }, { 160, 48 }, { 144, 48 }, { 128, 48 }, + { 112, 48 }, { 112, 64 }, { 128, 64 }, { 144, 64 }, { 160, 64 }, { 176, 64 } + +}, { + // LED Index to Flag + // 0x01 = 1 = modifier key + // 0x02 = 2 = underglow + // 0x04 = 4 = key backlight + // 0x08 = 8 = keyboard state indication + // Left half + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 1, + 4, 4, 4, 4, 4, 1, + 4, 4, 1, 1, 1, 1, + // Right half + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, + 4, 4, 1, 1, 1, 1 +} }; + +#endif // RGB_MATRIX_ENABLE +#endif // KEYBOARD_keycapsss_kimiko_rev1 + + diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/post_config.h similarity index 87% rename from keyboards/keycapsss/kimiko/rev2/config.h rename to keyboards/keycapsss/kimiko/post_config.h index c728510c30..31be5898cf 100644 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ b/keyboards/keycapsss/kimiko/post_config.h @@ -18,4 +18,8 @@ #pragma once -#define OLED_FONT_H "keyboards/keycapsss/kimiko/rev2/glcdfont.c" +// OLED definitions +#ifndef OLED_FONT_H +# define OLED_FONT_H "keyboards/keycapsss/kimiko/glcdfont.c" +#endif + diff --git a/keyboards/keycapsss/kimiko/rev1/keyboard.json b/keyboards/keycapsss/kimiko/rev1/keyboard.json index bf9aa76ed7..ae09eb83c8 100644 --- a/keyboards/keycapsss/kimiko/rev1/keyboard.json +++ b/keyboards/keycapsss/kimiko/rev1/keyboard.json @@ -40,71 +40,6 @@ "led_count": 60, "split_count": [30, 30] }, - "rgb_matrix": { - "driver": "ws2812", - "layout": [ - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 48, "flags": 1}, - {"matrix": [4, 5], "x": 96, "y": 48, "flags": 4}, - {"matrix": [4, 4], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 80, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 64, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 48, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 32, "y": 64, "flags": 1}, - {"matrix": [5, 5], "x": 128, "y": 0, "flags": 4}, - {"matrix": [5, 4], "x": 144, "y": 0, "flags": 4}, - {"matrix": [5, 3], "x": 160, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 176, "y": 0, "flags": 4}, - {"matrix": [5, 1], "x": 208, "y": 0, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 0, "flags": 4}, - {"matrix": [6, 0], "x": 224, "y": 16, "flags": 4}, - {"matrix": [6, 1], "x": 208, "y": 16, "flags": 4}, - {"matrix": [6, 2], "x": 176, "y": 16, "flags": 4}, - {"matrix": [6, 3], "x": 160, "y": 16, "flags": 4}, - {"matrix": [6, 4], "x": 144, "y": 16, "flags": 4}, - {"matrix": [6, 5], "x": 128, "y": 16, "flags": 4}, - {"matrix": [7, 5], "x": 128, "y": 32, "flags": 4}, - {"matrix": [7, 4], "x": 144, "y": 32, "flags": 4}, - {"matrix": [7, 3], "x": 160, "y": 32, "flags": 4}, - {"matrix": [7, 2], "x": 176, "y": 32, "flags": 4}, - {"matrix": [7, 1], "x": 208, "y": 32, "flags": 4}, - {"matrix": [7, 0], "x": 224, "y": 32, "flags": 4}, - {"matrix": [8, 0], "x": 224, "y": 48, "flags": 1}, - {"matrix": [8, 1], "x": 208, "y": 48, "flags": 4}, - {"matrix": [8, 2], "x": 176, "y": 48, "flags": 4}, - {"matrix": [8, 3], "x": 160, "y": 48, "flags": 4}, - {"matrix": [8, 4], "x": 144, "y": 48, "flags": 4}, - {"matrix": [8, 5], "x": 128, "y": 48, "flags": 4}, - {"matrix": [9, 5], "x": 112, "y": 48, "flags": 4}, - {"matrix": [9, 4], "x": 112, "y": 64, "flags": 4}, - {"matrix": [9, 3], "x": 128, "y": 64, "flags": 1}, - {"matrix": [9, 2], "x": 144, "y": 64, "flags": 1}, - {"matrix": [9, 1], "x": 160, "y": 64, "flags": 1}, - {"matrix": [9, 0], "x": 176, "y": 64, "flags": 1} - ] - }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c index 4050a038d3..a569beed22 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* LOWER * QWERTY * ,--------------------------------------------. ,----------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | F1 | F2 | F3 | F4 | F5 | F6 |---------------. ,---------------| Left | Down | Up |Right | ; | | + * | F1 | F2 | F3 | F4 | F5 | F6 |---------------. ,---------------| Left | Down | Up |Right | ; | | * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| * | F7 | F8 | F9 | F10 | F11 | F12 |------|--------| |-------|-------| + | - | = | [ | ] | \ | * `--------------------------------------------| / \ |----------------------------------------------' diff --git a/keyboards/keycapsss/o4l_5x12/keyboard.json b/keyboards/keycapsss/o4l_5x12/keyboard.json index 1a213aa298..7425dc7a0b 100644 --- a/keyboards/keycapsss/o4l_5x12/keyboard.json +++ b/keyboards/keycapsss/o4l_5x12/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "O4L:5x12", "manufacturer": "Keycapsss", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/keycapsss/o4l_5x12", "maintainer": "BenRoe", "usb": { "vid": "0x7983", diff --git a/keyboards/keycapsss/plaid_pad/rev3/keymaps/oled/config.h b/keyboards/keycapsss/plaid_pad/keymaps/oled/config.h similarity index 90% rename from keyboards/keycapsss/plaid_pad/rev3/keymaps/oled/config.h rename to keyboards/keycapsss/plaid_pad/keymaps/oled/config.h index 74597b4253..ddb539fb09 100644 --- a/keyboards/keycapsss/plaid_pad/rev3/keymaps/oled/config.h +++ b/keyboards/keycapsss/plaid_pad/keymaps/oled/config.h @@ -17,4 +17,4 @@ #pragma once // place overrides here -#define OLED_FONT_H "keyboards/keycapsss/plaid_pad/rev3/lib/glcdfont.c" +#define OLED_FONT_H "keyboards/keycapsss/plaid_pad/keymaps/oled/glcdfont.c" diff --git a/keyboards/keycapsss/plaid_pad/rev3/lib/glcdfont.c b/keyboards/keycapsss/plaid_pad/keymaps/oled/glcdfont.c similarity index 100% rename from keyboards/keycapsss/plaid_pad/rev3/lib/glcdfont.c rename to keyboards/keycapsss/plaid_pad/keymaps/oled/glcdfont.c diff --git a/keyboards/keycapsss/plaid_pad/rev3/keymaps/oled/keymap.c b/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c similarity index 100% rename from keyboards/keycapsss/plaid_pad/rev3/keymaps/oled/keymap.c rename to keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c diff --git a/keyboards/keycapsss/plaid_pad/rev3/keymaps/oled/readme.md b/keyboards/keycapsss/plaid_pad/keymaps/oled/readme.md similarity index 100% rename from keyboards/keycapsss/plaid_pad/rev3/keymaps/oled/readme.md rename to keyboards/keycapsss/plaid_pad/keymaps/oled/readme.md diff --git a/keyboards/keycapsss/plaid_pad/rev3/keymaps/oled/rules.mk b/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk similarity index 100% rename from keyboards/keycapsss/plaid_pad/rev3/keymaps/oled/rules.mk rename to keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk diff --git a/keyboards/keychron/c1_pro/ansi/rgb/rgb.c b/keyboards/keychron/c1_pro/ansi/rgb/rgb.c index 1777fe4cf3..f4f0c0af47 100644 --- a/keyboards/keychron/c1_pro/ansi/rgb/rgb.c +++ b/keyboards/keychron/c1_pro/ansi/rgb/rgb.c @@ -123,6 +123,32 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { // clang-format on +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/keychron/c1_pro/ansi/white/white.c b/keyboards/keychron/c1_pro/ansi/white/white.c index 96beb1e8d5..9009225b3b 100644 --- a/keyboards/keychron/c1_pro/ansi/white/white.c +++ b/keyboards/keychron/c1_pro/ansi/white/white.c @@ -123,6 +123,32 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { // clang-format on +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case LM_TOGG: + if (record->event.pressed) { + switch (led_matrix_get_flags()) { + case LED_FLAG_ALL: { + led_matrix_set_flags(LED_FLAG_NONE); + led_matrix_set_value_all(0); + } break; + default: { + led_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!led_matrix_is_enabled()) { + led_matrix_set_flags(LED_FLAG_ALL); + led_matrix_enable(); + } + return false; + } + return true; +} + bool led_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!led_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/keychron/c1_pro_v2/c1_pro_v2.c b/keyboards/keychron/c1_pro_v2/c1_pro_v2.c index ef93847d87..d4ff5eb9dc 100644 --- a/keyboards/keychron/c1_pro_v2/c1_pro_v2.c +++ b/keyboards/keychron/c1_pro_v2/c1_pro_v2.c @@ -28,6 +28,54 @@ bool dip_switch_update_kb(uint8_t index, bool active) { } #endif +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif +#ifdef LED_MATRIX_ENABLE + case QK_LED_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (led_matrix_get_flags()) { + case LED_FLAG_ALL: { + led_matrix_set_flags(LED_FLAG_NONE); + led_matrix_set_value_all(0); + } break; + default: { + led_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!led_matrix_is_enabled()) { + led_matrix_set_flags(LED_FLAG_ALL); + led_matrix_enable(); + } + return false; +#endif + default: + return true; + } +} + void keyboard_post_init_kb(void) { gpio_set_pin_output_push_pull(LED_MAC_OS_PIN); gpio_set_pin_output_push_pull(LED_WIN_OS_PIN); diff --git a/keyboards/keychron/c2_pro/c2_pro.c b/keyboards/keychron/c2_pro/c2_pro.c index 6c8105e191..bb7aba4f81 100644 --- a/keyboards/keychron/c2_pro/c2_pro.c +++ b/keyboards/keychron/c2_pro/c2_pro.c @@ -31,20 +31,64 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #endif // DIP_SWITCH_ENABLE # ifdef RGB_MATRIX_ENABLE +# define LED_TOGGLE_KEYCODE QK_RGB_MATRIX_TOGGLE +# define LED_SET_FLAGS rgb_matrix_set_flags +# define LED_GET_FLAGS rgb_matrix_get_flags +# define LED_SET_ALL_OFF rgb_matrix_set_color_all(COLOR_BLACK) +# define LED_IS_ENABLED rgb_matrix_is_enabled +# define LED_ENABLE rgb_matrix_enable # define LED_MATRIX_INDICATORS_KB rgb_matrix_indicators_kb # define LED_MATRIX_INDICATORS_USER rgb_matrix_indicators_user # define LED_MATRIX_SET_COLOR rgb_matrix_set_color +# define LED_MATRIX_UPDATE_PWN_BUFFERS rgb_matrix_update_pwm_buffers +# define LED_MATRIX_INDICATORS_NONE_KB rgb_matrix_indicators_none_kb +# define LED_MATRIX_IS_ENABLED rgb_matrix_is_enabled # define COLOR_WHITE 255, 255, 255 # define COLOR_BLACK 0, 0, 0 # endif # ifdef LED_MATRIX_ENABLE +# define LED_TOGGLE_KEYCODE QK_LED_MATRIX_TOGGLE +# define LED_SET_FLAGS led_matrix_set_flags +# define LED_GET_FLAGS led_matrix_get_flags +# define LED_SET_ALL_OFF led_matrix_set_value_all(COLOR_BLACK) +# define LED_IS_ENABLED led_matrix_is_enabled +# define LED_ENABLE led_matrix_enable # define LED_MATRIX_INDICATORS_KB led_matrix_indicators_kb # define LED_MATRIX_INDICATORS_USER led_matrix_indicators_user # define LED_MATRIX_SET_COLOR led_matrix_set_value +# define LED_MATRIX_UPDATE_PWN_BUFFERS led_matrix_update_pwm_buffers +# define LED_MATRIX_INDICATORS_NONE_KB led_matrix_indicators_none_kb +# define LED_MATRIX_IS_ENABLED led_matrix_is_enabled # define COLOR_WHITE 255 # define COLOR_BLACK 0 +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case LED_TOGGLE_KEYCODE: + if (record->event.pressed) { + switch (LED_GET_FLAGS()) { + case LED_FLAG_ALL: { + LED_SET_FLAGS(LED_FLAG_NONE); + LED_SET_ALL_OFF; + } break; + default: { + LED_SET_FLAGS(LED_FLAG_ALL); + } break; + } + } + if (!LED_IS_ENABLED()) { + LED_SET_FLAGS(LED_FLAG_ALL); + LED_ENABLE(); + } + return false; + } + return true; +} + bool LED_MATRIX_INDICATORS_KB(void) { if (!LED_MATRIX_INDICATORS_USER()) { return false; diff --git a/keyboards/keychron/c2_pro/info.json b/keyboards/keychron/c2_pro/info.json index 8a7d0968b1..9c0e1ac72e 100644 --- a/keyboards/keychron/c2_pro/info.json +++ b/keyboards/keychron/c2_pro/info.json @@ -26,6 +26,7 @@ "matrix_pins": { "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "C14"], "rows": ["B5", "B4", "B3", "A15", "A14", "A13"], + "custom": true, "custom_lite": true }, "diode_direction": "ROW2COL" diff --git a/keyboards/keychron/c2_pro_v2/c2_pro_v2.c b/keyboards/keychron/c2_pro_v2/c2_pro_v2.c index ef93847d87..d4ff5eb9dc 100644 --- a/keyboards/keychron/c2_pro_v2/c2_pro_v2.c +++ b/keyboards/keychron/c2_pro_v2/c2_pro_v2.c @@ -28,6 +28,54 @@ bool dip_switch_update_kb(uint8_t index, bool active) { } #endif +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif +#ifdef LED_MATRIX_ENABLE + case QK_LED_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (led_matrix_get_flags()) { + case LED_FLAG_ALL: { + led_matrix_set_flags(LED_FLAG_NONE); + led_matrix_set_value_all(0); + } break; + default: { + led_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!led_matrix_is_enabled()) { + led_matrix_set_flags(LED_FLAG_ALL); + led_matrix_enable(); + } + return false; +#endif + default: + return true; + } +} + void keyboard_post_init_kb(void) { gpio_set_pin_output_push_pull(LED_MAC_OS_PIN); gpio_set_pin_output_push_pull(LED_WIN_OS_PIN); diff --git a/keyboards/keychron/c3_pro/c3_pro.c b/keyboards/keychron/c3_pro/c3_pro.c index 810a291dcc..0c584b0938 100644 --- a/keyboards/keychron/c3_pro/c3_pro.c +++ b/keyboards/keychron/c3_pro/c3_pro.c @@ -41,6 +41,44 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; } switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif +#ifdef LED_MATRIX_ENABLE + case QK_LED_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (led_matrix_get_flags()) { + case LED_FLAG_ALL: { + led_matrix_set_flags(LED_FLAG_NONE); + led_matrix_set_value_all(0); + } break; + default: { + led_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!led_matrix_is_enabled()) { + led_matrix_set_flags(LED_FLAG_ALL); + led_matrix_enable(); + } + return false; +#endif case KC_OSSW: if (record->event.pressed) { // Switches default layer between `MAC_BASE` and `WIN_BASE` (0 and 2) diff --git a/keyboards/keychron/q0/info.json b/keyboards/keychron/q0/info.json index b3e30e65d8..d7a7317e3f 100644 --- a/keyboards/keychron/q0/info.json +++ b/keyboards/keychron/q0/info.json @@ -52,4 +52,4 @@ "nkro": true } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q0/q0.c b/keyboards/keychron/q0/q0.c index 3c6677a93c..7b5f7a5907 100644 --- a/keyboards/keychron/q0/q0.c +++ b/keyboards/keychron/q0/q0.c @@ -18,6 +18,30 @@ #if defined(RGB_MATRIX_ENABLE) && defined(NUM_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { +# ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + return false; +# endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c index 5359d2b30b..a4432cd4ce 100644 --- a/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c @@ -121,4 +121,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Down {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Right }; + +#define __ NO_LED + +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, 87 }, + }, + { + // LED Index to Physical Position + {19,0}, {34,0}, {46,0}, {60,1}, {72,3}, {87,6}, {99,8}, {120,8}, {132,6}, {147,3}, {159,1}, {173,0}, {185,0}, {201,1}, {219,1}, + {5,14}, {24,14}, {36,14}, {48,13}, {62,15}, {74,17}, {86,20}, {98,22}, {115,22}, {127,20}, {139,17}, {151,15}, {165,13}, {177,14}, {195,14}, {220,13}, + {4,24}, {24,24}, {40,24}, {53,24}, {65,27}, {77,29}, {89,31}, {112,33}, {124,31}, {136,29}, {148,27}, {160,24}, {174,24}, {186,24}, {201,24}, {222,25}, + {2,34}, {23,34}, {40,34}, {54,35}, {66,37}, {78,39}, {90,42}, {118,43}, {130,40}, {142,38}, {154,36}, {167,35}, {179,35}, {199,35}, {224,36}, + {0,45}, {24,45}, {44,45}, {57,46}, {69,48}, {81,51}, {93,53}, {111,54}, {123,52}, {135,50}, {147,48}, {159,46}, {173,45}, {190,45}, {210,47}, + {0,55}, {18,55}, {33,55}, {56,57}, {77,61}, {97,64}, {124,63}, {147,59}, {198,58}, {210,58}, {222,58}, + }, + { + // RGB LED Index to Flag + 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, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 1, 4, 1, 4, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q10/ansi_encoder/keyboard.json b/keyboards/keychron/q10/ansi_encoder/keyboard.json index 6cfb637b0d..f47136edf7 100644 --- a/keyboards/keychron/q10/ansi_encoder/keyboard.json +++ b/keyboards/keychron/q10/ansi_encoder/keyboard.json @@ -27,98 +27,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 1], "x": 19, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 46, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 60, "y": 1, "flags": 1}, - {"matrix": [0, 5], "x": 72, "y": 3, "flags": 1}, - {"matrix": [0, 6], "x": 87, "y": 6, "flags": 1}, - {"matrix": [0, 7], "x": 99, "y": 8, "flags": 1}, - {"matrix": [0, 8], "x": 120, "y": 8, "flags": 1}, - {"matrix": [0, 9], "x": 132, "y": 6, "flags": 1}, - {"matrix": [0, 10], "x": 147, "y": 3, "flags": 1}, - {"matrix": [0, 11], "x": 159, "y": 1, "flags": 1}, - {"matrix": [0, 12], "x": 173, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 185, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 201, "y": 1, "flags": 1}, - {"matrix": [0, 15], "x": 219, "y": 1, "flags": 1}, - {"matrix": [1, 0], "x": 5, "y": 14, "flags": 1}, - {"matrix": [1, 1], "x": 24, "y": 14, "flags": 1}, - {"matrix": [1, 2], "x": 36, "y": 14, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 13, "flags": 4}, - {"matrix": [1, 4], "x": 62, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 74, "y": 17, "flags": 4}, - {"matrix": [1, 6], "x": 86, "y": 20, "flags": 4}, - {"matrix": [1, 7], "x": 98, "y": 22, "flags": 4}, - {"matrix": [1, 8], "x": 115, "y": 22, "flags": 4}, - {"matrix": [1, 9], "x": 127, "y": 20, "flags": 4}, - {"matrix": [1, 10], "x": 139, "y": 17, "flags": 4}, - {"matrix": [1, 11], "x": 151, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 165, "y": 13, "flags": 4}, - {"matrix": [1, 13], "x": 177, "y": 14, "flags": 4}, - {"matrix": [1, 14], "x": 195, "y": 14, "flags": 1}, - {"matrix": [1, 15], "x": 220, "y": 13, "flags": 1}, - {"matrix": [2, 0], "x": 4, "y": 24, "flags": 1}, - {"matrix": [2, 1], "x": 24, "y": 24, "flags": 1}, - {"matrix": [2, 2], "x": 40, "y": 24, "flags": 4}, - {"matrix": [2, 3], "x": 53, "y": 24, "flags": 4}, - {"matrix": [2, 4], "x": 65, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 77, "y": 29, "flags": 4}, - {"matrix": [2, 6], "x": 89, "y": 31, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 33, "flags": 4}, - {"matrix": [2, 8], "x": 124, "y": 31, "flags": 4}, - {"matrix": [2, 9], "x": 136, "y": 29, "flags": 4}, - {"matrix": [2, 10], "x": 148, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 160, "y": 24, "flags": 4}, - {"matrix": [2, 12], "x": 174, "y": 24, "flags": 4}, - {"matrix": [2, 13], "x": 186, "y": 24, "flags": 4}, - {"matrix": [2, 14], "x": 201, "y": 24, "flags": 4}, - {"matrix": [2, 15], "x": 222, "y": 25, "flags": 1}, - {"matrix": [3, 0], "x": 2, "y": 34, "flags": 1}, - {"matrix": [3, 1], "x": 23, "y": 34, "flags": 8}, - {"matrix": [3, 2], "x": 40, "y": 34, "flags": 4}, - {"matrix": [3, 3], "x": 54, "y": 35, "flags": 4}, - {"matrix": [3, 4], "x": 66, "y": 37, "flags": 4}, - {"matrix": [3, 5], "x": 78, "y": 39, "flags": 4}, - {"matrix": [3, 6], "x": 90, "y": 42, "flags": 4}, - {"matrix": [3, 8], "x": 118, "y": 43, "flags": 4}, - {"matrix": [3, 9], "x": 130, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 142, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 154, "y": 36, "flags": 4}, - {"matrix": [3, 12], "x": 167, "y": 35, "flags": 4}, - {"matrix": [3, 13], "x": 179, "y": 35, "flags": 4}, - {"matrix": [3, 14], "x": 199, "y": 35, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 36, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 45, "flags": 1}, - {"matrix": [4, 1], "x": 24, "y": 45, "flags": 1}, - {"matrix": [4, 3], "x": 44, "y": 45, "flags": 4}, - {"matrix": [4, 4], "x": 57, "y": 46, "flags": 4}, - {"matrix": [4, 5], "x": 69, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 93, "y": 53, "flags": 4}, - {"matrix": [4, 8], "x": 111, "y": 54, "flags": 4}, - {"matrix": [4, 9], "x": 123, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 135, "y": 50, "flags": 4}, - {"matrix": [4, 11], "x": 147, "y": 48, "flags": 4}, - {"matrix": [4, 12], "x": 159, "y": 46, "flags": 4}, - {"matrix": [4, 13], "x": 173, "y": 45, "flags": 4}, - {"matrix": [4, 14], "x": 190, "y": 45, "flags": 1}, - {"matrix": [4, 15], "x": 210, "y": 47, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 55, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 55, "flags": 1}, - {"matrix": [5, 2], "x": 33, "y": 55, "flags": 1}, - {"matrix": [5, 3], "x": 56, "y": 57, "flags": 1}, - {"matrix": [5, 4], "x": 77, "y": 61, "flags": 4}, - {"matrix": [5, 7], "x": 97, "y": 64, "flags": 1}, - {"matrix": [5, 8], "x": 124, "y": 63, "flags": 4}, - {"matrix": [5, 9], "x": 147, "y": 59, "flags": 1}, - {"matrix": [5, 13], "x": 198, "y": 58, "flags": 1}, - {"matrix": [5, 14], "x": 210, "y": 58, "flags": 1}, - {"matrix": [5, 15], "x": 222, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_89": { "layout": [ diff --git a/keyboards/keychron/q10/iso_encoder/iso_encoder.c b/keyboards/keychron/q10/iso_encoder/iso_encoder.c index c857c854ac..9ff43263b2 100644 --- a/keyboards/keychron/q10/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q10/iso_encoder/iso_encoder.c @@ -122,4 +122,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Down {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Right }; + +#define __ NO_LED + +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, 59, 45 }, + { 46, 47, 48, 49, 50, 51, 52, __, 53, 54, 55, 56, 57, 58, 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, 87, 88 }, + }, + { + // LED Index to Physical Position + {0,0}, {19,0}, {34,0}, {60,1}, {72,3}, {87,6}, {99,8}, {120,8}, {132,6}, {147,3}, {159,1}, {173,0}, {185,0}, {201,1}, {219,1}, + {5,14}, {24,14}, {36,14}, {48,13}, {62,15}, {74,17}, {86,20}, {98,22}, {115,22}, {127,20}, {139,17}, {151,15}, {165,13}, {177,14}, {195,14}, {220,15}, + {4,24}, {24,24}, {40,24}, {53,24}, {65,27}, {77,29}, {89,31}, {112,33}, {124,31}, {136,29}, {148,27}, {160,24}, {176,24}, {189,24}, {222,25}, + {2,34}, {23,34}, {40,34}, {54,35}, {66,37}, {78,39}, {90,42}, {118,43}, {130,40}, {142,38}, {154,36}, {167,35}, {179,35}, {192,35}, {208,31}, {224,36}, + {0,45}, {18,45}, {31,45}, {44,45}, {57,46}, {69,48}, {81,51}, {93,53}, {111,54}, {123,52}, {135,50}, {147,48}, {159,46}, {173,45}, {190,45}, {210,47}, + {0,55}, {18,55}, {33,55}, {56,57}, {77,61}, {97,64}, {124,63}, {147,59}, {198,58}, {210,58}, {222,58}, + }, + { + // RGB LED Index to Flag + 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, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 1, 4, 1, 4, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q10/iso_encoder/keyboard.json b/keyboards/keychron/q10/iso_encoder/keyboard.json index b83015971f..5ec70d1a14 100644 --- a/keyboards/keychron/q10/iso_encoder/keyboard.json +++ b/keyboards/keychron/q10/iso_encoder/keyboard.json @@ -27,99 +27,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 1], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 19, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 60, "y": 1, "flags": 1}, - {"matrix": [0, 5], "x": 72, "y": 3, "flags": 1}, - {"matrix": [0, 6], "x": 87, "y": 6, "flags": 1}, - {"matrix": [0, 7], "x": 99, "y": 8, "flags": 1}, - {"matrix": [0, 8], "x": 120, "y": 8, "flags": 1}, - {"matrix": [0, 9], "x": 132, "y": 6, "flags": 1}, - {"matrix": [0, 10], "x": 147, "y": 3, "flags": 1}, - {"matrix": [0, 11], "x": 159, "y": 1, "flags": 1}, - {"matrix": [0, 12], "x": 173, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 185, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 201, "y": 1, "flags": 1}, - {"matrix": [0, 15], "x": 219, "y": 1, "flags": 1}, - {"matrix": [1, 0], "x": 5, "y": 14, "flags": 1}, - {"matrix": [1, 1], "x": 24, "y": 14, "flags": 1}, - {"matrix": [1, 2], "x": 36, "y": 14, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 13, "flags": 4}, - {"matrix": [1, 4], "x": 62, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 74, "y": 17, "flags": 4}, - {"matrix": [1, 6], "x": 86, "y": 20, "flags": 4}, - {"matrix": [1, 7], "x": 98, "y": 22, "flags": 4}, - {"matrix": [1, 8], "x": 115, "y": 22, "flags": 4}, - {"matrix": [1, 9], "x": 127, "y": 20, "flags": 4}, - {"matrix": [1, 10], "x": 139, "y": 17, "flags": 4}, - {"matrix": [1, 11], "x": 151, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 165, "y": 13, "flags": 4}, - {"matrix": [1, 13], "x": 177, "y": 14, "flags": 4}, - {"matrix": [1, 14], "x": 195, "y": 14, "flags": 1}, - {"matrix": [1, 15], "x": 220, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 4, "y": 24, "flags": 1}, - {"matrix": [2, 1], "x": 24, "y": 24, "flags": 1}, - {"matrix": [2, 2], "x": 40, "y": 24, "flags": 4}, - {"matrix": [2, 3], "x": 53, "y": 24, "flags": 4}, - {"matrix": [2, 4], "x": 65, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 77, "y": 29, "flags": 4}, - {"matrix": [2, 6], "x": 89, "y": 31, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 33, "flags": 4}, - {"matrix": [2, 8], "x": 124, "y": 31, "flags": 4}, - {"matrix": [2, 9], "x": 136, "y": 29, "flags": 4}, - {"matrix": [2, 10], "x": 148, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 160, "y": 24, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 24, "flags": 4}, - {"matrix": [2, 13], "x": 189, "y": 24, "flags": 4}, - {"matrix": [2, 15], "x": 222, "y": 25, "flags": 1}, - {"matrix": [3, 0], "x": 2, "y": 34, "flags": 1}, - {"matrix": [3, 1], "x": 23, "y": 34, "flags": 8}, - {"matrix": [3, 2], "x": 40, "y": 34, "flags": 4}, - {"matrix": [3, 3], "x": 54, "y": 35, "flags": 4}, - {"matrix": [3, 4], "x": 66, "y": 37, "flags": 4}, - {"matrix": [3, 5], "x": 78, "y": 39, "flags": 4}, - {"matrix": [3, 6], "x": 90, "y": 42, "flags": 4}, - {"matrix": [3, 8], "x": 118, "y": 43, "flags": 4}, - {"matrix": [3, 9], "x": 130, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 142, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 154, "y": 36, "flags": 4}, - {"matrix": [3, 12], "x": 167, "y": 35, "flags": 4}, - {"matrix": [3, 13], "x": 179, "y": 35, "flags": 4}, - {"matrix": [2, 14], "x": 192, "y": 35, "flags": 4}, - {"matrix": [3, 14], "x": 208, "y": 31, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 36, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 45, "flags": 1}, - {"matrix": [4, 1], "x": 18, "y": 45, "flags": 1}, - {"matrix": [4, 2], "x": 31, "y": 45, "flags": 4}, - {"matrix": [4, 3], "x": 44, "y": 45, "flags": 4}, - {"matrix": [4, 4], "x": 57, "y": 46, "flags": 4}, - {"matrix": [4, 5], "x": 69, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 93, "y": 53, "flags": 4}, - {"matrix": [4, 8], "x": 111, "y": 54, "flags": 4}, - {"matrix": [4, 9], "x": 123, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 135, "y": 50, "flags": 4}, - {"matrix": [4, 11], "x": 147, "y": 48, "flags": 4}, - {"matrix": [4, 12], "x": 159, "y": 46, "flags": 4}, - {"matrix": [4, 13], "x": 173, "y": 45, "flags": 4}, - {"matrix": [4, 14], "x": 190, "y": 45, "flags": 1}, - {"matrix": [4, 15], "x": 210, "y": 47, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 55, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 55, "flags": 1}, - {"matrix": [5, 2], "x": 33, "y": 55, "flags": 1}, - {"matrix": [5, 3], "x": 56, "y": 57, "flags": 1}, - {"matrix": [5, 4], "x": 77, "y": 61, "flags": 4}, - {"matrix": [5, 7], "x": 97, "y": 64, "flags": 1}, - {"matrix": [5, 8], "x": 124, "y": 63, "flags": 4}, - {"matrix": [5, 9], "x": 147, "y": 59, "flags": 1}, - {"matrix": [5, 13], "x": 198, "y": 58, "flags": 1}, - {"matrix": [5, 14], "x": 210, "y": 58, "flags": 1}, - {"matrix": [5, 15], "x": 222, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_90": { "layout": [ diff --git a/keyboards/keychron/q10/q10.c b/keyboards/keychron/q10/q10.c index 3f22dc864a..79abdacd4f 100644 --- a/keyboards/keychron/q10/q10.c +++ b/keyboards/keychron/q10/q10.c @@ -32,6 +32,34 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { +# ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +# endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/keychron/q11/q11.c b/keyboards/keychron/q11/q11.c index efc3ef9d01..8dd9120ca1 100755 --- a/keyboards/keychron/q11/q11.c +++ b/keyboards/keychron/q11/q11.c @@ -29,6 +29,31 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #endif #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { diff --git a/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c index 35e8414be6..ba32f58fc6 100644 --- a/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c @@ -135,4 +135,36 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA6, CB10_CA6, CB11_CA6}, // Down {1, CB12_CA7, CB10_CA7, CB11_CA7}, // Right }; + +#define __ NO_LED + +led_config_t g_led_config = { + { + // Key Matrix to LED Index + { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, __, 0, 1 }, + { 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 18, 19, 20 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 37, 38, 39 }, + { 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 76, 71, 72, 56, 57, 58 }, + { 77, __, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, __, 88, 89, 73, 74, 75 }, + { 92, 93, 94, __, __, 21, 95, 40, __, 96, 97, 98, 99, 100, 101, 90, 2, 91 }, + }, + { + // LED Index to Physical Position + {11,0}, {23,0}, {34,0}, {49,0}, {63,0}, {75,0}, {86,0}, {98,0}, {112,0}, {123,0}, {135,0}, {146,0}, {161,0}, {172,0}, {184,0}, {195,0}, {209,0}, {224,0}, + {0,15}, {11,15}, {23,15}, {34,15}, {49,15}, {60,15}, {72,15}, {83,15}, {95,15}, {106,15}, {118,15}, {129,15}, {141,15}, {152,15}, {164,15}, {175,15}, {186,15}, {204,15}, {224,15}, + {0,26}, {11,26}, {23,26}, {34,32}, {52,26}, {66,26}, {78,26}, {89,26}, {101,26}, {112,26}, {123,26}, {135,26}, {146,26}, {158,26}, {169,26}, {181,26}, {192,26}, {207,26}, {224,26}, + {0,38}, {11,38}, {23,38}, {53,38}, {69,38}, {81,38}, {92,38}, {103,38}, {115,38}, {126,38}, {138,38}, {149,38}, {161,38}, {172,38}, {184,38}, {202,38}, {224,38}, + {0,49}, {11,49}, {23,49}, {34,55}, {56,49}, {75,49}, {86,49}, {98,49}, {109,49}, {121,49}, {132,49}, {144,49}, {155,49}, {166,49}, {178,49}, {194,49}, {213,52}, + {6,61}, {23,61}, {50,61}, {65,61}, {79,61}, {122,61}, {163,61}, {175,61}, {186,61}, {201,64}, {213,64}, {224,64}, + }, + { + // RGB LED Index to Flag + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 4, 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 4, 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 4, 4, 1, 1, 1, 4, 1, 4, 1, 1, 1, 1, + } +}; #endif diff --git a/keyboards/keychron/q12/ansi_encoder/keyboard.json b/keyboards/keychron/q12/ansi_encoder/keyboard.json index faf8b5527e..d2f90cb8ac 100644 --- a/keyboards/keychron/q12/ansi_encoder/keyboard.json +++ b/keyboards/keychron/q12/ansi_encoder/keyboard.json @@ -24,112 +24,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 16], "x": 11, "y": 0, "flags": 1}, - {"matrix": [0, 17], "x": 23, "y": 0, "flags": 1}, - {"matrix": [5, 16], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 49, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 63, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 75, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 86, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 98, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 123, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 135, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 146, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 161, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 172, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 184, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 195, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 209, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 15], "x": 0, "y": 15, "flags": 8}, - {"matrix": [1, 16], "x": 11, "y": 15, "flags": 4}, - {"matrix": [1, 17], "x": 23, "y": 15, "flags": 4}, - {"matrix": [5, 5], "x": 34, "y": 15, "flags": 4}, - {"matrix": [1, 0], "x": 49, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 60, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 72, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 95, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 106, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 118, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 129, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 141, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 152, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 164, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 175, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 186, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 204, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 15], "x": 0, "y": 26, "flags": 4}, - {"matrix": [2, 16], "x": 11, "y": 26, "flags": 4}, - {"matrix": [2, 17], "x": 23, "y": 26, "flags": 4}, - {"matrix": [5, 7], "x": 34, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 52, "y": 26, "flags": 1}, - {"matrix": [2, 1], "x": 66, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 78, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 89, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 101, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 112, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 123, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 135, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 146, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 158, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 169, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 181, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 26, "flags": 4}, - {"matrix": [2, 13], "x": 207, "y": 26, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 26, "flags": 1}, - {"matrix": [3, 15], "x": 0, "y": 38, "flags": 4}, - {"matrix": [3, 16], "x": 11, "y": 38, "flags": 4}, - {"matrix": [3, 17], "x": 23, "y": 38, "flags": 4}, - {"matrix": [3, 0], "x": 53, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 69, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 81, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 92, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 103, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 115, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 126, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 138, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 149, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 161, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 172, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 184, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 202, "y": 38, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 38, "flags": 1}, - {"matrix": [4, 15], "x": 0, "y": 49, "flags": 4}, - {"matrix": [4, 16], "x": 11, "y": 49, "flags": 4}, - {"matrix": [4, 17], "x": 23, "y": 49, "flags": 4}, - {"matrix": [3, 12], "x": 34, "y": 55, "flags": 4}, - {"matrix": [4, 0], "x": 56, "y": 49, "flags": 1}, - {"matrix": [4, 2], "x": 75, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 86, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 98, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 109, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 121, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 132, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 144, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 155, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 166, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 178, "y": 49, "flags": 4}, - {"matrix": [4, 13], "x": 194, "y": 49, "flags": 1}, - {"matrix": [4, 14], "x": 213, "y": 52, "flags": 1}, - {"matrix": [5, 15], "x": 6, "y": 61, "flags": 4}, - {"matrix": [5, 17], "x": 23, "y": 61, "flags": 4}, - {"matrix": [5, 0], "x": 50, "y": 61, "flags": 1}, - {"matrix": [5, 1], "x": 65, "y": 61, "flags": 1}, - {"matrix": [5, 2], "x": 79, "y": 61, "flags": 1}, - {"matrix": [5, 6], "x": 122, "y": 61, "flags": 4}, - {"matrix": [5, 9], "x": 163, "y": 61, "flags": 1}, - {"matrix": [5, 10], "x": 175, "y": 61, "flags": 4}, - {"matrix": [5, 11], "x": 186, "y": 61, "flags": 1}, - {"matrix": [5, 12], "x": 201, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 213, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_103": { "layout": [ diff --git a/keyboards/keychron/q12/iso_encoder/iso_encoder.c b/keyboards/keychron/q12/iso_encoder/iso_encoder.c index 058a5d2ff4..f9513e7f41 100644 --- a/keyboards/keychron/q12/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q12/iso_encoder/iso_encoder.c @@ -138,4 +138,36 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA6, CB10_CA6, CB11_CA6}, // Down {1, CB12_CA7, CB10_CA7, CB11_CA7}, // Right }; + +#define __ NO_LED + +led_config_t g_led_config = { + { + // Key Matrix to LED Index + { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, __, 0, 1 }, + { 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 18, 19, 20 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 71, 54, 37, 38, 39 }, + { 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 76, 70, 72, 55, 56, 57 }, + { 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, __, 89, 90, 73, 74, 75 }, + { 93, 94, 95, __, __, 21, 96, 40, __, 97, 98, 99, 100, 101, 102, 91, 2, 92 }, + }, + { + // LED Index to Physical Position + {11,0}, {23,0}, {34,0}, {49,0}, {63,0}, {75,0}, {86,0}, {98,0}, {112,0}, {123,0}, {135,0}, {146,0}, {160,0}, {172,0}, {183,0}, {194,0}, {209,0}, {224,0}, + {0,15}, {11,15}, {23,15}, {34,15}, {49,15}, {60,15}, {72,15}, {83,15}, {95,15}, {106,15}, {117,15}, {129,15}, {140,15}, {152,15}, {163,15}, {175,15}, {186,15}, {204,15}, {224,15}, + {0,26}, {11,26}, {23,26}, {34,32}, {52,26}, {66,26}, {77,26}, {89,26}, {100,26}, {112,26}, {123,26}, {135,26}, {146,26}, {158,26}, {169,26}, {180,26}, {192,26}, {224,26}, + {0,38}, {11,38}, {23,38}, {53,38}, {69,38}, {80,38}, {92,38}, {103,38}, {115,38}, {126,38}, {137,38}, {149,38}, {160,38}, {172,38}, {183,38}, {195,38}, {210,34}, {224,38}, + {0,49}, {11,49}, {23,49}, {34,55}, {50,49}, {63,49}, {75,49}, {86,49}, {97,49}, {109,49}, {120,49}, {132,49}, {143,49}, {155,49}, {166,49}, {177,49}, {193,49}, {212,52}, + {6,61}, {23,61}, {50,61}, {65,61}, {79,61}, {122,61}, {163,61}, {174,61}, {186,61}, {201,64}, {212,64}, {223,64}, + }, + { + // RGB LED Index to Flag + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 4, 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 4, 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 4, 4, 1, 1, 1, 4, 1, 4, 1, 1, 1, 1, + } +}; #endif diff --git a/keyboards/keychron/q12/iso_encoder/keyboard.json b/keyboards/keychron/q12/iso_encoder/keyboard.json index d5105ac2b3..29e24a1491 100644 --- a/keyboards/keychron/q12/iso_encoder/keyboard.json +++ b/keyboards/keychron/q12/iso_encoder/keyboard.json @@ -24,113 +24,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 16], "x": 11, "y": 0, "flags": 1}, - {"matrix": [0, 17], "x": 23, "y": 0, "flags": 1}, - {"matrix": [5, 16], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 49, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 63, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 75, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 86, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 98, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 123, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 135, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 146, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 160, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 172, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 183, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 194, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 209, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 15], "x": 0, "y": 15, "flags": 8}, - {"matrix": [1, 16], "x": 11, "y": 15, "flags": 4}, - {"matrix": [1, 17], "x": 23, "y": 15, "flags": 4}, - {"matrix": [5, 5], "x": 34, "y": 15, "flags": 4}, - {"matrix": [1, 0], "x": 49, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 60, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 72, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 95, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 106, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 129, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 140, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 152, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 163, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 175, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 186, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 204, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 15], "x": 0, "y": 26, "flags": 4}, - {"matrix": [2, 16], "x": 11, "y": 26, "flags": 4}, - {"matrix": [2, 17], "x": 23, "y": 26, "flags": 4}, - {"matrix": [5, 7], "x": 34, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 52, "y": 26, "flags": 1}, - {"matrix": [2, 1], "x": 66, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 77, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 89, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 100, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 112, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 123, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 135, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 146, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 158, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 169, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 180, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 26, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 26, "flags": 1}, - {"matrix": [3, 15], "x": 0, "y": 38, "flags": 4}, - {"matrix": [3, 16], "x": 11, "y": 38, "flags": 4}, - {"matrix": [3, 17], "x": 23, "y": 38, "flags": 4}, - {"matrix": [3, 0], "x": 53, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 69, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 80, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 92, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 103, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 115, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 126, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 137, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 149, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 160, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 172, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 183, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 195, "y": 38, "flags": 4}, - {"matrix": [2, 13], "x": 210, "y": 34, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 38, "flags": 1}, - {"matrix": [4, 15], "x": 0, "y": 49, "flags": 4}, - {"matrix": [4, 16], "x": 11, "y": 49, "flags": 4}, - {"matrix": [4, 17], "x": 23, "y": 49, "flags": 4}, - {"matrix": [3, 12], "x": 34, "y": 55, "flags": 4}, - {"matrix": [4, 0], "x": 50, "y": 49, "flags": 1}, - {"matrix": [4, 1], "x": 63, "y": 49, "flags": 4}, - {"matrix": [4, 2], "x": 75, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 86, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 97, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 109, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 120, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 132, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 143, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 155, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 166, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 177, "y": 49, "flags": 4}, - {"matrix": [4, 13], "x": 193, "y": 49, "flags": 4}, - {"matrix": [4, 14], "x": 212, "y": 52, "flags": 1}, - {"matrix": [5, 15], "x": 6, "y": 61, "flags": 4}, - {"matrix": [5, 17], "x": 23, "y": 61, "flags": 4}, - {"matrix": [5, 0], "x": 50, "y": 61, "flags": 1}, - {"matrix": [5, 1], "x": 65, "y": 61, "flags": 1}, - {"matrix": [5, 2], "x": 79, "y": 61, "flags": 1}, - {"matrix": [5, 6], "x": 122, "y": 61, "flags": 4}, - {"matrix": [5, 9], "x": 163, "y": 61, "flags": 1}, - {"matrix": [5, 10], "x": 174, "y": 61, "flags": 4}, - {"matrix": [5, 11], "x": 186, "y": 61, "flags": 1}, - {"matrix": [5, 12], "x": 201, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 212, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 223, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_104": { "layout": [ diff --git a/keyboards/keychron/q12/q12.c b/keyboards/keychron/q12/q12.c index 25a08ae549..bc0645ab47 100644 --- a/keyboards/keychron/q12/q12.c +++ b/keyboards/keychron/q12/q12.c @@ -29,6 +29,31 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #endif #if defined(RGB_MATRIX_ENABLE) && (defined(CAPS_LOCK_LED_INDEX) || defined(NUM_LOCK_LED_INDEX)) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { diff --git a/keyboards/keychron/q1v1/ansi/config.h b/keyboards/keychron/q1v1/ansi/config.h index c0d96766a3..83ac22d2b6 100644 --- a/keyboards/keychron/q1v1/ansi/config.h +++ b/keyboards/keychron/q1v1/ansi/config.h @@ -17,4 +17,4 @@ #pragma once /* Enable caps-lock LED */ -#define CAPS_LOCK_LED_INDEX 45 +#define CAPS_LOCK_LED_INDEX 45 \ No newline at end of file diff --git a/keyboards/keychron/q1v1/ansi/readme.md b/keyboards/keychron/q1v1/ansi/readme.md index 77fae2e5fc..5cf488f048 100644 --- a/keyboards/keychron/q1v1/ansi/readme.md +++ b/keyboards/keychron/q1v1/ansi/readme.md @@ -1 +1 @@ -# The ANSI variant of the Keychron Q1 +# The ANSI variant of the Keychron Q1 \ No newline at end of file diff --git a/keyboards/keychron/q1v1/ansi_encoder/keymaps/default/rules.mk b/keyboards/keychron/q1v1/ansi_encoder/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/keychron/q1v1/ansi_encoder/keymaps/default/rules.mk +++ b/keyboards/keychron/q1v1/ansi_encoder/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/keychron/q1v1/info.json b/keyboards/keychron/q1v1/info.json index 80cd81f8a4..034bb4357f 100644 --- a/keyboards/keychron/q1v1/info.json +++ b/keyboards/keychron/q1v1/info.json @@ -59,4 +59,4 @@ "nkro": true } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q1v1/iso/config.h b/keyboards/keychron/q1v1/iso/config.h index ee86dc6881..4593b41067 100644 --- a/keyboards/keychron/q1v1/iso/config.h +++ b/keyboards/keychron/q1v1/iso/config.h @@ -17,4 +17,4 @@ #pragma once /* Enable caps-lock LED */ -#define CAPS_LOCK_LED_INDEX 44 +#define CAPS_LOCK_LED_INDEX 44 \ No newline at end of file diff --git a/keyboards/keychron/q1v1/iso/iso.c b/keyboards/keychron/q1v1/iso/iso.c index 108ce01542..ef4f3425af 100644 --- a/keyboards/keychron/q1v1/iso/iso.c +++ b/keyboards/keychron/q1v1/iso/iso.c @@ -113,4 +113,37 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {1, SW6_CS15, SW4_CS15, SW5_CS15}, {1, SW6_CS16, SW4_CS16, SW5_CS16} }; + +#define __ NO_LED + +led_config_t g_led_config = { + { + // Key Matrix to LED Index + { 0, __, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 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, 57, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 72, 56, 58 }, + { 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 81, 71, 13 }, + { 73, 74, 75, __, __, __, 76, __, __, __, 77, 78, 79, 80, 82 } + }, + { + // LED Index to Physical Position + {0,0}, {18,0}, {33,0}, {48,0}, {62,0}, {81,0}, {95,0}, {110,0}, {125,0}, {143,0}, {158,0}, {173,0}, {187,0}, {206,0}, {224,0}, + {0,15}, {15,15}, {29,15}, {44,15}, {59,15}, {73,15}, {88,15}, {103,15}, {118,15}, {132,15}, {147,15}, {162,15}, {176,15}, {198,15}, {224,15}, + {4,26}, {22,26}, {37,26}, {51,26}, {66,26}, {81,26}, {95,26}, {110,26}, {125,26}, {140,26}, {154,26}, {169,26}, {184,26}, {224,26}, + {6,38}, {26,38}, {40,38}, {55,38}, {70,38}, {84,38}, {99,38}, {114,38}, {129,38}, {143,38}, {158,38}, {173,38}, {187,38}, {203,32}, {224,38}, + {2,49}, {18,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {151,49}, {165,49}, {185,49}, {209,52}, + {2,61}, {20,61}, {39,61}, {94,61}, {147,61}, {162,61}, {176,61}, {195,64}, {209,64}, {224,64} + }, + { + // RGB LED Index to Flag + 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, 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, 4, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q1v1/iso/readme.md b/keyboards/keychron/q1v1/iso/readme.md index cbf5f7d6de..777ce04773 100644 --- a/keyboards/keychron/q1v1/iso/readme.md +++ b/keyboards/keychron/q1v1/iso/readme.md @@ -1 +1 @@ -# The ISO variant of the Keychron Q1 +# The ISO variant of the Keychron Q1 \ No newline at end of file diff --git a/keyboards/keychron/q1v1/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q1v1/iso_encoder/keymaps/default/keymap.c index dd350bda49..43eab9318c 100644 --- a/keyboards/keychron/q1v1/iso_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q1v1/iso_encoder/keymaps/default/keymap.c @@ -65,4 +65,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [WIN_FN] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/keychron/q1v1/iso_encoder/keymaps/default/rules.mk b/keyboards/keychron/q1v1/iso_encoder/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/keychron/q1v1/iso_encoder/keymaps/default/rules.mk +++ b/keyboards/keychron/q1v1/iso_encoder/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/keychron/q1v1/q1v1.c b/keyboards/keychron/q1v1/q1v1.c index 2fe5b970d8..8571b33751 100644 --- a/keyboards/keychron/q1v1/q1v1.c +++ b/keyboards/keychron/q1v1/q1v1.c @@ -30,6 +30,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); @@ -44,4 +70,4 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { return true; } -#endif // CAPS_LOCK_LED_INDEX +#endif // CAPS_LOCK_LED_INDEX \ No newline at end of file diff --git a/keyboards/keychron/q1v1/readme.md b/keyboards/keychron/q1v1/readme.md index 375fa2db82..af54da8195 100644 --- a/keyboards/keychron/q1v1/readme.md +++ b/keyboards/keychron/q1v1/readme.md @@ -24,4 +24,4 @@ Flashing example for this keyboard: **Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/keychron/q1v2/ansi_encoder/keymaps/default/rules.mk b/keyboards/keychron/q1v2/ansi_encoder/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/keychron/q1v2/ansi_encoder/keymaps/default/rules.mk +++ b/keyboards/keychron/q1v2/ansi_encoder/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/keychron/q1v2/info.json b/keyboards/keychron/q1v2/info.json index ba6f908bbb..f0342254fa 100644 --- a/keyboards/keychron/q1v2/info.json +++ b/keyboards/keychron/q1v2/info.json @@ -27,6 +27,7 @@ "matrix_pins": { "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", null, null, null, null, null, null, null, null], "rows": ["B5", "B4", "B3", "A15", "A14", "A13"], + "custom": true, "custom_lite": true }, "diode_direction": "ROW2COL", diff --git a/keyboards/keychron/q1v2/iso_encoder/keymaps/default/rules.mk b/keyboards/keychron/q1v2/iso_encoder/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/keychron/q1v2/iso_encoder/keymaps/default/rules.mk +++ b/keyboards/keychron/q1v2/iso_encoder/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/keychron/q1v2/jis_encoder/keymaps/default/rules.mk b/keyboards/keychron/q1v2/jis_encoder/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/keychron/q1v2/jis_encoder/keymaps/default/rules.mk +++ b/keyboards/keychron/q1v2/jis_encoder/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/keychron/q1v2/q1v2.c b/keyboards/keychron/q1v2/q1v2.c index a8217997f7..8211883869 100644 --- a/keyboards/keychron/q1v2/q1v2.c +++ b/keyboards/keychron/q1v2/q1v2.c @@ -30,6 +30,34 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { +# ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +# endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/keychron/q2/ansi/config.h b/keyboards/keychron/q2/ansi/config.h index 9cd663a216..1850088b1f 100644 --- a/keyboards/keychron/q2/ansi/config.h +++ b/keyboards/keychron/q2/ansi/config.h @@ -17,4 +17,4 @@ #pragma once /* Enable caps-lock LED */ -#define CAPS_LOCK_LED_INDEX 30 +#define CAPS_LOCK_LED_INDEX 30 \ No newline at end of file diff --git a/keyboards/keychron/q2/ansi_encoder/config.h b/keyboards/keychron/q2/ansi_encoder/config.h index 9cd663a216..1850088b1f 100644 --- a/keyboards/keychron/q2/ansi_encoder/config.h +++ b/keyboards/keychron/q2/ansi_encoder/config.h @@ -17,4 +17,4 @@ #pragma once /* Enable caps-lock LED */ -#define CAPS_LOCK_LED_INDEX 30 +#define CAPS_LOCK_LED_INDEX 30 \ No newline at end of file diff --git a/keyboards/keychron/q2/ansi_encoder/keymaps/default/rules.mk b/keyboards/keychron/q2/ansi_encoder/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/keychron/q2/ansi_encoder/keymaps/default/rules.mk +++ b/keyboards/keychron/q2/ansi_encoder/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/keychron/q2/info.json b/keyboards/keychron/q2/info.json index 6e14a21d82..c322a9902f 100644 --- a/keyboards/keychron/q2/info.json +++ b/keyboards/keychron/q2/info.json @@ -59,4 +59,4 @@ "usb": { "vid": "0x3434" } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q2/iso/config.h b/keyboards/keychron/q2/iso/config.h index 7a10ce6d65..22ddcba3ad 100644 --- a/keyboards/keychron/q2/iso/config.h +++ b/keyboards/keychron/q2/iso/config.h @@ -17,4 +17,4 @@ #pragma once /* Enable caps-lock LED */ -#define CAPS_LOCK_LED_INDEX 29 +#define CAPS_LOCK_LED_INDEX 29 \ No newline at end of file diff --git a/keyboards/keychron/q2/iso_encoder/config.h b/keyboards/keychron/q2/iso_encoder/config.h index 7a10ce6d65..22ddcba3ad 100644 --- a/keyboards/keychron/q2/iso_encoder/config.h +++ b/keyboards/keychron/q2/iso_encoder/config.h @@ -17,4 +17,4 @@ #pragma once /* Enable caps-lock LED */ -#define CAPS_LOCK_LED_INDEX 29 +#define CAPS_LOCK_LED_INDEX 29 \ No newline at end of file diff --git a/keyboards/keychron/q2/iso_encoder/keymaps/default/rules.mk b/keyboards/keychron/q2/iso_encoder/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/keychron/q2/iso_encoder/keymaps/default/rules.mk +++ b/keyboards/keychron/q2/iso_encoder/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/keychron/q2/q2.c b/keyboards/keychron/q2/q2.c index f71a602e3f..01a23b8f3e 100644 --- a/keyboards/keychron/q2/q2.c +++ b/keyboards/keychron/q2/q2.c @@ -30,6 +30,30 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); diff --git a/keyboards/keychron/q2/readme.md b/keyboards/keychron/q2/readme.md index 21fd6b8bc4..3abd7280ca 100644 --- a/keyboards/keychron/q2/readme.md +++ b/keyboards/keychron/q2/readme.md @@ -28,4 +28,4 @@ Flashing example for this keyboard: **Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/keychron/q3/info.json b/keyboards/keychron/q3/info.json index 68594e10f4..a08a115bb6 100644 --- a/keyboards/keychron/q3/info.json +++ b/keyboards/keychron/q3/info.json @@ -51,4 +51,4 @@ "usb": { "vid": "0x3434" } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q3/q3.c b/keyboards/keychron/q3/q3.c index 59ab0a5abb..0cd0509df5 100644 --- a/keyboards/keychron/q3/q3.c +++ b/keyboards/keychron/q3/q3.c @@ -33,6 +33,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); diff --git a/keyboards/keychron/q4/ansi/keymaps/default/keymap.c b/keyboards/keychron/q4/ansi/keymaps/default/keymap.c index 32a836126e..826243be09 100644 --- a/keyboards/keychron/q4/ansi/keymaps/default/keymap.c +++ b/keyboards/keychron/q4/ansi/keymaps/default/keymap.c @@ -63,4 +63,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______) }; -// clang-format on +// clang-format on \ No newline at end of file diff --git a/keyboards/keychron/q4/info.json b/keyboards/keychron/q4/info.json index 2eb235177f..bcbfd74217 100644 --- a/keyboards/keychron/q4/info.json +++ b/keyboards/keychron/q4/info.json @@ -59,4 +59,4 @@ "usb": { "vid": "0x3434" } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q4/iso/keymaps/default/keymap.c b/keyboards/keychron/q4/iso/keymaps/default/keymap.c index 4ccefe06a3..12d503d324 100644 --- a/keyboards/keychron/q4/iso/keymaps/default/keymap.c +++ b/keyboards/keychron/q4/iso/keymaps/default/keymap.c @@ -63,4 +63,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______) }; -// clnag-format on +// clnag-format on \ No newline at end of file diff --git a/keyboards/keychron/q4/q4.c b/keyboards/keychron/q4/q4.c index 0ba22f8f65..44c139f71c 100644 --- a/keyboards/keychron/q4/q4.c +++ b/keyboards/keychron/q4/q4.c @@ -29,6 +29,31 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #endif // DIP_SWITCH_ENABLE #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { diff --git a/keyboards/keychron/q5/ansi/keyboard.json b/keyboards/keychron/q5/ansi/keyboard.json index 3d5658a836..399b5873da 100644 --- a/keyboards/keychron/q5/ansi/keyboard.json +++ b/keyboards/keychron/q5/ansi/keyboard.json @@ -217,4 +217,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q5/ansi/rules.mk b/keyboards/keychron/q5/ansi/rules.mk index 3652da4b69..c0d1417299 100644 --- a/keyboards/keychron/q5/ansi/rules.mk +++ b/keyboards/keychron/q5/ansi/rules.mk @@ -1,4 +1,4 @@ # custom matrix setup CUSTOM_MATRIX = lite -SRC += matrix.c +SRC += matrix.c \ No newline at end of file diff --git a/keyboards/keychron/q5/ansi_encoder/keyboard.json b/keyboards/keychron/q5/ansi_encoder/keyboard.json index b08ff46fc6..479ef38e72 100644 --- a/keyboards/keychron/q5/ansi_encoder/keyboard.json +++ b/keyboards/keychron/q5/ansi_encoder/keyboard.json @@ -223,4 +223,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q5/ansi_encoder/rules.mk b/keyboards/keychron/q5/ansi_encoder/rules.mk index 3652da4b69..c0d1417299 100644 --- a/keyboards/keychron/q5/ansi_encoder/rules.mk +++ b/keyboards/keychron/q5/ansi_encoder/rules.mk @@ -1,4 +1,4 @@ # custom matrix setup CUSTOM_MATRIX = lite -SRC += matrix.c +SRC += matrix.c \ No newline at end of file diff --git a/keyboards/keychron/q5/config.h b/keyboards/keychron/q5/config.h index 24e531ef7f..4d297b223a 100644 --- a/keyboards/keychron/q5/config.h +++ b/keyboards/keychron/q5/config.h @@ -34,4 +34,4 @@ { 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56 } /* Encoder Configuration*/ -#define ENCODER_DEFAULT_POS 0x3 +#define ENCODER_DEFAULT_POS 0x3 \ No newline at end of file diff --git a/keyboards/keychron/q5/info.json b/keyboards/keychron/q5/info.json index 6291bc0313..1e7a5de703 100644 --- a/keyboards/keychron/q5/info.json +++ b/keyboards/keychron/q5/info.json @@ -52,4 +52,4 @@ "usb": { "vid": "0x3434" } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q5/iso/keyboard.json b/keyboards/keychron/q5/iso/keyboard.json index 04f1f18bfa..35ba9f9d04 100644 --- a/keyboards/keychron/q5/iso/keyboard.json +++ b/keyboards/keychron/q5/iso/keyboard.json @@ -225,4 +225,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q5/iso/rules.mk b/keyboards/keychron/q5/iso/rules.mk index 3652da4b69..c0d1417299 100644 --- a/keyboards/keychron/q5/iso/rules.mk +++ b/keyboards/keychron/q5/iso/rules.mk @@ -1,4 +1,4 @@ # custom matrix setup CUSTOM_MATRIX = lite -SRC += matrix.c +SRC += matrix.c \ No newline at end of file diff --git a/keyboards/keychron/q5/iso_encoder/keyboard.json b/keyboards/keychron/q5/iso_encoder/keyboard.json index ed6cf2653d..10e6767eaf 100644 --- a/keyboards/keychron/q5/iso_encoder/keyboard.json +++ b/keyboards/keychron/q5/iso_encoder/keyboard.json @@ -217,4 +217,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q5/iso_encoder/rules.mk b/keyboards/keychron/q5/iso_encoder/rules.mk index 3652da4b69..c0d1417299 100644 --- a/keyboards/keychron/q5/iso_encoder/rules.mk +++ b/keyboards/keychron/q5/iso_encoder/rules.mk @@ -1,4 +1,4 @@ # custom matrix setup CUSTOM_MATRIX = lite -SRC += matrix.c +SRC += matrix.c \ No newline at end of file diff --git a/keyboards/keychron/q5/q5.c b/keyboards/keychron/q5/q5.c index 8dd0a79772..c45eaa3cb2 100644 --- a/keyboards/keychron/q5/q5.c +++ b/keyboards/keychron/q5/q5.c @@ -32,6 +32,34 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && (defined(CAPS_LOCK_LED_INDEX) || defined(NUM_LOCK_LED_INDEX)) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { +# ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +# endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); diff --git a/keyboards/keychron/q5/readme.md b/keyboards/keychron/q5/readme.md index 87be63d582..b78473cd2c 100644 --- a/keyboards/keychron/q5/readme.md +++ b/keyboards/keychron/q5/readme.md @@ -24,4 +24,4 @@ Flashing example for this keyboard: **Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/keychron/q6/ansi/ansi.c b/keyboards/keychron/q6/ansi/ansi.c index bbc467bb49..62a22971e1 100644 --- a/keyboards/keychron/q6/ansi/ansi.c +++ b/keyboards/keychron/q6/ansi/ansi.c @@ -141,4 +141,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA12, CB10_CA12, CB11_CA12}, {1, CB12_CA9, CB10_CA9, CB11_CA9}, }; + +#define __ NO_LED + +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, 39, 40, 16 }, + { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 17 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 18 }, + { 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, __, 73, 60, 77, 76, 74, 75, 19 }, + { 78, __, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, __, 89, 93, 90, 107, 91, 92, __ }, + { 94, 95, 96, __, __, __, 97, __, __, __, 98, 99, 100, 101, 102, 103, 104, 105, 106, __ }, + }, + { + // LED Index to Physical Position + {0,0}, {21,0}, {31,0}, {42,0}, {52,0}, {68,0}, {78,0}, {89,0}, {99,0}, {115,0}, {125,0}, {136,0}, {146,0}, {159,0}, {169,0}, {180,0}, {193,0}, {203,0}, {214,0}, {224,0}, + {0,15}, {10,15}, {21,15}, {31,15}, {42,15}, {52,15}, {63,15}, {73,15}, {83,15}, {94,15}, {104,15}, {115,15}, {125,15}, {141,15}, {159,15}, {169,15}, {180,15}, {193,15}, {203,15}, {214,15}, {224,15}, + {3,27}, {16,27}, {26,27}, {36,27}, {47,27}, {57,27}, {68,27}, {78,27}, {89,27}, {99,27}, {109,27}, {120,27}, {130,27}, {143,27}, {159,27}, {169,27}, {180,27}, {193,27}, {203,27}, {214,27}, + {4,40}, {18,40}, {29,40}, {39,40}, {50,40}, {60,40}, {70,40}, {81,40}, {91,40}, {102,40}, {112,40}, {123,40}, {139,40}, {193,40}, {203,40}, {214,40}, {224,34}, + {7,52}, {23,52}, {34,52}, {44,52}, {55,52}, {65,52}, {76,52}, {86,52}, {96,52}, {107,52}, {117,52}, {137,52}, {169,52}, {193,52}, {203,52}, {214,52}, + {1,64}, {14,64}, {27,64}, {66,64}, {105,64}, {118,64}, {131,64}, {145,64}, {159,64}, {169,64}, {180,64}, {198,64}, {214,64}, {224,58}, + }, + { + // RGB LED Index to Flag + 1, 1, 1, 1, 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, 1, 1, 1, 1, 8, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q6/ansi/keyboard.json b/keyboards/keychron/q6/ansi/keyboard.json index 10cb586908..664fe87008 100644 --- a/keyboards/keychron/q6/ansi/keyboard.json +++ b/keyboards/keychron/q6/ansi/keyboard.json @@ -21,118 +21,6 @@ "build": { "lto": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 21, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 31, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 68, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 89, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 99, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 115, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 136, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 146, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 159, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 180, "y": 0, "flags": 1}, - {"matrix": [0, 19], "x": 193, "y": 0, "flags": 1}, - {"matrix": [1, 19], "x": 203, "y": 0, "flags": 1}, - {"matrix": [2, 19], "x": 214, "y": 0, "flags": 1}, - {"matrix": [3, 19], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 21, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 31, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 63, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 94, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 115, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 141, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 159, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 169, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 180, "y": 15, "flags": 1}, - {"matrix": [1, 17], "x": 193, "y": 15, "flags": 8}, - {"matrix": [1, 18], "x": 203, "y": 15, "flags": 4}, - {"matrix": [0, 17], "x": 214, "y": 15, "flags": 4}, - {"matrix": [0, 18], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 57, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 78, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 99, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 143, "y": 27, "flags": 4}, - {"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": [3, 14], "x": 214, "y": 27, "flags": 4}, - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 123, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 139, "y": 40, "flags": 1}, - {"matrix": [3, 17], "x": 193, "y": 40, "flags": 4}, - {"matrix": [3, 18], "x": 203, "y": 40, "flags": 4}, - {"matrix": [3, 16], "x": 214, "y": 40, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 34, "flags": 4}, - {"matrix": [4, 0], "x": 7, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 23, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 34, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 44, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 65, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 76, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 86, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 96, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 117, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 137, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 169, "y": 52, "flags": 1}, - {"matrix": [4, 17], "x": 193, "y": 52, "flags": 4}, - {"matrix": [4, 18], "x": 203, "y": 52, "flags": 4}, - {"matrix": [4, 14], "x": 214, "y": 52, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 27, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 66, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 105, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 118, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 145, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 17], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 18], "x": 214, "y": 64, "flags": 4}, - {"matrix": [4, 16], "x": 224, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_108": { "layout": [ diff --git a/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c index 5897e1be72..b3d8a6bd4c 100644 --- a/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c @@ -142,4 +142,36 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA9, CB10_CA9, CB11_CA9}, }; +#define __ NO_LED + +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, 39, 40, 16 }, + { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 17 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 18 }, + { 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, __, 73, 60, 77, 76, 74, 75, 19 }, + { 78, __, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, __, 89, 93, 90, 107, 91, 92, __ }, + { 94, 95, 96, __, __, __, 97, __, __, __, 98, 99, 100, 101, 102, 103, 104, 105, 106, __ }, + }, + { + // LED Index to Physical Position + {0,0}, {13,0}, {24,0}, {34,0}, {45,0}, {57,0}, {68,0}, {78,0}, {89,0}, {102,0}, {112,0}, {123,0}, {133,0}, {159,0}, {169,0}, {180,0}, {193,0}, {203,0}, {214,0}, {224,0}, + {0,15}, {10,15}, {21,15}, {31,15}, {42,15}, {52,15}, {63,15}, {73,15}, {83,15}, {94,15}, {104,15}, {115,15}, {125,15}, {141,15}, {159,15}, {169,15}, {180,15}, {193,15}, {203,15}, {214,15}, {224,15}, + {3,27}, {16,27}, {26,27}, {36,27}, {47,27}, {57,27}, {68,27}, {78,27}, {89,27}, {99,27}, {109,27}, {120,27}, {130,27}, {143,27}, {159,27}, {169,27}, {180,27}, {193,27}, {203,27}, {214,27}, + {4,40}, {18,40}, {29,40}, {39,40}, {50,40}, {60,40}, {70,40}, {81,40}, {91,40}, {102,40}, {112,40}, {123,40}, {139,40}, {193,40}, {203,40}, {214,40}, {224,34}, + {7,52}, {23,52}, {34,52}, {44,52}, {55,52}, {65,52}, {76,52}, {86,52}, {96,52}, {107,52}, {117,52}, {137,52}, {169,52}, {193,52}, {203,52}, {214,52}, + {1,64}, {14,64}, {27,64}, {66,64}, {105,64}, {118,64}, {131,64}, {145,64}, {159,64}, {169,64}, {180,64}, {198,64}, {214,64}, {224,58}, + }, + { + // RGB LED Index to Flag + 1, 1, 1, 1, 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, 1, 1, 1, 1, 8, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q6/ansi_encoder/keyboard.json b/keyboards/keychron/q6/ansi_encoder/keyboard.json index 8b3ad779c9..a37b68f553 100644 --- a/keyboards/keychron/q6/ansi_encoder/keyboard.json +++ b/keyboards/keychron/q6/ansi_encoder/keyboard.json @@ -27,118 +27,6 @@ "build": { "lto": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 13, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 45, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 57, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 68, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 89, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 102, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 123, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 133, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 159, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 180, "y": 0, "flags": 1}, - {"matrix": [0, 19], "x": 193, "y": 0, "flags": 1}, - {"matrix": [1, 19], "x": 203, "y": 0, "flags": 1}, - {"matrix": [2, 19], "x": 214, "y": 0, "flags": 1}, - {"matrix": [3, 19], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 21, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 31, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 63, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 94, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 115, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 141, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 159, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 169, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 180, "y": 15, "flags": 1}, - {"matrix": [1, 17], "x": 193, "y": 15, "flags": 8}, - {"matrix": [1, 18], "x": 203, "y": 15, "flags": 4}, - {"matrix": [0, 17], "x": 214, "y": 15, "flags": 4}, - {"matrix": [0, 18], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 57, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 78, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 99, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 143, "y": 27, "flags": 4}, - {"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": [3, 14], "x": 214, "y": 27, "flags": 4}, - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 123, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 139, "y": 40, "flags": 1}, - {"matrix": [3, 17], "x": 193, "y": 40, "flags": 4}, - {"matrix": [3, 18], "x": 203, "y": 40, "flags": 4}, - {"matrix": [3, 16], "x": 214, "y": 40, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 34, "flags": 4}, - {"matrix": [4, 0], "x": 7, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 23, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 34, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 44, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 65, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 76, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 86, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 96, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 117, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 137, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 169, "y": 52, "flags": 1}, - {"matrix": [4, 17], "x": 193, "y": 52, "flags": 4}, - {"matrix": [4, 18], "x": 203, "y": 52, "flags": 4}, - {"matrix": [4, 14], "x": 214, "y": 52, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 27, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 66, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 105, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 118, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 145, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 17], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 18], "x": 214, "y": 64, "flags": 4}, - {"matrix": [4, 16], "x": 224, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_109": { "layout": [ diff --git a/keyboards/keychron/q6/iso/iso.c b/keyboards/keychron/q6/iso/iso.c index 5316273776..eb6cab855a 100644 --- a/keyboards/keychron/q6/iso/iso.c +++ b/keyboards/keychron/q6/iso/iso.c @@ -142,4 +142,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA12, CB10_CA12, CB11_CA12}, {1, CB12_CA9, CB10_CA9, CB11_CA9}, }; + +#define __ NO_LED + +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, 39, 40, 16 }, + { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 17 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 73, 54, 55, 56, 57, 58, 18 }, + { 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, __, 72, 59, 77, 76, 74, 75, 19 }, + { 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, __, 90, 94, 91, 108, 92, 93, __ }, + { 95, 96, 97, __, __, __, 98, __, __, __, 99, 100, 101, 102, 103, 104, 105, 106, 107, __ }, + }, + { + // LED Index to Physical Position + {0,0}, {21,0}, {31,0}, {42,0}, {52,0}, {68,0}, {78,0}, {89,0}, {99,0}, {115,0}, {125,0}, {136,0}, {146,0}, {159,0}, {169,0}, {180,0}, {193,0}, {203,0}, {214,0}, {224,0}, + {0,15}, {10,15}, {21,15}, {31,15}, {42,15}, {52,15}, {63,15}, {73,15}, {83,15}, {94,15}, {104,15}, {115,15}, {125,15}, {141,15}, {159,15}, {169,15}, {180,15}, {193,15}, {203,15}, {214,15}, {224,15}, + {3,27}, {16,27}, {26,27}, {36,27}, {47,27}, {57,27}, {68,27}, {78,27}, {89,27}, {99,27}, {109,27}, {120,27}, {130,27}, {159,27}, {169,27}, {180,27}, {193,27}, {203,27}, {214,27}, + {4,40}, {18,40}, {29,40}, {39,40}, {50,40}, {60,40}, {70,40}, {81,40}, {91,40}, {102,40}, {112,40}, {123,40}, {133,40}, {147,36}, {193,40}, {203,40}, {214,40}, {224,34}, + {1,52}, {13,52}, {23,52}, {34,52}, {44,52}, {55,52}, {65,52}, {76,52}, {86,52}, {96,52}, {107,52}, {117,52}, {137,52}, {169,52}, {193,52}, {203,52}, {214,52}, + {1,64}, {14,64}, {27,64}, {66,64}, {105,64}, {118,64}, {131,64}, {145,64}, {159,64}, {169,64}, {180,64}, {198,64}, {214,64}, {224,58}, + }, + { + // RGB LED Index to Flag + 1, 1, 1, 1, 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, 1, 1, 1, 1, 8, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q6/iso/keyboard.json b/keyboards/keychron/q6/iso/keyboard.json index fae62800a3..28730b2d74 100644 --- a/keyboards/keychron/q6/iso/keyboard.json +++ b/keyboards/keychron/q6/iso/keyboard.json @@ -21,119 +21,6 @@ "build": { "lto": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 21, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 31, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 68, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 89, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 99, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 115, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 136, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 146, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 159, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 180, "y": 0, "flags": 1}, - {"matrix": [0, 19], "x": 193, "y": 0, "flags": 1}, - {"matrix": [1, 19], "x": 203, "y": 0, "flags": 1}, - {"matrix": [2, 19], "x": 214, "y": 0, "flags": 1}, - {"matrix": [3, 19], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 21, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 31, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 63, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 94, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 115, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 141, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 159, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 169, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 180, "y": 15, "flags": 1}, - {"matrix": [1, 17], "x": 193, "y": 15, "flags": 8}, - {"matrix": [1, 18], "x": 203, "y": 15, "flags": 4}, - {"matrix": [0, 17], "x": 214, "y": 15, "flags": 4}, - {"matrix": [0, 18], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 57, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 78, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 99, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 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": [3, 14], "x": 214, "y": 27, "flags": 4}, - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 123, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 133, "y": 40, "flags": 4}, - {"matrix": [2, 13], "x": 147, "y": 36, "flags": 1}, - {"matrix": [3, 17], "x": 193, "y": 40, "flags": 4}, - {"matrix": [3, 18], "x": 203, "y": 40, "flags": 4}, - {"matrix": [3, 16], "x": 214, "y": 40, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 34, "flags": 4}, - {"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": 1}, - {"matrix": [4, 17], "x": 193, "y": 52, "flags": 4}, - {"matrix": [4, 18], "x": 203, "y": 52, "flags": 4}, - {"matrix": [4, 14], "x": 214, "y": 52, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 27, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 66, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 105, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 118, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 145, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 17], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 18], "x": 214, "y": 64, "flags": 4}, - {"matrix": [4, 16], "x": 224, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_109": { "layout": [ diff --git a/keyboards/keychron/q6/iso_encoder/iso_encoder.c b/keyboards/keychron/q6/iso_encoder/iso_encoder.c index 5316273776..439e1cee50 100644 --- a/keyboards/keychron/q6/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q6/iso_encoder/iso_encoder.c @@ -142,4 +142,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA12, CB10_CA12, CB11_CA12}, {1, CB12_CA9, CB10_CA9, CB11_CA9}, }; + +#define __ NO_LED + +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, 39, 40, 16 }, + { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 17 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 73, 54, 55, 56, 57, 58, 18 }, + { 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, __, 72, 59, 77, 76, 74, 75, 19 }, + { 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, __, 90, 94, 91, 108, 92, 93, __ }, + { 95, 96, 97, __, __, __, 98, __, __, __, 99, 100, 101, 102, 103, 104, 105, 106, 107, __ }, + }, + { + // LED Index to Physical Position + {0,0}, {13,0}, {24,0}, {34,0}, {45,0}, {57,0}, {68,0}, {78,0}, {89,0}, {102,0}, {112,0}, {123,0}, {133,0}, {159,0}, {169,0}, {180,0}, {193,0}, {203,0}, {214,0}, {224,0}, + {0,15}, {10,15}, {21,15}, {31,15}, {42,15}, {52,15}, {63,15}, {73,15}, {83,15}, {94,15}, {104,15}, {115,15}, {125,15}, {141,15}, {159,15}, {169,15}, {180,15}, {193,15}, {203,15}, {214,15}, {224,15}, + {3,27}, {16,27}, {26,27}, {36,27}, {47,27}, {57,27}, {68,27}, {78,27}, {89,27}, {99,27}, {109,27}, {120,27}, {130,27}, {159,27}, {169,27}, {180,27}, {193,27}, {203,27}, {214,27}, + {4,40}, {18,40}, {29,40}, {39,40}, {50,40}, {60,40}, {70,40}, {81,40}, {91,40}, {102,40}, {112,40}, {123,40}, {133,40}, {147,36}, {193,40}, {203,40}, {214,40}, {224,34}, + {1,52}, {13,52}, {23,52}, {34,52}, {44,52}, {55,52}, {65,52}, {76,52}, {86,52}, {96,52}, {107,52}, {117,52}, {137,52}, {169,52}, {193,52}, {203,52}, {214,52}, + {1,64}, {14,64}, {27,64}, {66,64}, {105,64}, {118,64}, {131,64}, {145,64}, {159,64}, {169,64}, {180,64}, {198,64}, {214,64}, {224,58}, + }, + { + // RGB LED Index to Flag + 1, 1, 1, 1, 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, 1, 1, 1, 1, 8, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q6/iso_encoder/keyboard.json b/keyboards/keychron/q6/iso_encoder/keyboard.json index b404e9f50d..3fc4ee8f1c 100644 --- a/keyboards/keychron/q6/iso_encoder/keyboard.json +++ b/keyboards/keychron/q6/iso_encoder/keyboard.json @@ -27,119 +27,6 @@ "build": { "lto": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 13, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 45, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 57, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 68, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 89, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 102, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 123, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 133, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 159, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 180, "y": 0, "flags": 1}, - {"matrix": [0, 19], "x": 193, "y": 0, "flags": 1}, - {"matrix": [1, 19], "x": 203, "y": 0, "flags": 1}, - {"matrix": [2, 19], "x": 214, "y": 0, "flags": 1}, - {"matrix": [3, 19], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 21, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 31, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 63, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 94, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 115, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 141, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 159, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 169, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 180, "y": 15, "flags": 1}, - {"matrix": [1, 17], "x": 193, "y": 15, "flags": 8}, - {"matrix": [1, 18], "x": 203, "y": 15, "flags": 4}, - {"matrix": [0, 17], "x": 214, "y": 15, "flags": 4}, - {"matrix": [0, 18], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 57, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 78, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 99, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 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": [3, 14], "x": 214, "y": 27, "flags": 4}, - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 123, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 133, "y": 40, "flags": 4}, - {"matrix": [2, 13], "x": 147, "y": 36, "flags": 1}, - {"matrix": [3, 17], "x": 193, "y": 40, "flags": 4}, - {"matrix": [3, 18], "x": 203, "y": 40, "flags": 4}, - {"matrix": [3, 16], "x": 214, "y": 40, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 34, "flags": 4}, - {"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": 1}, - {"matrix": [4, 17], "x": 193, "y": 52, "flags": 4}, - {"matrix": [4, 18], "x": 203, "y": 52, "flags": 4}, - {"matrix": [4, 14], "x": 214, "y": 52, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 27, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 66, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 105, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 118, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 145, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 17], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 18], "x": 214, "y": 64, "flags": 4}, - {"matrix": [4, 16], "x": 224, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_110": { "layout": [ diff --git a/keyboards/keychron/q6/q6.c b/keyboards/keychron/q6/q6.c index 70cc05c584..d5cdd37c51 100644 --- a/keyboards/keychron/q6/q6.c +++ b/keyboards/keychron/q6/q6.c @@ -32,6 +32,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && (defined(CAPS_LOCK_LED_INDEX) || defined(NUM_LOCK_LED_INDEX)) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/keychron/q60/ansi/ansi.c b/keyboards/keychron/q60/ansi/ansi.c index b69b303d36..8b702eb5a6 100644 --- a/keyboards/keychron/q60/ansi/ansi.c +++ b/keyboards/keychron/q60/ansi/ansi.c @@ -92,4 +92,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {0, CB9_CA15, CB7_CA15, CB8_CA15}, {0, CB9_CA16, CB7_CA16, CB8_CA16}, }; + +#define __ NO_LED + +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 }, + { 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, 14, __ }, + }, + { + // LED Index to Physical Position + {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}, {208,0}, {224,0}, + {4,16}, {24,16}, {40,16}, {56,16}, {72,16}, {88,16}, {104,16}, {120,16}, {136,16}, {152,16}, {168,16}, {184,16}, {200,16}, {220,16}, + {6,32}, {28,32}, {44,32}, {60,32}, {76,32}, {92,32}, {108,32}, {124,32}, {140,32}, {156,32}, {172,32}, {188,32}, {214,32}, + {10,48}, {36,48}, {52,48}, {68,48}, {84,48}, {100,48}, {116,48}, {132,48}, {148,48}, {164,48}, {180,48}, {202,48}, {224,48}, + {24,64}, {44,64}, {112,64}, {180,64}, {200,64}, + }, + { + // RGB LED Index to Flag + 1, 4, 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, 4, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 4, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q60/ansi/keyboard.json b/keyboards/keychron/q60/ansi/keyboard.json index 762ef21161..83ee57d011 100644 --- a/keyboards/keychron/q60/ansi/keyboard.json +++ b/keyboards/keychron/q60/ansi/keyboard.json @@ -23,70 +23,6 @@ "diode_direction": "ROW2COL", "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "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": 208, "y": 0, "flags": 1}, - {"matrix": [4, 12], "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": 8}, - {"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, 13], "x": 214, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, - {"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}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 24, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 44, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 180, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 200, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_60": { "layout": [ diff --git a/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c index f16cc60424..6c4c2abe21 100644 --- a/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c @@ -102,4 +102,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Down {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Right }; + +#define __ NO_LED + +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 }, + }, + { + // LED Index to Physical Position + {20,0}, {33,0}, {47,0}, {60,0}, {73,0}, {86,0}, {99,0}, {112,0}, {125,0}, {138,0}, {151,0}, {164,0}, {177,0}, {197,0}, {224,0}, + {0,15}, {24,15}, {40,15}, {53,15}, {66,15}, {79,15}, {92,15}, {105,15}, {119,15}, {132,15}, {145,15}, {158,15}, {171,15}, {184,15}, {200,15}, {224,15}, + {0,30}, {25,30}, {43,30}, {56,30}, {69,30}, {83,30}, {96,30}, {109,30}, {122,30}, {135,30}, {148,30}, {161,30}, {174,30}, {195,30}, {224,30}, + {0,45}, {29,45}, {50,45}, {63,45}, {76,45}, {89,45}, {102,45}, {115,45}, {128,45}, {141,45}, {155,45}, {168,45}, {186,45}, {207,49}, {224,45}, + {0,60}, {22,60}, {38,60}, {55,60}, {104,60}, {151,60}, {164,60}, {177,60}, {194,64}, {207,64}, {220,64}, + }, + { + // RGB LED Index to Flag + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q65/ansi_encoder/keyboard.json b/keyboards/keychron/q65/ansi_encoder/keyboard.json index 1fef623719..76b17dd5fb 100644 --- a/keyboards/keychron/q65/ansi_encoder/keyboard.json +++ b/keyboards/keychron/q65/ansi_encoder/keyboard.json @@ -27,82 +27,6 @@ "dip_switch": true, "rgb_matrix": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 1], "x": 20, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 47, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 73, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 86, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 99, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 125, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 138, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 151, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 164, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 177, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 197, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 24, "y": 15, "flags": 1}, - {"matrix": [1, 2], "x": 40, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 79, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 92, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 105, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 119, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 132, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 145, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 158, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 171, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 184, "y": 15, "flags": 4}, - {"matrix": [1, 14], "x": 200, "y": 15, "flags": 4}, - {"matrix": [1, 15], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 30, "flags": 1}, - {"matrix": [2, 1], "x": 25, "y": 30, "flags": 9}, - {"matrix": [2, 2], "x": 43, "y": 30, "flags": 4}, - {"matrix": [2, 3], "x": 56, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 69, "y": 30, "flags": 4}, - {"matrix": [2, 5], "x": 83, "y": 30, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 30, "flags": 4}, - {"matrix": [2, 7], "x": 109, "y": 30, "flags": 4}, - {"matrix": [2, 8], "x": 122, "y": 30, "flags": 4}, - {"matrix": [2, 9], "x": 135, "y": 30, "flags": 4}, - {"matrix": [2, 10], "x": 148, "y": 30, "flags": 4}, - {"matrix": [2, 11], "x": 161, "y": 30, "flags": 4}, - {"matrix": [2, 12], "x": 174, "y": 30, "flags": 4}, - {"matrix": [2, 14], "x": 195, "y": 30, "flags": 1}, - {"matrix": [2, 15], "x": 224, "y": 30, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 45, "flags": 1}, - {"matrix": [3, 1], "x": 29, "y": 45, "flags": 1}, - {"matrix": [3, 3], "x": 50, "y": 45, "flags": 4}, - {"matrix": [3, 4], "x": 63, "y": 45, "flags": 4}, - {"matrix": [3, 5], "x": 76, "y": 45, "flags": 4}, - {"matrix": [3, 6], "x": 89, "y": 45, "flags": 4}, - {"matrix": [3, 7], "x": 102, "y": 45, "flags": 4}, - {"matrix": [3, 8], "x": 115, "y": 45, "flags": 4}, - {"matrix": [3, 9], "x": 128, "y": 45, "flags": 4}, - {"matrix": [3, 10], "x": 141, "y": 45, "flags": 4}, - {"matrix": [3, 11], "x": 155, "y": 45, "flags": 4}, - {"matrix": [3, 12], "x": 168, "y": 45, "flags": 4}, - {"matrix": [3, 13], "x": 186, "y": 45, "flags": 1}, - {"matrix": [3, 14], "x": 207, "y": 49, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 45, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 60, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 60, "flags": 1}, - {"matrix": [4, 2], "x": 38, "y": 60, "flags": 1}, - {"matrix": [4, 3], "x": 55, "y": 60, "flags": 1}, - {"matrix": [4, 7], "x": 104, "y": 60, "flags": 4}, - {"matrix": [4, 10], "x": 151, "y": 60, "flags": 1}, - {"matrix": [4, 11], "x": 164, "y": 60, "flags": 1}, - {"matrix": [4, 12], "x": 177, "y": 60, "flags": 1}, - {"matrix": [4, 13], "x": 194, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 207, "y": 64, "flags": 1}, - {"matrix": [4, 15], "x": 220, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_73": { "layout": [ diff --git a/keyboards/keychron/q65/q65.c b/keyboards/keychron/q65/q65.c index 2dda7f2b2f..e02e53e828 100644 --- a/keyboards/keychron/q65/q65.c +++ b/keyboards/keychron/q65/q65.c @@ -31,6 +31,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { // clang-format on #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); diff --git a/keyboards/keychron/q7/ansi/keyboard.json b/keyboards/keychron/q7/ansi/keyboard.json index f6fd217b22..62cff888e1 100644 --- a/keyboards/keychron/q7/ansi/keyboard.json +++ b/keyboards/keychron/q7/ansi/keyboard.json @@ -164,4 +164,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q7/info.json b/keyboards/keychron/q7/info.json index b1dcf4c1d2..663ad4b275 100644 --- a/keyboards/keychron/q7/info.json +++ b/keyboards/keychron/q7/info.json @@ -59,4 +59,4 @@ "usb": { "vid": "0x3434" } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q7/iso/keyboard.json b/keyboards/keychron/q7/iso/keyboard.json index fc6749c37f..d98ec8fa5e 100644 --- a/keyboards/keychron/q7/iso/keyboard.json +++ b/keyboards/keychron/q7/iso/keyboard.json @@ -167,4 +167,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q7/q7.c b/keyboards/keychron/q7/q7.c index 2427d580a8..a9ccdb81ba 100644 --- a/keyboards/keychron/q7/q7.c +++ b/keyboards/keychron/q7/q7.c @@ -30,6 +30,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); diff --git a/keyboards/keychron/q7/readme.md b/keyboards/keychron/q7/readme.md index 7d973e582b..d6fedb1493 100644 --- a/keyboards/keychron/q7/readme.md +++ b/keyboards/keychron/q7/readme.md @@ -20,4 +20,4 @@ Flashing example for this keyboard: **Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/keychron/q8/ansi/keyboard.json b/keyboards/keychron/q8/ansi/keyboard.json index 259fee5f8a..2580b4163e 100644 --- a/keyboards/keychron/q8/ansi/keyboard.json +++ b/keyboards/keychron/q8/ansi/keyboard.json @@ -159,4 +159,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q8/ansi_encoder/keyboard.json b/keyboards/keychron/q8/ansi_encoder/keyboard.json index 0ead20bbce..b3f82637db 100644 --- a/keyboards/keychron/q8/ansi_encoder/keyboard.json +++ b/keyboards/keychron/q8/ansi_encoder/keyboard.json @@ -164,4 +164,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q8/info.json b/keyboards/keychron/q8/info.json index c9183a5c47..b0478e019b 100644 --- a/keyboards/keychron/q8/info.json +++ b/keyboards/keychron/q8/info.json @@ -59,4 +59,4 @@ "usb": { "vid": "0x3434" } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q8/iso/keyboard.json b/keyboards/keychron/q8/iso/keyboard.json index 460a3c5e68..fe87955c39 100644 --- a/keyboards/keychron/q8/iso/keyboard.json +++ b/keyboards/keychron/q8/iso/keyboard.json @@ -160,4 +160,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q8/iso_encoder/keyboard.json b/keyboards/keychron/q8/iso_encoder/keyboard.json index 37e50a4501..46a93ec63b 100644 --- a/keyboards/keychron/q8/iso_encoder/keyboard.json +++ b/keyboards/keychron/q8/iso_encoder/keyboard.json @@ -167,4 +167,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q8/q8.c b/keyboards/keychron/q8/q8.c index 4bd83a9bf3..b16f89115d 100644 --- a/keyboards/keychron/q8/q8.c +++ b/keyboards/keychron/q8/q8.c @@ -30,6 +30,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/keychron/q8/readme.md b/keyboards/keychron/q8/readme.md index d6c1db5053..eaa286899a 100644 --- a/keyboards/keychron/q8/readme.md +++ b/keyboards/keychron/q8/readme.md @@ -24,4 +24,4 @@ Flashing example for this keyboard: **Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/keychron/q9/ansi/keyboard.json b/keyboards/keychron/q9/ansi/keyboard.json index 89af3688a7..ec5f367ed1 100644 --- a/keyboards/keychron/q9/ansi/keyboard.json +++ b/keyboards/keychron/q9/ansi/keyboard.json @@ -122,4 +122,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q9/ansi_encoder/keyboard.json b/keyboards/keychron/q9/ansi_encoder/keyboard.json index 3c75f804fc..0fc135771a 100644 --- a/keyboards/keychron/q9/ansi_encoder/keyboard.json +++ b/keyboards/keychron/q9/ansi_encoder/keyboard.json @@ -123,4 +123,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q9/config.h b/keyboards/keychron/q9/config.h index 6d0337b148..e0e7e19227 100644 --- a/keyboards/keychron/q9/config.h +++ b/keyboards/keychron/q9/config.h @@ -30,4 +30,4 @@ { 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70 } /* Encoder Configuration */ -#define ENCODER_DEFAULT_POS 0x3 +#define ENCODER_DEFAULT_POS 0x3 \ No newline at end of file diff --git a/keyboards/keychron/q9/info.json b/keyboards/keychron/q9/info.json index 9e284a2bd9..ff80a256d3 100644 --- a/keyboards/keychron/q9/info.json +++ b/keyboards/keychron/q9/info.json @@ -59,4 +59,4 @@ "usb": { "vid": "0x3434" } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q9/iso/keyboard.json b/keyboards/keychron/q9/iso/keyboard.json index 4a03f38f27..19a818ebb8 100644 --- a/keyboards/keychron/q9/iso/keyboard.json +++ b/keyboards/keychron/q9/iso/keyboard.json @@ -124,4 +124,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q9/iso_encoder/keyboard.json b/keyboards/keychron/q9/iso_encoder/keyboard.json index b9e6a70c63..087c2f8188 100644 --- a/keyboards/keychron/q9/iso_encoder/keyboard.json +++ b/keyboards/keychron/q9/iso_encoder/keyboard.json @@ -127,4 +127,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q9/q9.c b/keyboards/keychron/q9/q9.c index 2427d580a8..a9ccdb81ba 100644 --- a/keyboards/keychron/q9/q9.c +++ b/keyboards/keychron/q9/q9.c @@ -30,6 +30,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); diff --git a/keyboards/keychron/q9/readme.md b/keyboards/keychron/q9/readme.md index 5cb0374659..c7641f1cf9 100644 --- a/keyboards/keychron/q9/readme.md +++ b/keyboards/keychron/q9/readme.md @@ -24,4 +24,4 @@ Flashing example for this keyboard: **Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/keychron/q9_plus/q9_plus.c b/keyboards/keychron/q9_plus/q9_plus.c index 4624630a46..d155936f98 100755 --- a/keyboards/keychron/q9_plus/q9_plus.c +++ b/keyboards/keychron/q9_plus/q9_plus.c @@ -30,6 +30,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/keychron/s1/ansi/rgb/keyboard.json b/keyboards/keychron/s1/ansi/rgb/keyboard.json index 2dbc05f2fa..fb52ee6423 100644 --- a/keyboards/keychron/s1/ansi/rgb/keyboard.json +++ b/keyboards/keychron/s1/ansi/rgb/keyboard.json @@ -33,92 +33,6 @@ "solid_splash": true }, "driver": "snled27351", - "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": [3, 12], "x": 209, "y": 0, "flags": 1}, - {"matrix": [0, 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": 1}, - {"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": 8}, - {"matrix": [3, 1], "x": 26, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 41, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 56, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 71, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 86, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 101, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 116, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 131, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 146, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 175, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 200, "y": 38, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 38, "flags": 1}, - {"matrix": [4, 0], "x": 9, "y": 51, "flags": 1}, - {"matrix": [4, 2], "x": 34, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 63, "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": 1}, - {"matrix": [4, 13], "x": 209, "y": 51, "flags": 1}, - {"matrix": [4, 14], "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, 6], "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": 1}, - {"matrix": [5, 13], "x": 209, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 224, "y": 64, "flags": 1} - ] "sleep": true }, "features": { diff --git a/keyboards/keychron/s1/ansi/rgb/rgb.c b/keyboards/keychron/s1/ansi/rgb/rgb.c index a40fdbd7cc..af6390f753 100644 --- a/keyboards/keychron/s1/ansi/rgb/rgb.c +++ b/keyboards/keychron/s1/ansi/rgb/rgb.c @@ -117,4 +117,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA14, CB4_CA14, CB5_CA14}, // down {1, CB6_CA16, CB4_CA16, CB5_CA16}, // right }; + +#define __ NO_LED + +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, 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, 14, 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 } + }, + { + // LED Index to Physical Position + {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}, {202,13}, {224,13}, + {4,26}, {22,26}, {37,26}, {52,26}, {67,26}, {82,26}, {97,26}, {112,26}, {127,26}, {142,26}, {157,26}, {172,26}, {187,26}, {205,26}, {224,26}, + {6,38}, {26,38}, {41,38}, {56,38}, {71,38}, {86,38}, {101,38}, {116,38}, {131,38}, {146,38}, {160,38}, {175,38}, {200,38}, {224,38}, + {9,51}, {34,51}, {48,51}, {63,51}, {78,51}, {93,51}, {108,51}, {123,51}, {138,51}, {153,51}, {168,51}, {189,51}, {209,51}, {224,51}, + {2,64}, {21,64}, {39,64}, {95,64}, {149,64}, {164,64}, {179,64}, {194,64}, {209,64}, {224,64} + }, + { + // RGB LED Index to Flag + 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, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/s1/s1.c b/keyboards/keychron/s1/s1.c index 9f02892b76..4179cb4a6f 100644 --- a/keyboards/keychron/s1/s1.c +++ b/keyboards/keychron/s1/s1.c @@ -30,6 +30,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); @@ -48,6 +74,32 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { #if defined(LED_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef LED_MATRIX_ENABLE + case LM_TOGG: + if (record->event.pressed) { + switch (led_matrix_get_flags()) { + case LED_FLAG_ALL: { + led_matrix_set_flags(LED_FLAG_NONE); + led_matrix_set_value_all(0); + } break; + default: { + led_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!led_matrix_is_enabled()) { + led_matrix_set_flags(LED_FLAG_ALL); + led_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool led_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!led_matrix_indicators_advanced_user(led_min, led_max)) { return false; } diff --git a/keyboards/keychron/v1/ansi/ansi.c b/keyboards/keychron/v1/ansi/ansi.c index b3b96c26a4..a78d5dd4d7 100644 --- a/keyboards/keychron/v1/ansi/ansi.c +++ b/keyboards/keychron/v1/ansi/ansi.c @@ -115,4 +115,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB3_CA15, CB1_CA15, CB2_CA15}, {1, CB3_CA16, CB1_CA16, CB2_CA16}, }; + +#define __ NO_LED + +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 } + }, + { + // LED Index to Physical Position + {0,0}, {18,0}, {33,0}, {48,0}, {62,0}, {81,0}, {95,0}, {110,0}, {125,0}, {143,0}, {158,0}, {173,0}, {187,0}, {206,0}, {224,0}, + {0,15}, {15,15}, {29,15}, {44,15}, {59,15}, {73,15}, {88,15}, {103,15}, {118,15}, {132,15}, {147,15}, {162,15}, {176,15}, {198,15}, {224,15}, + {4,26}, {22,26}, {37,26}, {51,26}, {66,26}, {81,26}, {95,26}, {110,26}, {125,26}, {140,26}, {154,26}, {169,26}, {184,26}, {202,26}, {224,26}, + {6,38}, {26,38}, {40,38}, {55,38}, {70,38}, {84,38}, {99,38}, {114,38}, {129,38}, {143,38}, {158,38}, {173,38}, {196,38}, {224,38}, + {9,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {151,49}, {165,49}, {185,49}, {209,52}, + {2,61}, {20,61}, {39,61}, {94,61}, {147,61}, {162,61}, {176,61}, {195,64}, {209,64}, {224,64} + }, + { + // RGB LED Index to Flag + 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, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v1/ansi/keyboard.json b/keyboards/keychron/v1/ansi/keyboard.json index 09242fb595..d4bbca78de 100644 --- a/keyboards/keychron/v1/ansi/keyboard.json +++ b/keyboards/keychron/v1/ansi/keyboard.json @@ -18,92 +18,6 @@ "dip_switch": true, "rgb_matrix": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 18, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 62, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 81, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 95, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 158, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 173, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 187, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 206, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 15, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 44, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 59, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 88, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 103, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 118, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 132, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 147, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 162, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 176, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 224, "y": 15, "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": 51, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 95, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 110, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 125, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 140, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 154, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 169, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 184, "y": 26, "flags": 4}, - {"matrix": [2, 13], "x": 202, "y": 26, "flags": 4}, - {"matrix": [2, 15], "x": 224, "y": 26, "flags": 1}, - {"matrix": [3, 0], "x": 6, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 26, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 55, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 70, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 99, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 114, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 129, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 143, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 158, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 173, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 196, "y": 38, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 38, "flags": 1}, - {"matrix": [4, 0], "x": 9, "y": 49, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 62, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 77, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 92, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 106, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 121, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 136, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 151, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 165, "y": 49, "flags": 4}, - {"matrix": [4, 13], "x": 185, "y": 49, "flags": 1}, - {"matrix": [4, 14], "x": 209, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 61, "flags": 1}, - {"matrix": [5, 1], "x": 20, "y": 61, "flags": 1}, - {"matrix": [5, 2], "x": 39, "y": 61, "flags": 1}, - {"matrix": [5, 6], "x": 94, "y": 61, "flags": 4}, - {"matrix": [5, 10], "x": 147, "y": 61, "flags": 1}, - {"matrix": [5, 11], "x": 162, "y": 61, "flags": 1}, - {"matrix": [5, 12], "x": 176, "y": 61, "flags": 1}, - {"matrix": [5, 13], "x": 195, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 209, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_82": { "layout": [ diff --git a/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c index b3b96c26a4..a78d5dd4d7 100644 --- a/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c @@ -115,4 +115,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB3_CA15, CB1_CA15, CB2_CA15}, {1, CB3_CA16, CB1_CA16, CB2_CA16}, }; + +#define __ NO_LED + +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 } + }, + { + // LED Index to Physical Position + {0,0}, {18,0}, {33,0}, {48,0}, {62,0}, {81,0}, {95,0}, {110,0}, {125,0}, {143,0}, {158,0}, {173,0}, {187,0}, {206,0}, {224,0}, + {0,15}, {15,15}, {29,15}, {44,15}, {59,15}, {73,15}, {88,15}, {103,15}, {118,15}, {132,15}, {147,15}, {162,15}, {176,15}, {198,15}, {224,15}, + {4,26}, {22,26}, {37,26}, {51,26}, {66,26}, {81,26}, {95,26}, {110,26}, {125,26}, {140,26}, {154,26}, {169,26}, {184,26}, {202,26}, {224,26}, + {6,38}, {26,38}, {40,38}, {55,38}, {70,38}, {84,38}, {99,38}, {114,38}, {129,38}, {143,38}, {158,38}, {173,38}, {196,38}, {224,38}, + {9,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {151,49}, {165,49}, {185,49}, {209,52}, + {2,61}, {20,61}, {39,61}, {94,61}, {147,61}, {162,61}, {176,61}, {195,64}, {209,64}, {224,64} + }, + { + // RGB LED Index to Flag + 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, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v1/ansi_encoder/keyboard.json b/keyboards/keychron/v1/ansi_encoder/keyboard.json index cd62b128a0..62bbeb9d5d 100644 --- a/keyboards/keychron/v1/ansi_encoder/keyboard.json +++ b/keyboards/keychron/v1/ansi_encoder/keyboard.json @@ -24,92 +24,6 @@ "dip_switch": true, "rgb_matrix": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 18, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 62, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 81, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 95, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 158, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 173, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 187, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 206, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 15, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 44, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 59, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 88, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 103, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 118, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 132, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 147, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 162, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 176, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 224, "y": 15, "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": 51, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 95, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 110, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 125, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 140, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 154, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 169, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 184, "y": 26, "flags": 4}, - {"matrix": [2, 13], "x": 202, "y": 26, "flags": 4}, - {"matrix": [2, 15], "x": 224, "y": 26, "flags": 1}, - {"matrix": [3, 0], "x": 6, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 26, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 55, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 70, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 99, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 114, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 129, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 143, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 158, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 173, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 196, "y": 38, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 38, "flags": 1}, - {"matrix": [4, 0], "x": 9, "y": 49, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 62, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 77, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 92, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 106, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 121, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 136, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 151, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 165, "y": 49, "flags": 4}, - {"matrix": [4, 13], "x": 185, "y": 49, "flags": 1}, - {"matrix": [4, 14], "x": 209, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 61, "flags": 1}, - {"matrix": [5, 1], "x": 20, "y": 61, "flags": 1}, - {"matrix": [5, 2], "x": 39, "y": 61, "flags": 1}, - {"matrix": [5, 6], "x": 94, "y": 61, "flags": 4}, - {"matrix": [5, 10], "x": 147, "y": 61, "flags": 1}, - {"matrix": [5, 11], "x": 162, "y": 61, "flags": 1}, - {"matrix": [5, 12], "x": 176, "y": 61, "flags": 1}, - {"matrix": [5, 13], "x": 195, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 209, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_82": { "layout": [ diff --git a/keyboards/keychron/v1/iso/iso.c b/keyboards/keychron/v1/iso/iso.c index 4cb877f918..a1095dcc92 100644 --- a/keyboards/keychron/v1/iso/iso.c +++ b/keyboards/keychron/v1/iso/iso.c @@ -116,4 +116,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB3_CA15, CB1_CA15, CB2_CA15}, {1, CB3_CA16, CB1_CA16, CB2_CA16}, }; + +#define __ NO_LED + +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, 57, __, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, __, 56, __, 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 } + }, + { + // LED Index to Physical Position + {0,0}, {18,0}, {33,0}, {48,0}, {62,0}, {81,0}, {95,0}, {110,0}, {125,0}, {143,0}, {158,0}, {173,0}, {187,0}, {206,0}, {224,0}, + {0,15}, {15,15}, {29,15}, {44,15}, {59,15}, {73,15}, {88,15}, {103,15}, {118,15}, {132,15}, {147,15}, {162,15}, {176,15}, {198,15}, {224,15}, + {4,26}, {22,26}, {37,26}, {51,26}, {66,26}, {81,26}, {95,26}, {110,26}, {125,26}, {140,26}, {154,26}, {169,26}, {184,26}, {224,26}, + {6,38}, {26,38}, {40,38}, {55,38}, {70,38}, {84,38}, {99,38}, {114,38}, {129,38}, {143,38}, {158,38}, {173,38}, {187,38}, {203,32}, {224,38}, + {2,49}, {18,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {151,49}, {165,49}, {185,49}, {209,52}, + {2,61}, {20,61}, {39,61}, {94,61}, {147,61}, {162,61}, {176,61}, {195,64}, {209,64}, {224,64} + }, + { + // RGB LED Index to Flag + 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, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 8, 4, 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, 1, 1, 4, 1, 1, 1, 1, 1, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v1/iso/keyboard.json b/keyboards/keychron/v1/iso/keyboard.json index 43376e3077..6e307ea4df 100644 --- a/keyboards/keychron/v1/iso/keyboard.json +++ b/keyboards/keychron/v1/iso/keyboard.json @@ -18,93 +18,6 @@ "rgb_matrix": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 18, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 62, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 81, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 95, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 158, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 173, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 187, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 206, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 15, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 44, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 59, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 88, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 103, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 118, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 132, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 147, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 162, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 176, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 224, "y": 15, "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": 51, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 95, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 110, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 125, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 140, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 154, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 169, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 184, "y": 26, "flags": 4}, - {"matrix": [2, 15], "x": 224, "y": 26, "flags": 1}, - {"matrix": [3, 0], "x": 6, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 26, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 55, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 70, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 99, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 114, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 129, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 143, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 158, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 173, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 187, "y": 38, "flags": 4}, - {"matrix": [2, 13], "x": 203, "y": 32, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 38, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 49, "flags": 1}, - {"matrix": [4, 1], "x": 18, "y": 49, "flags": 4}, - {"matrix": [4, 2], "x": 33, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 62, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 77, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 92, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 106, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 121, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 136, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 151, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 165, "y": 49, "flags": 4}, - {"matrix": [4, 13], "x": 185, "y": 49, "flags": 1}, - {"matrix": [4, 14], "x": 209, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 61, "flags": 1}, - {"matrix": [5, 1], "x": 20, "y": 61, "flags": 1}, - {"matrix": [5, 2], "x": 39, "y": 61, "flags": 1}, - {"matrix": [5, 6], "x": 94, "y": 61, "flags": 4}, - {"matrix": [5, 10], "x": 147, "y": 61, "flags": 1}, - {"matrix": [5, 11], "x": 162, "y": 61, "flags": 1}, - {"matrix": [5, 12], "x": 176, "y": 61, "flags": 1}, - {"matrix": [5, 13], "x": 195, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 209, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_83": { "layout": [ diff --git a/keyboards/keychron/v1/iso_encoder/iso_encoder.c b/keyboards/keychron/v1/iso_encoder/iso_encoder.c index 4cb877f918..a1095dcc92 100644 --- a/keyboards/keychron/v1/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v1/iso_encoder/iso_encoder.c @@ -116,4 +116,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB3_CA15, CB1_CA15, CB2_CA15}, {1, CB3_CA16, CB1_CA16, CB2_CA16}, }; + +#define __ NO_LED + +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, 57, __, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, __, 56, __, 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 } + }, + { + // LED Index to Physical Position + {0,0}, {18,0}, {33,0}, {48,0}, {62,0}, {81,0}, {95,0}, {110,0}, {125,0}, {143,0}, {158,0}, {173,0}, {187,0}, {206,0}, {224,0}, + {0,15}, {15,15}, {29,15}, {44,15}, {59,15}, {73,15}, {88,15}, {103,15}, {118,15}, {132,15}, {147,15}, {162,15}, {176,15}, {198,15}, {224,15}, + {4,26}, {22,26}, {37,26}, {51,26}, {66,26}, {81,26}, {95,26}, {110,26}, {125,26}, {140,26}, {154,26}, {169,26}, {184,26}, {224,26}, + {6,38}, {26,38}, {40,38}, {55,38}, {70,38}, {84,38}, {99,38}, {114,38}, {129,38}, {143,38}, {158,38}, {173,38}, {187,38}, {203,32}, {224,38}, + {2,49}, {18,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {151,49}, {165,49}, {185,49}, {209,52}, + {2,61}, {20,61}, {39,61}, {94,61}, {147,61}, {162,61}, {176,61}, {195,64}, {209,64}, {224,64} + }, + { + // RGB LED Index to Flag + 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, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 8, 4, 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, 1, 1, 4, 1, 1, 1, 1, 1, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v1/iso_encoder/keyboard.json b/keyboards/keychron/v1/iso_encoder/keyboard.json index b095d4d436..077cb045b2 100644 --- a/keyboards/keychron/v1/iso_encoder/keyboard.json +++ b/keyboards/keychron/v1/iso_encoder/keyboard.json @@ -24,93 +24,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 18, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 62, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 81, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 95, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 158, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 173, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 187, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 206, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 15, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 44, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 59, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 88, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 103, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 118, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 132, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 147, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 162, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 176, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 224, "y": 15, "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": 51, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 95, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 110, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 125, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 140, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 154, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 169, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 184, "y": 26, "flags": 4}, - {"matrix": [2, 15], "x": 224, "y": 26, "flags": 1}, - {"matrix": [3, 0], "x": 6, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 26, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 55, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 70, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 99, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 114, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 129, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 143, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 158, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 173, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 187, "y": 38, "flags": 4}, - {"matrix": [2, 13], "x": 203, "y": 32, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 38, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 49, "flags": 1}, - {"matrix": [4, 1], "x": 18, "y": 49, "flags": 4}, - {"matrix": [4, 2], "x": 33, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 62, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 77, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 92, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 106, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 121, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 136, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 151, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 165, "y": 49, "flags": 4}, - {"matrix": [4, 13], "x": 185, "y": 49, "flags": 1}, - {"matrix": [4, 14], "x": 209, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 61, "flags": 1}, - {"matrix": [5, 1], "x": 20, "y": 61, "flags": 1}, - {"matrix": [5, 2], "x": 39, "y": 61, "flags": 1}, - {"matrix": [5, 6], "x": 94, "y": 61, "flags": 4}, - {"matrix": [5, 10], "x": 147, "y": 61, "flags": 1}, - {"matrix": [5, 11], "x": 162, "y": 61, "flags": 1}, - {"matrix": [5, 12], "x": 176, "y": 61, "flags": 1}, - {"matrix": [5, 13], "x": 195, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 209, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_83": { "layout": [ diff --git a/keyboards/keychron/v1/jis/jis.c b/keyboards/keychron/v1/jis/jis.c index 04839ff24a..d3b3f9aa90 100644 --- a/keyboards/keychron/v1/jis/jis.c +++ b/keyboards/keychron/v1/jis/jis.c @@ -119,4 +119,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB3_CA15, CB1_CA15, CB2_CA15}, {1, CB3_CA16, CB1_CA16, CB2_CA16}, }; + +#define __ NO_LED + +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, 58, __, 44 }, + { 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, __, 57, __, 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 }, + }, + { + // LED Index to Physical Position + {0, 0}, {18, 0}, {33, 0}, {48, 0}, {62, 0}, {81, 0}, {95, 0}, {110, 0}, {125, 0}, {143, 0}, {158, 0}, {173, 0}, {187, 0}, {205, 0}, {224, 0}, + {0, 15}, {15, 15}, {29, 15}, {44, 15}, {59, 15}, {73, 15}, {88, 15}, {103, 15}, {117, 15}, {132, 15}, {147, 15}, {161, 15}, {176, 15}, {191, 15}, {205, 15}, {224, 15}, + {4, 28}, {22, 28}, {37, 28}, {51, 28}, {66, 28}, {81, 28}, {95, 28}, {110, 28}, {125, 28}, {139, 28}, {154, 28}, {169, 28}, {183, 28}, {224, 28}, + {6, 40}, {26, 40}, {40, 40}, {55, 40}, {70, 40}, {84, 40}, {99, 40}, {114, 40}, {128, 40}, {143, 40}, {158, 40}, {172, 40}, {187, 40}, {207, 36}, {224, 40}, + {9, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {180, 52}, {194, 52}, {209, 52}, + {2, 64}, {18, 64}, {35, 64}, {51, 64}, { 92, 64}, {134, 64}, {150, 64}, {165, 64}, {180, 64}, {194, 64}, {209, 64}, {224, 64}, + }, + { + // RGB LED Index to Flag + 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, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 8, 4, 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, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v1/jis/keyboard.json b/keyboards/keychron/v1/jis/keyboard.json index e02699c03c..a6a43a75da 100644 --- a/keyboards/keychron/v1/jis/keyboard.json +++ b/keyboards/keychron/v1/jis/keyboard.json @@ -18,96 +18,6 @@ "rgb_matrix": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 18, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 62, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 81, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 95, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 158, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 173, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 187, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 205, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 15, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 44, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 59, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 88, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 103, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 132, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 147, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 161, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 176, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 191, "y": 15, "flags": 4}, - {"matrix": [1, 14], "x": 205, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 4, "y": 28, "flags": 1}, - {"matrix": [2, 1], "x": 22, "y": 28, "flags": 4}, - {"matrix": [2, 2], "x": 37, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 51, "y": 28, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 28, "flags": 4}, - {"matrix": [2, 6], "x": 95, "y": 28, "flags": 4}, - {"matrix": [2, 7], "x": 110, "y": 28, "flags": 4}, - {"matrix": [2, 8], "x": 125, "y": 28, "flags": 4}, - {"matrix": [2, 9], "x": 139, "y": 28, "flags": 4}, - {"matrix": [2, 10], "x": 154, "y": 28, "flags": 4}, - {"matrix": [2, 11], "x": 169, "y": 28, "flags": 4}, - {"matrix": [2, 12], "x": 183, "y": 28, "flags": 4}, - {"matrix": [2, 15], "x": 224, "y": 28, "flags": 1}, - {"matrix": [3, 0], "x": 6, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 26, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 55, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 99, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 114, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 143, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 158, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 172, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 187, "y": 40, "flags": 4}, - {"matrix": [2, 13], "x": 207, "y": 36, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 40, "flags": 1}, - {"matrix": [4, 0], "x": 9, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 62, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 77, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 92, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 106, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 121, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 136, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 150, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 165, "y": 52, "flags": 4}, - {"matrix": [4, 12], "x": 180, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 194, "y": 52, "flags": 1}, - {"matrix": [4, 14], "x": 209, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 35, "y": 64, "flags": 1}, - {"matrix": [5, 3], "x": 51, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 92, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 134, "y": 64, "flags": 1}, - {"matrix": [5, 10], "x": 150, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 165, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 194, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 209, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_jis_86": { "layout": [ diff --git a/keyboards/keychron/v1/jis_encoder/jis_encoder.c b/keyboards/keychron/v1/jis_encoder/jis_encoder.c index 04839ff24a..d3b3f9aa90 100644 --- a/keyboards/keychron/v1/jis_encoder/jis_encoder.c +++ b/keyboards/keychron/v1/jis_encoder/jis_encoder.c @@ -119,4 +119,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB3_CA15, CB1_CA15, CB2_CA15}, {1, CB3_CA16, CB1_CA16, CB2_CA16}, }; + +#define __ NO_LED + +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, 58, __, 44 }, + { 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, __, 57, __, 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 }, + }, + { + // LED Index to Physical Position + {0, 0}, {18, 0}, {33, 0}, {48, 0}, {62, 0}, {81, 0}, {95, 0}, {110, 0}, {125, 0}, {143, 0}, {158, 0}, {173, 0}, {187, 0}, {205, 0}, {224, 0}, + {0, 15}, {15, 15}, {29, 15}, {44, 15}, {59, 15}, {73, 15}, {88, 15}, {103, 15}, {117, 15}, {132, 15}, {147, 15}, {161, 15}, {176, 15}, {191, 15}, {205, 15}, {224, 15}, + {4, 28}, {22, 28}, {37, 28}, {51, 28}, {66, 28}, {81, 28}, {95, 28}, {110, 28}, {125, 28}, {139, 28}, {154, 28}, {169, 28}, {183, 28}, {224, 28}, + {6, 40}, {26, 40}, {40, 40}, {55, 40}, {70, 40}, {84, 40}, {99, 40}, {114, 40}, {128, 40}, {143, 40}, {158, 40}, {172, 40}, {187, 40}, {207, 36}, {224, 40}, + {9, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {180, 52}, {194, 52}, {209, 52}, + {2, 64}, {18, 64}, {35, 64}, {51, 64}, { 92, 64}, {134, 64}, {150, 64}, {165, 64}, {180, 64}, {194, 64}, {209, 64}, {224, 64}, + }, + { + // RGB LED Index to Flag + 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, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 8, 4, 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, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v1/jis_encoder/keyboard.json b/keyboards/keychron/v1/jis_encoder/keyboard.json index 3a89e69153..4e39e3d4a8 100644 --- a/keyboards/keychron/v1/jis_encoder/keyboard.json +++ b/keyboards/keychron/v1/jis_encoder/keyboard.json @@ -24,96 +24,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 18, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 62, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 81, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 95, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 158, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 173, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 187, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 205, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 15, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 44, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 59, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 88, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 103, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 132, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 147, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 161, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 176, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 191, "y": 15, "flags": 4}, - {"matrix": [1, 14], "x": 205, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 4, "y": 28, "flags": 1}, - {"matrix": [2, 1], "x": 22, "y": 28, "flags": 4}, - {"matrix": [2, 2], "x": 37, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 51, "y": 28, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 28, "flags": 4}, - {"matrix": [2, 6], "x": 95, "y": 28, "flags": 4}, - {"matrix": [2, 7], "x": 110, "y": 28, "flags": 4}, - {"matrix": [2, 8], "x": 125, "y": 28, "flags": 4}, - {"matrix": [2, 9], "x": 139, "y": 28, "flags": 4}, - {"matrix": [2, 10], "x": 154, "y": 28, "flags": 4}, - {"matrix": [2, 11], "x": 169, "y": 28, "flags": 4}, - {"matrix": [2, 12], "x": 183, "y": 28, "flags": 4}, - {"matrix": [2, 15], "x": 224, "y": 28, "flags": 1}, - {"matrix": [3, 0], "x": 6, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 26, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 55, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 99, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 114, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 143, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 158, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 172, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 187, "y": 40, "flags": 4}, - {"matrix": [2, 13], "x": 207, "y": 36, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 40, "flags": 1}, - {"matrix": [4, 0], "x": 9, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 62, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 77, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 92, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 106, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 121, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 136, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 150, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 165, "y": 52, "flags": 4}, - {"matrix": [4, 12], "x": 180, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 194, "y": 52, "flags": 1}, - {"matrix": [4, 14], "x": 209, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 35, "y": 64, "flags": 1}, - {"matrix": [5, 3], "x": 51, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 92, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 134, "y": 64, "flags": 1}, - {"matrix": [5, 10], "x": 150, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 165, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 194, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 209, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_jis_86": { "layout": [ diff --git a/keyboards/keychron/v1/v1.c b/keyboards/keychron/v1/v1.c index f00309f3e4..4d5381105a 100644 --- a/keyboards/keychron/v1/v1.c +++ b/keyboards/keychron/v1/v1.c @@ -32,6 +32,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); diff --git a/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c index a9468493d6..7a58d4deef 100644 --- a/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c @@ -121,4 +121,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Down {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Right }; + +#define __ NO_LED + +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, 87 }, + }, + { + // LED Index to Physical Position + {19,0}, {34,0}, {46,0}, {60,1}, {72,3}, {87,6}, {99,8}, {120,8}, {132,6}, {147,3}, {159,1}, {173,0}, {185,0}, {201,1}, {219,1}, + {5,14}, {24,14}, {36,14}, {48,13}, {62,15}, {74,17}, {86,20}, {98,22}, {115,22}, {127,20}, {139,17}, {151,15}, {165,13}, {177,14}, {195,14}, {220,13}, + {4,24}, {24,24}, {40,24}, {53,24}, {65,27}, {77,29}, {89,31}, {112,33}, {124,31}, {136,29}, {148,27}, {160,24}, {174,24}, {186,24}, {201,24}, {222,25}, + {2,34}, {23,34}, {40,34}, {54,35}, {66,37}, {78,39}, {90,42}, {118,43}, {130,40}, {142,38}, {154,36}, {167,35}, {179,35}, {199,35}, {224,36}, + {0,45}, {24,45}, {44,45}, {57,46}, {69,48}, {81,51}, {93,53}, {111,54}, {123,52}, {135,50}, {147,48}, {159,46}, {173,45}, {190,45}, {210,47}, + {0,55}, {18,55}, {33,55}, {56,57}, {77,61}, {97,64}, {124,63}, {147,59}, {198,58}, {210,58}, {222,58}, + }, + { + // RGB LED Index to Flag + 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, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 1, 4, 1, 4, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v10/ansi_encoder/keyboard.json b/keyboards/keychron/v10/ansi_encoder/keyboard.json index 98a700ab2e..825fa65ef8 100644 --- a/keyboards/keychron/v10/ansi_encoder/keyboard.json +++ b/keyboards/keychron/v10/ansi_encoder/keyboard.json @@ -27,98 +27,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 1], "x": 19, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 46, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 60, "y": 1, "flags": 1}, - {"matrix": [0, 5], "x": 72, "y": 3, "flags": 1}, - {"matrix": [0, 6], "x": 87, "y": 6, "flags": 1}, - {"matrix": [0, 7], "x": 99, "y": 8, "flags": 1}, - {"matrix": [0, 8], "x": 120, "y": 8, "flags": 1}, - {"matrix": [0, 9], "x": 132, "y": 6, "flags": 1}, - {"matrix": [0, 10], "x": 147, "y": 3, "flags": 1}, - {"matrix": [0, 11], "x": 159, "y": 1, "flags": 1}, - {"matrix": [0, 12], "x": 173, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 185, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 201, "y": 1, "flags": 1}, - {"matrix": [0, 15], "x": 219, "y": 1, "flags": 1}, - {"matrix": [1, 0], "x": 5, "y": 14, "flags": 1}, - {"matrix": [1, 1], "x": 24, "y": 14, "flags": 1}, - {"matrix": [1, 2], "x": 36, "y": 14, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 13, "flags": 4}, - {"matrix": [1, 4], "x": 62, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 74, "y": 17, "flags": 4}, - {"matrix": [1, 6], "x": 86, "y": 20, "flags": 4}, - {"matrix": [1, 7], "x": 98, "y": 22, "flags": 4}, - {"matrix": [1, 8], "x": 115, "y": 22, "flags": 4}, - {"matrix": [1, 9], "x": 127, "y": 20, "flags": 4}, - {"matrix": [1, 10], "x": 139, "y": 17, "flags": 4}, - {"matrix": [1, 11], "x": 151, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 165, "y": 13, "flags": 4}, - {"matrix": [1, 13], "x": 177, "y": 14, "flags": 4}, - {"matrix": [1, 14], "x": 195, "y": 14, "flags": 1}, - {"matrix": [1, 15], "x": 220, "y": 13, "flags": 1}, - {"matrix": [2, 0], "x": 4, "y": 24, "flags": 1}, - {"matrix": [2, 1], "x": 24, "y": 24, "flags": 1}, - {"matrix": [2, 2], "x": 40, "y": 24, "flags": 4}, - {"matrix": [2, 3], "x": 53, "y": 24, "flags": 4}, - {"matrix": [2, 4], "x": 65, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 77, "y": 29, "flags": 4}, - {"matrix": [2, 6], "x": 89, "y": 31, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 33, "flags": 4}, - {"matrix": [2, 8], "x": 124, "y": 31, "flags": 4}, - {"matrix": [2, 9], "x": 136, "y": 29, "flags": 4}, - {"matrix": [2, 10], "x": 148, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 160, "y": 24, "flags": 4}, - {"matrix": [2, 12], "x": 174, "y": 24, "flags": 4}, - {"matrix": [2, 13], "x": 186, "y": 24, "flags": 4}, - {"matrix": [2, 14], "x": 201, "y": 24, "flags": 4}, - {"matrix": [2, 15], "x": 222, "y": 25, "flags": 1}, - {"matrix": [3, 0], "x": 2, "y": 34, "flags": 1}, - {"matrix": [3, 1], "x": 23, "y": 34, "flags": 8}, - {"matrix": [3, 2], "x": 40, "y": 34, "flags": 4}, - {"matrix": [3, 3], "x": 54, "y": 35, "flags": 4}, - {"matrix": [3, 4], "x": 66, "y": 37, "flags": 4}, - {"matrix": [3, 5], "x": 78, "y": 39, "flags": 4}, - {"matrix": [3, 6], "x": 90, "y": 42, "flags": 4}, - {"matrix": [3, 8], "x": 118, "y": 43, "flags": 4}, - {"matrix": [3, 9], "x": 130, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 142, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 154, "y": 36, "flags": 4}, - {"matrix": [3, 12], "x": 167, "y": 35, "flags": 4}, - {"matrix": [3, 13], "x": 179, "y": 35, "flags": 4}, - {"matrix": [3, 14], "x": 199, "y": 35, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 36, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 45, "flags": 1}, - {"matrix": [4, 1], "x": 24, "y": 45, "flags": 1}, - {"matrix": [4, 3], "x": 44, "y": 45, "flags": 4}, - {"matrix": [4, 4], "x": 57, "y": 46, "flags": 4}, - {"matrix": [4, 5], "x": 69, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 93, "y": 53, "flags": 4}, - {"matrix": [4, 8], "x": 111, "y": 54, "flags": 4}, - {"matrix": [4, 9], "x": 123, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 135, "y": 50, "flags": 4}, - {"matrix": [4, 11], "x": 147, "y": 48, "flags": 4}, - {"matrix": [4, 12], "x": 159, "y": 46, "flags": 4}, - {"matrix": [4, 13], "x": 173, "y": 45, "flags": 4}, - {"matrix": [4, 14], "x": 190, "y": 45, "flags": 1}, - {"matrix": [4, 15], "x": 210, "y": 47, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 55, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 55, "flags": 1}, - {"matrix": [5, 2], "x": 33, "y": 55, "flags": 1}, - {"matrix": [5, 3], "x": 56, "y": 57, "flags": 1}, - {"matrix": [5, 4], "x": 77, "y": 61, "flags": 4}, - {"matrix": [5, 7], "x": 97, "y": 64, "flags": 1}, - {"matrix": [5, 8], "x": 124, "y": 63, "flags": 4}, - {"matrix": [5, 9], "x": 147, "y": 59, "flags": 1}, - {"matrix": [5, 13], "x": 198, "y": 58, "flags": 1}, - {"matrix": [5, 14], "x": 210, "y": 58, "flags": 1}, - {"matrix": [5, 15], "x": 222, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_89": { "layout": [ diff --git a/keyboards/keychron/v10/iso_encoder/iso_encoder.c b/keyboards/keychron/v10/iso_encoder/iso_encoder.c index 5092a283df..359646b542 100644 --- a/keyboards/keychron/v10/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v10/iso_encoder/iso_encoder.c @@ -122,4 +122,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA2, CB4_CA2, CB5_CA2}, // Down {1, CB6_CA1, CB4_CA1, CB5_CA1}, // Right }; + +#define __ NO_LED + +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, 59, 45 }, + { 46, 47, 48, 49, 50, 51, 52, __, 53, 54, 55, 56, 57, 58, 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, 87, 88 }, + }, + { + // LED Index to Physical Position + {0,0}, {19,0}, {34,0}, {60,1}, {72,3}, {87,6}, {99,8}, {120,8}, {132,6}, {147,3}, {159,1}, {173,0}, {185,0}, {201,1}, {219,1}, + {5,14}, {24,14}, {36,14}, {48,13}, {62,15}, {74,17}, {86,20}, {98,22}, {115,22}, {127,20}, {139,17}, {151,15}, {165,13}, {177,14}, {195,14}, {220,15}, + {4,24}, {24,24}, {40,24}, {53,24}, {65,27}, {77,29}, {89,31}, {112,33}, {124,31}, {136,29}, {148,27}, {160,24}, {176,24}, {189,24}, {222,25}, + {2,34}, {23,34}, {40,34}, {54,35}, {66,37}, {78,39}, {90,42}, {118,43}, {130,40}, {142,38}, {154,36}, {167,35}, {179,35}, {192,35}, {208,31}, {224,36}, + {0,45}, {18,45}, {31,45}, {44,45}, {57,46}, {69,48}, {81,51}, {93,53}, {111,54}, {123,52}, {135,50}, {147,48}, {159,46}, {173,45}, {190,45}, {210,47}, + {0,55}, {18,55}, {33,55}, {56,57}, {77,61}, {97,64}, {124,63}, {147,59}, {198,58}, {210,58}, {222,58}, + }, + { + // RGB LED Index to Flag + 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, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 1, 4, 1, 4, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v10/iso_encoder/keyboard.json b/keyboards/keychron/v10/iso_encoder/keyboard.json index 7880fd6501..ea2dfb35e2 100644 --- a/keyboards/keychron/v10/iso_encoder/keyboard.json +++ b/keyboards/keychron/v10/iso_encoder/keyboard.json @@ -27,99 +27,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 1], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 19, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 60, "y": 1, "flags": 1}, - {"matrix": [0, 5], "x": 72, "y": 3, "flags": 1}, - {"matrix": [0, 6], "x": 87, "y": 6, "flags": 1}, - {"matrix": [0, 7], "x": 99, "y": 8, "flags": 1}, - {"matrix": [0, 8], "x": 120, "y": 8, "flags": 1}, - {"matrix": [0, 9], "x": 132, "y": 6, "flags": 1}, - {"matrix": [0, 10], "x": 147, "y": 3, "flags": 1}, - {"matrix": [0, 11], "x": 159, "y": 1, "flags": 1}, - {"matrix": [0, 12], "x": 173, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 185, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 201, "y": 1, "flags": 1}, - {"matrix": [0, 15], "x": 219, "y": 1, "flags": 1}, - {"matrix": [1, 0], "x": 5, "y": 14, "flags": 1}, - {"matrix": [1, 1], "x": 24, "y": 14, "flags": 1}, - {"matrix": [1, 2], "x": 36, "y": 14, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 13, "flags": 4}, - {"matrix": [1, 4], "x": 62, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 74, "y": 17, "flags": 4}, - {"matrix": [1, 6], "x": 86, "y": 20, "flags": 4}, - {"matrix": [1, 7], "x": 98, "y": 22, "flags": 4}, - {"matrix": [1, 8], "x": 115, "y": 22, "flags": 4}, - {"matrix": [1, 9], "x": 127, "y": 20, "flags": 4}, - {"matrix": [1, 10], "x": 139, "y": 17, "flags": 4}, - {"matrix": [1, 11], "x": 151, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 165, "y": 13, "flags": 4}, - {"matrix": [1, 13], "x": 177, "y": 14, "flags": 4}, - {"matrix": [1, 14], "x": 195, "y": 14, "flags": 1}, - {"matrix": [1, 15], "x": 220, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 4, "y": 24, "flags": 1}, - {"matrix": [2, 1], "x": 24, "y": 24, "flags": 1}, - {"matrix": [2, 2], "x": 40, "y": 24, "flags": 4}, - {"matrix": [2, 3], "x": 53, "y": 24, "flags": 4}, - {"matrix": [2, 4], "x": 65, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 77, "y": 29, "flags": 4}, - {"matrix": [2, 6], "x": 89, "y": 31, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 33, "flags": 4}, - {"matrix": [2, 8], "x": 124, "y": 31, "flags": 4}, - {"matrix": [2, 9], "x": 136, "y": 29, "flags": 4}, - {"matrix": [2, 10], "x": 148, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 160, "y": 24, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 24, "flags": 4}, - {"matrix": [2, 13], "x": 189, "y": 24, "flags": 4}, - {"matrix": [2, 15], "x": 222, "y": 25, "flags": 1}, - {"matrix": [3, 0], "x": 2, "y": 34, "flags": 1}, - {"matrix": [3, 1], "x": 23, "y": 34, "flags": 8}, - {"matrix": [3, 2], "x": 40, "y": 34, "flags": 4}, - {"matrix": [3, 3], "x": 54, "y": 35, "flags": 4}, - {"matrix": [3, 4], "x": 66, "y": 37, "flags": 4}, - {"matrix": [3, 5], "x": 78, "y": 39, "flags": 4}, - {"matrix": [3, 6], "x": 90, "y": 42, "flags": 4}, - {"matrix": [3, 8], "x": 118, "y": 43, "flags": 4}, - {"matrix": [3, 9], "x": 130, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 142, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 154, "y": 36, "flags": 4}, - {"matrix": [3, 12], "x": 167, "y": 35, "flags": 4}, - {"matrix": [3, 13], "x": 179, "y": 35, "flags": 4}, - {"matrix": [2, 14], "x": 192, "y": 35, "flags": 4}, - {"matrix": [3, 14], "x": 208, "y": 31, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 36, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 45, "flags": 1}, - {"matrix": [4, 1], "x": 18, "y": 45, "flags": 1}, - {"matrix": [4, 2], "x": 31, "y": 45, "flags": 4}, - {"matrix": [4, 3], "x": 44, "y": 45, "flags": 4}, - {"matrix": [4, 4], "x": 57, "y": 46, "flags": 4}, - {"matrix": [4, 5], "x": 69, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 93, "y": 53, "flags": 4}, - {"matrix": [4, 8], "x": 111, "y": 54, "flags": 4}, - {"matrix": [4, 9], "x": 123, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 135, "y": 50, "flags": 4}, - {"matrix": [4, 11], "x": 147, "y": 48, "flags": 4}, - {"matrix": [4, 12], "x": 159, "y": 46, "flags": 4}, - {"matrix": [4, 13], "x": 173, "y": 45, "flags": 4}, - {"matrix": [4, 14], "x": 190, "y": 45, "flags": 1}, - {"matrix": [4, 15], "x": 210, "y": 47, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 55, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 55, "flags": 1}, - {"matrix": [5, 2], "x": 33, "y": 55, "flags": 1}, - {"matrix": [5, 3], "x": 56, "y": 57, "flags": 1}, - {"matrix": [5, 4], "x": 77, "y": 61, "flags": 4}, - {"matrix": [5, 7], "x": 97, "y": 64, "flags": 1}, - {"matrix": [5, 8], "x": 124, "y": 63, "flags": 4}, - {"matrix": [5, 9], "x": 147, "y": 59, "flags": 1}, - {"matrix": [5, 13], "x": 198, "y": 58, "flags": 1}, - {"matrix": [5, 14], "x": 210, "y": 58, "flags": 1}, - {"matrix": [5, 15], "x": 222, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_90": { "layout": [ diff --git a/keyboards/keychron/v10/v10.c b/keyboards/keychron/v10/v10.c index c5160d7838..f81b78284b 100644 --- a/keyboards/keychron/v10/v10.c +++ b/keyboards/keychron/v10/v10.c @@ -32,6 +32,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/keychron/v2/ansi/ansi.c b/keyboards/keychron/v2/ansi/ansi.c index ea92662c59..722aa27b47 100644 --- a/keyboards/keychron/v2/ansi/ansi.c +++ b/keyboards/keychron/v2/ansi/ansi.c @@ -99,4 +99,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA15, CB4_CA15, CB5_CA15}, {1, CB6_CA16, CB4_CA16, CB5_CA16}, }; + +#define __ NO_LED + +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, 65, 42, 43 }, + { 44, __, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, __, 55, 56 }, + { 57, 58, 59, __, __, __, 60, __, __, __, 61, 62, 63, 64, 66 } + }, + { + // LED Index to Physical Position + {0,0}, {15,0}, {29,0}, {44,0}, {59,0}, {73,0}, {88,0}, {103,0}, {118,0}, {132,0}, {147,0}, {162,0}, {176,0}, {198,0}, {224,0}, // {244,-4} + {4,15}, {22,15}, {37,15}, {51,15}, {66,15}, {81,15}, {95,15}, {110,15}, {125,15}, {140,15}, {154,15}, {169,15}, {184,15}, {202,15}, {224,15}, + {6,30}, {26,30}, {40,30}, {55,30}, {70,30}, {84,30}, {99,30}, {114,30}, {129,30}, {143,30}, {158,30}, {173,30}, {196,30}, {224,30}, + {9,45}, {33,45}, {48,45}, {62,45}, {77,45}, {92,45}, {106,45}, {121,45}, {136,45}, {151,45}, {165,45}, {185,45}, {209,49}, + {2,60}, {20,60}, {39,60}, {94,60}, {147,60}, {162,60}, {176,60}, {195,64}, {209,64}, {224,64} + }, + { + // RGB LED Index to Flag + 1, 4, 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, 4, 1, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v2/ansi/keyboard.json b/keyboards/keychron/v2/ansi/keyboard.json index 962bcaee98..bc09cb8a27 100644 --- a/keyboards/keychron/v2/ansi/keyboard.json +++ b/keyboards/keychron/v2/ansi/keyboard.json @@ -23,77 +23,6 @@ "diode_direction": "ROW2COL", "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 44, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 59, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 73, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 88, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 103, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 118, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 147, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 162, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 22, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 37, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 51, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 81, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 95, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 110, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 140, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 154, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 169, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 184, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 202, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 30, "flags": 8}, - {"matrix": [2, 1], "x": 26, "y": 30, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 30, "flags": 4}, - {"matrix": [2, 3], "x": 55, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 70, "y": 30, "flags": 4}, - {"matrix": [2, 5], "x": 84, "y": 30, "flags": 4}, - {"matrix": [2, 6], "x": 99, "y": 30, "flags": 4}, - {"matrix": [2, 7], "x": 114, "y": 30, "flags": 4}, - {"matrix": [2, 8], "x": 129, "y": 30, "flags": 4}, - {"matrix": [2, 9], "x": 143, "y": 30, "flags": 4}, - {"matrix": [2, 10], "x": 158, "y": 30, "flags": 4}, - {"matrix": [2, 11], "x": 173, "y": 30, "flags": 4}, - {"matrix": [2, 13], "x": 196, "y": 30, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 30, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 45, "flags": 1}, - {"matrix": [3, 2], "x": 33, "y": 45, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 45, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 45, "flags": 4}, - {"matrix": [3, 5], "x": 77, "y": 45, "flags": 4}, - {"matrix": [3, 6], "x": 92, "y": 45, "flags": 4}, - {"matrix": [3, 7], "x": 106, "y": 45, "flags": 4}, - {"matrix": [3, 8], "x": 121, "y": 45, "flags": 4}, - {"matrix": [3, 9], "x": 136, "y": 45, "flags": 4}, - {"matrix": [3, 10], "x": 151, "y": 45, "flags": 4}, - {"matrix": [3, 11], "x": 165, "y": 45, "flags": 4}, - {"matrix": [3, 13], "x": 185, "y": 45, "flags": 1}, - {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 60, "flags": 1}, - {"matrix": [4, 1], "x": 20, "y": 60, "flags": 1}, - {"matrix": [4, 2], "x": 39, "y": 60, "flags": 1}, - {"matrix": [4, 6], "x": 94, "y": 60, "flags": 4}, - {"matrix": [4, 10], "x": 147, "y": 60, "flags": 1}, - {"matrix": [4, 11], "x": 162, "y": 60, "flags": 1}, - {"matrix": [4, 12], "x": 176, "y": 60, "flags": 1}, - {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1}, - {"matrix": [2, 12], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_67": { "layout": [ diff --git a/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c index ea92662c59..6203483285 100644 --- a/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c @@ -99,4 +99,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA15, CB4_CA15, CB5_CA15}, {1, CB6_CA16, CB4_CA16, CB5_CA16}, }; + +#define __ NO_LED + +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, 65, 42, 43 }, + { 44, __, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, __, 55, 56 }, + { 57, 58, 59, __, __, __, 60, __, __, __, 61, 62, 63, 64, 66 } + }, + { + // LED Index to Physical Position + {0,0}, {15,0}, {29,0}, {44,0}, {59,0}, {73,0}, {88,0}, {103,0}, {118,0}, {132,0}, {147,0}, {162,0}, {176,0}, {198,0}, {224,0}, // {244,-4} + {4,15}, {22,15}, {37,15}, {51,15}, {66,15}, {81,15}, {95,15}, {110,15}, {125,15}, {140,15}, {154,15}, {169,15}, {184,15}, {202,15}, {224,15}, + {6,30}, {26,30}, {40,30}, {55,30}, {70,30}, {84,30}, {99,30}, {114,30}, {129,30}, {143,30}, {158,30}, {173,30}, {196,30}, {224,30}, + {9,45}, {33,45}, {48,45}, {62,45}, {77,45}, {92,45}, {106,45}, {121,45}, {136,45}, {151,45}, {165,45}, {185,45}, {209,49}, + {2,60}, {20,60}, {39,60}, {94,60}, {147,60}, {162,60}, {176,60}, {195,64}, {209,64}, {224,64} + }, + { + // RGB LED Index to Flag + 1, 4, 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, 4, 4, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v2/ansi_encoder/keyboard.json b/keyboards/keychron/v2/ansi_encoder/keyboard.json index 42b6814781..6752d14b15 100644 --- a/keyboards/keychron/v2/ansi_encoder/keyboard.json +++ b/keyboards/keychron/v2/ansi_encoder/keyboard.json @@ -29,77 +29,6 @@ }, "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 44, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 59, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 73, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 88, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 103, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 118, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 147, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 162, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 22, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 37, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 51, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 81, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 95, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 110, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 140, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 154, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 169, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 184, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 202, "y": 15, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 30, "flags": 8}, - {"matrix": [2, 1], "x": 26, "y": 30, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 30, "flags": 4}, - {"matrix": [2, 3], "x": 55, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 70, "y": 30, "flags": 4}, - {"matrix": [2, 5], "x": 84, "y": 30, "flags": 4}, - {"matrix": [2, 6], "x": 99, "y": 30, "flags": 4}, - {"matrix": [2, 7], "x": 114, "y": 30, "flags": 4}, - {"matrix": [2, 8], "x": 129, "y": 30, "flags": 4}, - {"matrix": [2, 9], "x": 143, "y": 30, "flags": 4}, - {"matrix": [2, 10], "x": 158, "y": 30, "flags": 4}, - {"matrix": [2, 11], "x": 173, "y": 30, "flags": 4}, - {"matrix": [2, 13], "x": 196, "y": 30, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 30, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 45, "flags": 1}, - {"matrix": [3, 2], "x": 33, "y": 45, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 45, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 45, "flags": 4}, - {"matrix": [3, 5], "x": 77, "y": 45, "flags": 4}, - {"matrix": [3, 6], "x": 92, "y": 45, "flags": 4}, - {"matrix": [3, 7], "x": 106, "y": 45, "flags": 4}, - {"matrix": [3, 8], "x": 121, "y": 45, "flags": 4}, - {"matrix": [3, 9], "x": 136, "y": 45, "flags": 4}, - {"matrix": [3, 10], "x": 151, "y": 45, "flags": 4}, - {"matrix": [3, 11], "x": 165, "y": 45, "flags": 4}, - {"matrix": [3, 13], "x": 185, "y": 45, "flags": 1}, - {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 60, "flags": 1}, - {"matrix": [4, 1], "x": 20, "y": 60, "flags": 1}, - {"matrix": [4, 2], "x": 39, "y": 60, "flags": 1}, - {"matrix": [4, 6], "x": 94, "y": 60, "flags": 4}, - {"matrix": [4, 10], "x": 147, "y": 60, "flags": 1}, - {"matrix": [4, 11], "x": 162, "y": 60, "flags": 1}, - {"matrix": [4, 12], "x": 176, "y": 60, "flags": 1}, - {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1}, - {"matrix": [2, 12], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_67": { "layout": [ diff --git a/keyboards/keychron/v2/iso/iso.c b/keyboards/keychron/v2/iso/iso.c index b5a5193892..aca0879838 100644 --- a/keyboards/keychron/v2/iso/iso.c +++ b/keyboards/keychron/v2/iso/iso.c @@ -100,4 +100,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA15, CB4_CA15, CB5_CA15}, {1, CB6_CA16, CB4_CA16, CB5_CA16} }; + +#define __ NO_LED + +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, 42, 28 }, + { 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 66, 41, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, __, 56, 57 }, + { 58, 59, 60, __, __, __, 61, __, __, __, 62, 63, 64, 65, 67 } + }, + { + // LED Index to Physical Position + {0,0}, {15,0}, {29,0}, {44,0}, {59,0}, {73,0}, {88,0}, {103,0}, {118,0}, {132,0}, {147,0}, {162,0}, {176,0}, {198,0}, {224,0}, + {4,15}, {22,15}, {37,15}, {51,15}, {66,15}, {81,15}, {95,15}, {110,15}, {125,15}, {140,15}, {154,15}, {169,15}, {184,15}, {224,15}, + {6,30}, {26,30}, {40,30}, {55,30}, {70,30}, {84,30}, {99,30}, {114,30}, {129,30}, {143,30}, {158,30}, {173,30}, {187,30}, {204,23}, {224,30}, + {2,45}, {18,45}, {33,45}, {48,45}, {62,45}, {77,45}, {92,45}, {106,45}, {121,45}, {136,45}, {151,45}, {165,45}, {185,45}, {209,49}, + {2,60}, {20,60}, {39,60}, {94,60}, {147,60}, {162,60}, {176,60}, {195,64}, {209,64}, {224,64} + }, + { + // RGB LED Index to Flag + 1, 4, 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, 4, 1, + 8, 4, 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, 1, 1, 4, 1, 1, 1, 1, 1, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v2/iso/keyboard.json b/keyboards/keychron/v2/iso/keyboard.json index f430c50270..89bdb51a65 100644 --- a/keyboards/keychron/v2/iso/keyboard.json +++ b/keyboards/keychron/v2/iso/keyboard.json @@ -23,78 +23,6 @@ "diode_direction": "ROW2COL", "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 44, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 59, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 73, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 88, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 103, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 118, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 147, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 162, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 22, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 37, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 51, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 81, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 95, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 110, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 140, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 154, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 169, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 184, "y": 15, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 30, "flags": 8}, - {"matrix": [2, 1], "x": 26, "y": 30, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 30, "flags": 4}, - {"matrix": [2, 3], "x": 55, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 70, "y": 30, "flags": 4}, - {"matrix": [2, 5], "x": 84, "y": 30, "flags": 4}, - {"matrix": [2, 6], "x": 99, "y": 30, "flags": 4}, - {"matrix": [2, 7], "x": 114, "y": 30, "flags": 4}, - {"matrix": [2, 8], "x": 129, "y": 30, "flags": 4}, - {"matrix": [2, 9], "x": 143, "y": 30, "flags": 4}, - {"matrix": [2, 10], "x": 158, "y": 30, "flags": 4}, - {"matrix": [2, 11], "x": 173, "y": 30, "flags": 4}, - {"matrix": [2, 13], "x": 187, "y": 30, "flags": 4}, - {"matrix": [1, 13], "x": 204, "y": 23, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 30, "flags": 1}, - {"matrix": [3, 0], "x": 2, "y": 45, "flags": 1}, - {"matrix": [3, 1], "x": 18, "y": 45, "flags": 4}, - {"matrix": [3, 2], "x": 33, "y": 45, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 45, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 45, "flags": 4}, - {"matrix": [3, 5], "x": 77, "y": 45, "flags": 4}, - {"matrix": [3, 6], "x": 92, "y": 45, "flags": 4}, - {"matrix": [3, 7], "x": 106, "y": 45, "flags": 4}, - {"matrix": [3, 8], "x": 121, "y": 45, "flags": 4}, - {"matrix": [3, 9], "x": 136, "y": 45, "flags": 4}, - {"matrix": [3, 10], "x": 151, "y": 45, "flags": 4}, - {"matrix": [3, 11], "x": 165, "y": 45, "flags": 4}, - {"matrix": [3, 13], "x": 185, "y": 45, "flags": 1}, - {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 60, "flags": 1}, - {"matrix": [4, 1], "x": 20, "y": 60, "flags": 1}, - {"matrix": [4, 2], "x": 39, "y": 60, "flags": 1}, - {"matrix": [4, 6], "x": 94, "y": 60, "flags": 4}, - {"matrix": [4, 10], "x": 147, "y": 60, "flags": 1}, - {"matrix": [4, 11], "x": 162, "y": 60, "flags": 1}, - {"matrix": [4, 12], "x": 176, "y": 60, "flags": 1}, - {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1}, - {"matrix": [2, 12], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_68": { "layout": [ diff --git a/keyboards/keychron/v2/iso_encoder/iso_encoder.c b/keyboards/keychron/v2/iso_encoder/iso_encoder.c index 5911f9d9c1..aca0879838 100644 --- a/keyboards/keychron/v2/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v2/iso_encoder/iso_encoder.c @@ -101,4 +101,33 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA16, CB4_CA16, CB5_CA16} }; +#define __ NO_LED + +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, 42, 28 }, + { 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 66, 41, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, __, 56, 57 }, + { 58, 59, 60, __, __, __, 61, __, __, __, 62, 63, 64, 65, 67 } + }, + { + // LED Index to Physical Position + {0,0}, {15,0}, {29,0}, {44,0}, {59,0}, {73,0}, {88,0}, {103,0}, {118,0}, {132,0}, {147,0}, {162,0}, {176,0}, {198,0}, {224,0}, + {4,15}, {22,15}, {37,15}, {51,15}, {66,15}, {81,15}, {95,15}, {110,15}, {125,15}, {140,15}, {154,15}, {169,15}, {184,15}, {224,15}, + {6,30}, {26,30}, {40,30}, {55,30}, {70,30}, {84,30}, {99,30}, {114,30}, {129,30}, {143,30}, {158,30}, {173,30}, {187,30}, {204,23}, {224,30}, + {2,45}, {18,45}, {33,45}, {48,45}, {62,45}, {77,45}, {92,45}, {106,45}, {121,45}, {136,45}, {151,45}, {165,45}, {185,45}, {209,49}, + {2,60}, {20,60}, {39,60}, {94,60}, {147,60}, {162,60}, {176,60}, {195,64}, {209,64}, {224,64} + }, + { + // RGB LED Index to Flag + 1, 4, 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, 4, 1, + 8, 4, 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, 1, 1, 4, 1, 1, 1, 1, 1, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v2/iso_encoder/keyboard.json b/keyboards/keychron/v2/iso_encoder/keyboard.json index 4dd36fdda4..89ce2714f1 100644 --- a/keyboards/keychron/v2/iso_encoder/keyboard.json +++ b/keyboards/keychron/v2/iso_encoder/keyboard.json @@ -29,78 +29,6 @@ }, "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 44, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 59, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 73, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 88, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 103, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 118, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 147, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 162, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 22, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 37, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 51, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 81, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 95, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 110, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 140, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 154, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 169, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 184, "y": 15, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 30, "flags": 8}, - {"matrix": [2, 1], "x": 26, "y": 30, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 30, "flags": 4}, - {"matrix": [2, 3], "x": 55, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 70, "y": 30, "flags": 4}, - {"matrix": [2, 5], "x": 84, "y": 30, "flags": 4}, - {"matrix": [2, 6], "x": 99, "y": 30, "flags": 4}, - {"matrix": [2, 7], "x": 114, "y": 30, "flags": 4}, - {"matrix": [2, 8], "x": 129, "y": 30, "flags": 4}, - {"matrix": [2, 9], "x": 143, "y": 30, "flags": 4}, - {"matrix": [2, 10], "x": 158, "y": 30, "flags": 4}, - {"matrix": [2, 11], "x": 173, "y": 30, "flags": 4}, - {"matrix": [2, 13], "x": 187, "y": 30, "flags": 4}, - {"matrix": [1, 13], "x": 204, "y": 23, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 30, "flags": 1}, - {"matrix": [3, 0], "x": 2, "y": 45, "flags": 1}, - {"matrix": [3, 1], "x": 18, "y": 45, "flags": 4}, - {"matrix": [3, 2], "x": 33, "y": 45, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 45, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 45, "flags": 4}, - {"matrix": [3, 5], "x": 77, "y": 45, "flags": 4}, - {"matrix": [3, 6], "x": 92, "y": 45, "flags": 4}, - {"matrix": [3, 7], "x": 106, "y": 45, "flags": 4}, - {"matrix": [3, 8], "x": 121, "y": 45, "flags": 4}, - {"matrix": [3, 9], "x": 136, "y": 45, "flags": 4}, - {"matrix": [3, 10], "x": 151, "y": 45, "flags": 4}, - {"matrix": [3, 11], "x": 165, "y": 45, "flags": 4}, - {"matrix": [3, 13], "x": 185, "y": 45, "flags": 1}, - {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 60, "flags": 1}, - {"matrix": [4, 1], "x": 20, "y": 60, "flags": 1}, - {"matrix": [4, 2], "x": 39, "y": 60, "flags": 1}, - {"matrix": [4, 6], "x": 94, "y": 60, "flags": 4}, - {"matrix": [4, 10], "x": 147, "y": 60, "flags": 1}, - {"matrix": [4, 11], "x": 162, "y": 60, "flags": 1}, - {"matrix": [4, 12], "x": 176, "y": 60, "flags": 1}, - {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1}, - {"matrix": [2, 12], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_68": { "layout": [ diff --git a/keyboards/keychron/v2/jis/jis.c b/keyboards/keychron/v2/jis/jis.c index 1664a5f703..1269d9b1e6 100644 --- a/keyboards/keychron/v2/jis/jis.c +++ b/keyboards/keychron/v2/jis/jis.c @@ -101,4 +101,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA15, CB4_CA15, CB5_CA15}, {1, CB6_CA16, CB4_CA16, CB5_CA16} }; + +#define __ NO_LED + +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, 15 }, + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 43, 29 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 69, 42, 44 }, + { 45, 14, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 }, + { 59, 60, 61, 62, __, __, 63, __, __, 64, 65, 66, 67, 68, 70 } + }, + { + // LED Index to Physical Position + {0,4}, {15,4}, {29,4}, {44,4}, {59,4}, {73,4}, {88,4}, {103,4}, {117,4}, {132,4}, {146,4}, {161,4}, {176,4}, {190,4}, {205,4}, {224,0}, + {4,19}, {22,19}, {37,19}, {51,19}, {66,19}, {81,19}, {95,19}, {110,19}, {125,19}, {139,19}, {154,19}, {168,19}, {183,19}, {224,19}, + {6,34}, {26,34}, {40,34}, {55,34}, {70,34}, {84,34}, {99,34}, {114,34}, {128,34}, {143,34}, {158,34}, {172,34}, {187,34}, {207,29}, {224,34}, + {9,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {150,49}, {165,49}, {179,49}, {194,49}, {209,49}, + {2,64}, {18,64}, {35,64}, {51,64}, {92,64}, {134,64}, {150,64}, {165,64}, {179,64}, {194,64}, {209,64}, {223,64}, + }, + { + // RGB LED Index to Flag + 1, 4, 4, 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, 4, 1, + 8, 4, 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, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v2/jis/keyboard.json b/keyboards/keychron/v2/jis/keyboard.json index 96b19c7372..01beaf31ac 100644 --- a/keyboards/keychron/v2/jis/keyboard.json +++ b/keyboards/keychron/v2/jis/keyboard.json @@ -23,81 +23,6 @@ "diode_direction": "ROW2COL", "processor": "STM32L432", "bootloader": "stm32-dfu", - "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, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 19, "flags": 1}, - {"matrix": [1, 1], "x": 22, "y": 19, "flags": 4}, - {"matrix": [1, 2], "x": 37, "y": 19, "flags": 4}, - {"matrix": [1, 3], "x": 51, "y": 19, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 19, "flags": 4}, - {"matrix": [1, 5], "x": 81, "y": 19, "flags": 4}, - {"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, 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, 14], "x": 224, "y": 19, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 34, "flags": 8}, - {"matrix": [2, 1], "x": 26, "y": 34, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 34, "flags": 4}, - {"matrix": [2, 3], "x": 55, "y": 34, "flags": 4}, - {"matrix": [2, 4], "x": 70, "y": 34, "flags": 4}, - {"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, 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, 13], "x": 187, "y": 34, "flags": 4}, - {"matrix": [1, 13], "x": 207, "y": 29, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 34, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 49, "flags": 1}, - {"matrix": [3, 2], "x": 33, "y": 49, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 49, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 49, "flags": 4}, - {"matrix": [3, 5], "x": 77, "y": 49, "flags": 4}, - {"matrix": [3, 6], "x": 92, "y": 49, "flags": 4}, - {"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": 165, "y": 49, "flags": 4}, - {"matrix": [3, 12], "x": 179, "y": 49, "flags": 4}, - {"matrix": [3, 13], "x": 194, "y": 49, "flags": 1}, - {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 35, "y": 64, "flags": 1}, - {"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, 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": [2, 12], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 223, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_jis_71": { "layout": [ diff --git a/keyboards/keychron/v2/jis_encoder/jis_encoder.c b/keyboards/keychron/v2/jis_encoder/jis_encoder.c index 1664a5f703..85aaf165f6 100644 --- a/keyboards/keychron/v2/jis_encoder/jis_encoder.c +++ b/keyboards/keychron/v2/jis_encoder/jis_encoder.c @@ -101,4 +101,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA15, CB4_CA15, CB5_CA15}, {1, CB6_CA16, CB4_CA16, CB5_CA16} }; + +#define __ NO_LED + +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, 15 }, + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 43, 29 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 69, 42, 44 }, + { 45, 14, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 }, + { 59, 60, 61, 62, __, __, 63, __, __, 64, 65, 66, 67, 68, 70 }, + }, + { + // LED Index to Physical Position + {0,4}, {15,4}, {29,4}, {44,4}, {59,4}, {73,4}, {88,4}, {103,4}, {117,4}, {132,4}, {146,4}, {161,4}, {176,4}, {190,4}, {205,4}, {224,0}, + {4,19}, {22,19}, {37,19}, {51,19}, {66,19}, {81,19}, {95,19}, {110,19}, {125,19}, {139,19}, {154,19}, {168,19}, {183,19}, {224,19}, + {6,34}, {26,34}, {40,34}, {55,34}, {70,34}, {84,34}, {99,34}, {114,34}, {128,34}, {143,34}, {158,34}, {172,34}, {187,34}, {207,29}, {224,34}, + {9,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {150,49}, {165,49}, {179,49}, {194,49}, {209,49}, + {2,64}, {18,64}, {35,64}, {51,64}, {92,64}, {134,64}, {150,64}, {165,64}, {179,64}, {194,64}, {209,64}, {223,64}, + }, + { + // RGB LED Index to Flag + 1, 4, 4, 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, 4, 1, + 8, 4, 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, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v2/jis_encoder/keyboard.json b/keyboards/keychron/v2/jis_encoder/keyboard.json index 105b5b6724..d8a540953c 100644 --- a/keyboards/keychron/v2/jis_encoder/keyboard.json +++ b/keyboards/keychron/v2/jis_encoder/keyboard.json @@ -29,81 +29,6 @@ }, "processor": "STM32L432", "bootloader": "stm32-dfu", - "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, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 19, "flags": 1}, - {"matrix": [1, 1], "x": 22, "y": 19, "flags": 4}, - {"matrix": [1, 2], "x": 37, "y": 19, "flags": 4}, - {"matrix": [1, 3], "x": 51, "y": 19, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 19, "flags": 4}, - {"matrix": [1, 5], "x": 81, "y": 19, "flags": 4}, - {"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, 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, 14], "x": 224, "y": 19, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 34, "flags": 8}, - {"matrix": [2, 1], "x": 26, "y": 34, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 34, "flags": 4}, - {"matrix": [2, 3], "x": 55, "y": 34, "flags": 4}, - {"matrix": [2, 4], "x": 70, "y": 34, "flags": 4}, - {"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, 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, 13], "x": 187, "y": 34, "flags": 4}, - {"matrix": [1, 13], "x": 207, "y": 29, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 34, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 49, "flags": 1}, - {"matrix": [3, 2], "x": 33, "y": 49, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 49, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 49, "flags": 4}, - {"matrix": [3, 5], "x": 77, "y": 49, "flags": 4}, - {"matrix": [3, 6], "x": 92, "y": 49, "flags": 4}, - {"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": 165, "y": 49, "flags": 4}, - {"matrix": [3, 12], "x": 179, "y": 49, "flags": 4}, - {"matrix": [3, 13], "x": 194, "y": 49, "flags": 1}, - {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 35, "y": 64, "flags": 1}, - {"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, 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": [2, 12], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 223, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_jis_71": { "layout": [ diff --git a/keyboards/keychron/v2/v2.c b/keyboards/keychron/v2/v2.c index 2427d580a8..127af0ed6d 100644 --- a/keyboards/keychron/v2/v2.c +++ b/keyboards/keychron/v2/v2.c @@ -29,6 +29,31 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #endif // DIP_SWITCH_ENABLE #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } diff --git a/keyboards/keychron/v3/ansi/ansi.c b/keyboards/keychron/v3/ansi/ansi.c index 6f35f14a9a..7c47678619 100644 --- a/keyboards/keychron/v3/ansi/ansi.c +++ b/keyboards/keychron/v3/ansi/ansi.c @@ -118,4 +118,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA16, CB4_CA16, CB5_CA16}, {1, CB3_CA15, CB1_CA15, CB2_CA15}, }; + +#define __ NO_LED + +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 }, + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }, + { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 }, + { 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 49, 62, 15, 32 }, + { 63, __, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, __, 74, 86, 75 }, + { 76, 77, 78, __, __, __, 79, __, __, __, 80, 81, 82, 83, 84, 85 }, + }, + { + // LED Index to Physical Position + {0,0}, {26,0}, {39,0}, {52,0}, {65,0}, {85,0}, {98,0}, {111,0}, {124,0}, {143,0}, {156,0}, {169,0}, {182,0}, {198,0}, {211,0}, {224,0}, + {0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15}, + {3,28}, {20,28}, {33,28}, {46,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {179,28}, {198,28}, {211,28}, {224,28}, + {5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {174,40}, + {8,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52}, + {2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64}, + }, + { + // RGB LED Index to Flag + 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, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v3/ansi/keyboard.json b/keyboards/keychron/v3/ansi/keyboard.json index 59a94564d1..d388456227 100644 --- a/keyboards/keychron/v3/ansi/keyboard.json +++ b/keyboards/keychron/v3/ansi/keyboard.json @@ -18,97 +18,6 @@ }, "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 26, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 39, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 65, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 85, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 98, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 111, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 124, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 156, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 182, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 13, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 156, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 176, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 211, "y": 15, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 3, "y": 28, "flags": 1}, - {"matrix": [2, 1], "x": 20, "y": 28, "flags": 4}, - {"matrix": [2, 2], "x": 33, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 46, "y": 28, "flags": 4}, - {"matrix": [2, 4], "x": 59, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 28, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 28, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 28, "flags": 4}, - {"matrix": [2, 8], "x": 111, "y": 28, "flags": 4}, - {"matrix": [2, 9], "x": 124, "y": 28, "flags": 4}, - {"matrix": [2, 10], "x": 137, "y": 28, "flags": 4}, - {"matrix": [2, 11], "x": 150, "y": 28, "flags": 4}, - {"matrix": [2, 12], "x": 163, "y": 28, "flags": 4}, - {"matrix": [2, 13], "x": 179, "y": 28, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 28, "flags": 1}, - {"matrix": [2, 15], "x": 211, "y": 28, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 28, "flags": 1}, - {"matrix": [3, 0], "x": 5, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 23, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 153, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 174, "y": 40, "flags": 1}, - {"matrix": [4, 0], "x": 8, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 133, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 146, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 171, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 34, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 83, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 148, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 164, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_tkl_ansi": { "layout": [ diff --git a/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c index d80b9990c4..d85708937a 100644 --- a/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c @@ -119,4 +119,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA16, CB4_CA16, CB5_CA16}, {1, CB3_CA15, CB1_CA15, CB2_CA15}, }; + +#define __ NO_LED + +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 }, + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }, + { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 }, + { 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 49, 62, 15, 32 }, + { 63, __, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, __, 74, 86, 75 }, + { 76, 77, 78, __, __, __, 79, __, __, __, 80, 81, 82, 83, 84, 85 }, + }, + { + // LED Index to Physical Position + {0,0}, {16,0}, {29,0}, {42,0}, {55,0}, {71,0}, {84,0}, {97,0}, {110,0}, {126,0}, {139,0}, {152,0}, {165,0}, {198,0}, {211,0}, {224,0}, + {0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15}, + {3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {179,28}, {198,28}, {211,28}, {224,28}, + {5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {174,40}, + {8,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52}, + {2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64}, + }, + { + // RGB LED Index to Flag + 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, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v3/ansi_encoder/keyboard.json b/keyboards/keychron/v3/ansi_encoder/keyboard.json index 47f5bff0aa..5134b47d7e 100644 --- a/keyboards/keychron/v3/ansi_encoder/keyboard.json +++ b/keyboards/keychron/v3/ansi_encoder/keyboard.json @@ -24,97 +24,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 29, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 55, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 71, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 97, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 126, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 139, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 152, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 165, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 13, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 156, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 176, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 211, "y": 15, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 3, "y": 28, "flags": 1}, - {"matrix": [2, 1], "x": 19, "y": 28, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 28, "flags": 4}, - {"matrix": [2, 4], "x": 59, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 28, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 28, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 28, "flags": 4}, - {"matrix": [2, 8], "x": 111, "y": 28, "flags": 4}, - {"matrix": [2, 9], "x": 124, "y": 28, "flags": 4}, - {"matrix": [2, 10], "x": 137, "y": 28, "flags": 4}, - {"matrix": [2, 11], "x": 150, "y": 28, "flags": 4}, - {"matrix": [2, 12], "x": 163, "y": 28, "flags": 4}, - {"matrix": [2, 13], "x": 179, "y": 28, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 28, "flags": 1}, - {"matrix": [2, 15], "x": 211, "y": 28, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 28, "flags": 1}, - {"matrix": [3, 0], "x": 5, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 23, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 153, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 174, "y": 40, "flags": 1}, - {"matrix": [4, 0], "x": 8, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 133, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 146, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 171, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 34, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 83, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 148, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 164, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_tkl_f13_ansi": { "layout": [ diff --git a/keyboards/keychron/v3/iso/iso.c b/keyboards/keychron/v3/iso/iso.c index f8d8e22e10..83798392c6 100644 --- a/keyboards/keychron/v3/iso/iso.c +++ b/keyboards/keychron/v3/iso/iso.c @@ -119,4 +119,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA16, CB4_CA16, CB5_CA16}, {1, CB3_CA15, CB1_CA15, CB2_CA15}, }; + +#define __ NO_LED + +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 }, + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }, + { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 62, 46, 47 }, + { 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 48, 61, 15, 32 }, + { 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, __, 75, 87, 76 }, + { 77, 78, 79, __, __, __, 80, __, __, __, 81, 82, 83, 84, 85, 86 }, + }, + { + // LED Index to Physical Position + {0,0}, {26,0}, {39,0}, {52,0}, {65,0}, {84,0}, {97,0}, {111,0}, {124,0}, {143,0}, {156,0}, {169,0}, {182,0}, {198,0}, {211,0}, {224,0}, + {0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15}, + {3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {198,28}, {211,28}, {224,28}, + {5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {166,40}, {183,36}, + {2,52}, {16,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52}, + {2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64}, + }, + { + // RGB LED Index to Flag + 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, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 8, 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, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v3/iso/keyboard.json b/keyboards/keychron/v3/iso/keyboard.json index 6bae7e1e7e..40a8139ccc 100644 --- a/keyboards/keychron/v3/iso/keyboard.json +++ b/keyboards/keychron/v3/iso/keyboard.json @@ -19,98 +19,6 @@ }, "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 26, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 39, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 65, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 84, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 97, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 111, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 124, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 156, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 182, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 13, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 156, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 176, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 211, "y": 15, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 3, "y": 28, "flags": 1}, - {"matrix": [2, 1], "x": 19, "y": 28, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 28, "flags": 4}, - {"matrix": [2, 4], "x": 59, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 28, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 28, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 28, "flags": 4}, - {"matrix": [2, 8], "x": 111, "y": 28, "flags": 4}, - {"matrix": [2, 9], "x": 124, "y": 28, "flags": 4}, - {"matrix": [2, 10], "x": 137, "y": 28, "flags": 4}, - {"matrix": [2, 11], "x": 150, "y": 28, "flags": 4}, - {"matrix": [2, 12], "x": 163, "y": 28, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 28, "flags": 1}, - {"matrix": [2, 15], "x": 211, "y": 28, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 28, "flags": 1}, - {"matrix": [3, 0], "x": 5, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 23, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 153, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 166, "y": 40, "flags": 4}, - {"matrix": [2, 13], "x": 183, "y": 36, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 52, "flags": 1}, - {"matrix": [4, 1], "x": 16, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 133, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 146, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 171, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 34, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 83, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 148, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 164, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_tkl_iso": { "layout": [ diff --git a/keyboards/keychron/v3/iso_encoder/iso_encoder.c b/keyboards/keychron/v3/iso_encoder/iso_encoder.c index f8d8e22e10..ef0567dbe1 100644 --- a/keyboards/keychron/v3/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v3/iso_encoder/iso_encoder.c @@ -119,4 +119,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA16, CB4_CA16, CB5_CA16}, {1, CB3_CA15, CB1_CA15, CB2_CA15}, }; + +#define __ NO_LED + +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 }, + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }, + { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 62, 46, 47 }, + { 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 48, 61, 15, 32 }, + { 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, __, 75, 87, 76 }, + { 77, 78, 79, __, __, __, 80, __, __, __, 81, 82, 83, 84, 85, 86 }, + }, + { + // LED Index to Physical Position + {0,0}, {16,0}, {29,0}, {42,0}, {55,0}, {71,0}, {84,0}, {97,0}, {110,0}, {126,0}, {139,0}, {152,0}, {165,0}, {198,0}, {211,0}, {224,0}, + {0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15}, + {3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {198,28}, {211,28}, {224,28}, + {5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {166,40}, {183,36}, + {2,52}, {16,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52}, + {2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64}, + }, + { + // RGB LED Index to Flag + 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, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 8, 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, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v3/iso_encoder/keyboard.json b/keyboards/keychron/v3/iso_encoder/keyboard.json index 6f039c0dff..8b4f0a9d00 100644 --- a/keyboards/keychron/v3/iso_encoder/keyboard.json +++ b/keyboards/keychron/v3/iso_encoder/keyboard.json @@ -24,98 +24,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 29, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 55, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 71, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 97, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 126, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 139, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 152, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 165, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 13, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 156, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 176, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 211, "y": 15, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 3, "y": 28, "flags": 1}, - {"matrix": [2, 1], "x": 19, "y": 28, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 28, "flags": 4}, - {"matrix": [2, 4], "x": 59, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 28, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 28, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 28, "flags": 4}, - {"matrix": [2, 8], "x": 111, "y": 28, "flags": 4}, - {"matrix": [2, 9], "x": 124, "y": 28, "flags": 4}, - {"matrix": [2, 10], "x": 137, "y": 28, "flags": 4}, - {"matrix": [2, 11], "x": 150, "y": 28, "flags": 4}, - {"matrix": [2, 12], "x": 163, "y": 28, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 28, "flags": 1}, - {"matrix": [2, 15], "x": 211, "y": 28, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 28, "flags": 1}, - {"matrix": [3, 0], "x": 5, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 23, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 153, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 166, "y": 40, "flags": 4}, - {"matrix": [2, 13], "x": 183, "y": 36, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 52, "flags": 1}, - {"matrix": [4, 1], "x": 16, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 133, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 146, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 171, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 34, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 83, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 148, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 164, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_tkl_f13_iso": { "layout": [ diff --git a/keyboards/keychron/v3/jis/jis.c b/keyboards/keychron/v3/jis/jis.c index cec71b83d5..c04827dc5d 100644 --- a/keyboards/keychron/v3/jis/jis.c +++ b/keyboards/keychron/v3/jis/jis.c @@ -122,4 +122,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA16, CB4_CA16, CB5_CA16}, // Down {1, CB3_CA15, CB1_CA15, CB2_CA15}, // Right }; + +# define __ NO_LED + +led_config_t g_led_config = { + { + // Key Matrix to LED Index + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 30, 13, 14 }, + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32 }, + { 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 63, 47, 48 }, + { 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 49, 62, 15, 33 }, + { 64, __, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 90, 77 }, + { 78, 79, 80, 81, __, __, 82, __, __, 83, 84, 85, 86, 87, 88, 89 }, + }, + { + // LED Index to Physical Position + {0,0}, {26,0}, {39,0}, {52,0}, {65,0}, {84,0}, {97,0}, {111,0}, {124,0}, {143,0}, {156,0}, {169,0}, {182,0}, {198,0}, {211,0}, {224,0}, + {0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {182,15}, {169,15}, {198,15}, {211,15}, {224,15}, + {3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {198,28}, {211,28}, {224,28}, + {5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {166,40}, {183,36}, + {8,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {159,52}, {177,52}, {211,52}, + {2,64}, {16,64}, {31,64}, {45,64}, {81,64}, {119,64}, {135,64}, {151,64}, {166,64}, {180,64}, {198,64}, {211,64}, {224,64} + }, + { + // RGB LED Index to Flag + 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, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 8, 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, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // GB_MATRIX_ENABLE diff --git a/keyboards/keychron/v3/jis/keyboard.json b/keyboards/keychron/v3/jis/keyboard.json index 526a2e9e27..0bc3a43d0e 100644 --- a/keyboards/keychron/v3/jis/keyboard.json +++ b/keyboards/keychron/v3/jis/keyboard.json @@ -18,101 +18,6 @@ }, "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 26, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 39, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 65, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 84, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 97, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 111, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 124, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 156, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 182, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 13, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 156, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 182, "y": 15, "flags": 4}, - {"matrix": [0, 13], "x": 169, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 211, "y": 15, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 3, "y": 28, "flags": 1}, - {"matrix": [2, 1], "x": 19, "y": 28, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 28, "flags": 4}, - {"matrix": [2, 4], "x": 59, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 28, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 28, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 28, "flags": 4}, - {"matrix": [2, 8], "x": 111, "y": 28, "flags": 4}, - {"matrix": [2, 9], "x": 124, "y": 28, "flags": 4}, - {"matrix": [2, 10], "x": 137, "y": 28, "flags": 4}, - {"matrix": [2, 11], "x": 150, "y": 28, "flags": 4}, - {"matrix": [2, 12], "x": 163, "y": 28, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 28, "flags": 1}, - {"matrix": [2, 15], "x": 211, "y": 28, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 28, "flags": 1}, - {"matrix": [3, 0], "x": 5, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 23, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 153, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 166, "y": 40, "flags": 4}, - {"matrix": [2, 13], "x": 183, "y": 36, "flags": 1}, - {"matrix": [4, 0], "x": 8, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 133, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 146, "y": 52, "flags": 4}, - {"matrix": [4, 12], "x": 159, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 177, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 16, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 31, "y": 64, "flags": 1}, - {"matrix": [5, 3], "x": 45, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 81, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 119, "y": 64, "flags": 1}, - {"matrix": [5, 10], "x": 135, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 151, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 166, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_jis_91": { "layout": [ diff --git a/keyboards/keychron/v3/jis_encoder/jis_encoder.c b/keyboards/keychron/v3/jis_encoder/jis_encoder.c index 6e5b99e1c7..bf2018d86f 100644 --- a/keyboards/keychron/v3/jis_encoder/jis_encoder.c +++ b/keyboards/keychron/v3/jis_encoder/jis_encoder.c @@ -123,4 +123,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA16, CB4_CA16, CB5_CA16}, // Down {1, CB3_CA15, CB1_CA15, CB2_CA15}, // Right }; + +# define __ NO_LED + +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 }, + { 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33 }, + { 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 64, 48, 49 }, + { 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 50, 63, 16, 34 }, + { 65, __, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 91, 78 }, + { 79, 80, 81, 82, __, 31, 83, __, __, 84, 85, 86, 87, 88, 89, 90 }, + }, + { + // LED Index to Physical Position + {0,0}, {16,0}, {29,0}, {42,0}, {55,0}, {71,0}, {84,0}, {97,0}, {110,0}, {126,0}, {139,0}, {152,0}, {165,0}, {182,0}, {198,0}, {211,0}, {224,0}, + {0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {169,15}, {182,15}, {198,15}, {211,15}, {224,15}, + {3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {198,28}, {211,28}, {224,28}, + {5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {166,40}, {183,36}, + {8,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {159,52}, {177,52}, {211,52}, + {2,64}, {16,64}, {31,64}, {45,64}, {81,64}, {119,64}, {135,64}, {151,64}, {166,64}, {180,64}, {198,64}, {211,64}, {224,64}, + }, + { + // RGB LED Index to Flag + 1, 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, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 8, 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, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v3/jis_encoder/keyboard.json b/keyboards/keychron/v3/jis_encoder/keyboard.json index 20613e7672..ab9d6ab2a7 100644 --- a/keyboards/keychron/v3/jis_encoder/keyboard.json +++ b/keyboards/keychron/v3/jis_encoder/keyboard.json @@ -24,102 +24,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 29, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 55, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 71, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 97, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 126, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 139, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 152, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 165, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 182, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 13, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 156, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 169, "y": 15, "flags": 4}, - {"matrix": [5, 5], "x": 182, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 211, "y": 15, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 3, "y": 28, "flags": 1}, - {"matrix": [2, 1], "x": 19, "y": 28, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 28, "flags": 4}, - {"matrix": [2, 4], "x": 59, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 28, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 28, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 28, "flags": 4}, - {"matrix": [2, 8], "x": 111, "y": 28, "flags": 4}, - {"matrix": [2, 9], "x": 124, "y": 28, "flags": 4}, - {"matrix": [2, 10], "x": 137, "y": 28, "flags": 4}, - {"matrix": [2, 11], "x": 150, "y": 28, "flags": 4}, - {"matrix": [2, 12], "x": 163, "y": 28, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 28, "flags": 1}, - {"matrix": [2, 15], "x": 211, "y": 28, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 28, "flags": 1}, - {"matrix": [3, 0], "x": 5, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 23, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 153, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 166, "y": 40, "flags": 4}, - {"matrix": [2, 13], "x": 183, "y": 36, "flags": 1}, - {"matrix": [4, 0], "x": 8, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 133, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 146, "y": 52, "flags": 4}, - {"matrix": [4, 12], "x": 159, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 177, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 16, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 31, "y": 64, "flags": 1}, - {"matrix": [5, 3], "x": 45, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 81, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 119, "y": 64, "flags": 1}, - {"matrix": [5, 10], "x": 135, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 151, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 166, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_jis_92": { "layout": [ diff --git a/keyboards/keychron/v3/v3.c b/keyboards/keychron/v3/v3.c index e7562d4bff..f844ffe9d9 100644 --- a/keyboards/keychron/v3/v3.c +++ b/keyboards/keychron/v3/v3.c @@ -32,6 +32,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); diff --git a/keyboards/keychron/v4/ansi/ansi.c b/keyboards/keychron/v4/ansi/ansi.c index 4f184c7dd6..7368144c8d 100644 --- a/keyboards/keychron/v4/ansi/ansi.c +++ b/keyboards/keychron/v4/ansi/ansi.c @@ -93,4 +93,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {0, CB3_CA15, CB1_CA15, CB2_CA15}, {0, CB3_CA16, CB1_CA16, CB2_CA16}, }; + +#define __ NO_LED + +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 }, + }, + { + // LED Index to Physical Position + {0,0}, {16,0}, {32,0}, {48,0}, {64,0}, {81,0}, {97,0}, {113,0}, {129,0}, {145,0}, {161,0}, {177,0}, {193,0}, {218,0}, + {4,16}, {24,16}, {40,16}, {56,16}, {73,16}, {89,16}, {105,16}, {121,16}, {137,16}, {153,16}, {169,16}, {185,16}, {202,16}, {222,16}, + {6,32}, {28,32}, {44,32}, {60,32}, {77,32}, {93,32}, {109,32}, {125,32}, {141,32}, {157,32}, {173,32}, {189,32}, {216,32}, + {10,48}, {36,48}, {52,48}, {69,48}, {85,48}, {101,48}, {117,48}, {133,48}, {149,48}, {165,48}, {181,48}, {212,48}, + {2,64}, {22,64}, {42,64}, {103,64}, {164,64}, {184,64}, {204,64}, {224,64}, + }, + { + // RGB LED Index to Flag + 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, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v4/ansi/keyboard.json b/keyboards/keychron/v4/ansi/keyboard.json index b80d9d8e25..7184e32f27 100644 --- a/keyboards/keychron/v4/ansi/keyboard.json +++ b/keyboards/keychron/v4/ansi/keyboard.json @@ -23,71 +23,6 @@ "diode_direction": "ROW2COL", "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "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": 81, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 97, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 113, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 129, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 145, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 161, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 177, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 193, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 218, "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": 73, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 89, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 105, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 121, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 137, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 153, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 169, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 185, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 202, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 222, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 8}, - {"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": 77, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 93, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 109, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 125, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 141, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 157, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 173, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 189, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 216, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 69, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 85, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 101, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 117, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 133, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 149, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 165, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 181, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 212, "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, 6], "x": 103, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 164, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 184, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 204, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1} - ] - }, "layout_aliases": { "LAYOUT_ansi_61": "LAYOUT_60_ansi" }, diff --git a/keyboards/keychron/v4/iso/iso.c b/keyboards/keychron/v4/iso/iso.c index ccea440a47..dc6a0f44d0 100644 --- a/keyboards/keychron/v4/iso/iso.c +++ b/keyboards/keychron/v4/iso/iso.c @@ -94,4 +94,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {0, CB3_CA15, CB1_CA15, CB2_CA15}, {0, CB3_CA16, CB1_CA16, CB2_CA16}, }; + +#define __ NO_LED + +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, 40 }, + { 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, __, 39 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, __, 53 }, + { 54, 55, 56, __, __, __, 57, __, __, __, 58, 59, 60, 61 }, + }, + { + // LED Index to Physical Position + {0, 0}, {16, 0}, {32, 0}, {48, 0}, {64, 0}, {81, 0}, { 97, 0}, {113, 0}, {129, 0}, {145, 0}, {161, 0}, {177, 0}, {193, 0}, {218, 0}, + {4,16}, {24,16}, {40,16}, {56,16}, {73,16}, {89,16}, {105,16}, {121,16}, {137,16}, {153,16}, {169,16}, {185,16}, {202,16}, + {6,32}, {28,32}, {44,32}, {60,32}, {77,32}, {93,32}, {109,32}, {125,32}, {141,32}, {157,32}, {173,32}, {189,32}, {206,32}, {224,24}, + {2,48}, {20,48}, {36,48}, {52,48}, {69,48}, {85,48}, {101,48}, {117,48}, {133,48}, {149,48}, {165,48}, {181,48}, {212,48}, + {2,64}, {22,64}, {42,64}, {103,64}, {164,64}, {184,64}, {204,64}, {224,64}, + }, + { + // RGB LED Index to Flag + 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, + 8, 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, 1, 4, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v4/iso/keyboard.json b/keyboards/keychron/v4/iso/keyboard.json index 0aa111a858..8077844652 100644 --- a/keyboards/keychron/v4/iso/keyboard.json +++ b/keyboards/keychron/v4/iso/keyboard.json @@ -23,72 +23,6 @@ "diode_direction": "ROW2COL", "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "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": 81, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 97, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 113, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 129, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 145, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 161, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 177, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 193, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 218, "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": 73, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 89, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 105, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 121, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 137, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 153, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 169, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 185, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 202, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 8}, - {"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": 77, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 93, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 109, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 125, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 141, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 157, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 173, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 189, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 206, "y": 32, "flags": 4}, - {"matrix": [1, 13], "x": 224, "y": 24, "flags": 1}, - {"matrix": [3, 0], "x": 2, "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": 69, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 85, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 101, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 117, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 133, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 149, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 165, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 181, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 212, "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, 6], "x": 103, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 164, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 184, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 204, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1} - ] - }, "layout_aliases": { "LAYOUT_iso_62": "LAYOUT_60_iso" }, diff --git a/keyboards/keychron/v4/v4.c b/keyboards/keychron/v4/v4.c index 2427d580a8..a9ccdb81ba 100644 --- a/keyboards/keychron/v4/v4.c +++ b/keyboards/keychron/v4/v4.c @@ -30,6 +30,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); diff --git a/keyboards/keychron/v5/ansi/ansi.c b/keyboards/keychron/v5/ansi/ansi.c index 9e653f36d1..b38d5f508f 100644 --- a/keyboards/keychron/v5/ansi/ansi.c +++ b/keyboards/keychron/v5/ansi/ansi.c @@ -133,4 +133,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA2, CB10_CA2, CB11_CA2}, {1, CB12_CA7, CB10_CA7, CB11_CA7} }; + +#define __ NO_LED + +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 }, + { 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, __, 33, 34, 35 }, + { 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 70, 51, 52, 53 }, + { 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 18, 66, 36, 67, 68, 69 }, + { 71, __, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, __, 82, 83, 84, 85, 86 }, + { 87, 88, 89, __, __, 99, 90, __, __, __, 91, 92, 93, 94, 95, 96, 97, 98 } + }, + { + // LED Index to Physical Position + {0,0}, {12,0}, {24,0}, {36,0}, {48,0}, {60,0}, {72,0}, {84,0}, {97,0}, {109,0}, {121,0}, {133,0}, {145,0}, {157,0}, {169,0}, {188,0}, {200,0}, {212,0}, {224,0}, + {0,15}, {12,15}, {24,15}, {36,15}, {48,15}, {60,15}, {72,15}, {84,15}, {97,15}, {109,15}, {121,15}, {133,15}, {145,15}, {163,15}, {188,15}, {200,15}, {212,15}, {224,15}, + {3,26}, {18,26}, {30,26}, {42,26}, {54,26}, {66,26}, {78,26}, {91,26}, {103,26}, {115,26}, {127,26}, {139,26}, {151,26}, {166,26}, {188,26}, {200,26}, {212,26}, + {5,38}, {21,38}, {33,38}, {45,38}, {57,38}, {69,38}, {81,38}, {94,38}, {106,38}, {118,38}, {130,38}, {142,38}, {161,38}, {188,38}, {200,38}, {212,38}, {224,32}, + {8,49}, {27,49}, {39,49}, {51,49}, {63,49}, {75,49}, {88,49}, {100,49}, {112,49}, {124,49}, {136,49}, {152,49}, {172,52}, {188,49}, {200,49}, {212,49}, + {1,61}, {17,61}, {32,61}, {77,61}, {121,61}, {133,61}, {145,61}, {160,64}, {172,64}, {184,64}, {200,61}, {212,61}, {224,55}, + }, + { + // RGB LED Index to Flag + 1, 1, 1, 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, 1, 8, 4, 4, 4, + 1, 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, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v5/ansi/config.h b/keyboards/keychron/v5/ansi/config.h index c7c39ae367..ac52268497 100644 --- a/keyboards/keychron/v5/ansi/config.h +++ b/keyboards/keychron/v5/ansi/config.h @@ -18,6 +18,3 @@ /* Enable caps-lock LED */ #define CAPS_LOCK_LED_INDEX 54 - -/* Enable num-lock LED */ -#define NUM_LOCK_LED_INDEX 33 diff --git a/keyboards/keychron/v5/ansi/keyboard.json b/keyboards/keychron/v5/ansi/keyboard.json index 2bf3dfa745..b98302f336 100644 --- a/keyboards/keychron/v5/ansi/keyboard.json +++ b/keyboards/keychron/v5/ansi/keyboard.json @@ -18,110 +18,6 @@ "rgb_matrix": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 12, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 36, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 60, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 72, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 84, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 97, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 109, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 121, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 133, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 145, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 157, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 188, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 200, "y": 0, "flags": 1}, - {"matrix": [0, 17], "x": 212, "y": 0, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 12, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 24, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 36, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 48, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 60, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 72, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 84, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 97, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 109, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 121, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 133, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 145, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 163, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 188, "y": 15, "flags": 8}, - {"matrix": [1, 16], "x": 200, "y": 15, "flags": 4}, - {"matrix": [1, 17], "x": 212, "y": 15, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 26, "flags": 1}, - {"matrix": [2, 1], "x": 18, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 30, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 54, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 66, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 78, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 91, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 103, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 115, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 127, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 139, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 151, "y": 26, "flags": 4}, - {"matrix": [2, 13], "x": 166, "y": 26, "flags": 4}, - {"matrix": [2, 15], "x": 188, "y": 26, "flags": 4}, - {"matrix": [2, 16], "x": 200, "y": 26, "flags": 4}, - {"matrix": [2, 17], "x": 212, "y": 26, "flags": 4}, - {"matrix": [3, 0], "x": 5, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 21, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 33, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 57, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 69, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 81, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 94, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 106, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 118, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 130, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 142, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 161, "y": 38, "flags": 1}, - {"matrix": [3, 15], "x": 188, "y": 38, "flags": 4}, - {"matrix": [3, 16], "x": 200, "y": 38, "flags": 4}, - {"matrix": [3, 17], "x": 212, "y": 38, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [4, 0], "x": 8, "y": 49, "flags": 1}, - {"matrix": [4, 2], "x": 27, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 39, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 51, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 63, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 75, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 88, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 100, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 112, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 124, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 136, "y": 49, "flags": 4}, - {"matrix": [4, 13], "x": 152, "y": 49, "flags": 1}, - {"matrix": [4, 14], "x": 172, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 188, "y": 49, "flags": 4}, - {"matrix": [4, 16], "x": 200, "y": 49, "flags": 4}, - {"matrix": [4, 17], "x": 212, "y": 49, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 61, "flags": 1}, - {"matrix": [5, 1], "x": 17, "y": 61, "flags": 1}, - {"matrix": [5, 2], "x": 32, "y": 61, "flags": 1}, - {"matrix": [5, 6], "x": 77, "y": 61, "flags": 1}, - {"matrix": [5, 10], "x": 121, "y": 61, "flags": 1}, - {"matrix": [5, 11], "x": 133, "y": 61, "flags": 1}, - {"matrix": [5, 12], "x": 145, "y": 61, "flags": 1}, - {"matrix": [5, 13], "x": 160, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 172, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 184, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 200, "y": 61, "flags": 1}, - {"matrix": [5, 17], "x": 212, "y": 61, "flags": 1}, - {"matrix": [5, 5], "x": 224, "y": 55, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_100": { "layout": [ diff --git a/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c index e359d85545..bc68731d7d 100644 --- a/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c @@ -133,4 +133,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA2, CB10_CA2, CB11_CA2}, {1, CB12_CA7, CB10_CA7, CB11_CA7} }; + +#define __ NO_LED + +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 }, + { 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, __, 31, 32, 33 }, + { 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 68, 49, 50, 51 }, + { 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 16, 64, 34, 65, 66, 67 }, + { 69, __, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, __, 80, 81, 82, 83, 84 }, + { 85, 86, 87, __, __, 97, 88, __, __, __, 89, 90, 91, 92, 93, 94, 95, 96 } + }, + { + // LED Index to Physical Position + {0,0}, {24,0}, {36,0}, {48,0}, {60,0}, {78,0}, {90,0}, {103,0}, {115,0}, {133,0}, {145,0}, {157,0}, {169,0}, {184,0}, {196,0}, {208,0}, {224,0}, + {0,15}, {12,15}, {24,15}, {36,15}, {48,15}, {60,15}, {72,15}, {85,15}, {97,15}, {109,15}, {121,15}, {133,15}, {145,15}, {163,15}, {188,15}, {200,15}, {212,15}, {224,15}, + {3,26}, {18,26}, {30,26}, {42,26}, {54,26}, {66,26}, {78,26}, {91,26}, {103,26}, {115,26}, {127,26}, {139,26}, {151,26}, {166,26}, {188,26}, {200,26}, {212,26}, + {5,38}, {21,38}, {33,38}, {45,38}, {57,38}, {69,38}, {81,38}, {94,38}, {106,38}, {118,38}, {130,38}, {142,38}, {161,38}, {188,38}, {200,38}, {212,38}, {224,32}, + {8,49}, {27,49}, {39,49}, {51,49}, {63,49}, {75,49}, {88,49}, {100,49}, {112,49}, {124,49}, {136,49}, {152,49}, {172,52}, {188,49}, {200,49}, {212,49}, + {1,61}, {17,61}, {32,61}, {77,61}, {121,61}, {133,61}, {145,61}, {160,64}, {172,64}, {184,64}, {200,61}, {212,61}, {224,55}, + }, + { + // RGB LED Index to Flag + 1, 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, 1, 8, 4, 4, 4, + 1, 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, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 4, 4, 4, 1 + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v5/ansi_encoder/config.h b/keyboards/keychron/v5/ansi_encoder/config.h index d666eb2c28..c0648d56b2 100644 --- a/keyboards/keychron/v5/ansi_encoder/config.h +++ b/keyboards/keychron/v5/ansi_encoder/config.h @@ -21,6 +21,3 @@ /* Enable caps-lock LED */ #define CAPS_LOCK_LED_INDEX 52 - -/* Enable num-lock LED */ -#define NUM_LOCK_LED_INDEX 31 diff --git a/keyboards/keychron/v5/ansi_encoder/keyboard.json b/keyboards/keychron/v5/ansi_encoder/keyboard.json index 2ed77789e4..af61e4a15e 100644 --- a/keyboards/keychron/v5/ansi_encoder/keyboard.json +++ b/keyboards/keychron/v5/ansi_encoder/keyboard.json @@ -24,108 +24,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 36, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 60, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 90, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 103, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 115, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 133, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 145, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 157, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 184, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 196, "y": 0, "flags": 1}, - {"matrix": [0, 17], "x": 208, "y": 0, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 12, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 24, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 36, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 48, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 60, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 72, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 85, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 97, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 109, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 121, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 133, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 145, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 163, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 188, "y": 15, "flags": 8}, - {"matrix": [1, 16], "x": 200, "y": 15, "flags": 4}, - {"matrix": [1, 17], "x": 212, "y": 15, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 26, "flags": 1}, - {"matrix": [2, 1], "x": 18, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 30, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 54, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 66, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 78, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 91, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 103, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 115, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 127, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 139, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 151, "y": 26, "flags": 4}, - {"matrix": [2, 13], "x": 166, "y": 26, "flags": 4}, - {"matrix": [2, 15], "x": 188, "y": 26, "flags": 4}, - {"matrix": [2, 16], "x": 200, "y": 26, "flags": 4}, - {"matrix": [2, 17], "x": 212, "y": 26, "flags": 4}, - {"matrix": [3, 0], "x": 5, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 21, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 33, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 57, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 69, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 81, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 94, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 106, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 118, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 130, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 142, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 161, "y": 38, "flags": 1}, - {"matrix": [3, 15], "x": 188, "y": 38, "flags": 4}, - {"matrix": [3, 16], "x": 200, "y": 38, "flags": 4}, - {"matrix": [3, 17], "x": 212, "y": 38, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [4, 0], "x": 8, "y": 49, "flags": 1}, - {"matrix": [4, 2], "x": 27, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 39, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 51, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 63, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 75, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 88, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 100, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 112, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 124, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 136, "y": 49, "flags": 4}, - {"matrix": [4, 13], "x": 152, "y": 49, "flags": 1}, - {"matrix": [4, 14], "x": 172, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 188, "y": 49, "flags": 4}, - {"matrix": [4, 16], "x": 200, "y": 49, "flags": 4}, - {"matrix": [4, 17], "x": 212, "y": 49, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 61, "flags": 1}, - {"matrix": [5, 1], "x": 17, "y": 61, "flags": 1}, - {"matrix": [5, 2], "x": 32, "y": 61, "flags": 1}, - {"matrix": [5, 6], "x": 77, "y": 61, "flags": 4}, - {"matrix": [5, 10], "x": 121, "y": 61, "flags": 1}, - {"matrix": [5, 11], "x": 133, "y": 61, "flags": 1}, - {"matrix": [5, 12], "x": 145, "y": 61, "flags": 1}, - {"matrix": [5, 13], "x": 160, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 172, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 184, "y": 64, "flags": 4}, - {"matrix": [5, 16], "x": 200, "y": 61, "flags": 4}, - {"matrix": [5, 17], "x": 212, "y": 61, "flags": 4}, - {"matrix": [5, 5], "x": 224, "y": 55, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_98": { "layout": [ diff --git a/keyboards/keychron/v5/iso/config.h b/keyboards/keychron/v5/iso/config.h index f5bcacedb3..9080227018 100644 --- a/keyboards/keychron/v5/iso/config.h +++ b/keyboards/keychron/v5/iso/config.h @@ -18,6 +18,3 @@ /* Enable caps-lock LED */ #define CAPS_LOCK_LED_INDEX 53 - -/* Enable num-lock LED */ -#define NUM_LOCK_LED_INDEX 33 diff --git a/keyboards/keychron/v5/iso/iso.c b/keyboards/keychron/v5/iso/iso.c index 7b28c70f7e..d8f5ae329c 100644 --- a/keyboards/keychron/v5/iso/iso.c +++ b/keyboards/keychron/v5/iso/iso.c @@ -134,4 +134,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA2, CB10_CA2, CB11_CA2}, {1, CB12_CA7, CB10_CA7, CB11_CA7} }; + +#define __ NO_LED + +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 }, + { 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, __, 33, 34, 35 }, + { 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 66, 70, 50, 51, 52 }, + { 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 18, 65, 36, 67, 68, 69 }, + { 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, __, 83, 84, 85, 86, 87 }, + { 88, 89, 90, __, __, 100, 91, __, __, __, 92, 93, 94, 95, 96, 97, 98, 99 }, + }, + { + // LED Index to Physical Position + {0,0}, {12,0}, {24,0}, {36,0}, {48,0}, {60,0}, {72,0}, {85,0}, {97,0}, {109,0}, {121,0}, {133,0}, {145,0}, {157,0}, {169,0}, {188,0}, {200,0}, {212,0}, {224,0}, + {0,15}, {12,15}, {24,15}, {36,15}, {48,15}, {60,15}, {72,15}, {85,15}, {97,15}, {109,15}, {121,15}, {133,15}, {145,15}, {163,15}, {188,15}, {200,15}, {212,15}, {224,15}, + {3,26}, {18,26}, {30,26}, {42,26}, {54,26}, {66,26}, {78,26}, {91,26}, {103,26}, {115,26}, {127,26}, {139,26}, {151,26}, {188,26}, {200,26}, {212,26}, + {5,38}, {21,38}, {33,38}, {45,38}, {57,38}, {69,38}, {81,38}, {94,38}, {106,38}, {118,38}, {130,38}, {142,38}, {154,38}, {170,34}, {188,38}, {200,38}, {212,38}, {224,32}, + {3,49}, {15,49}, {27,49}, {39,49}, {51,49}, {63,49}, {75,49}, {88,49}, {100,49}, {112,49}, {124,49}, {136,49}, {152,49}, {172,52}, {188,49}, {200,49}, {212,49}, + {1,61}, {17,61}, {32,61}, {77,61}, {121,61}, {133,61}, {145,61}, {160,64}, {172,64}, {184,64}, {200,61}, {212,61}, {224,55}, + }, + { + // RGB LED Index to Flag + 1, 1, 1, 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, 1, 8, 4, 4, 4, + 1, 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, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v5/iso/keyboard.json b/keyboards/keychron/v5/iso/keyboard.json index c8bc9609f5..7e7280d5ac 100644 --- a/keyboards/keychron/v5/iso/keyboard.json +++ b/keyboards/keychron/v5/iso/keyboard.json @@ -18,111 +18,6 @@ "rgb_matrix": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 12, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 36, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 60, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 72, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 85, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 97, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 109, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 121, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 133, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 145, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 157, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 188, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 200, "y": 0, "flags": 1}, - {"matrix": [0, 17], "x": 212, "y": 0, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 12, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 24, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 36, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 48, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 60, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 72, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 85, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 97, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 109, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 121, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 133, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 145, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 163, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 188, "y": 15, "flags": 8}, - {"matrix": [1, 16], "x": 200, "y": 15, "flags": 4}, - {"matrix": [1, 17], "x": 212, "y": 15, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 26, "flags": 1}, - {"matrix": [2, 1], "x": 18, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 30, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 54, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 66, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 78, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 91, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 103, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 115, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 127, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 139, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 151, "y": 26, "flags": 4}, - {"matrix": [2, 15], "x": 188, "y": 26, "flags": 4}, - {"matrix": [2, 16], "x": 200, "y": 26, "flags": 4}, - {"matrix": [2, 17], "x": 212, "y": 26, "flags": 4}, - {"matrix": [3, 0], "x": 5, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 21, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 33, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 57, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 69, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 81, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 94, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 106, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 118, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 130, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 142, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 154, "y": 38, "flags": 4}, - {"matrix": [2, 13], "x": 170, "y": 34, "flags": 1}, - {"matrix": [3, 15], "x": 188, "y": 38, "flags": 4}, - {"matrix": [3, 16], "x": 200, "y": 38, "flags": 4}, - {"matrix": [3, 17], "x": 212, "y": 38, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [4, 0], "x": 3, "y": 49, "flags": 1}, - {"matrix": [4, 1], "x": 15, "y": 49, "flags": 4}, - {"matrix": [4, 2], "x": 27, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 39, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 51, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 63, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 75, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 88, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 100, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 112, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 124, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 136, "y": 49, "flags": 4}, - {"matrix": [4, 13], "x": 152, "y": 49, "flags": 1}, - {"matrix": [4, 14], "x": 172, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 188, "y": 49, "flags": 4}, - {"matrix": [4, 16], "x": 200, "y": 49, "flags": 4}, - {"matrix": [4, 17], "x": 212, "y": 49, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 61, "flags": 1}, - {"matrix": [5, 1], "x": 17, "y": 61, "flags": 1}, - {"matrix": [5, 2], "x": 32, "y": 61, "flags": 1}, - {"matrix": [5, 6], "x": 77, "y": 61, "flags": 4}, - {"matrix": [5, 10], "x": 121, "y": 61, "flags": 1}, - {"matrix": [5, 11], "x": 133, "y": 61, "flags": 1}, - {"matrix": [5, 12], "x": 145, "y": 61, "flags": 1}, - {"matrix": [5, 13], "x": 160, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 172, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 184, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 200, "y": 61, "flags": 4}, - {"matrix": [5, 17], "x": 212, "y": 61, "flags": 4}, - {"matrix": [5, 5], "x": 224, "y": 55, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_101": { "layout": [ diff --git a/keyboards/keychron/v5/iso_encoder/config.h b/keyboards/keychron/v5/iso_encoder/config.h index 58bc074ac3..bfaeff971d 100644 --- a/keyboards/keychron/v5/iso_encoder/config.h +++ b/keyboards/keychron/v5/iso_encoder/config.h @@ -21,6 +21,3 @@ /* Enable caps-lock LED */ #define CAPS_LOCK_LED_INDEX 51 - -/* Enable num-lock LED */ -#define NUM_LOCK_LED_INDEX 31 diff --git a/keyboards/keychron/v5/iso_encoder/iso_encoder.c b/keyboards/keychron/v5/iso_encoder/iso_encoder.c index 005a73d2f9..2d2a458577 100644 --- a/keyboards/keychron/v5/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v5/iso_encoder/iso_encoder.c @@ -132,4 +132,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA2, CB10_CA2, CB11_CA2}, {1, CB12_CA7, CB10_CA7, CB11_CA7} }; + +#define __ NO_LED + +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 }, + { 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, __, 31, 32, 33 }, + { 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 64, 68, 48, 49, 50 }, + { 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 16, 63, 34, 65, 66, 67 }, + { 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, __, 81, 82, 83, 84, 85 }, + { 86, 87, 88, __, __, 98, 89, __, __, __, 90, 91, 92, 93, 94, 95, 96, 97 }, + }, + { + // LED Index to Physical Position + {0,0}, {24,0}, {36,0}, {48,0}, {60,0}, {78,0}, {90,0}, {103,0}, {115,0}, {133,0}, {145,0}, {157,0}, {169,0}, {184,0}, {196,0}, {208,0}, {224,0}, + {0,15}, {12,15}, {24,15}, {36,15}, {48,15}, {60,15}, {72,15}, {85,15}, {97,15}, {109,15}, {121,15}, {133,15}, {145,15}, {163,15}, {188,15}, {200,15}, {212,15}, {224,15}, + {3,26}, {18,26}, {30,26}, {42,26}, {54,26}, {66,26}, {78,26}, {91,26}, {103,26}, {115,26}, {127,26}, {139,26}, {151,26}, {188,26}, {200,26}, {212,26}, + {5,38}, {21,38}, {33,38}, {45,38}, {57,38}, {69,38}, {81,38}, {94,38}, {106,38}, {118,38}, {130,38}, {142,38}, {154,38}, {170,34}, {188,38}, {200,38}, {212,38}, {224,32}, + {3,49}, {15,49}, {27,49}, {39,49}, {51,49}, {63,49}, {75,49}, {88,49}, {100,49}, {112,49}, {124,49}, {136,49}, {152,49}, {172,52}, {188,49}, {200,49}, {212,49}, + {1,61}, {17,61}, {32,61}, {77,61}, {121,61}, {133,61}, {145,61}, {160,64}, {172,64}, {184,64}, {200,61}, {212,61}, {224,55}, + }, + { + // RGB LED Index to Flag + 1, 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, 1, 8, 4, 4, 4, + 1, 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, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v5/iso_encoder/keyboard.json b/keyboards/keychron/v5/iso_encoder/keyboard.json index d6f1b69445..dfef0a7be7 100644 --- a/keyboards/keychron/v5/iso_encoder/keyboard.json +++ b/keyboards/keychron/v5/iso_encoder/keyboard.json @@ -24,109 +24,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 36, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 60, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 90, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 103, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 115, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 133, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 145, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 157, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 184, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 196, "y": 0, "flags": 1}, - {"matrix": [0, 17], "x": 208, "y": 0, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 12, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 24, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 36, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 48, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 60, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 72, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 85, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 97, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 109, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 121, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 133, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 145, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 163, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 188, "y": 15, "flags": 8}, - {"matrix": [1, 16], "x": 200, "y": 15, "flags": 4}, - {"matrix": [1, 17], "x": 212, "y": 15, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 26, "flags": 1}, - {"matrix": [2, 1], "x": 18, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 30, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 54, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 66, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 78, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 91, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 103, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 115, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 127, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 139, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 151, "y": 26, "flags": 4}, - {"matrix": [2, 15], "x": 188, "y": 26, "flags": 4}, - {"matrix": [2, 16], "x": 200, "y": 26, "flags": 4}, - {"matrix": [2, 17], "x": 212, "y": 26, "flags": 4}, - {"matrix": [3, 0], "x": 5, "y": 38, "flags": 8}, - {"matrix": [3, 1], "x": 21, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 33, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 57, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 69, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 81, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 94, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 106, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 118, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 130, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 142, "y": 38, "flags": 4}, - {"matrix": [3, 13], "x": 154, "y": 38, "flags": 4}, - {"matrix": [2, 13], "x": 170, "y": 34, "flags": 1}, - {"matrix": [3, 15], "x": 188, "y": 38, "flags": 4}, - {"matrix": [3, 16], "x": 200, "y": 38, "flags": 4}, - {"matrix": [3, 17], "x": 212, "y": 38, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [4, 0], "x": 3, "y": 49, "flags": 1}, - {"matrix": [4, 1], "x": 15, "y": 49, "flags": 4}, - {"matrix": [4, 2], "x": 27, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 39, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 51, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 63, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 75, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 88, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 100, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 112, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 124, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 136, "y": 49, "flags": 4}, - {"matrix": [4, 13], "x": 152, "y": 49, "flags": 1}, - {"matrix": [4, 14], "x": 172, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 188, "y": 49, "flags": 4}, - {"matrix": [4, 16], "x": 200, "y": 49, "flags": 4}, - {"matrix": [4, 17], "x": 212, "y": 49, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 61, "flags": 1}, - {"matrix": [5, 1], "x": 17, "y": 61, "flags": 1}, - {"matrix": [5, 2], "x": 32, "y": 61, "flags": 1}, - {"matrix": [5, 6], "x": 77, "y": 61, "flags": 4}, - {"matrix": [5, 10], "x": 121, "y": 61, "flags": 1}, - {"matrix": [5, 11], "x": 133, "y": 61, "flags": 1}, - {"matrix": [5, 12], "x": 145, "y": 61, "flags": 1}, - {"matrix": [5, 13], "x": 160, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 172, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 184, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 200, "y": 61, "flags": 4}, - {"matrix": [5, 17], "x": 212, "y": 61, "flags": 4}, - {"matrix": [5, 5], "x": 224, "y": 55, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_99": { "layout": [ diff --git a/keyboards/keychron/v5/v5.c b/keyboards/keychron/v5/v5.c index 3d1e6402de..03d1f9a743 100644 --- a/keyboards/keychron/v5/v5.c +++ b/keyboards/keychron/v5/v5.c @@ -30,7 +30,33 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #endif // DIP_SWITCH_ENABLE -#if defined(RGB_MATRIX_ENABLE) && (defined(CAPS_LOCK_LED_INDEX) || defined(NUM_LOCK_LED_INDEX)) +#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } @@ -43,15 +69,6 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 0, 0); } } - #ifdef NUM_LOCK_LED_INDEX - if (host_keyboard_led_state().num_lock) { - RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 255, 255, 255); - } else { - if (!rgb_matrix_get_flags()) { - RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 0, 0, 0); - } - } - #endif return true; } diff --git a/keyboards/keychron/v6/ansi/ansi.c b/keyboards/keychron/v6/ansi/ansi.c index c8dc8c95c6..2e055e57af 100644 --- a/keyboards/keychron/v6/ansi/ansi.c +++ b/keyboards/keychron/v6/ansi/ansi.c @@ -139,4 +139,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA12, CB10_CA12, CB11_CA12}, {1, CB12_CA9, CB10_CA9, CB11_CA9}, }; + +#define __ NO_LED + +led_config_t g_led_config = { + { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, __, 13, 14, 15, 39, 40, 16 }, + { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 17 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 18 }, + { 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, __, 73, 60, 77, 76, 74, 75, 19 }, + { 78, __, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, __, 89, 93, 90, 107, 91, 92, __ }, + { 94, 95, 96, __, __, __, 97, __, __, __, 98, 99, 100, 101, 102, 103, 104, 105, 106, __ }, + }, + { + {0,0}, {21,0}, {31,0}, {42,0}, {52,0}, {68,0}, {78,0}, {89,0}, {99,0}, {115,0}, {125,0}, {136,0}, {146,0}, {159,0}, {169,0}, {180,0}, {193,0}, {203,0}, {214,0}, {224,0}, + {0,15}, {10,15}, {21,15}, {31,15}, {42,15}, {52,15}, {63,15}, {73,15}, {83,15}, {94,15}, {104,15}, {115,15}, {125,15}, {141,15}, {159,15}, {169,15}, {180,15}, {193,15}, {203,15}, {214,15}, {224,15}, + {3,27}, {16,27}, {26,27}, {36,27}, {47,27}, {57,27}, {68,27}, {78,27}, {89,27}, {99,27}, {109,27}, {120,27}, {130,27}, {143,27}, {159,27}, {169,27}, {180,27}, {193,27}, {203,27}, {214,27}, + {4,40}, {18,40}, {29,40}, {39,40}, {50,40}, {60,40}, {70,40}, {81,40}, {91,40}, {102,40}, {112,40}, {123,40}, {139,40}, {193,40}, {203,40}, {214,40}, {224,34}, + {7,52}, {23,52}, {34,52}, {44,52}, {55,52}, {65,52}, {76,52}, {86,52}, {96,52}, {107,52}, {117,52}, {137,52}, {169,52}, {193,52}, {203,52}, {214,52}, + {1,64}, {14,64}, {27,64}, {66,64}, {105,64}, {118,64}, {131,64}, {145,64}, {159,64}, {169,64}, {180,64}, {198,64}, {214,64}, {224,58}, + }, + { + 1, 1, 1, 1, 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, 1, 1, 1, 1, 8, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v6/ansi/keyboard.json b/keyboards/keychron/v6/ansi/keyboard.json index 6733c196b7..e68f3cdec8 100644 --- a/keyboards/keychron/v6/ansi/keyboard.json +++ b/keyboards/keychron/v6/ansi/keyboard.json @@ -18,118 +18,6 @@ "rgb_matrix": true, "dip_switch": true }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 21, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 31, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 68, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 89, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 99, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 115, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 136, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 146, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 159, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 180, "y": 0, "flags": 1}, - {"matrix": [0, 19], "x": 193, "y": 0, "flags": 1}, - {"matrix": [1, 19], "x": 203, "y": 0, "flags": 1}, - {"matrix": [2, 19], "x": 214, "y": 0, "flags": 1}, - {"matrix": [3, 19], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 21, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 31, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 63, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 94, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 115, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 141, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 159, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 169, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 180, "y": 15, "flags": 1}, - {"matrix": [1, 17], "x": 193, "y": 15, "flags": 8}, - {"matrix": [1, 18], "x": 203, "y": 15, "flags": 4}, - {"matrix": [0, 17], "x": 214, "y": 15, "flags": 4}, - {"matrix": [0, 18], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 57, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 78, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 99, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 143, "y": 27, "flags": 4}, - {"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": [3, 14], "x": 214, "y": 27, "flags": 4}, - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 123, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 139, "y": 40, "flags": 1}, - {"matrix": [3, 17], "x": 193, "y": 40, "flags": 4}, - {"matrix": [3, 18], "x": 203, "y": 40, "flags": 4}, - {"matrix": [3, 16], "x": 214, "y": 40, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 34, "flags": 4}, - {"matrix": [4, 0], "x": 7, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 23, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 34, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 44, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 65, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 76, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 86, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 96, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 117, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 137, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 169, "y": 52, "flags": 1}, - {"matrix": [4, 17], "x": 193, "y": 52, "flags": 4}, - {"matrix": [4, 18], "x": 203, "y": 52, "flags": 4}, - {"matrix": [4, 14], "x": 214, "y": 52, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 27, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 66, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 105, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 118, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 145, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 17], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 18], "x": 214, "y": 64, "flags": 4}, - {"matrix": [4, 16], "x": 224, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_108": { "layout": [ diff --git a/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c index fa08ec41aa..1ebf947912 100644 --- a/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c @@ -141,4 +141,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA12, CB10_CA12, CB11_CA12}, {1, CB12_CA9, CB10_CA9, CB11_CA9}, }; + +#define __ NO_LED + +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, 39, 40, 16 }, + { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 17 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 18 }, + { 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, __, 73, 60, 77, 76, 74, 75, 19 }, + { 78, __, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, __, 89, 93, 90, 107, 91, 92, __ }, + { 94, 95, 96, __, __, __, 97, __, __, __, 98, 99, 100, 101, 102, 103, 104, 105, 106, __ }, + }, + { + // LED Index to Physical Position + {0,0}, {13,0}, {24,0}, {34,0}, {45,0}, {57,0}, {68,0}, {78,0}, {89,0}, {102,0}, {112,0}, {123,0}, {133,0}, {159,0}, {169,0}, {180,0}, {193,0}, {203,0}, {214,0}, {224,0}, + {0,15}, {10,15}, {21,15}, {31,15}, {42,15}, {52,15}, {63,15}, {73,15}, {83,15}, {94,15}, {104,15}, {115,15}, {125,15}, {141,15}, {159,15}, {169,15}, {180,15}, {193,15}, {203,15}, {214,15}, {224,15}, + {3,27}, {16,27}, {26,27}, {36,27}, {47,27}, {57,27}, {68,27}, {78,27}, {89,27}, {99,27}, {109,27}, {120,27}, {130,27}, {143,27}, {159,27}, {169,27}, {180,27}, {193,27}, {203,27}, {214,27}, + {4,40}, {18,40}, {29,40}, {39,40}, {50,40}, {60,40}, {70,40}, {81,40}, {91,40}, {102,40}, {112,40}, {123,40}, {139,40}, {193,40}, {203,40}, {214,40}, {224,34}, + {7,52}, {23,52}, {34,52}, {44,52}, {55,52}, {65,52}, {76,52}, {86,52}, {96,52}, {107,52}, {117,52}, {137,52}, {169,52}, {193,52}, {203,52}, {214,52}, + {1,64}, {14,64}, {27,64}, {66,64}, {105,64}, {118,64}, {131,64}, {145,64}, {159,64}, {169,64}, {180,64}, {198,64}, {214,64}, {224,58}, + }, + { + // RGB LED Index to Flag + 1, 1, 1, 1, 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, 1, 1, 1, 1, 8, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v6/ansi_encoder/keyboard.json b/keyboards/keychron/v6/ansi_encoder/keyboard.json index 3427c3e633..6ccc6d415b 100644 --- a/keyboards/keychron/v6/ansi_encoder/keyboard.json +++ b/keyboards/keychron/v6/ansi_encoder/keyboard.json @@ -8,6 +8,9 @@ "pid": "0x0361", "device_version": "1.0.0" }, + "rgb_matrix": { + "driver": "snled27351" + }, "encoder": { "rotary": [ {"pin_a": "C14", "pin_b": "A2"} @@ -24,119 +27,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 13, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 45, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 57, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 68, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 89, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 102, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 123, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 133, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 159, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 180, "y": 0, "flags": 1}, - {"matrix": [0, 19], "x": 193, "y": 0, "flags": 1}, - {"matrix": [1, 19], "x": 203, "y": 0, "flags": 1}, - {"matrix": [2, 19], "x": 214, "y": 0, "flags": 1}, - {"matrix": [3, 19], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 21, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 31, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 63, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 94, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 115, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 141, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 159, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 169, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 180, "y": 15, "flags": 1}, - {"matrix": [1, 17], "x": 193, "y": 15, "flags": 8}, - {"matrix": [1, 18], "x": 203, "y": 15, "flags": 4}, - {"matrix": [0, 17], "x": 214, "y": 15, "flags": 4}, - {"matrix": [0, 18], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 57, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 78, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 99, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 143, "y": 27, "flags": 4}, - {"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": [3, 14], "x": 214, "y": 27, "flags": 4}, - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 123, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 139, "y": 40, "flags": 1}, - {"matrix": [3, 17], "x": 193, "y": 40, "flags": 4}, - {"matrix": [3, 18], "x": 203, "y": 40, "flags": 4}, - {"matrix": [3, 16], "x": 214, "y": 40, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 34, "flags": 4}, - {"matrix": [4, 0], "x": 7, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 23, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 34, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 44, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 65, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 76, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 86, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 96, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 117, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 137, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 169, "y": 52, "flags": 1}, - {"matrix": [4, 17], "x": 193, "y": 52, "flags": 4}, - {"matrix": [4, 18], "x": 203, "y": 52, "flags": 4}, - {"matrix": [4, 14], "x": 214, "y": 52, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 27, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 66, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 105, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 118, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 145, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 17], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 18], "x": 214, "y": 64, "flags": 4}, - {"matrix": [4, 16], "x": 224, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_109": { "layout": [ diff --git a/keyboards/keychron/v6/iso/iso.c b/keyboards/keychron/v6/iso/iso.c index 0675e47a3b..cc9dbd8c23 100644 --- a/keyboards/keychron/v6/iso/iso.c +++ b/keyboards/keychron/v6/iso/iso.c @@ -142,4 +142,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA12, CB10_CA12, CB11_CA12}, {1, CB12_CA9, CB10_CA9, CB11_CA9}, }; + +#define __ NO_LED + +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, 39, 40, 16 }, + { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 17 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 73, 54, 55, 56, 57, 58, 18 }, + { 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, __, 72, 59, 77, 76, 74, 75, 19 }, + { 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, __, 90, 94, 91, 108, 92, 93, __ }, + { 95, 96, 97, __, __, __, 98, __, __, __, 99, 100, 101, 102, 103, 104, 105, 106, 107, __ }, + }, + { + // LED Index to Physical Position + {0,0}, {21,0}, {31,0}, {42,0}, {52,0}, {68,0}, {78,0}, {89,0}, {99,0}, {115,0}, {125,0}, {136,0}, {146,0}, {159,0}, {169,0}, {180,0}, {193,0}, {203,0}, {214,0}, {224,0}, + {0,15}, {10,15}, {21,15}, {31,15}, {42,15}, {52,15}, {63,15}, {73,15}, {83,15}, {94,15}, {104,15}, {115,15}, {125,15}, {141,15}, {159,15}, {169,15}, {180,15}, {193,15}, {203,15}, {214,15}, {224,15}, + {3,27}, {16,27}, {26,27}, {36,27}, {47,27}, {57,27}, {68,27}, {78,27}, {89,27}, {99,27}, {109,27}, {120,27}, {130,27}, {159,27}, {169,27}, {180,27}, {193,27}, {203,27}, {214,27}, + {4,40}, {18,40}, {29,40}, {39,40}, {50,40}, {60,40}, {70,40}, {81,40}, {91,40}, {102,40}, {112,40}, {123,40}, {133,40}, {147,36}, {193,40}, {203,40}, {214,40}, {224,34}, + {1,52}, {13,52}, {23,52}, {34,52}, {44,52}, {55,52}, {65,52}, {76,52}, {86,52}, {96,52}, {107,52}, {117,52}, {137,52}, {169,52}, {193,52}, {203,52}, {214,52}, + {1,64}, {14,64}, {27,64}, {66,64}, {105,64}, {118,64}, {131,64}, {145,64}, {159,64}, {169,64}, {180,64}, {198,64}, {214,64}, {224,58}, + }, + { + // RGB LED Index to Flag + 1, 1, 1, 1, 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, 1, 1, 1, 1, 8, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v6/iso/keyboard.json b/keyboards/keychron/v6/iso/keyboard.json index 9310919456..e2f17e4f6e 100644 --- a/keyboards/keychron/v6/iso/keyboard.json +++ b/keyboards/keychron/v6/iso/keyboard.json @@ -8,6 +8,9 @@ "pid": "0x0362", "device_version": "1.0.0" }, + "rgb_matrix": { + "driver": "snled27351" + }, "processor": "STM32L432", "bootloader": "stm32-dfu", "features": { @@ -18,120 +21,6 @@ "rgb_matrix": true, "dip_switch": true }, - "rgb_matrix": { - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 21, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 31, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 52, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 68, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 89, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 99, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 115, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 125, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 136, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 146, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 159, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 180, "y": 0, "flags": 1}, - {"matrix": [0, 19], "x": 193, "y": 0, "flags": 1}, - {"matrix": [1, 19], "x": 203, "y": 0, "flags": 1}, - {"matrix": [2, 19], "x": 214, "y": 0, "flags": 1}, - {"matrix": [3, 19], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 21, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 31, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 63, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 94, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 115, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 141, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 159, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 169, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 180, "y": 15, "flags": 1}, - {"matrix": [1, 17], "x": 193, "y": 15, "flags": 8}, - {"matrix": [1, 18], "x": 203, "y": 15, "flags": 4}, - {"matrix": [0, 17], "x": 214, "y": 15, "flags": 4}, - {"matrix": [0, 18], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 57, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 78, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 99, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 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": [3, 14], "x": 214, "y": 27, "flags": 4}, - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 123, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 133, "y": 40, "flags": 4}, - {"matrix": [2, 13], "x": 147, "y": 36, "flags": 1}, - {"matrix": [3, 17], "x": 193, "y": 40, "flags": 4}, - {"matrix": [3, 18], "x": 203, "y": 40, "flags": 4}, - {"matrix": [3, 16], "x": 214, "y": 40, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 34, "flags": 4}, - {"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": 1}, - {"matrix": [4, 17], "x": 193, "y": 52, "flags": 4}, - {"matrix": [4, 18], "x": 203, "y": 52, "flags": 4}, - {"matrix": [4, 14], "x": 214, "y": 52, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 27, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 66, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 105, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 118, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 145, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 17], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 18], "x": 214, "y": 64, "flags": 4}, - {"matrix": [4, 16], "x": 224, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_109": { "layout": [ diff --git a/keyboards/keychron/v6/iso_encoder/iso_encoder.c b/keyboards/keychron/v6/iso_encoder/iso_encoder.c index 0675e47a3b..f1a8e18acf 100644 --- a/keyboards/keychron/v6/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v6/iso_encoder/iso_encoder.c @@ -142,4 +142,37 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB12_CA12, CB10_CA12, CB11_CA12}, {1, CB12_CA9, CB10_CA9, CB11_CA9}, }; + +#define __ NO_LED + +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, 39, 40, 16 }, + { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 17 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 73, 54, 55, 56, 57, 58, 18 }, + { 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, __, 72, 59, 77, 76, 74, 75, 19 }, + { 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, __, 90, 94, 91, 108, 92, 93, __ }, + { 95, 96, 97, __, __, __, 98, __, __, __, 99, 100, 101, 102, 103, 104, 105, 106, 107, __ }, + }, + { + // LED Index to Physical Position + {0,0}, {13,0}, {24,0}, {34,0}, {45,0}, {57,0}, {68,0}, {78,0}, {89,0}, {102,0}, {112,0}, {123,0}, {133,0}, {159,0}, {169,0}, {180,0}, {193,0}, {203,0}, {214,0}, {224,0}, + {0,15}, {10,15}, {21,15}, {31,15}, {42,15}, {52,15}, {63,15}, {73,15}, {83,15}, {94,15}, {104,15}, {115,15}, {125,15}, {141,15}, {159,15}, {169,15}, {180,15}, {193,15}, {203,15}, {214,15}, {224,15}, + {3,27}, {16,27}, {26,27}, {36,27}, {47,27}, {57,27}, {68,27}, {78,27}, {89,27}, {99,27}, {109,27}, {120,27}, {130,27}, {159,27}, {169,27}, {180,27}, {193,27}, {203,27}, {214,27}, + {4,40}, {18,40}, {29,40}, {39,40}, {50,40}, {60,40}, {70,40}, {81,40}, {91,40}, {102,40}, {112,40}, {123,40}, {133,40}, {147,36}, {193,40}, {203,40}, {214,40}, {224,34}, + {1,52}, {13,52}, {23,52}, {34,52}, {44,52}, {55,52}, {65,52}, {76,52}, {86,52}, {96,52}, {107,52}, {117,52}, {137,52}, {169,52}, {193,52}, {203,52}, {214,52}, + {1,64}, {14,64}, {27,64}, {66,64}, {105,64}, {118,64}, {131,64}, {145,64}, {159,64}, {169,64}, {180,64}, {198,64}, {214,64}, {224,58}, + }, + { + // RGB LED Index to Flag + 1, 1, 1, 1, 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, 1, 1, 1, 1, 8, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v6/iso_encoder/keyboard.json b/keyboards/keychron/v6/iso_encoder/keyboard.json index 858c33a692..d7469b54e0 100644 --- a/keyboards/keychron/v6/iso_encoder/keyboard.json +++ b/keyboards/keychron/v6/iso_encoder/keyboard.json @@ -8,6 +8,9 @@ "pid": "0x0363", "device_version": "1.0.0" }, + "rgb_matrix": { + "driver": "snled27351" + }, "encoder": { "rotary": [ {"pin_a": "C14", "pin_b": "A2"} @@ -24,120 +27,6 @@ "encoder": true, "dip_switch": true }, - "rgb_matrix": { - "driver": "snled27351", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 13, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 45, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 57, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 68, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 78, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 89, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 102, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 123, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 133, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 159, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 169, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 180, "y": 0, "flags": 1}, - {"matrix": [0, 19], "x": 193, "y": 0, "flags": 1}, - {"matrix": [1, 19], "x": 203, "y": 0, "flags": 1}, - {"matrix": [2, 19], "x": 214, "y": 0, "flags": 1}, - {"matrix": [3, 19], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 10, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 21, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 31, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 42, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 63, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 73, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 83, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 94, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 115, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 125, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 141, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 159, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 169, "y": 15, "flags": 1}, - {"matrix": [1, 16], "x": 180, "y": 15, "flags": 1}, - {"matrix": [1, 17], "x": 193, "y": 15, "flags": 8}, - {"matrix": [1, 18], "x": 203, "y": 15, "flags": 4}, - {"matrix": [0, 17], "x": 214, "y": 15, "flags": 4}, - {"matrix": [0, 18], "x": 224, "y": 15, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 26, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 47, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 57, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 68, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 78, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 89, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 99, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 109, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 120, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 130, "y": 27, "flags": 4}, - {"matrix": [2, 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": [3, 14], "x": 214, "y": 27, "flags": 4}, - {"matrix": [3, 0], "x": 4, "y": 40, "flags": 8}, - {"matrix": [3, 1], "x": 18, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 29, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 39, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 50, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 70, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 81, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 91, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 102, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 123, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 133, "y": 40, "flags": 4}, - {"matrix": [2, 13], "x": 147, "y": 36, "flags": 1}, - {"matrix": [3, 17], "x": 193, "y": 40, "flags": 4}, - {"matrix": [3, 18], "x": 203, "y": 40, "flags": 4}, - {"matrix": [3, 16], "x": 214, "y": 40, "flags": 4}, - {"matrix": [3, 15], "x": 224, "y": 34, "flags": 4}, - {"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": 1}, - {"matrix": [4, 17], "x": 193, "y": 52, "flags": 4}, - {"matrix": [4, 18], "x": 203, "y": 52, "flags": 4}, - {"matrix": [4, 14], "x": 214, "y": 52, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 27, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 66, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 105, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 118, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 145, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 159, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 169, "y": 64, "flags": 1}, - {"matrix": [5, 16], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 17], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 18], "x": 214, "y": 64, "flags": 4}, - {"matrix": [4, 16], "x": 224, "y": 58, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_110": { "layout": [ diff --git a/keyboards/keychron/v6/v6.c b/keyboards/keychron/v6/v6.c index 9c74c5ec08..2fedd20d5b 100644 --- a/keyboards/keychron/v6/v6.c +++ b/keyboards/keychron/v6/v6.c @@ -36,6 +36,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && (defined(CAPS_LOCK_LED_INDEX) || defined(NUM_LOCK_LED_INDEX)) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/keychron/v7/ansi/ansi.c b/keyboards/keychron/v7/ansi/ansi.c index f246a16910..4d0bedff09 100644 --- a/keyboards/keychron/v7/ansi/ansi.c +++ b/keyboards/keychron/v7/ansi/ansi.c @@ -104,4 +104,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA15, CB4_CA15, CB5_CA15}, {1, CB6_CA16, CB4_CA16, CB5_CA16}, }; + +#define __ NO_LED + +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 }, + }, + { + // LED Index to Physical Position + {0,0}, {14,0}, {28,0}, {42,0}, {56,0}, {70,0}, {84,0}, {98,0}, {112,0}, {126,0}, {140,0}, {154,0}, {168,0}, {189,0}, {210,0}, {224,0}, + {4,16}, {21,16}, {35,16}, {49,16}, {63,16}, {77,16}, {91,16}, {105,16}, {119,16}, {133,16}, {147,16}, {161,16}, {175,16}, {192,16}, {210,16}, {224,16}, + {5,32}, {25,32}, {38,32}, {52,32}, {66,32}, {80,32}, {94,32}, {108,32}, {122,32}, {136,32}, {150,32}, {164,32}, {187,32}, {210,32}, {224,32}, + {9,48}, {32,48}, {45,48}, {59,48}, {73,48}, {87,48}, {101,48}, {115,48}, {129,48}, {143,48}, {157,48}, {184,48}, {210,48}, {224,48}, + {2,64}, {19,64}, {37,64}, {89,64}, {140,64}, {154,64}, {168,64}, {182,64}, {196,64}, {210,64}, {224,64}, + }, + { + // RGB LED Index to Flag + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v7/ansi/keyboard.json b/keyboards/keychron/v7/ansi/keyboard.json index 0fccc7b336..503aea5ab6 100644 --- a/keyboards/keychron/v7/ansi/keyboard.json +++ b/keyboards/keychron/v7/ansi/keyboard.json @@ -23,82 +23,6 @@ "diode_direction": "ROW2COL", "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 70, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 98, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 126, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 140, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 154, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 168, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 189, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 210, "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": 21, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 35, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 49, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 63, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 77, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 91, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 105, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 119, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 133, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 147, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 161, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 175, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 210, "y": 16, "flags": 1}, - {"matrix": [1, 15], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 5, "y": 32, "flags": 8}, - {"matrix": [2, 1], "x": 25, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 38, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 94, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 122, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 136, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 150, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 164, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 187, "y": 32, "flags": 1}, - {"matrix": [2, 14], "x": 210, "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": 32, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 59, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 73, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 87, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 115, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 129, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 143, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 157, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 184, "y": 48, "flags": 1}, - {"matrix": [3, 14], "x": 210, "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": 19, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 37, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 89, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 140, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 154, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 168, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 182, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 196, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 15], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_72": { "layout": [ diff --git a/keyboards/keychron/v7/iso/iso.c b/keyboards/keychron/v7/iso/iso.c index 0de3fb4894..cdd2d97209 100644 --- a/keyboards/keychron/v7/iso/iso.c +++ b/keyboards/keychron/v7/iso/iso.c @@ -105,4 +105,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA15, CB4_CA15, CB5_CA15}, {1, CB6_CA16, CB4_CA16, CB5_CA16}, }; + +#define __ NO_LED + +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, 44, 29, 30 }, + { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, __, 43, 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 }, + }, + { + // LED Index to Physical Position + {0,0}, {14,0}, {28,0}, {42,0}, {56,0}, {70,0}, {84,0}, {98,0}, {112,0}, {126,0}, {140,0}, {154,0}, {168,0}, {189,0}, {210,0}, {224,0}, + {4,16}, {21,16}, {35,16}, {49,16}, {63,16}, {77,16}, {91,16}, {105,16}, {119,16}, {133,16}, {147,16}, {161,16}, {175,16}, {210,16}, {224,16}, + {5,32}, {25,32}, {38,32}, {52,32}, {66,32}, {80,32}, {94,32}, {108,32}, {122,32}, {136,32}, {150,32}, {164,32}, {178,32}, {197,27}, {210,32}, {224,32}, + {2,48}, {18,48}, {32,48}, {45,48}, {59,48}, {73,48}, {87,48}, {101,48}, {115,48}, {129,48}, {143,48}, {157,48}, {184,48}, {210,48}, {224,48}, + {2,64}, {19,64}, {37,64}, {89,64}, {140,64}, {154,64}, {168,64}, {182,64}, {196,64}, {210,64}, {224,64}, + }, + { + // RGB LED Index to Flag + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v7/iso/keyboard.json b/keyboards/keychron/v7/iso/keyboard.json index 4e57beb985..ec4cd06e6b 100644 --- a/keyboards/keychron/v7/iso/keyboard.json +++ b/keyboards/keychron/v7/iso/keyboard.json @@ -23,83 +23,6 @@ "diode_direction": "ROW2COL", "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 70, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 98, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 126, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 140, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 154, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 168, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 189, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 210, "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": 21, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 35, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 49, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 63, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 77, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 91, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 105, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 119, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 133, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 147, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 161, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 175, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 210, "y": 16, "flags": 1}, - {"matrix": [1, 15], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 5, "y": 32, "flags": 8}, - {"matrix": [2, 1], "x": 25, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 38, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 94, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 122, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 136, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 150, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 164, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 178, "y": 32, "flags": 4}, - {"matrix": [1, 13], "x": 197, "y": 27, "flags": 1}, - {"matrix": [2, 14], "x": 210, "y": 32, "flags": 1}, - {"matrix": [2, 15], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 2, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 18, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 59, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 73, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 87, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 115, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 129, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 143, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 157, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 184, "y": 48, "flags": 1}, - {"matrix": [3, 14], "x": 210, "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": 19, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 37, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 89, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 140, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 154, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 168, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 182, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 196, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 15], "x": 224, "y": 64, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_73": { "layout": [ diff --git a/keyboards/keychron/v7/v7.c b/keyboards/keychron/v7/v7.c index 12a9078a36..02f4ec1500 100644 --- a/keyboards/keychron/v7/v7.c +++ b/keyboards/keychron/v7/v7.c @@ -30,6 +30,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); diff --git a/keyboards/keychron/v8/ansi/ansi.c b/keyboards/keychron/v8/ansi/ansi.c index 82c6e533a1..fcc232511f 100644 --- a/keyboards/keychron/v8/ansi/ansi.c +++ b/keyboards/keychron/v8/ansi/ansi.c @@ -102,4 +102,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA2, CB4_CA2, CB5_CA2}, {1, CB6_CA1, CB4_CA1, CB5_CA1} }; + +#define __ NO_LED + +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 }, + }, + { + // LED Index to Physical Position + {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8 }, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0}, + {7,14}, {24,14}, {39,14}, {52,17}, {65,20}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {170,14}, {183,14}, {200,14}, {222,16}, + {6,27}, {24,27}, {39,28}, {52,30}, {65,33}, {78,36}, {109,37}, {122,34}, {135,32}, {148,29}, {162,27}, {176,27}, {197,27}, {224,29}, + {7,40}, {28,40}, {43,42}, {56,44}, {69,47}, {82,50}, {102,52}, {115,49}, {128,46}, {141,44}, {154,41}, {169,40}, {187,40}, {209,43}, + {0,53}, {17,53}, {42,55}, {65,60}, {86,64}, {107,64}, {131,59}, {156,54}, {196,56}, {209,56}, {222,56}, + }, + { + // RGB LED Index to Flag + 1, 4, 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, 4, 4, 1, + 8, 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, 1, 1, 4, 1, 1, 4, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v8/ansi/keyboard.json b/keyboards/keychron/v8/ansi/keyboard.json index 9f54c60c3d..392783e024 100644 --- a/keyboards/keychron/v8/ansi/keyboard.json +++ b/keyboards/keychron/v8/ansi/keyboard.json @@ -23,79 +23,6 @@ "diode_direction": "ROW2COL", "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1}, - {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4}, - {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4}, - {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4}, - {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4}, - {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4}, - {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4}, - {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4}, - {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4}, - {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1}, - {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1}, - {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4}, - {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 65, "y": 20, "flags": 4}, - {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4}, - {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4}, - {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4}, - {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4}, - {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4}, - {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4}, - {"matrix": [1, 11], "x": 170, "y": 14, "flags": 4}, - {"matrix": [1, 12], "x": 183, "y": 14, "flags": 4}, - {"matrix": [1, 13], "x": 200, "y": 14, "flags": 4}, - {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8}, - {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 39, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4}, - {"matrix": [2, 5], "x": 78, "y": 36, "flags": 4}, - {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4}, - {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4}, - {"matrix": [2, 9], "x": 135, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4}, - {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 197, "y": 27, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1}, - {"matrix": [3, 0], "x": 7, "y": 40, "flags": 1}, - {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 43, "y": 42, "flags": 4}, - {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4}, - {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4}, - {"matrix": [3, 6], "x": 82, "y": 50, "flags": 4}, - {"matrix": [3, 7], "x": 102, "y": 52, "flags": 4}, - {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4}, - {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4}, - {"matrix": [3, 10], "x": 141, "y": 44, "flags": 4}, - {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4}, - {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1}, - {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 53, "flags": 1}, - {"matrix": [4, 1], "x": 17, "y": 53, "flags": 1}, - {"matrix": [4, 2], "x": 42, "y": 55, "flags": 1}, - {"matrix": [4, 3], "x": 65, "y": 60, "flags": 4}, - {"matrix": [4, 6], "x": 86, "y": 64, "flags": 1}, - {"matrix": [4, 7], "x": 107, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 131, "y": 59, "flags": 4}, - {"matrix": [4, 9], "x": 156, "y": 54, "flags": 1}, - {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1}, - {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1}, - {"matrix": [4, 14], "x": 222, "y": 56, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_69": { "layout": [ diff --git a/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c index 82c6e533a1..fcc232511f 100644 --- a/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c @@ -102,4 +102,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA2, CB4_CA2, CB5_CA2}, {1, CB6_CA1, CB4_CA1, CB5_CA1} }; + +#define __ NO_LED + +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 }, + }, + { + // LED Index to Physical Position + {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8 }, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0}, + {7,14}, {24,14}, {39,14}, {52,17}, {65,20}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {170,14}, {183,14}, {200,14}, {222,16}, + {6,27}, {24,27}, {39,28}, {52,30}, {65,33}, {78,36}, {109,37}, {122,34}, {135,32}, {148,29}, {162,27}, {176,27}, {197,27}, {224,29}, + {7,40}, {28,40}, {43,42}, {56,44}, {69,47}, {82,50}, {102,52}, {115,49}, {128,46}, {141,44}, {154,41}, {169,40}, {187,40}, {209,43}, + {0,53}, {17,53}, {42,55}, {65,60}, {86,64}, {107,64}, {131,59}, {156,54}, {196,56}, {209,56}, {222,56}, + }, + { + // RGB LED Index to Flag + 1, 4, 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, 4, 4, 1, + 8, 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, 1, 1, 4, 1, 1, 4, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v8/ansi_encoder/keyboard.json b/keyboards/keychron/v8/ansi_encoder/keyboard.json index 9ea3464084..6d3257feec 100644 --- a/keyboards/keychron/v8/ansi_encoder/keyboard.json +++ b/keyboards/keychron/v8/ansi_encoder/keyboard.json @@ -29,79 +29,6 @@ }, "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1}, - {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4}, - {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4}, - {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4}, - {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4}, - {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4}, - {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4}, - {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4}, - {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4}, - {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1}, - {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1}, - {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4}, - {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 65, "y": 20, "flags": 4}, - {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4}, - {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4}, - {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4}, - {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4}, - {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4}, - {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4}, - {"matrix": [1, 11], "x": 170, "y": 14, "flags": 4}, - {"matrix": [1, 12], "x": 183, "y": 14, "flags": 4}, - {"matrix": [1, 13], "x": 200, "y": 14, "flags": 4}, - {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8}, - {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 39, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4}, - {"matrix": [2, 5], "x": 78, "y": 36, "flags": 4}, - {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4}, - {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4}, - {"matrix": [2, 9], "x": 135, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4}, - {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 197, "y": 27, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1}, - {"matrix": [3, 0], "x": 7, "y": 40, "flags": 1}, - {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 43, "y": 42, "flags": 4}, - {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4}, - {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4}, - {"matrix": [3, 6], "x": 82, "y": 50, "flags": 4}, - {"matrix": [3, 7], "x": 102, "y": 52, "flags": 4}, - {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4}, - {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4}, - {"matrix": [3, 10], "x": 141, "y": 44, "flags": 4}, - {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4}, - {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1}, - {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 53, "flags": 1}, - {"matrix": [4, 1], "x": 17, "y": 53, "flags": 1}, - {"matrix": [4, 2], "x": 42, "y": 55, "flags": 1}, - {"matrix": [4, 3], "x": 65, "y": 60, "flags": 4}, - {"matrix": [4, 6], "x": 86, "y": 64, "flags": 1}, - {"matrix": [4, 7], "x": 107, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 131, "y": 59, "flags": 4}, - {"matrix": [4, 9], "x": 156, "y": 54, "flags": 1}, - {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1}, - {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1}, - {"matrix": [4, 14], "x": 222, "y": 56, "flags": 1} - ] - }, "layouts": { "LAYOUT_ansi_69": { "layout": [ diff --git a/keyboards/keychron/v8/iso/iso.c b/keyboards/keychron/v8/iso/iso.c index 8a84081a69..4658969a10 100644 --- a/keyboards/keychron/v8/iso/iso.c +++ b/keyboards/keychron/v8/iso/iso.c @@ -102,4 +102,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA2, CB4_CA2, CB5_CA2}, {1, CB6_CA1, CB4_CA1, CB5_CA1} }; + +#define __ NO_LED + +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, 42, 28 }, + { 29, 30, 31, 32, 33, 34, __, 35, 36, 37, 38, 39, 40, 41, 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 }, + }, + { + // LED Index to Physical Position + {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8}, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0}, + {7,14}, {24,14}, {39,14}, {52,17}, {65,19}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {172,14}, {186,14}, {222,16}, + {6,27}, {24,27}, {39,27}, {52,30}, {65,33}, {78,35}, {109,37}, {122,34}, {135,31}, {148,29}, {162,27}, {176,27}, {189,27}, {207,22}, {224,29}, + {0,40}, {15,40}, {28,40}, {43,41}, {56,44}, {69,47}, {82,49}, {102,51}, {115,49}, {128,46}, {141,43}, {154,41}, {169,40}, {187,40}, {209,43}, + {0,52}, {17,52}, {42,54}, {65,59}, {86,63}, {104,64}, {129,59}, {153,54}, {196,56}, {209,56}, {222,59}, + }, + { + // RGB LED Index to Flag + 1, 4, 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, 4, 1, + 8, 4, 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, 4, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v8/iso/keyboard.json b/keyboards/keychron/v8/iso/keyboard.json index 6efda1a4d7..0d10662a00 100644 --- a/keyboards/keychron/v8/iso/keyboard.json +++ b/keyboards/keychron/v8/iso/keyboard.json @@ -23,80 +23,6 @@ "diode_direction": "ROW2COL", "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1}, - {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4}, - {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4}, - {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4}, - {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4}, - {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4}, - {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4}, - {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4}, - {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4}, - {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1}, - {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1}, - {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4}, - {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 65, "y": 19, "flags": 4}, - {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4}, - {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4}, - {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4}, - {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4}, - {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4}, - {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4}, - {"matrix": [1, 11], "x": 172, "y": 14, "flags": 4}, - {"matrix": [1, 12], "x": 186, "y": 14, "flags": 4}, - {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8}, - {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 39, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4}, - {"matrix": [2, 5], "x": 78, "y": 35, "flags": 4}, - {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4}, - {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4}, - {"matrix": [2, 9], "x": 135, "y": 31, "flags": 4}, - {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4}, - {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 189, "y": 27, "flags": 4}, - {"matrix": [1, 13], "x": 207, "y": 22, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 40, "flags": 1}, - {"matrix": [3, 1], "x": 15, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 43, "y": 41, "flags": 4}, - {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4}, - {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4}, - {"matrix": [3, 6], "x": 82, "y": 49, "flags": 4}, - {"matrix": [3, 7], "x": 102, "y": 51, "flags": 4}, - {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4}, - {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4}, - {"matrix": [3, 10], "x": 141, "y": 43, "flags": 4}, - {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4}, - {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1}, - {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 52, "flags": 1}, - {"matrix": [4, 1], "x": 17, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 42, "y": 54, "flags": 1}, - {"matrix": [4, 3], "x": 65, "y": 59, "flags": 1}, - {"matrix": [4, 6], "x": 86, "y": 63, "flags": 1}, - {"matrix": [4, 7], "x": 104, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 129, "y": 59, "flags": 1}, - {"matrix": [4, 9], "x": 153, "y": 54, "flags": 1}, - {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1}, - {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1}, - {"matrix": [4, 14], "x": 222, "y": 59, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_70": { "layout": [ diff --git a/keyboards/keychron/v8/iso_encoder/iso_encoder.c b/keyboards/keychron/v8/iso_encoder/iso_encoder.c index 8a84081a69..4658969a10 100644 --- a/keyboards/keychron/v8/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v8/iso_encoder/iso_encoder.c @@ -102,4 +102,34 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { {1, CB6_CA2, CB4_CA2, CB5_CA2}, {1, CB6_CA1, CB4_CA1, CB5_CA1} }; + +#define __ NO_LED + +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, 42, 28 }, + { 29, 30, 31, 32, 33, 34, __, 35, 36, 37, 38, 39, 40, 41, 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 }, + }, + { + // LED Index to Physical Position + {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8}, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0}, + {7,14}, {24,14}, {39,14}, {52,17}, {65,19}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {172,14}, {186,14}, {222,16}, + {6,27}, {24,27}, {39,27}, {52,30}, {65,33}, {78,35}, {109,37}, {122,34}, {135,31}, {148,29}, {162,27}, {176,27}, {189,27}, {207,22}, {224,29}, + {0,40}, {15,40}, {28,40}, {43,41}, {56,44}, {69,47}, {82,49}, {102,51}, {115,49}, {128,46}, {141,43}, {154,41}, {169,40}, {187,40}, {209,43}, + {0,52}, {17,52}, {42,54}, {65,59}, {86,63}, {104,64}, {129,59}, {153,54}, {196,56}, {209,56}, {222,59}, + }, + { + // RGB LED Index to Flag + 1, 4, 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, 4, 1, + 8, 4, 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, 4, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + } +}; + #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/v8/iso_encoder/keyboard.json b/keyboards/keychron/v8/iso_encoder/keyboard.json index d3db01d61f..d446d213d4 100644 --- a/keyboards/keychron/v8/iso_encoder/keyboard.json +++ b/keyboards/keychron/v8/iso_encoder/keyboard.json @@ -29,80 +29,6 @@ }, "processor": "STM32L432", "bootloader": "stm32-dfu", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1}, - {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4}, - {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4}, - {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4}, - {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4}, - {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4}, - {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4}, - {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4}, - {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4}, - {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4}, - {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1}, - {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1}, - {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4}, - {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 65, "y": 19, "flags": 4}, - {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4}, - {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4}, - {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4}, - {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4}, - {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4}, - {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4}, - {"matrix": [1, 11], "x": 172, "y": 14, "flags": 4}, - {"matrix": [1, 12], "x": 186, "y": 14, "flags": 4}, - {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8}, - {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 39, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4}, - {"matrix": [2, 5], "x": 78, "y": 35, "flags": 4}, - {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4}, - {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4}, - {"matrix": [2, 9], "x": 135, "y": 31, "flags": 4}, - {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4}, - {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4}, - {"matrix": [2, 13], "x": 189, "y": 27, "flags": 4}, - {"matrix": [1, 13], "x": 207, "y": 22, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 40, "flags": 1}, - {"matrix": [3, 1], "x": 15, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 43, "y": 41, "flags": 4}, - {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4}, - {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4}, - {"matrix": [3, 6], "x": 82, "y": 49, "flags": 4}, - {"matrix": [3, 7], "x": 102, "y": 51, "flags": 4}, - {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4}, - {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4}, - {"matrix": [3, 10], "x": 141, "y": 43, "flags": 4}, - {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4}, - {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1}, - {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 52, "flags": 1}, - {"matrix": [4, 1], "x": 17, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 42, "y": 54, "flags": 1}, - {"matrix": [4, 3], "x": 65, "y": 59, "flags": 1}, - {"matrix": [4, 6], "x": 86, "y": 63, "flags": 1}, - {"matrix": [4, 7], "x": 104, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 129, "y": 59, "flags": 1}, - {"matrix": [4, 9], "x": 153, "y": 54, "flags": 1}, - {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1}, - {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1}, - {"matrix": [4, 14], "x": 222, "y": 59, "flags": 1} - ] - }, "layouts": { "LAYOUT_iso_70": { "layout": [ diff --git a/keyboards/keychron/v8/v8.c b/keyboards/keychron/v8/v8.c index c36a0e9d50..0e03ba34ec 100644 --- a/keyboards/keychron/v8/v8.c +++ b/keyboards/keychron/v8/v8.c @@ -30,6 +30,32 @@ bool dip_switch_update_kb(uint8_t index, bool active) { #if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { return false; } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); diff --git a/keyboards/keygem/kg60ansi/keymaps/default/keymap.c b/keyboards/keygem/kg60ansi/keymaps/default/keymap.c index 5ee105b3ab..c89623b685 100644 --- a/keyboards/keygem/kg60ansi/keymaps/default/keymap.c +++ b/keyboards/keygem/kg60ansi/keymaps/default/keymap.c @@ -37,4 +37,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 ) -}; +}; \ No newline at end of file diff --git a/keyboards/keygem/kg60ansi/readme.md b/keyboards/keygem/kg60ansi/readme.md index b0934be52b..f24439855b 100644 --- a/keyboards/keygem/kg60ansi/readme.md +++ b/keyboards/keygem/kg60ansi/readme.md @@ -23,4 +23,4 @@ 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 `RESET` if it is available +* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file diff --git a/keyboards/keygem/kg65rgbv2/keymaps/default/keymap.c b/keyboards/keygem/kg65rgbv2/keymaps/default/keymap.c index eae55fabd0..b3c71d5071 100644 --- a/keyboards/keygem/kg65rgbv2/keymaps/default/keymap.c +++ b/keyboards/keygem/kg65rgbv2/keymaps/default/keymap.c @@ -37,4 +37,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 ) -}; +}; \ No newline at end of file diff --git a/keyboards/keygem/kg65rgbv2/readme.md b/keyboards/keygem/kg65rgbv2/readme.md index b586b23db5..20900cb861 100644 --- a/keyboards/keygem/kg65rgbv2/readme.md +++ b/keyboards/keygem/kg65rgbv2/readme.md @@ -23,4 +23,4 @@ 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 `RESET` if it is available +* **Keycode in layout**: Press the key mapped to `RESET` if it is available \ No newline at end of file diff --git a/keyboards/keyhive/honeycomb/matrix.c b/keyboards/keyhive/honeycomb/matrix.c index a34458e09e..64008228af 100755 --- a/keyboards/keyhive/honeycomb/matrix.c +++ b/keyboards/keyhive/honeycomb/matrix.c @@ -35,12 +35,15 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #define UART_MATRIX_RESPONSE_TIMEOUT 10000 diff --git a/keyboards/keyhive/smallice/keymaps/default/readme.md b/keyboards/keyhive/smallice/keymaps/default/readme.md index 9df942227c..e0c573662c 100644 --- a/keyboards/keyhive/smallice/keymaps/default/readme.md +++ b/keyboards/keyhive/smallice/keymaps/default/readme.md @@ -1,3 +1,3 @@ # The default keymap for smAllice -![smAllice](https://i.imgur.com/OngGf9n.png) +![smAllice](https://i.imgur.com/OngGf9n.png) \ No newline at end of file diff --git a/keyboards/keyspensory/kp60/keymaps/default/keymap.json b/keyboards/keyspensory/kp60/keymaps/default/keymap.json index a75a07f91a..77a4f7fa02 100644 --- a/keyboards/keyspensory/kp60/keymaps/default/keymap.json +++ b/keyboards/keyspensory/kp60/keymaps/default/keymap.json @@ -9,4 +9,4 @@ "layout": "LAYOUT", "notes": "This file is a keymap.json file for keyspensory/kp60", "version": 1 -} +} \ No newline at end of file diff --git a/keyboards/keyten/imi60_hs/keyboard.json b/keyboards/keyten/imi60_hs/keyboard.json deleted file mode 100644 index c9c805e403..0000000000 --- a/keyboards/keyten/imi60_hs/keyboard.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "manufacturer": "La-Versa x keyten", - "keyboard_name": "imi60-HS", - "maintainer": "key10iq", - "processor": "STM32F072", - "bootloader": "stm32-dfu", - "usb": { - "vid": "0xEB69", - "pid": "0x6009", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "rows": ["B1", "B0", "A6", "A5", "B11"], - "cols": ["A3", "A4", "A7", "B2", "B10", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"] - }, - "community_layouts": [ - "60_ansi_wkl_split_bs_rshift", - "60_hhkb", - "60_ansi_tsangan_split_bs_rshift" - ], - "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift" - }, - "layouts": { - "LAYOUT_60_ansi_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/keyten/imi60_hs/keymaps/default/keymap.c b/keyboards/keyten/imi60_hs/keymaps/default/keymap.c deleted file mode 100644 index 3325867867..0000000000 --- a/keyboards/keyten/imi60_hs/keymaps/default/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2025 key10iq -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL - ), - - [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( - 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/keyten/imi60_hs/readme.md b/keyboards/keyten/imi60_hs/readme.md deleted file mode 100644 index 9fd3d3579d..0000000000 --- a/keyboards/keyten/imi60_hs/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# keyten imi60-HS - -imi60-HS - 60% Hot-Swap PCB compatible with keyboards by La-Versa: Animi, Mirimi, Otsukimi and Abyss - -![imi60-HS](https://live.staticflickr.com/65535/54904885051_339dbff9d8_b.jpg) - -* Keyboard Maintainer: [keyten](https://github.com/key10iq) -* Hardware Supported: keyten imi60-HS -* Hardware Availability: private GB - -Make example for this keyboard (after setting up your build environment): - - make keyten/imi60_hs:default - -Flashing example for this keyboard: - - make keyten/imi60_hs:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available -* Physical reset button: Hold the button on the back of the PCB diff --git a/keyboards/keyten/kt356_mini/keyboard.json b/keyboards/keyten/kt356_mini/keyboard.json deleted file mode 100644 index 766b254a2c..0000000000 --- a/keyboards/keyten/kt356_mini/keyboard.json +++ /dev/null @@ -1,299 +0,0 @@ -{ - "manufacturer": "keyten", - "keyboard_name": "kt356 Mini", - "maintainer": "key10iq", - "processor": "STM32F072", - "bootloader": "stm32-dfu", - "usb": { - "vid": "0xEB69", - "pid": "0x6008", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "rows": ["B4", "B5", "A6", "B10", "B11"], - "cols": ["A15", "F1", "F0", "C14", "A3", "C13", "B1", "B9", "A4", "B8", "B0", "B7", "A7", "B6"] - }, - "indicators": { - "caps_lock": "A14" - }, - "community_layouts": [ - "60_ansi", - "60_ansi_split_bs_rshift", - "60_ansi_tsangan", - "60_ansi_tsangan_split_bs_rshift" - ], - "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift" - }, - "layouts": { - "LAYOUT_60_ansi": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6, "y": 0 }, - { "matrix": [0, 7], "x": 7, "y": 0 }, - { "matrix": [0, 8], "x": 8, "y": 0 }, - { "matrix": [0, 9], "x": 9, "y": 0 }, - { "matrix": [0, 10], "x": 10, "y": 0 }, - { "matrix": [0, 11], "x": 11, "y": 0 }, - { "matrix": [0, 12], "x": 12, "y": 0 }, - { "matrix": [2, 13], "w": 2, "x": 13, "y": 0 }, - { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, - { "matrix": [1, 1], "x": 1.5, "y": 1 }, - { "matrix": [1, 2], "x": 2.5, "y": 1 }, - { "matrix": [1, 3], "x": 3.5, "y": 1 }, - { "matrix": [1, 4], "x": 4.5, "y": 1 }, - { "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "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], "w": 1.5, "x": 13.5, "y": 1 }, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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], "w": 2.25, "x": 12.75, "y": 2 }, - { "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 2.25, "y": 3 }, - { "matrix": [3, 2], "x": 3.25, "y": 3 }, - { "matrix": [3, 3], "x": 4.25, "y": 3 }, - { "matrix": [3, 4], "x": 5.25, "y": 3 }, - { "matrix": [3, 5], "x": 6.25, "y": 3 }, - { "matrix": [3, 6], "x": 7.25, "y": 3 }, - { "matrix": [3, 7], "x": 8.25, "y": 3 }, - { "matrix": [3, 8], "x": 9.25, "y": 3 }, - { "matrix": [3, 9], "x": 10.25, "y": 3 }, - { "matrix": [3, 10], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 2.75, "x": 12.25, "y": 3 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, - { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, - { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, - { "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, - { "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 }, - { "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 }, - { "matrix": [4, 11], "w": 1.25, "x": 12.5, "y": 4 }, - { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } - ] - }, - "LAYOUT_60_ansi_split_bs_rshift": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6, "y": 0 }, - { "matrix": [0, 7], "x": 7, "y": 0 }, - { "matrix": [0, 8], "x": 8, "y": 0 }, - { "matrix": [0, 9], "x": 9, "y": 0 }, - { "matrix": [0, 10], "x": 10, "y": 0 }, - { "matrix": [0, 11], "x": 11, "y": 0 }, - { "matrix": [0, 12], "x": 12, "y": 0 }, - { "matrix": [0, 13], "x": 13, "y": 0 }, - { "matrix": [2, 13], "x": 14, "y": 0 }, - { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, - { "matrix": [1, 1], "x": 1.5, "y": 1 }, - { "matrix": [1, 2], "x": 2.5, "y": 1 }, - { "matrix": [1, 3], "x": 3.5, "y": 1 }, - { "matrix": [1, 4], "x": 4.5, "y": 1 }, - { "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "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], "w": 1.5, "x": 13.5, "y": 1 }, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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], "w": 2.25, "x": 12.75, "y": 2 }, - { "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 2.25, "y": 3 }, - { "matrix": [3, 2], "x": 3.25, "y": 3 }, - { "matrix": [3, 3], "x": 4.25, "y": 3 }, - { "matrix": [3, 4], "x": 5.25, "y": 3 }, - { "matrix": [3, 5], "x": 6.25, "y": 3 }, - { "matrix": [3, 6], "x": 7.25, "y": 3 }, - { "matrix": [3, 7], "x": 8.25, "y": 3 }, - { "matrix": [3, 8], "x": 9.25, "y": 3 }, - { "matrix": [3, 9], "x": 10.25, "y": 3 }, - { "matrix": [3, 10], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 14, "y": 3 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, - { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, - { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, - { "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, - { "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4 }, - { "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4 }, - { "matrix": [4, 11], "w": 1.25, "x": 12.5, "y": 4 }, - { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } - ] - }, - "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": [2, 13], "w": 2, "x": 13, "y": 0 }, - { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, - { "matrix": [1, 1], "x": 1.5, "y": 1 }, - { "matrix": [1, 2], "x": 2.5, "y": 1 }, - { "matrix": [1, 3], "x": 3.5, "y": 1 }, - { "matrix": [1, 4], "x": 4.5, "y": 1 }, - { "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "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], "w": 1.5, "x": 13.5, "y": 1 }, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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], "w": 2.25, "x": 12.75, "y": 2 }, - { "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 2.25, "y": 3 }, - { "matrix": [3, 2], "x": 3.25, "y": 3 }, - { "matrix": [3, 3], "x": 4.25, "y": 3 }, - { "matrix": [3, 4], "x": 5.25, "y": 3 }, - { "matrix": [3, 5], "x": 6.25, "y": 3 }, - { "matrix": [3, 6], "x": 7.25, "y": 3 }, - { "matrix": [3, 7], "x": 8.25, "y": 3 }, - { "matrix": [3, 8], "x": 9.25, "y": 3 }, - { "matrix": [3, 9], "x": 10.25, "y": 3 }, - { "matrix": [3, 10], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 2.75, "x": 12.25, "y": 3 }, - { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, - { "matrix": [4, 1], "x": 1.5, "y": 4 }, - { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, - { "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, - { "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 }, - { "matrix": [4, 11], "x": 12.5, "y": 4 }, - { "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 } - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6, "y": 0 }, - { "matrix": [0, 7], "x": 7, "y": 0 }, - { "matrix": [0, 8], "x": 8, "y": 0 }, - { "matrix": [0, 9], "x": 9, "y": 0 }, - { "matrix": [0, 10], "x": 10, "y": 0 }, - { "matrix": [0, 11], "x": 11, "y": 0 }, - { "matrix": [0, 12], "x": 12, "y": 0 }, - { "matrix": [0, 13], "x": 13, "y": 0 }, - { "matrix": [2, 13], "x": 14, "y": 0 }, - { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, - { "matrix": [1, 1], "x": 1.5, "y": 1 }, - { "matrix": [1, 2], "x": 2.5, "y": 1 }, - { "matrix": [1, 3], "x": 3.5, "y": 1 }, - { "matrix": [1, 4], "x": 4.5, "y": 1 }, - { "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "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], "w": 1.5, "x": 13.5, "y": 1 }, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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], "w": 2.25, "x": 12.75, "y": 2 }, - { "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 2.25, "y": 3 }, - { "matrix": [3, 2], "x": 3.25, "y": 3 }, - { "matrix": [3, 3], "x": 4.25, "y": 3 }, - { "matrix": [3, 4], "x": 5.25, "y": 3 }, - { "matrix": [3, 5], "x": 6.25, "y": 3 }, - { "matrix": [3, 6], "x": 7.25, "y": 3 }, - { "matrix": [3, 7], "x": 8.25, "y": 3 }, - { "matrix": [3, 8], "x": 9.25, "y": 3 }, - { "matrix": [3, 9], "x": 10.25, "y": 3 }, - { "matrix": [3, 10], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 14, "y": 3 }, - { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, - { "matrix": [4, 1], "x": 1.5, "y": 4 }, - { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, - { "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, - { "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4 }, - { "matrix": [4, 11], "x": 12.5, "y": 4 }, - { "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 } - ] - } - } -} diff --git a/keyboards/keyten/kt356_mini/keymaps/default/keymap.c b/keyboards/keyten/kt356_mini/keymaps/default/keymap.c deleted file mode 100644 index 3499921fd5..0000000000 --- a/keyboards/keyten/kt356_mini/keymaps/default/keymap.c +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2025 key10iq -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_60_ansi_split_bs_rshift( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL - ), - - [1] = LAYOUT_60_ansi_split_bs_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_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) - -}; diff --git a/keyboards/keyten/kt356_mini/readme.md b/keyboards/keyten/kt356_mini/readme.md deleted file mode 100644 index beac4d0260..0000000000 --- a/keyboards/keyten/kt356_mini/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# keyten kt356 Mini - -Replacement PCB for the OTD (and UTD) 356 Mini keyboard. - -![kt356 Mini image](https://live.staticflickr.com/65535/54907825962_65a650ce4c_b.jpg) - -* Keyboard Maintainer: [keyten](https://github.com/key10iq) -* Hardware Supported: keyten kt356 Mini -* Hardware Availability: private GB - -Make example for this keyboard (after setting up your build environment): - - make keyten/kt356_mini:default - -Flashing example for this keyboard: - - make keyten/kt356_mini:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available -* Physical reset button: Hold the button on the back of the PCB diff --git a/keyboards/keyten/kt60hs_t/keymaps/default/keymap.c b/keyboards/keyten/kt60hs_t/keymaps/default/keymap.c index 3325867867..38938bf162 100644 --- a/keyboards/keyten/kt60hs_t/keymaps/default/keymap.c +++ b/keyboards/keyten/kt60hs_t/keymaps/default/keymap.c @@ -1,5 +1,4 @@ -// Copyright 2025 key10iq -// SPDX-License-Identifier: GPL-2.0-or-later +/* SPDX-License-Identifier: GPL-2.0-or-later */ #include QMK_KEYBOARD_H @@ -14,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [1] = LAYOUT_60_ansi_tsangan_split_bs_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_TRNS, KC_TRNS, + 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, diff --git a/keyboards/keyten/kt60hs_t/readme.md b/keyboards/keyten/kt60hs_t/readme.md index a79f1ba06e..eb02f6bb8f 100644 --- a/keyboards/keyten/kt60hs_t/readme.md +++ b/keyboards/keyten/kt60hs_t/readme.md @@ -2,7 +2,7 @@ 60% MX Hot-Swap Tsangan PCB -![kt60HS-T image](https://live.staticflickr.com/65535/54942233930_c83933dd23_b.jpg) +![kt60HS-T image](https://i.imgur.com/vM32aoX.jpeg) Supports: 1. Split Backspace @@ -10,8 +10,7 @@ Supports: There are two versions of the PCB available. -|Version| Features | -|-------|---------------------------------------------------------| -|v1 |Blue/Purple PCB / ARM STM32F401 controller | -|v2 |Purple PCB / ARM STM32F072 controller | -|v3 |Purple PCB / ARM STM32F072 controller, different routing | +|Version| Features | +|-------|-------------------------------------------| +|v1 |Blue/Purple PCB / ARM STM32F401 controller | +|v2 |Purple PCB / ARM STM32F072 controller | diff --git a/keyboards/keyten/kt60hs_t/v3/keyboard.json b/keyboards/keyten/kt60hs_t/v3/keyboard.json deleted file mode 100644 index ce087483e0..0000000000 --- a/keyboards/keyten/kt60hs_t/v3/keyboard.json +++ /dev/null @@ -1,282 +0,0 @@ -{ - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["A3", "A4", "B12", "B15", "A7", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"], - "rows": ["B13", "B14", "A5", "A6", "B0"] - }, - "processor": "STM32F072", - "usb": { - "device_version": "3.0.0", - "pid": "0x6010" - }, - "community_layouts": [ - "60_ansi_wkl_split_bs_rshift", - "60_hhkb", - "60_ansi_tsangan_split_bs_rshift" - ], - "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift" - }, - "layouts": { - "LAYOUT_60_ansi_wkl_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_hhkb": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4} - ] - }, - "LAYOUT_60_ansi_tsangan_split_bs_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_tsangan_split_rshift": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 11], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/keyten/kt60hs_t/v3/readme.md b/keyboards/keyten/kt60hs_t/v3/readme.md deleted file mode 100644 index b12e49b8ef..0000000000 --- a/keyboards/keyten/kt60hs_t/v3/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# keyten kt60HS-T V3 - -60% MX Hot-Swap Tsangan PCB - -![kt60HS-T image](https://live.staticflickr.com/65535/54942233930_c83933dd23_b.jpg) - -* Keyboard Maintainer: [keyten](https://github.com/key10iq) -* Hardware Supported: keyten kt60HS-T V3 -* Hardware Availability: private GB - -Make example for this keyboard (after setting up your build environment): - - make keyten/kt60hs_t/v3:default - -Flashing example for this keyboard: - - make keyten/kt60hs_t/v3:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available -* Physical reset button: Hold the button on the back of the PCB diff --git a/keyboards/kezewa/enter80/keyboard.json b/keyboards/kezewa/enter80/keyboard.json index 20c834891f..9e62163192 100644 --- a/keyboards/kezewa/enter80/keyboard.json +++ b/keyboards/kezewa/enter80/keyboard.json @@ -345,4 +345,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/kezewa/enter80/matrix_diagram.md b/keyboards/kezewa/enter80/matrix_diagram.md index 1156883c99..716538a4f5 100644 --- a/keyboards/kezewa/enter80/matrix_diagram.md +++ b/keyboards/kezewa/enter80/matrix_diagram.md @@ -19,4 +19,4 @@ ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ │5A │5B │5C │5G │5L │5M │5N │ Tsangan/WKL └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ -``` +``` \ No newline at end of file diff --git a/keyboards/kibou/winter/keyboard.json b/keyboards/kibou/winter/keyboard.json index e6ea8301b2..14f912ceb4 100644 --- a/keyboards/kibou/winter/keyboard.json +++ b/keyboards/kibou/winter/keyboard.json @@ -117,4 +117,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/kikoslab/ellora65/keymaps/default/rules.mk b/keyboards/kikoslab/ellora65/keymaps/default/rules.mk index 76e55c05f4..bbe99c4238 100644 --- a/keyboards/kikoslab/ellora65/keymaps/default/rules.mk +++ b/keyboards/kikoslab/ellora65/keymaps/default/rules.mk @@ -1,2 +1,2 @@ OLED_ENABLE = yes -WPM_ENABLE = yes +WPM_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kikoslab/kl90/keymaps/default/rules.mk b/keyboards/kikoslab/kl90/keymaps/default/rules.mk index 979fc59cc7..90fc9b184b 100644 --- a/keyboards/kikoslab/kl90/keymaps/default/rules.mk +++ b/keyboards/kikoslab/kl90/keymaps/default/rules.mk @@ -1 +1 @@ -WPM_ENABLE = yes +WPM_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kin80/readme.md b/keyboards/kin80/readme.md index d4a10bf32c..3ed52b4a59 100644 --- a/keyboards/kin80/readme.md +++ b/keyboards/kin80/readme.md @@ -30,4 +30,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the the top left key and plug in the keyboard. * **Physical reset button**. Hold 'boot0' button on MCU board, press 'reset', then release 'boot0'. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/kindakeyboards/conone65/readme.md b/keyboards/kindakeyboards/conone65/readme.md index 8cdc326d5b..d0694fcc03 100644 --- a/keyboards/kindakeyboards/conone65/readme.md +++ b/keyboards/kindakeyboards/conone65/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/kinesis/keymaps/alvicstep/keymap.c b/keyboards/kinesis/keymaps/alvicstep/keymap.c index 75ba884ad6..0068ef7d95 100644 --- a/keyboards/kinesis/keymaps/alvicstep/keymap.c +++ b/keyboards/kinesis/keymaps/alvicstep/keymap.c @@ -132,4 +132,4 @@ bool led_update_user(led_t led_state) { //disable default processing of LEDs return false; -} +} \ No newline at end of file diff --git a/keyboards/kinesis/keymaps/alvicstep/readme.md b/keyboards/kinesis/keymaps/alvicstep/readme.md index dcd3a0134b..c21618a1dc 100644 --- a/keyboards/kinesis/keymaps/alvicstep/readme.md +++ b/keyboards/kinesis/keymaps/alvicstep/readme.md @@ -102,4 +102,4 @@ The **alvicstep** layout is optimized for software development on a Windows mach |`KEYPAD + ]` | } | |`KEYPAD + ,` | < | |`KEYPAD + .` | > | -|`KEYPAD + BACKTICK` | ~ | +|`KEYPAD + BACKTICK` | ~ | \ No newline at end of file diff --git a/keyboards/kinesis/kintwin/kintwin.c b/keyboards/kinesis/kintwin/kintwin.c index 0955c6e0a8..e0c3ab4880 100644 --- a/keyboards/kinesis/kintwin/kintwin.c +++ b/keyboards/kinesis/kintwin/kintwin.c @@ -26,4 +26,4 @@ void matrix_init_kb(void) { gpio_write_pin_high(LED_COMPOSE_PIN); matrix_init_user(); -} +} \ No newline at end of file diff --git a/keyboards/kinesis/readme.md b/keyboards/kinesis/readme.md index 498d6cbfbe..4767d6a436 100644 --- a/keyboards/kinesis/readme.md +++ b/keyboards/kinesis/readme.md @@ -12,4 +12,4 @@ There are at least three different ways to replace the controller in this keyboa All three hardware solutions should work with the same keymaps ## Switch Modifications -In addition to the drop-in replacements of the stock controller above, the directory **"keyboards\kin80"** contains the files to support 80 switch modification of the keyboard, compared to original 86 switches. Kin80 keymaps are not compatible with keymaps that are located inside of **kinesis** directory. +In addition to the drop-in replacements of the stock controller above, the directory **"keyboards\kin80"** contains the files to support 80 switch modification of the keyboard, compared to original 86 switches. Kin80 keymaps are not compatible with keymaps that are located inside of **kinesis** directory. \ No newline at end of file diff --git a/keyboards/kisakeyluxury/qtz/readme.md b/keyboards/kisakeyluxury/qtz/readme.md index 3196ce99c4..813bf10a32 100644 --- a/keyboards/kisakeyluxury/qtz/readme.md +++ b/keyboards/kisakeyluxury/qtz/readme.md @@ -21,4 +21,4 @@ Flashing example for this keyboard: Enter the bootloader in 2 ways: * **Physical reset button**: Briefly press the button on the back of the PCB under the "Z" key -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (default is bottom-right most key) +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (default is bottom-right most key) \ No newline at end of file diff --git a/keyboards/kiserdesigns/madeline/keyboard.json b/keyboards/kiserdesigns/madeline/keyboard.json index bdc3ddc9c9..5fdcd981f1 100644 --- a/keyboards/kiserdesigns/madeline/keyboard.json +++ b/keyboards/kiserdesigns/madeline/keyboard.json @@ -28,6 +28,7 @@ "resync": true } }, + "url": "https://qmk.fm/keyboards", "usb": { "device_version": "0.0.1", "pid": "0x6D64", diff --git a/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c b/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c index 77c3603f8a..0c66b20c91 100644 --- a/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c +++ b/keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c @@ -41,4 +41,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/kiwikey/kawii9/keymaps/default/readme.md b/keyboards/kiwikey/kawii9/keymaps/default/readme.md index 02afde7f62..874b526c20 100644 --- a/keyboards/kiwikey/kawii9/keymaps/default/readme.md +++ b/keyboards/kiwikey/kawii9/keymaps/default/readme.md @@ -1,4 +1,4 @@ # Default keymap for KiwiKey Kawii9 This is the default keymap which is flashed on every Kawii9 board from the very first Group-buy. -This keymap contains some basic media commands on BASE layer and RGB underglow control commands on FN layer (FN is the most bottom-left key, by default). +This keymap contains some basic media commands on BASE layer and RGB underglow control commands on FN layer (FN is the most bottom-left key, by default). \ No newline at end of file diff --git a/keyboards/kiwikey/kawii9/readme.md b/keyboards/kiwikey/kawii9/readme.md index 6820ac6f71..4b10e82fab 100644 --- a/keyboards/kiwikey/kawii9/readme.md +++ b/keyboards/kiwikey/kawii9/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make kiwikey/kawii9: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/kiwikey/wanderland/keymaps/default/readme.md b/keyboards/kiwikey/wanderland/keymaps/default/readme.md index d5ff71c696..02cf58d641 100644 --- a/keyboards/kiwikey/wanderland/keymaps/default/readme.md +++ b/keyboards/kiwikey/wanderland/keymaps/default/readme.md @@ -1,3 +1,3 @@ # Default keymap for KiwiKey Wanderland -With NO installation of OLED LCD. +With NO installation of OLED LCD. \ No newline at end of file diff --git a/keyboards/kkatano/bakeneko80/keymaps/default/keymap.c b/keyboards/kkatano/bakeneko80/keymaps/default/keymap.c index 648619b0dd..372dcd4962 100644 --- a/keyboards/kkatano/bakeneko80/keymaps/default/keymap.c +++ b/keyboards/kkatano/bakeneko80/keymaps/default/keymap.c @@ -37,4 +37,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/kmini/readme.md b/keyboards/kmini/readme.md index b58a914592..2a9e8e7908 100755 --- a/keyboards/kmini/readme.md +++ b/keyboards/kmini/readme.md @@ -10,4 +10,4 @@ Columns 0, 1 and 10-16 and rows 0-4 are wired directly to the ATmega32u4, and co Please read the [documentation](https://docs.qmk.fm). ## How to flash -Hold the capslock key while plugging in the USB and flash the .hex file using QMK Toolbox or Atmel FLIP. +Hold the capslock key while plugging in the USB and flash the .hex file using QMK Toolbox or Atmel FLIP. \ No newline at end of file diff --git a/keyboards/knobgoblin/keymaps/default/readme.md b/keyboards/knobgoblin/keymaps/default/readme.md index d1d483510e..9a37b43c63 100644 --- a/keyboards/knobgoblin/keymaps/default/readme.md +++ b/keyboards/knobgoblin/keymaps/default/readme.md @@ -5,4 +5,4 @@ # Ortho Knob Goblin Layout This is the ortho layout for the Knob Goblin. key assignments to be used as a standard numpad layout -with a layer momentary switch in the bottom left +with a layer momentary switch in the bottom left \ No newline at end of file diff --git a/keyboards/knops/mini/keymaps/default/readme.md b/keyboards/knops/mini/keymaps/default/readme.md index 17de6d2869..61479b486c 100644 --- a/keyboards/knops/mini/keymaps/default/readme.md +++ b/keyboards/knops/mini/keymaps/default/readme.md @@ -4,4 +4,4 @@ ![Knops Mini Layout Image](https://i.imgur.com/WQBQctm.png) -This is the default layout that comes flashed on every Knops Mini. For your use, you probably want to change this. We suggest you to use [our configurator tool](http://knops.io/configurator.html) for this. +This is the default layout that comes flashed on every Knops Mini. For your use, you probably want to change this. We suggest you to use [our configurator tool](http://knops.io/configurator.html) for this. \ No newline at end of file diff --git a/keyboards/knops/mini/readme.md b/keyboards/knops/mini/readme.md index 9b02334ae9..4df6c207a4 100644 --- a/keyboards/knops/mini/readme.md +++ b/keyboards/knops/mini/readme.md @@ -18,4 +18,4 @@ Make example for this keyboard (after setting up your build environment): make knops/mini:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file diff --git a/keyboards/knops/readme.md b/keyboards/knops/readme.md index 996d0a6b05..115e4d7c64 100644 --- a/keyboards/knops/readme.md +++ b/keyboards/knops/readme.md @@ -7,4 +7,4 @@ * Maintainer: [Pawnerd](https://github.com/pawnerd) * Hardware Supported: * [`Mini`](mini/): Knops Mini -* Hardware Availability: [knops.io](http://www.knops.io/) +* Hardware Availability: [knops.io](http://www.knops.io/) \ No newline at end of file diff --git a/keyboards/kopibeng/mnk60/readme.md b/keyboards/kopibeng/mnk60/readme.md index b3c33c3a48..70a382f5de 100644 --- a/keyboards/kopibeng/mnk60/readme.md +++ b/keyboards/kopibeng/mnk60/readme.md @@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to * Physical reset button: Press the RESET switch on top side of PCB. * Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard. -* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R keys) in layout if available. +* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R keys) in layout if available. \ No newline at end of file diff --git a/keyboards/kopibeng/mnk60_stm32/readme.md b/keyboards/kopibeng/mnk60_stm32/readme.md index cd9ad480c8..30bea10d07 100644 --- a/keyboards/kopibeng/mnk60_stm32/readme.md +++ b/keyboards/kopibeng/mnk60_stm32/readme.md @@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to * Physical reset button: Press the RESET switch on top side of PCB. * Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard. -* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R key) in layout if available. +* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R key) in layout if available. \ No newline at end of file diff --git a/keyboards/kopibeng/tgr_lena/keyboard.json b/keyboards/kopibeng/tgr_lena/keyboard.json index 15d1e07c45..a526c26e52 100644 --- a/keyboards/kopibeng/tgr_lena/keyboard.json +++ b/keyboards/kopibeng/tgr_lena/keyboard.json @@ -424,4 +424,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/kopibeng/tgr_lena/readme.md b/keyboards/kopibeng/tgr_lena/readme.md index e4a901f46a..107433e01e 100644 --- a/keyboards/kopibeng/tgr_lena/readme.md +++ b/keyboards/kopibeng/tgr_lena/readme.md @@ -18,4 +18,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to * Physical reset: Short the RESET jumper on PCB. * Bootmagic reset: Unplug keyboard, hold down top right key and plug in the keyboard. -* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + top right key) in layout if available. +* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + top right key) in layout if available. \ No newline at end of file diff --git a/keyboards/kopibeng/typ65/typ65.c b/keyboards/kopibeng/typ65/typ65.c index e8bada664a..53af0ba97d 100644 --- a/keyboards/kopibeng/typ65/typ65.c +++ b/keyboards/kopibeng/typ65/typ65.c @@ -64,4 +64,4 @@ void suspend_wakeup_init_kb(void) { gpio_write_pin_high(INDICATOR_2); suspend_wakeup_init_user(); -} +} \ No newline at end of file diff --git a/keyboards/kopibeng/xt60/readme.md b/keyboards/kopibeng/xt60/readme.md index 0aa5723ec8..6eacaded6f 100644 --- a/keyboards/kopibeng/xt60/readme.md +++ b/keyboards/kopibeng/xt60/readme.md @@ -18,4 +18,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to * Physical reset button: Press the RESET switch on top side of PCB. * Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard. -* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R keys) in layout if available. +* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R keys) in layout if available. \ No newline at end of file diff --git a/keyboards/kopibeng/xt60_singa/readme.md b/keyboards/kopibeng/xt60_singa/readme.md index 32bc245b6a..f8efffcf1c 100644 --- a/keyboards/kopibeng/xt60_singa/readme.md +++ b/keyboards/kopibeng/xt60_singa/readme.md @@ -18,4 +18,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to * Physical reset button: Press the RESET switch on top side of PCB. * Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard. -* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R keys) in layout if available. +* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R keys) in layout if available. \ No newline at end of file diff --git a/keyboards/kprepublic/bm16s/keymaps/default/keymap.c b/keyboards/kprepublic/bm16s/keymaps/default/keymap.c index c2c90c3e71..ac634be5d9 100755 --- a/keyboards/kprepublic/bm16s/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm16s/keymaps/default/keymap.c @@ -13,4 +13,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { UG_TOGG, UG_NEXT, UG_HUEU, KC_MUTE, UG_SATU, UG_SATD, UG_HUED, _______ ), -}; +}; \ No newline at end of file diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json index 9dc347da6e..5cad0a013a 100644 --- a/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json +++ b/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json @@ -57,61 +57,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 81, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 101, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 122, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 142, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 162, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 183, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, - {"matrix": [1, 1], "x": 20, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 21, "flags": 4}, - {"matrix": [1, 3], "x": 61, "y": 21, "flags": 4}, - {"matrix": [1, 4], "x": 81, "y": 21, "flags": 4}, - {"matrix": [1, 5], "x": 101, "y": 21, "flags": 4}, - {"matrix": [1, 6], "x": 122, "y": 21, "flags": 4}, - {"matrix": [1, 7], "x": 142, "y": 21, "flags": 4}, - {"matrix": [1, 8], "x": 162, "y": 21, "flags": 4}, - {"matrix": [1, 9], "x": 183, "y": 21, "flags": 4}, - {"matrix": [1, 10], "x": 203, "y": 21, "flags": 4}, - {"matrix": [1, 11], "x": 224, "y": 21, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1}, - {"matrix": [2, 1], "x": 20, "y": 42, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 42, "flags": 4}, - {"matrix": [2, 3], "x": 61, "y": 42, "flags": 4}, - {"matrix": [2, 4], "x": 81, "y": 42, "flags": 4}, - {"matrix": [2, 5], "x": 101, "y": 42, "flags": 4}, - {"matrix": [2, 6], "x": 122, "y": 42, "flags": 4}, - {"matrix": [2, 7], "x": 142, "y": 42, "flags": 4}, - {"matrix": [2, 8], "x": 162, "y": 42, "flags": 4}, - {"matrix": [2, 9], "x": 183, "y": 42, "flags": 4}, - {"matrix": [2, 10], "x": 203, "y": 42, "flags": 4}, - {"matrix": [2, 11], "x": 224, "y": 42, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [3, 1], "x": 20, "y": 64, "flags": 1}, - {"matrix": [3, 2], "x": 40, "y": 64, "flags": 1}, - {"matrix": [3, 3], "x": 61, "y": 64, "flags": 1}, - {"matrix": [3, 4], "x": 81, "y": 64, "flags": 1}, - {"matrix": [3, 5], "x": 111, "y": 64, "flags": 1}, - {"matrix": [3, 7], "x": 142, "y": 64, "flags": 1}, - {"matrix": [3, 8], "x": 162, "y": 64, "flags": 1}, - {"matrix": [3, 9], "x": 183, "y": 64, "flags": 1}, - {"matrix": [3, 10], "x": 203, "y": 64, "flags": 1}, - {"matrix": [3, 11], "x": 224, "y": 64, "flags": 1}, - {"x": 220, "y": 32, "flags": 2}, - {"x": 176, "y": 32, "flags": 2}, - {"x": 132, "y": 32, "flags": 2}, - {"x": 88, "y": 32, "flags": 2}, - {"x": 44, "y": 32, "flags": 2}, - {"x": 0, "y": 32, "flags": 2} - ] "max_brightness": 180, "sleep": true }, diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/rev1.c b/keyboards/kprepublic/bm40hsrgb/rev1/rev1.c new file mode 100755 index 0000000000..f6df97ebf1 --- /dev/null +++ b/keyboards/kprepublic/bm40hsrgb/rev1/rev1.c @@ -0,0 +1,43 @@ +/* Copyright 2020 tominabox1, Richard Goulter + * + * 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" + +#if defined(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, 31, 32, 33, 34, 35}, + {36, 37, 38, 39, 40, 41, NO_LED, 42, 43, 44, 45, 46} + }, { + // LED Index to Physical Position + { 0, 0}, { 20, 0}, { 40, 0}, {61, 0}, {81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0}, + { 0, 21}, { 20, 21}, { 40, 21}, {61, 21}, {81, 21}, {101, 21}, {122, 21}, {142, 21}, {162, 21}, {183, 21}, {203, 21}, {224, 21}, + { 0, 42}, { 20, 42}, { 40, 42}, {61, 42}, {81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42}, + { 0, 64}, { 20, 64}, { 40, 64}, {61, 64}, {81, 64}, {111, 64}, {142, 64}, {162, 64}, {183, 64}, {203, 64}, {224, 64}, + {220, 32}, {176, 32}, {132, 32}, {88, 32}, {44, 32}, {0, 32} + }, { + // LED Index to Flag + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2 + } +}; + +#endif diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/default/readme.md b/keyboards/kprepublic/bm43hsrgb/keymaps/default/readme.md index 178a490d36..a1ebf08a17 100755 --- a/keyboards/kprepublic/bm43hsrgb/keymaps/default/readme.md +++ b/keyboards/kprepublic/bm43hsrgb/keymaps/default/readme.md @@ -24,4 +24,4 @@ |----------------------------------------------------------------------------+ | | | | | | | | | | `----------------------------------------------------------------------------' -``` +``` \ No newline at end of file diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json index 4dcf26964f..55ec5589d1 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json @@ -57,77 +57,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "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": 206, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 11, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 26, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 41, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 101, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 131, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 146, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 161, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 198, "y": 32, "flags": 1}, - {"matrix": [3, 1], "x": 18, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 30, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 60, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 90, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 105, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 120, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 135, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 150, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 165, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 191, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 3, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 101, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 135, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 153, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1}, - {"x": 216, "y": 32, "flags": 2}, - {"x": 180, "y": 32, "flags": 2}, - {"x": 144, "y": 32, "flags": 2}, - {"x": 108, "y": 32, "flags": 2}, - {"x": 72, "y": 32, "flags": 2}, - {"x": 36, "y": 32, "flags": 2} - ] "max_brightness": 180 }, "rgblight": { diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/rev1.c b/keyboards/kprepublic/bm60hsrgb/rev1/rev1.c new file mode 100644 index 0000000000..bec465b2e6 --- /dev/null +++ b/keyboards/kprepublic/bm60hsrgb/rev1/rev1.c @@ -0,0 +1,50 @@ +/* Copyright 2020 MechMerlin + * + * 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" + +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, NO_LED, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 }, + { NO_LED, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53 }, + { 54, 55, 56, NO_LED, NO_LED, NO_LED, 57, NO_LED, NO_LED, 58, 59, 60, 61, 62 } +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + { 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 }, + // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , + { 7, 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 }, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter + { 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 }, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + { 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, { 210, 48 }, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 }, + // UNDERGLOW + { 216, 32 }, { 180, 32 }, { 144, 32 }, { 108, 32 }, { 72, 32 }, { 36, 32 } +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + 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, [, ], , + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + 1, 1, 1, 4, 1, 1, 1, 1, 1, + // UNDERGLOW + 2, 2, 2, 2, 2, 2 +} }; diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/config.h b/keyboards/kprepublic/bm60hsrgb/rev2/config.h index c3fca3563e..98858cd164 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb/rev2/config.h @@ -1,7 +1,29 @@ -// Copyright 2021 bdtc123 -// SPDX-License-Identifier: GPL-2.0-or-later +/* Copyright 2021 bdtc123 + * + * 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 IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND #define IS31FL3733_LED_COUNT 63 -#define WS2812_LED_COUNT 6 + +// Underglow LEDs are WS2812, but someone might want to use RGBLIGHT for them; +// don't use those LEDs in RGB Matrix in that case. +#ifdef RGBLIGHT_ENABLE +# define WS2812_LED_COUNT 0 +#else +# define WS2812_LED_COUNT 6 +#endif + +#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_COUNT) diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json index 88d4c5d9ce..3783ebb8b2 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json @@ -51,80 +51,30 @@ "solid_multisplash": true }, "driver": "custom", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "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": 206, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 11, "y": 32, "flags": 9}, - {"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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 198, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 18, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 30, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 60, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 75, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 90, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 105, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 120, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 135, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 150, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 165, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 191, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 3, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 101, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 135, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 153, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1}, - {"x": 28, "y": 40, "flags": 2}, - {"x": 62, "y": 40, "flags": 2}, - {"x": 96, "y": 40, "flags": 2}, - {"x": 130, "y": 40, "flags": 2}, - {"x": 164, "y": 40, "flags": 2}, - {"x": 198, "y": 40, "flags": 2} - ], "max_brightness": 120, "sleep": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "max_brightness": 150, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + }, + "default": { + "animation": "rainbow_mood" + } + }, "matrix_pins": { "cols": ["B2", "B3", "B7", "B0", "B1", "F7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7"], "rows": ["E6", "D2", "D3", "D5", "F6"] @@ -160,6 +110,7 @@ {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -174,6 +125,7 @@ {"matrix": [1, 11], "x": 11.5, "y": 1}, {"matrix": [1, 12], "x": 12.5, "y": 1}, {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -187,6 +139,7 @@ {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [3, 1], "x": 2.25, "y": 3}, {"matrix": [3, 2], "x": 3.25, "y": 3}, @@ -200,6 +153,7 @@ {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.75}, {"matrix": [3, 12], "x": 13, "y": 3}, {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/default/keymap.c new file mode 100644 index 0000000000..7b6d1ae693 --- /dev/null +++ b/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2021 bdtc123 + * Copyright 2022 peepeetee + * + * 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_60_ansi_arrow( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_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_ansi_arrow( + _______, 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, + _______, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/default/keymap.json b/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/default/keymap.json deleted file mode 100644 index caf08550a0..0000000000 --- a/keyboards/kprepublic/bm60hsrgb/rev2/keymaps/default/keymap.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "keyboard": "kprepublic/bm60hsrgb/rev2", - "keymap": "default", - "layout": "LAYOUT_60_ansi_arrow", - "layers": [ - [ - "KC_ESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", - "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", - "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", - "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_RSFT", "KC_UP", "KC_SLSH", - "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "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", "QK_BOOT", - "_______", "RM_TOGG", "RM_NEXT", "RM_HUEU", "RM_HUED", "RM_SATU", "RM_SATD", "RM_VALU", "RM_VALD", "_______", "_______", "_______", "_______", "_______", - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", - "_______", "_______", "_______", "_______", "_______", "_______", "NK_TOGG", "_______", "_______", "_______", "_______", "_______", "_______", - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" - ] - ] -} diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c index b0e68a8cd6..e7ff5a9ddc 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c @@ -1,19 +1,27 @@ -// Copyright 2021 bdtc123 -// Copyright 2021 sigprof -// SPDX-License-Identifier: GPL-2.0-or-later +/* Copyright 2021 bdtc123 + * Copyright 2021 sigprof + * + * 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" -#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) -# error "RGBLight must not be enabled due to this keyboard's custom RGB Matrix driver" -#endif - #ifdef RGB_MATRIX_ENABLE # include "i2c_master.h" # include "is31fl3733.h" # include "ws2812.h" -// clang-format off const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW2_CS1, SW1_CS1, SW3_CS1 }, { 0, SW2_CS2, SW1_CS2, SW3_CS2 }, @@ -83,7 +91,44 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW2_CS16, SW1_CS16, SW3_CS16 }, { 0, SW5_CS16, SW4_CS16, SW6_CS16 } }; -// clang-format on + +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, NO_LED, 40 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, NO_LED, 51, 52, 53 }, + { 54, 55, 56, NO_LED, NO_LED, 57, NO_LED, NO_LED, NO_LED, 58, 59, 60, 61, 62 } + }, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + { 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 }, + // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , + { 7, 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 }, + // Capslock, A, S, D, F, G, H, A, K, L, ;, ', Enter + { 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 }, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + { 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, { 210, 48 }, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 } +# if WS2812_LED_COUNT > 0 + ,{ 28, 40}, { 62, 40}, { 96, 40}, {130, 40}, {164, 40}, {198, 40} +# endif +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + 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, [, ], + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + // Capslock, A, S, D, F, G, H, A, K, L, ;, ', Enter + 9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, ? + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + 1, 1, 1, 4, 1, 1, 1, 1, 1 +# if WS2812_LED_COUNT > 0 + ,2, 2, 2, 2, 2, 2 +# endif + } +}; bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { @@ -95,6 +140,9 @@ bool rgb_matrix_indicators_kb(void) { return true; } + +// clang-format on + // ========================================================================== // Custom RGB Matrix driver that combines IS31FL3733 and WS2812 // ========================================================================== @@ -112,20 +160,26 @@ static void rgb_matrix_driver_init(void) { static void rgb_matrix_driver_flush(void) { is31fl3733_update_pwm_buffers(0); +# if WS2812_LED_COUNT > 0 ws2812_flush(); +# endif } static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index < IS31FL3733_LED_COUNT) { is31fl3733_set_color(index, red, green, blue); +# if WS2812_LED_COUNT > 0 } else { ws2812_set_color(index - IS31FL3733_LED_COUNT, red, green, blue); +# endif } } static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { is31fl3733_set_color_all(red, green, blue); - ws2812_set_color_all(red, green, blue); +# if WS2812_LED_COUNT > 0 + ws2812_set_color_all(red, green, blue); +# endif } // clang-format off diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json index 84e962e90c..75e8333f7a 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json @@ -51,77 +51,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 195, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "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": 206, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 11, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 26, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 41, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 101, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 131, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 146, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 161, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 198, "y": 32, "flags": 1}, - {"matrix": [3, 1], "x": 18, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 30, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 60, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 90, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 105, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 120, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 135, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 150, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 165, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 191, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 3, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 101, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 135, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 153, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1}, - {"x": 216, "y": 32, "flags": 2}, - {"x": 180, "y": 32, "flags": 2}, - {"x": 144, "y": 32, "flags": 2}, - {"x": 108, "y": 32, "flags": 2}, - {"x": 72, "y": 32, "flags": 2}, - {"x": 36, "y": 32, "flags": 2} - ] "max_brightness": 140 }, "build": { diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/rev1.c b/keyboards/kprepublic/bm60hsrgb_ec/rev1/rev1.c index 55b6df9233..26afae87ae 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/rev1.c +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/rev1.c @@ -14,6 +14,39 @@ * along with this program. If not, see . */ #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, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 }, + { 28, NO_LED, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 }, + { NO_LED, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53 }, + { 54, 55, 56, NO_LED, NO_LED, NO_LED, 57, NO_LED, NO_LED, 58, 59, 60, 61, 62 } +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + { 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 }, + // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , + { 7, 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 }, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter + { 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 }, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + { 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, { 210, 48 }, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 }, + // UNDERGLOW + { 216, 32 }, { 180, 32 }, { 144, 32 }, { 108, 32 }, { 72, 32 }, { 36, 32 } +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + 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, [, ], , + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + 1, 1, 1, 4, 1, 1, 1, 1, 1, + // UNDERGLOW + 2, 2, 2, 2, 2, 2 +} }; bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json index bdff11563b..dd43d36d71 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json @@ -36,71 +36,6 @@ "solid_multisplash": true }, "driver": "is31fl3733", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 195, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "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": 206, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 11, "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 198, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 18, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 30, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 60, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 75, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 90, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 105, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 120, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 135, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 150, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 165, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 191, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 3, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 101, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 135, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 153, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1} - ] "max_brightness": 180, "sleep": true }, @@ -123,7 +58,7 @@ }, "default": { "animation": "rainbow_mood" - } + } }, "build": { "lto": true diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c index e8d7f69435..eca53e9893 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c @@ -85,6 +85,38 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW5_CS16, SW4_CS16, SW6_CS16 } }; +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, NO_LED, 40 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, NO_LED, 51, 52, 53 }, + { 54, 55, 56, NO_LED, NO_LED, 57, NO_LED, NO_LED, NO_LED, 58, 59, 60, 61, 62 } + }, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + { 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 }, + // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , + { 7, 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 }, + // Capslock, A, S, D, F, G, H, A, K, L, ;, ', Enter + { 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 }, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + { 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, { 210, 48 }, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 } +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + 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, [, ], , + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // Capslock, A, S, D, F, G, H, A, K, L, ;, ', Enter + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + 1, 1, 1, 4, 1, 1, 1, 1, 1 + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json index 9468251899..b3bf6e44b2 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json @@ -57,78 +57,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "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": 206, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 11, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 26, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 41, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 101, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 131, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 146, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 161, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 198, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 3, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 22, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 33, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "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": 194, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 213, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 3, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 101, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 135, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 153, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1}, - {"x": 216, "y": 32, "flags": 2}, - {"x": 180, "y": 32, "flags": 2}, - {"x": 144, "y": 32, "flags": 2}, - {"x": 108, "y": 32, "flags": 2}, - {"x": 72, "y": 32, "flags": 2}, - {"x": 36, "y": 32, "flags": 2} - ] "max_brightness": 180 }, "build": { diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/rev1.c b/keyboards/kprepublic/bm60hsrgb_iso/rev1/rev1.c new file mode 100644 index 0000000000..80bc2e2283 --- /dev/null +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/rev1.c @@ -0,0 +1,52 @@ +/* Copyright 2020 markva + * + * 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" + +#if defined(RGB_MATRIX_ENABLE) +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, NO_LED, 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, NO_LED, NO_LED, NO_LED, 58, NO_LED, NO_LED, 59, 60, 61, 62, 63} +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + { 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 }, + // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , + { 7, 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 }, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter + { 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 }, + // LShift, <, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + { 3, 48 }, { 22, 48 }, { 33, 48 }, { 48, 48 }, { 63, 48 }, { 78, 48 }, { 93, 48 }, { 108, 48 }, { 123, 48 }, { 138, 48 }, { 153, 48 }, { 168, 48 }, { 194, 48 }, { 213, 48 }, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 }, + // UNDERGLOW + { 216, 32 }, { 180, 32 }, { 144, 32 }, { 108, 32 }, { 72, 32 }, { 36, 32 } +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + 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, [, ], , + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // LShift,<, Z, X, C, V, B, N, M, ,, ., Shift, Up, / + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + 1, 1, 1, 4, 1, 1, 1, 1, 1, + // UNDERGLOW + 2, 2, 2, 2, 2, 2 +} }; +#endif diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h index 1567ce3eb1..710e240aa4 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h @@ -1,9 +1,31 @@ -// Copyright 2021 bdtc123 -// Copyright 2021 sigprof -// Copyright 2021 peepeetee -// SPDX-License-Identifier: GPL-2.0-or-later +/* Copyright 2021 bdtc123 + * Copyright 2021 sigprof + * Copyright 2021 peepeetee + * + * 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 IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND #define IS31FL3733_LED_COUNT 64 -#define WS2812_LED_COUNT 6 + +// Underglow LEDs are WS2812, but someone might want to use RGBLIGHT for them; +// don't use those LEDs in RGB Matrix in that case. +#ifdef RGBLIGHT_ENABLE +# define WS2812_LED_COUNT 0 +#else +# define WS2812_LED_COUNT 6 +#endif + +#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_COUNT) diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json index fec641b886..3a0df3e414 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json @@ -59,81 +59,30 @@ "animation": "cycle_all" }, "driver": "custom", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "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": 206, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 11, "y": 32, "flags": 9}, - {"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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 198, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 3, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 22, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 33, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 63, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 78, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 93, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 108, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 123, "y": 48, "flags": 4}, - {"x": 138, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 153, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 168, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 194, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 213, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 3, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 101, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 135, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 153, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1}, - {"x": 28, "y": 40, "flags": 2}, - {"x": 62, "y": 40, "flags": 2}, - {"x": 96, "y": 40, "flags": 2}, - {"x": 130, "y": 40, "flags": 2}, - {"x": 164, "y": 40, "flags": 2}, - {"x": 198, "y": 40, "flags": 2} - ], "max_brightness": 180, "sleep": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "max_brightness": 150, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + }, + "default": { + "animation": "rainbow_mood" + } + }, "matrix_pins": { "cols": ["B2", "B3", "B7", "B0", "B1", "F7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7"], "rows": ["E6", "D2", "D3", "D5", "F6"] @@ -169,6 +118,7 @@ {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -182,6 +132,7 @@ {"matrix": [1, 10], "x": 10.5, "y": 1}, {"matrix": [1, 11], "x": 11.5, "y": 1}, {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [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}, @@ -196,6 +147,7 @@ {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [2, 12], "x": 12.75, "y": 2}, {"matrix": [1, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, {"matrix": [4, 3], "x": 1.25, "y": 3}, {"matrix": [3, 1], "x": 2.25, "y": 3}, @@ -210,6 +162,7 @@ {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.75}, {"matrix": [3, 12], "x": 13, "y": 3}, {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, diff --git a/keyboards/kbdfans/d60b/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.c similarity index 51% rename from keyboards/kbdfans/d60b/keymaps/default/keymap.c rename to keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.c index d0a47b0d2f..f3aa8083f1 100644 --- a/keyboards/kbdfans/d60b/keymaps/default/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.c @@ -1,4 +1,5 @@ -/* Copyright 2025 chrisgve +/* Copyright 2020 markva + * Copyright 2021 bdtc123 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -13,25 +14,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - #include QMK_KEYBOARD_H -// clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0]=LAYOUT_60_ansi_tsangan_split_bs_rshift( - 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_GRAVE, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL + [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_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_ansi_tsangan_split_bs_rshift( - 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, - RM_TOGG, RM_NEXT, RM_PREV, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, RM_SPDU, RM_SPDD, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______ + [1] = LAYOUT_60_iso_arrow( + _______, 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, + _______, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END ) }; -//clang-format on diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.json b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.json deleted file mode 100644 index ea074ba006..0000000000 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keymaps/default/keymap.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "keyboard": "kprepublic/bm60hsrgb_iso/rev2", - "keymap": "default", - "layout": "LAYOUT_60_iso_arrow", - "layers": [ - [ - "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_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" - ], - [ - "_______", "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", - "_______", "RM_TOGG", "RM_NEXT", "RM_HUEU", "RM_HUED", "RM_SATU", "RM_SATD", "RM_VALU", "RM_VALD", "_______", "_______", "_______", "_______", - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", - "_______", "_______", "_______", "_______", "_______", "_______", "NK_TOGG", "_______", "_______", "_______", "_______", "KC_PGUP", "_______", - "_______", "_______", "_______", "_______", "_______", "_______", "KC_HOME", "KC_PGDN", "KC_END" - ] - ] -} diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c index 9e617bb8ef..0d52d1bacb 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c @@ -1,20 +1,29 @@ -// Copyright 2021 bdtc123 -// Copyright 2021 sigprof -// Copyright 2021 peepeetee -// SPDX-License-Identifier: GPL-2.0-or-later +/* Copyright 2021 bdtc123 + * Copyright 2021 sigprof + * Copyright 2021 peepeetee + * + * 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" -#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) -# error "RGBLight must not be enabled due to this keyboard's custom RGB Matrix driver" -#endif - #ifdef RGB_MATRIX_ENABLE # include "i2c_master.h" # include "is31fl3733.h" # include "ws2812.h" -// clang-format off + const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW2_CS1, SW1_CS1, SW3_CS1 }, { 0, SW2_CS2, SW1_CS2, SW3_CS2 }, @@ -85,7 +94,42 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW2_CS15, SW1_CS15, SW3_CS15 }, { 0, SW5_CS16, SW4_CS16, SW6_CS16 } }; -// clang-format on + +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,NO_LED}, + { 41, 58, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54 }, + { 55, 56, 57,NO_LED,NO_LED, 58,NO_LED,NO_LED,NO_LED, 59, 60, 61, 62, 63 } +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + { 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 }, + // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , + { 7, 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 }, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter + { 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 }, + // LShift, <, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + { 3, 48 }, { 22, 48 }, { 33, 48 }, { 48, 48 }, { 63, 48 }, { 78, 48 }, { 93, 48 }, { 108, 48 }, { 123, 48 }, { 138, 48 }, { 153, 48 }, { 168, 48 }, { 194, 48 }, { 213, 48 }, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 } +# if WS2812_LED_COUNT > 0 + ,{ 28, 40}, { 62, 40}, { 96, 40}, {130, 40}, {164, 40}, {198, 40} +# endif +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + 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, [, ], Enter + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ',# + 9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + // LShift,backslash, Z, X, C, V, B, N, M, ,, ., Shift, Up, / + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + 1, 1, 1, 4, 1, 1, 1, 1, 1 +# if WS2812_LED_COUNT > 0 + ,2, 2, 2, 2, 2, 2 +# endif +} }; bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { @@ -97,6 +141,8 @@ bool rgb_matrix_indicators_kb(void) { return true; } +// clang-format on + // ========================================================================== // Custom RGB Matrix driver that combines IS31FL3733 and WS2812 // ========================================================================== @@ -114,20 +160,26 @@ static void rgb_matrix_driver_init(void) { static void rgb_matrix_driver_flush(void) { is31fl3733_update_pwm_buffers(0); +# if WS2812_LED_COUNT > 0 ws2812_flush(); +# endif } static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index < IS31FL3733_LED_COUNT) { is31fl3733_set_color(index, red, green, blue); +# if WS2812_LED_COUNT > 0 } else { ws2812_set_color(index - IS31FL3733_LED_COUNT, red, green, blue); +# endif } } static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { is31fl3733_set_color_all(red, green, blue); +# if WS2812_LED_COUNT > 0 ws2812_set_color_all(red, green, blue); +# endif } // clang-format off diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rules.mk b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rules.mk index bb6c11ea53..7012deda8c 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rules.mk +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rules.mk @@ -1,5 +1,7 @@ -WS2812_DRIVER_REQUIRED = yes - +# The custom RGB Matrix driver combines IS31FL3733 and WS2812; things that are +# normally done by common_features.mk for both of these drivers need to be done +# here manually. COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3733.c I2C_DRIVER_REQUIRED = yes +WS2812_DRIVER_REQUIRED = yes diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json index 00cf89b973..9619665e6d 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json @@ -56,75 +56,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "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": 206, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 11, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 26, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 41, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 101, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 131, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 146, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 161, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 198, "y": 32, "flags": 1}, - {"matrix": [3, 1], "x": 18, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 30, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 60, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 90, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 105, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 120, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 135, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 150, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 165, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 191, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 3, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 101, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 135, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 153, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1}, - {"x": 216, "y": 32, "flags": 2}, - {"x": 180, "y": 32, "flags": 2}, - {"x": 144, "y": 32, "flags": 2}, - {"x": 108, "y": 32, "flags": 2}, - {"x": 72, "y": 32, "flags": 2}, - {"x": 36, "y": 32, "flags": 2} - ] "max_brightness": 180 }, "rgblight": { diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/rev1.c b/keyboards/kprepublic/bm60hsrgb_poker/rev1/rev1.c new file mode 100644 index 0000000000..d5dd1f2f97 --- /dev/null +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/rev1.c @@ -0,0 +1,52 @@ +/* Copyright 2020 ipetepete + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +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, NO_LED, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 }, + { NO_LED, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, NO_LED, 52 }, + { 53, 54, 55, NO_LED, NO_LED, NO_LED, 56, NO_LED, NO_LED, 57, 58, NO_LED, 59, 60 } +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + { 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 }, + // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , + { 7, 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 }, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter + { 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 }, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + { 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 210, 64 }, { 225, 64 }, + // UNDERGLOW + { 216, 32 }, { 180, 32 }, { 144, 32 }, { 108, 32 }, { 72, 32 }, { 36, 32 } +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + 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, [, ], , + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + 1, 1, 1, 4, 1, 1, 1, 1, + // UNDERGLOW + 2, 2, 2, 2, 2, 2 +} }; +#endif diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h index 52d273230f..843c5b2625 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h @@ -1,7 +1,29 @@ -// Copyright 2021 bdtc123 -// SPDX-License-Identifier: GPL-2.0-or-later +/* Copyright 2021 bdtc123 + * + * 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 IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND #define IS31FL3733_LED_COUNT 61 -#define WS2812_LED_COUNT 6 + +// Underglow LEDs are WS2812, but someone might want to use RGBLIGHT for them; +// don't use those LEDs in RGB Matrix in that case. +#ifdef RGBLIGHT_ENABLE +# define WS2812_LED_COUNT 0 +#else +# define WS2812_LED_COUNT 6 +#endif + +#define RGB_MATRIX_LED_COUNT (IS31FL3733_LED_COUNT + WS2812_LED_COUNT) diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json index e5bb84c8ff..f3edf59fec 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json @@ -56,78 +56,29 @@ "solid_multisplash": true }, "driver": "custom", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "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": 206, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 11, "y": 32, "flags": 9}, - {"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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 198, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 18, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 30, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 45, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 60, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 75, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 90, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 105, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 120, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 135, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 150, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 165, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 191, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 3, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 33, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 101, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 135, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 153, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1}, - {"x": 28, "y": 40, "flags": 2}, - {"x": 62, "y": 40, "flags": 2}, - {"x": 96, "y": 40, "flags": 2}, - {"x": 130, "y": 40, "flags": 2}, - {"x": 164, "y": 40, "flags": 2}, - {"x": 198, "y": 40, "flags": 2} - ], "max_brightness": 120, "sleep": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "max_brightness": 150, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true + }, + "default": { + "animation": "rainbow_mood" + } + }, "matrix_pins": { "cols": ["B2", "B3", "B7", "B0", "B1", "F7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7"], "rows": ["E6", "D2", "D3", "D5", "F6"] @@ -163,6 +114,7 @@ {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, {"matrix": [1, 2], "x": 2.5, "y": 1}, @@ -177,6 +129,7 @@ {"matrix": [1, 11], "x": 11.5, "y": 1}, {"matrix": [1, 12], "x": 12.5, "y": 1}, {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -190,6 +143,7 @@ {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [3, 1], "x": 2.25, "y": 3}, {"matrix": [3, 2], "x": 3.25, "y": 3}, @@ -202,6 +156,7 @@ {"matrix": [3, 9], "x": 10.25, "y": 3}, {"matrix": [3, 10], "x": 11.25, "y": 3}, {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/default/keymap.c b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/default/keymap.c new file mode 100644 index 0000000000..637d49d467 --- /dev/null +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2021 bdtc123 + * + * 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_60_ansi( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL + ), + [1] = LAYOUT_60_ansi( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, + _______, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/default/keymap.json b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/default/keymap.json deleted file mode 100644 index 98e6b5a609..0000000000 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keymaps/default/keymap.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "keyboard": "kprepublic/bm60hsrgb_poker/rev2", - "keymap": "default", - "layout": "LAYOUT_60_ansi", - "layers": [ - [ - "QK_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", - "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", - "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", - "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", - "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_RGUI", "KC_RCTL" - ], - [ - "_______", "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", - "_______", "RM_TOGG", "RM_NEXT", "RM_HUEU", "RM_HUED", "RM_SATU", "RM_SATD", "RM_VALU", "RM_VALD", "_______", "_______", "_______", "_______", "_______", - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", - "_______", "_______", "_______", "_______", "_______", "_______", "NK_TOGG", "_______", "_______", "_______", "_______", "_______", "_______", - "_______", "_______", "_______", "_______", "_______", "_______", "_______" - ] - ] -} diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c index 865754b423..5766942b34 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c @@ -1,18 +1,26 @@ -// Copyright 2021 bdtc123 -// SPDX-License-Identifier: GPL-2.0-or-later +/* Copyright 2021 bdtc123 + * + * 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" -#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) -# error "RGBLight must not be enabled due to this keyboard's custom RGB Matrix driver" -#endif - #ifdef RGB_MATRIX_ENABLE # include "i2c_master.h" # include "is31fl3733.h" # include "ws2812.h" -// clang-format off const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW2_CS1, SW1_CS1, SW3_CS1 }, { 0, SW2_CS2, SW1_CS2, SW3_CS2 }, @@ -80,7 +88,44 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, SW11_CS12, SW10_CS12, SW12_CS12 }, { 0, SW5_CS16, SW4_CS16, SW6_CS16 } }; -// clang-format on + +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, NO_LED, 40 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, NO_LED, NO_LED, 52 }, + { 53, 54, 55, NO_LED, NO_LED, 56, NO_LED, NO_LED, NO_LED, 57, 58, 59, NO_LED, 60 } + }, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + { 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 }, + // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , + { 7, 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 }, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter + { 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 }, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + { 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 210, 64 }, { 225, 64 } +# if WS2812_LED_COUNT > 0 + ,{ 28, 40}, { 62, 40}, { 96, 40}, {130, 40}, {164, 40}, {198, 40} +# endif +}, { + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace + 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 + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter + 9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + 1, 1, 1, 4, 1, 1, 1, 1 +# if WS2812_LED_COUNT > 0 + ,2, 2, 2, 2, 2, 2 +# endif + } +}; bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { @@ -92,6 +137,8 @@ bool rgb_matrix_indicators_kb(void) { return true; } +// clang-format on + // ========================================================================== // Custom RGB Matrix driver that combines IS31FL3733 and WS2812 // ========================================================================== @@ -109,20 +156,26 @@ static void rgb_matrix_driver_init(void) { static void rgb_matrix_driver_flush(void) { is31fl3733_update_pwm_buffers(0); +# if WS2812_LED_COUNT > 0 ws2812_flush(); +# endif } static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index < IS31FL3733_LED_COUNT) { is31fl3733_set_color(index, red, green, blue); +# if WS2812_LED_COUNT > 0 } else { ws2812_set_color(index - IS31FL3733_LED_COUNT, red, green, blue); +# endif } } static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { is31fl3733_set_color_all(red, green, blue); +# if WS2812_LED_COUNT > 0 ws2812_set_color_all(red, green, blue); +# endif } // clang-format off diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rules.mk b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rules.mk index bb6c11ea53..7012deda8c 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rules.mk +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rules.mk @@ -1,5 +1,7 @@ -WS2812_DRIVER_REQUIRED = yes - +# The custom RGB Matrix driver combines IS31FL3733 and WS2812; things that are +# normally done by common_features.mk for both of these drivers need to be done +# here manually. COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3733.c I2C_DRIVER_REQUIRED = yes +WS2812_DRIVER_REQUIRED = yes diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json index ae88446469..d761606a5a 100644 --- a/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json +++ b/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json @@ -11,82 +11,7 @@ "pin": "E2" }, "rgb_matrix": { - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [0, 14], "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": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 26, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 41, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 101, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 131, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 146, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 161, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 32, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 1], "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": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 208, "y": 48, "flags": 1}, - {"matrix": [3, 14], "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": 94, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 148, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 163, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 193, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 208, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}, - {"x": 185, "y": 45, "flags": 2}, - {"x": 160, "y": 45, "flags": 2}, - {"x": 125, "y": 45, "flags": 2}, - {"x": 95, "y": 45, "flags": 2}, - {"x": 60, "y": 45, "flags": 2}, - {"x": 25, "y": 45, "flags": 2} - ] + "driver": "ws2812" }, "build": { "lto": true diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/rev1.c b/keyboards/kprepublic/bm65hsrgb/rev1/rev1.c new file mode 100644 index 0000000000..7f416bc9ae --- /dev/null +++ b/keyboards/kprepublic/bm65hsrgb/rev1/rev1.c @@ -0,0 +1,44 @@ +/* Copyright 2021 bytesapart + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +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, NO_LED, 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, Left, Down, Right + {185, 45}, {160, 45}, {125, 45}, { 95, 45}, { 60, 45}, { 25, 45} // UNDERGLOW +}, { + // 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, RAlt, FN, Left, Down, Right + 2, 2, 2, 2, 2, 2 // UNDERGLOW +} }; +#endif diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json index d8fb49fb5f..187816b660 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json @@ -82,82 +82,6 @@ "animation": "band_sat" }, "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 7, "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": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 11, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 26, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 41, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 101, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 131, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 146, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 161, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 198, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 3, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 18, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 33, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "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": 190, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 209, "y": 48, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 3, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 33, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 101, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 135, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 153, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 194, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 209, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}, - {"x": 216, "y": 32, "flags": 2}, - {"x": 180, "y": 32, "flags": 2}, - {"x": 144, "y": 32, "flags": 2}, - {"x": 108, "y": 32, "flags": 2}, - {"x": 72, "y": 32, "flags": 2}, - {"x": 36, "y": 32, "flags": 2} - ] "max_brightness": 140 }, "build": { diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.c b/keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.c index acf2aed98b..52c661d3f4 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.c +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.c @@ -16,6 +16,44 @@ #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}, + { 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, NO_LED, 64, 65, 66, 67} + +}, { + // LED Index to Physical Position + // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete + { 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 }, { 224, 0 }, + // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], Enter, Pos1 + { 7, 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 }, { 224, 16 }, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', , PageUp + { 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 }, { 224, 32 }, + // LShift, <, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, PageDown + { 3, 48 }, { 18, 48 }, { 33, 48 }, { 48, 48 }, { 63, 48 }, { 78, 48 }, { 93, 48 }, { 108, 48 }, { 123, 48 }, { 138, 48 }, { 153, 48 }, { 168, 48 }, { 190, 48 }, { 209, 48 }, { 224, 48 }, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 194, 64 }, { 209, 64 },{ 224, 64 }, + // UNDERGLOW + { 216, 32 }, { 180, 32 }, { 144, 32 }, { 108, 32 }, { 72, 32 }, { 36, 32 } +}, { + // LED Index to Flag + // 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, [, ], Enter, Pos1 + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // Capslock, A, S, D, F, G, H, J, K, L, ;, ', , PageUp + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // LShift, <, Z, X, C, V, B, N, M, ,, ., /, RShift, Up, PageDown + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right + 1, 1, 1, 4, 1, 1, 1, 1, 1, + // UNDERGLOW + 2, 2, 2, 2, 2, 2 +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json index 3b379437c4..b5ca4d696d 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json +++ b/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json @@ -57,82 +57,6 @@ "solid_multisplash": true }, "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [0, 14], "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": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 26, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 41, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 56, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 101, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 131, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 146, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 161, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 32, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 1], "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": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 208, "y": 48, "flags": 1}, - {"matrix": [3, 14], "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": 94, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 148, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 163, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 178, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 193, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 208, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}, - {"x": 185, "y": 45, "flags": 2}, - {"x": 160, "y": 45, "flags": 2}, - {"x": 125, "y": 45, "flags": 2}, - {"x": 95, "y": 45, "flags": 2}, - {"x": 60, "y": 45, "flags": 2}, - {"x": 25, "y": 45, "flags": 2} - ] "max_brightness": 180 }, "build": { diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/rev1.c b/keyboards/kprepublic/bm68hsrgb/rev1/rev1.c index 5484b15353..abe2b98c20 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/rev1.c +++ b/keyboards/kprepublic/bm68hsrgb/rev1/rev1.c @@ -17,6 +17,31 @@ #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, 67 } +}, { + // 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}, {178, 64}, {193, 64}, {208, 64}, {225, 64}, // Ctrl, GUI, Alt, Space, RAlt, FN, Ctrl, Left, Down, Right + {185, 45}, {160, 45}, {125, 45}, { 95, 45}, { 60, 45}, { 25, 45} // UNDERGLOW +}, { + // 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, 1, // Ctrl, GUI, Alt, Space, RAlt, FN, Ctrl, Left, Down, Right + 2, 2, 2, 2, 2, 2 // UNDERGLOW +} }; + //CAPS backlight bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json b/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json index 56f4df55fb..28ad31304e 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json +++ b/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json @@ -42,76 +42,6 @@ "solid_multisplash": true }, "driver": "is31fl3741", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 32, "flags": 4}, - {"matrix": [2, 14], "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": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 14], "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": 96, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 150, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 165, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 180, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "max_brightness": 180, "sleep": true }, diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c index 43f1eb56c0..68068d7fb9 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c +++ b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c @@ -92,6 +92,26 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW7_CS30, SW7_CS29, SW7_CS28} }; +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, NO_LED, 42, 43 }, + { 44,NO_LED, 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, 67 } +}, { + {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},{203,0},{224,0}, + {4,16},{23,16},{38,16},{53,16},{68,16},{83,16},{98,16},{113,16},{128,16},{143,16},{158,16},{173,16},{188,16},{206,16},{224,16}, + {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},{224,32}, + {9,48},{34,48},{49,48},{64,48},{79,48},{94,48},{109,48},{124,48},{139,48},{154,48},{169,48},{189,48},{210,48},{224,48}, + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 } +}, { + 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, 1, 1, 1 +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { diff --git a/keyboards/kprepublic/bm80hsrgb/bm80hsrgb.c b/keyboards/kprepublic/bm80hsrgb/bm80hsrgb.c new file mode 100644 index 0000000000..2ec020739a --- /dev/null +++ b/keyboards/kprepublic/bm80hsrgb/bm80hsrgb.c @@ -0,0 +1,142 @@ +/* Copyright 2021 peepeetee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, NO_LED, 1, 2, 3, 4, NO_LED, 5, 6, 7, 8, 9, 10, 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, 11, 62, NO_LED, NO_LED, NO_LED }, + /* ^ this one is f11*/ + { 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, NO_LED, 74, NO_LED, NO_LED, 75, NO_LED }, + { 76, 77, 78, NO_LED, NO_LED, 79, NO_LED, NO_LED, NO_LED, 80, 81, 82, 83, 84, NO_LED, 85, 86 } + +// K0_0, K0_2, K0_3, K0_4, K0_5, K0_7, K0_8, K0_9, K0_A, K0_B, K0_C, K3_C, K0_D, K0_E, K0_F, K0_10, +// K1_0, K1_1, K1_2, K1_3, K1_4, K1_5, K1_6, K1_7, K1_8, K1_9, K1_A, K1_B, K1_C, K1_D, K1_E, K1_F, K1_10, +// K2_0, K2_1, K2_2, K2_3, K2_4, K2_5, K2_6, K2_7, K2_8, K2_9, K2_A, K2_B, K2_C, K2_D, K2_E, K2_F, K2_10, +// K3_0, K3_1, K3_2, K3_3, K3_4, K3_5, K3_6, K3_7, K3_8, K3_9, K3_A, K3_B, K3_D, +// K4_0, K4_1, K4_2, K4_3, K4_4, K4_5, K4_6, K4_7, K4_8, K4_9, K4_A, K4_C, K4_F, +// K5_0, K5_1, K5_2, K5_5, K5_9, K5_A, K5_B, K5_C, K5_D, K5_F, K5_10 + + +// K0_0, KC_NO, K0_2, K0_3, K0_4, K0_5, KC_NO, K0_7, K0_8, K0_9, K0_A, K0_B, K0_C, K0_D, K0_E, K0_F, K0_10 +// K1_0, K1_1, K1_2, K1_3, K1_4, K1_5, K1_6, K1_7, K1_8, K1_9, K1_A, K1_B, K1_C, K1_D, K1_E, K1_F, K1_10 +// K2_0, K2_1, K2_2, K2_3, K2_4, K2_5, K2_6, K2_7, K2_8, K2_9, K2_A, K2_B, K2_C, K2_D, K2_E, K2_F, K2_10 +// K3_0, K3_1, K3_2, K3_3, K3_4, K3_5, K3_6, K3_7, K3_8, K3_9, K3_A, K3_B, K3_C, K3_D, KC_NO, KC_NO, KC_NO +// K4_0, K4_1, K4_2, K4_3, K4_4, K4_5, K4_6, K4_7, K4_8, K4_9, K4_A, KC_NO, K4_C, KC_NO, KC_NO, K4_F, KC_NO +// K5_0, K5_1, K5_2, KC_NO, KC_NO, K5_5, KC_NO, KC_NO, KC_NO, K5_9, K5_A, K5_B, K5_C, K5_D, KC_NO, K5_F, K5_10 + + /* + * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ 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 Position + { 7, 5 }, { 31, 5 }, { 43, 5 }, { 55, 5 }, { 67, 5 }, { 85, 5 }, { 97, 5 }, { 109, 5 }, { 121, 5 }, { 139, 5 }, { 151, 5 }, { 163, 5 }, { 175, 5 }, { 193, 5 }, { 205, 5 }, { 217, 5 }, + /* + * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ 0 │   │ 1 │ 2 │ 3 │ 4 │ │ 5 │ 6 │ 7 │ 8 │ │ 9 │ 10│ 11│ 12│ │ 13│ 14│ 15│ + * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + */ + { 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 }, { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 }, { 217, 20 }, + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ + * │ 16│ 17│ 18│ 19│ 20│ 21│ 22│ 23│ 24│ 25│ 26│ 27│ 28│  29 │ │ 30│ 31│ 32│ + * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───────┘ └───┴───┴───┘ + */ + { 10, 30 }, { 25, 30 }, { 37, 30 }, { 49, 30 }, { 61, 30 }, { 73, 30 }, { 85, 30 }, { 97, 30 }, { 109, 30 }, { 121, 30 }, { 133, 30 }, { 145, 30 }, { 157, 30 }, { 172, 30 }, { 193, 30 }, { 205, 30 }, { 217, 30 }, + /* + * ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ ┌───┬───┬───┐ + * │  33 │ 34│ 35│ 36│ 37│ 38│ 39│ 40│ 41│ 42│ 43│ 44│ 45│  46 │ │ 47│ 48│ 49│ + * └─────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴─────┘ └───┴───┴───┘ + */ + { 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 }, { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 }, + /* + * ┌──────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┐ + * │ 50  │ 51│ 52│ 53│ 54│ 55│ 56│ 57│ 58│ 59│ 60│ 61│   62  │ + * └──────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴────────┘ + */ + { 14, 49 }, { 34, 49 }, { 46, 49 }, { 58, 49 }, { 70, 49 }, { 82, 49 }, { 94, 49 }, { 106, 49 }, { 118, 49 }, { 130, 49 }, { 142, 49 }, { 165, 49 }, { 205, 49 }, + /* + * ┌────────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────────┐     ┌───┐ + * │ 63   │ 64│ 65│ 66│ 67│ 68│ 69│ 70│ 71│ 72│ 73│    74  │     │ 75│ + * └────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴──────────┘  └───┘ + */ + { 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 }, { 193, 59 }, { 205, 59 }, { 217, 59 } + /* + * ┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ ┌───┬───┬───┐ + * │ 76 │ 77 │ 78 │           79           │ 80 │ 81 │ 82 │ 83 │ │ 84│ 85│ 86│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + */ +}, { + // LED Index to Flag + 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 9/*scroll lock*/, 1, + /* + * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ 0 │   │ 1 │ 2 │ 3 │ 4 │ │ 5 │ 6 │ 7 │ 8 │ │ 9 │ 10│ 11│ 12│ │ 13│ 14│ 15│ + * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + */ + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ + * │ 16│ 17│ 18│ 19│ 20│ 21│ 22│ 23│ 24│ 25│ 26│ 27│ 28│  29 │ │ 30│ 31│ 32│ + * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───────┘ └───┴───┴───┘ + */ + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + /* + * ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ ┌───┬───┬───┐ + * │  33 │ 34│ 35│ 36│ 37│ 38│ 39│ 40│ 41│ 42│ 43│ 44│ 45│  46 │ │ 47│ 48│ 49│ + * └─────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴─────┘ └───┴───┴───┘ + */ + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + //caps lock is 1 instead of 1+8, this board has a dedicated led + /* + * ┌──────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┐ + * │ 50  │ 51│ 52│ 53│ 54│ 55│ 56│ 57│ 58│ 59│ 60│ 61│   62  │ + * └──────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴────────┘ + */ + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + /* + * ┌────────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────────┐     ┌───┐ + * │ 63   │ 64│ 65│ 66│ 67│ 68│ 69│ 70│ 71│ 72│ 73│    74  │     │ 75│ + * └────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴──────────┘  └───┘ + */ + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1 + /* + * ┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ ┌───┬───┬───┐ + * │ 76 │ 77 │ 78 │           79           │ 80 │ 81 │ 82 │ 83 │ │ 84│ 85│ 86│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + */ +} }; + + +#endif diff --git a/keyboards/kprepublic/bm80hsrgb/keyboard.json b/keyboards/kprepublic/bm80hsrgb/keyboard.json index 4acf4be5e8..1a1b1a6ed3 100644 --- a/keyboards/kprepublic/bm80hsrgb/keyboard.json +++ b/keyboards/kprepublic/bm80hsrgb/keyboard.json @@ -55,96 +55,7 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 7, "y": 5, "flags": 1}, - {"matrix": [0, 2], "x": 31, "y": 5, "flags": 4}, - {"matrix": [0, 3], "x": 43, "y": 5, "flags": 4}, - {"matrix": [0, 4], "x": 55, "y": 5, "flags": 4}, - {"matrix": [0, 5], "x": 67, "y": 5, "flags": 4}, - {"matrix": [0, 7], "x": 85, "y": 5, "flags": 1}, - {"matrix": [0, 8], "x": 97, "y": 5, "flags": 1}, - {"matrix": [0, 9], "x": 109, "y": 5, "flags": 1}, - {"matrix": [0, 10], "x": 121, "y": 5, "flags": 1}, - {"matrix": [0, 11], "x": 139, "y": 5, "flags": 4}, - {"matrix": [0, 12], "x": 151, "y": 5, "flags": 4}, - {"matrix": [3, 12], "x": 163, "y": 5, "flags": 4}, - {"matrix": [0, 13], "x": 175, "y": 5, "flags": 4}, - {"matrix": [0, 14], "x": 193, "y": 5, "flags": 1}, - {"matrix": [0, 15], "x": 205, "y": 5, "flags": 9}, - {"matrix": [0, 16], "x": 217, "y": 5, "flags": 1}, - {"matrix": [1, 0], "x": 7, "y": 20, "flags": 4}, - {"matrix": [1, 1], "x": 19, "y": 20, "flags": 4}, - {"matrix": [1, 2], "x": 31, "y": 20, "flags": 4}, - {"matrix": [1, 3], "x": 43, "y": 20, "flags": 4}, - {"matrix": [1, 4], "x": 55, "y": 20, "flags": 4}, - {"matrix": [1, 5], "x": 67, "y": 20, "flags": 4}, - {"matrix": [1, 6], "x": 79, "y": 20, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 20, "flags": 4}, - {"matrix": [1, 8], "x": 103, "y": 20, "flags": 4}, - {"matrix": [1, 9], "x": 115, "y": 20, "flags": 4}, - {"matrix": [1, 10], "x": 127, "y": 20, "flags": 4}, - {"matrix": [1, 11], "x": 139, "y": 20, "flags": 4}, - {"matrix": [1, 12], "x": 151, "y": 20, "flags": 4}, - {"matrix": [1, 13], "x": 169, "y": 20, "flags": 1}, - {"matrix": [1, 14], "x": 193, "y": 20, "flags": 1}, - {"matrix": [1, 15], "x": 205, "y": 20, "flags": 1}, - {"matrix": [1, 16], "x": 217, "y": 20, "flags": 1}, - {"matrix": [2, 0], "x": 10, "y": 30, "flags": 1}, - {"matrix": [2, 1], "x": 25, "y": 30, "flags": 4}, - {"matrix": [2, 2], "x": 37, "y": 30, "flags": 4}, - {"matrix": [2, 3], "x": 49, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 61, "y": 30, "flags": 4}, - {"matrix": [2, 5], "x": 73, "y": 30, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 30, "flags": 4}, - {"matrix": [2, 7], "x": 97, "y": 30, "flags": 4}, - {"matrix": [2, 8], "x": 109, "y": 30, "flags": 4}, - {"matrix": [2, 9], "x": 121, "y": 30, "flags": 4}, - {"matrix": [2, 10], "x": 133, "y": 30, "flags": 4}, - {"matrix": [2, 11], "x": 145, "y": 30, "flags": 4}, - {"matrix": [2, 12], "x": 157, "y": 30, "flags": 4}, - {"matrix": [2, 13], "x": 172, "y": 30, "flags": 4}, - {"matrix": [2, 14], "x": 193, "y": 30, "flags": 1}, - {"matrix": [2, 15], "x": 205, "y": 30, "flags": 1}, - {"matrix": [2, 16], "x": 217, "y": 30, "flags": 1}, - {"matrix": [3, 0], "x": 11, "y": 39, "flags": 1}, - {"matrix": [3, 1], "x": 28, "y": 39, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 39, "flags": 4}, - {"matrix": [3, 3], "x": 52, "y": 39, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 39, "flags": 4}, - {"matrix": [3, 5], "x": 76, "y": 39, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 39, "flags": 4}, - {"matrix": [3, 7], "x": 100, "y": 39, "flags": 4}, - {"matrix": [3, 8], "x": 112, "y": 39, "flags": 4}, - {"matrix": [3, 9], "x": 124, "y": 39, "flags": 4}, - {"matrix": [3, 10], "x": 136, "y": 39, "flags": 4}, - {"matrix": [3, 11], "x": 148, "y": 39, "flags": 4}, - {"matrix": [3, 13], "x": 168, "y": 39, "flags": 1}, - {"matrix": [4, 0], "x": 14, "y": 49, "flags": 1}, - {"matrix": [4, 1], "x": 34, "y": 49, "flags": 4}, - {"matrix": [4, 2], "x": 46, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 58, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 70, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 82, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 94, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 106, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 118, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 130, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 142, "y": 49, "flags": 4}, - {"matrix": [4, 12], "x": 165, "y": 49, "flags": 1}, - {"matrix": [4, 15], "x": 205, "y": 49, "flags": 1}, - {"matrix": [5, 0], "x": 8, "y": 59, "flags": 1}, - {"matrix": [5, 1], "x": 23, "y": 59, "flags": 1}, - {"matrix": [5, 2], "x": 38, "y": 59, "flags": 1}, - {"matrix": [5, 5], "x": 83, "y": 59, "flags": 4}, - {"matrix": [5, 9], "x": 129, "y": 59, "flags": 1}, - {"matrix": [5, 10], "x": 144, "y": 59, "flags": 1}, - {"matrix": [5, 11], "x": 159, "y": 59, "flags": 1}, - {"matrix": [5, 12], "x": 174, "y": 59, "flags": 1}, - {"matrix": [5, 13], "x": 193, "y": 59, "flags": 1}, - {"matrix": [5, 15], "x": 205, "y": 59, "flags": 1}, - {"matrix": [5, 16], "x": 217, "y": 59, "flags": 1} - ] + "driver": "ws2812" }, "build": { "lto": true diff --git a/keyboards/kprepublic/bm80v2/bm80v2.c b/keyboards/kprepublic/bm80v2/bm80v2.c index 94a8032a17..9c1b71d057 100644 --- a/keyboards/kprepublic/bm80v2/bm80v2.c +++ b/keyboards/kprepublic/bm80v2/bm80v2.c @@ -112,6 +112,30 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW8_CS36, SW8_CS35, SW8_CS34} }; +led_config_t g_led_config = { { + { 0, NO_LED, 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, NO_LED, NO_LED, NO_LED, NO_LED }, + { 63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75, NO_LED }, + { 76, 77, 78, NO_LED,NO_LED, 79, NO_LED, NO_LED, NO_LED, NO_LED, 80, 81, 82, 83, 84, 85, 86 } +}, +{ + { 7, 5 }, { 31, 5 }, { 43, 5 }, { 55, 5 }, { 67, 5 }, { 85, 5 }, { 97, 5 }, { 109, 5 }, { 121, 5 }, { 139, 5 }, { 151, 5 }, { 163, 5 }, { 175, 5 }, { 193, 5 }, { 205, 5 }, { 217, 5 }, + { 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 }, { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 }, { 217, 20 }, + { 10, 30 }, { 25, 30 }, { 37, 30 }, { 49, 30 }, { 61, 30 }, { 73, 30 }, { 85, 30 }, { 97, 30 }, { 109, 30 }, { 121, 30 }, { 133, 30 }, { 145, 30 }, { 157, 30 }, { 172, 30 }, { 193, 30 }, { 205, 30 }, { 217, 30 }, + { 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 }, { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 }, + { 17, 49 }, { 34, 49 }, { 46, 49 }, { 58, 49 }, { 70, 49 }, { 82, 49 }, { 94, 49 }, { 106, 49 }, { 118, 49 }, { 130, 49 }, { 142, 49 }, { 165, 49 }, { 205, 49 }, + { 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 }, { 193, 59 }, { 205, 59 }, { 217, 59 } +}, +{ 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 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, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1 +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { diff --git a/keyboards/kprepublic/bm80v2/keyboard.json b/keyboards/kprepublic/bm80v2/keyboard.json index a5da2324a9..43de1e4933 100644 --- a/keyboards/kprepublic/bm80v2/keyboard.json +++ b/keyboards/kprepublic/bm80v2/keyboard.json @@ -45,95 +45,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 7, "y": 5, "flags": 1}, - {"matrix": [0, 2], "x": 31, "y": 5, "flags": 4}, - {"matrix": [0, 3], "x": 43, "y": 5, "flags": 4}, - {"matrix": [0, 4], "x": 55, "y": 5, "flags": 4}, - {"matrix": [0, 5], "x": 67, "y": 5, "flags": 4}, - {"matrix": [0, 6], "x": 85, "y": 5, "flags": 1}, - {"matrix": [0, 7], "x": 97, "y": 5, "flags": 1}, - {"matrix": [0, 8], "x": 109, "y": 5, "flags": 1}, - {"matrix": [0, 9], "x": 121, "y": 5, "flags": 1}, - {"matrix": [0, 10], "x": 139, "y": 5, "flags": 4}, - {"matrix": [0, 11], "x": 151, "y": 5, "flags": 4}, - {"matrix": [0, 12], "x": 163, "y": 5, "flags": 4}, - {"matrix": [0, 13], "x": 175, "y": 5, "flags": 4}, - {"matrix": [0, 14], "x": 193, "y": 5, "flags": 1}, - {"matrix": [0, 15], "x": 205, "y": 5, "flags": 1}, - {"matrix": [0, 16], "x": 217, "y": 5, "flags": 1}, - {"matrix": [1, 0], "x": 7, "y": 20, "flags": 4}, - {"matrix": [1, 1], "x": 19, "y": 20, "flags": 4}, - {"matrix": [1, 2], "x": 31, "y": 20, "flags": 4}, - {"matrix": [1, 3], "x": 43, "y": 20, "flags": 4}, - {"matrix": [1, 4], "x": 55, "y": 20, "flags": 4}, - {"matrix": [1, 5], "x": 67, "y": 20, "flags": 4}, - {"matrix": [1, 6], "x": 79, "y": 20, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 20, "flags": 4}, - {"matrix": [1, 8], "x": 103, "y": 20, "flags": 4}, - {"matrix": [1, 9], "x": 115, "y": 20, "flags": 4}, - {"matrix": [1, 10], "x": 127, "y": 20, "flags": 4}, - {"matrix": [1, 11], "x": 139, "y": 20, "flags": 4}, - {"matrix": [1, 12], "x": 151, "y": 20, "flags": 4}, - {"matrix": [1, 13], "x": 169, "y": 20, "flags": 1}, - {"matrix": [1, 14], "x": 193, "y": 20, "flags": 1}, - {"matrix": [1, 15], "x": 205, "y": 20, "flags": 1}, - {"matrix": [1, 16], "x": 217, "y": 20, "flags": 1}, - {"matrix": [2, 0], "x": 10, "y": 30, "flags": 1}, - {"matrix": [2, 1], "x": 25, "y": 30, "flags": 4}, - {"matrix": [2, 2], "x": 37, "y": 30, "flags": 4}, - {"matrix": [2, 3], "x": 49, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 61, "y": 30, "flags": 4}, - {"matrix": [2, 5], "x": 73, "y": 30, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 30, "flags": 4}, - {"matrix": [2, 7], "x": 97, "y": 30, "flags": 4}, - {"matrix": [2, 8], "x": 109, "y": 30, "flags": 4}, - {"matrix": [2, 9], "x": 121, "y": 30, "flags": 4}, - {"matrix": [2, 10], "x": 133, "y": 30, "flags": 4}, - {"matrix": [2, 11], "x": 145, "y": 30, "flags": 4}, - {"matrix": [2, 12], "x": 157, "y": 30, "flags": 4}, - {"matrix": [2, 13], "x": 172, "y": 30, "flags": 4}, - {"matrix": [2, 14], "x": 193, "y": 30, "flags": 1}, - {"matrix": [2, 15], "x": 205, "y": 30, "flags": 1}, - {"matrix": [2, 16], "x": 217, "y": 30, "flags": 1}, - {"matrix": [3, 0], "x": 11, "y": 39, "flags": 1}, - {"matrix": [3, 1], "x": 28, "y": 39, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 39, "flags": 4}, - {"matrix": [3, 3], "x": 52, "y": 39, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 39, "flags": 4}, - {"matrix": [3, 5], "x": 76, "y": 39, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 39, "flags": 4}, - {"matrix": [3, 7], "x": 100, "y": 39, "flags": 4}, - {"matrix": [3, 8], "x": 112, "y": 39, "flags": 4}, - {"matrix": [3, 9], "x": 124, "y": 39, "flags": 4}, - {"matrix": [3, 10], "x": 136, "y": 39, "flags": 4}, - {"matrix": [3, 11], "x": 148, "y": 39, "flags": 4}, - {"matrix": [3, 12], "x": 168, "y": 39, "flags": 1}, - {"matrix": [4, 0], "x": 17, "y": 49, "flags": 1}, - {"matrix": [4, 2], "x": 34, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 46, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 58, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 70, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 82, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 106, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 118, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 130, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 142, "y": 49, "flags": 4}, - {"matrix": [4, 12], "x": 165, "y": 49, "flags": 1}, - {"matrix": [4, 15], "x": 205, "y": 49, "flags": 1}, - {"matrix": [5, 0], "x": 8, "y": 59, "flags": 1}, - {"matrix": [5, 1], "x": 23, "y": 59, "flags": 1}, - {"matrix": [5, 2], "x": 38, "y": 59, "flags": 1}, - {"matrix": [5, 5], "x": 83, "y": 59, "flags": 4}, - {"matrix": [5, 10], "x": 129, "y": 59, "flags": 1}, - {"matrix": [5, 11], "x": 144, "y": 59, "flags": 1}, - {"matrix": [5, 12], "x": 159, "y": 59, "flags": 1}, - {"matrix": [5, 13], "x": 174, "y": 59, "flags": 1}, - {"matrix": [5, 14], "x": 193, "y": 59, "flags": 1}, - {"matrix": [5, 15], "x": 205, "y": 59, "flags": 1}, - {"matrix": [5, 16], "x": 217, "y": 59, "flags": 1} - ], "max_brightness": 180, "sleep": true }, diff --git a/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c index fbaf9e0bcf..3009359c65 100644 --- a/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c +++ b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c @@ -113,6 +113,30 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW8_CS36, SW8_CS35, SW8_CS34} }; +led_config_t g_led_config = { { + { 0, NO_LED, 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, NO_LED, NO_LED, NO_LED, NO_LED }, + { 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76, NO_LED }, + { 77, 78, 79, NO_LED,NO_LED, 80, NO_LED, NO_LED, NO_LED, NO_LED, 81, 82, 83, 84, 85, 86, 87 } +}, +{ + { 7, 5 }, { 31, 5 }, { 43, 5 }, { 55, 5 }, { 67, 5 }, { 85, 5 }, { 97, 5 }, { 109, 5 }, { 121, 5 }, { 139, 5 }, { 151, 5 }, { 163, 5 }, { 175, 5 }, { 193, 5 }, { 205, 5 }, { 217, 5 }, + { 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 }, { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 }, { 217, 20 }, + { 10, 30 }, { 25, 30 }, { 37, 30 }, { 49, 30 }, { 61, 30 }, { 73, 30 }, { 85, 30 }, { 97, 30 }, { 109, 30 }, { 121, 30 }, { 133, 30 }, { 145, 30 }, { 157, 30 }, { 175, 35 }, { 193, 30 }, { 205, 30 }, { 217, 30 }, + { 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 }, { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 }, + { 8, 49 }, { 22, 49 }, { 34, 49 }, { 46, 49 }, { 58, 49 }, { 70, 49 }, { 82, 49 }, { 94, 49 }, { 106, 49 }, { 118, 49 }, { 130, 49 }, { 142, 49 }, { 165, 49 }, { 205, 49 }, + { 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 }, { 193, 59 }, { 205, 59 }, { 217, 59 } +}, +{ 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 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, 1, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1 +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { diff --git a/keyboards/kprepublic/bm80v2_iso/keyboard.json b/keyboards/kprepublic/bm80v2_iso/keyboard.json index 5cf4c9c1bc..beb90a3738 100644 --- a/keyboards/kprepublic/bm80v2_iso/keyboard.json +++ b/keyboards/kprepublic/bm80v2_iso/keyboard.json @@ -45,96 +45,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 7, "y": 5, "flags": 1}, - {"matrix": [0, 2], "x": 31, "y": 5, "flags": 4}, - {"matrix": [0, 3], "x": 43, "y": 5, "flags": 4}, - {"matrix": [0, 4], "x": 55, "y": 5, "flags": 4}, - {"matrix": [0, 5], "x": 67, "y": 5, "flags": 4}, - {"matrix": [0, 6], "x": 85, "y": 5, "flags": 1}, - {"matrix": [0, 7], "x": 97, "y": 5, "flags": 1}, - {"matrix": [0, 8], "x": 109, "y": 5, "flags": 1}, - {"matrix": [0, 9], "x": 121, "y": 5, "flags": 1}, - {"matrix": [0, 10], "x": 139, "y": 5, "flags": 4}, - {"matrix": [0, 11], "x": 151, "y": 5, "flags": 4}, - {"matrix": [0, 12], "x": 163, "y": 5, "flags": 4}, - {"matrix": [0, 13], "x": 175, "y": 5, "flags": 4}, - {"matrix": [0, 14], "x": 193, "y": 5, "flags": 1}, - {"matrix": [0, 15], "x": 205, "y": 5, "flags": 1}, - {"matrix": [0, 16], "x": 217, "y": 5, "flags": 1}, - {"matrix": [1, 0], "x": 7, "y": 20, "flags": 4}, - {"matrix": [1, 1], "x": 19, "y": 20, "flags": 4}, - {"matrix": [1, 2], "x": 31, "y": 20, "flags": 4}, - {"matrix": [1, 3], "x": 43, "y": 20, "flags": 4}, - {"matrix": [1, 4], "x": 55, "y": 20, "flags": 4}, - {"matrix": [1, 5], "x": 67, "y": 20, "flags": 4}, - {"matrix": [1, 6], "x": 79, "y": 20, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 20, "flags": 4}, - {"matrix": [1, 8], "x": 103, "y": 20, "flags": 4}, - {"matrix": [1, 9], "x": 115, "y": 20, "flags": 4}, - {"matrix": [1, 10], "x": 127, "y": 20, "flags": 4}, - {"matrix": [1, 11], "x": 139, "y": 20, "flags": 4}, - {"matrix": [1, 12], "x": 151, "y": 20, "flags": 4}, - {"matrix": [1, 13], "x": 169, "y": 20, "flags": 1}, - {"matrix": [1, 14], "x": 193, "y": 20, "flags": 1}, - {"matrix": [1, 15], "x": 205, "y": 20, "flags": 1}, - {"matrix": [1, 16], "x": 217, "y": 20, "flags": 1}, - {"matrix": [2, 0], "x": 10, "y": 30, "flags": 1}, - {"matrix": [2, 1], "x": 25, "y": 30, "flags": 4}, - {"matrix": [2, 2], "x": 37, "y": 30, "flags": 4}, - {"matrix": [2, 3], "x": 49, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 61, "y": 30, "flags": 4}, - {"matrix": [2, 5], "x": 73, "y": 30, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 30, "flags": 4}, - {"matrix": [2, 7], "x": 97, "y": 30, "flags": 4}, - {"matrix": [2, 8], "x": 109, "y": 30, "flags": 4}, - {"matrix": [2, 9], "x": 121, "y": 30, "flags": 4}, - {"matrix": [2, 10], "x": 133, "y": 30, "flags": 4}, - {"matrix": [2, 11], "x": 145, "y": 30, "flags": 4}, - {"matrix": [2, 12], "x": 157, "y": 30, "flags": 4}, - {"matrix": [2, 13], "x": 175, "y": 35, "flags": 4}, - {"matrix": [2, 14], "x": 193, "y": 30, "flags": 1}, - {"matrix": [2, 15], "x": 205, "y": 30, "flags": 1}, - {"matrix": [2, 16], "x": 217, "y": 30, "flags": 1}, - {"matrix": [3, 0], "x": 11, "y": 39, "flags": 1}, - {"matrix": [3, 1], "x": 28, "y": 39, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 39, "flags": 4}, - {"matrix": [3, 3], "x": 52, "y": 39, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 39, "flags": 4}, - {"matrix": [3, 5], "x": 76, "y": 39, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 39, "flags": 4}, - {"matrix": [3, 7], "x": 100, "y": 39, "flags": 4}, - {"matrix": [3, 8], "x": 112, "y": 39, "flags": 4}, - {"matrix": [3, 9], "x": 124, "y": 39, "flags": 4}, - {"matrix": [3, 10], "x": 136, "y": 39, "flags": 4}, - {"matrix": [3, 11], "x": 148, "y": 39, "flags": 4}, - {"matrix": [3, 12], "x": 168, "y": 39, "flags": 1}, - {"matrix": [4, 0], "x": 8, "y": 49, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 49, "flags": 1}, - {"matrix": [4, 2], "x": 34, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 46, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 58, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 70, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 82, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 106, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 118, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 130, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 142, "y": 49, "flags": 4}, - {"matrix": [4, 12], "x": 165, "y": 49, "flags": 1}, - {"matrix": [4, 15], "x": 205, "y": 49, "flags": 1}, - {"matrix": [5, 0], "x": 8, "y": 59, "flags": 1}, - {"matrix": [5, 1], "x": 23, "y": 59, "flags": 1}, - {"matrix": [5, 2], "x": 38, "y": 59, "flags": 1}, - {"matrix": [5, 5], "x": 83, "y": 59, "flags": 4}, - {"matrix": [5, 10], "x": 129, "y": 59, "flags": 1}, - {"matrix": [5, 11], "x": 144, "y": 59, "flags": 1}, - {"matrix": [5, 12], "x": 159, "y": 59, "flags": 1}, - {"matrix": [5, 13], "x": 174, "y": 59, "flags": 1}, - {"matrix": [5, 14], "x": 193, "y": 59, "flags": 1}, - {"matrix": [5, 15], "x": 205, "y": 59, "flags": 1}, - {"matrix": [5, 16], "x": 217, "y": 59, "flags": 1} - ], "max_brightness": 180, "sleep": true }, diff --git a/keyboards/kprepublic/bm980hsrgb/bm980hsrgb.c b/keyboards/kprepublic/bm980hsrgb/bm980hsrgb.c new file mode 100644 index 0000000000..12475ac36b --- /dev/null +++ b/keyboards/kprepublic/bm980hsrgb/bm980hsrgb.c @@ -0,0 +1,51 @@ +/* Copyright 2021 peepeetee + * Copyright 2021 bdtc123 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, NO_LED, 13 }, + { 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }, + { 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 }, + { 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, NO_LED, 65, 66 }, + { 69, NO_LED, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82 }, + { 86, 87, 88, 96, 97, 85, 89, 84, 83, 90, 91, 92, 93, 94, 95 }, + { NO_LED, NO_LED, 34, 50, 51, 52, 16, 68, 67, 33, 15, 32, NO_LED, 14, NO_LED } + + +}, { + // 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 }, { 195, 0 }, { 202, 0 }, { 212, 0 }, { 224, 0 }, + { 0, 20 }, { 15, 20 }, { 30, 20 }, { 45, 20 }, { 60, 20 }, { 75, 20 }, { 90, 20 }, { 105, 20 }, { 120, 20 }, { 135, 20 }, { 150, 20 }, { 165, 20 }, { 180, 20 },{ 195, 20 }, { 202, 20 }, { 212, 20 },{ 220, 20 },{ 224, 20 }, + { 8, 30 }, { 15, 30 }, { 30, 30 }, { 45, 30 }, { 60, 30 }, { 75, 30 }, { 90, 30 }, { 105, 30 }, { 120, 30 }, { 135, 30 }, { 150, 30 }, { 165, 30 }, { 180, 30 },{ 195, 30 }, { 202, 30 }, { 212, 30 },{ 220, 30 },{ 224, 30 }, + { 9, 40 }, { 15, 40 }, { 30, 40 }, { 45, 40 }, { 60, 40 }, { 75, 40 }, { 90, 40 }, { 105, 40 }, { 120, 40 }, { 135, 40 }, { 150, 40 }, { 165, 40 }, { 180, 40 },{ 195, 40 }, { 202, 40 }, { 212, 40 }, + { 12, 50 }, { 15, 50 }, { 30, 50 }, { 45, 50 }, { 60, 50 }, { 75, 50 }, { 90, 50 }, { 105, 50 }, { 120, 50 }, { 135, 50 }, { 150, 50 }, { 165, 50 }, { 180, 50 },{ 195, 50 }, { 202, 50 }, { 212, 50 },{ 224, 50 }, + { 2, 60 }, { 17, 60 }, { 34, 60 }, { 77, 60 }, { 120, 60 }, { 135, 60 }, { 150, 60 }, { 165, 60 }, { 177, 60 }, { 182, 60 }, { 197, 60 }, { 212, 60 }, + +}, { + // LED Index to Flag + 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 9/*scroll lock*/, 1,1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 9/*caps lock*/, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4 +} }; + + +#endif diff --git a/keyboards/kprepublic/bm980hsrgb/keyboard.json b/keyboards/kprepublic/bm980hsrgb/keyboard.json index c4ffb1746a..85f8b006ae 100644 --- a/keyboards/kprepublic/bm980hsrgb/keyboard.json +++ b/keyboards/kprepublic/bm980hsrgb/keyboard.json @@ -8,107 +8,7 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "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": 1}, - {"matrix": [0, 6], "x": 90, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 105, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 120, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 195, "y": 0, "flags": 1}, - {"matrix": [6, 13], "x": 202, "y": 0, "flags": 9}, - {"matrix": [6, 10], "x": 212, "y": 0, "flags": 1}, - {"matrix": [6, 6], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 20, "flags": 4}, - {"matrix": [1, 1], "x": 15, "y": 20, "flags": 4}, - {"matrix": [1, 2], "x": 30, "y": 20, "flags": 4}, - {"matrix": [1, 3], "x": 45, "y": 20, "flags": 4}, - {"matrix": [1, 4], "x": 60, "y": 20, "flags": 4}, - {"matrix": [1, 5], "x": 75, "y": 20, "flags": 4}, - {"matrix": [1, 6], "x": 90, "y": 20, "flags": 4}, - {"matrix": [1, 7], "x": 105, "y": 20, "flags": 4}, - {"matrix": [1, 8], "x": 120, "y": 20, "flags": 4}, - {"matrix": [1, 9], "x": 135, "y": 20, "flags": 4}, - {"matrix": [1, 10], "x": 150, "y": 20, "flags": 4}, - {"matrix": [1, 11], "x": 165, "y": 20, "flags": 4}, - {"matrix": [1, 12], "x": 180, "y": 20, "flags": 4}, - {"matrix": [1, 13], "x": 195, "y": 20, "flags": 1}, - {"matrix": [1, 14], "x": 202, "y": 20, "flags": 1}, - {"matrix": [6, 11], "x": 212, "y": 20, "flags": 1}, - {"matrix": [6, 9], "x": 220, "y": 20, "flags": 1}, - {"matrix": [6, 2], "x": 224, "y": 20, "flags": 1}, - {"matrix": [2, 0], "x": 8, "y": 30, "flags": 1}, - {"matrix": [2, 1], "x": 15, "y": 30, "flags": 4}, - {"matrix": [2, 2], "x": 30, "y": 30, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 30, "flags": 4}, - {"matrix": [2, 4], "x": 60, "y": 30, "flags": 4}, - {"matrix": [2, 5], "x": 75, "y": 30, "flags": 4}, - {"matrix": [2, 6], "x": 90, "y": 30, "flags": 4}, - {"matrix": [2, 7], "x": 105, "y": 30, "flags": 4}, - {"matrix": [2, 8], "x": 120, "y": 30, "flags": 4}, - {"matrix": [2, 9], "x": 135, "y": 30, "flags": 4}, - {"matrix": [2, 10], "x": 150, "y": 30, "flags": 4}, - {"matrix": [2, 11], "x": 165, "y": 30, "flags": 4}, - {"matrix": [2, 12], "x": 180, "y": 30, "flags": 4}, - {"matrix": [2, 13], "x": 195, "y": 30, "flags": 4}, - {"matrix": [2, 14], "x": 202, "y": 30, "flags": 4}, - {"matrix": [6, 3], "x": 212, "y": 30, "flags": 4}, - {"matrix": [6, 4], "x": 220, "y": 30, "flags": 4}, - {"matrix": [6, 5], "x": 224, "y": 30, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 40, "flags": 9}, - {"matrix": [3, 1], "x": 15, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 30, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 45, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 60, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 90, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 105, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 120, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 135, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 150, "y": 40, "flags": 4}, - {"matrix": [3, 11], "x": 165, "y": 40, "flags": 4}, - {"matrix": [3, 13], "x": 180, "y": 40, "flags": 1}, - {"matrix": [3, 14], "x": 195, "y": 40, "flags": 4}, - {"matrix": [6, 8], "x": 202, "y": 40, "flags": 4}, - {"matrix": [6, 7], "x": 212, "y": 40, "flags": 4}, - {"matrix": [4, 0], "x": 12, "y": 50, "flags": 1}, - {"matrix": [4, 2], "x": 15, "y": 50, "flags": 4}, - {"matrix": [4, 3], "x": 30, "y": 50, "flags": 4}, - {"matrix": [4, 4], "x": 45, "y": 50, "flags": 4}, - {"matrix": [4, 5], "x": 60, "y": 50, "flags": 4}, - {"matrix": [4, 6], "x": 75, "y": 50, "flags": 4}, - {"matrix": [4, 7], "x": 90, "y": 50, "flags": 4}, - {"matrix": [4, 8], "x": 105, "y": 50, "flags": 4}, - {"matrix": [4, 9], "x": 120, "y": 50, "flags": 4}, - {"matrix": [4, 10], "x": 135, "y": 50, "flags": 4}, - {"matrix": [4, 11], "x": 150, "y": 50, "flags": 4}, - {"matrix": [4, 12], "x": 165, "y": 50, "flags": 1}, - {"matrix": [4, 13], "x": 180, "y": 50, "flags": 1}, - {"matrix": [4, 14], "x": 195, "y": 50, "flags": 4}, - {"matrix": [5, 8], "x": 202, "y": 50, "flags": 4}, - {"matrix": [5, 7], "x": 212, "y": 50, "flags": 4}, - {"matrix": [5, 5], "x": 224, "y": 50, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 60, "flags": 1}, - {"matrix": [5, 1], "x": 17, "y": 60, "flags": 1}, - {"matrix": [5, 2], "x": 34, "y": 60, "flags": 1}, - {"matrix": [5, 6], "x": 77, "y": 60, "flags": 4}, - {"matrix": [5, 9], "x": 120, "y": 60, "flags": 1}, - {"matrix": [5, 10], "x": 135, "y": 60, "flags": 1}, - {"matrix": [5, 11], "x": 150, "y": 60, "flags": 1}, - {"matrix": [5, 12], "x": 165, "y": 60, "flags": 1}, - {"matrix": [5, 13], "x": 177, "y": 60, "flags": 1}, - {"matrix": [5, 14], "x": 182, "y": 60, "flags": 1}, - {"matrix": [5, 3], "x": 197, "y": 60, "flags": 4}, - {"matrix": [5, 4], "x": 212, "y": 60, "flags": 4} - ] + "driver": "ws2812" }, "build": { "lto": true diff --git a/keyboards/kradoindustries/kousa/readme.md b/keyboards/kradoindustries/kousa/readme.md index 74065faeb7..b9a50a93c9 100644 --- a/keyboards/kradoindustries/kousa/readme.md +++ b/keyboards/kradoindustries/kousa/readme.md @@ -29,4 +29,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/kradoindustries/krado66/readme.md b/keyboards/kradoindustries/krado66/readme.md index fd33a8643e..7b8a275ee4 100644 --- a/keyboards/kradoindustries/krado66/readme.md +++ b/keyboards/kradoindustries/krado66/readme.md @@ -27,4 +27,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/kradoindustries/promenade/readme.md b/keyboards/kradoindustries/promenade/readme.md index cf939bfab0..179563995c 100644 --- a/keyboards/kradoindustries/promenade/readme.md +++ b/keyboards/kradoindustries/promenade/readme.md @@ -27,4 +27,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/kradoindustries/promenade_rp24hs/config.h b/keyboards/kradoindustries/promenade_rp24hs/config.h deleted file mode 100644 index 2bc248fe24..0000000000 --- a/keyboards/kradoindustries/promenade_rp24hs/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2026 Matt F -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U - diff --git a/keyboards/kradoindustries/promenade_rp24hs/keyboard.json b/keyboards/kradoindustries/promenade_rp24hs/keyboard.json deleted file mode 100644 index 8137665296..0000000000 --- a/keyboards/kradoindustries/promenade_rp24hs/keyboard.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "manufacturer": "Krado Industries", - "keyboard_name": "Promenade RP24HS", - "maintainer": "Feags", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "GP12", "pin_b": "GP15"}, - {"pin_a": "GP12", "pin_b": "GP16"}, - {"pin_a": "GP16", "pin_b": "GP15"}, - {"pin_a": "GP18", "pin_b": "GP12"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["GP20", "GP10", "GP9", "GP8", "GP7", "GP6", "GP14", "GP13", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], - "rows": ["GP29", "GP28", "GP27", "GP19", "GP17"] - }, - "processor": "RP2040", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 14, - "sleep": true - }, - "url": "https://www.kradoindustries.com/", - "usb": { - "device_version": "1.0.0", - "pid": "0x4853", - "vid": "0x4B72", - "suspend_wakeup_delay": 200 - }, - "ws2812": { - "driver": "vendor", - "pin": "GP26" - }, - "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.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.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5}, - {"matrix": [3, 1], "x": 1.5, "y": 3}, - {"matrix": [3, 2], "x": 2.5, "y": 3}, - {"matrix": [3, 3], "x": 3.5, "y": 3}, - {"matrix": [3, 4], "x": 4.5, "y": 3}, - {"matrix": [3, 5], "x": 5.5, "y": 3}, - {"matrix": [3, 6], "x": 6.5, "y": 3}, - {"matrix": [3, 7], "x": 7.5, "y": 3}, - {"matrix": [3, 8], "x": 8.5, "y": 3}, - {"matrix": [3, 9], "x": 9.5, "y": 3}, - {"matrix": [3, 10], "x": 10.5, "y": 3}, - {"matrix": [3, 11], "x": 11.5, "y": 3}, - {"matrix": [3, 12], "x": 12.5, "y": 3}, - {"matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.5}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4}, - {"matrix": [4, 3], "x": 3.5, "y": 4}, - {"matrix": [4, 4], "x": 4.5, "y": 4}, - {"matrix": [4, 5], "x": 5.5, "y": 4}, - {"matrix": [4, 6], "x": 6.5, "y": 4}, - {"matrix": [4, 7], "x": 7.5, "y": 4}, - {"matrix": [4, 8], "x": 8.5, "y": 4}, - {"matrix": [4, 9], "x": 9.5, "y": 4}, - {"matrix": [4, 10], "x": 10.5, "y": 4}, - {"matrix": [4, 11], "x": 11.5, "y": 4}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - } - } -} diff --git a/keyboards/kradoindustries/promenade_rp24hs/keymaps/default/keymap.c b/keyboards/kradoindustries/promenade_rp24hs/keymaps/default/keymap.c deleted file mode 100644 index 408c880bd2..0000000000 --- a/keyboards/kradoindustries/promenade_rp24hs/keymaps/default/keymap.c +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2026 Matt F -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - - -#define _FN MO(3) -#define FN_BACK LT(3, KC_BSPC) -#define ZOOMIN C(KC_EQL) -#define ZOOMOUT C(KC_MINS) -#define NTAB C(KC_TAB) -#define BTAB C(S(KC_TAB)) - - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - - /* Base Layer - - - * .------------------------------------------------------------------------------------------------------------------------------------. - * | Grave | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | Backspace | - * | | | | | | | | | | | | | | | - * |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------| - * | Tab | Q | W | E | R | T | [ | ] | Y | U | I | O | P | Del | - * | | | | | | | | | | | | | | | - * |-----------+--------+--------+--------+--------+--------|--------+--------|--------+--------+--------+-----------------+-----------| - * | FN_BACK | A | S | D | F | G | [ | ] | H | J | K | L | " | Enter | - * | | | | | | | | | | | | | ' | | - * |-----------+--------+--------+--------+--------+--------|--------+--------|--------+--------+--------------------------+-----------| - * | LShift | Z | X | C | V | B | BTab | NTab | N | M | < | > | ? | RShift | - * | | | | | | | | | | | , | . | / | | - * |-----------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+-----------| - * | LCTRL | LGUI | LALT | FN | Space | Space | Space | Space | Space | RALT | Vol- | Mute | Vol+ | RCTRL | - * | | | | | | | | | | | | | | | - * '-----------------------------------------------------------------------------------------------------------------------------------' - */ - - 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_DEL, - FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, - SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, BTAB, NTAB, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, - KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_VOLD, KC_MUTE, KC_VOLU, KC_RCTL - ), - - [1] = LAYOUT( /* Layer One */ - - 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_DEL, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_VOLD, KC_MUTE, KC_VOLU, KC_RCTL - ), - - - [2] = LAYOUT( /* Layer Two */ - - 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, ZOOMIN, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, - FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ZOOMOUT, KC_LBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_VOLD, KC_MUTE, KC_VOLU, KC_RCTL - ), - - [3] = LAYOUT( /* Layer Three */ - - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, - _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, DF(0) , DF(1) , _______, _______, _______, _______, KC_PSCR, KC_BSLS, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, - _______, _______, _______, _______, _______, _______, DF(2) , _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, - _______, _______, _______, _______, _______, _______, KC_ENT, _______, _______, _______, _______, _______, _______, QK_BOOT - ) - -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), ENCODER_CCW_CW(C(KC_MINS), C(KC_EQL)), - ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(MS_WHLU, MS_WHLD)}, - [1 ... 3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), - ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______)} -}; -#endif diff --git a/keyboards/kradoindustries/promenade_rp24hs/readme.md b/keyboards/kradoindustries/promenade_rp24hs/readme.md deleted file mode 100644 index cf0014dd03..0000000000 --- a/keyboards/kradoindustries/promenade_rp24hs/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Promenade RP24HS - -![Promenade RP24HS](https://i.imgur.com/uQOhmmJ.jpeg) - -The Promenade RP24HS is the newer version of the [Promenade](https://github.com/qmk/qmk_firmware/tree/master/keyboards/kradoindustries/promenade) which is based on the [Boardwalk](https://github.com/qmk/qmk_firmware/tree/master/keyboards/boardwalk), a 60% ortholinear keyboard that uses 1.5u Ergodoxian modifier keys. In addition to Pok3r-style 60% tray mounting points, the pcb also has edge cuts for use in gummy o-ring mount boards like the Bakeneko60. Some additional spacebar options including 3u and 6u were added. The pcb has two footprint locations for a JST connector, many breakout pins, and several rotary encoder locations. The MCU has been upgraded to a RP2040 with 32M-bit of flash memory. - -The 1.5u vertical inner mods are the default configuration, but the board can be configured to use 3x2 1u keys either by removing the existing hotswap sockets and soldering 6 hotswap sockets to the 1u pads. *Note that the some of the 1u keys may require the plastic legs of 5-pin switches to be trimmed.* - - -* Keyboard Maintainer: [Feags](https://github.com/Feags) / [Krado Industries](https://kradoindustries.com/) -* Hardware Supported: Promenade pcb. Many 60% cases. -* Hardware Availability: [Krado Industries](https://kradoindustries.com/) - -Make example for this keyboard (after setting up your build environment): - - make kradoindustries/promenade_rp24hs:default - -Flashing example for this keyboard: - - make kradoindustries/promenade_rp24hs: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/kradoindustries/promenade_rp24s/keymaps/default/keymap.c b/keyboards/kradoindustries/promenade_rp24s/keymaps/default/keymap.c index a43ca24468..f08f27216a 100644 --- a/keyboards/kradoindustries/promenade_rp24s/keymaps/default/keymap.c +++ b/keyboards/kradoindustries/promenade_rp24s/keymaps/default/keymap.c @@ -99,4 +99,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______)} }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/kradoindustries/promenade_rp24s/keymaps/default/rules.mk b/keyboards/kradoindustries/promenade_rp24s/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/kradoindustries/promenade_rp24s/keymaps/default/rules.mk +++ b/keyboards/kradoindustries/promenade_rp24s/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kradoindustries/promenade_rp24s/readme.md b/keyboards/kradoindustries/promenade_rp24s/readme.md index eed5939b7f..9685cb8296 100644 --- a/keyboards/kradoindustries/promenade_rp24s/readme.md +++ b/keyboards/kradoindustries/promenade_rp24s/readme.md @@ -26,4 +26,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/kraken_jones/pteron56/keyboard.json b/keyboards/kraken_jones/pteron56/keyboard.json index ccfcc49da5..d298a1220f 100644 --- a/keyboards/kraken_jones/pteron56/keyboard.json +++ b/keyboards/kraken_jones/pteron56/keyboard.json @@ -91,4 +91,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/ktec/ergodone/ergodox_compat.h b/keyboards/ktec/ergodone/ergodox_compat.h index 37a9ddbc3a..b566e6cc94 100644 --- a/keyboards/ktec/ergodone/ergodox_compat.h +++ b/keyboards/ktec/ergodone/ergodox_compat.h @@ -91,4 +91,4 @@ static inline void ergodox_blink_all_leds(void) { //ergodox_led_all_on(); //wait_ms(333); ergodox_led_all_off(); -} +} \ No newline at end of file diff --git a/keyboards/ktec/ergodone/keymaps/default/readme.md b/keyboards/ktec/ergodone/keymaps/default/readme.md index f1634c1e98..1150a4f709 100644 --- a/keyboards/ktec/ergodone/keymaps/default/readme.md +++ b/keyboards/ktec/ergodone/keymaps/default/readme.md @@ -12,4 +12,4 @@ This is what we ship with out of the factory. :) The image says it all: -![Default](https://i.imgur.com/Be53jH7.png) +![Default](https://i.imgur.com/Be53jH7.png) \ No newline at end of file diff --git a/keyboards/kuro/kuro65/keymaps/default/keymap.c b/keyboards/kuro/kuro65/keymaps/default/keymap.c index cc3764f2a0..4224bb8a3e 100644 --- a/keyboards/kuro/kuro65/keymaps/default/keymap.c +++ b/keyboards/kuro/kuro65/keymaps/default/keymap.c @@ -90,4 +90,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END ) -}; +}; \ No newline at end of file diff --git a/keyboards/kwstudio/scorpio_rev2/readme.md b/keyboards/kwstudio/scorpio_rev2/readme.md index 1c12a46c9b..aa404d671b 100644 --- a/keyboards/kwstudio/scorpio_rev2/readme.md +++ b/keyboards/kwstudio/scorpio_rev2/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keyboard.json b/keyboards/labbe/labbeminiv1/keyboard.json index 905a180d22..e1b94dfa4e 100644 --- a/keyboards/labbe/labbeminiv1/keyboard.json +++ b/keyboards/labbe/labbeminiv1/keyboard.json @@ -26,15 +26,6 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", - "rgb_matrix": { - "driver": "ws2812", - "layout": [ - {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [1, 1], "x": 112, "y": 64, "flags": 4}, - {"matrix": [1, 2], "x": 224, "y": 64, "flags": 4} - ] - }, "layouts": { "LAYOUT_wasd": { "layout": [ diff --git a/keyboards/labbe/labbeminiv1/keymaps/default/keymap.c b/keyboards/labbe/labbeminiv1/keymaps/default/keymap.c index 3d4768c50d..3457acc011 100644 --- a/keyboards/labbe/labbeminiv1/keymaps/default/keymap.c +++ b/keyboards/labbe/labbeminiv1/keymaps/default/keymap.c @@ -17,4 +17,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_wasd( KC_W, KC_A, KC_S, KC_D), -}; +}; \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgb/config.h b/keyboards/labbe/labbeminiv1/keymaps/rgb/config.h index 7e4e3e3de2..087f4d7675 100644 --- a/keyboards/labbe/labbeminiv1/keymaps/rgb/config.h +++ b/keyboards/labbe/labbeminiv1/keymaps/rgb/config.h @@ -25,4 +25,4 @@ #define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ #define RGBLIGHT_SLEEP // If defined, the RGB lighting will be switched off when the host goes to sleep -#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_MOOD \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgb/keymap.c b/keyboards/labbe/labbeminiv1/keymaps/rgb/keymap.c index 327d171404..b708dee5e9 100644 --- a/keyboards/labbe/labbeminiv1/keymaps/rgb/keymap.c +++ b/keyboards/labbe/labbeminiv1/keymaps/rgb/keymap.c @@ -17,4 +17,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_wasd( KC_W, KC_A, KC_S, KC_D), -}; +}; \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgb/rules.mk b/keyboards/labbe/labbeminiv1/keymaps/rgb/rules.mk index 1e3cebb145..7ad666d1a3 100644 --- a/keyboards/labbe/labbeminiv1/keymaps/rgb/rules.mk +++ b/keyboards/labbe/labbeminiv1/keymaps/rgb/rules.mk @@ -1 +1 @@ -RGBLIGHT_ENABLE = yes +RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h index 5a071b78b1..3aa0db7e38 100644 --- a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h +++ b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h @@ -23,4 +23,4 @@ #define RGB_MATRIX_KEYPRESSES #define ENABLE_RGB_MATRIX_MULTISPLASH -#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_MULTISPLASH +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_MULTISPLASH \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/keymap.c b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/keymap.c index 327d171404..b708dee5e9 100644 --- a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/keymap.c +++ b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/keymap.c @@ -17,4 +17,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_wasd( KC_W, KC_A, KC_S, KC_D), -}; +}; \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk index e35030ed5c..0a6437f0ef 100644 --- a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk +++ b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk @@ -1,2 +1,2 @@ RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = ws2812 +RGB_MATRIX_DRIVER = ws2812 \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/labbeminiv1.c b/keyboards/labbe/labbeminiv1/labbeminiv1.c new file mode 100644 index 0000000000..a2ce367c5b --- /dev/null +++ b/keyboards/labbe/labbeminiv1/labbeminiv1.c @@ -0,0 +1,36 @@ +/* + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + // Key Matrix to LED Index + {NO_LED, 0, NO_LED}, + {1, 2, 3} + }, + { + // LED Index to Physical Position + {112, 0}, + {0, 64}, {112, 64}, {224, 64}, + }, + { + // LED Index to Flag + 4, + 4, 4, 4 + } +}; +#endif \ No newline at end of file diff --git a/keyboards/labbe/labbeminiv1/readme.md b/keyboards/labbe/labbeminiv1/readme.md index 00e57993c5..4e3d095255 100644 --- a/keyboards/labbe/labbeminiv1/readme.md +++ b/keyboards/labbe/labbeminiv1/readme.md @@ -1,3 +1,3 @@ # Labbe Mini V1 Keyboard -A 4 key keyboard with perkey rgb support +A 4 key keyboard with perkey rgb support \ No newline at end of file diff --git a/keyboards/latincompass/latin17rgb/keyboard.json b/keyboards/latincompass/latin17rgb/keyboard.json index d6689f203a..6dab2faf68 100644 --- a/keyboards/latincompass/latin17rgb/keyboard.json +++ b/keyboards/latincompass/latin17rgb/keyboard.json @@ -61,25 +61,6 @@ "solid_reactive": true }, "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 48, "y": 32, "flags": 4}, - {"matrix": [0, 1], "x": 48, "y": 48, "flags": 4}, - {"matrix": [0, 2], "x": 64, "y": 48, "flags": 4}, - {"matrix": [0, 3], "x": 80, "y": 48, "flags": 1}, - {"matrix": [1, 0], "x": 16, "y": 32, "flags": 1}, - {"matrix": [1, 1], "x": 16, "y": 48, "flags": 1}, - {"matrix": [1, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [1, 3], "x": 64, "y": 64, "flags": 1}, - {"matrix": [2, 0], "x": 80, "y": 16, "flags": 1}, - {"matrix": [2, 1], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 80, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 112, "y": 0, "flags": 1}, - {"matrix": [3, 1], "x": 128, "y": 0, "flags": 4}, - {"matrix": [3, 2], "x": 144, "y": 0, "flags": 4}, - {"matrix": [3, 3], "x": 160, "y": 0, "flags": 4}, - {"matrix": [4, 0], "x": 128, "y": 16, "flags": 4}, - {"matrix": [4, 1], "x": 144, "y": 16, "flags": 4} - ], "sleep": true }, "features": { diff --git a/keyboards/latincompass/latin17rgb/latin17rgb.c b/keyboards/latincompass/latin17rgb/latin17rgb.c index c9120920eb..54705bf4f7 100644 --- a/keyboards/latincompass/latin17rgb/latin17rgb.c +++ b/keyboards/latincompass/latin17rgb/latin17rgb.c @@ -1,18 +1,18 @@ /* Copyright 2021 18438880 - * - * 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 "quantum.h" #ifdef RGB_MATRIX_ENABLE @@ -31,7 +31,7 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C1_12, C2_12, C3_12},// BL5 {0, C1_13, C2_13, C3_13},// BL6 {0, C1_6, C2_6, C3_6},// BL7 - {0, C1_7, C2_7, C3_7},//BL8 + {0, C1_7, C2_7, C3_7},//BL8 {0, C1_8, C2_8, C3_8},// BL9 {0, C1_14, C2_14, C3_14},// BL10 {0, C1_15, C2_15, C3_15},// BL11 @@ -41,6 +41,30 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C9_3, C8_3, C7_3},//BL15 {0, C9_5, C8_5, C7_5},// BL16 {0, C9_6, C8_6, C7_6},// BL17 + +}; +led_config_t g_led_config = { + { + { 0, 1, 2, 3}, + { 4, 5, 6, 7}, + { 8, 9, 10, NO_LED}, + { 11, 12, 13, 14}, + { 15, 16, NO_LED, NO_LED}, + }, + { + { 48, 32},{ 48, 48},{ 64, 48},{ 80, 48}, + { 16, 32},{ 16, 48}, { 32, 48},{ 64, 64}, + { 80, 16},{ 64, 32},{ 80, 32}, + {112, 0},{128, 0},{144, 0},{160, 0}, + {128, 16},{144, 16} + }, + { + 4, 4, 4, 1, + 1, 1, 4, 1, + 1, 4, 4, + 1, 4, 4, 4, + 4, 4 + } }; #endif diff --git a/keyboards/latincompass/latin6rgb/config.h b/keyboards/latincompass/latin6rgb/config.h index ac1aec51bb..6b15975100 100644 --- a/keyboards/latincompass/latin6rgb/config.h +++ b/keyboards/latincompass/latin6rgb/config.h @@ -19,4 +19,4 @@ #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND -#define AUDIO_PIN B7 +#define B7_AUDIO diff --git a/keyboards/latincompass/latin6rgb/keyboard.json b/keyboards/latincompass/latin6rgb/keyboard.json index 6674b58205..d2708df399 100644 --- a/keyboards/latincompass/latin6rgb/keyboard.json +++ b/keyboards/latincompass/latin6rgb/keyboard.json @@ -39,14 +39,6 @@ "solid_reactive": true }, "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [0, 1], "x": 0, "y": 64, "flags": 4}, - {"matrix": [0, 2], "x": 112, "y": 64, "flags": 4}, - {"matrix": [1, 0], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 1], "x": 112, "y": 32, "flags": 1}, - {"matrix": [1, 2], "x": 224, "y": 32, "flags": 4} - ], "sleep": true }, "matrix_pins": { diff --git a/keyboards/latincompass/latin6rgb/latin6rgb.c b/keyboards/latincompass/latin6rgb/latin6rgb.c index 1176063c37..779373ae8f 100644 --- a/keyboards/latincompass/latin6rgb/latin6rgb.c +++ b/keyboards/latincompass/latin6rgb/latin6rgb.c @@ -1,18 +1,18 @@ /* Copyright 2021 18438880 - * - * 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 "quantum.h" #ifdef RGB_MATRIX_ENABLE @@ -31,4 +31,19 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C1_12, C2_12, C3_12},// BL5 {0, C1_13, C2_13, C3_13},// BL6 }; + +led_config_t g_led_config = { + { + { 0, 1, 2}, + { 3, 4, 5}, + }, + { + { 48, 32},{ 48, 48},{ 64, 48}, + { 80, 16},{ 64, 32},{ 80, 32} + }, + { + 4, 4, 4, + 1, 1, 4 + } +}; #endif diff --git a/keyboards/latincompass/latinpad/keyboard.json b/keyboards/latincompass/latinpad/keyboard.json index 930cdadad8..3b4563b1ca 100644 --- a/keyboards/latincompass/latinpad/keyboard.json +++ b/keyboards/latincompass/latinpad/keyboard.json @@ -40,27 +40,7 @@ "pixel_flow": true, "pixel_fractal": true }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 16, "flags": 1}, - {"matrix": [0, 1], "x": 74, "y": 16, "flags": 1}, - {"matrix": [0, 2], "x": 148, "y": 16, "flags": 1}, - {"matrix": [0, 3], "x": 224, "y": 16, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 32, "flags": 1}, - {"matrix": [1, 1], "x": 74, "y": 32, "flags": 1}, - {"matrix": [1, 2], "x": 148, "y": 32, "flags": 1}, - {"matrix": [1, 3], "x": 224, "y": 32, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 48, "flags": 1}, - {"matrix": [2, 1], "x": 74, "y": 48, "flags": 1}, - {"matrix": [2, 2], "x": 148, "y": 48, "flags": 1}, - {"matrix": [2, 3], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [3, 1], "x": 74, "y": 64, "flags": 1}, - {"matrix": [3, 2], "x": 148, "y": 64, "flags": 1}, - {"matrix": [3, 3], "x": 224, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [4, 1], "x": 74, "y": 0, "flags": 1} - ] + "driver": "ws2812" }, "features": { "bootmagic": true, diff --git a/keyboards/latincompass/latinpad/latinpad.c b/keyboards/latincompass/latinpad/latinpad.c new file mode 100644 index 0000000000..b476b4c238 --- /dev/null +++ b/keyboards/latincompass/latinpad/latinpad.c @@ -0,0 +1,38 @@ +/* Copyright 2020 latincompass + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 0, 1, 2, 3 }, + { 4, 5, 6, 7 }, + { 8, 9, 10, 11 }, + { 12, 13, 14, 15 }, + { 16, 17, NO_LED, NO_LED } +},{ + { 74, 21 }, { 37, 21 }, { 24, 21 }, { 18, 21 }, + { 74, 10 }, { 37, 10 }, { 28, 10 }, { 18, 10 }, + { 74, 7 }, { 37, 7 }, { 20, 7 }, { 18, 7 }, + { 74, 5 }, { 37, 5 }, { 22, 5 }, { 18, 5 }, + { 74, 5 }, { 37, 5 }, +},{ + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1, 1, 1, + 1, 1 +} }; +#endif diff --git a/keyboards/lazydesigners/the60/rev2/readme.md b/keyboards/lazydesigners/the60/rev2/readme.md index 214de86227..12f51a06af 100755 --- a/keyboards/lazydesigners/the60/rev2/readme.md +++ b/keyboards/lazydesigners/the60/rev2/readme.md @@ -18,4 +18,4 @@ **Reset Key:** To enter the bootloader, either push the RESET button on the PCB or the `QK_BOOT` key on the FN layer. - 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). + See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/lfkeyboards/lfk87/readme.md b/keyboards/lfkeyboards/lfk87/readme.md index 8fa0c6b903..44a36c479f 100644 --- a/keyboards/lfkeyboards/lfk87/readme.md +++ b/keyboards/lfkeyboards/lfk87/readme.md @@ -11,4 +11,4 @@ Make example for this keyboard (after setting up your build environment): make lfkeyboards/lfk87:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file diff --git a/keyboards/lfkeyboards/smk65/readme.md b/keyboards/lfkeyboards/smk65/readme.md index f0729294d6..50d52472bb 100644 --- a/keyboards/lfkeyboards/smk65/readme.md +++ b/keyboards/lfkeyboards/smk65/readme.md @@ -14,4 +14,4 @@ Flashing example for this keyboard: make lfkeyboards/smk65: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/lgbtkl/keyboard.json b/keyboards/lgbtkl/keyboard.json index e89d4dcc53..51411f2b2a 100644 --- a/keyboards/lgbtkl/keyboard.json +++ b/keyboards/lgbtkl/keyboard.json @@ -106,4 +106,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/lgbtkl/readme.md b/keyboards/lgbtkl/readme.md index 234fee52fa..cd6f94b6e9 100644 --- a/keyboards/lgbtkl/readme.md +++ b/keyboards/lgbtkl/readme.md @@ -23,4 +23,4 @@ Enter the bootloader using one of the following methods: * **Bootmagic reset**: Hold the F1 key while connecting the USB cable * **Physical reset button**: Hold the button labeled 'B/R' for a while to enter bootloader. -* **Keycode in layout**: In the case of the default keymap, use the key combination Fn + F5 +* **Keycode in layout**: In the case of the default keymap, use the key combination Fn + F5 \ No newline at end of file diff --git a/keyboards/lily58/lite_rev3/halconf.h b/keyboards/lily58/lite_rev3/halconf.h index da46c85cf6..4639740d44 100644 --- a/keyboards/lily58/lite_rev3/halconf.h +++ b/keyboards/lily58/lite_rev3/halconf.h @@ -4,4 +4,4 @@ #define HAL_USE_I2C TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/lime/keymaps/default/keymap.c b/keyboards/lime/keymaps/default/keymap.c index 8e5923c14e..8f4e6eb8a4 100644 --- a/keyboards/lime/keymaps/default/keymap.c +++ b/keyboards/lime/keymaps/default/keymap.c @@ -172,7 +172,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { # endif /* Joystick + Encoder fix */ - void keyboard_post_init_user(void) { + void keyboard_post_init_kb(void) { if (is_keyboard_master()) { gpio_write_pin_low(JOYSTICK_X_PIN); gpio_write_pin_low(JOYSTICK_Y_PIN); diff --git a/keyboards/linworks/dolice/keymaps/default/keymap.c b/keyboards/linworks/dolice/keymaps/default/keymap.c index fe034d8f16..45f710a7a9 100644 --- a/keyboards/linworks/dolice/keymaps/default/keymap.c +++ b/keyboards/linworks/dolice/keymaps/default/keymap.c @@ -30,4 +30,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, 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/linworks/em8/readme.md b/keyboards/linworks/em8/readme.md index ce3f9adca1..cd8f6a5ba3 100644 --- a/keyboards/linworks/em8/readme.md +++ b/keyboards/linworks/em8/readme.md @@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## How to enter the bootloader * **Bootmagic reset**: Hold down the key `ESC` key and plug in the keyboard (Top left most switch). On older firmware revisions, `~` (top left most switch of the alpha cluster) may be needed instead. -* **Physical reset button**: Briefly press the button on the back of the PCB +* **Physical reset button**: Briefly press the button on the back of the PCB \ No newline at end of file diff --git a/keyboards/linworks/fave65h/fave65h.c b/keyboards/linworks/fave65h/fave65h.c new file mode 100644 index 0000000000..01cf705e2a --- /dev/null +++ b/keyboards/linworks/fave65h/fave65h.c @@ -0,0 +1,44 @@ +/* +Copyright 2020 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "quantum.h" + + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + // Key Matrix to LED Index + { 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52 }, + { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, + { 0, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, NO_LED, 17, 16 }, + { 51, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, NO_LED, 39, 40, 41 }, + { 50, 49, 48, NO_LED, NO_LED, NO_LED, 47, NO_LED, 46, NO_LED, 45, NO_LED, 44, 43, 42 } + }, { + // LED Index to Physical Position + {3, 32}, {8, 16}, {28, 16}, {44, 16}, {60, 16}, {76, 16}, {92, 16}, {108, 16}, {124, 16}, {140, 16}, + {156, 16}, {172, 16}, {188, 16}, {204, 16}, {224, 16}, {244, 16}, {244, 32}, {218, 32}, {192, 32}, {176, 32}, + {160, 32}, {144, 32}, {128, 32}, {112, 32}, {96, 32}, {80, 32}, {64, 32}, {48, 32}, {32, 32}, {40, 48}, + {56, 48}, {72, 48}, {88, 48}, {104, 48}, {120, 48}, {136, 48}, {152, 48}, {168, 48}, {184, 48}, {206, 48}, + {228, 48}, {244, 48}, {244, 64}, {228, 64}, {212, 64}, {186, 64}, {166, 64}, {96, 64}, {46, 64}, {22, 64}, + {0, 64}, {14, 48}, {244, 0}, {220, 3}, {196, 0}, {180, 0}, {164, 0}, {148, 0}, {132, 0}, {116, 0}, + {100, 0}, {84, 0}, {68, 0}, {52, 0}, {36, 0}, {20, 0}, {4, 0} + }, { + // LED Index to Flag + 1, 4, 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, 4, 4, 1, + 9, 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, 1, 1, 4, 1, 1, 1, 1, 1 + } +}; +#endif diff --git a/keyboards/linworks/fave65h/keyboard.json b/keyboards/linworks/fave65h/keyboard.json index e92bb4abca..212bd0a37b 100644 --- a/keyboards/linworks/fave65h/keyboard.json +++ b/keyboards/linworks/fave65h/keyboard.json @@ -53,75 +53,6 @@ "animation": "cycle_all" }, "driver": "ws2812", - "layout": [ - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 1}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 1}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, - {"matrix": [3, 1], "x": 34, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 49, "y": 48, "flags": 9}, - {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 171, "y": 64, "flags": 4}, - {"matrix": [4, 8], "x": 152, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 39, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 21, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 4}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 135, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 120, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 105, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 90, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 60, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 45, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 30, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 15, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1} - ], "max_brightness": 120, "sleep": true }, diff --git a/keyboards/linworks/fave87/keymaps/default/keymap.c b/keyboards/linworks/fave87/keymaps/default/keymap.c index 9383e6adbb..343c4c02ad 100644 --- a/keyboards/linworks/fave87/keymaps/default/keymap.c +++ b/keyboards/linworks/fave87/keymaps/default/keymap.c @@ -32,4 +32,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), -}; +}; \ No newline at end of file diff --git a/keyboards/linworks/fave87h/fave87h.c b/keyboards/linworks/fave87h/fave87h.c new file mode 100644 index 0000000000..c529e439b9 --- /dev/null +++ b/keyboards/linworks/fave87h/fave87h.c @@ -0,0 +1,48 @@ +/* +Copyright 2020 +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + // Key Matrix to LED Index + { 47, NO_LED, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62 }, + { 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30 }, + { 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, + { 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, NO_LED, 0, NO_LED, NO_LED, NO_LED }, + { 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, NO_LED, 85, NO_LED, NO_LED, 86, NO_LED }, + { 73, 72, 71, NO_LED, NO_LED, 70, NO_LED, NO_LED, NO_LED, 69, 68, NO_LED, 67, 66, 65, 64, 63 } + }, { + // LED Index to Physical Position + { 190, 40 }, { 167, 40 }, { 153, 40 }, { 139, 40 }, { 125, 40 }, { 111, 40 }, { 97, 40 }, { 83, 40 }, { 69, 40 }, { 55, 40 }, + { 40, 40 }, { 26, 40 }, { 0, 41 }, { 5, 27 }, { 23, 27 }, { 37, 27 }, { 51, 27 }, { 65, 27 }, { 79, 27 }, { 93, 27 }, + { 107, 27 }, { 121, 27 }, { 135, 27 }, { 149, 27 }, { 163, 27 }, { 177, 27 }, { 195, 27 }, { 216, 27 }, { 230, 27 }, { 244, 27 }, + { 244, 15 }, { 230, 15 }, { 216, 15 }, { 191, 17 }, { 170, 15 }, { 156, 15 }, { 142, 15 }, { 128, 15 }, { 114, 15 }, { 100, 15 }, + { 86, 15 }, { 72, 15 }, { 58, 15 }, { 44, 15 }, { 30, 15 }, { 16, 15 }, { 2, 15 }, { 2, 0 }, { 30, 0 }, { 44, 0 }, + { 58, 0 }, { 72, 0 }, { 93, 0 }, { 107, 0 }, { 121, 0 }, { 135, 0 }, { 156, 0 }, { 170, 0 }, { 184, 0 }, { 198, 0 }, + { 216, 0 }, { 230, 0 }, { 244, 0 }, { 244, 64 }, { 230, 64 }, { 216, 64 }, { 197, 64 }, { 179, 64 }, { 162, 64 }, { 144, 64 }, + { 91, 64 }, { 39, 64 }, { 21, 64 }, { 4, 64 }, { 11, 52 }, { 33, 52 }, { 47, 52 }, { 62, 52 }, { 76, 52 }, { 90, 52 }, + { 104, 52 }, { 118, 52 }, { 132, 52 }, { 146, 52 }, { 160, 52 }, { 186, 52 }, { 230, 52 } + }, { + // LED Index to Flag + 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, + 9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1 + } +}; +#endif diff --git a/keyboards/linworks/fave87h/keyboard.json b/keyboards/linworks/fave87h/keyboard.json index b3d125c770..4bb6e42de4 100644 --- a/keyboards/linworks/fave87h/keyboard.json +++ b/keyboards/linworks/fave87h/keyboard.json @@ -56,95 +56,6 @@ "animation": "cycle_all" }, "driver": "ws2812", - "layout": [ - {"matrix": [3, 13], "x": 174, "y": 40, "flags": 1}, - {"matrix": [3, 11], "x": 153, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 40, "flags": 1}, - {"matrix": [3, 6], "x": 88, "y": 40, "flags": 1}, - {"matrix": [3, 5], "x": 75, "y": 40, "flags": 1}, - {"matrix": [3, 4], "x": 62, "y": 40, "flags": 1}, - {"matrix": [3, 3], "x": 49, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 40, "flags": 4}, - {"matrix": [3, 1], "x": 23, "y": 40, "flags": 4}, - {"matrix": [3, 0], "x": 5, "y": 40, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 28, "flags": 1}, - {"matrix": [2, 1], "x": 20, "y": 28, "flags": 1}, - {"matrix": [2, 2], "x": 33, "y": 28, "flags": 1}, - {"matrix": [2, 3], "x": 46, "y": 28, "flags": 1}, - {"matrix": [2, 4], "x": 59, "y": 28, "flags": 4}, - {"matrix": [2, 5], "x": 72, "y": 28, "flags": 4}, - {"matrix": [2, 6], "x": 85, "y": 28, "flags": 4}, - {"matrix": [2, 7], "x": 98, "y": 28, "flags": 4}, - {"matrix": [2, 8], "x": 111, "y": 28, "flags": 4}, - {"matrix": [2, 9], "x": 124, "y": 28, "flags": 4}, - {"matrix": [2, 10], "x": 137, "y": 28, "flags": 4}, - {"matrix": [2, 11], "x": 150, "y": 28, "flags": 4}, - {"matrix": [2, 12], "x": 163, "y": 28, "flags": 4}, - {"matrix": [2, 13], "x": 179, "y": 28, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 28, "flags": 4}, - {"matrix": [2, 15], "x": 211, "y": 28, "flags": 4}, - {"matrix": [2, 16], "x": 224, "y": 28, "flags": 1}, - {"matrix": [1, 16], "x": 224, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 211, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 13], "x": 176, "y": 15, "flags": 1}, - {"matrix": [1, 12], "x": 156, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 13, "y": 15, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 26, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 39, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 52, "y": 0, "flags": 9}, - {"matrix": [0, 5], "x": 65, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 85, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 98, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 111, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 124, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 143, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 156, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 169, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 182, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 4}, - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 1}, - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 4}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 4}, - {"matrix": [5, 13], "x": 180, "y": 64, "flags": 4}, - {"matrix": [5, 12], "x": 164, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 148, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 131, "y": 64, "flags": 4}, - {"matrix": [5, 5], "x": 83, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 34, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 4}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 8, "y": 52, "flags": 1}, - {"matrix": [4, 1], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 42, "y": 52, "flags": 1}, - {"matrix": [4, 3], "x": 55, "y": 52, "flags": 1}, - {"matrix": [4, 4], "x": 68, "y": 52, "flags": 1}, - {"matrix": [4, 5], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 94, "y": 52, "flags": 1}, - {"matrix": [4, 7], "x": 107, "y": 52, "flags": 1}, - {"matrix": [4, 8], "x": 120, "y": 52, "flags": 1}, - {"matrix": [4, 9], "x": 133, "y": 52, "flags": 1}, - {"matrix": [4, 10], "x": 146, "y": 52, "flags": 1}, - {"matrix": [4, 12], "x": 171, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 1} - ], "max_brightness": 120, "sleep": true }, diff --git a/keyboards/linworks/favepada/keyboard.json b/keyboards/linworks/favepada/keyboard.json index e8f3af81cb..e468f88779 100644 --- a/keyboards/linworks/favepada/keyboard.json +++ b/keyboards/linworks/favepada/keyboard.json @@ -140,4 +140,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/linworks/whale75/mcuconf.h b/keyboards/linworks/whale75/mcuconf.h index a668be4d0c..a89e1dd02b 100644 --- a/keyboards/linworks/whale75/mcuconf.h +++ b/keyboards/linworks/whale75/mcuconf.h @@ -22,4 +22,4 @@ #undef STM32_PWM_USE_TIM1 #undef STM32_PWM_USE_TIM4 #define STM32_PWM_USE_TIM1 TRUE -#define STM32_PWM_USE_TIM4 TRUE +#define STM32_PWM_USE_TIM4 TRUE \ No newline at end of file diff --git a/keyboards/ll3ma/bongopad/keyboard.json b/keyboards/ll3ma/bongopad/keyboard.json index 9fba0917bb..c3abc03fc9 100644 --- a/keyboards/ll3ma/bongopad/keyboard.json +++ b/keyboards/ll3ma/bongopad/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "BongoPad", "manufacturer": "Ll3ma", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ll3ma/bongopad", "maintainer": "Ll3ma", "usb": { "vid": "0x3728", diff --git a/keyboards/lostdotfish/rp2040_orbweaver/keymaps/default/keymap.c b/keyboards/lostdotfish/rp2040_orbweaver/keymaps/default/keymap.c index 382cb2b960..df59752ce0 100644 --- a/keyboards/lostdotfish/rp2040_orbweaver/keymaps/default/keymap.c +++ b/keyboards/lostdotfish/rp2040_orbweaver/keymaps/default/keymap.c @@ -76,13 +76,15 @@ layer_state_t layer_state_set_user(layer_state_t state) { } return state; } -void suspend_power_down_user(void) { +void suspend_power_down_kb(void) { // code will run multiple times while keyboard is suspended gpio_write_pin_high(GP23); gpio_write_pin_high(GP24); gpio_write_pin_high(GP25); + suspend_power_down_user(); } -void suspend_wakeup_init_user(void) { +void suspend_wakeup_init_kb(void) { layer_state_set_kb(layer_state); + suspend_wakeup_init_user(); } diff --git a/keyboards/lucid/velvet_hotswap/rules.mk b/keyboards/lucid/velvet_hotswap/rules.mk index 3437a35bdf..5a00049a75 100644 --- a/keyboards/lucid/velvet_hotswap/rules.mk +++ b/keyboards/lucid/velvet_hotswap/rules.mk @@ -1,2 +1,2 @@ # Processor frequency -F_CPU = 8000000 +F_CPU = 8000000 \ No newline at end of file diff --git a/keyboards/lucid/velvet_solder/rules.mk b/keyboards/lucid/velvet_solder/rules.mk index 3437a35bdf..5a00049a75 100644 --- a/keyboards/lucid/velvet_solder/rules.mk +++ b/keyboards/lucid/velvet_solder/rules.mk @@ -1,2 +1,2 @@ # Processor frequency -F_CPU = 8000000 +F_CPU = 8000000 \ No newline at end of file diff --git a/keyboards/lz/erghost/readme.md b/keyboards/lz/erghost/readme.md index b064d207c5..0a4a504227 100644 --- a/keyboards/lz/erghost/readme.md +++ b/keyboards/lz/erghost/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -* **Physical reset button**: Press the button on the back of the PCB +* **Physical reset button**: Press the button on the back of the PCB \ No newline at end of file diff --git a/keyboards/machkeyboards/mach3/keymaps/default/keymap.c b/keyboards/machkeyboards/mach3/keymaps/default/keymap.c index e351641982..c395c820f9 100644 --- a/keyboards/machkeyboards/mach3/keymaps/default/keymap.c +++ b/keyboards/machkeyboards/mach3/keymaps/default/keymap.c @@ -21,4 +21,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { BL_UP, BL_DOWN, BL_BRTG, BL_UP, BL_DOWN, BL_BRTG ) -}; +}; \ No newline at end of file diff --git a/keyboards/machkeyboards/mach3/keymaps/default/readme.md b/keyboards/machkeyboards/mach3/keymaps/default/readme.md index cf08391de6..d12e48d497 100644 --- a/keyboards/machkeyboards/mach3/keymaps/default/readme.md +++ b/keyboards/machkeyboards/mach3/keymaps/default/readme.md @@ -1,4 +1,4 @@ # Default Mach 3 Keymap This is the default layout that comes with the Mach 3. -The keys are set to only control the backlight. +The keys are set to only control the backlight. \ No newline at end of file diff --git a/keyboards/machkeyboards/mach3/mach3.c b/keyboards/machkeyboards/mach3/mach3.c index 881528d650..948df5a066 100644 --- a/keyboards/machkeyboards/mach3/mach3.c +++ b/keyboards/machkeyboards/mach3/mach3.c @@ -15,9 +15,28 @@ */ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, 1, 2 }, + { 5, 4, 3 }, + { 6, 7, 8 }, +}, { + // LED Index to Physical Position + { 0, 0 }, { 112, 0 }, { 224, 0 }, + { 0, 112 }, { 112, 112 }, { 224, 112 }, + { 0, 224 }, { 112, 224 }, { 224, 224 }, +}, { + // LED Index to Flag + 4, 4, 4, + 4, 4, 4, + 4, 4, 4 +} }; +#endif + void keyboard_pre_init_kb(void) { gpio_set_pin_output(F5); gpio_write_pin_high(F5); - + keyboard_pre_init_user(); } diff --git a/keyboards/machkeyboards/readme.md b/keyboards/machkeyboards/readme.md index d99156e667..ef2f8b159d 100644 --- a/keyboards/machkeyboards/readme.md +++ b/keyboards/machkeyboards/readme.md @@ -4,4 +4,4 @@ Mach Keyboards focus itself on selling the best macropad in the world. [Mach Keyboards Official Website](https://machkeyboards.com) [Discord](https://discord.gg/ukFKFc7eXy) -[Instagram](https://www.instagram.com/machkeyboards) +[Instagram](https://www.instagram.com/machkeyboards) \ No newline at end of file diff --git a/keyboards/magic_force/mf17/keymaps/default/keymap.c b/keyboards/magic_force/mf17/keymaps/default/keymap.c index 867d292b88..c845d80f13 100755 --- a/keyboards/magic_force/mf17/keymaps/default/keymap.c +++ b/keyboards/magic_force/mf17/keymaps/default/keymap.c @@ -29,4 +29,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RM_SPDD, RM_TOGG, RM_SPDU, QK_BOOTLOADER, RM_PREV, RM_VALD, RM_HUED, KC_TRNS, KC_TRNS, QK_CLEAR_EEPROM), -}; +}; \ No newline at end of file diff --git a/keyboards/magic_force/mf34/keyboard.json b/keyboards/magic_force/mf34/keyboard.json index 35a652422d..9acae04b27 100644 --- a/keyboards/magic_force/mf34/keyboard.json +++ b/keyboards/magic_force/mf34/keyboard.json @@ -65,42 +65,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 37, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 74, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 149, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 186, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 37, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 74, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 112, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 149, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 186, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 224, "y": 12, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 24, "flags": 4}, - {"matrix": [2, 1], "x": 37, "y": 24, "flags": 4}, - {"matrix": [2, 2], "x": 74, "y": 24, "flags": 4}, - {"matrix": [2, 3], "x": 112, "y": 17, "flags": 4}, - {"matrix": [2, 4], "x": 149, "y": 17, "flags": 4}, - {"matrix": [2, 5], "x": 186, "y": 17, "flags": 4}, - {"matrix": [3, 3], "x": 112, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 149, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 186, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 224, "y": 38, "flags": 4}, - {"matrix": [4, 1], "x": 37, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 112, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 149, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 186, "y": 51, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 37, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 74, "y": 64, "flags": 4}, - {"matrix": [5, 4], "x": 149, "y": 64, "flags": 4}, - {"matrix": [5, 5], "x": 186, "y": 64, "flags": 4}, - {"matrix": [5, 6], "x": 224, "y": 64, "flags": 4} - ], "max_brightness": 200 }, "features": { diff --git a/keyboards/magic_force/mf34/mf34.c b/keyboards/magic_force/mf34/mf34.c new file mode 100644 index 0000000000..8cced36866 --- /dev/null +++ b/keyboards/magic_force/mf34/mf34.c @@ -0,0 +1,48 @@ +/* +Copyright 2015 Álvaro "Gondolindrim" Volpato + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE + +// RGB Matrix +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, NO_LED }, + { NO_LED, NO_LED, NO_LED, 20, 21, 22, 23 }, + { NO_LED, 24, NO_LED, 25, 26, 27, NO_LED }, + { 28, 29, 30, NO_LED, 31, 32, 33 } + }, { + {0, 0}, {37, 0}, {74, 0}, {112, 0}, {149, 0}, {186, 0}, {224, 0}, + {0, 12}, {37, 12}, {74, 12}, {112, 12}, {149, 12}, {186, 12}, {224, 12}, + {0, 24}, {37, 24}, {74, 24}, {112, 17}, {149, 17}, {186, 17}, + {112, 38}, {149, 38}, {186, 38}, {224, 38}, + {37, 51}, {112, 51}, {149, 51}, {186, 51}, + {0, 64}, {37, 64}, {74, 64}, {149, 64}, {186, 64}, {224, 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 + } +}; +#endif diff --git a/keyboards/manyboard/macro/keyboard.json b/keyboards/manyboard/macro/keyboard.json index 3b99221b78..d0c278b781 100644 --- a/keyboards/manyboard/macro/keyboard.json +++ b/keyboards/manyboard/macro/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "MB_Macro", "manufacturer": "Manyboard", + "url": "https://github.com/WillEhman/qmk_firmware/tree/dev_create_mb_macro", "maintainer": "William Ehman", "usb": { "vid": "0x4D42", diff --git a/keyboards/mariorion_v25/halconf.h b/keyboards/mariorion_v25/halconf.h index 7a41f7e008..a25bad2c7f 100644 --- a/keyboards/mariorion_v25/halconf.h +++ b/keyboards/mariorion_v25/halconf.h @@ -7,4 +7,4 @@ #define HAL_USE_SPI FALSE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/mariorion_v25/matrix_diagram.md b/keyboards/mariorion_v25/matrix_diagram.md index 795d3c1d30..f37df5a6e1 100644 --- a/keyboards/mariorion_v25/matrix_diagram.md +++ b/keyboards/mariorion_v25/matrix_diagram.md @@ -26,4 +26,4 @@ ┌─────┬───┬───────────────────────────────────────┬───┬─────┐ │50 │51 │55 │5C │5D │ 10u Spacebar └─────┴───┴───────────────────────────────────────┴───┴─────┘ -``` +``` \ No newline at end of file diff --git a/keyboards/mariorion_v25/mcuconf.h b/keyboards/mariorion_v25/mcuconf.h index b741e10311..c2cf95aef2 100644 --- a/keyboards/mariorion_v25/mcuconf.h +++ b/keyboards/mariorion_v25/mcuconf.h @@ -6,4 +6,4 @@ #include_next #define STM32_PWM_USE_TIM17 TRUE -#define STM32_TIM17_SUPPRESS_ISR +#define STM32_TIM17_SUPPRESS_ISR \ No newline at end of file diff --git a/keyboards/mariorion_v25/prod/config.h b/keyboards/mariorion_v25/prod/config.h index c17b4322e4..8895d16ece 100644 --- a/keyboards/mariorion_v25/prod/config.h +++ b/keyboards/mariorion_v25/prod/config.h @@ -13,4 +13,4 @@ #define INDICATOR_0 C9 #define INDICATOR_1 C8 -#define INDICATOR_2 C7 +#define INDICATOR_2 C7 \ No newline at end of file diff --git a/keyboards/mariorion_v25/proto/config.h b/keyboards/mariorion_v25/proto/config.h index d6c9049fd7..894b8fbf9e 100644 --- a/keyboards/mariorion_v25/proto/config.h +++ b/keyboards/mariorion_v25/proto/config.h @@ -13,4 +13,4 @@ #define INDICATOR_0 C8 #define INDICATOR_1 C7 -#define INDICATOR_2 C6 +#define INDICATOR_2 C6 \ No newline at end of file diff --git a/keyboards/marksard/rhymestone/rev1/keyboard.json b/keyboards/marksard/rhymestone/rev1/keyboard.json index 2b9829e711..aaff1515e0 100644 --- a/keyboards/marksard/rhymestone/rev1/keyboard.json +++ b/keyboards/marksard/rhymestone/rev1/keyboard.json @@ -10,48 +10,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [0, 4], "x": 100, "y": 0, "flags": 4}, - {"matrix": [1, 4], "x": 100, "y": 21, "flags": 4}, - {"matrix": [2, 4], "x": 100, "y": 43, "flags": 4}, - {"matrix": [3, 4], "x": 100, "y": 64, "flags": 1}, - {"matrix": [3, 3], "x": 75, "y": 64, "flags": 1}, - {"matrix": [3, 2], "x": 50, "y": 64, "flags": 1}, - {"matrix": [3, 1], "x": 25, "y": 64, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 43, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 25, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 50, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 75, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 75, "y": 21, "flags": 4}, - {"matrix": [2, 3], "x": 75, "y": 43, "flags": 4}, - {"matrix": [2, 2], "x": 50, "y": 43, "flags": 4}, - {"matrix": [2, 1], "x": 25, "y": 43, "flags": 4}, - {"matrix": [1, 1], "x": 25, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 50, "y": 21, "flags": 4}, - {"matrix": [4, 4], "x": 125, "y": 0, "flags": 4}, - {"matrix": [5, 4], "x": 125, "y": 21, "flags": 4}, - {"matrix": [6, 4], "x": 125, "y": 43, "flags": 4}, - {"matrix": [7, 4], "x": 125, "y": 64, "flags": 1}, - {"matrix": [7, 3], "x": 150, "y": 64, "flags": 1}, - {"matrix": [7, 2], "x": 175, "y": 64, "flags": 1}, - {"matrix": [7, 1], "x": 200, "y": 64, "flags": 1}, - {"matrix": [7, 0], "x": 224, "y": 64, "flags": 1}, - {"matrix": [6, 0], "x": 224, "y": 43, "flags": 4}, - {"matrix": [5, 0], "x": 224, "y": 21, "flags": 4}, - {"matrix": [4, 0], "x": 224, "y": 0, "flags": 4}, - {"matrix": [4, 1], "x": 200, "y": 0, "flags": 4}, - {"matrix": [4, 2], "x": 175, "y": 0, "flags": 4}, - {"matrix": [4, 3], "x": 150, "y": 0, "flags": 4}, - {"matrix": [5, 3], "x": 150, "y": 21, "flags": 4}, - {"matrix": [6, 3], "x": 150, "y": 43, "flags": 4}, - {"matrix": [6, 2], "x": 175, "y": 43, "flags": 4}, - {"matrix": [6, 1], "x": 200, "y": 43, "flags": 4}, - {"matrix": [5, 1], "x": 200, "y": 21, "flags": 4}, - {"matrix": [5, 2], "x": 175, "y": 21, "flags": 4} - ], "sat_steps": 8, "val_steps": 8, "speed_steps": 10, diff --git a/keyboards/marksard/rhymestone/rev1/rev1.c b/keyboards/marksard/rhymestone/rev1/rev1.c new file mode 100644 index 0000000000..06ea367707 --- /dev/null +++ b/keyboards/marksard/rhymestone/rev1/rev1.c @@ -0,0 +1,60 @@ +/* Copyright 2020 marksard + * + * 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" + +// Optional override functions below. +// You can leave any or all of these undefined. +// These are only required if you want to perform custom actions. + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 10, 11, 12, 13, 0 }, + { 9, 18, 19, 14, 1 }, + { 8, 17, 16, 15, 2 }, + { 7, 6, 5, 4, 3 }, + { 30, 31, 32, 33, 20 }, + { 29, 38, 39, 34, 21 }, + { 28, 37, 36, 35, 22 }, + { 27, 26, 25, 24, 23 } +}, { + { 100, 0 }, { 100, 21 }, { 100, 43 }, { 100, 64 }, + { 75, 64 }, { 50, 64 }, { 25, 64 }, { 0, 64 }, + { 0, 43 }, { 0, 21 }, { 0, 0 }, + { 25, 0 }, { 50, 0 }, { 75, 0 }, + { 75, 21 }, { 75, 43 }, + { 50, 43 }, { 25, 43 }, + { 25, 21 }, { 50, 21 }, + { 125, 0 }, { 125, 21 }, { 125, 43 }, { 125, 64 }, + { 150, 64 }, { 175, 64 }, { 200, 64 }, { 225, 64 }, + { 225, 43 }, { 225, 21 }, { 225, 0 }, + { 200, 0 }, { 175, 0 }, { 150, 0 }, + { 150, 21 }, { 150, 43 }, + { 175, 43 }, { 200, 43 }, + { 200, 21 }, { 150, 21 } +}, { + 4, 4, 4, 1, + 1, 1, 1, 1, + 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 1, + 1, 1, 1, 1, + 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 4 +} }; +#endif diff --git a/keyboards/marksard/treadstone48/common/glcdfont.c b/keyboards/marksard/treadstone48/common/glcdfont.c new file mode 100644 index 0000000000..003ce1a87b --- /dev/null +++ b/keyboards/marksard/treadstone48/common/glcdfont.c @@ -0,0 +1,233 @@ +// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. +// See gfxfont.h for newer custom bitmap font info. + +#include "progmem.h" + +// Standard ASCII 5x7 font + +static const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, + 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, + 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, + 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, + 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, + 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, + 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, + 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, + 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, + 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, + 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, + 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, + 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, + 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, + 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, + 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, + 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, + 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, + 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, + 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, + 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, + 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, + 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, + 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x4C, 0x10, 0x10, 0x10, 0x7C, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/keyboards/marksard/treadstone48/keymaps/default/config.h b/keyboards/marksard/treadstone48/keymaps/default/config.h index ec84fb39f1..a5f68e7a2b 100644 --- a/keyboards/marksard/treadstone48/keymaps/default/config.h +++ b/keyboards/marksard/treadstone48/keymaps/default/config.h @@ -45,3 +45,5 @@ // If you plug in the USB on the right side, please enable MASTER_RIGHT // #define RHYMESTONE_RIGHTHAND + +#define OLED_FONT_H "keyboards/marksard/treadstone48/common/glcdfont.c" diff --git a/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/config.h b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/config.h index d5973a16d8..f18bcf44e7 100644 --- a/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/config.h +++ b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/config.h @@ -46,3 +46,5 @@ // If you plug in the USB on the right side, please enable MASTER_RIGHT // #define RHYMESTONE_RIGHTHAND + +#define OLED_FONT_H "keyboards/marksard/treadstone48/common/glcdfont.c" diff --git a/keyboards/matchstickworks/southpad/rev1/keyboard.json b/keyboards/matchstickworks/southpad/rev1/keyboard.json index afc840944a..e7c3237a55 100644 --- a/keyboards/matchstickworks/southpad/rev1/keyboard.json +++ b/keyboards/matchstickworks/southpad/rev1/keyboard.json @@ -50,4 +50,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/matchstickworks/southpad/rev1/keymaps/default/keymap.c b/keyboards/matchstickworks/southpad/rev1/keymaps/default/keymap.c index 82e17a12f8..7d5d5cf2b3 100644 --- a/keyboards/matchstickworks/southpad/rev1/keymaps/default/keymap.c +++ b/keyboards/matchstickworks/southpad/rev1/keymaps/default/keymap.c @@ -24,4 +24,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P3, KC_P2, KC_P1, KC_PENT, KC_PDOT, KC_P0 ), -}; +}; \ No newline at end of file diff --git a/keyboards/matchstickworks/southpad/rev2/keymaps/default/keymap.c b/keyboards/matchstickworks/southpad/rev2/keymaps/default/keymap.c index 298eb82917..2dd332fdf5 100644 --- a/keyboards/matchstickworks/southpad/rev2/keymaps/default/keymap.c +++ b/keyboards/matchstickworks/southpad/rev2/keymaps/default/keymap.c @@ -22,4 +22,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_PGDN, KC_DOWN, KC_END, KC_DEL, KC_INS ), -}; +}; \ No newline at end of file diff --git a/keyboards/matchstickworks/southpad/rev2/keymaps/reverse/keymap.c b/keyboards/matchstickworks/southpad/rev2/keymaps/reverse/keymap.c deleted file mode 100644 index b318c144fd..0000000000 --- a/keyboards/matchstickworks/southpad/rev2/keymaps/reverse/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2023 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( - KC_BSPC, KC_EQL, LSFT(KC_9),LSFT(KC_0), - KC_PMNS, KC_PAST, KC_PSLS, TG(1), - KC_PPLS, KC_P7, KC_P8, KC_P9, - KC_P4, KC_P5, KC_P6, - KC_PENT, KC_P1, KC_P2, KC_P3, - KC_PDOT, KC_P0 - ), - - [1] = LAYOUT( - _______, _______, _______, _______, - _______, _______, _______, _______, - _______, KC_PGUP, KC_UP, KC_HOME, - KC_LEFT, _______, KC_RGHT, - _______, KC_PGDN, KC_DOWN, KC_END, - KC_DEL, KC_INS - ), -}; diff --git a/keyboards/matrix/abelx/mcuconf.h b/keyboards/matrix/abelx/mcuconf.h index ce8783c8b9..a2fd42b8c4 100644 --- a/keyboards/matrix/abelx/mcuconf.h +++ b/keyboards/matrix/abelx/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/keyboards/matrix/falcon/readme.md b/keyboards/matrix/falcon/readme.md index 047591d487..a2ceb82163 100644 --- a/keyboards/matrix/falcon/readme.md +++ b/keyboards/matrix/falcon/readme.md @@ -22,4 +22,4 @@ 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 short cut the *RST* pin with the *GND* pin (pin at the topside of the *RST*) on the back of the PCB. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/matrix/m20add/mcuconf.h b/keyboards/matrix/m20add/mcuconf.h index 25f36a892d..00216f6908 100644 --- a/keyboards/matrix/m20add/mcuconf.h +++ b/keyboards/matrix/m20add/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/keyboards/matrix/me/readme.md b/keyboards/matrix/me/readme.md index cba4af97d7..f04229b2d1 100644 --- a/keyboards/matrix/me/readme.md +++ b/keyboards/matrix/me/readme.md @@ -22,4 +22,4 @@ 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 short cut the *RST* pin with the *GND* pin (pin at the topside of the *RST*) on the back of the PCB. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/matrix/noah/keymaps/blockader/config.h b/keyboards/matrix/noah/keymaps/blockader/config.h new file mode 100644 index 0000000000..a64261ba9d --- /dev/null +++ b/keyboards/matrix/noah/keymaps/blockader/config.h @@ -0,0 +1,3 @@ +#pragma once + +#define TAPPING_TOGGLE 2 diff --git a/keyboards/matrix/noah/keymaps/blockader/keymap.c b/keyboards/matrix/noah/keymaps/blockader/keymap.c new file mode 100644 index 0000000000..b6caf43f91 --- /dev/null +++ b/keyboards/matrix/noah/keymaps/blockader/keymap.c @@ -0,0 +1,652 @@ +#include QMK_KEYBOARD_H + +enum { + LAYER_NORM_BASE, + LAYER_NORM_EXTENSION, + LAYER_RACE_BASE, + LAYER_RACE_EXTENSION, + LAYER_LEGACY_BASE, + LAYER_LEGACY_EXTENSION, + LAYER_CONTROL, + LAYER_WINDOW, + LAYER_DESKTOP, + NUMBER_OF_LAYERS, +}; + +bool temporary[NUMBER_OF_LAYERS] = { + [LAYER_NORM_BASE] = false, + [LAYER_NORM_EXTENSION] = true, + [LAYER_RACE_BASE] = false, + [LAYER_RACE_EXTENSION] = true, + [LAYER_LEGACY_BASE] = false, + [LAYER_LEGACY_EXTENSION] = true, + [LAYER_CONTROL] = false, + [LAYER_WINDOW] = true, + [LAYER_DESKTOP] = false, +}; + +#define KEY_FORWARD_LAYER(a) SAFE_RANGE + a + +enum{ + DANCE_PGDN_BOTTOM, + DANCE_PGUP_TOP, +}; + +tap_dance_action_t tap_dance_actions[] = { + [DANCE_PGDN_BOTTOM] = ACTION_TAP_DANCE_DOUBLE(KC_PGDN, LGUI(KC_DOWN)), + [DANCE_PGUP_TOP] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, LGUI(KC_UP)), +}; + +#define KEY_DANCE(a) TD(a) + +enum custom_keycodes { + KEY_BACK_LAYER = SAFE_RANGE + NUMBER_OF_LAYERS, + KEY_INSERT_LINE_START, + KEY_INSERT_HERE, + KEY_INSERT_LINE_END, + KEY_CREATE_PREVIOUS_LINE, + KEY_CREATE_NEXT_LINE, + KEY_CUT_WORD, + KEY_CUT_LINE, + KEY_CUT_SELECTION, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_NORM_BASE] = LAYOUT_default_splitspace( + KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KEY_DANCE(DANCE_PGDN_BOTTOM), KEY_DANCE(DANCE_PGUP_TOP), KC_NO, KEY_CUT_LINE, KEY_FORWARD_LAYER(LAYER_RACE_BASE), + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LCBR, KC_RCBR, KC_BSLS, KEY_FORWARD_LAYER(LAYER_LEGACY_BASE), + KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KEY_FORWARD_LAYER(LAYER_DESKTOP), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, LCTL(KC_LEFT), + KC_LCTL, KC_LGUI, KC_LALT, KEY_FORWARD_LAYER(LAYER_NORM_EXTENSION), KEY_FORWARD_LAYER(LAYER_CONTROL), KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_NO, LCTL(KC_RIGHT)), + [LAYER_NORM_EXTENSION] = LAYOUT_default_splitspace( + LGUI(LSFT(KC_4)), KC_NO, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, LCTL(KC_C), KEY_FORWARD_LAYER(LAYER_RACE_BASE), + KEY_FORWARD_LAYER(LAYER_WINDOW), LGUI(KC_SPC), LCTL(KC_SPC), KC_ESC, KC_TILD, KC_EXLM, KC_PEQL, KC_PLUS, KC_MINUS, KC_PIPE, KC_COLN, KC_LCBR, KC_RCBR, KEY_CREATE_PREVIOUS_LINE, KEY_FORWARD_LAYER(LAYER_LEGACY_BASE), + KEY_CUT_WORD, LALT(KC_LEFT), LALT(KC_RIGHT), KC_BSPC, LGUI(KC_LEFT), LCTL(KC_E), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, LGUI(KC_V), KC_DQUO, KEY_CREATE_NEXT_LINE, KEY_FORWARD_LAYER(LAYER_DESKTOP), + KC_LSFT, LGUI(KC_Z), KEY_CUT_SELECTION, KC_LPRN, KC_RPRN, KC_UNDS, KC_LBRC, KC_RBRC, KC_LT, KC_GT, KC_QUES, KC_RSFT, KC_NO, LCTL(KC_LEFT), + KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KEY_FORWARD_LAYER(LAYER_CONTROL), KC_SPC, KC_RALT, KC_RGUI, KC_NO, QK_BOOT, LCTL(KC_RIGHT)), + [LAYER_RACE_BASE] = LAYOUT_default_splitspace( + KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, KC_NO, KC_NO, KC_NO, KEY_BACK_LAYER, + KC_NO, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LCBR, KC_RCBR, KC_BSLS, KC_NO, + KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_NO, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KEY_FORWARD_LAYER(LAYER_RACE_EXTENSION), KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [LAYER_RACE_EXTENSION] = LAYOUT_default_splitspace( + KC_NO, KC_1, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_9, KC_0, KC_NO, KC_NO, KC_NO, KEY_CUT_LINE, KEY_BACK_LAYER, + KC_NO, KC_Q, KC_W, KC_F, KC_TILD, KC_EXLM, KC_PEQL, KC_PLUS, KC_MINUS, KC_PIPE, KC_COLN, KC_LCBR, KC_RCBR, KC_BSLS, KC_NO, + KEY_CUT_LINE, KC_A, KC_R, KC_BSPC, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_DQUO, KC_ENT, KC_NO, + KC_LSFT, KC_Z, KC_X, KC_LPRN, KC_RPRN, KC_UNDS, KC_LBRC, KC_RBRC, KC_LT, KC_GT, KC_QUES, KC_RSFT, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [LAYER_LEGACY_BASE] = LAYOUT_default_splitspace( + KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KEY_DANCE(DANCE_PGDN_BOTTOM), KEY_DANCE(DANCE_PGUP_TOP), KC_NO, KEY_CUT_LINE, KC_NO, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LCBR, KC_RCBR, KC_BSLS, KEY_BACK_LAYER, + 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, KEY_FORWARD_LAYER(LAYER_DESKTOP), + 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_NO, LCTL(KC_LEFT), + KC_LCTL, KC_LGUI, KC_LALT, KEY_FORWARD_LAYER(LAYER_LEGACY_EXTENSION), KEY_FORWARD_LAYER(LAYER_CONTROL), KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_NO, LCTL(KC_RIGHT)), + [LAYER_LEGACY_EXTENSION] = LAYOUT_default_splitspace( + LGUI(LSFT(KC_4)), KC_NO, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, LCTL(KC_C), KC_NO, + KEY_FORWARD_LAYER(LAYER_WINDOW), LGUI(KC_SPC), LCTL(KC_SPC), KC_ESC, KC_TILD, KC_EXLM, KC_PEQL, KC_PLUS, KC_MINUS, KC_PIPE, KC_COLN, KC_LCBR, KC_RCBR, KEY_CREATE_PREVIOUS_LINE, KEY_BACK_LAYER, + KEY_CUT_WORD, LALT(KC_LEFT), LALT(KC_RIGHT), KC_BSPC, LGUI(KC_LEFT), LCTL(KC_E), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, LGUI(KC_V), KC_DQUO, KEY_CREATE_NEXT_LINE, KEY_FORWARD_LAYER(LAYER_DESKTOP), + KC_LSFT, LGUI(KC_Z), KEY_CUT_SELECTION, KC_LPRN, KC_RPRN, KC_UNDS, KC_LBRC, KC_RBRC, KC_LT, KC_GT, KC_QUES, KC_RSFT, KC_NO, LCTL(KC_LEFT), + KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KEY_FORWARD_LAYER(LAYER_CONTROL), KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_NO, LCTL(KC_RIGHT)), + [LAYER_CONTROL] = LAYOUT_default_splitspace( + KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KEY_INSERT_LINE_START, KEY_INSERT_HERE, KEY_INSERT_LINE_END, KC_NO, KC_NO, KC_NO, KEY_CREATE_PREVIOUS_LINE, KC_NO, + KEY_CUT_WORD, LALT(KC_LEFT), LALT(KC_RIGHT), KC_BSPC, LGUI(KC_LEFT), LCTL(KC_E), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, LGUI(KC_V), KC_NO, KEY_CREATE_NEXT_LINE, KC_NO, + KC_LSFT, LGUI(KC_Z), KEY_CUT_SELECTION, LGUI(KC_C), LGUI(KC_V), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KEY_BACK_LAYER, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [LAYER_WINDOW] = LAYOUT_default_splitspace( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KEY_BACK_LAYER, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_NO, KC_NO, KEY_BACK_LAYER, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KEY_BACK_LAYER, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [LAYER_DESKTOP] = LAYOUT_default_splitspace( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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, LCTL(KC_LEFT), KC_NO, KC_NO, LCTL(KC_RIGHT), KC_NO, KC_NO, KEY_BACK_LAYER, KEY_BACK_LAYER, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KEY_BACK_LAYER, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), +}; + +int layers[16]; + +struct { + bool back; +} common_layer_data; +struct { + int operator, multiplier; +} layer_control_data; + +struct { + int start_time; +} layer_window_data; + +bool handle_layer_key(uint16_t key, keyrecord_t* record) { + switch (layers[layers[0] + 1]) { + case LAYER_CONTROL: + switch (key) { + case KC_0: + if (record->event.pressed) { + layer_control_data.multiplier = layer_control_data.multiplier * 10; + if (layer_control_data.multiplier < 0) layer_control_data.multiplier = 0; + } + return false; + case KC_1: + if (record->event.pressed) { + layer_control_data.multiplier = layer_control_data.multiplier * 10 + 1; + if (layer_control_data.multiplier < 0) layer_control_data.multiplier = 0; + } + return false; + case KC_2: + if (record->event.pressed) { + layer_control_data.multiplier = layer_control_data.multiplier * 10 + 2; + if (layer_control_data.multiplier < 0) layer_control_data.multiplier = 0; + } + return false; + case KC_3: + if (record->event.pressed) { + layer_control_data.multiplier = layer_control_data.multiplier * 10 + 3; + if (layer_control_data.multiplier < 0) layer_control_data.multiplier = 0; + } + return false; + case KC_4: + if (record->event.pressed) { + layer_control_data.multiplier = layer_control_data.multiplier * 10 + 4; + if (layer_control_data.multiplier < 0) layer_control_data.multiplier = 0; + } + return false; + case KC_5: + if (record->event.pressed) { + layer_control_data.multiplier = layer_control_data.multiplier * 10 + 5; + if (layer_control_data.multiplier < 0) layer_control_data.multiplier = 0; + } + return false; + case KC_6: + if (record->event.pressed) { + layer_control_data.multiplier = layer_control_data.multiplier * 10 + 6; + if (layer_control_data.multiplier < 0) layer_control_data.multiplier = 0; + } + return false; + case KC_7: + if (record->event.pressed) { + layer_control_data.multiplier = layer_control_data.multiplier * 10 + 7; + if (layer_control_data.multiplier < 0) layer_control_data.multiplier = 0; + } + return false; + case KC_8: + if (record->event.pressed) { + layer_control_data.multiplier = layer_control_data.multiplier * 10 + 8; + if (layer_control_data.multiplier < 0) layer_control_data.multiplier = 0; + } + return false; + case KC_9: + if (record->event.pressed) { + layer_control_data.multiplier = layer_control_data.multiplier * 10 + 9; + if (layer_control_data.multiplier < 0) layer_control_data.multiplier = 0; + } + return false; + case KEY_INSERT_LINE_START: + if (record->event.pressed) common_layer_data.back = true; + return true; + case KEY_INSERT_HERE: + if (record->event.pressed) common_layer_data.back = true; + return true; + case KEY_INSERT_LINE_END: + if (record->event.pressed) common_layer_data.back = true; + return true; + case KEY_CREATE_PREVIOUS_LINE: + if (record->event.pressed) common_layer_data.back = true; + return true; + case KEY_CUT_WORD: + if (record->event.pressed) { + if (layer_control_data.operator== - 1) { + register_code(KC_LALT); + tap_code(KC_LEFT); + tap_code(KC_RIGHT); + unregister_code(KC_LALT); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(LALT(KC_LEFT))); + tap_code16(LGUI(KC_X)); + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + return false; + case LALT(KC_LEFT): + if (layer_control_data.operator== - 1 && layer_control_data.multiplier == 0) return true; + if (record->event.pressed) { + if (layer_control_data.operator== - 1) + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LALT(KC_LEFT)); + else if (layer_control_data.operator== KC_BSPC) { + register_code(KC_LALT); + tap_code(KC_LEFT); + tap_code(KC_RIGHT); + unregister_code(KC_LALT); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(LALT(KC_LEFT))); + tap_code16(LGUI(KC_X)); + } else if (layer_control_data.operator== LGUI(KC_C)) { + register_code(KC_LALT); + tap_code(KC_LEFT); + tap_code(KC_RIGHT); + unregister_code(KC_LALT); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(LALT(KC_LEFT))); + tap_code16(LGUI(KC_C)); + tap_code(KC_RIGHT); + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + return false; + case LALT(KC_RIGHT): + if (layer_control_data.operator== - 1 && layer_control_data.multiplier == 0) return true; + if (record->event.pressed) { + if (layer_control_data.operator== - 1) + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LALT(KC_RIGHT)); + else if (layer_control_data.operator== KC_BSPC) { + register_code(KC_LALT); + tap_code(KC_RIGHT); + tap_code(KC_LEFT); + unregister_code(KC_LALT); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(LALT(KC_RIGHT))); + tap_code16(LGUI(KC_X)); + } else if (layer_control_data.operator== LGUI(KC_C)) { + register_code(KC_LALT); + tap_code(KC_RIGHT); + tap_code(KC_LEFT); + unregister_code(KC_LALT); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(LALT(KC_RIGHT))); + tap_code16(LGUI(KC_C)); + tap_code(KC_LEFT); + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + return false; + case LGUI(KC_LEFT): + if (record->event.pressed) { + if (layer_control_data.operator== - 1) + tap_code16(LGUI(KC_LEFT)); + else if (layer_control_data.operator== KC_BSPC) { + tap_code16(LSFT(LGUI(KC_LEFT))); + tap_code16(LGUI(KC_X)); + } else if (layer_control_data.operator== LGUI(KC_C)) { + tap_code16(LSFT(LGUI(KC_LEFT))); + tap_code16(LGUI(KC_C)); + tap_code(KC_RIGHT); + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + return false; + case LCTL(KC_E): + if (record->event.pressed) { + if (layer_control_data.operator== - 1) + tap_code16(LCTL(KC_E)); + else if (layer_control_data.operator== KC_BSPC) { + tap_code16(LSFT(LCTL(KC_E))); + tap_code16(LGUI(KC_X)); + } else if (layer_control_data.operator== LGUI(KC_C)) { + tap_code16(LSFT(LCTL(KC_E))); + tap_code16(LGUI(KC_C)); + tap_code(KC_LEFT); + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + return false; + case KC_BSPC: + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + unregister_code(KC_LSFT); + tap_code16(LGUI(KC_X)); + register_code(KC_LSFT); + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } else if (layer_control_data.operator== - 1) + layer_control_data.operator= KC_BSPC; + else { + if (layer_control_data.operator== KC_BSPC) { + tap_code16(LCTL(KC_A)); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(KC_DOWN)); + tap_code16(LGUI(KC_X)); + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + } + return false; + case KC_LEFT: + if (layer_control_data.operator== - 1 && layer_control_data.multiplier == 0) return true; + if (record->event.pressed) { + if (layer_control_data.operator== - 1) + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code(KC_LEFT); + else if (layer_control_data.operator== KC_BSPC) { + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(KC_LEFT)); + tap_code16(LGUI(KC_X)); + } else if (layer_control_data.operator== LGUI(KC_C)) { + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(KC_LEFT)); + tap_code16(LGUI(KC_C)); + tap_code(KC_RIGHT); + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + return false; + case KC_DOWN: + if (layer_control_data.operator== - 1 && layer_control_data.multiplier == 0) return true; + if (record->event.pressed) { + if (layer_control_data.operator== - 1) + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code(KC_DOWN); + else if (layer_control_data.operator== KC_BSPC) { + tap_code16(LCTL(KC_A)); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(KC_DOWN)); + tap_code16(LGUI(KC_X)); + } else if (layer_control_data.operator== LGUI(KC_C)) { + tap_code16(LCTL(KC_A)); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(KC_DOWN)); + tap_code16(LGUI(KC_C)); + tap_code(KC_LEFT); + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + return false; + case KC_UP: + if (layer_control_data.operator== - 1 && layer_control_data.multiplier == 0) return true; + if (record->event.pressed) { + if (layer_control_data.operator== - 1) + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code(KC_UP); + else if (layer_control_data.operator== KC_BSPC) { + tap_code16(LCTL(KC_E)); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(KC_UP)); + tap_code16(LSFT(LCTL(KC_E))); + tap_code16(LGUI(KC_X)); + } else if (layer_control_data.operator== LGUI(KC_C)) { + tap_code16(LCTL(KC_E)); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(KC_UP)); + tap_code16(LSFT(LCTL(KC_E))); + tap_code16(LGUI(KC_C)); + tap_code(KC_RIGHT); + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + return false; + case KC_RIGHT: + if (layer_control_data.operator== - 1 && layer_control_data.multiplier == 0) return true; + if (record->event.pressed) { + if (layer_control_data.operator== - 1) + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code(KC_RIGHT); + else if (layer_control_data.operator== KC_BSPC) { + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(KC_RIGHT)); + tap_code16(LGUI(KC_X)); + } else if (layer_control_data.operator== LGUI(KC_C)) { + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(KC_RIGHT)); + tap_code16(LGUI(KC_C)); + tap_code(KC_LEFT); + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + return false; + case KEY_CREATE_NEXT_LINE: + if (record->event.pressed) common_layer_data.back = true; + return true; + case LGUI(KC_Z): + if (layer_control_data.operator== - 1 && layer_control_data.multiplier == 0) return true; + if (record->event.pressed) { + if (layer_control_data.operator== - 1) + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LGUI(KC_Z)); + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + return false; + case LGUI(KC_C): + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + unregister_code(KC_LSFT); + tap_code16(LGUI(KC_C)); + register_code(KC_LSFT); + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } else if (layer_control_data.operator== - 1) + layer_control_data.operator= LGUI(KC_C); + else { + if (layer_control_data.operator== LGUI(KC_C)) { + tap_code16(LCTL(KC_A)); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LSFT(KC_DOWN)); + tap_code16(LGUI(KC_C)); + tap_code(KC_LEFT); + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + } + return false; + case LGUI(KC_V): + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + unregister_code(KC_LSFT); + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LGUI(KC_V)); + register_code(KC_LSFT); + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } else { + for (int i = 0; i < (layer_control_data.multiplier ? layer_control_data.multiplier : 1); ++i) tap_code16(LGUI(KC_V)); + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + } + } + return false; + } + layer_control_data.multiplier = 0; + layer_control_data.operator = - 1; + return true; + case LAYER_WINDOW: + switch (key) { + case SAFE_RANGE + LAYER_WINDOW: + if (!record->event.pressed) { + if (timer_elapsed(layer_window_data.start_time) < 200) + temporary[LAYER_WINDOW] = true; + else + temporary[LAYER_WINDOW] = false; + } + return true; + case KEY_BACK_LAYER: + if (record->event.pressed) tap_code(KC_ENTER); + return true; + } + return true; + case LAYER_DESKTOP: + switch (key) { + case KEY_BACK_LAYER: + if (record->event.pressed) tap_code16(LCTL(KC_UP)); + return true; + } + return true; + } + return true; +} + +void handle_layer_start(void) { + rgblight_disable_noeeprom(); + switch (layers[layers[0] + 1]) { + case LAYER_RACE_BASE: + case LAYER_RACE_EXTENSION: + rgblight_enable_noeeprom(); + rgblight_sethsv_noeeprom(HSV_GREEN); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + return; + case LAYER_LEGACY_BASE: + case LAYER_LEGACY_EXTENSION: + rgblight_enable_noeeprom(); + rgblight_sethsv_noeeprom(HSV_RED); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + return; + case LAYER_CONTROL: + layer_control_data.operator = - 1; + layer_control_data.multiplier = 0; + rgblight_enable_noeeprom(); + rgblight_sethsv_noeeprom(HSV_BLUE); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + return; + case LAYER_WINDOW: + register_code(KC_LGUI); + tap_code(KC_TAB); + layer_window_data.start_time = timer_read(); + return; + case LAYER_DESKTOP: + tap_code16(LCTL(KC_UP)); + return; + } +} + +void handle_layer_return(void) { + rgblight_disable_noeeprom(); + switch (layers[layers[0] + 1]) { + case LAYER_RACE_BASE: + case LAYER_RACE_EXTENSION: + rgblight_enable_noeeprom(); + rgblight_sethsv_noeeprom(HSV_GREEN); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + return; + case LAYER_LEGACY_BASE: + case LAYER_LEGACY_EXTENSION: + rgblight_enable_noeeprom(); + rgblight_sethsv_noeeprom(HSV_RED); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + return; + case LAYER_CONTROL: + layer_control_data.operator = - 1; + layer_control_data.multiplier = 0; + rgblight_enable_noeeprom(); + rgblight_sethsv_noeeprom(HSV_BLUE); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + return; + } +} + +void handle_layer_end(void) { + switch (layers[layers[0] + 1]) { + case LAYER_WINDOW: + unregister_code(KC_LGUI); + return; + } +} + +void update_layer(void) { + layer_clear(); + common_layer_data.back = false; + layer_on(layers[layers[0] + 1]); +} + +bool handle_call_key(uint16_t key, keyrecord_t* record) { + switch (key) { + case KEY_BACK_LAYER: + if (record->event.pressed) { + if (layers[0]) { + handle_layer_end(); + --layers[0]; + update_layer(); + handle_layer_return(); + } + } + return false; + } + if (key >= SAFE_RANGE && key < SAFE_RANGE + NUMBER_OF_LAYERS) { + int new_layer = key - SAFE_RANGE; + if (record->event.pressed) { + if (layers[layers[0] + 1] != new_layer) { + if (temporary[layers[layers[0] + 1]]) { + handle_layer_end(); + layers[layers[0] + 1] = new_layer; + } else + layers[++layers[0] + 1] = new_layer; + update_layer(); + handle_layer_start(); + } + } else { + if (layers[layers[0] + 1] == new_layer && temporary[layers[layers[0] + 1]]) { + handle_layer_end(); + --layers[0]; + update_layer(); + handle_layer_return(); + } + } + return false; + } + if (common_layer_data.back) { + if (layers[0]) { + handle_layer_end(); + --layers[0]; + update_layer(); + handle_layer_return(); + } + } + return true; +} + +bool handle_common_key(uint16_t key, keyrecord_t* record) { + switch (key) { + case KEY_INSERT_LINE_START: + if (record->event.pressed) tap_code16(LGUI(KC_LEFT)); + return false; + case KEY_INSERT_HERE: + return false; + case KEY_INSERT_LINE_END: + if (record->event.pressed) tap_code16(LGUI(KC_RIGHT)); + return false; + case KEY_CREATE_PREVIOUS_LINE: + if (record->event.pressed) { + tap_code16(LGUI(KC_LEFT)); + tap_code(KC_ENTER); + tap_code(KC_UP); + } + return false; + case KEY_CREATE_NEXT_LINE: + if (record->event.pressed) { + tap_code16(LGUI(KC_RIGHT)); + tap_code(KC_ENTER); + } + return false; + case KEY_CUT_WORD: + if (record->event.pressed) { + register_code(KC_LALT); + tap_code(KC_LEFT); + tap_code(KC_RIGHT); + unregister_code(KC_LALT); + tap_code16(LSFT(LALT(KC_LEFT))); + tap_code16(LGUI(KC_X)); + } + return false; + case KEY_CUT_LINE: + if (record->event.pressed) { + tap_code16(LGUI(KC_RIGHT)); + tap_code16(LSFT(LGUI(KC_LEFT))); + tap_code16(LGUI(KC_X)); + } + return false; + case KEY_CUT_SELECTION: + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + unregister_code(KC_LSFT); + tap_code16(LGUI(KC_X)); + register_code(KC_LSFT); + } else + tap_code16(LGUI(KC_X)); + } + return false; + } + return true; +} + +bool process_record_user(uint16_t key, keyrecord_t* record) { + if (!handle_layer_key(key, record)) return false; + if (!handle_call_key(key, record)) return false; + return handle_common_key(key, record); +} + +void keyboard_post_init_user(void) { + rgblight_disable_noeeprom(); + rgb_matrix_disable(); + common_layer_data.back = false; +} diff --git a/keyboards/matrix/noah/keymaps/blockader/rules.mk b/keyboards/matrix/noah/keymaps/blockader/rules.mk new file mode 100644 index 0000000000..610cc23423 --- /dev/null +++ b/keyboards/matrix/noah/keymaps/blockader/rules.mk @@ -0,0 +1,2 @@ +TAP_DANCE_ENABLE = yes +DYNAMIC_MACRO_ENABLE = yes diff --git a/keyboards/matrix/noah/keymaps/wkl/keymap.c b/keyboards/matrix/noah/keymaps/wkl/keymap.c index 96bc62c0ff..2e2377f18d 100644 --- a/keyboards/matrix/noah/keymaps/wkl/keymap.c +++ b/keyboards/matrix/noah/keymaps/wkl/keymap.c @@ -17,4 +17,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; +}; \ No newline at end of file diff --git a/keyboards/matrix/noah/mcuconf.h b/keyboards/matrix/noah/mcuconf.h index 25f36a892d..00216f6908 100644 --- a/keyboards/matrix/noah/mcuconf.h +++ b/keyboards/matrix/noah/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/keyboards/mawaeg/sharkropad/chconf.h b/keyboards/mawaeg/sharkropad/chconf.h deleted file mode 100644 index c0a2323234..0000000000 --- a/keyboards/mawaeg/sharkropad/chconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2025 @mawaeg - * - * 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 CH_CFG_ST_RESOLUTION 16 -#define CH_CFG_ST_FREQUENCY 10000 - -#include_next diff --git a/keyboards/mawaeg/sharkropad/config.h b/keyboards/mawaeg/sharkropad/config.h deleted file mode 100644 index 2e57c56f0f..0000000000 --- a/keyboards/mawaeg/sharkropad/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2025 @mawaeg - * - * 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 STM32_FLASH_SECTORS_PER_BANK 128 - -#define I2C1_SCL_PIN A9 -#define I2C1_SDA_PIN A10 - -#define WS2812_PWM_DRIVER PWMD2 -#define WS2812_PWM_CHANNEL 2 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 -#define WS2812_PWM_DMA_CHANNEL 4 - -#define RGB_MATRIX_MODE_NAME_ENABLE diff --git a/keyboards/mawaeg/sharkropad/halconf.h b/keyboards/mawaeg/sharkropad/halconf.h deleted file mode 100644 index 9f0b573732..0000000000 --- a/keyboards/mawaeg/sharkropad/halconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2025 @mawaeg - * - * 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_I2C TRUE -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/mawaeg/sharkropad/keyboard.json b/keyboards/mawaeg/sharkropad/keyboard.json deleted file mode 100644 index c262d3e3cc..0000000000 --- a/keyboards/mawaeg/sharkropad/keyboard.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "manufacturer": "mawaeg", - "keyboard_name": "Sharkropad", - "maintainer": "mawaeg", - "bootloader": "stm32-dfu", - "bootmagic": { - "matrix": [0, 3] - }, - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "A0", "pin_b": "A1"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "nkro": true, - "oled": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["B1", "B0", "A4", "A2"], - "rows": ["A3", "A7", "A6", "A5"] - }, - "processor": "STM32L432", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "flower_blooming": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "riverflow": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "starlight": true, - "starlight_dual_hue": true, - "starlight_dual_sat": true, - "typing_heatmap": true - }, - "default": { - "animation": "cycle_up_down" - }, - "driver": "ws2812", - "layout": [ - {"matrix": [1, 0], "x": 189, "y": 27, "flags": 4}, - {"matrix": [1, 1], "x": 137, "y": 27, "flags": 4}, - {"matrix": [1, 2], "x": 86, "y": 27, "flags": 4}, - {"matrix": [1, 3], "x": 35, "y": 27, "flags": 4}, - {"matrix": [2, 0], "x": 189, "y": 41, "flags": 4}, - {"matrix": [2, 1], "x": 137, "y": 41, "flags": 4}, - {"matrix": [2, 2], "x": 86, "y": 41, "flags": 4}, - {"matrix": [2, 3], "x": 35, "y": 41, "flags": 4}, - {"matrix": [3, 0], "x": 189, "y": 55, "flags": 4}, - {"matrix": [3, 1], "x": 137, "y": 55, "flags": 4}, - {"matrix": [3, 2], "x": 86, "y": 55, "flags": 4}, - {"matrix": [3, 3], "x": 35, "y": 55, "flags": 4}, - {"x": 76, "y": 3, "flags": 2}, - {"x": 148, "y": 3, "flags": 2}, - {"x": 216, "y": 17, "flags": 2}, - {"x": 216, "y": 45, "flags": 2}, - {"x": 224, "y": 61, "flags": 2}, - {"x": 60, "y": 61, "flags": 2}, - {"x": 8, "y": 45, "flags": 2}, - {"x": 8, "y": 17, "flags": 2} - ], - "max_brightness": 180 - }, - "url": "https://github.com/mawaeg/sharkropad", - "usb": { - "device_version": "1.0.0", - "pid": "0xAFFE", - "vid": "0x6D73" - }, - "ws2812": { - "driver": "pwm", - "pin": "B3" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"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} - ] - } - } -} diff --git a/keyboards/mawaeg/sharkropad/keymaps/default/keymap.c b/keyboards/mawaeg/sharkropad/keymaps/default/keymap.c deleted file mode 100644 index 6a95257a1c..0000000000 --- a/keyboards/mawaeg/sharkropad/keymaps/default/keymap.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright 2025 @mawaeg - * - * 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 - /* - * ┌────────────┐ - * │ RGB_MOD │ - * ┌───┬───┬───┼────────────┤ - * │ 7 │ 8 │ 9 │ RGB_TOGGLE │ - * ├───┼───┼───┼────────────┤ - * │ 4 │ 5 │ 6 │ NUM │ - * ├───┼───┼───┼────────────┤ - * │ 1 │ 2 │ 3 │ 0 │ - * └───┴───┴───┴────────────┘ - */ - [0] = LAYOUT( - RM_NEXT, - KC_P7, KC_P8, KC_P9, RM_TOGG, - KC_P4, KC_P5, KC_P6, KC_NUM, - KC_P1, KC_P2, KC_P3, KC_P0 - ) - // clang-format on -}; - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(RM_SPDD, RM_SPDU)}, -}; -#endif diff --git a/keyboards/mawaeg/sharkropad/keymaps/default/rules.mk b/keyboards/mawaeg/sharkropad/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/mawaeg/sharkropad/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/mawaeg/sharkropad/mcuconf.h b/keyboards/mawaeg/sharkropad/mcuconf.h deleted file mode 100644 index 2a66cc8d7b..0000000000 --- a/keyboards/mawaeg/sharkropad/mcuconf.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2025 @mawaeg - * - * 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_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE - -#undef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE - -#undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 15 diff --git a/keyboards/mawaeg/sharkropad/readme.md b/keyboards/mawaeg/sharkropad/readme.md deleted file mode 100644 index d6faf506c5..0000000000 --- a/keyboards/mawaeg/sharkropad/readme.md +++ /dev/null @@ -1,24 +0,0 @@ -# sharkropad - -![sharkropad](https://i.imgur.com/qatvstX.jpeg) - -**Sharkropad** is an open-source hotswappable macropad. - -* Keyboard Maintainer: [Marek Schmitt](https://github.com/mawaeg) -* Hardware Supported: PCB included in the [Sharkropad repository](https://github.com/mawaeg/sharkropad). -* Hardware Availability: PCB has to be sourced yourserlf - -Make example for this keyboard (after setting up your build environment): - - make mawaeg/sharkropad:default - -Flashing example for this keyboard: - - make mawaeg/sharkropad: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: -* **Bootmagic reset**: Hold down the rotary encoder knob and plug in the keyboard diff --git a/keyboards/mawaeg/sharkropad/sharkropad.c b/keyboards/mawaeg/sharkropad/sharkropad.c deleted file mode 100644 index 391f59800b..0000000000 --- a/keyboards/mawaeg/sharkropad/sharkropad.c +++ /dev/null @@ -1,90 +0,0 @@ -/* Copyright 2025 @mawaeg - * - * 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 "quantum.h" -#include -#include -#include - -static uint8_t effect_name_len = 0; - -const char *rgb_matrix_get_effect_name(void) { - static char buf[32] = {0}; - - snprintf(buf, sizeof(buf), "%s", rgb_matrix_get_mode_name(rgb_matrix_get_mode())); - for (uint8_t i = 1; i < sizeof(buf); ++i) { - if (buf[i] == 0) { - effect_name_len = i; - break; - } else if (buf[i] == '_') - buf[i] = ' '; - else if (buf[i - 1] == ' ') - buf[i] = toupper(buf[i]); - else if (buf[i - 1] != ' ') - buf[i] = tolower(buf[i]); - } - return buf; -} - -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - - static uint8_t last_effect = 0; - static uint8_t last_speed = 0; - static uint16_t key_timer = 0; - static uint8_t start_index = 0; - - uint8_t speedPercentage = scale8(rgb_matrix_get_speed(), 100); - bool is_timer_elapsed = timer_elapsed(key_timer) > 200; - - if (last_effect != rgb_matrix_get_mode() || last_speed != speedPercentage || is_timer_elapsed) { - last_effect = rgb_matrix_get_mode(); - last_speed = speedPercentage; - - oled_write_ln_P(PSTR("Mode: "), false); - const char *name = rgb_matrix_get_effect_name(); - if (effect_name_len > 21) { - if (!is_timer_elapsed && start_index != 0) { - start_index -= 1; - } else { - key_timer = timer_read(); - } - if (start_index > effect_name_len) { - start_index = 0; - } - for (uint8_t char_index = 0; char_index < 21; char_index++) { - if ((start_index + char_index) % effect_name_len == 0 && char_index != 0) { - oled_write_char(' ', false); - } else { - oled_write_char(name[(start_index + char_index) % (effect_name_len + 1)], false); - } - } - start_index += 1; - } else { - oled_write_ln(name, false); - start_index = 0; - } - - oled_set_cursor(0, 2); - oled_write_ln_P(PSTR("RGB Speed: "), false); - oled_write(get_u8_str(speedPercentage, ' '), false); - oled_write("%", false); - } - - return true; -} diff --git a/keyboards/mazestudio/jocker/keymaps/default/keymap.c b/keyboards/mazestudio/jocker/keymaps/default/keymap.c index de4c9f0cf8..4d4f46b2e6 100644 --- a/keyboards/mazestudio/jocker/keymaps/default/keymap.c +++ b/keyboards/mazestudio/jocker/keymaps/default/keymap.c @@ -13,4 +13,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ) -}; +}; \ No newline at end of file diff --git a/keyboards/mb44/keymaps/3u_space/keymap.c b/keyboards/mb44/keymaps/3u_space/keymap.c index b458a0f3ed..a0b412bb36 100644 --- a/keyboards/mb44/keymaps/3u_space/keymap.c +++ b/keyboards/mb44/keymaps/3u_space/keymap.c @@ -65,4 +65,4 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } return true; -} +} \ No newline at end of file diff --git a/keyboards/mc_76k/keymaps/default/readme.md b/keyboards/mc_76k/keymaps/default/readme.md index ee8b915908..cfca7e7ec6 100644 --- a/keyboards/mc_76k/keymaps/default/readme.md +++ b/keyboards/mc_76k/keymaps/default/readme.md @@ -2,4 +2,4 @@ ![DEFAULT](https://i.imgur.com/GzUITtG.png) -![FN1](https://i.imgur.com/ytnKmxg.png) +![FN1](https://i.imgur.com/ytnKmxg.png) \ No newline at end of file diff --git a/keyboards/mechanicalkeyboards/point65/hotswap/hotswap.c b/keyboards/mechanicalkeyboards/point65/hotswap/hotswap.c deleted file mode 100644 index 1da89f6f2d..0000000000 --- a/keyboards/mechanicalkeyboards/point65/hotswap/hotswap.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright 2024 Sebastiaan Swinkels @ BeanBoards - * - * 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" - - enum point65_layers { - _QWERTY, - _FUNCTION -}; - -bool rgb_matrix_indicators_kb(void) { - if (!rgb_matrix_indicators_user()){ - return false; - } - - hsv_t hsv = {0, 255, 255}; - - // Light up ESC RGB LED when _FUNCTION layer is accessed - if ((get_highest_layer(layer_state|default_layer_state)) == _FUNCTION){ - hsv.h = 43; - hsv.s = 105; - hsv.v = 255; - - if (hsv.v > rgb_matrix_get_val() + RGB_INDICATOR_POS_OFFSET) { - hsv.v = rgb_matrix_get_val() + RGB_INDICATOR_POS_OFFSET; - } - rgb_t rgb = hsv_to_rgb(hsv); - - rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b); - } - // end layer function - - // capslock indicator - if (host_keyboard_led_state().caps_lock) { - hsv.h = 43; - hsv.s = 105; - hsv.v = 255; - - if (hsv.v > rgb_matrix_get_val() + RGB_INDICATOR_POS_OFFSET) { - hsv.v = rgb_matrix_get_val() + RGB_INDICATOR_POS_OFFSET; - } - rgb_t rgb = hsv_to_rgb(hsv); - - rgb_matrix_set_color(1, rgb.r, rgb.g, rgb.b); - } - // end capslock function - - return false; -} diff --git a/keyboards/mechanicalkeyboards/point65/hotswap/keyboard.json b/keyboards/mechanicalkeyboards/point65/hotswap/keyboard.json deleted file mode 100644 index f988fb0423..0000000000 --- a/keyboards/mechanicalkeyboards/point65/hotswap/keyboard.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "keyboard_name": "Point 65 Hotswap", - "matrix_pins": { - "rows": ["GP24", "GP22", "GP21", "GP19", "GP25"] - }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 255}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 255} - ] - }, - "url": "https://mechanicalkeyboards.com/products/mk-point65-keyboard-kit?variant=49803723735340", - "usb": { - "pid": "0xC0F5" - }, - "ws2812": { - "pin": "GP23" - }, - "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_tsangan"], - "layout_aliases": { - "LAYOUT_all": "LAYOUT_65_ansi_blocker" - }, - "layouts": { - "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, 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, "w": 2.25}, - {"matrix": [2, 15], "x": 15, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [3, 11], "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, 10], "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} - ] - } - } -} diff --git a/keyboards/mechanicalkeyboards/point65/hotswap/keymaps/default/keymap.c b/keyboards/mechanicalkeyboards/point65/hotswap/keymaps/default/keymap.c deleted file mode 100644 index 8441ae3830..0000000000 --- a/keyboards/mechanicalkeyboards/point65/hotswap/keymaps/default/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2024 Sebastiaan Swinkels @ BeanBoards - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum point65_layers { - _QWERTY, - _FUNCTION -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = 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, KC_RALT, MO(_FUNCTION), KC_LEFT, KC_DOWN, KC_RIGHT - ), - [_FUNCTION] = 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_NO, - NK_TOGG, RM_TOGG, RM_VALU, KC_NO, RM_HUEU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, RM_PREV, RM_VALD, RM_NEXT, RM_HUED, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_MPLY, KC_VOLU, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT - ) -}; diff --git a/keyboards/mechanicalkeyboards/point65/hotswap/keymaps/default_7u/keymap.c b/keyboards/mechanicalkeyboards/point65/hotswap/keymaps/default_7u/keymap.c deleted file mode 100644 index b290fa0ac6..0000000000 --- a/keyboards/mechanicalkeyboards/point65/hotswap/keymaps/default_7u/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2024 Sebastiaan Swinkels @ BeanBoards - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum point65_layers { - _QWERTY, - _FUNCTION -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_65_ansi_blocker_tsangan( - 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(_FUNCTION), KC_LEFT, KC_DOWN, KC_RIGHT - ), - [_FUNCTION] = LAYOUT_65_ansi_blocker_tsangan( - 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_NO, - NK_TOGG, RM_TOGG, RM_VALU, KC_NO, RM_HUEU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, RM_PREV, RM_VALD, RM_NEXT, RM_HUED, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_MPLY, KC_VOLU, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT - ) -}; diff --git a/keyboards/mechanicalkeyboards/point65/hotswap_rgb/hotswap_rgb.c b/keyboards/mechanicalkeyboards/point65/hotswap_rgb/hotswap_rgb.c deleted file mode 100644 index ec2e9f28ba..0000000000 --- a/keyboards/mechanicalkeyboards/point65/hotswap_rgb/hotswap_rgb.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright 2024 Sebastiaan Swinkels @ BeanBoards - * - * 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" - - enum point65_layers { - _QWERTY, - _FUNCTION -}; - -bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { - if (!rgb_matrix_indicators_user()){ - return false; - } - - hsv_t hsv = {0, 255, 255}; - - // Light up ESC RGB LED when _FUNCTION layer is accessed - if ((get_highest_layer(layer_state|default_layer_state)) == _FUNCTION){ - hsv.h = 43; - hsv.s = 105; - hsv.v = 255; - - if (hsv.v > rgb_matrix_get_val() + RGB_INDICATOR_POS_OFFSET) { - hsv.v = rgb_matrix_get_val() + RGB_INDICATOR_POS_OFFSET; - } - rgb_t rgb = hsv_to_rgb(hsv); - - rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b); - } - // end layer function - - // capslock indicator - if (host_keyboard_led_state().caps_lock) { - hsv.h = 43; - hsv.s = 105; - hsv.v = 255; - - if (hsv.v > rgb_matrix_get_val() + RGB_INDICATOR_POS_OFFSET) { - hsv.v = rgb_matrix_get_val() + RGB_INDICATOR_POS_OFFSET; - } - rgb_t rgb = hsv_to_rgb(hsv); - - rgb_matrix_set_color(30, rgb.r, rgb.g, rgb.b); - } - // end capslock function - - return false; -} diff --git a/keyboards/mechanicalkeyboards/point65/hotswap_rgb/keyboard.json b/keyboards/mechanicalkeyboards/point65/hotswap_rgb/keyboard.json deleted file mode 100644 index 55f206fe12..0000000000 --- a/keyboards/mechanicalkeyboards/point65/hotswap_rgb/keyboard.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "keyboard_name": "Point 65 Hotswap RGB", - "matrix_pins": { - "rows": ["GP24", "GP23", "GP22", "GP21", "GP25"] - }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 255}, - {"matrix": [0, 1], "x": 15, "y": 0, "flags": 255}, - {"matrix": [0, 2], "x": 30, "y": 0, "flags": 255}, - {"matrix": [0, 3], "x": 45, "y": 0, "flags": 255}, - {"matrix": [0, 4], "x": 60, "y": 0, "flags": 255}, - {"matrix": [0, 5], "x": 75, "y": 0, "flags": 255}, - {"matrix": [0, 6], "x": 89, "y": 0, "flags": 255}, - {"matrix": [0, 7], "x": 104, "y": 0, "flags": 255}, - {"matrix": [0, 8], "x": 119, "y": 0, "flags": 255}, - {"matrix": [0, 9], "x": 134, "y": 0, "flags": 255}, - {"matrix": [0, 10], "x": 149, "y": 0, "flags": 255}, - {"matrix": [0, 11], "x": 164, "y": 0, "flags": 255}, - {"matrix": [0, 12], "x": 179, "y": 0, "flags": 255}, - {"matrix": [0, 13], "x": 201, "y": 0, "flags": 255}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 255}, - {"matrix": [1, 15], "x": 224, "y": 16, "flags": 255}, - {"matrix": [1, 13], "x": 205, "y": 16, "flags": 255}, - {"matrix": [1, 12], "x": 187, "y": 16, "flags": 255}, - {"matrix": [1, 11], "x": 172, "y": 16, "flags": 255}, - {"matrix": [1, 10], "x": 157, "y": 16, "flags": 255}, - {"matrix": [1, 9], "x": 142, "y": 16, "flags": 255}, - {"matrix": [1, 8], "x": 127, "y": 16, "flags": 255}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 255}, - {"matrix": [1, 6], "x": 97, "y": 16, "flags": 255}, - {"matrix": [1, 5], "x": 82, "y": 16, "flags": 255}, - {"matrix": [1, 4], "x": 67, "y": 16, "flags": 255}, - {"matrix": [1, 3], "x": 52, "y": 16, "flags": 255}, - {"matrix": [1, 2], "x": 37, "y": 16, "flags": 255}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 255}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 255}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 255}, - {"matrix": [2, 1], "x": 26, "y": 32, "flags": 255}, - {"matrix": [2, 2], "x": 41, "y": 32, "flags": 255}, - {"matrix": [2, 3], "x": 56, "y": 32, "flags": 255}, - {"matrix": [2, 4], "x": 71, "y": 32, "flags": 255}, - {"matrix": [2, 5], "x": 86, "y": 32, "flags": 255}, - {"matrix": [2, 6], "x": 101, "y": 32, "flags": 255}, - {"matrix": [2, 7], "x": 116, "y": 32, "flags": 255}, - {"matrix": [2, 8], "x": 131, "y": 32, "flags": 255}, - {"matrix": [2, 9], "x": 145, "y": 32, "flags": 255}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 255}, - {"matrix": [2, 11], "x": 175, "y": 32, "flags": 255}, - {"matrix": [2, 12], "x": 200, "y": 32, "flags": 255}, - {"matrix": [2, 15], "x": 224, "y": 32, "flags": 255}, - {"matrix": [3, 15], "x": 224, "y": 48, "flags": 255}, - {"matrix": [3, 14], "x": 209, "y": 48, "flags": 255}, - {"matrix": [3, 11], "x": 188, "y": 48, "flags": 255}, - {"matrix": [3, 10], "x": 168, "y": 48, "flags": 255}, - {"matrix": [3, 9], "x": 153, "y": 48, "flags": 255}, - {"matrix": [3, 8], "x": 138, "y": 48, "flags": 255}, - {"matrix": [3, 7], "x": 123, "y": 48, "flags": 255}, - {"matrix": [3, 6], "x": 108, "y": 48, "flags": 255}, - {"matrix": [3, 5], "x": 93, "y": 48, "flags": 255}, - {"matrix": [3, 4], "x": 78, "y": 48, "flags": 255}, - {"matrix": [3, 3], "x": 63, "y": 48, "flags": 255}, - {"matrix": [3, 2], "x": 49, "y": 48, "flags": 255}, - {"matrix": [3, 1], "x": 34, "y": 48, "flags": 255}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 255}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 255}, - {"matrix": [4, 1], "x": 20, "y": 64, "flags": 255}, - {"matrix": [4, 2], "x": 39, "y": 64, "flags": 255}, - {"matrix": [4, 5], "x": 95, "y": 64, "flags": 255}, - {"matrix": [4, 9], "x": 151, "y": 64, "flags": 255}, - {"matrix": [4, 10], "x": 170, "y": 64, "flags": 255}, - {"matrix": [4, 13], "x": 194, "y": 64, "flags": 255}, - {"matrix": [4, 14], "x": 209, "y": 64, "flags": 255}, - {"matrix": [4, 15], "x": 224, "y": 64, "flags": 255} - ] - }, - "url": "https://mechanicalkeyboards.com/products/mk-point65-keyboard-kit?variant=49803723538732", - "usb": { - "pid": "0xC0F6" - }, - "ws2812": { - "pin": "GP19" - }, - "community_layouts": ["65_ansi_blocker"] -} diff --git a/keyboards/mechanicalkeyboards/point65/hotswap_rgb/keymaps/default/keymap.c b/keyboards/mechanicalkeyboards/point65/hotswap_rgb/keymaps/default/keymap.c deleted file mode 100644 index e11e75c1f9..0000000000 --- a/keyboards/mechanicalkeyboards/point65/hotswap_rgb/keymaps/default/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2024 Sebastiaan Swinkels @ BeanBoards - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum point65_layers { - _QWERTY, - _FUNCTION -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = 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, KC_RALT, MO(_FUNCTION), KC_LEFT, KC_DOWN, KC_RIGHT - ), - [_FUNCTION] = 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_NO, - NK_TOGG, RM_TOGG, RM_VALU, KC_NO, RM_HUEU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, RM_PREV, RM_VALD, RM_NEXT, RM_HUED, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_MPLY, KC_VOLU, KC_TRNS, - KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT - ) -}; diff --git a/keyboards/mechanicalkeyboards/point65/info.json b/keyboards/mechanicalkeyboards/point65/info.json deleted file mode 100644 index c1ab9322a7..0000000000 --- a/keyboards/mechanicalkeyboards/point65/info.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "manufacturer": "Mechanical Keyboards", - "maintainer": "C44Supra", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP28", "GP27", "GP26", "GP29", "GP0", "GP11", "GP10", "GP9", "GP8", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1"] - }, - "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", - "max_brightness": 128 - }, - "usb": { - "device_version": "1.0.0", - "vid": "0x4242" - }, - "ws2812": { - "driver": "vendor" - }, - "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, 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, 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, "w": 2.25}, - {"matrix": [2, 15], "x": 15, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [3, 11], "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, 9], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 10], "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/mechanicalkeyboards/point65/readme.md b/keyboards/mechanicalkeyboards/point65/readme.md deleted file mode 100644 index 693e12df25..0000000000 --- a/keyboards/mechanicalkeyboards/point65/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Mechanical Keyboards Point65 - -![Mechanical Keyboards Point65](https://i.imgur.com/lTEwGBR.png) -## Description -A 65% keyboard by [Mechanical Keyboards](https://mechanicalkeyboards.com) available as either multi layout hotswap, or hotswap with RGB per key backlight. - -* Keyboard Maintainer: [C44Supra](https://github.com/C44Supra) -* Hardware Supported: MK Point65 hotswap, MK Point65 hotswap RGB -* Hardware Availability: [MK Point65 Keyboard Kit](https://mechanicalkeyboards.com/products/mk-point65-keyboard-kit) - -## Firmware building -**Hotswap with 6.25U layout:** - - make mechanicalkeyboards/point65/hotswap:default - -**Hotswap with 7U layout:** - - make mechanicalkeyboards/point65/hotswap:default_7u - -**Hotswap RGB:** - - make mechanicalkeyboards/point65/hotswap_rgb:default - -## Bootloader and Flashing: -The keyboard can be flashed with new firmware by entering the bootloader in one of the following ways: -- Bootmagic reset: unplug the keyboard, press and hold the top left key, plug the keyboard back in, and then release the top left key -- Physical reset button: Remove the space bar and double press the reset button twice in short succession - -Once the keyboard enters bootloader mode, it will present itself as a removable device called `RPI-RP2`. Copy / drag the new firmware file to the `RPI-RP2` drive to flash the new firmware onto the keyboard. - -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/mechlovin/adelais/adelais.c b/keyboards/mechlovin/adelais/adelais.c index 9a952c90c9..5758bb7322 100644 --- a/keyboards/mechlovin/adelais/adelais.c +++ b/keyboards/mechlovin/adelais/adelais.c @@ -22,4 +22,4 @@ void keyboard_post_init_kb(void) { rgblight_sethsv_at(255, 255, 255, 0); keyboard_post_init_user(); } -#endif +#endif \ No newline at end of file diff --git a/keyboards/mechlovin/adelais/config.h b/keyboards/mechlovin/adelais/config.h index 55451b9f54..9b59ebaf3a 100644 --- a/keyboards/mechlovin/adelais/config.h +++ b/keyboards/mechlovin/adelais/config.h @@ -20,4 +20,4 @@ along with this program. If not, see . /* key matrix size */ #define MATRIX_ROWS 5 -#define MATRIX_COLS 15 +#define MATRIX_COLS 15 \ No newline at end of file diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/keyboard.json b/keyboards/mechlovin/adelais/rgb_led/rev1/keyboard.json index 1de0b83552..01232b07e8 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev1/keyboard.json +++ b/keyboards/mechlovin/adelais/rgb_led/rev1/keyboard.json @@ -62,99 +62,6 @@ "animation": "cycle_pinwheel" }, "driver": "ws2812", - "layout": [ - {"matrix": [1, 14], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 17, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 51, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 69, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 86, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 100, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 103, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 120, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 138, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 155, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 172, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 189, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 207, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 215, "y": 0, "flags": 1}, - {"x": 223, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [2, 14], "x": 0, "y": 16, "flags": 1}, - {"matrix": [1, 0], "x": 17, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 34, "y": 16, "flags": 1}, - {"matrix": [1, 2], "x": 51, "y": 16, "flags": 1}, - {"matrix": [1, 3], "x": 69, "y": 16, "flags": 1}, - {"matrix": [1, 4], "x": 86, "y": 16, "flags": 1}, - {"matrix": [1, 5], "x": 103, "y": 16, "flags": 1}, - {"matrix": [1, 6], "x": 120, "y": 16, "flags": 1}, - {"matrix": [1, 7], "x": 138, "y": 16, "flags": 1}, - {"matrix": [1, 8], "x": 155, "y": 16, "flags": 1}, - {"matrix": [1, 9], "x": 172, "y": 16, "flags": 1}, - {"matrix": [1, 10], "x": 189, "y": 16, "flags": 1}, - {"matrix": [1, 11], "x": 207, "y": 16, "flags": 1}, - {"matrix": [1, 12], "x": 215, "y": 16, "flags": 1}, - {"matrix": [1, 13], "x": 224, "y": 16, "flags": 1}, - {"matrix": [3, 14], "x": 0, "y": 32, "flags": 1}, - {"matrix": [2, 0], "x": 17, "y": 32, "flags": 1}, - {"matrix": [2, 1], "x": 34, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 51, "y": 32, "flags": 1}, - {"matrix": [2, 3], "x": 69, "y": 32, "flags": 1}, - {"matrix": [2, 4], "x": 86, "y": 32, "flags": 1}, - {"matrix": [2, 5], "x": 103, "y": 32, "flags": 1}, - {"matrix": [2, 6], "x": 120, "y": 32, "flags": 1}, - {"matrix": [2, 7], "x": 138, "y": 32, "flags": 1}, - {"matrix": [2, 8], "x": 155, "y": 32, "flags": 1}, - {"matrix": [2, 9], "x": 172, "y": 32, "flags": 1}, - {"matrix": [2, 10], "x": 189, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 207, "y": 32, "flags": 1}, - {"matrix": [2, 13], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 17, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 34, "y": 48, "flags": 1}, - {"matrix": [3, 3], "x": 51, "y": 48, "flags": 1}, - {"matrix": [3, 4], "x": 69, "y": 48, "flags": 1}, - {"matrix": [3, 5], "x": 86, "y": 48, "flags": 1}, - {"matrix": [3, 6], "x": 103, "y": 48, "flags": 1}, - {"matrix": [3, 7], "x": 120, "y": 48, "flags": 1}, - {"matrix": [3, 8], "x": 138, "y": 48, "flags": 1}, - {"matrix": [3, 9], "x": 155, "y": 48, "flags": 1}, - {"matrix": [3, 10], "x": 172, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 189, "y": 48, "flags": 1}, - {"matrix": [4, 13], "x": 207, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 215, "y": 48, "flags": 1}, - {"x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 17, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 51, "y": 64, "flags": 1}, - {"matrix": [4, 4], "x": 86, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 103, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 138, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 172, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}, - {"x": 100, "y": 0, "flags": 1}, - {"x": 69, "y": 0, "flags": 1}, - {"x": 24, "y": 0, "flags": 1}, - {"x": 0, "y": 3, "flags": 1}, - {"x": 0, "y": 16, "flags": 1}, - {"x": 0, "y": 32, "flags": 1}, - {"x": 0, "y": 51, "flags": 1}, - {"x": 15, "y": 64, "flags": 1}, - {"x": 34, "y": 64, "flags": 1}, - {"x": 69, "y": 64, "flags": 1}, - {"x": 103, "y": 64, "flags": 1}, - {"x": 110, "y": 64, "flags": 1}, - {"x": 120, "y": 64, "flags": 1}, - {"x": 155, "y": 64, "flags": 1}, - {"x": 189, "y": 64, "flags": 1}, - {"x": 192, "y": 64, "flags": 1}, - {"x": 224, "y": 58, "flags": 1}, - {"x": 224, "y": 32, "flags": 1}, - {"x": 224, "y": 16, "flags": 1}, - {"x": 224, "y": 0, "flags": 1}, - {"x": 207, "y": 0, "flags": 1}, - {"x": 172, "y": 0, "flags": 1}, - {"x": 138, "y": 0, "flags": 1} - ], "max_brightness": 220, "react_on_keyup": true, "sleep": true diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/rev1.c b/keyboards/mechlovin/adelais/rgb_led/rev1/rev1.c new file mode 100644 index 0000000000..5f01f322df --- /dev/null +++ b/keyboards/mechlovin/adelais/rgb_led/rev1/rev1.c @@ -0,0 +1,42 @@ +/* Copyright 2020 Team Mechlovin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + //Key Matrix to LED Index + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16}, + {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0}, + {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, NO_LED, 45, 17}, + {46, NO_LED, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 60, 32}, + {61, NO_LED, 62, NO_LED, 63, NO_LED, 64, NO_LED, 65, NO_LED, 66, NO_LED, NO_LED, 57, 67} +}, { + //LED Index to Physical Positon + {0,0}, { 17, 0}, { 34, 0 }, { 51, 0 }, { 69, 0}, { 86, 0}, {100, 0}, {103, 0}, { 120, 0}, { 138, 0}, { 155, 0}, { 172, 0}, { 189, 0}, {207, 0}, {215, 0}, {223, 0}, {224, 0}, + {0,16}, { 17, 16}, { 34,16 }, { 51,16 }, { 69,16}, { 86,16}, {103,16}, { 120,16}, { 138,16}, { 155,16}, { 172,16}, { 189,16}, {207, 16}, {215, 16}, {224,16}, + {0,32}, { 17, 32}, { 34,32 }, { 51,32 }, { 69,32}, { 86,32}, {103,32}, { 120,32}, { 138,32}, { 155,32}, { 172,32}, { 189,32}, {207, 32}, {224,32}, + { 17, 48}, { 34,48 }, { 51,48 }, { 69,48}, { 86,48}, {103,48}, { 120,48}, { 138,48}, { 155,48}, { 172,48}, { 189,48}, {207, 48}, {215, 48}, {224,48}, {224,48}, + { 17, 64}, { 51,64 }, { 86,64}, { 103,64}, { 138,64}, { 172,64}, {224, 64}, + {100,0}, { 69,0}, { 24, 0}, { 0,3}, { 0,16}, { 0,32}, { 0,51}, { 15,64 }, { 34,64}, { 69,64}, { 103,64}, {110,64}, { 120,64}, { 155,64}, { 189,64}, { 192,64}, { 224,58}, { 224,32}, { 224,16}, { 224,0}, { 207,0}, { 172,0}, { 138,0}, +}, { + 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, 1, 1, 1, 1, +} }; +#endif diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/keyboard.json b/keyboards/mechlovin/adelais/rgb_led/rev2/keyboard.json index e71f103635..a8633af5da 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/keyboard.json +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/keyboard.json @@ -64,76 +64,6 @@ "animation": "cycle_pinwheel" }, "driver": "is31fl3731", - "layout": [ - {"matrix": [1, 14], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 17, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 51, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 69, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 86, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 100, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 103, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 120, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 138, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 155, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 172, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 189, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 207, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 215, "y": 0, "flags": 1}, - {"x": 223, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [2, 14], "x": 0, "y": 16, "flags": 1}, - {"matrix": [1, 0], "x": 17, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 34, "y": 16, "flags": 1}, - {"matrix": [1, 2], "x": 51, "y": 16, "flags": 1}, - {"matrix": [1, 3], "x": 69, "y": 16, "flags": 1}, - {"matrix": [1, 4], "x": 86, "y": 16, "flags": 1}, - {"matrix": [1, 5], "x": 103, "y": 16, "flags": 1}, - {"matrix": [1, 6], "x": 120, "y": 16, "flags": 1}, - {"matrix": [1, 7], "x": 138, "y": 16, "flags": 1}, - {"matrix": [1, 8], "x": 155, "y": 16, "flags": 1}, - {"matrix": [1, 9], "x": 172, "y": 16, "flags": 1}, - {"matrix": [1, 10], "x": 189, "y": 16, "flags": 1}, - {"matrix": [1, 11], "x": 207, "y": 16, "flags": 1}, - {"matrix": [1, 12], "x": 215, "y": 16, "flags": 1}, - {"matrix": [1, 13], "x": 224, "y": 16, "flags": 1}, - {"matrix": [3, 14], "x": 0, "y": 32, "flags": 1}, - {"matrix": [2, 0], "x": 17, "y": 32, "flags": 1}, - {"matrix": [2, 1], "x": 34, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 51, "y": 32, "flags": 1}, - {"matrix": [2, 3], "x": 69, "y": 32, "flags": 1}, - {"matrix": [2, 4], "x": 86, "y": 32, "flags": 1}, - {"matrix": [2, 5], "x": 103, "y": 32, "flags": 1}, - {"matrix": [2, 6], "x": 120, "y": 32, "flags": 1}, - {"matrix": [2, 7], "x": 138, "y": 32, "flags": 1}, - {"matrix": [2, 8], "x": 155, "y": 32, "flags": 1}, - {"matrix": [2, 9], "x": 172, "y": 32, "flags": 1}, - {"matrix": [2, 10], "x": 189, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 207, "y": 32, "flags": 1}, - {"matrix": [2, 13], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 17, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 34, "y": 48, "flags": 1}, - {"matrix": [3, 3], "x": 51, "y": 48, "flags": 1}, - {"matrix": [3, 4], "x": 69, "y": 48, "flags": 1}, - {"matrix": [3, 5], "x": 86, "y": 48, "flags": 1}, - {"matrix": [3, 6], "x": 103, "y": 48, "flags": 1}, - {"matrix": [3, 7], "x": 120, "y": 48, "flags": 1}, - {"matrix": [3, 8], "x": 138, "y": 48, "flags": 1}, - {"matrix": [3, 9], "x": 155, "y": 48, "flags": 1}, - {"matrix": [3, 10], "x": 172, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 189, "y": 48, "flags": 1}, - {"matrix": [4, 13], "x": 207, "y": 48, "flags": 1}, - {"x": 215, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 17, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 51, "y": 64, "flags": 1}, - {"matrix": [4, 4], "x": 86, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 103, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 138, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 172, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "react_on_keyup": true, "sleep": true }, diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c index d0bd63cdb4..2dffbc24f0 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c @@ -94,6 +94,29 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {1, C4_7, C5_7, C6_7}, //D83-D13-67 }; +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16}, + {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0}, + {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, NO_LED, 45, 17}, + {46, NO_LED, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 32}, + {61, NO_LED, 62, NO_LED, 63, NO_LED, 64, NO_LED, 65, NO_LED, 66, NO_LED, NO_LED, 57, 67} + }, + { + //LED Index to Physical Positon + {0,0}, { 17, 0}, { 34, 0 }, { 51, 0 }, { 69, 0}, { 86, 0}, {100, 0}, {103, 0}, { 120, 0}, { 138, 0}, { 155, 0}, { 172, 0}, { 189, 0}, {207, 0}, {215, 0}, {223, 0}, {224, 0}, + {0,16}, { 17, 16}, { 34,16 }, { 51,16 }, { 69,16}, { 86,16}, {103,16}, { 120,16}, { 138,16}, { 155,16}, { 172,16}, { 189,16}, {207, 16}, {215, 16}, {224,16}, + {0,32}, { 17, 32}, { 34,32 }, { 51,32 }, { 69,32}, { 86,32}, {103,32}, { 120,32}, { 138,32}, { 155,32}, { 172,32}, { 189,32}, {207, 32}, {224,32}, + { 17, 48}, { 34,48 }, { 51,48 }, { 69,48}, { 86,48}, {103,48}, { 120,48}, { 138,48}, { 155,48}, { 172,48}, { 189,48}, {207, 48}, {215, 48}, {224,48}, {224,48}, + { 17, 64}, { 51,64 }, { 86,64}, { 103,64}, { 138,64}, { 172,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, +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json b/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json index fd68b62baf..a7cd8faa78 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json @@ -61,74 +61,6 @@ "animation": "cycle_pinwheel" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [3, 1], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 17, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 34, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 51, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 69, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 86, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 100, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 103, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 120, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 138, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 155, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 172, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 189, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 207, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 215, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [4, 1], "x": 0, "y": 16, "flags": 1}, - {"matrix": [1, 0], "x": 17, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 34, "y": 16, "flags": 1}, - {"matrix": [1, 2], "x": 51, "y": 16, "flags": 1}, - {"matrix": [1, 3], "x": 69, "y": 16, "flags": 1}, - {"matrix": [1, 4], "x": 86, "y": 16, "flags": 1}, - {"matrix": [1, 5], "x": 103, "y": 16, "flags": 1}, - {"matrix": [1, 6], "x": 120, "y": 16, "flags": 1}, - {"matrix": [1, 7], "x": 138, "y": 16, "flags": 1}, - {"matrix": [1, 8], "x": 155, "y": 16, "flags": 1}, - {"matrix": [1, 9], "x": 172, "y": 16, "flags": 1}, - {"matrix": [1, 10], "x": 189, "y": 16, "flags": 1}, - {"matrix": [1, 11], "x": 207, "y": 16, "flags": 1}, - {"matrix": [1, 12], "x": 215, "y": 16, "flags": 1}, - {"matrix": [1, 13], "x": 224, "y": 16, "flags": 1}, - {"matrix": [4, 3], "x": 0, "y": 32, "flags": 1}, - {"matrix": [2, 0], "x": 17, "y": 32, "flags": 1}, - {"matrix": [2, 1], "x": 34, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 51, "y": 32, "flags": 1}, - {"matrix": [2, 3], "x": 69, "y": 32, "flags": 1}, - {"matrix": [2, 4], "x": 86, "y": 32, "flags": 1}, - {"matrix": [2, 5], "x": 103, "y": 32, "flags": 1}, - {"matrix": [2, 6], "x": 120, "y": 32, "flags": 1}, - {"matrix": [2, 7], "x": 138, "y": 32, "flags": 1}, - {"matrix": [2, 8], "x": 155, "y": 32, "flags": 1}, - {"matrix": [2, 9], "x": 172, "y": 32, "flags": 1}, - {"matrix": [2, 10], "x": 189, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 207, "y": 32, "flags": 1}, - {"matrix": [2, 13], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 17, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 34, "y": 48, "flags": 1}, - {"matrix": [3, 3], "x": 51, "y": 48, "flags": 1}, - {"matrix": [3, 4], "x": 69, "y": 48, "flags": 1}, - {"matrix": [3, 5], "x": 86, "y": 48, "flags": 1}, - {"matrix": [3, 6], "x": 103, "y": 48, "flags": 1}, - {"matrix": [3, 7], "x": 120, "y": 48, "flags": 1}, - {"matrix": [3, 8], "x": 138, "y": 48, "flags": 1}, - {"matrix": [3, 9], "x": 155, "y": 48, "flags": 1}, - {"matrix": [3, 10], "x": 172, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 189, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 207, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 215, "y": 48, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 17, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 51, "y": 64, "flags": 1}, - {"matrix": [4, 4], "x": 86, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 103, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 138, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 172, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "react_on_keyup": true, "sleep": true }, diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h b/keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h index 1885b75bd3..aa5ea7335b 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/mcuconf.h @@ -22,4 +22,4 @@ #define STM32_SPI_USE_SPI1 TRUE #undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE +#define STM32_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c index d934e6df18..33dd2157e4 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c @@ -88,6 +88,30 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW1_CS24, SW1_CS23, SW1_CS22}, /* D103-K4E-65 */ }; +led_config_t g_led_config = { + { + // Key Matrix to LED Index + { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, + {17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, NO_LED}, + {32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, NO_LED, 44, NO_LED}, + {45, 0, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58}, + {59, 16, 60, 31, 61, NO_LED, 62, NO_LED, 63, NO_LED, 64, NO_LED, NO_LED, NO_LED, 65}, + }, { + //LED Index to Physical Positon + {0,0}, { 17, 0}, { 34, 0 }, { 51, 0 }, { 69, 0}, { 86, 0}, {100, 0}, {103, 0}, { 120, 0}, { 138, 0}, { 155, 0}, { 172, 0}, { 189, 0}, {207, 0}, {215, 0}, {224, 0}, + {0,16}, { 17, 16}, { 34,16 }, { 51,16 }, { 69,16}, { 86,16}, {103,16}, { 120,16}, { 138,16}, { 155,16}, { 172,16}, { 189,16}, {207, 16}, {215, 16}, {224,16}, + {0,32}, { 17, 32}, { 34,32 }, { 51,32 }, { 69,32}, { 86,32}, {103,32}, { 120,32}, { 138,32}, { 155,32}, { 172,32}, { 189,32}, {207, 32}, {224,32}, + { 17, 48}, { 34,48 }, { 51,48 }, { 69,48}, { 86,48}, {103,48}, { 120,48}, { 138,48}, { 155,48}, { 172,48}, { 189,48}, {207, 48}, {215, 48}, {224,48}, + { 17, 64}, { 51,64 }, { 86,64}, { 103,64}, { 138,64}, { 172,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, + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/mechlovin/delphine/keymaps/default/keymap.c b/keyboards/mechlovin/delphine/keymaps/default/keymap.c index a7d2ca046e..6498b69262 100644 --- a/keyboards/mechlovin/delphine/keymaps/default/keymap.c +++ b/keyboards/mechlovin/delphine/keymaps/default/keymap.c @@ -25,4 +25,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_P0, KC_PDOT, KC_BSPC ), -}; +}; \ No newline at end of file diff --git a/keyboards/mechlovin/delphine/rgb_led/keyboard.json b/keyboards/mechlovin/delphine/rgb_led/keyboard.json index 5cb2c13ac1..d6e7a27f81 100644 --- a/keyboards/mechlovin/delphine/rgb_led/keyboard.json +++ b/keyboards/mechlovin/delphine/rgb_led/keyboard.json @@ -78,33 +78,6 @@ "animation": "cycle_pinwheel" }, "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 75, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 149, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4}, - {"matrix": [1, 1], "x": 75, "y": 13, "flags": 1}, - {"matrix": [1, 2], "x": 149, "y": 13, "flags": 1}, - {"matrix": [1, 3], "x": 224, "y": 13, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4}, - {"matrix": [2, 1], "x": 75, "y": 25, "flags": 1}, - {"matrix": [2, 2], "x": 149, "y": 25, "flags": 1}, - {"matrix": [2, 3], "x": 224, "y": 25, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 75, "y": 38, "flags": 1}, - {"matrix": [3, 2], "x": 149, "y": 38, "flags": 1}, - {"matrix": [3, 3], "x": 224, "y": 38, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 51, "flags": 4}, - {"matrix": [4, 1], "x": 75, "y": 51, "flags": 1}, - {"matrix": [4, 2], "x": 149, "y": 51, "flags": 1}, - {"matrix": [4, 3], "x": 224, "y": 51, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4}, - {"x": 37, "y": 64, "flags": 0}, - {"matrix": [5, 1], "x": 75, "y": 64, "flags": 1}, - {"matrix": [5, 2], "x": 149, "y": 64, "flags": 1}, - {"matrix": [5, 3], "x": 224, "y": 64, "flags": 4} - ], "react_on_keyup": true } } diff --git a/keyboards/mechlovin/delphine/rgb_led/rgb_led.c b/keyboards/mechlovin/delphine/rgb_led/rgb_led.c index 0f3f1c0889..feda05a071 100644 --- a/keyboards/mechlovin/delphine/rgb_led/rgb_led.c +++ b/keyboards/mechlovin/delphine/rgb_led/rgb_led.c @@ -49,6 +49,32 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C4_14, C5_14, C6_14}, //D51-24 }; +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, 22, 23, 24} + }, + { + //LED Index to Physical Positon + { 0, 0}, { 75, 0}, {149, 0}, {224, 0}, + { 0, 13}, { 75, 13}, {149, 13}, {224, 13}, + { 0, 25}, { 75, 25}, {149, 25}, {224, 25}, + { 0, 38}, { 75, 38}, {149, 38}, {224, 38}, + { 0, 51}, { 75, 51}, {149, 51}, {224, 51}, + { 0, 64}, { 37, 64}, { 75, 64}, {149, 64}, {224, 64}, +}, { + 4, 4, 4, 4, + 4, 1, 1, 4, + 4, 1, 1, 4, + 4, 1, 1, 4, + 4, 1, 1, 4, + 4, 0, 1, 1, 4, +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/mechlovin/foundation/readme.md b/keyboards/mechlovin/foundation/readme.md index 1e06ca804c..61dacd55bd 100644 --- a/keyboards/mechlovin/foundation/readme.md +++ b/keyboards/mechlovin/foundation/readme.md @@ -23,4 +23,4 @@ Enter the bootloader in 4 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 * **Bootloader reset**: Hold down the key at (0,13) in the matrix (Backspace) and plug in the keyboard * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -* **Hardware reset**: Press reset button (located on the bottom side of the PCB) +* **Hardware reset**: Press reset button (located on the bottom side of the PCB) \ No newline at end of file diff --git a/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json b/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json index 82911ddaf9..e2b0ae715e 100644 --- a/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json +++ b/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json @@ -69,80 +69,6 @@ "animation": "cycle_pinwheel" }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 1}, - {"x": 216, "y": 0, "flags": 1}, - {"matrix": [1, 13], "x": 220, "y": 0, "flags": 1}, - {"matrix": [2, 12], "x": 211, "y": 16, "flags": 1}, - {"matrix": [1, 12], "x": 200, "y": 16, "flags": 1}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 1}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 1}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 1}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 1}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 1}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 1}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 1}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 1}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 1}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 1}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 1}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 1}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 1}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 1}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 1}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 1}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 1}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 1}, - {"x": 192, "y": 32, "flags": 1}, - {"matrix": [2, 13], "x": 208, "y": 32, "flags": 1}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, - {"x": 208, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 192, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 160, "y": 48, "flags": 1}, - {"matrix": [3, 10], "x": 144, "y": 48, "flags": 1}, - {"matrix": [3, 9], "x": 128, "y": 48, "flags": 1}, - {"matrix": [3, 8], "x": 112, "y": 48, "flags": 1}, - {"matrix": [3, 7], "x": 96, "y": 48, "flags": 1}, - {"matrix": [3, 6], "x": 80, "y": 48, "flags": 1}, - {"matrix": [3, 5], "x": 64, "y": 48, "flags": 1}, - {"matrix": [3, 4], "x": 48, "y": 48, "flags": 1}, - {"matrix": [3, 3], "x": 32, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 16, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 8, "y": 48, "flags": 1}, - {"x": 0, "y": 48, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 32, "y": 64, "flags": 1}, - {"matrix": [4, 4], "x": 48, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 64, "y": 64, "flags": 1}, - {"x": 80, "y": 64, "flags": 1}, - {"x": 96, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 112, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 144, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 160, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 192, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1} - ], "react_on_keyup": true }, "matrix_pins": { diff --git a/keyboards/mechlovin/hannah60rgb/rev1/rev1.c b/keyboards/mechlovin/hannah60rgb/rev1/rev1.c index 2918d82318..139db81bbe 100644 --- a/keyboards/mechlovin/hannah60rgb/rev1/rev1.c +++ b/keyboards/mechlovin/hannah60rgb/rev1/rev1.c @@ -17,6 +17,28 @@ #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}, + {29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 15}, + {30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 16, 43}, + {59, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 44}, + {60, 61, 62, NO_LED, 63, NO_LED, 64, NO_LED, 67, NO_LED, 68, 69, 70, 71} +}, { + //LED Index to Physical Positon + { 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}, {208, 0}, {216, 0}, + {220, 0}, {211, 16}, {200,16 }, {176,16 }, {160,16}, {144,16}, {128,16}, { 112,16}, { 96,16}, { 80,16}, { 64,16}, { 48,16}, {32, 16}, {16, 16}, {0,16}, + { 0, 32}, { 16, 32}, { 32,32 }, { 48,32 }, { 64,32}, { 80,32}, { 96,32}, { 112,32}, { 128,32}, { 144,32}, { 160,32}, { 176,32}, {192, 32}, {208, 32}, {224,48}, + {208, 48}, {192, 48}, {160,48 }, {144,48 }, {128,48}, {112,48}, {96,48}, { 80,48}, { 64,48}, { 48,48}, { 32,48}, { 16,48}, {8, 48}, {0, 48}, {0,48}, + { 0, 64}, { 16, 64}, { 32,64 }, { 48,64 }, { 64,64}, { 80,64}, { 96,64}, { 112,64}, { 144,64}, { 160,64}, { 192,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, +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json b/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json index 158e6907b4..066422b3e3 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json +++ b/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json @@ -87,86 +87,6 @@ "animation": "cycle_pinwheel" }, "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 1}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 1}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 1}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 1}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 1}, - {"x": 0, "y": 48, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 12, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 16, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 1}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 1}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 1}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 1}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 1}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 1}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 1}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 1}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 1}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 1}, - {"matrix": [3, 3], "x": 32, "y": 48, "flags": 1}, - {"matrix": [3, 4], "x": 48, "y": 48, "flags": 1}, - {"matrix": [3, 5], "x": 64, "y": 48, "flags": 1}, - {"matrix": [3, 6], "x": 80, "y": 48, "flags": 1}, - {"matrix": [4, 2], "x": 32, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 80, "y": 64, "flags": 1}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 220, "y": 0, "flags": 1}, - {"x": 210, "y": 0, "flags": 1}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 1}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 1}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 1}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 1}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 1}, - {"x": 220, "y": 16, "flags": 1}, - {"x": 220, "y": 16, "flags": 1}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 1}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 1}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 1}, - {"matrix": [2, 12], "x": 192, "y": 32, "flags": 1}, - {"matrix": [2, 13], "x": 220, "y": 32, "flags": 1}, - {"matrix": [3, 7], "x": 96, "y": 48, "flags": 1}, - {"matrix": [3, 8], "x": 112, "y": 48, "flags": 1}, - {"matrix": [3, 9], "x": 128, "y": 48, "flags": 1}, - {"matrix": [3, 10], "x": 144, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 160, "y": 48, "flags": 1}, - {"x": 200, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 220, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 220, "y": 48, "flags": 1}, - {"x": 96, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 144, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 160, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 176, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 220, "y": 64, "flags": 1}, - {"matrix": [1, 13], "x": 220, "y": 0, "flags": 1}, - {"x": 0, "y": 0, "flags": 9}, - {"x": 0, "y": 0, "flags": 9}, - {"x": 0, "y": 0, "flags": 9}, - {"x": 0, "y": 0, "flags": 9}, - {"x": 0, "y": 0, "flags": 9}, - {"x": 0, "y": 0, "flags": 9}, - {"x": 0, "y": 0, "flags": 9}, - {"x": 0, "y": 0, "flags": 9} - ], "react_on_keyup": true }, "matrix_pins": { diff --git a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c index 0667e8bc78..90a42a88a2 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c +++ b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c @@ -110,6 +110,54 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C9_16, C9_11, C7_12},//INDICATOR LED-77 }; +led_config_t g_led_config = { + { + // Key Matrix to LED Index + { 0, 1, 2, 3, 18, 19, 20, 21, 36, 37, 38, 39, 40, 41 }, + { 4, 5, 6, 7, 22, 23, 24, 25, 43, 44, 45, 46, 47, 69 }, + { 8, 9, 10, 11, 26, 27, 28, 29, 50, 51, 52, 53, 54, 55 }, + { 13, 14, 15, 30, 31, 32, 33, 56, 57, 58, 59, 60, 62, 63 }, + { 16, 17, 34, NO_LED, NO_LED, NO_LED, 35, NO_LED, NO_LED, NO_LED, 65, 66, 67, 68 } + }, { + //LED Index to Physical Positon + { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, //9-59-68-76 + { 0, 16 }, { 16, 16 }, { 32, 16 }, { 48, 16 }, //10-60-72-77 + { 0, 32 }, { 16, 32 }, { 32, 32 }, { 48, 32 }, //46-61-73-78 + { 0, 48 }, { 0, 48 }, { 12, 48 }, { 16, 48 }, //126-51-63-74 + { 0, 64 }, { 16, 64 }, //56-67 + { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, //80-84-89-94 + { 64, 16 }, { 80, 16 }, { 96, 16 }, { 112, 16 }, //81-85-90-95 + { 64, 32 }, { 80, 32 }, { 96, 32 }, { 112, 32 }, //82-86-91-96 + { 32, 48 }, { 48, 48 }, { 64, 48 }, { 80, 48 }, //79-83-87-92 + { 32, 64 }, { 80, 64 }, //75-93 + { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 220, 0 }, { 210, 0 }, //98-102-106-111-116-121-130 + { 128, 16 }, { 144, 16 }, { 160, 16 }, { 176, 16 }, { 192, 16 }, { 220, 16 }, { 220, 16 }, //99-103-107-112-117-129-122 + { 128, 32 }, { 144, 32 }, { 160, 32 }, { 176, 32 }, { 192, 32 }, { 220, 32 }, //100-104-108-113-118-123 + { 96, 48 }, { 112, 48 }, { 128, 48 }, { 144, 48 }, { 160, 48 }, { 200, 48 }, { 220, 48 }, { 220, 48 }, //97-101-105-109-114-119-128-124 + { 96, 64 }, { 144, 64 }, { 160, 64 }, { 176, 64 }, { 220, 64 }, //127-110-115-120-125 + { 220, 0 }, //140 + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } + }, { + 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, + 9, 9, 9, 9, 9, 9, 9, 9 + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/mechlovin/hannah910/rev1/keymaps/ansi/keymap.c b/keyboards/mechlovin/hannah910/rev1/keymaps/ansi/keymap.c index cce801e23d..c16620a74e 100644 --- a/keyboards/mechlovin/hannah910/rev1/keymaps/ansi/keymap.c +++ b/keyboards/mechlovin/hannah910/rev1/keymaps/ansi/keymap.c @@ -44,4 +44,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, 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/mechlovin/hannah910/rev1/keymaps/default/keymap.c b/keyboards/mechlovin/hannah910/rev1/keymaps/default/keymap.c index 7a0d508150..ae53cc3f71 100644 --- a/keyboards/mechlovin/hannah910/rev1/keymaps/default/keymap.c +++ b/keyboards/mechlovin/hannah910/rev1/keymaps/default/keymap.c @@ -45,4 +45,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, KC_TRNS, KC_TRNS, 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/mechlovin/hannah910/rev2/keymaps/ansi/keymap.c b/keyboards/mechlovin/hannah910/rev2/keymaps/ansi/keymap.c index 3bf1d02576..022f1f3b37 100644 --- a/keyboards/mechlovin/hannah910/rev2/keymaps/ansi/keymap.c +++ b/keyboards/mechlovin/hannah910/rev2/keymaps/ansi/keymap.c @@ -44,4 +44,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, 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/mechlovin/hannah910/rev2/keymaps/ansi/readme.md b/keyboards/mechlovin/hannah910/rev2/keymaps/ansi/readme.md index 0723912d63..63604a09e4 100644 --- a/keyboards/mechlovin/hannah910/rev2/keymaps/ansi/readme.md +++ b/keyboards/mechlovin/hannah910/rev2/keymaps/ansi/readme.md @@ -1,2 +1,2 @@ # The ansi keymap for hannah910v2 -GB PCB rev.2 here: https://www.reddit.com/r/mechmarket/comments/esv0um/gb_team_mechlovin_hannah_910_v2_infinity_ce_jane/ +GB PCB rev.2 here: https://www.reddit.com/r/mechmarket/comments/esv0um/gb_team_mechlovin_hannah_910_v2_infinity_ce_jane/ \ No newline at end of file diff --git a/keyboards/mechlovin/hannah910/rev2/keymaps/default/keymap.c b/keyboards/mechlovin/hannah910/rev2/keymaps/default/keymap.c index 90ca736219..c0f66cebcf 100644 --- a/keyboards/mechlovin/hannah910/rev2/keymaps/default/keymap.c +++ b/keyboards/mechlovin/hannah910/rev2/keymaps/default/keymap.c @@ -45,4 +45,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, KC_TRNS, KC_TRNS, 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/mechlovin/hannah910/rev2/keymaps/default/readme.md b/keyboards/mechlovin/hannah910/rev2/keymaps/default/readme.md index 0723912d63..63604a09e4 100644 --- a/keyboards/mechlovin/hannah910/rev2/keymaps/default/readme.md +++ b/keyboards/mechlovin/hannah910/rev2/keymaps/default/readme.md @@ -1,2 +1,2 @@ # The ansi keymap for hannah910v2 -GB PCB rev.2 here: https://www.reddit.com/r/mechmarket/comments/esv0um/gb_team_mechlovin_hannah_910_v2_infinity_ce_jane/ +GB PCB rev.2 here: https://www.reddit.com/r/mechmarket/comments/esv0um/gb_team_mechlovin_hannah_910_v2_infinity_ce_jane/ \ No newline at end of file diff --git a/keyboards/mechlovin/hannah910/rev3/keymaps/ansi/keymap.c b/keyboards/mechlovin/hannah910/rev3/keymaps/ansi/keymap.c index 06f973fb8a..70ba2431bd 100644 --- a/keyboards/mechlovin/hannah910/rev3/keymaps/ansi/keymap.c +++ b/keyboards/mechlovin/hannah910/rev3/keymaps/ansi/keymap.c @@ -44,4 +44,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, 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/mechlovin/hannah910/rev3/keymaps/default/keymap.c b/keyboards/mechlovin/hannah910/rev3/keymaps/default/keymap.c index 764bb676ad..59f46dfbaa 100644 --- a/keyboards/mechlovin/hannah910/rev3/keymaps/default/keymap.c +++ b/keyboards/mechlovin/hannah910/rev3/keymaps/default/keymap.c @@ -24,4 +24,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), -}; +}; \ No newline at end of file diff --git a/keyboards/mechlovin/hex4b/rev2/readme.md b/keyboards/mechlovin/hex4b/rev2/readme.md index 66e5cad083..01ae8ea724 100644 --- a/keyboards/mechlovin/hex4b/rev2/readme.md +++ b/keyboards/mechlovin/hex4b/rev2/readme.md @@ -25,4 +25,4 @@ 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 * **Bootloader reset**: Hold down the key at (0,13) in the matrix (Backspace) and plug in the keyboard * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -* **Hardware reset**: Press reset button (located on the top side of the PCB) +* **Hardware reset**: Press reset button (located on the top side of the PCB) \ No newline at end of file diff --git a/keyboards/mechlovin/infinity87/rev1/readme.md b/keyboards/mechlovin/infinity87/rev1/readme.md index 45fd8445fe..448d69ca7c 100644 --- a/keyboards/mechlovin/infinity87/rev1/readme.md +++ b/keyboards/mechlovin/infinity87/rev1/readme.md @@ -13,4 +13,4 @@ Make example for this keyboard (after setting up your build environment): 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 Key:** To put the IF87_rev1, rouge87, rogue87 into bootloader, hold esc key while plugging in (bootmagic) or push reset swith on the bottom of the PCB. +**Reset Key:** To put the IF87_rev1, rouge87, rogue87 into bootloader, hold esc key while plugging in (bootmagic) or push reset swith on the bottom of the PCB. \ No newline at end of file diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json b/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json index 3709736be0..2ca5e03b36 100644 --- a/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json +++ b/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json @@ -66,99 +66,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 14, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 28, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 56, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 70, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 98, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 126, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 140, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 154, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 168, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 182, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 196, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 210, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 14, "y": 16, "flags": 1}, - {"matrix": [1, 2], "x": 28, "y": 16, "flags": 1}, - {"matrix": [1, 3], "x": 42, "y": 16, "flags": 1}, - {"matrix": [1, 4], "x": 56, "y": 16, "flags": 1}, - {"matrix": [1, 5], "x": 70, "y": 16, "flags": 1}, - {"matrix": [1, 6], "x": 84, "y": 16, "flags": 1}, - {"matrix": [1, 7], "x": 98, "y": 16, "flags": 1}, - {"matrix": [1, 8], "x": 112, "y": 16, "flags": 1}, - {"matrix": [1, 9], "x": 126, "y": 16, "flags": 1}, - {"matrix": [1, 10], "x": 140, "y": 16, "flags": 1}, - {"matrix": [1, 11], "x": 154, "y": 16, "flags": 1}, - {"matrix": [1, 12], "x": 168, "y": 16, "flags": 1}, - {"matrix": [1, 13], "x": 182, "y": 16, "flags": 1}, - {"matrix": [1, 14], "x": 196, "y": 16, "flags": 1}, - {"matrix": [1, 15], "x": 210, "y": 16, "flags": 1}, - {"matrix": [1, 16], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 1}, - {"matrix": [2, 1], "x": 14, "y": 32, "flags": 1}, - {"matrix": [2, 2], "x": 28, "y": 32, "flags": 1}, - {"matrix": [2, 3], "x": 42, "y": 32, "flags": 1}, - {"matrix": [2, 4], "x": 56, "y": 32, "flags": 1}, - {"matrix": [2, 5], "x": 70, "y": 32, "flags": 1}, - {"matrix": [2, 6], "x": 84, "y": 32, "flags": 1}, - {"matrix": [2, 7], "x": 98, "y": 32, "flags": 1}, - {"matrix": [2, 8], "x": 112, "y": 32, "flags": 1}, - {"matrix": [2, 9], "x": 126, "y": 32, "flags": 1}, - {"matrix": [2, 10], "x": 140, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 154, "y": 32, "flags": 1}, - {"matrix": [2, 12], "x": 168, "y": 32, "flags": 1}, - {"matrix": [2, 13], "x": 182, "y": 32, "flags": 1}, - {"matrix": [2, 14], "x": 196, "y": 32, "flags": 1}, - {"matrix": [2, 15], "x": 210, "y": 32, "flags": 1}, - {"matrix": [2, 16], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 14, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 28, "y": 48, "flags": 1}, - {"matrix": [3, 3], "x": 42, "y": 48, "flags": 1}, - {"matrix": [3, 4], "x": 56, "y": 48, "flags": 1}, - {"matrix": [3, 5], "x": 70, "y": 48, "flags": 1}, - {"matrix": [3, 6], "x": 84, "y": 48, "flags": 1}, - {"matrix": [3, 7], "x": 98, "y": 48, "flags": 1}, - {"matrix": [3, 8], "x": 112, "y": 48, "flags": 1}, - {"matrix": [3, 9], "x": 126, "y": 48, "flags": 1}, - {"matrix": [3, 10], "x": 140, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 154, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 168, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 182, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 14, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 28, "y": 64, "flags": 1}, - {"matrix": [4, 3], "x": 42, "y": 64, "flags": 1}, - {"matrix": [4, 4], "x": 56, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 70, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 84, "y": 64, "flags": 1}, - {"matrix": [4, 7], "x": 98, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 112, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 126, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 140, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 154, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 168, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 182, "y": 64, "flags": 1}, - {"matrix": [4, 15], "x": 210, "y": 64, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 80, "flags": 1}, - {"matrix": [5, 1], "x": 14, "y": 80, "flags": 1}, - {"matrix": [5, 2], "x": 28, "y": 80, "flags": 1}, - {"matrix": [5, 6], "x": 84, "y": 80, "flags": 1}, - {"matrix": [5, 10], "x": 140, "y": 80, "flags": 1}, - {"matrix": [5, 11], "x": 154, "y": 80, "flags": 1}, - {"matrix": [5, 12], "x": 168, "y": 80, "flags": 1}, - {"matrix": [5, 13], "x": 182, "y": 80, "flags": 1}, - {"matrix": [5, 14], "x": 196, "y": 80, "flags": 1}, - {"matrix": [5, 15], "x": 210, "y": 80, "flags": 1}, - {"matrix": [5, 16], "x": 224, "y": 80, "flags": 1} - ], "sleep": true }, "matrix_pins": { diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/readme.md b/keyboards/mechlovin/infinity87/rgb_rev1/readme.md index c13aa70e5c..1e71fc29fc 100644 --- a/keyboards/mechlovin/infinity87/rgb_rev1/readme.md +++ b/keyboards/mechlovin/infinity87/rgb_rev1/readme.md @@ -18,4 +18,4 @@ Flashing example for this keyboard: 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 Key:** To put the IF87_RGB_Rev.1 into bootloader, hold esc key while plugging in (bootmagic) or push reset swith on the bottom of the PCB. +**Reset Key:** To put the IF87_RGB_Rev.1 into bootloader, hold esc key while plugging in (bootmagic) or push reset swith on the bottom of the PCB. \ No newline at end of file diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c b/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c index ae4dfef158..8df305bb1a 100644 --- a/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c +++ b/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c @@ -111,6 +111,31 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW9_CS19, SW9_CS20, SW9_CS21}, //D165-K2G-90 }; +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, NO_LED, NO_LED, NO_LED}, + {65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, NO_LED, 79, NO_LED}, + {80, 81, 82, NO_LED, NO_LED, NO_LED, 83, NO_LED, NO_LED, NO_LED, 84, 85, 86, 87, 88, 89, 90} + }, { + {0, 0}, {14, 0}, {28, 0}, {42, 0}, {56, 0}, {70, 0}, {84, 0}, {98, 0}, {112, 0}, {126, 0}, {140, 0}, {154, 0}, {168, 0}, {182, 0}, {196, 0}, {210, 0}, {224, 0}, + {0,16}, {14,16}, {28,16}, {42, 16}, {56, 16}, {70, 16}, {84, 16}, {98, 16}, {112, 16}, {126, 16}, {140, 16}, {154, 16}, {168, 16}, {182, 16}, {196, 16}, {210, 16}, {224, 16}, + {0,32}, {14,32}, {28,32}, {42, 32}, {56, 32}, {70, 32}, {84, 32}, {98, 32}, {112, 32}, {126, 32}, {140, 32}, {154, 32}, {168, 32}, {182, 32}, {196, 32}, {210, 32}, {224, 32}, + {0,48}, {14,48}, {28,48}, {42, 48}, {56, 48}, {70, 48}, {84, 48}, {98, 48}, {112, 48}, {126, 48}, {140, 48}, {154, 48}, {168, 48}, {182, 48}, + {0,64}, {14,64}, {28,64}, {42, 64}, {56, 64}, {70, 64}, {84, 64}, {98, 64}, {112, 64}, {126, 64}, {140, 64}, {154, 64}, {168, 64}, {182, 64}, {210, 64}, + {0,80}, {14,80}, {28,80}, {84, 80}, {140, 80}, {154, 80}, {168, 80}, {182, 80}, {196, 80}, {210, 80}, {224, 80} + }, { + 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, 1, 1, 1, 1 + } }; + + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/mechlovin/infinity875/infinity875.c b/keyboards/mechlovin/infinity875/infinity875.c new file mode 100644 index 0000000000..09749bbc2b --- /dev/null +++ b/keyboards/mechlovin/infinity875/infinity875.c @@ -0,0 +1,46 @@ +/* Copyright 2021 Mechlovin' Studio + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + //Key Matrix to LED Index + {0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}, + {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} +}, { + //LED Index to Physical Positon + {0,0}, {14,0}, {28,0}, {42,0}, {56,0}, {67,0}, {70,0}, {84,0}, {98,0}, {112,0}, {126,0}, {140,0}, {154,0}, {168,0}, {182,0}, {196,0}, {210,0}, {224,0}, + {224,13}, {196,13}, {182,13}, {154,13}, {112,13}, {84,13}, {56,13}, {28,13}, {0,13}, + {0,25}, {0,38}, + {0,51}, {0,64}, + {28,64}, {56,64}, + {84,64}, {112,64}, {154,64}, {182,64}, {196,64}, {224,64}, {224,51}, {224,38}, {224,25}, +//{244,64}, {196,64}, {182,64}, {154,64}, {112,64}, {84,64}, {56,64}, {28,64}, {0,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, +} }; +#endif + diff --git a/keyboards/mechlovin/infinity875/keyboard.json b/keyboards/mechlovin/infinity875/keyboard.json index 223fce2cac..1016178caa 100644 --- a/keyboards/mechlovin/infinity875/keyboard.json +++ b/keyboards/mechlovin/infinity875/keyboard.json @@ -15,50 +15,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 14, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 28, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 56, "y": 0, "flags": 1}, - {"x": 67, "y": 0, "flags": 1}, - {"matrix": [0, 5], "x": 70, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 98, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 126, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 140, "y": 0, "flags": 1}, - {"matrix": [0, 11], "x": 154, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 168, "y": 0, "flags": 1}, - {"matrix": [0, 13], "x": 182, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 196, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 210, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 1}, - {"x": 224, "y": 13, "flags": 1}, - {"x": 196, "y": 13, "flags": 1}, - {"x": 182, "y": 13, "flags": 1}, - {"x": 154, "y": 13, "flags": 1}, - {"x": 112, "y": 13, "flags": 1}, - {"x": 84, "y": 13, "flags": 1}, - {"x": 56, "y": 13, "flags": 1}, - {"x": 28, "y": 13, "flags": 1}, - {"x": 0, "y": 13, "flags": 1}, - {"x": 0, "y": 25, "flags": 1}, - {"x": 0, "y": 38, "flags": 1}, - {"x": 0, "y": 51, "flags": 1}, - {"x": 0, "y": 64, "flags": 1}, - {"x": 28, "y": 64, "flags": 1}, - {"x": 56, "y": 64, "flags": 1}, - {"x": 84, "y": 64, "flags": 1}, - {"x": 112, "y": 64, "flags": 1}, - {"x": 154, "y": 64, "flags": 1}, - {"x": 182, "y": 64, "flags": 1}, - {"x": 196, "y": 64, "flags": 1}, - {"x": 224, "y": 64, "flags": 1}, - {"x": 224, "y": 51, "flags": 1}, - {"x": 224, "y": 38, "flags": 1}, - {"x": 224, "y": 25, "flags": 1} - ], "max_brightness": 200, "sleep": true }, diff --git a/keyboards/mechlovin/infinity875/keymaps/default/rules.mk b/keyboards/mechlovin/infinity875/keymaps/default/rules.mk index 14ace89730..64a7fa8664 100644 --- a/keyboards/mechlovin/infinity875/keymaps/default/rules.mk +++ b/keyboards/mechlovin/infinity875/keymaps/default/rules.mk @@ -1 +1 @@ -RGB_MATRIX_CUSTOM_USER = no +RGB_MATRIX_CUSTOM_USER = no \ No newline at end of file diff --git a/keyboards/mechlovin/infinity875/readme.md b/keyboards/mechlovin/infinity875/readme.md index 85ad0aeed0..39c76e5dc9 100644 --- a/keyboards/mechlovin/infinity875/readme.md +++ b/keyboards/mechlovin/infinity875/readme.md @@ -21,4 +21,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to **Reset Key:** 3 ways to put the IF87.5 into bootloader: - By keycode: Press the key mapped to `QK_BOOT` if it is available. - By bootmagic: hold ESC key while plugging in. -- By hardware: Push reset button on bottom of the PCB while the PCB is plugged in. +- By hardware: Push reset button on bottom of the PCB while the PCB is plugged in. \ No newline at end of file diff --git a/keyboards/mechlovin/infinityce/infinityce.c b/keyboards/mechlovin/infinityce/infinityce.c index e2455fb1b3..f1a9181a96 100644 --- a/keyboards/mechlovin/infinityce/infinityce.c +++ b/keyboards/mechlovin/infinityce/infinityce.c @@ -32,4 +32,4 @@ bool led_update_kb(led_t led_state) { } } return res; -} +} \ No newline at end of file diff --git a/keyboards/mechlovin/kanu/keymaps/ansi/keymap.c b/keyboards/mechlovin/kanu/keymaps/ansi/keymap.c index 2cfecc301d..cc8a3b5109 100644 --- a/keyboards/mechlovin/kanu/keymaps/ansi/keymap.c +++ b/keyboards/mechlovin/kanu/keymaps/ansi/keymap.c @@ -44,4 +44,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, 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/mechlovin/kanu/keymaps/default/keymap.c b/keyboards/mechlovin/kanu/keymaps/default/keymap.c index ec15180738..30db14c79e 100644 --- a/keyboards/mechlovin/kanu/keymaps/default/keymap.c +++ b/keyboards/mechlovin/kanu/keymaps/default/keymap.c @@ -45,4 +45,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, KC_TRNS, KC_TRNS, 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/mechlovin/mechlovin9/readme.md b/keyboards/mechlovin/mechlovin9/readme.md index d90c8e7fa2..55dead19c4 100644 --- a/keyboards/mechlovin/mechlovin9/readme.md +++ b/keyboards/mechlovin/mechlovin9/readme.md @@ -14,4 +14,4 @@ Make example for this keyboard (after setting up your build environment): 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 Key:** To put the mechlovin9 PCB into bootloader, hold ESC and plug cable. +**Reset Key:** To put the mechlovin9 PCB into bootloader, hold ESC and plug cable. \ No newline at end of file diff --git a/keyboards/mechlovin/mechlovin9/rev1/readme.md b/keyboards/mechlovin/mechlovin9/rev1/readme.md index d90c8e7fa2..55dead19c4 100644 --- a/keyboards/mechlovin/mechlovin9/rev1/readme.md +++ b/keyboards/mechlovin/mechlovin9/rev1/readme.md @@ -14,4 +14,4 @@ Make example for this keyboard (after setting up your build environment): 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 Key:** To put the mechlovin9 PCB into bootloader, hold ESC and plug cable. +**Reset Key:** To put the mechlovin9 PCB into bootloader, hold ESC and plug cable. \ No newline at end of file diff --git a/keyboards/mechlovin/mechlovin9/rev2/readme.md b/keyboards/mechlovin/mechlovin9/rev2/readme.md index d90c8e7fa2..55dead19c4 100644 --- a/keyboards/mechlovin/mechlovin9/rev2/readme.md +++ b/keyboards/mechlovin/mechlovin9/rev2/readme.md @@ -14,4 +14,4 @@ Make example for this keyboard (after setting up your build environment): 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 Key:** To put the mechlovin9 PCB into bootloader, hold ESC and plug cable. +**Reset Key:** To put the mechlovin9 PCB into bootloader, hold ESC and plug cable. \ No newline at end of file diff --git a/keyboards/mechlovin/mechlovin9/rev3/readme.md b/keyboards/mechlovin/mechlovin9/rev3/readme.md index 175e863c22..3b98b5383d 100644 --- a/keyboards/mechlovin/mechlovin9/rev3/readme.md +++ b/keyboards/mechlovin/mechlovin9/rev3/readme.md @@ -20,4 +20,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader -**Reset Key:** To put the mechlovin9 PCB into bootloader, hold ESC and plug cable. +**Reset Key:** To put the mechlovin9 PCB into bootloader, hold ESC and plug cable. \ No newline at end of file diff --git a/keyboards/mechlovin/olly/bb/readme.md b/keyboards/mechlovin/olly/bb/readme.md index 127b60a232..6afdc161ea 100644 --- a/keyboards/mechlovin/olly/bb/readme.md +++ b/keyboards/mechlovin/olly/bb/readme.md @@ -20,4 +20,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to **Reset Key:** 2 ways to put the Olly JF into bootloader: By keycode: Press the key mapped to `QK_BOOT` if it is available. -By bootloader: hold ESC key while plugging in +By bootloader: hold ESC key while plugging in \ No newline at end of file diff --git a/keyboards/mechlovin/olly/jf/readme.md b/keyboards/mechlovin/olly/jf/readme.md index 3152fc17ca..c40a8dfd5e 100644 --- a/keyboards/mechlovin/olly/jf/readme.md +++ b/keyboards/mechlovin/olly/jf/readme.md @@ -25,4 +25,4 @@ Enter the bootloader in 4 ways: * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. * **Bootloader reset**: hold ESC (0,0) key while plugging in (jump to bootloader) * **Bootmagic reset**: hold Insert (1,14) key while pluging in (jump to bootloader and reset EEPROM) -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead \ No newline at end of file diff --git a/keyboards/mechlovin/olly/jf/rev1/keymaps/default/keymap.c b/keyboards/mechlovin/olly/jf/rev1/keymaps/default/keymap.c index ef82c68df2..6209811cf2 100644 --- a/keyboards/mechlovin/olly/jf/rev1/keymaps/default/keymap.c +++ b/keyboards/mechlovin/olly/jf/rev1/keymaps/default/keymap.c @@ -49,4 +49,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, KC_TRNS ), -}; +}; \ No newline at end of file diff --git a/keyboards/mechlovin/olly/jf/rev1/readme.md b/keyboards/mechlovin/olly/jf/rev1/readme.md index 8f174f3dab..f6c114fee6 100644 --- a/keyboards/mechlovin/olly/jf/rev1/readme.md +++ b/keyboards/mechlovin/olly/jf/rev1/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: By keycode: Press the key mapped to `QK_BOOT` if it is available. By Bootloader: hold ESC key while plugging in (jump to bootloader) -By Bootmagic: hold Insert key while pluging in (jump to bootloader and reset EEPROM) +By Bootmagic: hold Insert key while pluging in (jump to bootloader and reset EEPROM) \ No newline at end of file diff --git a/keyboards/mechlovin/olly/jf/rev2/readme.md b/keyboards/mechlovin/olly/jf/rev2/readme.md index 10b902ee80..b165c35778 100644 --- a/keyboards/mechlovin/olly/jf/rev2/readme.md +++ b/keyboards/mechlovin/olly/jf/rev2/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: By keycode: Press the key mapped to `QK_BOOT` if it is available. By Bootloader: hold ESC key while plugging in (jump to bootloader) -By Bootmagic: hold Insert key while pluging in (jump to bootloader and reset EEPROM) +By Bootmagic: hold Insert key while pluging in (jump to bootloader and reset EEPROM) \ No newline at end of file diff --git a/keyboards/mechlovin/olly/orion/readme.md b/keyboards/mechlovin/olly/orion/readme.md index a295483547..1f29edaf87 100644 --- a/keyboards/mechlovin/olly/orion/readme.md +++ b/keyboards/mechlovin/olly/orion/readme.md @@ -21,4 +21,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to **Reset Key:** 3 ways to put the IF87.5 into bootloader: - By keycode: Tap RESET keycode. - By bootmagic: hold ESC key while plugging in. -- By hardware: Push reset button on bottom of the PCB while the PCB is plugged in. +- By hardware: Push reset button on bottom of the PCB while the PCB is plugged in. \ No newline at end of file diff --git a/keyboards/mechlovin/zed1800/zed1800.c b/keyboards/mechlovin/zed1800/zed1800.c index 75928c7a5a..975c8914dd 100644 --- a/keyboards/mechlovin/zed1800/zed1800.c +++ b/keyboards/mechlovin/zed1800/zed1800.c @@ -42,4 +42,4 @@ bool led_update_kb(led_t led_state) { rgblight_set_layer_state(2, led_state.scroll_lock); } return true; -} +} \ No newline at end of file diff --git a/keyboards/mechlovin/zed65/910/keymaps/default/keymap.c b/keyboards/mechlovin/zed65/910/keymaps/default/keymap.c index ccf1b49841..f4c829bedd 100644 --- a/keyboards/mechlovin/zed65/910/keymaps/default/keymap.c +++ b/keyboards/mechlovin/zed65/910/keymaps/default/keymap.c @@ -25,4 +25,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) -}; +}; \ No newline at end of file diff --git a/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json b/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json index 69bdc40377..56103e44db 100644 --- a/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json +++ b/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json @@ -245,4 +245,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/mechstudio/ud_40_ortho/readme.md b/keyboards/mechstudio/ud_40_ortho/readme.md index e8f33715c2..211f174520 100644 --- a/keyboards/mechstudio/ud_40_ortho/readme.md +++ b/keyboards/mechstudio/ud_40_ortho/readme.md @@ -19,4 +19,4 @@ Make example for this keyboard (after setting up your build environment): make mechstudio/ud_40_ortho: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/mechwild/bbs/bbs.c b/keyboards/mechwild/bbs/bbs.c index f427d60a97..341103c1ab 100644 --- a/keyboards/mechwild/bbs/bbs.c +++ b/keyboards/mechwild/bbs/bbs.c @@ -19,4 +19,4 @@ bool dip_switch_update_kb(uint8_t index, bool active) { void eeconfig_init_kb(void) { steno_set_mode(STENO_MODE_GEMINI); // or STENO_MODE_BOLT eeconfig_init_user(); -} +} \ No newline at end of file diff --git a/keyboards/mechwild/clunker/readme.md b/keyboards/mechwild/clunker/readme.md index f299b478c2..b567e74190 100644 --- a/keyboards/mechwild/clunker/readme.md +++ b/keyboards/mechwild/clunker/readme.md @@ -22,4 +22,4 @@ 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 top 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/mechwild/mercutio/readme.md b/keyboards/mechwild/mercutio/readme.md index 0ab08b2b07..a83942442c 100644 --- a/keyboards/mechwild/mercutio/readme.md +++ b/keyboards/mechwild/mercutio/readme.md @@ -21,4 +21,4 @@ By default, Mercutio firmware has bootmagic enabled (lite). This means that inst -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/mechwild/mokulua/readme.md b/keyboards/mechwild/mokulua/readme.md index 4d21e620fa..5a6b69e66e 100644 --- a/keyboards/mechwild/mokulua/readme.md +++ b/keyboards/mechwild/mokulua/readme.md @@ -22,4 +22,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/mechwild/puckbuddy/readme.md b/keyboards/mechwild/puckbuddy/readme.md index b91b5a3e36..3bf6647932 100644 --- a/keyboards/mechwild/puckbuddy/readme.md +++ b/keyboards/mechwild/puckbuddy/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Physical reset button**: Press and hold the boot0 button on the blackpill, tap and release the nrst button on the blackpill, then release the boot0 button. * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. By default this is the top right key on layer 1. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/mechwild/waka60/f401/mcuconf.h b/keyboards/mechwild/waka60/f401/mcuconf.h index f903d8880f..95339690cf 100644 --- a/keyboards/mechwild/waka60/f401/mcuconf.h +++ b/keyboards/mechwild/waka60/f401/mcuconf.h @@ -24,4 +24,4 @@ #undef STM32_PWM_USE_TIM1 #define STM32_PWM_USE_TIM1 TRUE #undef STM32_GPT_USE_TIM4 -#define STM32_GPT_USE_TIM4 TRUE +#define STM32_GPT_USE_TIM4 TRUE \ No newline at end of file diff --git a/keyboards/meetlab/kafka60/readme.md b/keyboards/meetlab/kafka60/readme.md index e914fd0003..ffc2bf93f8 100644 --- a/keyboards/meetlab/kafka60/readme.md +++ b/keyboards/meetlab/kafka60/readme.md @@ -23,4 +23,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/meetlab/kafka68/keyboard.json b/keyboards/meetlab/kafka68/keyboard.json index deba6e30b5..418749ed43 100644 --- a/keyboards/meetlab/kafka68/keyboard.json +++ b/keyboards/meetlab/kafka68/keyboard.json @@ -98,4 +98,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/meetlab/kafka68/readme.md b/keyboards/meetlab/kafka68/readme.md index dcf1e6f8a4..ac8742a101 100644 --- a/keyboards/meetlab/kafka68/readme.md +++ b/keyboards/meetlab/kafka68/readme.md @@ -23,4 +23,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/meetlab/kafkasplit/keyboard.json b/keyboards/meetlab/kafkasplit/keyboard.json index a731474905..77e5ec3e13 100644 --- a/keyboards/meetlab/kafkasplit/keyboard.json +++ b/keyboards/meetlab/kafkasplit/keyboard.json @@ -201,4 +201,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/meetlab/kafkasplit/readme.md b/keyboards/meetlab/kafkasplit/readme.md index 53181e9aa7..7b332d784a 100644 --- a/keyboards/meetlab/kafkasplit/readme.md +++ b/keyboards/meetlab/kafkasplit/readme.md @@ -23,4 +23,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/meetlab/kalice/config.h b/keyboards/meetlab/kalice/config.h index eec56fd2c3..052bfa4bdf 100644 --- a/keyboards/meetlab/kalice/config.h +++ b/keyboards/meetlab/kalice/config.h @@ -20,4 +20,4 @@ #define WS2812_PWM_CHANNEL 2 #define WS2812_PWM_COMPLEMENTARY_OUTPUT #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM5 -#define WS2812_PWM_DMA_CHANNEL 5 +#define WS2812_PWM_DMA_CHANNEL 5 \ No newline at end of file diff --git a/keyboards/meetlab/kalice/keyboard.json b/keyboards/meetlab/kalice/keyboard.json index cf5bb32c71..eb91d64466 100644 --- a/keyboards/meetlab/kalice/keyboard.json +++ b/keyboards/meetlab/kalice/keyboard.json @@ -117,4 +117,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/meetlab/kalice/keymaps/default/keymap.c b/keyboards/meetlab/kalice/keymaps/default/keymap.c index 46c78d3fde..071941063e 100644 --- a/keyboards/meetlab/kalice/keymaps/default/keymap.c +++ b/keyboards/meetlab/kalice/keymaps/default/keymap.c @@ -32,4 +32,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, 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/meetlab/kalice/readme.md b/keyboards/meetlab/kalice/readme.md index ab3b9ea473..efa97f2d5e 100644 --- a/keyboards/meetlab/kalice/readme.md +++ b/keyboards/meetlab/kalice/readme.md @@ -23,4 +23,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/meetlab/rena/keyboard.json b/keyboards/meetlab/rena/keyboard.json index b333170635..8787fb0ee8 100644 --- a/keyboards/meetlab/rena/keyboard.json +++ b/keyboards/meetlab/rena/keyboard.json @@ -113,4 +113,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/meetlab/rena/matrix_diagram.md b/keyboards/meetlab/rena/matrix_diagram.md index ced29dc3c8..c671421bff 100644 --- a/keyboards/meetlab/rena/matrix_diagram.md +++ b/keyboards/meetlab/rena/matrix_diagram.md @@ -14,4 +14,4 @@ │41 │42 │┌───────────────────────┐│4A │4C │ └────┴─────┘│46 │└─────┴────┘ └───────────────────────┘ -``` +``` \ No newline at end of file diff --git a/keyboards/meetlab/rena/readme.md b/keyboards/meetlab/rena/readme.md index 6a62bb3448..3941525d74 100644 --- a/keyboards/meetlab/rena/readme.md +++ b/keyboards/meetlab/rena/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/melgeek/mach80/rev1/keyboard.json b/keyboards/melgeek/mach80/rev1/keyboard.json index 7faa507606..78a8dbf0f6 100644 --- a/keyboards/melgeek/mach80/rev1/keyboard.json +++ b/keyboards/melgeek/mach80/rev1/keyboard.json @@ -13,106 +13,5 @@ "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "D3"], "rows": ["F0", "F1", "F4", "F5", "F6", "E6"] }, - "diode_direction": "ROW2COL", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 12, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 24, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 36, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 72, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 108, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 120, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 132, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 156, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 168, "y": 0, "flags": 4}, - {"matrix": [3, 13], "x": 180, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 12, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 24, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 36, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 48, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 60, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 72, "y": 12, "flags": 4}, - {"matrix": [1, 7], "x": 84, "y": 12, "flags": 4}, - {"matrix": [1, 8], "x": 96, "y": 12, "flags": 4}, - {"matrix": [1, 9], "x": 108, "y": 12, "flags": 4}, - {"matrix": [1, 10], "x": 120, "y": 12, "flags": 4}, - {"matrix": [1, 11], "x": 132, "y": 12, "flags": 4}, - {"matrix": [1, 12], "x": 144, "y": 12, "flags": 4}, - {"x": 156, "y": 12, "flags": 4}, - {"matrix": [1, 13], "x": 168, "y": 12, "flags": 4}, - {"x": 180, "y": 12, "flags": 4}, - {"matrix": [1, 14], "x": 192, "y": 12, "flags": 4}, - {"matrix": [1, 15], "x": 204, "y": 12, "flags": 4}, - {"matrix": [3, 14], "x": 216, "y": 12, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 24, "flags": 4}, - {"matrix": [2, 1], "x": 12, "y": 24, "flags": 4}, - {"matrix": [2, 2], "x": 24, "y": 24, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 24, "flags": 4}, - {"matrix": [2, 4], "x": 48, "y": 24, "flags": 4}, - {"matrix": [2, 5], "x": 60, "y": 24, "flags": 4}, - {"matrix": [2, 6], "x": 72, "y": 24, "flags": 4}, - {"matrix": [2, 7], "x": 84, "y": 24, "flags": 4}, - {"matrix": [2, 8], "x": 96, "y": 24, "flags": 4}, - {"matrix": [2, 9], "x": 108, "y": 24, "flags": 4}, - {"matrix": [2, 10], "x": 120, "y": 24, "flags": 4}, - {"matrix": [2, 11], "x": 132, "y": 24, "flags": 4}, - {"matrix": [2, 12], "x": 144, "y": 24, "flags": 4}, - {"matrix": [2, 13], "x": 156, "y": 24, "flags": 4}, - {"matrix": [2, 14], "x": 168, "y": 24, "flags": 4}, - {"matrix": [2, 15], "x": 180, "y": 24, "flags": 4}, - {"matrix": [3, 15], "x": 192, "y": 24, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 36, "flags": 4}, - {"matrix": [3, 1], "x": 12, "y": 36, "flags": 4}, - {"matrix": [3, 2], "x": 24, "y": 36, "flags": 4}, - {"matrix": [3, 3], "x": 36, "y": 36, "flags": 4}, - {"matrix": [3, 4], "x": 48, "y": 36, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 36, "flags": 4}, - {"matrix": [3, 6], "x": 72, "y": 36, "flags": 4}, - {"matrix": [3, 7], "x": 84, "y": 36, "flags": 4}, - {"matrix": [3, 8], "x": 96, "y": 36, "flags": 4}, - {"matrix": [3, 9], "x": 108, "y": 36, "flags": 4}, - {"matrix": [3, 10], "x": 120, "y": 36, "flags": 4}, - {"matrix": [3, 11], "x": 132, "y": 36, "flags": 4}, - {"x": 144, "y": 36, "flags": 4}, - {"matrix": [3, 12], "x": 156, "y": 36, "flags": 4}, - {"x": 168, "y": 36, "flags": 4}, - {"x": 0, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 12, "y": 48, "flags": 4}, - {"x": 24, "y": 48, "flags": 4}, - {"matrix": [4, 1], "x": 36, "y": 48, "flags": 4}, - {"matrix": [4, 2], "x": 48, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 60, "y": 48, "flags": 4}, - {"matrix": [4, 4], "x": 72, "y": 48, "flags": 4}, - {"matrix": [4, 5], "x": 84, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [4, 7], "x": 108, "y": 48, "flags": 4}, - {"matrix": [4, 8], "x": 120, "y": 48, "flags": 4}, - {"matrix": [4, 9], "x": 132, "y": 48, "flags": 4}, - {"matrix": [4, 10], "x": 144, "y": 48, "flags": 4}, - {"x": 156, "y": 48, "flags": 4}, - {"matrix": [4, 11], "x": 168, "y": 48, "flags": 4}, - {"x": 180, "y": 48, "flags": 4}, - {"matrix": [4, 14], "x": 192, "y": 48, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 60, "flags": 4}, - {"matrix": [5, 1], "x": 12, "y": 60, "flags": 4}, - {"matrix": [5, 2], "x": 24, "y": 60, "flags": 4}, - {"x": 36, "y": 60, "flags": 4}, - {"matrix": [5, 5], "x": 48, "y": 60, "flags": 4}, - {"x": 60, "y": 60, "flags": 4}, - {"matrix": [5, 9], "x": 72, "y": 60, "flags": 4}, - {"matrix": [5, 10], "x": 84, "y": 60, "flags": 4}, - {"matrix": [5, 11], "x": 96, "y": 60, "flags": 4}, - {"matrix": [5, 12], "x": 108, "y": 60, "flags": 4}, - {"matrix": [5, 13], "x": 120, "y": 60, "flags": 4}, - {"matrix": [5, 14], "x": 132, "y": 60, "flags": 4}, - {"matrix": [5, 15], "x": 144, "y": 60, "flags": 4} - ], - } + "diode_direction": "ROW2COL" } diff --git a/keyboards/melgeek/mach80/rev1/rev1.c b/keyboards/melgeek/mach80/rev1/rev1.c index aad1b71833..a4b49610cc 100755 --- a/keyboards/melgeek/mach80/rev1/rev1.c +++ b/keyboards/melgeek/mach80/rev1/rev1.c @@ -118,6 +118,31 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW6_CS39, SW6_CS38, SW6_CS37}, /* RGB111 */ {0, SW7_CS39, SW7_CS38, SW7_CS37}, /* RGB112 */ }; +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 */ + { 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, /* R0 */ + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 33 }, /* R1 */ + { 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }, /* R2 */ + { 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 15, 34, 51 }, /* R3 */ + { 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, NO_LED, NO_LED, 83, NO_LED }, /* R4 */ + { 84, 85, 86, NO_LED, NO_LED, 88, NO_LED, NO_LED, NO_LED, 90, 91, 92, 93, 94, 95, 96 } /* R5 */ + }, { + {0, 0}, {12, 0}, {24, 0}, {36, 0}, {48, 0}, {60, 0}, {72, 0}, {84, 0}, {96, 0}, {108, 0}, {120, 0}, {132, 0}, {144, 0}, {156, 0}, {168, 0}, {180, 0}, //16 + {0, 12}, {12, 12}, {24, 12}, {36, 12}, {48, 12}, {60, 12}, {72, 12}, {84, 12}, {96, 12}, {108, 12}, {120, 12}, {132, 12}, {144, 12}, {156, 12}, {168, 12}, {180, 12}, {192, 12}, {204, 12}, {216, 12}, //19 + {0, 24}, {12, 24}, {24, 24}, {36, 24}, {48, 24}, {60, 24}, {72, 24}, {84, 24}, {96, 24}, {108, 24}, {120, 24}, {132, 24}, {144, 24}, {156, 24}, {168, 24}, {180, 24}, {192, 24}, //17 + {0, 36}, {12, 36}, {24, 36}, {36, 36}, {48, 36}, {60, 36}, {72, 36}, {84, 36}, {96, 36}, {108, 36}, {120, 36}, {132, 36}, {144, 36}, {156, 36}, {168, 36}, //15 + {0, 48}, {12, 48}, {24, 48}, {36, 48}, {48, 48}, {60, 48}, {72, 48}, {84, 48}, {96, 48}, {108, 48}, {120, 48}, {132, 48}, {144, 48}, {156, 48}, {168, 48}, {180, 48}, {192, 48}, //17 + {0, 60}, {12, 60}, {24, 60}, {36, 60}, {48, 60}, {60, 60}, {72, 60}, {84, 60}, {96, 60}, {108, 60}, {120, 60}, {132, 60}, {144, 60} //13 + }, { + 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, + } +}; const is31fl3741_led_t g_is31_indicator_leds[3] = { {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB107 */ diff --git a/keyboards/melgeek/mach80/rev2/keyboard.json b/keyboards/melgeek/mach80/rev2/keyboard.json index 039e1711fd..78a8dbf0f6 100644 --- a/keyboards/melgeek/mach80/rev2/keyboard.json +++ b/keyboards/melgeek/mach80/rev2/keyboard.json @@ -13,103 +13,5 @@ "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "D3"], "rows": ["F0", "F1", "F4", "F5", "F6", "E6"] }, - "diode_direction": "ROW2COL", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 12, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 24, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 36, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 72, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 108, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 120, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 132, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 156, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 168, "y": 0, "flags": 4}, - {"matrix": [3, 13], "x": 180, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 12, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 24, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 36, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 48, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 60, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 72, "y": 12, "flags": 4}, - {"matrix": [1, 7], "x": 84, "y": 12, "flags": 4}, - {"matrix": [1, 8], "x": 96, "y": 12, "flags": 4}, - {"matrix": [1, 9], "x": 108, "y": 12, "flags": 4}, - {"matrix": [1, 10], "x": 120, "y": 12, "flags": 4}, - {"matrix": [1, 11], "x": 132, "y": 12, "flags": 4}, - {"matrix": [1, 12], "x": 144, "y": 12, "flags": 4}, - {"x": 156, "y": 12, "flags": 4}, - {"matrix": [1, 13], "x": 168, "y": 12, "flags": 4}, - {"x": 180, "y": 12, "flags": 4}, - {"matrix": [1, 14], "x": 192, "y": 12, "flags": 4}, - {"matrix": [1, 15], "x": 204, "y": 12, "flags": 4}, - {"matrix": [3, 14], "x": 216, "y": 12, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 24, "flags": 4}, - {"matrix": [2, 1], "x": 12, "y": 24, "flags": 4}, - {"matrix": [2, 2], "x": 24, "y": 24, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 24, "flags": 4}, - {"matrix": [2, 4], "x": 48, "y": 24, "flags": 4}, - {"matrix": [2, 5], "x": 60, "y": 24, "flags": 4}, - {"matrix": [2, 6], "x": 72, "y": 24, "flags": 4}, - {"matrix": [2, 7], "x": 84, "y": 24, "flags": 4}, - {"matrix": [2, 8], "x": 96, "y": 24, "flags": 4}, - {"matrix": [2, 9], "x": 108, "y": 24, "flags": 4}, - {"matrix": [2, 10], "x": 120, "y": 24, "flags": 4}, - {"matrix": [2, 11], "x": 132, "y": 24, "flags": 4}, - {"matrix": [2, 12], "x": 144, "y": 24, "flags": 4}, - {"matrix": [2, 13], "x": 156, "y": 24, "flags": 4}, - {"matrix": [2, 14], "x": 168, "y": 24, "flags": 4}, - {"matrix": [2, 15], "x": 180, "y": 24, "flags": 4}, - {"matrix": [3, 15], "x": 192, "y": 24, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 36, "flags": 4}, - {"matrix": [3, 1], "x": 12, "y": 36, "flags": 4}, - {"matrix": [3, 2], "x": 24, "y": 36, "flags": 4}, - {"matrix": [3, 3], "x": 36, "y": 36, "flags": 4}, - {"matrix": [3, 4], "x": 48, "y": 36, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 36, "flags": 4}, - {"matrix": [3, 6], "x": 72, "y": 36, "flags": 4}, - {"matrix": [3, 7], "x": 84, "y": 36, "flags": 4}, - {"matrix": [3, 8], "x": 96, "y": 36, "flags": 4}, - {"matrix": [3, 9], "x": 108, "y": 36, "flags": 4}, - {"matrix": [3, 10], "x": 120, "y": 36, "flags": 4}, - {"matrix": [3, 11], "x": 132, "y": 36, "flags": 4}, - {"x": 144, "y": 36, "flags": 4}, - {"matrix": [3, 12], "x": 156, "y": 36, "flags": 4}, - {"x": 168, "y": 36, "flags": 4}, - {"x": 0, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 12, "y": 48, "flags": 4}, - {"x": 24, "y": 48, "flags": 4}, - {"matrix": [4, 1], "x": 36, "y": 48, "flags": 4}, - {"matrix": [4, 2], "x": 48, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 60, "y": 48, "flags": 4}, - {"matrix": [4, 4], "x": 72, "y": 48, "flags": 4}, - {"matrix": [4, 5], "x": 84, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [4, 7], "x": 108, "y": 48, "flags": 4}, - {"matrix": [4, 8], "x": 120, "y": 48, "flags": 4}, - {"matrix": [4, 9], "x": 132, "y": 48, "flags": 4}, - {"matrix": [4, 10], "x": 144, "y": 48, "flags": 4}, - {"x": 156, "y": 48, "flags": 4}, - {"matrix": [4, 11], "x": 168, "y": 48, "flags": 4}, - {"x": 180, "y": 48, "flags": 4}, - {"matrix": [4, 14], "x": 192, "y": 48, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 60, "flags": 4}, - {"matrix": [5, 2], "x": 12, "y": 60, "flags": 4}, - {"x": 24, "y": 60, "flags": 4}, - {"matrix": [5, 5], "x": 36, "y": 60, "flags": 4}, - {"x": 48, "y": 60, "flags": 4}, - {"matrix": [5, 9], "x": 60, "y": 60, "flags": 4}, - {"matrix": [5, 12], "x": 72, "y": 60, "flags": 4}, - {"matrix": [5, 13], "x": 84, "y": 60, "flags": 4}, - {"matrix": [5, 14], "x": 96, "y": 60, "flags": 4}, - {"matrix": [5, 15], "x": 108, "y": 60, "flags": 4} - ], - } + "diode_direction": "ROW2COL" } diff --git a/keyboards/melgeek/mach80/rev2/rev2.c b/keyboards/melgeek/mach80/rev2/rev2.c index 63fbbbedfc..1a759f38c6 100755 --- a/keyboards/melgeek/mach80/rev2/rev2.c +++ b/keyboards/melgeek/mach80/rev2/rev2.c @@ -115,6 +115,32 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW9_CS24, SW9_CS23, SW9_CS22}, /* RGB54 */ {0, SW4_CS39, SW4_CS38, SW4_CS37}, /* RGB101 */ }; +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 */ + { 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, /* R0 */ + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 33 }, /* R1 */ + { 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }, /* R2 */ + { 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 15, 34, 51 }, /* R3 */ + { 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, NO_LED, NO_LED, 83, NO_LED }, /* R4 */ + { 84, NO_LED, 85, NO_LED, NO_LED, 87, NO_LED, NO_LED, NO_LED, 89, NO_LED, NO_LED, 90, 91, 92, 93 } /* R5 */ + }, { + {0, 0}, {12, 0}, {24, 0}, {36, 0}, {48, 0}, {60, 0}, {72, 0}, {84, 0}, {96, 0}, {108, 0}, {120, 0}, {132, 0}, {144, 0}, {156, 0}, {168, 0}, {180, 0}, //16 + {0, 12}, {12, 12}, {24, 12}, {36, 12}, {48, 12}, {60, 12}, {72, 12}, {84, 12}, {96, 12}, {108, 12}, {120, 12}, {132, 12}, {144, 12}, {156, 12}, {168, 12}, {180, 12}, {192, 12}, {204, 12}, {216, 12}, //19 + {0, 24}, {12, 24}, {24, 24}, {36, 24}, {48, 24}, {60, 24}, {72, 24}, {84, 24}, {96, 24}, {108, 24}, {120, 24}, {132, 24}, {144, 24}, {156, 24}, {168, 24}, {180, 24}, {192, 24}, //17 + {0, 36}, {12, 36}, {24, 36}, {36, 36}, {48, 36}, {60, 36}, {72, 36}, {84, 36}, {96, 36}, {108, 36}, {120, 36}, {132, 36}, {144, 36}, {156, 36}, {168, 36}, //15 + {0, 48}, {12, 48}, {24, 48}, {36, 48}, {48, 48}, {60, 48}, {72, 48}, {84, 48}, {96, 48}, {108, 48}, {120, 48}, {132, 48}, {144, 48}, {156, 48}, {168, 48}, {180, 48}, {192, 48}, //17 + {0, 60}, {12, 60}, {24, 60}, {36, 60}, {48, 60}, {60, 60}, {72, 60}, {84, 60}, {96, 60}, {108, 60} + //10 + }, { + 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, + } +}; const is31fl3741_led_t g_is31_indicator_leds[3] = { {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB107 */ diff --git a/keyboards/melgeek/mj61/rev1/keyboard.json b/keyboards/melgeek/mj61/rev1/keyboard.json index e8dedb8ea5..b388908579 100644 --- a/keyboards/melgeek/mj61/rev1/keyboard.json +++ b/keyboards/melgeek/mj61/rev1/keyboard.json @@ -10,72 +10,5 @@ "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], "rows": ["B12", "B11", "B10", "B1", "A3"] }, - "diode_direction": "COL2ROW", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [1, 13], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 208, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 32, "flags": 4}, - {"matrix": [3, 12], "x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 176, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 32, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 64, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 4], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 144, "y": 64, "flags": 4} - ], - } + "diode_direction": "COL2ROW" } diff --git a/keyboards/melgeek/mj61/rev1/rev1.c b/keyboards/melgeek/mj61/rev1/rev1.c index d543ad60c0..8e0be62127 100644 --- a/keyboards/melgeek/mj61/rev1/rev1.c +++ b/keyboards/melgeek/mj61/rev1/rev1.c @@ -82,4 +82,28 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB62 */ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB63 */ }; + +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 */ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, /* R0 */ + { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14 }, /* R1 */ + { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, NO_LED,}, /* R2 */ + { 52, NO_LED, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, NO_LED }, /* R3 */ + { 53, 54, NO_LED, 55, 61, 56, 62, NO_LED, NO_LED, 57, 58, 59, 60, NO_LED }, /* R4 */ + }, { + {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}, {208, 0}, + {0, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16}, + {0, 32}, {16, 32}, {32, 32}, {48, 32}, {64, 32}, {80, 32}, {96, 32}, {112, 32}, {128, 32}, {144, 32}, {160, 32}, {176, 32}, {192, 32}, + {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, + {0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, {128, 64}, {144, 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, + } +}; + #endif diff --git a/keyboards/melgeek/mj61/rev2/keyboard.json b/keyboards/melgeek/mj61/rev2/keyboard.json index da6c60d7ed..fcff9e10a5 100644 --- a/keyboards/melgeek/mj61/rev2/keyboard.json +++ b/keyboards/melgeek/mj61/rev2/keyboard.json @@ -10,80 +10,5 @@ "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], "rows": ["B12", "B11", "B10", "B1", "A3"] }, - "diode_direction": "COL2ROW", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 224, "y": 0, "flags": 4}, - {"x": 240, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 208, "y": 32, "flags": 4}, - {"x": 224, "y": 32, "flags": 4}, - {"x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 16, "y": 48, "flags": 4}, - {"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}, - {"x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 224, "y": 48, "flags": 4}, - {"x": 240, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 32, "y": 64, "flags": 4}, - {"x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 64, "y": 64, "flags": 4}, - {"x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 144, "y": 64, "flags": 4} - ] - } + "diode_direction": "COL2ROW" } diff --git a/keyboards/melgeek/mj61/rev2/rev2.c b/keyboards/melgeek/mj61/rev2/rev2.c index e936998ace..7b27fa44c3 100644 --- a/keyboards/melgeek/mj61/rev2/rev2.c +++ b/keyboards/melgeek/mj61/rev2/rev2.c @@ -92,4 +92,28 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW9_CS21, SW9_CS20, SW9_CS19}, /* RGB42 */ {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB71 */ }; + +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 */ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14 }, /* R0 */ + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, /* R1 */ + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, NO_LED }, /* R2 */ + { 46, NO_LED, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, NO_LED }, /* R3 */ + { 61, 62, NO_LED, 63, NO_LED, 65, NO_LED, NO_LED, NO_LED, 67, 68, 69, NO_LED, 70 }, /* R4 */ + }, { + {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}, {208, 0}, {224, 0}, {240, 0}, + {0, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16}, + {0, 32}, {16, 32}, {32, 32}, {48, 32}, {64, 32}, {80, 32}, {96, 32}, {112, 32}, {128, 32}, {144, 32}, {160, 32}, {176, 32}, {192, 32}, {208, 32}, {224, 32}, + {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48}, {224, 48}, {240, 48}, + {0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, {128, 64}, {144, 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, + } +}; + #endif diff --git a/keyboards/melgeek/mj63/rev1/keyboard.json b/keyboards/melgeek/mj63/rev1/keyboard.json index 0d0759910e..b388908579 100644 --- a/keyboards/melgeek/mj63/rev1/keyboard.json +++ b/keyboards/melgeek/mj63/rev1/keyboard.json @@ -10,74 +10,5 @@ "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], "rows": ["B12", "B11", "B10", "B1", "A3"] }, - "diode_direction": "COL2ROW", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [1, 13], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 208, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 32, "flags": 4}, - {"matrix": [3, 13], "x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 192, "y": 48, "flags": 4}, - {"matrix": [4, 13], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 32, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 64, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 144, "y": 64, "flags": 4}, - {"matrix": [4, 4], "x": 160, "y": 64, "flags": 4} - ] - } + "diode_direction": "COL2ROW" } diff --git a/keyboards/melgeek/mj63/rev1/rev1.c b/keyboards/melgeek/mj63/rev1/rev1.c index bdd7f34352..d6caeac0c1 100644 --- a/keyboards/melgeek/mj63/rev1/rev1.c +++ b/keyboards/melgeek/mj63/rev1/rev1.c @@ -86,4 +86,28 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB65 */ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB66 */ }; + +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 */ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, /* R0 */ + { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14 }, /* R1 */ + { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, NO_LED }, /* R2 */ + { 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, NO_LED, 43, 42, 41 }, /* R3 */ + { 61, 60, 59, NO_LED, 64, 62, 63, NO_LED, NO_LED, 58, 57, 56, 55, 54 }, /* R4 */ + }, { + {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}, {208, 0}, + {0, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16}, + {0, 32}, {16, 32}, {32, 32}, {48, 32}, {64, 32}, {80, 32}, {96, 32}, {112, 32}, {128, 32}, {144, 32}, {160, 32}, {176, 32}, {192, 32}, + {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, + {0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, {128, 64}, {144, 64}, {160, 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, + } +}; + #endif diff --git a/keyboards/melgeek/mj63/rev2/keyboard.json b/keyboards/melgeek/mj63/rev2/keyboard.json index 8140afe4b8..fcff9e10a5 100644 --- a/keyboards/melgeek/mj63/rev2/keyboard.json +++ b/keyboards/melgeek/mj63/rev2/keyboard.json @@ -10,80 +10,5 @@ "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], "rows": ["B12", "B11", "B10", "B1", "A3"] }, - "diode_direction": "COL2ROW", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 224, "y": 0, "flags": 4}, - {"x": 240, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 208, "y": 32, "flags": 4}, - {"x": 224, "y": 32, "flags": 4}, - {"x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 16, "y": 48, "flags": 4}, - {"x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 9], "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": 0, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 32, "y": 64, "flags": 4}, - {"x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 64, "y": 64, "flags": 4}, - {"x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 144, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 160, "y": 64, "flags": 4} - ], - } + "diode_direction": "COL2ROW" } diff --git a/keyboards/melgeek/mj63/rev2/rev2.c b/keyboards/melgeek/mj63/rev2/rev2.c index 20dfaaf684..95f0b28f5d 100644 --- a/keyboards/melgeek/mj63/rev2/rev2.c +++ b/keyboards/melgeek/mj63/rev2/rev2.c @@ -92,4 +92,28 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB71 */ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB72 */ }; + +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 */ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14 }, /* R0 */ + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, /* R1 */ + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, NO_LED }, /* R2 */ + { 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, NO_LED, 57, 58, 59 }, /* R3 */ + { 60, 61, 62, NO_LED, NO_LED, 64, NO_LED, NO_LED, NO_LED, 66, 67, 68, 69, 70 }, /* R4 */ + }, { + {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}, {208, 0}, {224, 0}, {240, 0}, + {0, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16}, + {0, 32}, {16, 32}, {32, 32}, {48, 32}, {64, 32}, {80, 32}, {96, 32}, {112, 32}, {128, 32}, {144, 32}, {160, 32}, {176, 32}, {192, 32}, {208, 32}, {224, 32}, + {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48}, {224, 48}, + {0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, {128, 64}, {144, 64}, {160, 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, + } +}; + #endif diff --git a/keyboards/melgeek/mj64/rev1/keyboard.json b/keyboards/melgeek/mj64/rev1/keyboard.json index bddfc0bef5..b388908579 100644 --- a/keyboards/melgeek/mj64/rev1/keyboard.json +++ b/keyboards/melgeek/mj64/rev1/keyboard.json @@ -10,73 +10,5 @@ "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], "rows": ["B12", "B11", "B10", "B1", "A3"] }, - "diode_direction": "COL2ROW", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [1, 13], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 208, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 32, "flags": 4}, - {"matrix": [3, 13], "x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 208, "y": 48, "flags": 4}, - {"matrix": [4, 13], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 32, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 64, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 144, "y": 64, "flags": 4} - ] - } + "diode_direction": "COL2ROW" } diff --git a/keyboards/melgeek/mj64/rev1/rev1.c b/keyboards/melgeek/mj64/rev1/rev1.c index d5859cf5e4..ea3376a8c7 100644 --- a/keyboards/melgeek/mj64/rev1/rev1.c +++ b/keyboards/melgeek/mj64/rev1/rev1.c @@ -84,4 +84,27 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW9_CS27, SW9_CS26, SW9_CS25}, /* RGB63 */ {0, SW1_CS30, SW1_CS29, SW1_CS28}, /* RGB64 */ }; + +led_config_t g_led_config = { + { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, + { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14 }, + { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, NO_LED }, + { 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41 }, + { 62, 61, 60, NO_LED, NO_LED, 63, NO_LED, NO_LED, NO_LED, 59, 58, 57, 56, 55 } + }, { + { 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 }, { 208, 0 }, + { 0, 16 }, { 16, 16 }, { 32, 16 }, { 48, 16 }, { 64, 16 }, { 80, 16 }, { 96, 16 }, { 112, 16 }, { 128, 16 }, { 144, 16 }, { 160, 16 }, { 176, 16 }, { 192, 16 }, { 208, 16 }, + { 0, 32 }, { 16, 32 }, { 32, 32 }, { 48, 32 }, { 64, 32 }, { 80, 32 }, { 96, 32 }, { 112, 32 }, { 128, 32 }, { 144, 32 }, { 160, 32 }, { 176, 32 }, { 192, 32 }, + { 0, 48 }, { 16, 48 }, { 32, 48 }, { 48, 48 }, { 64, 48 }, { 80, 48 }, { 96, 48 }, { 112, 48 }, { 128, 48 }, { 144, 48 }, { 160, 48 }, { 176, 48 }, { 192, 48 }, { 208, 48 }, + { 0, 64 }, { 16, 64 }, { 32, 64 }, { 48, 64 }, { 64, 64 }, { 96, 64 }, { 112, 64 }, { 128, 64 }, { 144, 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 + } +}; + #endif diff --git a/keyboards/melgeek/mj64/rev2/keyboard.json b/keyboards/melgeek/mj64/rev2/keyboard.json index 0a48604710..b388908579 100644 --- a/keyboards/melgeek/mj64/rev2/keyboard.json +++ b/keyboards/melgeek/mj64/rev2/keyboard.json @@ -10,75 +10,5 @@ "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], "rows": ["B12", "B11", "B10", "B1", "A3"] }, - "diode_direction": "COL2ROW", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [1, 13], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 208, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 32, "flags": 4}, - {"matrix": [3, 13], "x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 208, "y": 48, "flags": 4}, - {"matrix": [4, 13], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 32, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 64, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 4], "x": 144, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 160, "y": 64, "flags": 4} - ] - } + "diode_direction": "COL2ROW" } diff --git a/keyboards/melgeek/mj64/rev2/rev2.c b/keyboards/melgeek/mj64/rev2/rev2.c index 0a236374c7..17947282ce 100644 --- a/keyboards/melgeek/mj64/rev2/rev2.c +++ b/keyboards/melgeek/mj64/rev2/rev2.c @@ -86,4 +86,28 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW1_CS27, SW1_CS26, SW1_CS25}, /* RGB65 */ {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB66 */ }; + +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 */ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, /* R0 */ + { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14 }, /* R1 */ + { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, NO_LED }, /* R2 */ + { 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41 }, /* R3 */ + { 62, 61, 60, NO_LED, 64, 63, 65, NO_LED, NO_LED, 59, 58, 57, 56, 55 }, /* R4 */ + }, { + {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}, {208, 0}, + {0, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16}, + {0, 32}, {16, 32}, {32, 32}, {48, 32}, {64, 32}, {80, 32}, {96, 32}, {112, 32}, {128, 32}, {144, 32}, {160, 32}, {176, 32}, {192, 32}, + {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48}, + {0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, {128, 64}, {144, 64}, {160, 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, + } +}; + #endif diff --git a/keyboards/melgeek/mj64/rev3/keyboard.json b/keyboards/melgeek/mj64/rev3/keyboard.json index fdc0371c25..fcff9e10a5 100644 --- a/keyboards/melgeek/mj64/rev3/keyboard.json +++ b/keyboards/melgeek/mj64/rev3/keyboard.json @@ -10,81 +10,5 @@ "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], "rows": ["B12", "B11", "B10", "B1", "A3"] }, - "diode_direction": "COL2ROW", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 224, "y": 0, "flags": 4}, - {"x": 240, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 208, "y": 32, "flags": 4}, - {"x": 224, "y": 32, "flags": 4}, - {"x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 16, "y": 48, "flags": 4}, - {"x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 224, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 240, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 32, "y": 64, "flags": 4}, - {"x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 64, "y": 64, "flags": 4}, - {"x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 144, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 160, "y": 64, "flags": 4} - ] - } + "diode_direction": "COL2ROW" } diff --git a/keyboards/melgeek/mj64/rev3/rev3.c b/keyboards/melgeek/mj64/rev3/rev3.c index 9bd58016b3..8555082e7d 100644 --- a/keyboards/melgeek/mj64/rev3/rev3.c +++ b/keyboards/melgeek/mj64/rev3/rev3.c @@ -92,4 +92,28 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW8_CS30, SW8_CS29, SW8_CS28}, /* RGB71 */ {0, SW9_CS30, SW9_CS29, SW9_CS28}, /* RGB72 */ }; + +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 */ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14 }, /* R0 */ + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, /* R1 */ + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, NO_LED }, /* R2 */ + { 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60 }, /* R3 */ + { 61, 62, 63, NO_LED, NO_LED, 65, NO_LED, NO_LED, NO_LED, 67, 68, 69, 70, 71 }, /* R4 */ + }, { + {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}, {208, 0}, {224, 0}, {240, 0}, + {0, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16}, + {0, 32}, {16, 32}, {32, 32}, {48, 32}, {64, 32}, {80, 32}, {96, 32}, {112, 32}, {128, 32}, {144, 32}, {160, 32}, {176, 32}, {192, 32}, {208, 32}, {224, 32}, + {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48}, {224, 48}, {240, 48}, + {0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, {128, 64}, {144, 64}, {160, 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, + } +}; + #endif diff --git a/keyboards/melgeek/mj65/rev3/keyboard.json b/keyboards/melgeek/mj65/rev3/keyboard.json index 446e440d33..a4513b45e7 100644 --- a/keyboards/melgeek/mj65/rev3/keyboard.json +++ b/keyboards/melgeek/mj65/rev3/keyboard.json @@ -61,84 +61,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 224, "y": 0, "flags": 4}, - {"x": 240, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 255, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 240, "y": 16, "flags": 4}, - {"matrix": [2, 1], "x": 255, "y": 16, "flags": 4}, - {"matrix": [2, 2], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 144, "y": 32, "flags": 4}, - {"x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 176, "y": 32, "flags": 4}, - {"x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 208, "y": 32, "flags": 4}, - {"x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 16, "y": 48, "flags": 4}, - {"x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 0, "y": 64, "flags": 4}, - {"matrix": [3, 14], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 32, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 64, "y": 64, "flags": 4}, - {"x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 96, "y": 64, "flags": 4}, - {"x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 144, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 160, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 176, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 192, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 208, "y": 64, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4} - ], "led_flush_limit": 26, "led_process_limit": 4, "sleep": true diff --git a/keyboards/melgeek/mj65/rev3/rev3.c b/keyboards/melgeek/mj65/rev3/rev3.c index a6ef6359c0..0a020fad74 100644 --- a/keyboards/melgeek/mj65/rev3/rev3.c +++ b/keyboards/melgeek/mj65/rev3/rev3.c @@ -96,4 +96,28 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW3_CS33, SW3_CS32, SW3_CS31}, /* RGB75 */ {0, SW4_CS33, SW4_CS32, SW4_CS31}, /* RGB76 */ }; -#endif + +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 */ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16 }, /* R0 */ + { 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }, /* R1 */ + { 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, NO_LED, 47 }, /* R2 */ + { 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, NO_LED, 63 }, /* R3 */ + { 64, 65, 66, NO_LED, NO_LED, 68, NO_LED, NO_LED, NO_LED, 70, 71, 72, 73, 74, 75 }, /* R4 */ + }, { + {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}, {208, 0}, {224, 0}, {240, 0}, {255, 0}, + {0, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16}, {224, 16}, {240, 16}, {255, 16}, + {0, 32}, {16, 32}, {32, 32}, {48, 32}, {64, 32}, {80, 32}, {96, 32}, {112, 32}, {128, 32}, {144, 32}, {160, 32}, {176, 32}, {192, 32}, {208, 32}, + {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48}, + {0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, {144, 64}, {160, 64}, {176, 64}, {192, 64}, {208, 64}, {224, 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, + } +}; + +#endif diff --git a/keyboards/melgeek/mojo68/rev1/keyboard.json b/keyboards/melgeek/mojo68/rev1/keyboard.json index db868c485a..88f17665b4 100755 --- a/keyboards/melgeek/mojo68/rev1/keyboard.json +++ b/keyboards/melgeek/mojo68/rev1/keyboard.json @@ -56,76 +56,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 208, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 14], "x": 208, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 32, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 64, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 14], "x": 144, "y": 64, "flags": 4} - ], "led_flush_limit": 26, "led_process_limit": 4, "sleep": true diff --git a/keyboards/melgeek/mojo68/rev1/rev1.c b/keyboards/melgeek/mojo68/rev1/rev1.c index d30a5817a8..af17d96c6d 100755 --- a/keyboards/melgeek/mojo68/rev1/rev1.c +++ b/keyboards/melgeek/mojo68/rev1/rev1.c @@ -89,6 +89,29 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW5_CS30, SW5_CS29, SW5_CS28}, /* RGB68 */ }; +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14*/ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, /* R0 */ + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, /* R1 */ + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, NO_LED, 43 }, /* R2 */ + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, NO_LED, 57 }, /* R3 */ + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, 65, 66, 67 }, /* R4 */ + }, { + {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}, {208, 0}, {224, 0}, + {0, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16}, {224, 16}, + {0, 32}, {16, 32}, {32, 32}, {48, 32}, {64, 32}, {80, 32}, {96, 32}, {112, 32}, {128, 32}, {144, 32}, {160, 32}, {176, 32}, {192, 32}, {208, 32}, + {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48}, + {0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, {128, 64}, {144, 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, + } +}; + const is31fl3741_led_t g_is31_indicator_leds[3] = { {0, SW1_CS6, SW1_CS5, SW1_CS4}, /* RGB124 */ {0, SW2_CS6, SW2_CS5, SW2_CS4}, /* RGB125 */ diff --git a/keyboards/melgeek/mojo75/rev1/keyboard.json b/keyboards/melgeek/mojo75/rev1/keyboard.json index 339609c8f0..0b0a722c90 100644 --- a/keyboards/melgeek/mojo75/rev1/keyboard.json +++ b/keyboards/melgeek/mojo75/rev1/keyboard.json @@ -61,100 +61,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 240, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 224, "y": 16, "flags": 4}, - {"x": 240, "y": 16, "flags": 4}, - {"matrix": [1, 15], "x": 255, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 208, "y": 32, "flags": 4}, - {"matrix": [2, 15], "x": 224, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 176, "y": 48, "flags": 4}, - {"x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 208, "y": 48, "flags": 4}, - {"x": 224, "y": 48, "flags": 4}, - {"matrix": [3, 15], "x": 240, "y": 48, "flags": 4}, - {"x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 16, "y": 64, "flags": 4}, - {"x": 32, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 64, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 4], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 128, "y": 64, "flags": 4}, - {"matrix": [4, 7], "x": 144, "y": 64, "flags": 4}, - {"matrix": [4, 8], "x": 160, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 176, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 192, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 208, "y": 64, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4}, - {"matrix": [4, 15], "x": 240, "y": 64, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 80, "flags": 4}, - {"matrix": [5, 1], "x": 16, "y": 80, "flags": 4}, - {"matrix": [5, 2], "x": 32, "y": 80, "flags": 4}, - {"x": 48, "y": 80, "flags": 4}, - {"matrix": [5, 5], "x": 64, "y": 80, "flags": 4}, - {"x": 80, "y": 80, "flags": 4}, - {"matrix": [5, 9], "x": 96, "y": 80, "flags": 4}, - {"matrix": [5, 10], "x": 112, "y": 80, "flags": 4}, - {"matrix": [5, 12], "x": 128, "y": 80, "flags": 4}, - {"matrix": [5, 13], "x": 144, "y": 80, "flags": 4}, - {"matrix": [5, 14], "x": 160, "y": 80, "flags": 4}, - {"matrix": [5, 15], "x": 176, "y": 80, "flags": 4} - ], "led_flush_limit": 26, "led_process_limit": 4, "sleep": true diff --git a/keyboards/melgeek/mojo75/rev1/rev1.c b/keyboards/melgeek/mojo75/rev1/rev1.c index 93f8345604..60bb6eb850 100644 --- a/keyboards/melgeek/mojo75/rev1/rev1.c +++ b/keyboards/melgeek/mojo75/rev1/rev1.c @@ -112,4 +112,31 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW5_CS39, SW5_CS38, SW5_CS37}, /* RGB92 */ {0, SW6_CS39, SW6_CS38, SW6_CS37}, /* RGB90 */ }; + +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 */ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, /* R0 */ + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, NO_LED, 32 }, /* R1 */ + { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, NO_LED, 47 }, /* R2 */ + { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, NO_LED, 61, NO_LED, 63 }, /* R3 */ + { 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, NO_LED, 77, NO_LED, 78, 79 }, /* R4 */ + { 80, 81, 82, NO_LED, NO_LED, 84, NO_LED, NO_LED, NO_LED, 86, 87, NO_LED, 88, 89, 90, 91 }, /* R5 */ + }, { + {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}, {208, 0}, {224, 0}, {240, 0}, + {0, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16}, {224, 16}, {240, 16}, {255, 16}, + {0, 32}, {16, 32}, {32, 32}, {48, 32}, {64, 32}, {80, 32}, {96, 32}, {112, 32}, {128, 32}, {144, 32}, {160, 32}, {176, 32}, {192, 32}, {208, 32}, {224, 32}, + {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48}, {224, 48}, {240, 48}, + {0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, {128, 64}, {144, 64}, {160, 64}, {176, 64}, {192, 64}, {208, 64}, {224, 64}, {240, 64}, + {0, 80}, {16, 80}, {32, 80}, {48, 80}, {64, 80}, {80, 80}, {96, 80}, {112, 80}, {128, 80}, {144, 80}, {160, 80}, {176, 80}, + }, { + 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/melgeek/tegic/rev1/keyboard.json b/keyboards/melgeek/tegic/rev1/keyboard.json index 532792d27e..5a1ca4f350 100644 --- a/keyboards/melgeek/tegic/rev1/keyboard.json +++ b/keyboards/melgeek/tegic/rev1/keyboard.json @@ -67,99 +67,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 12, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 24, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 36, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 72, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 108, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 120, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 132, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 156, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 168, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 12, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 24, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 36, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 48, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 60, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 72, "y": 12, "flags": 4}, - {"matrix": [1, 7], "x": 84, "y": 12, "flags": 4}, - {"matrix": [1, 8], "x": 96, "y": 12, "flags": 4}, - {"matrix": [1, 9], "x": 108, "y": 12, "flags": 4}, - {"matrix": [1, 10], "x": 120, "y": 12, "flags": 4}, - {"matrix": [1, 11], "x": 132, "y": 12, "flags": 4}, - {"matrix": [1, 12], "x": 144, "y": 12, "flags": 4}, - {"x": 156, "y": 12, "flags": 4}, - {"matrix": [1, 13], "x": 168, "y": 12, "flags": 4}, - {"x": 180, "y": 12, "flags": 4}, - {"matrix": [1, 14], "x": 192, "y": 12, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 24, "flags": 4}, - {"matrix": [2, 1], "x": 12, "y": 24, "flags": 4}, - {"matrix": [2, 2], "x": 24, "y": 24, "flags": 4}, - {"matrix": [2, 3], "x": 36, "y": 24, "flags": 4}, - {"matrix": [2, 4], "x": 48, "y": 24, "flags": 4}, - {"matrix": [2, 5], "x": 60, "y": 24, "flags": 4}, - {"matrix": [2, 6], "x": 72, "y": 24, "flags": 4}, - {"matrix": [2, 7], "x": 84, "y": 24, "flags": 4}, - {"matrix": [2, 8], "x": 96, "y": 24, "flags": 4}, - {"matrix": [2, 9], "x": 108, "y": 24, "flags": 4}, - {"matrix": [2, 10], "x": 120, "y": 24, "flags": 4}, - {"matrix": [2, 11], "x": 132, "y": 24, "flags": 4}, - {"matrix": [2, 12], "x": 144, "y": 24, "flags": 4}, - {"matrix": [2, 13], "x": 156, "y": 24, "flags": 4}, - {"matrix": [2, 14], "x": 168, "y": 24, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 36, "flags": 4}, - {"matrix": [3, 1], "x": 12, "y": 36, "flags": 4}, - {"matrix": [3, 2], "x": 24, "y": 36, "flags": 4}, - {"matrix": [3, 3], "x": 36, "y": 36, "flags": 4}, - {"matrix": [3, 4], "x": 48, "y": 36, "flags": 4}, - {"matrix": [3, 5], "x": 60, "y": 36, "flags": 4}, - {"matrix": [3, 6], "x": 72, "y": 36, "flags": 4}, - {"matrix": [3, 7], "x": 84, "y": 36, "flags": 4}, - {"matrix": [3, 8], "x": 96, "y": 36, "flags": 4}, - {"matrix": [3, 9], "x": 108, "y": 36, "flags": 4}, - {"matrix": [3, 10], "x": 120, "y": 36, "flags": 4}, - {"matrix": [3, 11], "x": 132, "y": 36, "flags": 4}, - {"x": 144, "y": 36, "flags": 4}, - {"matrix": [3, 12], "x": 156, "y": 36, "flags": 4}, - {"x": 168, "y": 36, "flags": 4}, - {"x": 0, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 12, "y": 48, "flags": 4}, - {"x": 24, "y": 48, "flags": 4}, - {"matrix": [4, 1], "x": 36, "y": 48, "flags": 4}, - {"matrix": [4, 2], "x": 48, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 60, "y": 48, "flags": 4}, - {"matrix": [4, 4], "x": 72, "y": 48, "flags": 4}, - {"matrix": [4, 5], "x": 84, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [4, 7], "x": 108, "y": 48, "flags": 4}, - {"matrix": [4, 8], "x": 120, "y": 48, "flags": 4}, - {"matrix": [4, 9], "x": 132, "y": 48, "flags": 4}, - {"matrix": [4, 10], "x": 144, "y": 48, "flags": 4}, - {"x": 156, "y": 48, "flags": 4}, - {"matrix": [4, 11], "x": 168, "y": 48, "flags": 4}, - {"x": 180, "y": 48, "flags": 4}, - {"matrix": [4, 13], "x": 192, "y": 48, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 60, "flags": 4}, - {"matrix": [5, 1], "x": 12, "y": 60, "flags": 4}, - {"matrix": [5, 2], "x": 24, "y": 60, "flags": 4}, - {"x": 36, "y": 60, "flags": 4}, - {"matrix": [5, 5], "x": 48, "y": 60, "flags": 4}, - {"x": 60, "y": 60, "flags": 4}, - {"matrix": [5, 9], "x": 72, "y": 60, "flags": 4}, - {"matrix": [5, 10], "x": 84, "y": 60, "flags": 4}, - {"matrix": [5, 11], "x": 96, "y": 60, "flags": 4}, - {"matrix": [5, 12], "x": 108, "y": 60, "flags": 4}, - {"matrix": [5, 13], "x": 120, "y": 60, "flags": 4}, - {"matrix": [5, 14], "x": 132, "y": 60, "flags": 4} - ], "led_flush_limit": 26, "led_process_limit": 4, "sleep": true diff --git a/keyboards/melgeek/tegic/rev1/rev1.c b/keyboards/melgeek/tegic/rev1/rev1.c index 3b4e335c05..b087264919 100755 --- a/keyboards/melgeek/tegic/rev1/rev1.c +++ b/keyboards/melgeek/tegic/rev1/rev1.c @@ -117,4 +117,29 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW9_CS36, SW9_CS35, SW9_CS34}, /* RGB143 */ {0, SW1_CS39, SW1_CS38, SW1_CS37}, /* RGB149 */ }; +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 */ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, /* R0 */ + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 31 }, /* R1 */ + { 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46 }, /* R2 */ + { 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, NO_LED, NO_LED }, /* R3 */ + { 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, NO_LED, 78, NO_LED }, /* R4 */ + { 79, 80, 81, NO_LED, NO_LED, 83, NO_LED, NO_LED, NO_LED, 85, 86, 87, 88, 89, 90 }, /* R5 */ + }, { + {0, 0}, {12, 0}, {24, 0}, {36, 0}, {48, 0}, {60, 0}, {72, 0}, {84, 0}, {96, 0}, {108, 0}, {120, 0}, {132, 0}, {144, 0}, {156, 0}, {168, 0}, //15 + {0, 12}, {12, 12}, {24, 12}, {36, 12}, {48, 12}, {60, 12}, {72, 12}, {84, 12}, {96, 12}, {108, 12}, {120, 12}, {132, 12}, {144, 12}, {156, 12}, {168, 12}, {180, 12}, {192, 12}, //17 + {0, 24}, {12, 24}, {24, 24}, {36, 24}, {48, 24}, {60, 24}, {72, 24}, {84, 24}, {96, 24}, {108, 24}, {120, 24}, {132, 24}, {144, 24}, {156, 24}, {168, 24}, //15 + {0, 36}, {12, 36}, {24, 36}, {36, 36}, {48, 36}, {60, 36}, {72, 36}, {84, 36}, {96, 36}, {108, 36}, {120, 36}, {132, 36}, {144, 36}, {156, 36}, {168, 36}, //15 + {0, 48}, {12, 48}, {24, 48}, {36, 48}, {48, 48}, {60, 48}, {72, 48}, {84, 48}, {96, 48}, {108, 48}, {120, 48}, {132, 48}, {144, 48}, {156, 48}, {168, 48}, {180, 48}, {192, 48}, //17 + {0, 60}, {12, 60}, {24, 60}, {36, 60}, {48, 60}, {60, 60}, {72, 60}, {84, 60}, {96, 60}, {108, 60}, {120, 60}, {132, 60}, //12 + }, { + 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/melgeek/z70ultra/rev1/keyboard.json b/keyboards/melgeek/z70ultra/rev1/keyboard.json index 145f5dffdf..5a8868265b 100644 --- a/keyboards/melgeek/z70ultra/rev1/keyboard.json +++ b/keyboards/melgeek/z70ultra/rev1/keyboard.json @@ -61,77 +61,6 @@ "animation": "cycle_all" }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [5, 6], "x": 0, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 0, "y": 32, "flags": 4}, - {"matrix": [5, 7], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 192, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 0, "y": 48, "flags": 4}, - {"matrix": [2, 13], "x": 16, "y": 48, "flags": 4}, - {"matrix": [5, 9], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 0, "y": 64, "flags": 4}, - {"matrix": [3, 11], "x": 16, "y": 64, "flags": 4}, - {"matrix": [3, 12], "x": 32, "y": 64, "flags": 4}, - {"matrix": [5, 8], "x": 48, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 64, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 4], "x": 0, "y": 80, "flags": 4}, - {"matrix": [4, 5], "x": 16, "y": 80, "flags": 4}, - {"matrix": [4, 6], "x": 32, "y": 80, "flags": 4}, - {"matrix": [4, 9], "x": 48, "y": 80, "flags": 4}, - {"matrix": [4, 10], "x": 64, "y": 80, "flags": 4}, - {"matrix": [5, 11], "x": 80, "y": 80, "flags": 4}, - {"matrix": [5, 12], "x": 96, "y": 80, "flags": 4}, - {"matrix": [5, 13], "x": 112, "y": 80, "flags": 4} - ], "led_flush_limit": 26, "led_process_limit": 4, "sleep": true diff --git a/keyboards/melgeek/z70ultra/rev1/rev1.c b/keyboards/melgeek/z70ultra/rev1/rev1.c index 7eaf839763..1cb46df643 100644 --- a/keyboards/melgeek/z70ultra/rev1/rev1.c +++ b/keyboards/melgeek/z70ultra/rev1/rev1.c @@ -91,6 +91,31 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW4_CS37, SW4_CS39, SW4_CS38}, /* RGB22 */ {0, SW9_CS37, SW9_CS39, SW9_CS38}, /* RGB27 */ }; +led_config_t g_led_config = { + { + /* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 */ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, }, /* R0 */ + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, }, /* R1 */ + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, }, /* R2 */ + { 44, NO_LED, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, }, /* R3 */ + { 58, 59, 60, NO_LED, 61, 62, 63, NO_LED, NO_LED, 64, 65, NO_LED, NO_LED, NO_LED, }, /* R4 */ + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 14, 29, 56, 43, 57, 66, 67, 68, }, /* R5 */ + }, { + {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}, {208, 0}, + {0, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16}, + {0, 32}, {16, 32}, {32, 32}, {48, 32}, {64, 32}, {80, 32}, {96, 32}, {112, 32}, {128, 32}, {144, 32}, {160, 32}, {176, 32}, {192, 32}, + {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, + {0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, + {0, 80}, {16, 80}, {32, 80}, {48, 80}, {64, 80}, {80, 80}, {96, 80}, {112, 80}, + }, { + 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, + } +}; const is31fl3741_led_t g_is31_indicator_leds[6] = { {0, SW1_CS5, SW1_CS3, SW1_CS4}, /* RGB71 */ diff --git a/keyboards/merge/iso_macro/readme.md b/keyboards/merge/iso_macro/readme.md index 113e8102ab..654ede4fd5 100644 --- a/keyboards/merge/iso_macro/readme.md +++ b/keyboards/merge/iso_macro/readme.md @@ -11,4 +11,4 @@ Make example for this keyboard (after setting up your build environment): make merge/isomacro: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/merge/uc1/readme.md b/keyboards/merge/uc1/readme.md index 43cf4e6fd0..730b97516f 100644 --- a/keyboards/merge/uc1/readme.md +++ b/keyboards/merge/uc1/readme.md @@ -11,4 +11,4 @@ Make example for this keyboard (after setting up your build environment): make merge/uc1: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/merge/um70/config.h b/keyboards/merge/um70/config.h index d8e896c14b..5f999594cf 100644 --- a/keyboards/merge/um70/config.h +++ b/keyboards/merge/um70/config.h @@ -19,7 +19,7 @@ #define SPLIT_USB_DETECT #define SPLIT_MODS_ENABLE -#define AUDIO_PIN B6 +#define B6_AUDIO #ifdef AUDIO_ENABLE #define STARTUP_SONG SONG(STARTUP_SOUND) diff --git a/keyboards/merge/um70/keyboard.json b/keyboards/merge/um70/keyboard.json index 0499ef5060..7ebb61f7fe 100644 --- a/keyboards/merge/um70/keyboard.json +++ b/keyboards/merge/um70/keyboard.json @@ -38,91 +38,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 13, "flags": 2}, - {"x": 224, "y": 26, "flags": 2}, - {"x": 148, "y": 39, "flags": 2}, - {"x": 185, "y": 52, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"matrix": [0, 0], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 32, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 192, "y": 16, "flags": 4}, - {"matrix": [4, 5], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 32, "y": 32, "flags": 1}, - {"matrix": [2, 1], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 192, "y": 32, "flags": 4}, - {"matrix": [4, 6], "x": 0, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 32, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 192, "y": 48, "flags": 4}, - {"matrix": [4, 7], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 32, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 64, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 96, "y": 64, "flags": 1}, - {"matrix": [4, 3], "x": 128, "y": 64, "flags": 1}, - {"matrix": [4, 4], "x": 160, "y": 64, "flags": 1}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 224, "y": 13, "flags": 2}, - {"x": 224, "y": 26, "flags": 2}, - {"x": 148, "y": 39, "flags": 2}, - {"x": 185, "y": 52, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"matrix": [5, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [5, 1], "x": 32, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 64, "y": 0, "flags": 4}, - {"matrix": [5, 3], "x": 96, "y": 0, "flags": 4}, - {"matrix": [5, 4], "x": 128, "y": 0, "flags": 4}, - {"matrix": [5, 5], "x": 160, "y": 0, "flags": 4}, - {"matrix": [5, 6], "x": 192, "y": 0, "flags": 4}, - {"matrix": [5, 7], "x": 224, "y": 0, "flags": 1}, - {"matrix": [6, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [6, 1], "x": 32, "y": 16, "flags": 4}, - {"matrix": [6, 2], "x": 64, "y": 16, "flags": 4}, - {"matrix": [6, 3], "x": 96, "y": 16, "flags": 4}, - {"matrix": [6, 4], "x": 128, "y": 16, "flags": 4}, - {"matrix": [6, 5], "x": 160, "y": 16, "flags": 4}, - {"matrix": [6, 6], "x": 192, "y": 16, "flags": 4}, - {"matrix": [6, 7], "x": 223, "y": 16, "flags": 1}, - {"matrix": [8, 7], "x": 224, "y": 16, "flags": 4}, - {"matrix": [7, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [7, 1], "x": 32, "y": 32, "flags": 4}, - {"matrix": [7, 2], "x": 64, "y": 32, "flags": 4}, - {"matrix": [7, 3], "x": 96, "y": 32, "flags": 4}, - {"matrix": [7, 4], "x": 128, "y": 32, "flags": 4}, - {"matrix": [7, 5], "x": 160, "y": 32, "flags": 4}, - {"matrix": [7, 6], "x": 192, "y": 32, "flags": 1}, - {"matrix": [9, 7], "x": 223, "y": 32, "flags": 4}, - {"matrix": [8, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [8, 1], "x": 32, "y": 48, "flags": 4}, - {"matrix": [8, 2], "x": 64, "y": 48, "flags": 4}, - {"matrix": [8, 3], "x": 96, "y": 48, "flags": 4}, - {"matrix": [8, 4], "x": 128, "y": 48, "flags": 4}, - {"matrix": [8, 5], "x": 160, "y": 48, "flags": 1}, - {"matrix": [8, 6], "x": 192, "y": 48, "flags": 4}, - {"matrix": [9, 0], "x": 0, "y": 46, "flags": 1}, - {"matrix": [9, 1], "x": 32, "y": 46, "flags": 1}, - {"matrix": [9, 2], "x": 64, "y": 64, "flags": 1}, - {"matrix": [9, 3], "x": 96, "y": 64, "flags": 4}, - {"matrix": [9, 4], "x": 128, "y": 64, "flags": 4}, - {"matrix": [9, 5], "x": 160, "y": 64, "flags": 4} - ], "split_count": [39, 44] }, "rgblight": { diff --git a/keyboards/merge/um70/keymaps/default/rules.mk b/keyboards/merge/um70/keymaps/default/rules.mk index 7e2126efab..1888ce3a12 100644 --- a/keyboards/merge/um70/keymaps/default/rules.mk +++ b/keyboards/merge/um70/keymaps/default/rules.mk @@ -1,2 +1,2 @@ WPM_ENABLE = yes -LTO_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/merge/um70/readme.md b/keyboards/merge/um70/readme.md index c50a42c636..0c297a6402 100644 --- a/keyboards/merge/um70/readme.md +++ b/keyboards/merge/um70/readme.md @@ -11,4 +11,4 @@ Make example for this keyboard (after setting up your build environment): make merge/um70: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/merge/um70/um70.c b/keyboards/merge/um70/um70.c new file mode 100644 index 0000000000..b63fcdbedd --- /dev/null +++ b/keyboards/merge/um70/um70.c @@ -0,0 +1,77 @@ +/* Copyright 2021 duoshock + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +/* + Underglow Underglow 13,14 = split bksp, 14 = 2u bksp + 07 08 09 10 11 12 13 01 01 07 08 09 10 11 12 13 14 + 14 15 16 17 18 19 02 02 15 16 17 18 19 20 21 22 23 +20 21 22 23 24 25 26 03 03 24 25 26 27 28 29 30 31 +27 28 29 30 31 32 33 04 04 32 33 34 35 36 37 38 +34 35 36 37 38 39 05 05 39 40 41 42 43 44 + 06 06 +*/ + +#define XX NO_LED + +led_config_t g_led_config = { { + { 6, 7, 8, 9, 10, 11, 12, XX }, + { 13, 14, 15, 16, 17, 18, XX, XX }, + { 20, 21, 22, 23, 24, 25, XX, XX }, + { 27, 28, 29, 30, 31, 32, XX, XX }, + { 34, 35, 36, 37, 38, 19, 26, 33 }, + + { 45, 46, 47, 48, 49, 50, 51, 52 }, + { 53, 54, 55, 56, 57, 58, 59, 60 }, + { 62, 63, 64, 65, 66, 67, 68, XX }, + { 70, 71, 72, 73, 74, 75, 76, 61 }, + { 77, 78, 79, 80, 81, 82, XX, 69 }, +}, { + { 224, 0 }, { 224, 13 }, { 224, 26 }, { 148, 39 }, { 185, 52 }, { 224, 64 }, + + { 32, 0 }, { 64, 0 }, { 96, 0 }, { 128, 0 }, { 160, 0 }, { 192, 0 }, { 224, 0 }, + { 32, 16 }, { 64, 16 }, { 96, 16 }, { 128, 16 }, { 160, 16 }, { 192, 16 }, + { 0, 32 }, { 32, 32 }, { 64, 32 }, { 96, 32 }, { 128, 32 }, { 160, 32 }, { 192, 32 }, + { 0, 48 }, { 32, 48 }, { 64, 48 }, { 96, 48 }, { 128, 48 }, { 160, 48 }, { 192, 48 }, + { 0, 64 }, { 32, 64 }, { 64, 64 }, { 96, 64 }, { 128, 64 }, { 160, 64 }, + + { 224, 0 }, { 224, 13 }, { 224, 26 }, { 148, 39 }, { 185, 52 }, { 224, 64 }, + + { 0, 0 }, { 32, 0 }, { 64, 0 }, { 96, 0 }, { 128, 0 }, { 160, 0 }, { 192, 0 }, { 224, 0 }, + { 0, 16 }, { 32, 16 }, { 64, 16 }, { 96, 16 }, { 128, 16 }, { 160, 16 }, { 192, 16 }, { 223, 16 }, { 224, 16 }, + { 0, 32 }, { 32, 32 }, { 64, 32 }, { 96, 32 }, { 128, 32 }, { 160, 32 }, { 192, 32 }, { 223, 32 }, + { 0, 48 }, { 32, 48 }, { 64, 48 }, { 96, 48 }, { 128, 48 }, { 160, 48 }, { 192, 48 }, + { 0, 46 }, { 32, 46 }, { 64, 64 }, { 96, 64 }, { 128, 64 }, { 160, 64 } + +}, { + 2, 2, 2, 2, 2, 2, + 4, 4, 4, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, + 4, 1, 4, 4, 4, 4, 4, + 4, 1, 4, 4, 4, 4, 4, + 4, 1, 1, 1, 1, 1, + + 2, 2, 2, 2, 2, 2, + 4, 4, 4, 4, 4, 4, 4, 1, + 4, 4, 4, 4, 4, 4, 4, 1, 4, + 4, 4, 4, 4, 4, 4, 1, 4, + 4, 4, 4, 4, 4, 1, 4, + 1, 1, 1, 4, 4, 4 +} }; + +#endif \ No newline at end of file diff --git a/keyboards/merge/um80/keymaps/default/rules.mk b/keyboards/merge/um80/keymaps/default/rules.mk index 7e2126efab..1888ce3a12 100644 --- a/keyboards/merge/um80/keymaps/default/rules.mk +++ b/keyboards/merge/um80/keymaps/default/rules.mk @@ -1,2 +1,2 @@ WPM_ENABLE = yes -LTO_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/merge/um80/readme.md b/keyboards/merge/um80/readme.md index b5bb9fca92..ad9caf244f 100644 --- a/keyboards/merge/um80/readme.md +++ b/keyboards/merge/um80/readme.md @@ -19,4 +19,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the Esc key on the left side or '7' key on the right side 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. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/merge/um80/um80.c b/keyboards/merge/um80/um80.c index b22fc752b5..d13f34562c 100644 --- a/keyboards/merge/um80/um80.c +++ b/keyboards/merge/um80/um80.c @@ -120,4 +120,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/merge/uma/keymaps/default/rules.mk b/keyboards/merge/uma/keymaps/default/rules.mk index 979fc59cc7..90fc9b184b 100644 --- a/keyboards/merge/uma/keymaps/default/rules.mk +++ b/keyboards/merge/uma/keymaps/default/rules.mk @@ -1 +1 @@ -WPM_ENABLE = yes +WPM_ENABLE = yes \ No newline at end of file diff --git a/keyboards/merge/uma/uma.c b/keyboards/merge/uma/uma.c index 250c180e78..35c91b8a6e 100644 --- a/keyboards/merge/uma/uma.c +++ b/keyboards/merge/uma/uma.c @@ -106,4 +106,4 @@ bool oled_task_kb(void) { } return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c b/keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c index 9654e8c757..e2c4d225f3 100644 --- a/keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c +++ b/keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c @@ -33,4 +33,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______ ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, MO(1) ,_______,_______,_______ ,_______ ,_______,_______, _______,_______,_______,_______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c b/keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c index aa24cb7d9f..88779a9238 100644 --- a/keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c +++ b/keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c @@ -33,4 +33,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, MO(1) ,_______,_______,_______ ,_______ ,_______,_______, _______,_______,_______,_______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c b/keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c index e43aa97843..48c145fad0 100644 --- a/keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c +++ b/keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c @@ -33,4 +33,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______ ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______, MO(1) ,_______,_______,_______ ,_______ ,_______,_______,_______ ,_______,_______,_______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c b/keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c index d73de9f63b..8a6b872066 100644 --- a/keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c +++ b/keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c @@ -33,4 +33,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, MO(1) ,_______,_______,_______ ,_______ ,_______,_______,_______ ,_______,_______,_______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/metamechs/timberwolf/keymaps/default/keymap.c b/keyboards/metamechs/timberwolf/keymaps/default/keymap.c index d3447ec200..5ef61f0200 100644 --- a/keyboards/metamechs/timberwolf/keymaps/default/keymap.c +++ b/keyboards/metamechs/timberwolf/keymaps/default/keymap.c @@ -33,4 +33,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, MO(1) ,_______,_______,_______ ,_______ ,_______,_______,_______,_______,_______,_______,_______,_______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c b/keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c index b3212d7e61..a91b88123d 100644 --- a/keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c +++ b/keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c @@ -33,4 +33,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______ ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______, MO(1) ,_______,_______,_______ ,_______ ,_______,_______,_______ ,_______,_______,_______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c b/keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c index f2a1a64c44..4cb95c53ce 100644 --- a/keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c +++ b/keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c @@ -33,4 +33,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, MO(1) ,_______,_______,_______ ,_______ ,_______,_______,_______ ,_______,_______,_______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/mexsistor/ludmila/matrix.c b/keyboards/mexsistor/ludmila/matrix.c index be16612c1e..fd197f366d 100644 --- a/keyboards/mexsistor/ludmila/matrix.c +++ b/keyboards/mexsistor/ludmila/matrix.c @@ -14,22 +14,28 @@ 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 "wait.h" +#include "util.h" #include "matrix.h" // Encoder things #define ENC_SW F7 +static bool read_encoder_switches(matrix_row_t current_matrix[], uint8_t current_row); static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +/* matrix state(1:on, 0:off) */ +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + + static void select_row(uint8_t row) { gpio_set_pin_output(row_pins[row]); gpio_write_pin_low(row_pins[row]); } -static void unselect_row(uint8_t row) { - gpio_set_pin_input_high(row_pins[row]); -} +static void unselect_row(uint8_t row) { gpio_set_pin_input_high(row_pins[row]); } static void unselect_rows(void) { for (uint8_t x = 0; x < MATRIX_ROWS; x++) { @@ -51,9 +57,9 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) // Clear data in matrix row current_matrix[current_row] = 0; - // Select row and wait for row selection to stabilize + // Select row and wait for row selecton to stabilize select_row(current_row); - matrix_io_delay(); + wait_us(30); // For each col... for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { @@ -70,18 +76,6 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) return (last_row_value != current_matrix[current_row]); } -static bool read_encoder_switches(matrix_row_t current_matrix[], uint8_t current_row) { - // Store last value of row prior to reading - matrix_row_t last_row_value = current_matrix[current_row]; - - // Clear data in matrix row - current_matrix[current_row] = 0; - - // Populate the matrix row with the state of the encoder - current_matrix[current_row] |= gpio_read_pin(ENC_SW) ? (1 << 0) : 0; - - return (last_row_value != current_matrix[current_row]); -} void matrix_init_custom(void) { // initialize key pins @@ -89,16 +83,36 @@ void matrix_init_custom(void) { init_pins(); } -bool matrix_scan_custom(matrix_row_t current_matrix[]) { +bool matrix_scan_custom(void) { bool changed = false; // Set row, read cols - for (uint8_t current_row = 0; current_row < MATRIX_ROWS - 1; current_row++) { - changed |= read_cols_on_row(current_matrix, current_row); + for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { + changed |= read_cols_on_row(raw_matrix, current_row); } // Read encoder switches, already debounced - changed |= read_encoder_switches(current_matrix, 2); + changed |= read_encoder_switches(matrix, 2); return changed; } + +static bool read_encoder_switches(matrix_row_t current_matrix[], uint8_t current_row) { + // Store last value of row prior to reading + matrix_row_t last_row_value = current_matrix[current_row]; + + // Clear data in matrix row + current_matrix[current_row] = 0; + + // Debounce the encoder buttons using a shift register + static uint8_t btn_1_array; + bool btn_1_pressed = 0; + btn_1_array <<= 1; + btn_1_array |= gpio_read_pin(ENC_SW); + (btn_1_array == 0b11111111) ? (btn_1_pressed = 1) : (btn_1_pressed = 0); + + // Populate the matrix row with the state of the encoder + current_matrix[current_row] |= btn_1_pressed ? (1 << 0) : 0; + + return (last_row_value != current_matrix[current_row]); +} diff --git a/keyboards/miiiw/blackio83/rev_0100/rev_0100.h b/keyboards/miiiw/blackio83/rev_0100/rev_0100.h index 6b636a5ef8..ea371443e3 100644 --- a/keyboards/miiiw/blackio83/rev_0100/rev_0100.h +++ b/keyboards/miiiw/blackio83/rev_0100/rev_0100.h @@ -27,4 +27,4 @@ enum custom_keycodes { DEV_RF24, ALT_TAB, RGB_RST, -}; +}; \ No newline at end of file diff --git a/keyboards/miller/gm862/gm862.c b/keyboards/miller/gm862/gm862.c index ae275479ba..534ef6cdc6 100644 --- a/keyboards/miller/gm862/gm862.c +++ b/keyboards/miller/gm862/gm862.c @@ -64,6 +64,26 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, SW11_CS13, SW10_CS13, SW12_CS13}, {0, SW8_CS14, SW7_CS14, SW9_CS14}, }; + +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, NO_LED, 40 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, NO_LED,NO_LED, 52 }, + { 53, 54, 55, NO_LED, NO_LED, 56, NO_LED, NO_LED, NO_LED, 57, 58, NO_LED,59, 60 } +}, { + { 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 }, { 24, 16 }, { 40, 16 }, { 56, 16 }, { 72, 16 }, { 88, 16 }, { 104, 16 }, { 120, 16 }, { 136, 16 }, { 152, 16 }, { 168, 16 }, { 184, 16 }, { 200, 16 }, { 220, 16 }, + { 6, 32 }, { 28, 32 }, { 44, 32 }, { 60, 32 }, { 76, 32 }, { 92, 32 }, { 108, 32 }, { 124, 32 }, { 140, 32 }, { 156, 32 }, { 172, 32 }, { 188, 32 }, { 204, 32 }, + { 10, 48 }, { 20, 48 }, { 52, 48 }, { 68, 48 }, { 84, 48 }, { 100, 48 }, { 116, 48 }, { 132, 48 }, { 148, 48 }, { 164, 48 }, { 180, 48 }, { 210, 48 }, + { 2, 64 }, { 22, 64 }, { 42, 64 }, { 102, 64 }, { 162, 64 }, { 182, 64 }, { 202, 64 }, { 222, 64 }, +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1 +} }; #endif bool rgb_matrix_indicators_kb(void) { diff --git a/keyboards/miller/gm862/keyboard.json b/keyboards/miller/gm862/keyboard.json index 15c6eb46ae..db08a580a9 100644 --- a/keyboards/miller/gm862/keyboard.json +++ b/keyboards/miller/gm862/keyboard.json @@ -39,69 +39,6 @@ "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": 4}, - {"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": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 204, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 20, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 68, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 84, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 100, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 116, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 132, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 148, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 164, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 180, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "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": 162, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 182, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 202, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 222, "y": 64, "flags": 1} - ], "sleep": true }, "features": { diff --git a/keyboards/miller/gm862/keymaps/default/keymap.c b/keyboards/miller/gm862/keymaps/default/keymap.c index 1c54263a1c..f6c2b264f7 100644 --- a/keyboards/miller/gm862/keymaps/default/keymap.c +++ b/keyboards/miller/gm862/keymaps/default/keymap.c @@ -14,4 +14,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_MNXT, 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/millet/doksin/keyboard.json b/keyboards/millet/doksin/keyboard.json index 3d505e8ba2..a472eebc79 100644 --- a/keyboards/millet/doksin/keyboard.json +++ b/keyboards/millet/doksin/keyboard.json @@ -27,4 +27,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/mini_elixivy/keymaps/ansi/readme.md b/keyboards/mini_elixivy/keymaps/ansi/readme.md index 15ae56d82e..021d2891b3 100644 --- a/keyboards/mini_elixivy/keymaps/ansi/readme.md +++ b/keyboards/mini_elixivy/keymaps/ansi/readme.md @@ -1,2 +1,2 @@ # The ANSI keymap for mini_elixivy -This is an ANSI keymap, with three 1u modifiers between the spacebar/arrow keys and (optionally) a rotary encoder. +This is an ANSI keymap, with three 1u modifiers between the spacebar/arrow keys and (optionally) a rotary encoder. \ No newline at end of file diff --git a/keyboards/mini_elixivy/keymaps/default/readme.md b/keyboards/mini_elixivy/keymaps/default/readme.md index 288de94976..717b2c30ae 100644 --- a/keyboards/mini_elixivy/keymaps/default/readme.md +++ b/keyboards/mini_elixivy/keymaps/default/readme.md @@ -1,2 +1,2 @@ # The default keymap for mini_elixivy -This is an ANSI keymap, with three 1u modifiers between the spacebar/arrow keys and (optionally) a rotary encoder. +This is an ANSI keymap, with three 1u modifiers between the spacebar/arrow keys and (optionally) a rotary encoder. \ No newline at end of file diff --git a/keyboards/mini_elixivy/keymaps/iso/readme.md b/keyboards/mini_elixivy/keymaps/iso/readme.md index 22805e5e7d..d67bd32328 100644 --- a/keyboards/mini_elixivy/keymaps/iso/readme.md +++ b/keyboards/mini_elixivy/keymaps/iso/readme.md @@ -1,2 +1,2 @@ # The ISO keymap for mini_elixivy -This is an ISO keymap, with three 1u modifiers between the spacebar/arrow keys and (optionally) a rotary encoder. +This is an ISO keymap, with three 1u modifiers between the spacebar/arrow keys and (optionally) a rotary encoder. \ No newline at end of file diff --git a/keyboards/mini_elixivy/readme.md b/keyboards/mini_elixivy/readme.md index 5a3fc0fa04..6047a17346 100644 --- a/keyboards/mini_elixivy/readme.md +++ b/keyboards/mini_elixivy/readme.md @@ -21,4 +21,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader Enter the bootloader: -* **Physical reset button**: Briefly press the button on the back of the PCB (or short the reset/ground pads, should a tactile button not be installed) +* **Physical reset button**: Briefly press the button on the back of the PCB (or short the reset/ground pads, should a tactile button not be installed) \ No newline at end of file diff --git a/keyboards/mini_ten_key_plus/keymaps/default/readme.md b/keyboards/mini_ten_key_plus/keymaps/default/readme.md index 9e2dcb1e5d..a8f697f2cb 100644 --- a/keyboards/mini_ten_key_plus/keymaps/default/readme.md +++ b/keyboards/mini_ten_key_plus/keymaps/default/readme.md @@ -1,2 +1,2 @@ # The default 1u keymap for mini_ten_key_plus -![mini_ten_key_plus](https://imgur.com/VuSTwfC.png) +![mini_ten_key_plus](https://imgur.com/VuSTwfC.png) \ No newline at end of file diff --git a/keyboards/mini_ten_key_plus/keymaps/standard_numpad/readme.md b/keyboards/mini_ten_key_plus/keymaps/standard_numpad/readme.md index 71535b59a8..2cb470bef8 100644 --- a/keyboards/mini_ten_key_plus/keymaps/standard_numpad/readme.md +++ b/keyboards/mini_ten_key_plus/keymaps/standard_numpad/readme.md @@ -1,2 +1,2 @@ # The standard numpad keymap for mini_ten_key_plus -![mini_ten_key_plus](https://imgur.com/x2BUc9J.png) +![mini_ten_key_plus](https://imgur.com/x2BUc9J.png) \ No newline at end of file diff --git a/keyboards/mini_ten_key_plus/mini_ten_key_plus.c b/keyboards/mini_ten_key_plus/mini_ten_key_plus.c index 8393ebe49c..6dc60c9de1 100644 --- a/keyboards/mini_ten_key_plus/mini_ten_key_plus.c +++ b/keyboards/mini_ten_key_plus/mini_ten_key_plus.c @@ -12,4 +12,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { tap_code16(KC_LEFT_PAREN); } return true; -} +} \ No newline at end of file diff --git a/keyboards/minimon/bartlesplit/matrix.c b/keyboards/minimon/bartlesplit/matrix.c index df6a5a7b84..4be8496dcf 100644 --- a/keyboards/minimon/bartlesplit/matrix.c +++ b/keyboards/minimon/bartlesplit/matrix.c @@ -24,6 +24,8 @@ along with this program. If not, see . #include "matrix.h" #include "quantum.h" +#define ROW_SHIFTER ((uint16_t)1) + static const pin_t row_pins[] = MATRIX_ROW_PINS; static const pin_t col_pins[] = MATRIX_COL_PINS; @@ -72,7 +74,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) // For each col... for (uint8_t col_index = 0; col_index < MATRIX_COLS / 2; col_index++) { - uint16_t column_index_bitmask = MATRIX_ROW_SHIFTER << ((col_index * 2) + 1); + uint16_t column_index_bitmask = ROW_SHIFTER << ((col_index * 2) + 1); // Check row pin state if (gpio_read_pin(col_pins[col_index*2])) { // Pin HI, clear col bit @@ -101,7 +103,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) // Store last value of row prior to reading matrix_row_t last_row_value = current_matrix[row_index]; - uint16_t column_index_bitmask = MATRIX_ROW_SHIFTER << (current_col * 2); + uint16_t column_index_bitmask = ROW_SHIFTER << (current_col * 2); // Check row pin state if (gpio_read_pin(row_pins[row_index])) { // Pin HI, clear col bit diff --git a/keyboards/mithril/config.h b/keyboards/mithril/config.h deleted file mode 100644 index e4885dd7f2..0000000000 --- a/keyboards/mithril/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2024 sanfeps (@sanfeps) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define EE_HANDS diff --git a/keyboards/mithril/info.json b/keyboards/mithril/info.json deleted file mode 100644 index 923ff400df..0000000000 --- a/keyboards/mithril/info.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "manufacturer": "sanfeps", - "maintainer": "sanfeps", - "build": { - "lto": true - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "rgb_matrix": { - "driver": "ws2812", - "max_brightness": 120 - }, - "url": "https://github.com/sanfeps/mithril_kb", - "usb": { - "vid": "0x8371" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [5, 5], "x": 9, "y": 0}, - {"matrix": [5, 4], "x": 10, "y": 0}, - {"matrix": [5, 3], "x": 11, "y": 0}, - {"matrix": [5, 2], "x": 12, "y": 0}, - {"matrix": [5, 1], "x": 13, "y": 0}, - {"matrix": [5, 0], "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": [6, 5], "x": 9, "y": 1}, - {"matrix": [6, 4], "x": 10, "y": 1}, - {"matrix": [6, 3], "x": 11, "y": 1}, - {"matrix": [6, 2], "x": 12, "y": 1}, - {"matrix": [6, 1], "x": 13, "y": 1}, - {"matrix": [6, 0], "x": 14, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [7, 5], "x": 9, "y": 2}, - {"matrix": [7, 4], "x": 10, "y": 2}, - {"matrix": [7, 3], "x": 11, "y": 2}, - {"matrix": [7, 2], "x": 12, "y": 2}, - {"matrix": [7, 1], "x": 13, "y": 2}, - {"matrix": [7, 0], "x": 14, "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, 5], "x": 9, "y": 3}, - {"matrix": [8, 4], "x": 10, "y": 3}, - {"matrix": [8, 3], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3}, - {"matrix": [8, 1], "x": 13, "y": 3}, - {"matrix": [8, 0], "x": 14, "y": 3}, - {"matrix": [4, 4], "x": 3, "y": 4}, - {"matrix": [4, 5], "x": 4, "y": 4}, - {"matrix": [4, 6], "x": 5, "y": 4}, - {"matrix": [9, 6], "x": 9, "y": 4}, - {"matrix": [9, 5], "x": 10, "y": 4}, - {"matrix": [9, 4], "x": 11, "y": 4} - ] - } - } -} diff --git a/keyboards/mithril/keymaps/default/keymap.c b/keyboards/mithril/keymaps/default/keymap.c deleted file mode 100644 index a135da6c32..0000000000 --- a/keyboards/mithril/keymaps/default/keymap.c +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2024 sanfeps (@sanfeps) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - 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_EQL, - KC_LALT, KC_BSPC, MO(1), KC_ENT, KC_SPC, KC_RGUI - ), - - [1] = 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_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_PLUS, XXXXXXX, KC_GRV, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, - XXXXXXX, XXXXXXX, _______, MO(2), KC_ENT, XXXXXXX - ), - - [2] = LAYOUT( - RM_TOGG, RM_PREV, RM_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, RM_SPDD, RM_SPDU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RM_HUED, RM_VALD, RM_VALU, RM_HUEU, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RM_SATD, RM_SATU, XXXXXXX, XXXXXXX, QK_BOOT, - XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX - ), -}; diff --git a/keyboards/mithril/keymaps/sanfeps/keymap.c b/keyboards/mithril/keymaps/sanfeps/keymap.c deleted file mode 100644 index 987174dbbc..0000000000 --- a/keyboards/mithril/keymaps/sanfeps/keymap.c +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2024 sanfeps (@sanfeps) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H -#include "keymap_spanish.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * Layer 0 — Base (Spanish) - * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ - * │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ ?/¿ │ - * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ - * │ TAB │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ !/¡ │ - * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ - * │LSFT │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ Ñ │ @/| │ - * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ - * │LALT │ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ -/_ │ #/~ │ - * └─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴─────┘ - * │LGUI │BSPC │MO(1)│ │ ENT │ SPC │RCTL │ - * └─────┴─────┴─────┘ └─────┴─────┴─────┘ - */ - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, ES_QUES, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, ES_EXLM, - KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, ES_NTIL, ES_AT, - KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, ES_MINS, ES_HASH, - KC_LGUI, KC_BSPC, MO(1), KC_ENT, KC_SPC, KC_RCTL - ), - - /* - * Layer 1 — Symbols / Function / Nav - * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ - * │ F12 │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ - * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ - * │ TAB │ │ │ │ │ │ │ │ {/[ │ }/] │ + * │ │ ` │ - * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ - * │ ___ │ │ │ │ │ │ │ ← │ ↓ │ ↑ │ → │ │ ´ │ - * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ - * │ ___ │ │ │ │ │ │ │ │ ' │ < │ │ │ DEL │ - * └─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴─────┘ - * │ │ │ ___ │ │MO(2)│ ENT │ │ - * └─────┴─────┴─────┘ └─────┴─────┴─────┘ - */ - [1] = 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_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_LCBR, ES_RCBR, ES_PLUS, XXXXXXX, ES_GRV, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, ES_ACUT, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ES_QUOT, ES_LABK, XXXXXXX, XXXXXXX, KC_DEL, - XXXXXXX, XXXXXXX, _______, MO(2), KC_ENT, XXXXXXX - ), - - /* - * Layer 2 — RGB control - * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ - * │TOGG │PREV │NEXT │ │ │ │ │ │ │ │ │ │ │ - * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ - * │ │SPD↓ │SPD↑ │ │ │ │ │ │ │ │ │ │ │ - * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ - * │ │ │ │ │ │ │ │HUE↓ │VAL↓ │VAL↑ │HUE↑ │ │ │ - * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ - * │ │ │ │ │ │ │ │ │SAT↓ │SAT↑ │ │ │BOOT │ - * └─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴─────┘ - * │ │ │ │ │ ___ │ │ │ - * └─────┴─────┴─────┘ └─────┴─────┴─────┘ - */ - [2] = LAYOUT( - RM_TOGG, RM_PREV, RM_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, RM_SPDD, RM_SPDU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RM_HUED, RM_VALD, RM_VALU, RM_HUEU, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RM_SATD, RM_SATU, XXXXXXX, XXXXXXX, QK_BOOT, - XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX - ), -}; - -// Shifted-key overrides for the Spanish layout. -// Pressing the key gives the first symbol; holding Shift gives the second. -const key_override_t ques_to_ique = ko_make_basic(MOD_MASK_SHIFT, ES_QUES, ES_IQUE); // ? → ¿ -const key_override_t exlm_to_iexl = ko_make_basic(MOD_MASK_SHIFT, ES_EXLM, ES_IEXL); // ! → ¡ -const key_override_t lcbr_to_lbrc = ko_make_basic(MOD_MASK_SHIFT, ES_LCBR, ES_LBRC); // { → [ -const key_override_t rcbr_to_rbrc = ko_make_basic(MOD_MASK_SHIFT, ES_RCBR, ES_RBRC); // } → ] -const key_override_t plus_to_astr = ko_make_basic(MOD_MASK_SHIFT, ES_PLUS, ES_ASTR); // + → * -const key_override_t at_to_pipe = ko_make_basic(MOD_MASK_SHIFT, ES_AT, ES_PIPE); // @ → | -const key_override_t hash_to_tild = ko_make_basic(MOD_MASK_SHIFT, ES_HASH, ES_TILD); // # → ~ - -const key_override_t *key_overrides[] = { - &ques_to_ique, - &exlm_to_iexl, - &lcbr_to_lbrc, - &rcbr_to_rbrc, - &plus_to_astr, - &at_to_pipe, - &hash_to_tild, -}; diff --git a/keyboards/mithril/keymaps/sanfeps/rules.mk b/keyboards/mithril/keymaps/sanfeps/rules.mk deleted file mode 100644 index 90c9b36df0..0000000000 --- a/keyboards/mithril/keymaps/sanfeps/rules.mk +++ /dev/null @@ -1 +0,0 @@ -KEY_OVERRIDE_ENABLE = yes diff --git a/keyboards/mithril/readme.md b/keyboards/mithril/readme.md deleted file mode 100644 index a7d28038b4..0000000000 --- a/keyboards/mithril/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# mithril - -![mithril](https://i.imgur.com/F0h5OY6.jpg) - -*A custom split ortholinear keyboard (4x6 + 3 thumb keys per half) with per-key RGB.* - -* Keyboard Maintainer: [Javier San Félix Guajardo](https://github.com/sanfeps) -* Hardware Supported: Mithril rev1 PCB, ATmega32U4 (Caterina bootloader), split halves with serial sync -* Hardware Availability: PCB design, plate files and case at [github.com/sanfeps/mithril_kb](https://github.com/sanfeps/mithril_kb) - -Make example for this keyboard (after setting up your build environment): - - make mithril/rev1:default - -Flashing example for this keyboard: - - make mithril/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**: - * **Left half**: hold down `Esc` (matrix position `0,0` — top-outer key) and plug in the keyboard. - * **Right half**: hold down the top-outer key (`?` on the base layer, matrix position `5,0`) 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 (mapped to the bottom-right key on layer 2 of the default keymap) diff --git a/keyboards/mithril/rev1/keyboard.json b/keyboards/mithril/rev1/keyboard.json deleted file mode 100644 index ce1817c09d..0000000000 --- a/keyboards/mithril/rev1/keyboard.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "keyboard_name": "mithril", - "bootloader": "caterina", - "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "D7"], - "rows": ["C7", "C6", "B6", "B5", "B4"] - }, - "processor": "atmega32u4", - "rgb_matrix": { - "animations": { - "breathing": true, - "gradient_up_down": true, - "pixel_flow": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "solid_reactive": true, - "solid_reactive_simple": true, - "splash": true, - "typing_heatmap": true - }, - "default": { - "animation": "typing_heatmap", - "hue": 128 - }, - "sat_steps": 8, - "sleep": true, - "speed_steps": 10, - "val_steps": 8, - "layout": [ - {"matrix": [0, 5], "x": 84, "y": 5, "flags": 4}, - {"matrix": [0, 4], "x": 67, "y": 2, "flags": 4}, - {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 33, "y": 2, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 4, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 4, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 16, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 33, "y": 13, "flags": 4}, - {"matrix": [1, 3], "x": 50, "y": 10, "flags": 4}, - {"matrix": [1, 4], "x": 67, "y": 14, "flags": 4}, - {"matrix": [1, 5], "x": 84, "y": 16, "flags": 4}, - {"matrix": [2, 5], "x": 84, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 67, "y": 25, "flags": 4}, - {"matrix": [2, 3], "x": 50, "y": 21, "flags": 4}, - {"matrix": [2, 2], "x": 33, "y": 24, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 26, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 26, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 37, "flags": 1}, - {"matrix": [3, 1], "x": 16, "y": 37, "flags": 4}, - {"matrix": [3, 2], "x": 33, "y": 35, "flags": 4}, - {"matrix": [3, 3], "x": 50, "y": 32, "flags": 4}, - {"matrix": [3, 4], "x": 67, "y": 36, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 36, "flags": 4}, - {"matrix": [4, 4], "x": 67, "y": 47, "flags": 1}, - {"matrix": [4, 5], "x": 87, "y": 53, "flags": 1}, - {"matrix": [4, 6], "x": 98, "y": 63, "flags": 1}, - {"matrix": [5, 5], "x": 138, "y": 5, "flags": 4}, - {"matrix": [5, 4], "x": 155, "y": 2, "flags": 4}, - {"matrix": [5, 3], "x": 172, "y": 0, "flags": 4}, - {"matrix": [5, 2], "x": 189, "y": 2, "flags": 4}, - {"matrix": [5, 1], "x": 206, "y": 4, "flags": 4}, - {"matrix": [5, 0], "x": 223, "y": 4, "flags": 1}, - {"matrix": [6, 0], "x": 223, "y": 15, "flags": 1}, - {"matrix": [6, 1], "x": 206, "y": 15, "flags": 4}, - {"matrix": [6, 2], "x": 189, "y": 13, "flags": 4}, - {"matrix": [6, 3], "x": 172, "y": 10, "flags": 4}, - {"matrix": [6, 4], "x": 155, "y": 14, "flags": 4}, - {"matrix": [6, 5], "x": 138, "y": 16, "flags": 4}, - {"matrix": [7, 5], "x": 138, "y": 27, "flags": 4}, - {"matrix": [7, 4], "x": 155, "y": 25, "flags": 4}, - {"matrix": [7, 3], "x": 172, "y": 21, "flags": 4}, - {"matrix": [7, 2], "x": 189, "y": 24, "flags": 4}, - {"matrix": [7, 1], "x": 206, "y": 26, "flags": 4}, - {"matrix": [7, 0], "x": 223, "y": 26, "flags": 1}, - {"matrix": [8, 0], "x": 223, "y": 37, "flags": 1}, - {"matrix": [8, 1], "x": 206, "y": 37, "flags": 4}, - {"matrix": [8, 2], "x": 189, "y": 35, "flags": 4}, - {"matrix": [8, 3], "x": 172, "y": 32, "flags": 4}, - {"matrix": [8, 4], "x": 155, "y": 36, "flags": 4}, - {"matrix": [8, 5], "x": 138, "y": 38, "flags": 4}, - {"matrix": [9, 4], "x": 155, "y": 47, "flags": 1}, - {"matrix": [9, 5], "x": 135, "y": 53, "flags": 1}, - {"matrix": [9, 6], "x": 124, "y": 63, "flags": 1} - ], - "split_count": [27, 27] - }, - "split": { - "enabled": true, - "bootmagic": { - "matrix": [5, 0] - }, - "matrix_pins": { - "right": { - "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7"], - "rows": ["D7", "B4", "B5", "B6", "C6"] - } - }, - "serial": { - "pin": "D0" - }, - "transport": { - "sync": { - "matrix_state": true - } - }, - "usb_detect": { - "enabled": true - } - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x4D52" - }, - "ws2812": { - "pin": "D2" - } -} diff --git a/keyboards/miuni32/keyboard.json b/keyboards/miuni32/keyboard.json index 26c4c7dfff..1ff7d1a39a 100644 --- a/keyboards/miuni32/keyboard.json +++ b/keyboards/miuni32/keyboard.json @@ -3,8 +3,8 @@ "manufacturer": "Bigtuna.io", "maintainer": "qmk", "usb": { - "vid": "0x41FA", - "pid": "0xAAEF", + "vid": "0xFEED", + "pid": "0x6060", "device_version": "0.0.1" }, "rgblight": { @@ -80,8 +80,8 @@ {"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, "w": 2}, + {"matrix": [2, 3], "x": 3, "y": 2, "w": 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}, diff --git a/keyboards/miuni32/keymaps/default/keymap.c b/keyboards/miuni32/keymaps/default/keymap.c index 2bf2dab2b0..878d095730 100644 --- a/keyboards/miuni32/keymaps/default/keymap.c +++ b/keyboards/miuni32/keymaps/default/keymap.c @@ -1,18 +1,3 @@ -/* Copyright 2025 BigTuna.io - * - * 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] = { diff --git a/keyboards/mkbd65/README.md b/keyboards/mkbd65/README.md new file mode 100644 index 0000000000..817bde28b3 --- /dev/null +++ b/keyboards/mkbd65/README.md @@ -0,0 +1,41 @@ +![mkbd65](https://gitlab.com/mkbd65/qmk-firmware/-/raw/mkbd65/keyboards/mkbd65/mkbd65.png?inline=false) + +# mkbd65 + +A mobile keyboard addon for modern smartphones. + +- Keyboard Maintainer: [XenGi](https://xengi.de) +- Hardware Supported: [mkbd65 PCB](https://gitlab.com/mkbd65/pcb) +- Hardware Availability: - + +Flashing this keyboard with `en-us-intl` layout (after setting up your build environment): + +``` +qmk flash -kb mkbd65:rev1 -km en-us-intl +``` + +Available layouts: + + - en-us-intl (ansi) + - de (iso) + +You can find community provided layouts here: https://gitlab.com/mkbd65/community + +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). + +--- + +Copyright 2023 XenGi mkbd65@xengi.de @XenGi + +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 . diff --git a/keyboards/mkbd65/config.h b/keyboards/mkbd65/config.h new file mode 100644 index 0000000000..4b3907c132 --- /dev/null +++ b/keyboards/mkbd65/config.h @@ -0,0 +1,12 @@ +// Copyright 2023 XenGi +// SPDX-License-Identifier: GPL-2.0-or-later + +// optimize firmware +#undef LOCKING_SUPPORT_ENABLE +#undef LOCKING_RESYNC_ENABLE +#define LAYER_STATE_8BIT + +// disable features to save on code size +#define NO_ACTION_TAPPING +#define NO_ACTION_ONESHOT + diff --git a/keyboards/mkbd65/keymaps/ansi/README.md b/keyboards/mkbd65/keymaps/ansi/README.md new file mode 100644 index 0000000000..f68aaf41fc --- /dev/null +++ b/keyboards/mkbd65/keymaps/ansi/README.md @@ -0,0 +1,59 @@ +# The English US International keymap for mkbd65 rev0 by XenGi + +This is the default layout for the mkbd65 keyboard. You can use it as a reference for other layouts. + +It is based on the "English (intl., with AltGr dead keys)" layout. + +This is the key matrix (no label means the key from layer 0 will be used): + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ y ║ u ║ i ║ o ║ p ║ [ ║ ] ║ \ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ; ║ ' ║ Return ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ z ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ / ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║AltG║ Space ║ - ║ = ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ { ║ } ║ | ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ : ║ " ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ < ║ > ║ ? ║ ║░░░░░░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║░░░░║ ║ ║ _ ║ + ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +2: mod altgr +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ¬ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║░░░░║ ║ ║ ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ` ║ Super ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +``` + diff --git a/keyboards/mkbd65/keymaps/ansi/keymap.c b/keyboards/mkbd65/keymaps/ansi/keymap.c new file mode 100644 index 0000000000..b023feab91 --- /dev/null +++ b/keyboards/mkbd65/keymaps/ansi/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +#include "quantum.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ansi( /* Base layer */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + ), + + [1] = LAYOUT_ansi( /* Function layer */ + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, + _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ) +}; diff --git a/keyboards/mkbd65/keymaps/de/README.md b/keyboards/mkbd65/keymaps/de/README.md new file mode 100644 index 0000000000..c37325f914 --- /dev/null +++ b/keyboards/mkbd65/keymaps/de/README.md @@ -0,0 +1,57 @@ +# The German keymap for mkbd65 rev1 by XenGi + +This is the german layout for the mkbd65 keyboard. You can use it as a reference for other ISO based layouts. + +This is the key matrix (no label means the key from layer 0 will be used): + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ z ║ u ║ i ║ o ║ p ║ ü ║ + ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ö ║ ä ║ # ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ y ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ - ║ ▲ ║ < ║Shft║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║Ctrl║ Fn ║Shft║AltG║ Space ║ ß ║ ´ ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ° ║ ! ║ " ║ § ║ $ ║ % ║ & ║ / ║ ( ║ ) ║ = ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ Ü ║ * ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ ║ +║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ Ö ║ Ä ║ ' ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ ; ║ : ║ _ ║ ║ > ║░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║░░░░║ ║ ║ ? ║ ` ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +2: mod altgr +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ ║ ║ { ║ [ ║ ] ║ } ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ @ ║ ║ € ║ ║ ║ ║ ║ ║ ║ ║ ║ ~ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ ║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ║ ║ | ║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║░░░░║ ║ \ ║ ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣Supr║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ^ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╬════╣ +║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +``` + diff --git a/keyboards/mkbd65/keymaps/de/keymap.c b/keyboards/mkbd65/keymaps/de/keymap.c new file mode 100644 index 0000000000..6ba90e876f --- /dev/null +++ b/keyboards/mkbd65/keymaps/de/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +#include "keymap_german.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( /* Base layer */ + QK_GESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, KC_BSPC, KC_BSPC, + DE_Q, DE_W, DE_E, DE_R, DE_T, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, DE_PLUS, KC_ENT, + DE_A, DE_S, DE_D, DE_F, DE_G, DE_H, DE_J, DE_K, DE_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, + DE_Y, DE_X, DE_C, DE_V, DE_B, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_UP, DE_LABK, KC_RSFT, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_SPC, KC_SPC, DE_SS, DE_ACUT, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + ), + + [1] = LAYOUT( /* Function layer */ + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, _______, + _______, _______, _______, _______, KC_TAB, KC_TAB, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ) +}; diff --git a/keyboards/mkbd65/keymaps/en_us_intl/README.md b/keyboards/mkbd65/keymaps/en_us_intl/README.md new file mode 100644 index 0000000000..f68aaf41fc --- /dev/null +++ b/keyboards/mkbd65/keymaps/en_us_intl/README.md @@ -0,0 +1,59 @@ +# The English US International keymap for mkbd65 rev0 by XenGi + +This is the default layout for the mkbd65 keyboard. You can use it as a reference for other layouts. + +It is based on the "English (intl., with AltGr dead keys)" layout. + +This is the key matrix (no label means the key from layer 0 will be used): + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ y ║ u ║ i ║ o ║ p ║ [ ║ ] ║ \ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ; ║ ' ║ Return ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ z ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ / ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║AltG║ Space ║ - ║ = ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ { ║ } ║ | ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ : ║ " ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ < ║ > ║ ? ║ ║░░░░░░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║░░░░║ ║ ║ _ ║ + ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +2: mod altgr +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ¬ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║░░░░║ ║ ║ ║ ║ ║ ║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ` ║ Super ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬═════════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║ ║░░░░║ ║ ║ Tab ║ ║ ║Pos1║PgDn║ End║ ║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +``` + diff --git a/keyboards/mkbd65/keymaps/en_us_intl/keymap.c b/keyboards/mkbd65/keymaps/en_us_intl/keymap.c new file mode 100644 index 0000000000..96d7855ff8 --- /dev/null +++ b/keyboards/mkbd65/keymaps/en_us_intl/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( /* Base layer */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_BSPC, + 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, KC_RSFT, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_SPC, KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + ), + + [1] = LAYOUT_all( /* Function layer */ + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, KC_APP, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_LGUI, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, _______, + _______, _______, _______, _______, KC_TAB, KC_TAB, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ) +}; diff --git a/keyboards/mkbd65/keymaps/iso/README.md b/keyboards/mkbd65/keymaps/iso/README.md new file mode 100644 index 0000000000..9a5f9b176f --- /dev/null +++ b/keyboards/mkbd65/keymaps/iso/README.md @@ -0,0 +1,55 @@ +# The iso-like keymap for mkbd65 rev0 + +It's actually just ANSI but with an upright `Enter` key. + +``` +0: no mod +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 0 ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ q ║ w ║ e ║ r ║ t ║ y ║ u ║ i ║ o ║ p ║ [ ║ ] ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ a ║ s ║ d ║ f ║ g ║ h ║ j ║ k ║ l ║ ; ║ ' ║ \ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ z ║ x ║ c ║ v ║ b ║ n ║ m ║ , ║ . ║ / ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║AltG║ SPACE ║ - ║ = ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +1: mod shift +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ~ ║ ! ║ @ ║ # ║ $ ║ % ║ ^ ║ & ║ * ║ ( ║ ) ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ Q ║ W ║ E ║ R ║ T ║ Y ║ U ║ I ║ O ║ P ║ { ║ } ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ A ║ S ║ D ║ F ║ G ║ H ║ J ║ K ║ L ║ : ║ " ║ | ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ Z ║ X ║ C ║ V ║ B ║ N ║ M ║ < ║ > ║ ? ║ ▲ ║░░░░░░░░░║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║░░░░║AltG║ SPACE ║ _ ║ + ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +2: mod alt +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ ║ ¹ ║ ² ║ ³ ║ ║ € ║ ║ ║ ║ ║ ║Backspace║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ä ║ ║ ║ ║ ║ ü ║ ║ ║ ║ ö ║ « ║ » ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣ Ret║ +║ ║ ß ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ¬ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ µ ║ ║ ║ ¿ ║ ▲ ║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║ Fn ║Shft║░░░░║ SPACE ║ ║ ║ ◀ ║ ▼ ║ ▶ ║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +3: mod fn +╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗ +║ Esc║ F1 ║ F2 ║ F3 ║ F4 ║ F5 ║ F6 ║ F7 ║ F8 ║ F9 ║ F10║ Delete ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╦════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ F11║ F12║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╣Supr║ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +╠════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╬════╩════╣ +║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║PgUp║ Shift ║ +╠════╬════╬════╬════╬════╩════╩════╬════╬════╬════╬════╬════╦════╣ +║Ctrl║░░░░║Shft║AltG║ Tab ║ ║ ` ║Pos1║PgDn║ End║Ctrl║ +╚════╩════╩════╩════╩══════════════╩════╩════╩════╩════╩════╩════╝ +``` + diff --git a/keyboards/mkbd65/keymaps/iso/keymap.c b/keyboards/mkbd65/keymaps/iso/keymap.c new file mode 100644 index 0000000000..a7dd99463e --- /dev/null +++ b/keyboards/mkbd65/keymaps/iso/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_iso( /* Base layer */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + 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_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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, + KC_LCTL, MO(1), KC_LSFT, OSM(MOD_RALT), KC_SPC, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCTL + ), + + [1] = LAYOUT_iso( /* Function layer */ + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_GRV, KC_APP, KC_LGUI, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PGUP, _______, + _______, _______, _______, _______, KC_TAB, _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ), +}; diff --git a/keyboards/mkbd65/mkbd65.png b/keyboards/mkbd65/mkbd65.png new file mode 100644 index 0000000000..b873771c74 Binary files /dev/null and b/keyboards/mkbd65/mkbd65.png differ diff --git a/keyboards/mkbd65/rev0/keyboard.json b/keyboards/mkbd65/rev0/keyboard.json new file mode 100644 index 0000000000..35269aaa5c --- /dev/null +++ b/keyboards/mkbd65/rev0/keyboard.json @@ -0,0 +1,174 @@ +{ + "manufacturer": "XenGi", + "keyboard_name": "mkbd65", + "maintainer": "XenGi", + "bootloader": "atmel-dfu", + "bootloader_instructions": "Press the button marked RESET on the back of the PCB", + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "build": { + "lto": true + }, + "debounce": 5, + "diode_direction": "ROW2COL", + "encoder": { + "enabled": false + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": false, + "rgblight": false + }, + "matrix_pins": { + "cols": ["D4", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], + "rows": ["D5", "D3", "D2", "D1", "D0"] + }, + "processor": "atmega32u4", + "split": { + "enabled": false + }, + "tags": ["mobile", "65%"], + "url": "https://mkbd65.xengi.de", + "usb": { + "device_version": "0.0.1", + "pid": "0x4803", + "vid": "0x1209" + }, + "layouts": { + "LAYOUT_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": "Backspace", "matrix": [0, 11], "x": 11, "y": 0, "w": 2}, + {"label": "Q", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "W", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "E", "matrix": [1, 2], "x": 1, "y": 2}, + {"label": "R", "matrix": [1, 3], "x": 1, "y": 3}, + {"label": "T", "matrix": [1, 4], "x": 1, "y": 4}, + {"label": "Y", "matrix": [1, 5], "x": 1, "y": 5}, + {"label": "U", "matrix": [1, 6], "x": 1, "y": 6}, + {"label": "I", "matrix": [1, 7], "x": 1, "y": 7}, + {"label": "O", "matrix": [1, 8], "x": 1, "y": 8}, + {"label": "P", "matrix": [1, 9], "x": 1, "y": 9}, + {"label": "[", "matrix": [1, 10], "x": 1, "y": 10}, + {"label": "]", "matrix": [1, 11], "x": 1, "y": 11}, + {"label": "\\", "matrix": [1, 12], "x": 1, "y": 12}, + {"label": "A", "matrix": [2, 0], "x": 2, "y": 0}, + {"label": "S", "matrix": [2, 1], "x": 2, "y": 1}, + {"label": "D", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "F", "matrix": [2, 3], "x": 2, "y": 3}, + {"label": "G", "matrix": [2, 4], "x": 2, "y": 4}, + {"label": "H", "matrix": [2, 5], "x": 2, "y": 5}, + {"label": "J", "matrix": [2, 6], "x": 2, "y": 6}, + {"label": "K", "matrix": [2, 7], "x": 2, "y": 7}, + {"label": "L", "matrix": [2, 8], "x": 2, "y": 8}, + {"label": ";", "matrix": [2, 9], "x": 2, "y": 9}, + {"label": "'", "matrix": [2, 10], "x": 2, "y": 10}, + {"label": "Enter", "matrix": [2, 11], "x": 2, "y": 11, "w": 2}, + {"label": "Z", "matrix": [3, 0], "x": 3, "y": 0}, + {"label": "X", "matrix": [3, 1], "x": 3, "y": 1}, + {"label": "C", "matrix": [3, 2], "x": 3, "y": 2}, + {"label": "V", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "B", "matrix": [3, 4], "x": 3, "y": 4}, + {"label": "N", "matrix": [3, 5], "x": 3, "y": 5}, + {"label": "M", "matrix": [3, 6], "x": 3, "y": 6}, + {"label": ",", "matrix": [3, 7], "x": 3, "y": 7}, + {"label": ".", "matrix": [3, 8], "x": 3, "y": 8}, + {"label": "/", "matrix": [3, 9], "x": 3, "y": 9}, + {"label": "Up", "matrix": [3, 10], "x": 3, "y": 10}, + {"label": "ShiftR", "matrix": [3, 11], "x": 3, "y": 11, "w": 2}, + {"label": "CtrlL", "matrix": [4, 0], "x": 4, "y": 0}, + {"label": "Fn", "matrix": [4, 1], "x": 4, "y": 1}, + {"label": "ShiftL", "matrix": [4, 2], "x": 4, "y": 2}, + {"label": "Alt", "matrix": [4, 3], "x": 4, "y": 3}, + {"label": "Space", "matrix": [4, 4], "x": 4, "y": 4, "w": 3}, + {"label": "-", "matrix": [4, 7], "x": 4, "y": 7}, + {"label": "=", "matrix": [4, 8], "x": 4, "y": 8}, + {"label": "Left", "matrix": [4, 9], "x": 4, "y": 9}, + {"label": "Down", "matrix": [4, 10], "x": 4, "y": 10}, + {"label": "Right", "matrix": [4, 11], "x": 4, "y": 11}, + {"label": "CtrlR", "matrix": [4, 12], "x": 4, "y": 12} + ] + }, + "LAYOUT_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": "Backspace", "matrix": [0, 11], "x": 11, "y": 0, "w": 2}, + {"label": "Q", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "W", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "E", "matrix": [1, 2], "x": 1, "y": 2}, + {"label": "R", "matrix": [1, 3], "x": 1, "y": 3}, + {"label": "T", "matrix": [1, 4], "x": 1, "y": 4}, + {"label": "Y", "matrix": [1, 5], "x": 1, "y": 5}, + {"label": "U", "matrix": [1, 6], "x": 1, "y": 6}, + {"label": "I", "matrix": [1, 7], "x": 1, "y": 7}, + {"label": "O", "matrix": [1, 8], "x": 1, "y": 8}, + {"label": "P", "matrix": [1, 9], "x": 1, "y": 9}, + {"label": "[", "matrix": [1, 10], "x": 1, "y": 10}, + {"label": "]", "matrix": [1, 11], "x": 1, "y": 11}, + {"label": "A", "matrix": [2, 0], "x": 2, "y": 0}, + {"label": "S", "matrix": [2, 1], "x": 2, "y": 1}, + {"label": "D", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "F", "matrix": [2, 3], "x": 2, "y": 3}, + {"label": "G", "matrix": [2, 4], "x": 2, "y": 4}, + {"label": "H", "matrix": [2, 5], "x": 2, "y": 5}, + {"label": "J", "matrix": [2, 6], "x": 2, "y": 6}, + {"label": "K", "matrix": [2, 7], "x": 2, "y": 7}, + {"label": "L", "matrix": [2, 8], "x": 2, "y": 8}, + {"label": ";", "matrix": [2, 9], "x": 2, "y": 9}, + {"label": "'", "matrix": [2, 10], "x": 2, "y": 10}, + {"label": "\\", "matrix": [2, 11], "x": 2, "y": 11}, + {"label": "Enter", "matrix": [1, 12], "x": 1, "y": 12, "h": 2}, + {"label": "Z", "matrix": [3, 0], "x": 3, "y": 0}, + {"label": "X", "matrix": [3, 1], "x": 3, "y": 1}, + {"label": "C", "matrix": [3, 2], "x": 3, "y": 2}, + {"label": "V", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "B", "matrix": [3, 4], "x": 3, "y": 4}, + {"label": "N", "matrix": [3, 5], "x": 3, "y": 5}, + {"label": "M", "matrix": [3, 6], "x": 3, "y": 6}, + {"label": ",", "matrix": [3, 7], "x": 3, "y": 7}, + {"label": ".", "matrix": [3, 8], "x": 3, "y": 8}, + {"label": "/", "matrix": [3, 9], "x": 3, "y": 9}, + {"label": "Up", "matrix": [3, 10], "x": 3, "y": 10}, + {"label": "ShiftR", "matrix": [3, 11], "x": 3, "y": 11, "w": 2}, + {"label": "CtrlL", "matrix": [4, 0], "x": 4, "y": 0}, + {"label": "Fn", "matrix": [4, 1], "x": 4, "y": 1}, + {"label": "ShiftL", "matrix": [4, 2], "x": 4, "y": 2}, + {"label": "Alt", "matrix": [4, 3], "x": 4, "y": 3}, + {"label": "Space", "matrix": [4, 4], "x": 4, "y": 4, "w": 3}, + {"label": "-", "matrix": [4, 7], "x": 4, "y": 7}, + {"label": "=", "matrix": [4, 8], "x": 4, "y": 8}, + {"label": "Left", "matrix": [4, 9], "x": 4, "y": 9}, + {"label": "Down", "matrix": [4, 10], "x": 4, "y": 10}, + {"label": "Right", "matrix": [4, 11], "x": 4, "y": 11}, + {"label": "CtrlR", "matrix": [4, 12], "x": 4, "y": 12} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/mkbd65/rev0/mkbd65.c b/keyboards/mkbd65/rev0/mkbd65.c new file mode 100644 index 0000000000..2cde260fa0 --- /dev/null +++ b/keyboards/mkbd65/rev0/mkbd65.c @@ -0,0 +1,6 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "mkbd65.h" +#include "quantum.h" + diff --git a/keyboards/mkbd65/rev0/mkbd65.h b/keyboards/mkbd65/rev0/mkbd65.h new file mode 100644 index 0000000000..798a87ce44 --- /dev/null +++ b/keyboards/mkbd65/rev0/mkbd65.h @@ -0,0 +1,70 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef MKBD65_H +#define MKBD65_H + +/* LAYOUT_ansi + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ + * ├───┼───┼───┼───┼───┴───┴───┼───┼───┼───┼───┼───┬───┤ + * │ │ │ │ │ 3.0U │ │ │ │ │ │ │ + * └───┴───┴───┴───┴───────────┴───┴───┴───┴───┴───┴───┘ + * This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, \ + K40, K41, K42, K43, K44, K47, K48, K49, K410, K411, K412 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, KC_NO }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, KC_NO }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, KC_NO }, \ + { K40, K41, K42, K43, K44, KC_NO, KC_NO, K47, K48, K49, K410, K411, K412 } \ +} + +/* LAYOUT_iso + * ╔═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══════╗ + * ║ │ │ │ │ │ │ │ │ │ │ │ 2.0U ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┬───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ║ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ 2.0U ║ + * ╟───┼───┼───┼───┼───┴───┴───┼───┼───┼───┼───┼───┬───╢ + * ║ │ │ │ │ 3.0U │ │ │ │ │ │ ║ + * ╚═══╧═══╧═══╧═══╧═══════════╧═══╧═══╧═══╧═══╧═══╧═══╝ + */ +#define LAYOUT_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, \ + K40, K41, K42, K43, K44, K47, K48, K49, K410, K411, K412 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, KC_NO }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, KC_NO }, \ + { K40, K41, K42, K43, K44, KC_NO, KC_NO, K47, K48, K49, K410, K411, K412 } \ +} + +#endif diff --git a/keyboards/mkbd65/rev0/rules.mk b/keyboards/mkbd65/rev0/rules.mk new file mode 100644 index 0000000000..de2da8afe1 --- /dev/null +++ b/keyboards/mkbd65/rev0/rules.mk @@ -0,0 +1,4 @@ +F_CPU = 16000000 +ARCH = AVR8 +F_USB = $(F_CPU) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT diff --git a/keyboards/mkbd65/rev1/keyboard.json b/keyboards/mkbd65/rev1/keyboard.json new file mode 100644 index 0000000000..2329e8bc52 --- /dev/null +++ b/keyboards/mkbd65/rev1/keyboard.json @@ -0,0 +1,187 @@ +{ + "manufacturer": "XenGi", + "keyboard_name": "mkbd65", + "maintainer": "XenGi", + "bootloader": "atmel-dfu", + "diode_direction": "ROW2COL", + "debounce": 5, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": false, + "rgblight": false + }, + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "matrix_pins": { + "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B11"], + "rows": ["B12", "B13", "B14", "B15", "A8"] + }, + "processor": "atmega32u4", + "url": "https://mkbd65.xengi.de", + "bootloader_instructions": "Press the button marked RESET on the back of the PCB", + "tags": ["mobile", "65%"], + "usb": { + "device_version": "1.0.0", + "pid": "0x4803", + "vid": "0x1209" + }, + "build": { + "lto": true + }, + "layouts": { + "LAYOUT_ansi": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0, "label": "Esc" }, + { "matrix": [0, 1], "x": 1, "y": 0, "label": "1" }, + { "matrix": [0, 2], "x": 2, "y": 0, "label": "2" }, + { "matrix": [0, 3], "x": 3, "y": 0, "label": "3" }, + { "matrix": [0, 4], "x": 4, "y": 0, "label": "4" }, + { "matrix": [0, 5], "x": 5, "y": 0, "label": "5" }, + { "matrix": [0, 6], "x": 6, "y": 0, "label": "6" }, + { "matrix": [0, 7], "x": 7, "y": 0, "label": "7" }, + { "matrix": [0, 8], "x": 8, "y": 0, "label": "8" }, + { "matrix": [0, 9], "x": 9, "y": 0, "label": "9" }, + { "matrix": [0, 10], "x": 10, "y": 0, "label": "0" }, + { "matrix": [0, 11], "x": 11, "y": 0, "label": "Backspace" }, + { "matrix": [0, 12], "x": 12, "y": 0, "label": "Backspace" }, + + { "matrix": [1, 0], "x": 1, "y": 0, "label": "Q" }, + { "matrix": [1, 1], "x": 1, "y": 1, "label": "W" }, + { "matrix": [1, 2], "x": 1, "y": 2, "label": "E" }, + { "matrix": [1, 3], "x": 1, "y": 3, "label": "R" }, + { "matrix": [1, 4], "x": 1, "y": 4, "label": "T" }, + { "matrix": [1, 5], "x": 1, "y": 5, "label": "Y" }, + { "matrix": [1, 6], "x": 1, "y": 6, "label": "U" }, + { "matrix": [1, 7], "x": 1, "y": 7, "label": "I" }, + { "matrix": [1, 8], "x": 1, "y": 8, "label": "O" }, + { "matrix": [1, 9], "x": 1, "y": 9, "label": "P" }, + { "matrix": [1, 10], "x": 1, "y": 10, "label": "[" }, + { "matrix": [1, 11], "x": 1, "y": 11, "label": "]" }, + { "matrix": [1, 12], "x": 1, "y": 12, "label": "\\" }, + + { "matrix": [2, 0], "x": 2, "y": 0, "label": "A" }, + { "matrix": [2, 1], "x": 2, "y": 1, "label": "S" }, + { "matrix": [2, 2], "x": 2, "y": 2, "label": "D" }, + { "matrix": [2, 3], "x": 2, "y": 3, "label": "F" }, + { "matrix": [2, 4], "x": 2, "y": 4, "label": "G" }, + { "matrix": [2, 5], "x": 2, "y": 5, "label": "H" }, + { "matrix": [2, 6], "x": 2, "y": 6, "label": "J" }, + { "matrix": [2, 7], "x": 2, "y": 7, "label": "K" }, + { "matrix": [2, 8], "x": 2, "y": 8, "label": "L" }, + { "matrix": [2, 9], "x": 2, "y": 9, "label": ";" }, + { "matrix": [2, 10], "x": 2, "y": 10, "label": "'" }, + { "matrix": [2, 11], "x": 2, "y": 11, "label": "Enter" }, + { "matrix": [2, 12], "x": 2, "y": 12, "label": "Enter" }, + + { "matrix": [3, 0], "x": 3, "y": 0, "label": "Z" }, + { "matrix": [3, 1], "x": 3, "y": 1, "label": "X" }, + { "matrix": [3, 2], "x": 3, "y": 2, "label": "C" }, + { "matrix": [3, 3], "x": 3, "y": 3, "label": "V" }, + { "matrix": [3, 4], "x": 3, "y": 4, "label": "B" }, + { "matrix": [3, 5], "x": 3, "y": 5, "label": "N" }, + { "matrix": [3, 6], "x": 3, "y": 6, "label": "M" }, + { "matrix": [3, 7], "x": 3, "y": 7, "label": "," }, + { "matrix": [3, 8], "x": 3, "y": 8, "label": "." }, + { "matrix": [3, 9], "x": 3, "y": 9, "label": "/" }, + { "matrix": [3, 10], "x": 3, "y": 10, "label": "Up" }, + { "matrix": [3, 11], "x": 3, "y": 11, "w": 2, "label": "RShift" }, + { "matrix": [3, 12], "x": 3, "y": 11, "w": 2, "label": "RShift" }, + + { "matrix": [4, 0], "x": 4, "y": 0, "label": "LCtrl" }, + { "matrix": [4, 1], "x": 4, "y": 1, "label": "Fn" }, + { "matrix": [4, 2], "x": 4, "y": 2, "label": "LShift" }, + { "matrix": [4, 3], "x": 4, "y": 3, "label": "Alt" }, + { "matrix": [4, 4], "x": 4, "y": 4, "label": "Space" }, + { "matrix": [4, 5], "x": 4, "y": 5, "label": "Space" }, + { "matrix": [4, 6], "x": 4, "y": 6, "label": "Space" }, + { "matrix": [4, 7], "x": 4, "y": 7, "label": "-" }, + { "matrix": [4, 8], "x": 4, "y": 8, "label": "=" }, + { "matrix": [4, 9], "x": 4, "y": 9, "label": "Left" }, + { "matrix": [4, 10], "x": 4, "y": 10, "label": "Down" }, + { "matrix": [4, 11], "x": 4, "y": 11, "label": "Right" }, + { "matrix": [4, 12], "x": 4, "y": 12, "label": "RCtrl" } + ] + }, + "LAYOUT_iso": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0, "label": "Esc" }, + { "matrix": [0, 1], "x": 1, "y": 0, "label": "1" }, + { "matrix": [0, 2], "x": 2, "y": 0, "label": "2" }, + { "matrix": [0, 3], "x": 3, "y": 0, "label": "3" }, + { "matrix": [0, 4], "x": 4, "y": 0, "label": "4" }, + { "matrix": [0, 5], "x": 5, "y": 0, "label": "5" }, + { "matrix": [0, 6], "x": 6, "y": 0, "label": "6" }, + { "matrix": [0, 7], "x": 7, "y": 0, "label": "7" }, + { "matrix": [0, 8], "x": 8, "y": 0, "label": "8" }, + { "matrix": [0, 9], "x": 9, "y": 0, "label": "9" }, + { "matrix": [0, 10], "x": 10, "y": 0, "label": "0" }, + { "matrix": [0, 11], "x": 11, "y": 0, "label": "Backspace" }, + { "matrix": [0, 12], "x": 12, "y": 0, "label": "Backspace" }, + + { "matrix": [1, 0], "x": 1, "y": 0, "label": "Q" }, + { "matrix": [1, 1], "x": 1, "y": 1, "label": "W" }, + { "matrix": [1, 2], "x": 1, "y": 2, "label": "E" }, + { "matrix": [1, 3], "x": 1, "y": 3, "label": "R" }, + { "matrix": [1, 4], "x": 1, "y": 4, "label": "T" }, + { "matrix": [1, 5], "x": 1, "y": 5, "label": "Y" }, + { "matrix": [1, 6], "x": 1, "y": 6, "label": "U" }, + { "matrix": [1, 7], "x": 1, "y": 7, "label": "I" }, + { "matrix": [1, 8], "x": 1, "y": 8, "label": "O" }, + { "matrix": [1, 9], "x": 1, "y": 9, "label": "P" }, + { "matrix": [1, 10], "x": 1, "y": 10, "label": "[" }, + { "matrix": [1, 11], "x": 1, "y": 11, "label": "]" }, + { "matrix": [1, 12], "x": 1, "y": 12, "label": "Enter" }, + + { "matrix": [2, 0], "x": 2, "y": 0, "label": "A" }, + { "matrix": [2, 1], "x": 2, "y": 1, "label": "S" }, + { "matrix": [2, 2], "x": 2, "y": 2, "label": "D" }, + { "matrix": [2, 3], "x": 2, "y": 3, "label": "F" }, + { "matrix": [2, 4], "x": 2, "y": 4, "label": "G" }, + { "matrix": [2, 5], "x": 2, "y": 5, "label": "H" }, + { "matrix": [2, 6], "x": 2, "y": 6, "label": "J" }, + { "matrix": [2, 7], "x": 2, "y": 7, "label": "K" }, + { "matrix": [2, 8], "x": 2, "y": 8, "label": "L" }, + { "matrix": [2, 9], "x": 2, "y": 9, "label": ";" }, + { "matrix": [2, 10], "x": 2, "y": 10, "label": "'" }, + { "matrix": [2, 11], "x": 2, "y": 11, "label": "\\" }, + { "matrix": [2, 12], "x": 2, "y": 12, "label": "Enter" }, + + { "matrix": [3, 0], "x": 3, "y": 0, "label": "Z" }, + { "matrix": [3, 1], "x": 3, "y": 1, "label": "X" }, + { "matrix": [3, 2], "x": 3, "y": 2, "label": "C" }, + { "matrix": [3, 3], "x": 3, "y": 3, "label": "V" }, + { "matrix": [3, 4], "x": 3, "y": 4, "label": "B" }, + { "matrix": [3, 5], "x": 3, "y": 5, "label": "N" }, + { "matrix": [3, 6], "x": 3, "y": 6, "label": "M" }, + { "matrix": [3, 7], "x": 3, "y": 7, "label": "," }, + { "matrix": [3, 8], "x": 3, "y": 8, "label": "." }, + { "matrix": [3, 9], "x": 3, "y": 9, "label": "/" }, + { "matrix": [3, 10], "x": 3, "y": 10, "label": "Up" }, + { "matrix": [3, 11], "x": 3, "y": 11, "label": "RShift" }, + { "matrix": [3, 12], "x": 3, "y": 12, "label": "RShift" }, + + { "matrix": [4, 0], "x": 4, "y": 0, "label": "LCtrl" }, + { "matrix": [4, 1], "x": 4, "y": 1, "label": "Fn" }, + { "matrix": [4, 2], "x": 4, "y": 2, "label": "LShift" }, + { "matrix": [4, 3], "x": 4, "y": 3, "label": "Alt" }, + { "matrix": [4, 4], "x": 4, "y": 4, "label": "Space" }, + { "matrix": [4, 5], "x": 4, "y": 5, "label": "Space" }, + { "matrix": [4, 6], "x": 4, "y": 6, "label": "Space" }, + { "matrix": [4, 7], "x": 4, "y": 7, "label": "-" }, + { "matrix": [4, 8], "x": 4, "y": 8, "label": "=" }, + { "matrix": [4, 9], "x": 4, "y": 9, "label": "Left" }, + { "matrix": [4, 10], "x": 4, "y": 10, "label": "Down" }, + { "matrix": [4, 11], "x": 4, "y": 11, "label": "Right" }, + { "matrix": [4, 12], "x": 4, "y": 12, "label": "RCtrl" } + ] + } + } +} + diff --git a/keyboards/mkbd65/rev1/mkbd65.c b/keyboards/mkbd65/rev1/mkbd65.c new file mode 100644 index 0000000000..baca6508d4 --- /dev/null +++ b/keyboards/mkbd65/rev1/mkbd65.c @@ -0,0 +1,4 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "mkbd65.h" diff --git a/keyboards/mkbd65/rev1/mkbd65.h b/keyboards/mkbd65/rev1/mkbd65.h new file mode 100644 index 0000000000..759166bbcf --- /dev/null +++ b/keyboards/mkbd65/rev1/mkbd65.h @@ -0,0 +1,44 @@ +// Copyright 2023 XenGi (@XenGi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef MKBD65_H +#define MKBD65_H + +#include "quantum.h" + +/* LAYOUT + * ╔═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╗ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ + * ║ │ │ │ │ │ │ │ │ │ │ │ │ ║ + * ╚═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╝ + * This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312 }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412 } \ +} + +#endif diff --git a/keyboards/mkbd65/rev1/rules.mk b/keyboards/mkbd65/rev1/rules.mk new file mode 100644 index 0000000000..e5116166cc --- /dev/null +++ b/keyboards/mkbd65/rev1/rules.mk @@ -0,0 +1,2 @@ +MCU = STM32F072 +BOOTLOADER = stm32-dfu diff --git a/keyboards/mkbd65/rules.mk b/keyboards/mkbd65/rules.mk new file mode 100644 index 0000000000..3287da9fbd --- /dev/null +++ b/keyboards/mkbd65/rules.mk @@ -0,0 +1,19 @@ +# AVR MCU Options +F_CPU = 16000000 +ARCH = AVR8 +F_USB = $(F_CPU) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + +# Feature Options +MAGIC_ENABLE = no +AUDIO_ENABLE = no +KEY_OVERRIDE_ENABLE = no +LEADER_ENABLE = no +MIDI_ENABLE = no +UNICODE_ENABLE = no +BLUETOOTH_ENABLE = no +MUSIC_ENABLE = no +SPACE_CADET_ENABLE = no +GRAVE_ESC_ENABLE = yes +AVR_USE_MINIMAL_PRINTF = yes + diff --git a/keyboards/ml/gas75/gas75.c b/keyboards/ml/gas75/gas75.c new file mode 100644 index 0000000000..0744dd8092 --- /dev/null +++ b/keyboards/ml/gas75/gas75.c @@ -0,0 +1,34 @@ +/* Copyright 2022 ML + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +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 } +}, { + //Key matrix (0 -> 2) + {224, 0}, {0 , 0}, {6 , 38}, +}, { + //Key matrix (0 -> 2) + 4, 1, 8, +} }; +#endif diff --git a/keyboards/ml/gas75/keyboard.json b/keyboards/ml/gas75/keyboard.json index ac04365b6b..280735eb14 100644 --- a/keyboards/ml/gas75/keyboard.json +++ b/keyboards/ml/gas75/keyboard.json @@ -58,11 +58,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"x": 224, "y": 0, "flags": 4}, - {"x": 0, "y": 0, "flags": 1}, - {"x": 6, "y": 38, "flags": 8} - ], "max_brightness": 200 }, "features": { diff --git a/keyboards/ml/gas75/keymaps/default/keymap.c b/keyboards/ml/gas75/keymaps/default/keymap.c index 542e7732bb..8e61e104ed 100644 --- a/keyboards/ml/gas75/keymaps/default/keymap.c +++ b/keyboards/ml/gas75/keymaps/default/keymap.c @@ -31,6 +31,22 @@ enum layer_names { _FN, }; +enum user_rgb_mode { + RGB_MODE_ALL, + RGB_MODE_NONE, +}; + +typedef union { + uint32_t raw; + struct { + uint8_t rgb_mode :8; + }; +} user_config_t; + +user_config_t user_config; + +// enum layer_keycodes { }; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* @@ -103,6 +119,45 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; +void keyboard_post_init_user(void) { + user_config.raw = eeconfig_read_user(); + switch (user_config.rgb_mode) { + case RGB_MODE_ALL: + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + break; + case RGB_MODE_NONE: + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + break; + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_NONE; + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + user_config.rgb_mode = RGB_MODE_ALL; + } + break; + } + eeconfig_update_user(user_config.raw); + } + return false; + } + return true; +} + #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, diff --git a/keyboards/mode/m60h/config.h b/keyboards/mode/m60h/config.h index e13ea3c33f..e51bff8ca5 100644 --- a/keyboards/mode/m60h/config.h +++ b/keyboards/mode/m60h/config.h @@ -6,4 +6,4 @@ #define WS2812_PWM_DRIVER PWMD4 #define WS2812_PWM_CHANNEL 4 #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM6 -#define WS2812_PWM_DMA_CHANNEL 2 +#define WS2812_PWM_DMA_CHANNEL 2 \ No newline at end of file diff --git a/keyboards/mode/m60h/halconf.h b/keyboards/mode/m60h/halconf.h index 612ce4fc4a..6c00f38084 100644 --- a/keyboards/mode/m60h/halconf.h +++ b/keyboards/mode/m60h/halconf.h @@ -18,4 +18,4 @@ #define HAL_USE_PWM TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/mode/m60h/keyboard.json b/keyboards/mode/m60h/keyboard.json index 94a42c152f..39cbdb473f 100644 --- a/keyboards/mode/m60h/keyboard.json +++ b/keyboards/mode/m60h/keyboard.json @@ -113,4 +113,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/mode/m60h/mcuconf.h b/keyboards/mode/m60h/mcuconf.h index fe4c53e724..0b044526b2 100644 --- a/keyboards/mode/m60h/mcuconf.h +++ b/keyboards/mode/m60h/mcuconf.h @@ -21,4 +21,4 @@ #define STM32_PWM_USE_TIM4 TRUE #undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 5 +#define STM32_ST_USE_TIMER 5 \ No newline at end of file diff --git a/keyboards/mode/m60h_f/config.h b/keyboards/mode/m60h_f/config.h index e13ea3c33f..e51bff8ca5 100644 --- a/keyboards/mode/m60h_f/config.h +++ b/keyboards/mode/m60h_f/config.h @@ -6,4 +6,4 @@ #define WS2812_PWM_DRIVER PWMD4 #define WS2812_PWM_CHANNEL 4 #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM6 -#define WS2812_PWM_DMA_CHANNEL 2 +#define WS2812_PWM_DMA_CHANNEL 2 \ No newline at end of file diff --git a/keyboards/mode/m60h_f/halconf.h b/keyboards/mode/m60h_f/halconf.h index 612ce4fc4a..6c00f38084 100644 --- a/keyboards/mode/m60h_f/halconf.h +++ b/keyboards/mode/m60h_f/halconf.h @@ -18,4 +18,4 @@ #define HAL_USE_PWM TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/mode/m60h_f/keyboard.json b/keyboards/mode/m60h_f/keyboard.json index a5d18025c8..f04b599d84 100644 --- a/keyboards/mode/m60h_f/keyboard.json +++ b/keyboards/mode/m60h_f/keyboard.json @@ -111,4 +111,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/mode/m60h_f/mcuconf.h b/keyboards/mode/m60h_f/mcuconf.h index fe4c53e724..0b044526b2 100644 --- a/keyboards/mode/m60h_f/mcuconf.h +++ b/keyboards/mode/m60h_f/mcuconf.h @@ -21,4 +21,4 @@ #define STM32_PWM_USE_TIM4 TRUE #undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 5 +#define STM32_ST_USE_TIMER 5 \ No newline at end of file diff --git a/keyboards/mode/m60s/config.h b/keyboards/mode/m60s/config.h index e13ea3c33f..e51bff8ca5 100644 --- a/keyboards/mode/m60s/config.h +++ b/keyboards/mode/m60s/config.h @@ -6,4 +6,4 @@ #define WS2812_PWM_DRIVER PWMD4 #define WS2812_PWM_CHANNEL 4 #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM6 -#define WS2812_PWM_DMA_CHANNEL 2 +#define WS2812_PWM_DMA_CHANNEL 2 \ No newline at end of file diff --git a/keyboards/mode/m60s/halconf.h b/keyboards/mode/m60s/halconf.h index 612ce4fc4a..6c00f38084 100644 --- a/keyboards/mode/m60s/halconf.h +++ b/keyboards/mode/m60s/halconf.h @@ -18,4 +18,4 @@ #define HAL_USE_PWM TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/mode/m60s/keyboard.json b/keyboards/mode/m60s/keyboard.json index f17494910a..993af9b798 100644 --- a/keyboards/mode/m60s/keyboard.json +++ b/keyboards/mode/m60s/keyboard.json @@ -177,4 +177,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/mode/m60s/mcuconf.h b/keyboards/mode/m60s/mcuconf.h index fe4c53e724..0b044526b2 100644 --- a/keyboards/mode/m60s/mcuconf.h +++ b/keyboards/mode/m60s/mcuconf.h @@ -21,4 +21,4 @@ #define STM32_PWM_USE_TIM4 TRUE #undef STM32_ST_USE_TIMER -#define STM32_ST_USE_TIMER 5 +#define STM32_ST_USE_TIMER 5 \ No newline at end of file diff --git a/keyboards/mode/m65v2/keyboard.json b/keyboards/mode/m65v2/keyboard.json deleted file mode 100644 index ec9c4a807f..0000000000 --- a/keyboards/mode/m65v2/keyboard.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "manufacturer": "Mode", - "keyboard_name": "Mode M65 V2", - "maintainer": "Gondolindrim", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "eeprom": { - "wear_leveling": { - "backing_size": 4096 - } - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["C8", "C7", "C6", "B14", "B12", "A10", "B5", "C10", "C12", "B3", "C9", "B8", "B9", "C15", "C13", "C14"], - "rows": ["B0", "B1", "C5", "B10", "C4", "A8"] - }, - "processor": "STM32F401", - "qmk": { - "locking": { - "enabled": true, - "resync": true - } - }, - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "default": { - "animation": "rainbow_swirl", - "hue": 23, - "sat": 219, - "val": 140 - }, - "led_count": 36, - "led_map": [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, 31, 32, 33, 34, 35, 29, 30] - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x6665", - "vid": "0x00DE" - }, - "ws2812": { - "driver": "pwm", - "pin": "B15" - }, - "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": [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}, - {"matrix": [2, 14], "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": [5, 5], "x": 5.25, "y": 3}, - {"matrix": [5, 6], "x": 6.25, "y": 3}, - {"matrix": [5, 7], "x": 7.25, "y": 3}, - {"matrix": [5, 8], "x": 8.25, "y": 3}, - {"matrix": [5, 9], "x": 9.25, "y": 3}, - {"matrix": [5, 10], "x": 10.25, "y": 3}, - {"matrix": [5, 11], "x": 11.25, "y": 3}, - {"matrix": [5, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [5, 14], "x": 14, "y": 3}, - {"matrix": [5, 15], "x": 15, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13, "y": 4}, - {"matrix": [4, 14], "x": 14, "y": 4}, - {"matrix": [4, 15], "x": 15, "y": 4} - ] - } - } -} diff --git a/keyboards/mode/m65v2/keymaps/default/keymap.c b/keyboards/mode/m65v2/keymaps/default/keymap.c deleted file mode 100644 index 7423d300c5..0000000000 --- a/keyboards/mode/m65v2/keymaps/default/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2025 Gondolindrim - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - 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_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_NUHS, KC_ENT , KC_PGDN, - KC_LSFT, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END , - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - 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_MUTE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_VOLD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; diff --git a/keyboards/mode/m65v2/readme.md b/keyboards/mode/m65v2/readme.md deleted file mode 100644 index 046b5128d5..0000000000 --- a/keyboards/mode/m65v2/readme.md +++ /dev/null @@ -1,23 +0,0 @@ -# Mode M65 PCB V2 - -![Image Gallery](https://i.imgur.com/D2hUT7y.jpeg) - -The Mode M65 V2 is 65% PCB for the Mode line of keyboards. As of march 2026, the models compatible with this PCB are the Encore Envoy and SixtyFive. This firmware fits both solderable and hotswap variants. - -* Keyboard Maintainer: [Gondolindrim](https://github.com/gondolindrim) -* Hardware Supported: proprietary PCB using STM32F401 controller -* Hardware Availability: at the Mode Designs website. - -## Flashing instructions - -First you need to put the PCB in DFU mode through the bootloader. This is done in 3 ways: - -* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (top Left most switch) -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if available -* **Physical Reset Button**: hold down the button on the back of the PCB for at least five seconds. - -Flashing example for this keyboard: - - make mode/m65v2: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/mokey/ginkgo65/readme.md b/keyboards/mokey/ginkgo65/readme.md index bdc6c3de36..8caa629aef 100644 --- a/keyboards/mokey/ginkgo65/readme.md +++ b/keyboards/mokey/ginkgo65/readme.md @@ -18,4 +18,4 @@ Flashing example for this keyboard: make mokey/ginkgo65: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/mokey/ginkgo65hot/readme.md b/keyboards/mokey/ginkgo65hot/readme.md index aefe89e435..b3aa7ab562 100644 --- a/keyboards/mokey/ginkgo65hot/readme.md +++ b/keyboards/mokey/ginkgo65hot/readme.md @@ -17,4 +17,4 @@ Flashing example for this keyboard: make mokey/ginkgo65hot: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/mokey/mokey12x2/readme.md b/keyboards/mokey/mokey12x2/readme.md index ccfc51a788..75a87062c9 100644 --- a/keyboards/mokey/mokey12x2/readme.md +++ b/keyboards/mokey/mokey12x2/readme.md @@ -20,4 +20,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 2 ways: * **Physical reset button**: Briefly press the button: [boot] first, then press button: [reset] on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/moky/moky67/keyboard.json b/keyboards/moky/moky67/keyboard.json index 2e03836318..869dfc3389 100644 --- a/keyboards/moky/moky67/keyboard.json +++ b/keyboards/moky/moky67/keyboard.json @@ -229,4 +229,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/momokai/aurora/keymaps/default/keymap.c b/keyboards/momokai/aurora/keymaps/default/keymap.c index 791933f9b9..cb84cc87d9 100644 --- a/keyboards/momokai/aurora/keymaps/default/keymap.c +++ b/keyboards/momokai/aurora/keymaps/default/keymap.c @@ -16,4 +16,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/momokai/tap_duo/keyboard.json b/keyboards/momokai/tap_duo/keyboard.json index 82f8925594..1d5302985c 100644 --- a/keyboards/momokai/tap_duo/keyboard.json +++ b/keyboards/momokai/tap_duo/keyboard.json @@ -42,12 +42,6 @@ "solid_splash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 168, "y": 0, "flags": 4}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2} - ], "max_brightness": 200, "sleep": true }, diff --git a/keyboards/mode/m65v2/mcuconf.h b/keyboards/momokai/tap_duo/tap_duo.c similarity index 67% rename from keyboards/mode/m65v2/mcuconf.h rename to keyboards/momokai/tap_duo/tap_duo.c index ff2280716d..4e0bc9f42c 100644 --- a/keyboards/mode/m65v2/mcuconf.h +++ b/keyboards/momokai/tap_duo/tap_duo.c @@ -1,4 +1,4 @@ -/* Copyright 2020 QMK +/* Copyright 2022 Momokai * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,9 +14,18 @@ * along with this program. If not, see . */ -#pragma once +#include "quantum.h" -#include_next +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, 1, NO_LED, NO_LED, NO_LED} +}, { + // LED Index to Physical Position + { 112, 0}, { 168, 0}, { 0, 64}, { 224, 64} +}, { + // LED Index to Flag + 4,4,2,2 +} }; -#undef STM32_PWM_USE_TIM1 -#define STM32_PWM_USE_TIM1 TRUE +#endif diff --git a/keyboards/momokai/tap_trio/keyboard.json b/keyboards/momokai/tap_trio/keyboard.json index 536ea91a30..41da5585f6 100644 --- a/keyboards/momokai/tap_trio/keyboard.json +++ b/keyboards/momokai/tap_trio/keyboard.json @@ -42,13 +42,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 168, "y": 0, "flags": 4}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2} - ], "max_brightness": 200, "sleep": true }, diff --git a/keyboards/momokai/tap_trio/tap_trio.c b/keyboards/momokai/tap_trio/tap_trio.c new file mode 100644 index 0000000000..73957745a9 --- /dev/null +++ b/keyboards/momokai/tap_trio/tap_trio.c @@ -0,0 +1,31 @@ +/* Copyright 2022 Momokai + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, 1, 2, NO_LED, NO_LED, NO_LED} +}, { + // LED Index to Physical Position + { 56, 0}, { 112, 0}, { 168, 0}, { 0, 64}, { 224, 64} +}, { + // LED Index to Flag + 4,4,4,2,2 +} }; + +#endif diff --git a/keyboards/monsgeek/m1/m1.c b/keyboards/monsgeek/m1/m1.c index 4a7afe5562..6466b55412 100644 --- a/keyboards/monsgeek/m1/m1.c +++ b/keyboards/monsgeek/m1/m1.c @@ -164,3 +164,32 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { return true; } #endif + +// clang-format on + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + default: + return true; + } +} diff --git a/keyboards/monsgeek/m3/m3.c b/keyboards/monsgeek/m3/m3.c index 892e6d2b1d..0b26ef90a6 100644 --- a/keyboards/monsgeek/m3/m3.c +++ b/keyboards/monsgeek/m3/m3.c @@ -140,3 +140,30 @@ void housekeeping_task_kb(void){ gpio_write_pin(LED_MAC_OS_PIN, (get_highest_layer(default_layer_state) == 3)); gpio_write_pin(LED_WIN_LOCK_PIN, keymap_config.no_gui); } + +bool process_record_kb(uint16_t keycode, keyrecord_t* record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + default: + return true; + } +} diff --git a/keyboards/monsgeek/m6/m6.c b/keyboards/monsgeek/m6/m6.c index 577c36e051..180c370031 100644 --- a/keyboards/monsgeek/m6/m6.c +++ b/keyboards/monsgeek/m6/m6.c @@ -159,3 +159,39 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) } #endif +bool process_record_kb(uint16_t keycode, keyrecord_t *record) +{ + if (!process_record_user(keycode, record)) + { + return false; + } + switch (keycode) + { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) + { + switch (rgb_matrix_get_flags()) + { + case LED_FLAG_ALL: + { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: + { + rgb_matrix_set_flags(LED_FLAG_ALL); + } + break; + } + } + if (!rgb_matrix_is_enabled()) + { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + default: + return true; + } +} \ No newline at end of file diff --git a/keyboards/monstargear/xo87/rgb/keyboard.json b/keyboards/monstargear/xo87/rgb/keyboard.json index dc4015a266..9ee83deb00 100644 --- a/keyboards/monstargear/xo87/rgb/keyboard.json +++ b/keyboards/monstargear/xo87/rgb/keyboard.json @@ -58,118 +58,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"x": 224, "y": 63, "flags": 2}, - {"matrix": [5, 15], "x": 224, "y": 63, "flags": 1}, - {"matrix": [5, 14], "x": 215, "y": 63, "flags": 1}, - {"matrix": [5, 13], "x": 206, "y": 63, "flags": 1}, - {"matrix": [4, 15], "x": 180, "y": 63, "flags": 1}, - {"matrix": [5, 12], "x": 168, "y": 63, "flags": 1}, - {"matrix": [5, 11], "x": 153, "y": 63, "flags": 1}, - {"matrix": [5, 10], "x": 135, "y": 63, "flags": 1}, - {"matrix": [5, 6], "x": 101, "y": 63, "flags": 4}, - {"matrix": [5, 2], "x": 33, "y": 63, "flags": 1}, - {"matrix": [5, 1], "x": 22, "y": 63, "flags": 1}, - {"matrix": [5, 0], "x": 0, "y": 63, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 48, "flags": 1}, - {"matrix": [4, 2], "x": 30, "y": 48, "flags": 4}, - {"matrix": [4, 3], "x": 45, "y": 48, "flags": 4}, - {"matrix": [4, 4], "x": 60, "y": 48, "flags": 4}, - {"matrix": [4, 5], "x": 75, "y": 48, "flags": 4}, - {"matrix": [4, 6], "x": 90, "y": 48, "flags": 4}, - {"matrix": [4, 7], "x": 105, "y": 48, "flags": 4}, - {"matrix": [4, 8], "x": 120, "y": 48, "flags": 4}, - {"matrix": [4, 9], "x": 135, "y": 48, "flags": 4}, - {"matrix": [4, 10], "x": 150, "y": 48, "flags": 4}, - {"matrix": [4, 11], "x": 165, "y": 48, "flags": 4}, - {"matrix": [4, 12], "x": 198, "y": 48, "flags": 1}, - {"matrix": [4, 14], "x": 215, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 198, "y": 36, "flags": 1}, - {"matrix": [3, 11], "x": 180, "y": 36, "flags": 4}, - {"matrix": [3, 10], "x": 176, "y": 36, "flags": 4}, - {"matrix": [3, 9], "x": 161, "y": 36, "flags": 4}, - {"matrix": [3, 8], "x": 146, "y": 36, "flags": 4}, - {"matrix": [3, 7], "x": 131, "y": 36, "flags": 4}, - {"matrix": [3, 6], "x": 116, "y": 36, "flags": 4}, - {"matrix": [3, 5], "x": 101, "y": 36, "flags": 4}, - {"matrix": [3, 4], "x": 86, "y": 36, "flags": 4}, - {"matrix": [3, 3], "x": 71, "y": 36, "flags": 4}, - {"matrix": [3, 2], "x": 56, "y": 36, "flags": 4}, - {"matrix": [3, 1], "x": 41, "y": 36, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 36, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 24, "flags": 1}, - {"matrix": [2, 1], "x": 22, "y": 24, "flags": 4}, - {"matrix": [2, 2], "x": 37, "y": 24, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 24, "flags": 4}, - {"matrix": [2, 4], "x": 67, "y": 24, "flags": 4}, - {"matrix": [2, 5], "x": 82, "y": 24, "flags": 4}, - {"matrix": [2, 6], "x": 97, "y": 24, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 24, "flags": 4}, - {"matrix": [2, 8], "x": 127, "y": 24, "flags": 4}, - {"matrix": [2, 9], "x": 142, "y": 24, "flags": 4}, - {"matrix": [2, 10], "x": 157, "y": 24, "flags": 4}, - {"matrix": [2, 11], "x": 172, "y": 24, "flags": 4}, - {"matrix": [2, 12], "x": 187, "y": 24, "flags": 4}, - {"matrix": [4, 13], "x": 202, "y": 24, "flags": 1}, - {"matrix": [2, 13], "x": 206, "y": 24, "flags": 1}, - {"matrix": [2, 14], "x": 215, "y": 24, "flags": 1}, - {"matrix": [2, 15], "x": 224, "y": 24, "flags": 1}, - {"matrix": [1, 15], "x": 224, "y": 12, "flags": 1}, - {"matrix": [1, 14], "x": 215, "y": 12, "flags": 1}, - {"matrix": [1, 13], "x": 206, "y": 12, "flags": 1}, - {"matrix": [3, 13], "x": 202, "y": 12, "flags": 1}, - {"matrix": [1, 12], "x": 187, "y": 12, "flags": 4}, - {"matrix": [1, 11], "x": 172, "y": 12, "flags": 4}, - {"matrix": [1, 10], "x": 157, "y": 12, "flags": 4}, - {"matrix": [1, 9], "x": 142, "y": 12, "flags": 4}, - {"matrix": [1, 8], "x": 127, "y": 12, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 97, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 82, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 67, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 37, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 22, "y": 12, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"x": 0, "y": 0, "flags": 8}, - {"x": 0, "y": 0, "flags": 8}, - {"x": 0, "y": 0, "flags": 8}, - {"matrix": [0, 1], "x": 25, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 55, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 82, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 108, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 120, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 130, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 148, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 172, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 187, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 190, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 195, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 206, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 215, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1} - ], "max_brightness": 100, "sleep": true }, diff --git a/keyboards/monstargear/xo87/rgb/rgb.c b/keyboards/monstargear/xo87/rgb/rgb.c index 1e29c8b70b..c064953444 100644 --- a/keyboards/monstargear/xo87/rgb/rgb.c +++ b/keyboards/monstargear/xo87/rgb/rgb.c @@ -15,6 +15,56 @@ */ #include "quantum.h" +led_config_t g_led_config = { { + // esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prtscr scrl brk + { 91, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109 }, + //tilde 1 2 3 4 5 6 7 8 9 0 - = ins home pgup + { 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 76, 75, 74 }, + //tab q w e r t y u i o p [ ] del end pgdn + { 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73 }, + //caps a s d f g h j k l ; ' return bspc + { 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 77, NO_LED, NO_LED }, + //lshift z x c v b n m , . / rshift bsls up rctl + { 31, NO_LED, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 70, 43, 23 }, + //ctrl win alt space alt win mod left down right + { 30, 29, 28, NO_LED, NO_LED, NO_LED, 27, NO_LED, NO_LED, NO_LED, 26, 25, 24, 22, 21, 20 }, + //underglow lights + //{ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }, + //{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } + +}, { + // Underglow lights + { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, { 254, 63 }, + // right down left rctl mod rwin ralt space lalt lwin lctl + { 225, 63 }, { 215, 63 }, { 206, 63 }, { 180, 63 }, { 168, 63}, { 153, 63 }, { 135, 63 }, { 101, 63 }, { 33, 63 }, { 22, 63 }, { 0, 63 }, + // lshift z x c v b n m comma period question rshift up + { 0, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 198, 48 }, { 215, 48}, + // return ' ; l k j h g f d s a capslock + { 198, 36 }, { 180, 36 }, { 176, 36 }, { 161, 36 }, { 146, 36 }, { 131, 36 }, { 116, 36 }, { 101, 36 }, { 86, 36 }, { 71, 36 }, { 56, 36 }, { 41, 36 }, { 0, 36 }, + // tab q w e r t y u i o p [ ] backslash del end pgdn + { 0, 24 }, { 22, 24}, { 37, 24 }, { 52, 24 }, { 67, 24 }, { 82, 24 }, { 97, 24 }, { 112, 24 }, { 127, 24 }, { 142, 24 }, { 157, 24 }, { 172, 24 }, { 187, 24 }, { 202, 24}, { 206, 24 }, {215, 24}, { 225, 24 }, + // pgup home ins backspace = - 0 9 8 7 6 5 4 3 2 1 tilde + { 225, 12 }, {215, 12}, { 206, 12 }, { 202, 12}, { 187, 12 }, { 172, 12 }, { 157, 12 }, { 142, 12 }, { 127, 12 }, { 112, 12 }, { 97, 12 }, { 82, 12 }, { 67, 12 }, { 52, 12 }, { 37, 12 }, { 22, 12}, { 0, 12 }, + // esc ind1 ind2 ind3 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 prtscr scrlck pause + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 25, 0 }, { 40, 0 }, { 55, 0 }, { 82, 0 }, { 108, 0 }, { 120, 0 }, { 130, 0 }, { 148, 0 }, { 172, 0 }, { 187, 0 }, { 190, 0 }, { 195, 0 }, { 206, 0 }, { 215, 0}, { 225, 0 } +}, { + // underglow + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + // bottom row + 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, + // 2nd row up + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + // 3rd row up + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + // 4th row up + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, + // 5th row up + 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + // top row + 1, 8, 8, 8, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1 +} }; + + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/morizon/keymaps/default/keymap.c b/keyboards/morizon/keymaps/default/keymap.c index 4480ab73ca..c84ddeaeb3 100644 --- a/keyboards/morizon/keymaps/default/keymap.c +++ b/keyboards/morizon/keymaps/default/keymap.c @@ -47,4 +47,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/morningstar1/pttbutton/keyboard.json b/keyboards/morningstar1/pttbutton/keyboard.json deleted file mode 100644 index 0d80d6c497..0000000000 --- a/keyboards/morningstar1/pttbutton/keyboard.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "manufacturer": "Sebastian Morgenstern", - "keyboard_name": "pttbutton", - "maintainer": "morningstar1", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "features": { - "extrakey": true - }, - "matrix_pins": { - "cols": ["B0"], - "rows": ["A0"] - }, - "processor": "STM32F042", - "url": "https://github.com/morningstar1/pttbutton", - "usb": { - "device_version": "1.0.0", - "vid": "0x736D", - "pid": "0xAFFE" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0} - ] - } - } -} diff --git a/keyboards/morningstar1/pttbutton/keymaps/default/keymap.c b/keyboards/morningstar1/pttbutton/keymaps/default/keymap.c deleted file mode 100644 index d6f74364eb..0000000000 --- a/keyboards/morningstar1/pttbutton/keymaps/default/keymap.c +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2026 SEbastian Morgenstern -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_F14 - ) -}; diff --git a/keyboards/morningstar1/pttbutton/readme.md b/keyboards/morningstar1/pttbutton/readme.md deleted file mode 100644 index 279438e1b0..0000000000 --- a/keyboards/morningstar1/pttbutton/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# pttbutton - -![pttbutton](https://github.com/morningstar1/PTTButton/blob/main/image/PTTButton.png?raw=true) - -A simple one button keyboard with a USB Hub. Primary intention is to use it as a Push To Talk (PTT) button. - -* Keyboard Maintainer: [Sebastian Morgenstern](https://github.com/morningstar1) -* Hardware Supported: [PTTButton V1.0](https://github.com/morningstar1/PTTButton) -* Hardware Availability: please contact me - -Make example for this keyboard (after setting up your build environment): - - make morningstar1/pttbutton:default - -Flashing example for this keyboard: - - make morningstar1/pttbutton: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 one way: - -* **Physical reset button**: Briefly press the small button on the PCB diff --git a/keyboards/mountainblocks/mb17/keymaps/default/keymap.c b/keyboards/mountainblocks/mb17/keymaps/default/keymap.c index 705c4fcb2e..13c8cf8128 100644 --- a/keyboards/mountainblocks/mb17/keymaps/default/keymap.c +++ b/keyboards/mountainblocks/mb17/keymaps/default/keymap.c @@ -57,4 +57,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_END, KC_DOWN, KC_PGDN, KC_INS, KC_DEL, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/mountainmechdesigns/teton_78/keyboard.json b/keyboards/mountainmechdesigns/teton_78/keyboard.json index 07bde308a5..ba7cfdd2c3 100644 --- a/keyboards/mountainmechdesigns/teton_78/keyboard.json +++ b/keyboards/mountainmechdesigns/teton_78/keyboard.json @@ -107,4 +107,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/mountainmechdesigns/teton_78/readme.md b/keyboards/mountainmechdesigns/teton_78/readme.md index 29cc77eacd..40ef5c436b 100644 --- a/keyboards/mountainmechdesigns/teton_78/readme.md +++ b/keyboards/mountainmechdesigns/teton_78/readme.md @@ -34,4 +34,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/mss_studio/m63_rgb/keyboard.json b/keyboards/mss_studio/m63_rgb/keyboard.json index 5aa3a753e2..b798df21dd 100644 --- a/keyboards/mss_studio/m63_rgb/keyboard.json +++ b/keyboards/mss_studio/m63_rgb/keyboard.json @@ -61,83 +61,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "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": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 8}, - {"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, 13], "x": 214, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 68, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 84, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 100, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 116, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 132, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 148, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 164, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 186, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 4}, - {"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}, - {"x": 216, "y": 56, "flags": 2}, - {"x": 181, "y": 57, "flags": 2}, - {"x": 138, "y": 59, "flags": 2}, - {"x": 105, "y": 58, "flags": 2}, - {"x": 52, "y": 60, "flags": 2}, - {"x": 10, "y": 60, "flags": 2}, - {"x": 20, "y": 12, "flags": 2}, - {"x": 54, "y": 12, "flags": 2}, - {"x": 102, "y": 10, "flags": 2}, - {"x": 145, "y": 13, "flags": 2}, - {"x": 182, "y": 9, "flags": 2}, - {"x": 211, "y": 10, "flags": 2} - ], "max_brightness": 200 }, "features": { diff --git a/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c index ac26ed2de9..8a59f2ec9f 100644 --- a/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c @@ -32,6 +32,24 @@ enum layer_names { _FN, }; +enum user_rgb_mode { + RGB_MODE_ALL, + RGB_MODE_KEYLIGHT, + RGB_MODE_UNDERGLOW, + RGB_MODE_NONE, +}; + +typedef union { + uint32_t raw; + struct { + uint8_t rgb_mode :8; + }; +} user_config_t; + +user_config_t user_config; + +// enum layer_keycodes { }; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* @@ -90,6 +108,66 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; +void keyboard_post_init_user(void) { + user_config.raw = eeconfig_read_user(); + switch (user_config.rgb_mode) { + case RGB_MODE_ALL: + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + break; + case RGB_MODE_KEYLIGHT: + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + break; + case RGB_MODE_UNDERGLOW: + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + break; + case RGB_MODE_NONE: + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + break; + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_KEYLIGHT; + } + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_UNDERGLOW; + } + break; + case (LED_FLAG_UNDERGLOW): { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_NONE; + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + user_config.rgb_mode = RGB_MODE_ALL; + } + break; + } + eeconfig_update_user(user_config.raw); + } + return false; + } + + return true; +} + bool rgb_matrix_indicators_user(void) { hsv_t hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); diff --git a/keyboards/mss_studio/m63_rgb/m63_rgb.c b/keyboards/mss_studio/m63_rgb/m63_rgb.c new file mode 100644 index 0000000000..71a43720cc --- /dev/null +++ b/keyboards/mss_studio/m63_rgb/m63_rgb.c @@ -0,0 +1,50 @@ +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +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, NO_LED, 40 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, NO_LED, 52, 53 }, + { 54, 55, 56, NO_LED, NO_LED, 57, NO_LED, NO_LED, NO_LED, 58, 59, 60, 61, 62 } +}, { + // Key matrix (0 -> 62) + {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}, {24 , 16}, {40 , 16}, {56 , 16}, {72 , 16}, {88 , 16}, {104, 16}, {120, 16}, {136, 16}, {152, 16}, {168, 16}, {184, 16}, {200, 16}, {220, 16}, + {6 , 32}, {28 , 32}, {44 , 32}, {60 , 32}, {76 , 32}, {92 , 32}, {108, 32}, {124, 32}, {140, 32}, {156, 32}, {172, 32}, {188, 32}, {214, 32}, + {10 , 48}, {36 , 48}, {52 , 48}, {68 , 48}, {84 , 48}, {100, 48}, {116, 48}, {132, 48}, {148, 48}, {164, 48}, {186, 48}, {208, 48}, {224, 48}, + {2 , 64}, {22 , 64}, {42 , 64}, {102, 64}, {160, 64}, {176, 64}, {192, 64}, {208, 64}, {224, 64}, + + // Underglow (63 -> 74) + {216, 56}, {181, 57}, {138, 59}, {105, 58}, {52 , 60}, {10 , 60}, + {20 , 12}, {54 , 12}, {102, 10}, {145, 13}, {182, 9}, {211, 10}, +}, { + // Key matrix (0 -> 62) + 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, 4, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, + 1, 1, 1, 4, 1, 1, 4, 4, 4, + + // Underglow (63 -> 74) + 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2 +} }; +#endif diff --git a/keyboards/mss_studio/m64_rgb/keyboard.json b/keyboards/mss_studio/m64_rgb/keyboard.json index b2aa92d8f2..083afec8c7 100644 --- a/keyboards/mss_studio/m64_rgb/keyboard.json +++ b/keyboards/mss_studio/m64_rgb/keyboard.json @@ -61,84 +61,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "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": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 8}, - {"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, 13], "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": 1}, - {"matrix": [3, 12], "x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 4}, - {"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}, - {"x": 216, "y": 56, "flags": 2}, - {"x": 181, "y": 57, "flags": 2}, - {"x": 138, "y": 59, "flags": 2}, - {"x": 105, "y": 58, "flags": 2}, - {"x": 52, "y": 60, "flags": 2}, - {"x": 10, "y": 60, "flags": 2}, - {"x": 20, "y": 12, "flags": 2}, - {"x": 54, "y": 12, "flags": 2}, - {"x": 102, "y": 10, "flags": 2}, - {"x": 145, "y": 13, "flags": 2}, - {"x": 182, "y": 9, "flags": 2}, - {"x": 211, "y": 10, "flags": 2} - ], "max_brightness": 200 }, "features": { diff --git a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c index 82180c7c21..c3879b2b61 100644 --- a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c @@ -28,6 +28,24 @@ enum layer_names { _FN, }; +enum user_rgb_mode { + RGB_MODE_ALL, + RGB_MODE_KEYLIGHT, + RGB_MODE_UNDERGLOW, + RGB_MODE_NONE, +}; + +typedef union { + uint32_t raw; + struct { + uint8_t rgb_mode :8; + }; +} user_config_t; + +user_config_t user_config; + +// enum layer_keycodes { }; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* @@ -86,6 +104,66 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; +void keyboard_post_init_user(void) { + user_config.raw = eeconfig_read_user(); + switch (user_config.rgb_mode) { + case RGB_MODE_ALL: + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + break; + case RGB_MODE_KEYLIGHT: + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + break; + case RGB_MODE_UNDERGLOW: + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + break; + case RGB_MODE_NONE: + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + break; + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_KEYLIGHT; + } + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_UNDERGLOW; + } + break; + case (LED_FLAG_UNDERGLOW): { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + user_config.rgb_mode = RGB_MODE_NONE; + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + user_config.rgb_mode = RGB_MODE_ALL; + } + break; + } + eeconfig_update_user(user_config.raw); + } + return false; + } + + return true; +} + bool rgb_matrix_indicators_user(void) { hsv_t hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); diff --git a/keyboards/mss_studio/m64_rgb/m64_rgb.c b/keyboards/mss_studio/m64_rgb/m64_rgb.c new file mode 100644 index 0000000000..f9b2778371 --- /dev/null +++ b/keyboards/mss_studio/m64_rgb/m64_rgb.c @@ -0,0 +1,50 @@ +/* Copyright 2021 Mss Studio + * Copyright 2022 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +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, NO_LED, 40 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54 }, + { 55, 56, 57, NO_LED, NO_LED, 58, NO_LED, NO_LED, NO_LED, 59, 60, 61, 62, 63 } +}, { + // Key matrix (0 -> 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}, {24 , 16}, {40 , 16}, {56 , 16}, {72 , 16}, {88 , 16}, {104, 16}, {120, 16}, {136, 16}, {152, 16}, {168, 16}, {184, 16}, {200, 16}, {220, 16}, + {6 , 32}, {28 , 32}, {44 , 32}, {60 , 32}, {76 , 32}, {92 , 32}, {108, 32}, {124, 32}, {140, 32}, {156, 32}, {172, 32}, {188, 32}, {214, 32}, + {8 , 48}, {32 , 48}, {48 , 48}, {64 , 48}, {80 , 48}, {96 , 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48}, {224, 48}, + {2 , 64}, {22 , 64}, {42 , 64}, {102, 64}, {160, 64}, {176, 64}, {192, 64}, {208, 64}, {224, 64}, + + // Underglow (64 -> 75) + {216, 56}, {181, 57}, {138, 59}, {105, 58}, {52 , 60}, {10 , 60}, + {20 , 12}, {54 , 12}, {102, 10}, {145, 13}, {182, 9}, {211, 10}, +}, { + // Key matrix (0 -> 63) + 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, 4, + 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, + 1, 1, 1, 4, 1, 1, 4, 4, 4, + + // Underglow (64 -> 75) + 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2 +} }; +#endif diff --git a/keyboards/mwstudio/mw65_rgb/keyboard.json b/keyboards/mwstudio/mw65_rgb/keyboard.json index 5508e3b663..ce8e3f978c 100644 --- a/keyboards/mwstudio/mw65_rgb/keyboard.json +++ b/keyboards/mwstudio/mw65_rgb/keyboard.json @@ -54,91 +54,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"x": 180, "y": 52, "flags": 2}, - {"x": 146, "y": 52, "flags": 2}, - {"x": 86, "y": 52, "flags": 2}, - {"x": 45, "y": 52, "flags": 2}, - {"x": 7, "y": 52, "flags": 2}, - {"x": 7, "y": 36, "flags": 2}, - {"x": 7, "y": 20, "flags": 2}, - {"x": 7, "y": 4, "flags": 2}, - {"x": 45, "y": 4, "flags": 2}, - {"x": 86, "y": 4, "flags": 2}, - {"x": 146, "y": 4, "flags": 2}, - {"x": 180, "y": 4, "flags": 2}, - {"x": 217, "y": 4, "flags": 2}, - {"x": 217, "y": 20, "flags": 2}, - {"x": 217, "y": 36, "flags": 2}, - {"x": 217, "y": 52, "flags": 2}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 209, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 194, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 173, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 156, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 36, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 19, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [3, 0], "x": 8, "y": 48, "flags": 1}, - {"matrix": [3, 2], "x": 31, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 46, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 61, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 76, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 91, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 106, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 121, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 136, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 151, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 166, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 188, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 200, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 175, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 145, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 130, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 115, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 100, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 85, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 70, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 55, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 25, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 5, "y": 32, "flags": 8}, - {"matrix": [1, 0], "x": 3, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 21, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 36, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 51, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 81, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 111, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 126, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 141, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 156, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 171, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 186, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 205, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 135, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 120, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1} - ], "max_brightness": 200 }, "features": { diff --git a/keyboards/mwstudio/mw65_rgb/mw65_rgb.c b/keyboards/mwstudio/mw65_rgb/mw65_rgb.c new file mode 100644 index 0000000000..0cd8fdaa75 --- /dev/null +++ b/keyboards/mwstudio/mw65_rgb/mw65_rgb.c @@ -0,0 +1,47 @@ +/* Copyright 2021 TW59420 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68 }, + { 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67 }, + { 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, NO_LED, 40, 39 }, + { 25, NO_LED, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38 }, + { 24, 23, 22, NO_LED, NO_LED, NO_LED, 21, NO_LED, NO_LED, NO_LED, 20, 19, 18, 17, 16 } +}, { + //Underglow (0 -> 15) + {180, 52}, {146, 52}, {86 , 52}, {45 , 52}, {7 , 52}, {7 , 36}, {7 , 20}, {7 , 4}, {45 , 4}, {86 , 4}, {146, 4}, {180, 4}, {217, 4}, {217, 20}, {217, 36}, {217, 52}, + + //Key matrix (16 -> 83) + {224, 64}, {209, 64}, {194, 64}, {173, 64}, {156, 64}, {96 , 64}, {36 , 64}, {19 , 64}, {2 , 64}, + {8 , 48}, {31 , 48}, {46 , 48}, {61 , 48}, {76 , 48}, {91 , 48}, {106, 48}, {121, 48}, {136, 48}, {151, 48}, {166, 48}, {188, 48}, {210, 48}, {224, 48}, + {224, 32}, {200, 32}, {175, 32}, {160, 32}, {145, 32}, {130, 32}, {115, 32}, {100, 32}, {85 , 32}, {70 , 32}, {55 , 32}, {40 , 32}, {25 , 32}, {5 , 32}, + {3 , 16}, {21 , 16}, {36 , 16}, {51 , 16}, {66 , 16}, {81 , 16}, {96 , 16}, {111, 16}, {126, 16}, {141, 16}, {156, 16}, {171, 16}, {186, 16}, {205, 16}, {224, 16}, + {224, 0}, {202, 0}, {180, 0}, {165, 0}, {150, 0}, {135, 0}, {120, 0}, {105, 0}, {90 , 0}, {75 , 0}, {60 , 0}, {45 , 0}, {30 , 0}, {15 , 0}, {0 , 0}, +}, { + //Underglow (0 -> 15) + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + + //Key matrix (16 -> 82) + 4, 4, 4, 1, 1, 4, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, + 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, +} }; +#endif diff --git a/keyboards/mwstudio/mw660/config.h b/keyboards/mwstudio/mw660/config.h index d39cc40330..58d0eee9e0 100644 --- a/keyboards/mwstudio/mw660/config.h +++ b/keyboards/mwstudio/mw660/config.h @@ -21,4 +21,4 @@ //#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy). #define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM7 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -#define WS2812_PWM_DMA_CHANNEL 2 +#define WS2812_PWM_DMA_CHANNEL 2 \ No newline at end of file diff --git a/keyboards/mwstudio/mw75/keyboard.json b/keyboards/mwstudio/mw75/keyboard.json index 4096bd943a..489e711c5b 100644 --- a/keyboards/mwstudio/mw75/keyboard.json +++ b/keyboards/mwstudio/mw75/keyboard.json @@ -51,105 +51,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [5, 14], "x": 217, "y": 60, "flags": 1}, - {"matrix": [5, 13], "x": 203, "y": 60, "flags": 1}, - {"matrix": [5, 12], "x": 189, "y": 60, "flags": 1}, - {"matrix": [5, 11], "x": 166, "y": 60, "flags": 1}, - {"matrix": [5, 10], "x": 150, "y": 60, "flags": 1}, - {"matrix": [5, 6], "x": 95, "y": 60, "flags": 1}, - {"matrix": [5, 2], "x": 40, "y": 60, "flags": 1}, - {"matrix": [5, 1], "x": 24, "y": 60, "flags": 1}, - {"matrix": [5, 0], "x": 8, "y": 60, "flags": 1}, - {"matrix": [4, 14], "x": 217, "y": 50, "flags": 1}, - {"matrix": [4, 13], "x": 203, "y": 50, "flags": 1}, - {"matrix": [4, 12], "x": 184, "y": 50, "flags": 1}, - {"matrix": [4, 11], "x": 165, "y": 50, "flags": 1}, - {"matrix": [4, 10], "x": 151, "y": 50, "flags": 1}, - {"matrix": [4, 9], "x": 137, "y": 50, "flags": 1}, - {"matrix": [4, 8], "x": 123, "y": 50, "flags": 1}, - {"matrix": [4, 7], "x": 109, "y": 50, "flags": 1}, - {"matrix": [4, 6], "x": 95, "y": 50, "flags": 1}, - {"matrix": [4, 5], "x": 81, "y": 50, "flags": 1}, - {"matrix": [4, 4], "x": 67, "y": 50, "flags": 1}, - {"matrix": [4, 3], "x": 53, "y": 50, "flags": 1}, - {"matrix": [4, 2], "x": 39, "y": 50, "flags": 1}, - {"matrix": [4, 0], "x": 17, "y": 50, "flags": 1}, - {"matrix": [3, 14], "x": 217, "y": 40, "flags": 1}, - {"matrix": [3, 13], "x": 195, "y": 40, "flags": 1}, - {"matrix": [3, 11], "x": 172, "y": 40, "flags": 1}, - {"matrix": [3, 10], "x": 158, "y": 40, "flags": 1}, - {"matrix": [3, 9], "x": 144, "y": 40, "flags": 1}, - {"matrix": [3, 8], "x": 130, "y": 40, "flags": 1}, - {"matrix": [3, 7], "x": 116, "y": 40, "flags": 1}, - {"matrix": [3, 6], "x": 102, "y": 40, "flags": 1}, - {"matrix": [3, 5], "x": 88, "y": 40, "flags": 1}, - {"matrix": [3, 4], "x": 74, "y": 40, "flags": 1}, - {"matrix": [3, 3], "x": 60, "y": 40, "flags": 1}, - {"matrix": [3, 2], "x": 46, "y": 40, "flags": 1}, - {"matrix": [3, 1], "x": 32, "y": 40, "flags": 1}, - {"matrix": [3, 0], "x": 13, "y": 40, "flags": 1}, - {"matrix": [2, 14], "x": 217, "y": 30, "flags": 1}, - {"matrix": [2, 13], "x": 199, "y": 30, "flags": 1}, - {"matrix": [2, 12], "x": 181, "y": 30, "flags": 1}, - {"matrix": [2, 11], "x": 165, "y": 30, "flags": 1}, - {"matrix": [2, 10], "x": 151, "y": 30, "flags": 1}, - {"matrix": [2, 9], "x": 137, "y": 30, "flags": 1}, - {"matrix": [2, 8], "x": 123, "y": 30, "flags": 1}, - {"matrix": [2, 7], "x": 109, "y": 30, "flags": 1}, - {"matrix": [2, 6], "x": 95, "y": 30, "flags": 1}, - {"matrix": [2, 5], "x": 81, "y": 30, "flags": 1}, - {"matrix": [2, 4], "x": 67, "y": 30, "flags": 1}, - {"matrix": [2, 3], "x": 53, "y": 30, "flags": 1}, - {"matrix": [2, 2], "x": 39, "y": 30, "flags": 1}, - {"matrix": [2, 1], "x": 25, "y": 30, "flags": 1}, - {"matrix": [2, 0], "x": 9, "y": 30, "flags": 1}, - {"matrix": [1, 14], "x": 217, "y": 20, "flags": 1}, - {"matrix": [1, 13], "x": 196, "y": 20, "flags": 1}, - {"matrix": [1, 12], "x": 175, "y": 20, "flags": 1}, - {"matrix": [1, 11], "x": 161, "y": 20, "flags": 1}, - {"matrix": [1, 10], "x": 147, "y": 20, "flags": 1}, - {"matrix": [1, 9], "x": 133, "y": 20, "flags": 1}, - {"matrix": [1, 8], "x": 119, "y": 20, "flags": 1}, - {"matrix": [1, 7], "x": 105, "y": 20, "flags": 1}, - {"matrix": [1, 6], "x": 91, "y": 20, "flags": 1}, - {"matrix": [1, 5], "x": 77, "y": 20, "flags": 1}, - {"matrix": [1, 4], "x": 63, "y": 20, "flags": 1}, - {"matrix": [1, 3], "x": 49, "y": 20, "flags": 1}, - {"matrix": [1, 2], "x": 35, "y": 20, "flags": 1}, - {"matrix": [1, 1], "x": 21, "y": 20, "flags": 1}, - {"matrix": [1, 0], "x": 7, "y": 20, "flags": 1}, - {"matrix": [0, 14], "x": 217, "y": 5, "flags": 1}, - {"matrix": [0, 13], "x": 196, "y": 5, "flags": 1}, - {"matrix": [0, 12], "x": 182, "y": 5, "flags": 1}, - {"matrix": [0, 11], "x": 168, "y": 5, "flags": 1}, - {"matrix": [0, 10], "x": 154, "y": 5, "flags": 1}, - {"matrix": [0, 9], "x": 133, "y": 5, "flags": 1}, - {"matrix": [0, 8], "x": 119, "y": 5, "flags": 1}, - {"matrix": [0, 7], "x": 105, "y": 5, "flags": 1}, - {"matrix": [0, 6], "x": 91, "y": 5, "flags": 1}, - {"matrix": [0, 5], "x": 70, "y": 5, "flags": 1}, - {"matrix": [0, 4], "x": 56, "y": 5, "flags": 1}, - {"matrix": [0, 3], "x": 42, "y": 5, "flags": 1}, - {"matrix": [0, 2], "x": 28, "y": 5, "flags": 1}, - {"matrix": [0, 1], "x": 7, "y": 5, "flags": 1}, - {"matrix": [0, 0], "x": 14, "y": 14, "flags": 1}, - {"matrix": [6, 0], "x": 42, "y": 14, "flags": 1}, - {"matrix": [6, 1], "x": 98, "y": 14, "flags": 1}, - {"matrix": [6, 2], "x": 154, "y": 14, "flags": 1}, - {"matrix": [6, 3], "x": 182, "y": 14, "flags": 1}, - {"matrix": [6, 4], "x": 210, "y": 14, "flags": 1}, - {"matrix": [6, 5], "x": 210, "y": 25, "flags": 1}, - {"matrix": [6, 6], "x": 210, "y": 40, "flags": 1}, - {"matrix": [6, 7], "x": 210, "y": 55, "flags": 1}, - {"matrix": [6, 8], "x": 182, "y": 55, "flags": 1}, - {"matrix": [6, 9], "x": 126, "y": 55, "flags": 1}, - {"matrix": [6, 10], "x": 98, "y": 55, "flags": 1}, - {"matrix": [6, 11], "x": 42, "y": 55, "flags": 1}, - {"matrix": [6, 12], "x": 14, "y": 55, "flags": 1}, - {"matrix": [6, 13], "x": 14, "y": 40, "flags": 1}, - {"matrix": [6, 14], "x": 14, "y": 25, "flags": 1} - ], "max_brightness": 200 }, "features": { diff --git a/keyboards/mwstudio/mw75/mw75.c b/keyboards/mwstudio/mw75/mw75.c new file mode 100644 index 0000000000..dda51cb971 --- /dev/null +++ b/keyboards/mwstudio/mw75/mw75.c @@ -0,0 +1,47 @@ +/* Copyright 2021 TW59420 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67 }, + { 66, 65, 64, 63, 62, 61, 60, 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, NO_LED, 24, 23 }, + { 22, NO_LED, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9 }, + { 8, 7, 6, NO_LED, NO_LED, NO_LED, 5, NO_LED, NO_LED, NO_LED, 4, 3, 2, 1, 0 }, + { 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 } +}, { + { 217, 60 }, { 203, 60 }, { 189, 60 }, { 166, 60 }, { 150, 60 }, { 95, 60 }, { 40, 60 }, { 24, 60 }, { 8, 60 }, + { 217, 50 }, { 203, 50 }, { 184, 50 }, { 165, 50 }, { 151, 50 }, { 137, 50 }, { 123, 50 }, { 109, 50 }, { 95, 50 }, { 81, 50 }, { 67, 50 }, { 53, 50 }, { 39, 50 }, { 17, 50 }, + { 217, 40 }, { 195, 40 }, { 172, 40 }, { 158, 40 }, { 144, 40 }, { 130, 40 }, { 116, 40 }, { 102, 40 }, { 88, 40 }, { 74, 40 }, { 60, 40 }, { 46, 40 }, { 32, 40 }, { 13, 40 }, + { 217, 30 }, { 199, 30 }, { 181, 30 }, { 165, 30 }, { 151, 30 }, { 137, 30 }, { 123, 30 }, { 109, 30 }, { 95, 30 }, { 81, 30 }, { 67, 30 }, { 53, 30 }, { 39, 30 }, { 25, 30 }, { 9, 30 }, + { 217, 20 }, { 196, 20 }, { 175, 20 }, { 161, 20 }, { 147, 20 }, { 133, 20 }, { 119, 20 }, { 105, 20 }, { 91, 20 }, { 77, 20 }, { 63, 20 }, { 49, 20 }, { 35, 20 }, { 21, 20 }, { 7, 20 }, + { 217, 5 }, { 196, 5 }, { 182, 5 }, { 168, 5 }, { 154, 5 }, { 133, 5 }, { 119, 5 }, { 105, 5 }, { 91, 5 }, { 70, 5 }, { 56, 5 }, { 42, 5 }, { 28, 5 }, { 7, 5 }, + + { 14, 14 }, { 42, 14 }, { 98, 14 }, { 154, 14 }, { 182, 14 }, { 210, 14 }, { 210, 25 }, { 210, 40 }, + { 210, 55 },{ 182, 55 },{ 126, 55 },{ 98, 55 }, { 42, 55 }, { 14, 55 }, { 14, 40 }, { 14, 25 } +}, { + 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +} }; +#endif diff --git a/keyboards/mwstudio/mw75r2/keyboard.json b/keyboards/mwstudio/mw75r2/keyboard.json index 6cb4269400..10c6a226ca 100644 --- a/keyboards/mwstudio/mw75r2/keyboard.json +++ b/keyboards/mwstudio/mw75r2/keyboard.json @@ -39,30 +39,7 @@ "pixel_fractal": true, "pixel_rain": true }, - "driver": "ws2812", - "layout": [ - {"x": 105, "y": 60, "flags": 1}, - {"x": 70, "y": 60, "flags": 1}, - {"x": 35, "y": 60, "flags": 1}, - {"x": 0, "y": 60, "flags": 1}, - {"x": 0, "y": 40, "flags": 1}, - {"x": 0, "y": 20, "flags": 1}, - {"x": 0, "y": 0, "flags": 1}, - {"x": 42, "y": 0, "flags": 1}, - {"x": 84, "y": 0, "flags": 1}, - {"x": 126, "y": 0, "flags": 1}, - {"x": 168, "y": 0, "flags": 1}, - {"x": 210, "y": 0, "flags": 1}, - {"x": 210, "y": 20, "flags": 1}, - {"x": 210, "y": 40, "flags": 1}, - {"x": 40, "y": 20, "flags": 1}, - {"x": 120, "y": 20, "flags": 1}, - {"x": 40, "y": 40, "flags": 1}, - {"x": 120, "y": 40, "flags": 1}, - {"x": 210, "y": 60, "flags": 1}, - {"x": 175, "y": 60, "flags": 1}, - {"x": 140, "y": 60, "flags": 1} - ] + "driver": "ws2812" }, "features": { "bootmagic": true, diff --git a/keyboards/mwstudio/mw75r2/mw75r2.c b/keyboards/mwstudio/mw75r2/mw75r2.c new file mode 100644 index 0000000000..ca058e9d8d --- /dev/null +++ b/keyboards/mwstudio/mw75r2/mw75r2.c @@ -0,0 +1,31 @@ +/* Copyright 2021 TW59420 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +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 } +}, { + { 105, 60 }, { 70, 60 }, { 35, 60 }, { 0, 60 }, { 0, 40 }, { 0, 20 }, { 0, 0 }, { 42, 0 }, { 84, 0 }, { 126, 0 }, { 168, 0 }, { 210, 0 }, { 210, 20 }, { 210, 40 }, { 40, 20 }, { 120, 20 }, { 40, 40 }, { 120, 40 }, { 210, 60 }, { 175, 60 },{ 140, 60 } +}, { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +} }; +#endif diff --git a/keyboards/mysticworks/wyvern/keymaps/default/keymap.c b/keyboards/mysticworks/wyvern/keymaps/default/keymap.c index f22d4e62cf..3269631206 100644 --- a/keyboards/mysticworks/wyvern/keymaps/default/keymap.c +++ b/keyboards/mysticworks/wyvern/keymaps/default/keymap.c @@ -30,4 +30,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), -}; +}; \ No newline at end of file diff --git a/keyboards/nack/keyboard.json b/keyboards/nack/keyboard.json index 2368786530..cd08aac0af 100644 --- a/keyboards/nack/keyboard.json +++ b/keyboards/nack/keyboard.json @@ -73,60 +73,6 @@ "val": 64 }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 19, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 38, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 57, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 76, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 95, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 114, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 133, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 152, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 171, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 190, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 209, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 223, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, - {"matrix": [1, 1], "x": 19, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 21, "flags": 4}, - {"matrix": [1, 3], "x": 57, "y": 21, "flags": 4}, - {"matrix": [1, 4], "x": 76, "y": 21, "flags": 4}, - {"matrix": [1, 5], "x": 95, "y": 21, "flags": 4}, - {"matrix": [1, 6], "x": 114, "y": 21, "flags": 4}, - {"matrix": [1, 7], "x": 133, "y": 21, "flags": 4}, - {"matrix": [1, 8], "x": 152, "y": 21, "flags": 4}, - {"matrix": [1, 9], "x": 171, "y": 21, "flags": 4}, - {"matrix": [1, 10], "x": 190, "y": 21, "flags": 4}, - {"matrix": [1, 11], "x": 209, "y": 21, "flags": 4}, - {"matrix": [1, 12], "x": 223, "y": 21, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4}, - {"matrix": [2, 1], "x": 19, "y": 42, "flags": 4}, - {"matrix": [2, 2], "x": 38, "y": 42, "flags": 4}, - {"matrix": [2, 3], "x": 57, "y": 42, "flags": 4}, - {"matrix": [2, 4], "x": 76, "y": 42, "flags": 4}, - {"matrix": [2, 5], "x": 95, "y": 42, "flags": 4}, - {"matrix": [2, 6], "x": 114, "y": 42, "flags": 4}, - {"matrix": [2, 7], "x": 133, "y": 42, "flags": 4}, - {"matrix": [2, 8], "x": 152, "y": 42, "flags": 4}, - {"matrix": [2, 9], "x": 171, "y": 42, "flags": 4}, - {"matrix": [2, 10], "x": 190, "y": 42, "flags": 4}, - {"matrix": [2, 11], "x": 209, "y": 42, "flags": 4}, - {"matrix": [2, 12], "x": 223, "y": 42, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 63, "flags": 4}, - {"matrix": [3, 1], "x": 19, "y": 63, "flags": 4}, - {"matrix": [3, 2], "x": 38, "y": 63, "flags": 4}, - {"matrix": [3, 3], "x": 57, "y": 63, "flags": 4}, - {"matrix": [3, 4], "x": 76, "y": 63, "flags": 4}, - {"matrix": [3, 5], "x": 95, "y": 63, "flags": 4}, - {"matrix": [3, 6], "x": 114, "y": 63, "flags": 4}, - {"matrix": [3, 7], "x": 133, "y": 63, "flags": 4}, - {"matrix": [3, 8], "x": 152, "y": 63, "flags": 4}, - {"matrix": [3, 9], "x": 171, "y": 63, "flags": 4}, - {"matrix": [3, 10], "x": 190, "y": 63, "flags": 4}, - {"matrix": [3, 11], "x": 209, "y": 63, "flags": 4}, - {"matrix": [3, 12], "x": 223, "y": 63, "flags": 4} - ], "hue_steps": 10, "sat_steps": 10, "val_steps": 10, diff --git a/keyboards/nack/nack.c b/keyboards/nack/nack.c new file mode 100644 index 0000000000..27e029a9fd --- /dev/null +++ b/keyboards/nack/nack.c @@ -0,0 +1,39 @@ +/* Copyright 2020 farfalleflickan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE + 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 } + }, { + // LED Index to Physical Position + { 0, 0 }, { 19, 0 }, { 38, 0 }, { 57, 0 }, { 76, 0 }, { 95, 0 }, { 114, 0 }, { 133, 0 }, { 152, 0 }, { 171, 0 }, { 190, 0 }, { 209, 0 }, { 223, 0 }, + { 0, 21 }, { 19, 21 }, { 38, 21 }, { 57, 21 }, { 76, 21 }, { 95, 21 }, { 114, 21 }, { 133, 21 }, { 152, 21 }, { 171, 21 }, { 190, 21 }, { 209, 21 }, { 223, 21 }, + { 0, 42 }, { 19, 42 }, { 38, 42 }, { 57, 42 }, { 76, 42 }, { 95, 42 }, { 114, 42 }, { 133, 42 }, { 152, 42 }, { 171, 42 }, { 190, 42 }, { 209, 42 }, { 223, 42 }, + { 0, 63 }, { 19, 63 }, { 38, 63 }, { 57, 63 }, { 76, 63 }, { 95, 63 }, { 114, 63 }, { 133, 63 }, { 152, 63 }, { 171, 63 }, { 190, 63 }, { 209, 63 }, { 223, 63 } + }, { + // 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 + } }; +#endif diff --git a/keyboards/navi60/keymaps/default/keymap.c b/keyboards/navi60/keymaps/default/keymap.c index fba6f7bd5f..c49cc641d4 100644 --- a/keyboards/navi60/keymaps/default/keymap.c +++ b/keyboards/navi60/keymaps/default/keymap.c @@ -24,4 +24,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL ), -}; +}; \ No newline at end of file diff --git a/keyboards/nek_type_a/matrix.c b/keyboards/nek_type_a/matrix.c index 8e620db55e..76613947f6 100644 --- a/keyboards/nek_type_a/matrix.c +++ b/keyboards/nek_type_a/matrix.c @@ -50,12 +50,15 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED @@ -248,7 +251,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); } // Unselect row @@ -309,12 +312,12 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) if ((_SFR_IO8(row_pins[row_index] >> 4) & _BV(row_pins[row_index] & 0xF)) == 0) { // Pin LO, set col bit - current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] |= (ROW_SHIFTER << current_col); } else { // Pin HI, clear col bit - current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] &= ~(ROW_SHIFTER << current_col); } // Determine if the matrix changed state diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c index 8dabf5efe1..810e311b28 100644 --- a/keyboards/neson_design/700e/700e.c +++ b/keyboards/neson_design/700e/700e.c @@ -381,4 +381,4 @@ bool led_update_kb(led_t led_state) return res; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/neson_design/700e/readme.md b/keyboards/neson_design/700e/readme.md index 24822eed01..8b25d00c25 100644 --- a/keyboards/neson_design/700e/readme.md +++ b/keyboards/neson_design/700e/readme.md @@ -18,4 +18,4 @@ 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 *RST* button on the back of the PCB. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/neson_design/810e/keyboard.json b/keyboards/neson_design/810e/keyboard.json index b4181ccc24..ab52c1539e 100644 --- a/keyboards/neson_design/810e/keyboard.json +++ b/keyboards/neson_design/810e/keyboard.json @@ -114,4 +114,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c index bfee7ecb62..e4538257f1 100644 --- a/keyboards/neson_design/n6/n6.c +++ b/keyboards/neson_design/n6/n6.c @@ -378,4 +378,4 @@ bool led_update_kb(led_t led_state) return res; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/neson_design/n6/readme.md b/keyboards/neson_design/n6/readme.md index e4d069e399..f86668549a 100644 --- a/keyboards/neson_design/n6/readme.md +++ b/keyboards/neson_design/n6/readme.md @@ -18,4 +18,4 @@ 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 *RST* button on the back of the PCB. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/neson_design/nico/readme.md b/keyboards/neson_design/nico/readme.md index c743ae55ea..9b821c16d0 100644 --- a/keyboards/neson_design/nico/readme.md +++ b/keyboards/neson_design/nico/readme.md @@ -18,4 +18,4 @@ 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 *RST* button on the back of the PCB. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/nifty_numpad/config.h b/keyboards/nifty_numpad/config.h deleted file mode 100644 index 50a59bae83..0000000000 --- a/keyboards/nifty_numpad/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2023 Isaac Rex (@Acliad) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define EECONFIG_KB_DATA_SIZE 10 diff --git a/keyboards/nifty_numpad/keyboard.json b/keyboards/nifty_numpad/keyboard.json deleted file mode 100644 index 3dce0cca35..0000000000 --- a/keyboards/nifty_numpad/keyboard.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "manufacturer": "Isaac Rex", - "keyboard_name": "Nifty Numpad", - "maintainer": "Acliad", - "bootloader": "rp2040", - "diode_direction": "ROW2COL", - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP17", "GP18", "GP15", "GP13", "GP14", "GP12"], - "rows": ["GP20", "GP21", "GP22", "GP23", "GP24", "GP25"] - }, - "processor": "RP2040", - "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, - "gradient_up_down": true, - "jellybean_raindrops": true, - "multisplash": 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": false - }, - "default": { - "animation": "solid_color", - "hue": 127, - "speed": 100 - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 43, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 139, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 181, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 17, "flags": 4}, - {"matrix": [1, 1], "x": 43, "y": 17, "flags": 4}, - {"matrix": [1, 2], "x": 96, "y": 17, "flags": 4}, - {"matrix": [1, 3], "x": 139, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 181, "y": 17, "flags": 4}, - {"matrix": [1, 5], "x": 224, "y": 17, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 29, "flags": 4}, - {"matrix": [2, 1], "x": 43, "y": 29, "flags": 4}, - {"matrix": [2, 2], "x": 96, "y": 29, "flags": 4}, - {"matrix": [2, 3], "x": 139, "y": 29, "flags": 4}, - {"matrix": [2, 4], "x": 181, "y": 29, "flags": 4}, - {"matrix": [2, 5], "x": 224, "y": 35, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 41, "flags": 4}, - {"matrix": [3, 1], "x": 43, "y": 41, "flags": 4}, - {"matrix": [3, 2], "x": 96, "y": 41, "flags": 4}, - {"matrix": [3, 3], "x": 139, "y": 41, "flags": 4}, - {"matrix": [3, 4], "x": 181, "y": 41, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 52, "flags": 4}, - {"matrix": [4, 1], "x": 43, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 96, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 139, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 181, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 224, "y": 58, "flags": 4}, - {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 43, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 117, "y": 64, "flags": 4}, - {"matrix": [5, 3], "x": 181, "y": 64, "flags": 4} - ] - }, - "url": "https://gitlab.com/Acliad/nifty-numpad", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0x4E4E" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP19" - }, - "layouts": { - "LAYOUT_numpad_6x6": { - "layout": [ - {"label": "F13", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "F19", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "BACKSPACE", "matrix": [0, 2], "x": 2.25, "y": 0}, - {"label": "TASK VIEW", "matrix": [0, 3], "x": 3.25, "y": 0}, - {"label": "EXPLORER", "matrix": [0, 4], "x": 4.25, "y": 0}, - {"label": "SCREENSHOT", "matrix": [0, 5], "x": 5.25, "y": 0}, - {"label": "F14", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "F20", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "NUM LOCK", "matrix": [1, 2], "x": 2.25, "y": 1.5}, - {"label": "/", "matrix": [1, 3], "x": 3.25, "y": 1.5}, - {"label": "*", "matrix": [1, 4], "x": 4.25, "y": 1.5}, - {"label": "-", "matrix": [1, 5], "x": 5.25, "y": 1.5}, - {"label": "F15", "matrix": [2, 0], "x": 0, "y": 2.5}, - {"label": "F21", "matrix": [2, 1], "x": 1, "y": 2.5}, - {"label": "7", "matrix": [2, 2], "x": 2.25, "y": 2.5}, - {"label": "8", "matrix": [2, 3], "x": 3.25, "y": 2.5}, - {"label": "9", "matrix": [2, 4], "x": 4.25, "y": 2.5}, - {"label": "+", "matrix": [2, 5], "x": 5.25, "y": 2.5, "h": 2}, - {"label": "F16", "matrix": [3, 0], "x": 0, "y": 3.5}, - {"label": "F22", "matrix": [3, 1], "x": 1, "y": 3.5}, - {"label": "4", "matrix": [3, 2], "x": 2.25, "y": 3.5}, - {"label": "5", "matrix": [3, 3], "x": 3.25, "y": 3.5}, - {"label": "6", "matrix": [3, 4], "x": 4.25, "y": 3.5}, - {"label": "F17", "matrix": [4, 0], "x": 0, "y": 4.5}, - {"label": "F23", "matrix": [4, 1], "x": 1, "y": 4.5}, - {"label": "1", "matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"label": "2", "matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"label": "3", "matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"label": "ENTER", "matrix": [4, 5], "x": 5.25, "y": 4.5, "h": 2}, - {"label": "F18", "matrix": [5, 0], "x": 0, "y": 5.5}, - {"label": "F24", "matrix": [5, 1], "x": 1, "y": 5.5}, - {"label": "0", "matrix": [5, 2], "x": 2.25, "y": 5.5, "w": 2}, - {"label": ".", "matrix": [5, 4], "x": 4.25, "y": 5.5} - ] - } - } -} diff --git a/keyboards/nifty_numpad/keymaps/default/keymap.c b/keyboards/nifty_numpad/keymaps/default/keymap.c deleted file mode 100644 index 89f3350bca..0000000000 --- a/keyboards/nifty_numpad/keymaps/default/keymap.c +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2023 Isaac Rex (@Acliad) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// Layers -// NOTE: LAYER_RGB is defined in nifty_numpad.h -enum LAYERS { - LAYER_BL, -}; - -// Setup keymap -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BL] = LAYOUT_numpad_6x6( - KC_F13, KC_F19, LT(LAYER_RGB, KC_BSPC), RGUI(KC_TAB), RGUI(KC_E), RGUI(RSFT(KC_S)), - KC_F14, KC_F20, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, - KC_F15, KC_F21, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_F16, KC_F22, KC_P4, KC_P5, KC_P6, - KC_F17, KC_F23, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_F18, KC_F24, KC_P0, KC_PDOT - ), - - [LAYER_RGB] = LAYOUT_numpad_6x6( - _______, _______, _______, RM_HUEU, RM_SATU, RM_VALU, - _______, _______, _______, RM_HUED, RM_SATD, RM_VALD, - _______, _______, _______, RM_NEXT, _______, RM_SPDU, - _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RM_SPDD, - _______, _______, _______, _______ - ) -}; diff --git a/keyboards/nifty_numpad/keymaps/idle_rgb_example/keymap.c b/keyboards/nifty_numpad/keymaps/idle_rgb_example/keymap.c deleted file mode 100644 index c3956848eb..0000000000 --- a/keyboards/nifty_numpad/keymaps/idle_rgb_example/keymap.c +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2023 Isaac Rex (@Acliad) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// Layers -// NOTE: LAYER_RGB is defined in nifty_numpad.h -enum LAYERS { - LAYER_BL = 0, - LAYER_MOD, -}; - -// Layer Indicator LED index -#define _NUM_LED_INDEX 8 - -// Tap Dance Declarations -enum { - TD_NUM_TOGGLE = 0, - TD_EDIT_GEN_TOGGLE, - TD_M1, - TD_M2, - TD_M3, - TD_M4, - TD_M5, - TD_M6, - TD_M7, - TD_M8, - TD_M9, - TD_M10, - TD_M11, - TD_M12, -}; - -// TD function for 1 tap, toggle layer; 2 taps, press numlock -void tap_dance_num_toggle(tap_dance_state_t *state, void *user_data){ - switch(state->count){ - case 1: - layer_invert(LAYER_MOD); - break; - case 2: - tap_code16(KC_NUM); - break; - } -} - -// Tap Dance Definitions -tap_dance_action_t tap_dance_actions[] = { - [TD_NUM_TOGGLE] = ACTION_TAP_DANCE_FN(tap_dance_num_toggle), - - [TD_M1] = ACTION_TAP_DANCE_DOUBLE(KC_F13, LCTL(KC_F13)), - [TD_M2] = ACTION_TAP_DANCE_DOUBLE(KC_F14, LCTL(KC_F14)), - [TD_M3] = ACTION_TAP_DANCE_DOUBLE(KC_F15, LCTL(KC_F15)), - [TD_M4] = ACTION_TAP_DANCE_DOUBLE(KC_F16, LCTL(KC_F16)), - [TD_M5] = ACTION_TAP_DANCE_DOUBLE(KC_F17, LCTL(KC_F17)), - [TD_M6] = ACTION_TAP_DANCE_DOUBLE(KC_F18, LCTL(KC_F18)), - [TD_M7] = ACTION_TAP_DANCE_DOUBLE(KC_F19, LCTL(KC_F19)), - [TD_M8] = ACTION_TAP_DANCE_DOUBLE(KC_F20, LCTL(KC_F20)), - [TD_M9] = ACTION_TAP_DANCE_DOUBLE(KC_F21, LCTL(KC_F21)), - [TD_M10] = ACTION_TAP_DANCE_DOUBLE(KC_F22, LCTL(KC_F22)), - [TD_M11] = ACTION_TAP_DANCE_DOUBLE(KC_F23, LCTL(KC_F23)), - [TD_M12] = ACTION_TAP_DANCE_DOUBLE(KC_F24, LCTL(KC_F24)) -}; - -// Setup keymap -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BL] = LAYOUT_numpad_6x6( - TD(TD_M1), TD(TD_M7) , LT(LAYER_RGB, KC_BSPC), RGUI(KC_TAB), RGUI(KC_E), RGUI(RSFT(KC_S)), - TD(TD_M2), TD(TD_M8) , TD(TD_NUM_TOGGLE), KC_PSLS, KC_PAST, KC_PMNS, - TD(TD_M3), TD(TD_M9) , KC_P7, KC_P8, KC_P9, KC_PPLS, - TD(TD_M4), TD(TD_M10), KC_P4, KC_P5, KC_P6, - TD(TD_M5), TD(TD_M11), KC_P1, KC_P2, KC_P3, KC_PENT, - TD(TD_M6), TD(TD_M12), KC_P0, KC_PDOT - ), - - [LAYER_MOD] = LAYOUT_numpad_6x6( - _______, _______, KC_F9, KC_F10, KC_F11, KC_F12, - _______, _______, TD(TD_NUM_TOGGLE), RCTL(KC_PSLS), RCTL(KC_PAST), _______, - _______, _______, RCTL(KC_P7), RCTL(KC_P8), RCTL(KC_P9), _______, - _______, _______, RCTL(KC_P4), RCTL(KC_P5), RCTL(KC_P6), - _______, _______, RCTL(KC_P1), RCTL(KC_P2), RCTL(KC_P3), _______, - _______, _______, RCTL(KC_P0), RCTL(KC_PDOT) - ), - - [LAYER_RGB] = LAYOUT_numpad_6x6( - _______, _______, _______, RM_HUEU, RM_SATU, RM_VALU, - _______, _______, _______, RM_HUED, RM_SATD, RM_VALD, - _______, _______, _______, RM_DMOD, RM_IMOD, RM_SPDU, - _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RM_SPDD, - _______, _______, _______, _______ - ) -}; - -// Set the layer toggle key to an indication of the active layer. This is a -// bit janky and should be done better, but I'm trying to avoid scope creep. -bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - if (layer_state_is(LAYER_MOD) && !rgb_matrix_idle_mode()) { - // Get a hue that contrasts with current hue - uint8_t hue = rgb_matrix_get_hue() + 127; - // Make sure saturation is high enough to distiguish between hues - uint8_t sat = 255; - uint8_t val = MIN((uint16_t) rgb_matrix_get_val() + 50, 255); - RGB rgb = hsv_to_rgb((HSV) {hue, sat, val}); - rgb_matrix_set_color(_NUM_LED_INDEX, rgb.r, rgb.g, rgb.b); - } - return false; -} diff --git a/keyboards/nifty_numpad/keymaps/idle_rgb_example/rules.mk b/keyboards/nifty_numpad/keymaps/idle_rgb_example/rules.mk deleted file mode 100644 index ed2895bd20..0000000000 --- a/keyboards/nifty_numpad/keymaps/idle_rgb_example/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -TAP_DANCE_ENABLE=yes -RGB_IDLE_ENABLE=yes diff --git a/keyboards/nifty_numpad/nifty_numpad.c b/keyboards/nifty_numpad/nifty_numpad.c deleted file mode 100644 index 5e487fed7f..0000000000 --- a/keyboards/nifty_numpad/nifty_numpad.c +++ /dev/null @@ -1,229 +0,0 @@ -/* Copyright 2023 Acliad - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -#ifdef RGB_IDLE_ENABLE -typedef struct { - uint8_t mode; - uint8_t speed; - HSV hsv; -} rgb_matrix_state_t; - -_Static_assert(sizeof(rgb_matrix_state_t) == 5, "Invalid size for rgb_matrix_state_t"); - -typedef struct { - rgb_matrix_state_t active_rgb_matrix; - rgb_matrix_state_t idle_rgb_matrix; -} kb_config_t; - -_Static_assert(sizeof(kb_config_t) == EECONFIG_KB_DATA_SIZE, "Invalid size for kb_config_t"); - -bool rgb_idle_mode = false; -bool rgb_idle_edit_mode = false; -static rgb_matrix_state_t active_rgb_matrix; -static rgb_matrix_state_t idle_rgb_matrix; -static kb_config_t config; - -// Returns true if current RGB matrix mode is idle -bool rgb_matrix_idle_mode(void) { - return rgb_idle_mode; -} - -// Stores the current mode, HSV, and speed of the RGB matrix into state -void rgb_matrix_state_save(rgb_matrix_state_t* state) { - state->mode = rgb_matrix_get_mode(); - state->hsv = rgb_matrix_get_hsv(); - state->speed = rgb_matrix_get_speed(); -} - -// Restores the mode, HSV, and speed of the RGB matrix from previous state -void rgb_matrix_state_restore(rgb_matrix_state_t* state) { - HSV hsv = state->hsv; - rgb_matrix_mode_noeeprom(state->mode); - rgb_matrix_sethsv_noeeprom(hsv.h, hsv.s, hsv.v); - rgb_matrix_set_speed_noeeprom(state->speed); -} -#endif - -void housekeeping_task_kb(void) { -#ifdef RGB_IDLE_ENABLE - // Check if enough time has passed since last keypress to go into idle mode - if (last_input_activity_elapsed() > RGB_IDLE_TIMEOUT_MS && !rgb_idle_mode) { - rgb_matrix_state_save(&active_rgb_matrix); - rgb_idle_mode = true; - - rgb_matrix_state_restore(&idle_rgb_matrix); - } -#endif -}; - -layer_state_t layer_state_set_kb(layer_state_t state) { -#ifdef RGB_IDLE_ENABLE - // Track if the last layer was the RGB edit layer - static bool rgb_was_on = false; - - if (IS_LAYER_ON_STATE(state, LAYER_RGB)) { - rgb_was_on = true; - } - - // Not in RGB edit layer, but previously were - if (!IS_LAYER_ON_STATE(state, LAYER_RGB) && rgb_was_on) { - rgb_was_on = false; - if (rgb_idle_edit_mode) { - // If we were editing the RGB idle mode, we are done now. - // Restore to active mode - rgb_idle_edit_mode = false; - rgb_matrix_state_restore(&active_rgb_matrix); - } - // Done changing stuff, save settings in "EEPROM" - config.active_rgb_matrix = active_rgb_matrix; - config.idle_rgb_matrix = idle_rgb_matrix; - eeconfig_update_kb_datablock(&config, 0, EECONFIG_KB_DATA_SIZE); - } -#endif - - return layer_state_set_user(state); -} - -// Process custom keycodes -bool process_record_kb(uint16_t keycode, keyrecord_t* record) { -#ifdef RGB_IDLE_ENABLE - // If we were idling and a key was pressed, restore active RGB - if (record->event.pressed) { - if (rgb_idle_mode) { - rgb_matrix_state_restore(&active_rgb_matrix); - rgb_idle_mode = false; - } - } -#endif - - switch (keycode) { -#ifdef RGB_IDLE_ENABLE - // Handle all the RGB settings - case RM_DMOD: - if (record->event.pressed) { - // Change the RGB matrix state to active if editing idle - if (rgb_idle_edit_mode) { - rgb_matrix_state_restore(&active_rgb_matrix); - rgb_idle_edit_mode = false; - } - rgb_matrix_step_noeeprom(); - rgb_matrix_state_save(&active_rgb_matrix); - } - return false; - case RM_IMOD: - if (record->event.pressed) { - // Change the RGB matrix state to idle - if (!rgb_idle_edit_mode) { - rgb_matrix_state_restore(&idle_rgb_matrix); - rgb_idle_edit_mode = true; - } else { - rgb_matrix_step_noeeprom(); - rgb_matrix_state_save(&idle_rgb_matrix); - } - } - return false; - case RM_SATU: - if (record->event.pressed) { - rgb_matrix_increase_sat_noeeprom(); - rgb_idle_edit_mode ? rgb_matrix_state_save(&idle_rgb_matrix) : rgb_matrix_state_save(&active_rgb_matrix); - } - return false; - case RM_SATD: - if (record->event.pressed) { - rgb_matrix_decrease_sat_noeeprom(); - rgb_idle_edit_mode ? rgb_matrix_state_save(&idle_rgb_matrix) : rgb_matrix_state_save(&active_rgb_matrix); - } - return false; - case RM_VALU: - if (record->event.pressed) { - rgb_matrix_increase_val_noeeprom(); - rgb_idle_edit_mode ? rgb_matrix_state_save(&idle_rgb_matrix) : rgb_matrix_state_save(&active_rgb_matrix); - } - return false; - case RM_VALD: - if (record->event.pressed) { - rgb_matrix_decrease_val_noeeprom(); - rgb_idle_edit_mode ? rgb_matrix_state_save(&idle_rgb_matrix) : rgb_matrix_state_save(&active_rgb_matrix); - } - return false; - case RM_HUEU: - if (record->event.pressed) { - rgb_matrix_increase_hue_noeeprom(); - rgb_idle_edit_mode ? rgb_matrix_state_save(&idle_rgb_matrix) : rgb_matrix_state_save(&active_rgb_matrix); - } - return false; - case RM_HUED: - if (record->event.pressed) { - rgb_matrix_decrease_hue_noeeprom(); - rgb_idle_edit_mode ? rgb_matrix_state_save(&idle_rgb_matrix) : rgb_matrix_state_save(&active_rgb_matrix); - } - return false; - case RM_SPDU: - if (record->event.pressed) { - rgb_matrix_increase_speed_noeeprom(); - rgb_idle_edit_mode ? rgb_matrix_state_save(&idle_rgb_matrix) : rgb_matrix_state_save(&active_rgb_matrix); - } - return false; - case RM_SPDD: - if (record->event.pressed) { - rgb_matrix_decrease_speed_noeeprom(); - rgb_idle_edit_mode ? rgb_matrix_state_save(&idle_rgb_matrix) : rgb_matrix_state_save(&active_rgb_matrix); - } - return false; -#endif - } - return process_record_user(keycode, record); -}; - -void keyboard_post_init_kb(void) { -#ifdef RGB_IDLE_ENABLE - // Read in the RGB Matrices from before - eeconfig_read_kb_datablock(&config, 0, EECONFIG_KB_DATA_SIZE); - active_rgb_matrix = config.active_rgb_matrix; - idle_rgb_matrix = config.idle_rgb_matrix; - // Restore the active matrix - rgb_matrix_state_restore(&active_rgb_matrix); -#endif - - keyboard_post_init_user(); -} - -// Setup default EEPROM config values -void eeconfig_init_kb_datablock(void) { -#ifdef RGB_IDLE_ENABLE - rgb_matrix_state_t default_active_rgb_matrix; - rgb_matrix_state_t default_idle_rgb_matrix; - - default_active_rgb_matrix.mode = RGB_MATRIX_GRADIENT_UP_DOWN; - default_active_rgb_matrix.hsv = (HSV){127, 255, 100}; - default_active_rgb_matrix.speed = 127; - - default_idle_rgb_matrix.mode = RGB_MATRIX_BREATHING; - default_idle_rgb_matrix.hsv = (HSV){127, 255, 100}; - default_idle_rgb_matrix.speed = 127; - - config.active_rgb_matrix = default_active_rgb_matrix; - config.idle_rgb_matrix = default_idle_rgb_matrix; - - eeconfig_update_kb_datablock(&config, 0, EECONFIG_KB_DATA_SIZE); - -# if (EECONFIG_USER_DATA_SIZE) > 0 - eeconfig_init_user_datablock(); -# endif // EECONFIG_USER_DATA_SIZE -#endif // RGB_IDLE_ENABLE -} diff --git a/keyboards/nifty_numpad/post_rules.mk b/keyboards/nifty_numpad/post_rules.mk deleted file mode 100644 index be715cd22f..0000000000 --- a/keyboards/nifty_numpad/post_rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(strip $(RGB_IDLE_ENABLE)), yes) - OPT_DEFS += -DRGB_IDLE_ENABLE -endif diff --git a/keyboards/nifty_numpad/readme.md b/keyboards/nifty_numpad/readme.md deleted file mode 100644 index 37692dbdb0..0000000000 --- a/keyboards/nifty_numpad/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# Nifty Numpad - -![Nifty Numpad](https://i.imgur.com/jfB8tfKh.png) - -Nifty Numpad is a full sized numpad with an extra row and two extra columns of macro keys. It was created because I wanted a companion to my TKL keyboard for work. My main workflow involves heavy use of ECAD programs, so the design was tailored for that, but it is generic enough to be nice for many workflows! - - -The main features are: -- Full sized numpad with row of macro/function keys on the top -- Two extra columns of macro keys -- Cherry MX style socketed switches -- Key Backlights -- 3D printable case (FDM or resin) - -### Development Information: -* Keyboard Maintainer: [Isaac Rex](https://github.com/Acliad/) -* Hardware Supported: RP2040 -* Hardware Availability: See [The GitLab Page](https://gitlab.com/Acliad/nifty-numpad) for full details - -Make example for this keyboard (after setting up your build environment): - - make nifty_numpad:default - -Flashing example for this keyboard: - - make nifty_numpad: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 (top left) and plug in the keyboard -* **Physical reset button**: Press the `RST` button while holding the `BOOT_SEL` button on the back of the PCB diff --git a/keyboards/nightly_boards/alter/rev1/readme.md b/keyboards/nightly_boards/alter/rev1/readme.md index fdef3dc05b..81079f0646 100644 --- a/keyboards/nightly_boards/alter/rev1/readme.md +++ b/keyboards/nightly_boards/alter/rev1/readme.md @@ -9,4 +9,4 @@ Make example for this keyboard (after setting up your build environment): make nightly_boards/alter/rev1: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/nightly_boards/conde60/keymaps/default/keymap.c b/keyboards/nightly_boards/conde60/keymaps/default/keymap.c index bc4d818e4f..fd3e6882ab 100644 --- a/keyboards/nightly_boards/conde60/keymaps/default/keymap.c +++ b/keyboards/nightly_boards/conde60/keymaps/default/keymap.c @@ -50,4 +50,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), -}; +}; \ No newline at end of file diff --git a/keyboards/nightly_boards/daily60/keymaps/default/keymap.c b/keyboards/nightly_boards/daily60/keymaps/default/keymap.c index 6f5141c323..cd6765355c 100644 --- a/keyboards/nightly_boards/daily60/keymaps/default/keymap.c +++ b/keyboards/nightly_boards/daily60/keymaps/default/keymap.c @@ -48,4 +48,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, KC_TRNS, 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/nightly_boards/daily60/readme.md b/keyboards/nightly_boards/daily60/readme.md index 0afe78b839..87e721943f 100644 --- a/keyboards/nightly_boards/daily60/readme.md +++ b/keyboards/nightly_boards/daily60/readme.md @@ -23,4 +23,4 @@ Enter the bootloader in 3 ways: * **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/nightly_boards/jisoo/keymaps/default/keymap.c b/keyboards/nightly_boards/jisoo/keymaps/default/keymap.c index b3d71c37f4..e83c5eff08 100644 --- a/keyboards/nightly_boards/jisoo/keymaps/default/keymap.c +++ b/keyboards/nightly_boards/jisoo/keymaps/default/keymap.c @@ -25,4 +25,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT ), -}; +}; \ No newline at end of file diff --git a/keyboards/nightly_boards/jisoo/readme.md b/keyboards/nightly_boards/jisoo/readme.md index 43d956533c..7d1354e4aa 100644 --- a/keyboards/nightly_boards/jisoo/readme.md +++ b/keyboards/nightly_boards/jisoo/readme.md @@ -23,4 +23,4 @@ Enter the bootloader in 3 ways: * **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/nightly_boards/n60_s/config.h b/keyboards/nightly_boards/n60_s/config.h index 0f3c9b6814..9e3016e53a 100644 --- a/keyboards/nightly_boards/n60_s/config.h +++ b/keyboards/nightly_boards/n60_s/config.h @@ -18,5 +18,6 @@ along with this program. If not, see . #pragma once /* Audio */ -#define AUDIO_PIN B7 + +#define B7_AUDIO #define AUDIO_CLICKY diff --git a/keyboards/nightly_boards/octopadplus/keymaps/default/keymap.c b/keyboards/nightly_boards/octopadplus/keymaps/default/keymap.c index 35dd356883..3209f7ec36 100644 --- a/keyboards/nightly_boards/octopadplus/keymaps/default/keymap.c +++ b/keyboards/nightly_boards/octopadplus/keymaps/default/keymap.c @@ -51,4 +51,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/nightly_boards/octopadplus/keymaps/default/rules.mk b/keyboards/nightly_boards/octopadplus/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/nightly_boards/octopadplus/keymaps/default/rules.mk +++ b/keyboards/nightly_boards/octopadplus/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/nightmare/keymaps/default/readme.md b/keyboards/nightmare/keymaps/default/readme.md index ee3683eeb9..b044730cf5 100644 --- a/keyboards/nightmare/keymaps/default/readme.md +++ b/keyboards/nightmare/keymaps/default/readme.md @@ -1,3 +1,3 @@ # The default keymap for nightmare -![Default Layout](https://imgur.com/G0Hh7F3.png) +![Default Layout](https://imgur.com/G0Hh7F3.png) \ No newline at end of file diff --git a/keyboards/ning/tiny_board/tb16_rgb/keyboard.json b/keyboards/ning/tiny_board/tb16_rgb/keyboard.json index 104a4a84a6..9e99ef879a 100644 --- a/keyboards/ning/tiny_board/tb16_rgb/keyboard.json +++ b/keyboards/ning/tiny_board/tb16_rgb/keyboard.json @@ -20,25 +20,7 @@ "default": { "animation": "typing_heatmap" }, - "driver": "ws2812", - "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": 21, "flags": 4}, - {"matrix": [1, 1], "x": 75, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 150, "y": 21, "flags": 4}, - {"matrix": [1, 3], "x": 224, "y": 21, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4}, - {"matrix": [2, 1], "x": 75, "y": 42, "flags": 4}, - {"matrix": [2, 2], "x": 150, "y": 42, "flags": 4}, - {"matrix": [2, 3], "x": 224, "y": 42, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 75, "y": 64, "flags": 4}, - {"matrix": [3, 2], "x": 150, "y": 64, "flags": 4}, - {"matrix": [3, 3], "x": 224, "y": 64, "flags": 4} - ] + "driver": "ws2812" }, "matrix_pins": { "cols": ["B6", "B1", "B3", "B2"], diff --git a/keyboards/ning/tiny_board/tb16_rgb/tb16_rgb.c b/keyboards/ning/tiny_board/tb16_rgb/tb16_rgb.c new file mode 100644 index 0000000000..e7807be5e8 --- /dev/null +++ b/keyboards/ning/tiny_board/tb16_rgb/tb16_rgb.c @@ -0,0 +1,31 @@ +/* Copyright 2023 Ning (@ningjx) + * + * 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" + +led_config_t g_led_config = { { + { 0, 1, 2, 3 }, + { 4, 5, 6, 7 }, + { 8, 9, 10, 11 }, + { 12, 13, 14, 15 } +}, { + {0,0},{75,0},{150,0},{224,0}, + {0,21},{75,21},{150,21},{224,21}, + {0,42},{75,42},{150,42},{224,42}, + {0,64},{75,64},{150,64},{224,64} +}, { + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 +} }; diff --git a/keyboards/nomis/rpi_pico_25x1/keyboard.json b/keyboards/nomis/rpi_pico_25x1/keyboard.json deleted file mode 100644 index 0ac738ba87..0000000000 --- a/keyboards/nomis/rpi_pico_25x1/keyboard.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "manufacturer": "uuid.uk", - "keyboard_name": "rpi pico 25x1 keyboard", - "maintainer": "nomis", - "bootloader": "rp2040", - "features": { - "bootmagic": true, - "extrakey": true, - "joystick": true, - "nkro": true - }, - "joystick": { - "axes": {}, - "button_count": 25, - "driver": "digital" - }, - "matrix_pins": { - "direct": [ - ["GP0", "GP1", "GP2", "GP11", "GP10", "GP9", "GP8", "GP7", "GP6", "GP5", "GP4", "GP3", "GP15", "GP14", "GP13", "GP12", "GP19", "GP18", "GP17", "GP16", "GP20", "GP21", "GP22", "GP26", "GP27"] - ] - }, - "processor": "RP2040", - "url": "https://github.com/nomis/keyboard-pcb-rpi-pico-25x1", - "usb": { - "device_version": "1.0.0", - "pid": "0x5A19", - "vid": "0xFEED" - }, - "ws2812": { - "pin": "GP28" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 0, "y": 1}, - {"matrix": [0, 2], "x": 0, "y": 2}, - {"matrix": [0, 3], "x": 0, "y": 3}, - {"matrix": [0, 4], "x": 0, "y": 4}, - {"matrix": [0, 5], "x": 0, "y": 5.5}, - {"matrix": [0, 6], "x": 0, "y": 6.5}, - {"matrix": [0, 7], "x": 0, "y": 7.5}, - {"matrix": [0, 8], "x": 0, "y": 8.5}, - {"matrix": [0, 9], "x": 0, "y": 9.5}, - {"matrix": [0, 10], "x": 0, "y": 11}, - {"matrix": [0, 11], "x": 0, "y": 12}, - {"matrix": [0, 12], "x": 0, "y": 13}, - {"matrix": [0, 13], "x": 0, "y": 14}, - {"matrix": [0, 14], "x": 0, "y": 15}, - {"matrix": [0, 15], "x": 0, "y": 16.5}, - {"matrix": [0, 16], "x": 0, "y": 17.5}, - {"matrix": [0, 17], "x": 0, "y": 18.5}, - {"matrix": [0, 18], "x": 0, "y": 19.5}, - {"matrix": [0, 19], "x": 0, "y": 20.5}, - {"matrix": [0, 20], "x": 0, "y": 22}, - {"matrix": [0, 21], "x": 0, "y": 23}, - {"matrix": [0, 22], "x": 0, "y": 24}, - {"matrix": [0, 23], "x": 0, "y": 25}, - {"matrix": [0, 24], "x": 0, "y": 26} - ] - } - } -} diff --git a/keyboards/nomis/rpi_pico_25x1/keymaps/default/keymap.c b/keyboards/nomis/rpi_pico_25x1/keymaps/default/keymap.c deleted file mode 100644 index 4ff6b48cc3..0000000000 --- a/keyboards/nomis/rpi_pico_25x1/keymaps/default/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2025 Simon Arlott -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - JS_0, - JS_1, - JS_2, - JS_3, - JS_4, - JS_5, - JS_6, - JS_7, - JS_8, - JS_9, - JS_10, - JS_11, - JS_12, - JS_13, - JS_14, - JS_15, - JS_16, - JS_17, - JS_18, - JS_19, - JS_20, - JS_21, - JS_22, - JS_23, - JS_24 - ) -}; diff --git a/keyboards/nomis/rpi_pico_25x1/readme.md b/keyboards/nomis/rpi_pico_25x1/readme.md deleted file mode 100644 index 32377ec012..0000000000 --- a/keyboards/nomis/rpi_pico_25x1/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# rpi pico 25x1 - -![rpi-pico-25x1 PCB](https://i.imgur.com/eOIZH3p.png) - -Macropad keyboard with 25 keys in a single row/column powered by a Raspberry Pi -Pico. The default keymap is a 25 button joystick. - -* Keyboard Maintainer: [Simon Arlott](https://github.com/nomis) -* Hardware Supported: Raspberry Pi Pico -* Hardware Availability: Order/manufacture the [open source PCB](https://github.com/nomis/keyboard-pcb-rpi-pico-25x1) - -Make example for this keyboard (after setting up your build environment): - - make nomis/rpi_pico_25x1:default - -Flashing example for this keyboard: - - make nomis/rpi_pico_25x1: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 key and plug in the keyboard -* **Physical reset button**: Hold the BOOTSEL button on the Raspberry Pi Pico and plug in the keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/nopunin10did/jabberwocky/v1/keyboard.json b/keyboards/nopunin10did/jabberwocky/v1/keyboard.json index 120fdc3e76..25f7f7a533 100644 --- a/keyboards/nopunin10did/jabberwocky/v1/keyboard.json +++ b/keyboards/nopunin10did/jabberwocky/v1/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Jabberwocky", "manufacturer": "NoPunIn10Did", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/jabberwocky/v1", "maintainer": "NoPunIn10Did", "usb": { "vid": "0x4E50", diff --git a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json index dd22ce3d3b..784732a54a 100644 --- a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json +++ b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Jabberwocky", "manufacturer": "NoPunIn10Did", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/jabberwocky/v2", "maintainer": "NoPunIn10Did", "usb": { "vid": "0x4E50", diff --git a/keyboards/nopunin10did/kastenwagen1840/keyboard.json b/keyboards/nopunin10did/kastenwagen1840/keyboard.json index 2e24077111..7dea20455c 100644 --- a/keyboards/nopunin10did/kastenwagen1840/keyboard.json +++ b/keyboards/nopunin10did/kastenwagen1840/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kastenwagen 1840", "manufacturer": "NoPunIn10Did", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/kastenwagen1840", "maintainer": "NoPunIn10Did", "usb": { "vid": "0x4E50", diff --git a/keyboards/nopunin10did/kastenwagen48/keyboard.json b/keyboards/nopunin10did/kastenwagen48/keyboard.json index 82ce186b92..0132d0fa61 100644 --- a/keyboards/nopunin10did/kastenwagen48/keyboard.json +++ b/keyboards/nopunin10did/kastenwagen48/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kastenwagen 48", "manufacturer": "NoPunIn10Did", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/kastenwagen48", "maintainer": "NoPunIn10Did", "usb": { "vid": "0x4E50", diff --git a/keyboards/nopunin10did/railroad/rev0/keyboard.json b/keyboards/nopunin10did/railroad/rev0/keyboard.json index 695a5e05f3..92c878c571 100644 --- a/keyboards/nopunin10did/railroad/rev0/keyboard.json +++ b/keyboards/nopunin10did/railroad/rev0/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "The Railroad", "manufacturer": "NoPunIn10Did", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/railroad", "maintainer": "NoPunIn10Did", "usb": { "vid": "0x4E50", diff --git a/keyboards/nopunin10did/styrkatmel/keyboard.json b/keyboards/nopunin10did/styrkatmel/keyboard.json index 5b4f7fa3f4..033357d8f2 100644 --- a/keyboards/nopunin10did/styrkatmel/keyboard.json +++ b/keyboards/nopunin10did/styrkatmel/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Styrka Atmel", "manufacturer": "NoPunIn10Did", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/styrkatmel", "maintainer": "NoPunIn10Did", "usb": { "vid": "0x4E50", diff --git a/keyboards/nopunin10did/styrkatmel/readme.md b/keyboards/nopunin10did/styrkatmel/readme.md index a8362dc896..df9656d1a6 100644 --- a/keyboards/nopunin10did/styrkatmel/readme.md +++ b/keyboards/nopunin10did/styrkatmel/readme.md @@ -22,4 +22,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at the top left in the macro columns (default: F1) 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`. For the default layout, hold down the rightmost 1.25u key on the bottom row, then tap the top-left key in the macro columns. +* **Keycode in layout**: Press the key mapped to `QK_BOOT`. For the default layout, hold down the rightmost 1.25u key on the bottom row, then tap the top-left key in the macro columns. \ No newline at end of file diff --git a/keyboards/novelkeys/nk20/keyboard.json b/keyboards/novelkeys/nk20/keyboard.json index e2560e0c30..f2728967b4 100644 --- a/keyboards/novelkeys/nk20/keyboard.json +++ b/keyboards/novelkeys/nk20/keyboard.json @@ -66,28 +66,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 75, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 149, "y": 0, "flags": 1}, - {"matrix": [1, 3], "x": 224, "y": 15, "flags": 1}, - {"matrix": [1, 2], "x": 149, "y": 15, "flags": 1}, - {"matrix": [1, 1], "x": 75, "y": 15, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 27, "flags": 4}, - {"matrix": [2, 1], "x": 75, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 149, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 224, "y": 34, "flags": 1}, - {"matrix": [3, 2], "x": 149, "y": 40, "flags": 4}, - {"matrix": [3, 1], "x": 75, "y": 40, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 40, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 52, "flags": 4}, - {"matrix": [4, 1], "x": 75, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 149, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 224, "y": 58, "flags": 1}, - {"matrix": [5, 2], "x": 149, "y": 64, "flags": 4}, - {"matrix": [5, 0], "x": 37, "y": 64, "flags": 4} - ], "max_brightness": 210, "sleep": true }, diff --git a/keyboards/novelkeys/nk20/nk20.c b/keyboards/novelkeys/nk20/nk20.c new file mode 100644 index 0000000000..23350e1037 --- /dev/null +++ b/keyboards/novelkeys/nk20/nk20.c @@ -0,0 +1,40 @@ +/* Copyright 2022 Yiancar + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { { + { 0, 1, 2, NO_LED }, + { 6, 5, 4, 3 }, + { 7, 8, 9, 10 }, + { 13, 12, 11, NO_LED }, + { 14, 15, 16, 17 }, + { 19, NO_LED, 18, NO_LED }, +}, { + { 0,0 }, { 75,0 }, {149,0 }, {224,15 }, {149,15 }, { 75,15 }, { 0,15 }, { 0,27 }, { 75,27 }, {149,27 }, + {224,34 }, {149,40 }, { 75,40 }, { 0,40 }, { 0,52 }, { 75,52 }, {149,52 }, {224,58 }, {149,64 }, { 37,64 } +}, { + 1, 1, 1, + 1, 1, 1, 1, + 4, 4, 4, 1, + 4, 4, 4, + 4, 4, 4, 1, + 4, 4 +} }; +// clang-format on +#endif diff --git a/keyboards/novelkeys/nk65_gen2/config.h b/keyboards/novelkeys/nk65_gen2/config.h deleted file mode 100755 index 5d6de3897a..0000000000 --- a/keyboards/novelkeys/nk65_gen2/config.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2026 Yiancar -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define WS2812_PWM_DRIVER PWMD3 -#define WS2812_PWM_CHANNEL 3 -#define WS2812_PWM_PAL_MODE 1 -#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM3 -#define WS2812_PWM_DMA_CHANNEL 3 diff --git a/keyboards/novelkeys/nk65_gen2/halconf.h b/keyboards/novelkeys/nk65_gen2/halconf.h deleted file mode 100644 index bf838f7ad9..0000000000 --- a/keyboards/novelkeys/nk65_gen2/halconf.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2026 Yiancar -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/novelkeys/nk65_gen2/keyboard.json b/keyboards/novelkeys/nk65_gen2/keyboard.json deleted file mode 100755 index 19051375c9..0000000000 --- a/keyboards/novelkeys/nk65_gen2/keyboard.json +++ /dev/null @@ -1,228 +0,0 @@ -{ - "keyboard_name": "NK65 Gen2", - "manufacturer": "Yiancar-Designs", - "url": "www.yiancar-designs.com", - "maintainer": "Yiancar", - "usb": { - "vid": "0x8968", - "pid": "0x4E56", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "ws2812": { - "pin": "B0", - "driver": "pwm" - }, - "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,14], "flags":1, "x":224, "y":0}, - {"matrix": [0,13], "flags":1, "x":202, "y":0}, - {"matrix": [0,12], "flags":4, "x":179, "y":0}, - {"matrix": [0,11], "flags":4, "x":164, "y":0}, - {"matrix": [0,10], "flags":4, "x":149, "y":0}, - {"matrix": [0,9], "flags":4, "x":134, "y":0}, - {"matrix": [0,8], "flags":4, "x":119, "y":0}, - {"matrix": [0,7], "flags":4, "x":105, "y":0}, - {"matrix": [0,6], "flags":4, "x":90, "y":0}, - {"matrix": [0,5], "flags":4, "x":75, "y":0}, - {"matrix": [0,4], "flags":4, "x":60, "y":0}, - {"matrix": [0,3], "flags":4, "x":45, "y":0}, - {"matrix": [0,2], "flags":4, "x":30, "y":0}, - {"matrix": [0,1], "flags":4, "x":15, "y":0}, - {"matrix": [0,0], "flags":1, "x":0, "y":0}, - {"matrix": [1,0], "flags":1, "x":4, "y":16}, - {"matrix": [1,1], "flags":4, "x":22, "y":16}, - {"matrix": [1,2], "flags":4, "x":37, "y":16}, - {"matrix": [1,3], "flags":4, "x":52, "y":16}, - {"matrix": [1,4], "flags":4, "x":67, "y":16}, - {"matrix": [1,5], "flags":4, "x":82, "y":16}, - {"matrix": [1,6], "flags":4, "x":97, "y":16}, - {"matrix": [1,7], "flags":4, "x":112, "y":16}, - {"matrix": [1,8], "flags":4, "x":127, "y":16}, - {"matrix": [1,9], "flags":4, "x":142, "y":16}, - {"matrix": [1,10], "flags":4, "x":157, "y":16}, - {"matrix": [1,11], "flags":4, "x":172, "y":16}, - {"matrix": [1,12], "flags":4, "x":187, "y":16}, - {"matrix": [2,12], "flags":4, "x":205, "y":16}, - {"matrix": [1,14], "flags":1, "x":224, "y":16}, - {"matrix": [2,14], "flags":1, "x":224, "y":32}, - {"matrix": [2,13], "flags":1, "x":200, "y":32}, - {"matrix": [2,11], "flags":4, "x":175, "y":32}, - {"matrix": [2,10], "flags":4, "x":161, "y":32}, - {"matrix": [2,9], "flags":4, "x":146, "y":32}, - {"matrix": [2,8], "flags":4, "x":131, "y":32}, - {"matrix": [2,7], "flags":4, "x":116, "y":32}, - {"matrix": [2,6], "flags":4, "x":101, "y":32}, - {"matrix": [2,5], "flags":4, "x":86, "y":32}, - {"matrix": [2,4], "flags":4, "x":71, "y":32}, - {"matrix": [2,3], "flags":4, "x":56, "y":32}, - {"matrix": [2,2], "flags":4, "x":41, "y":32}, - {"matrix": [2,1], "flags":4, "x":26, "y":32}, - {"matrix": [2,0], "flags":1, "x":11, "y":24}, - {"matrix": [3,0], "flags":1, "x":9, "y":48}, - {"matrix": [3,2], "flags":4, "x":34, "y":48}, - {"matrix": [3,3], "flags":4, "x":49, "y":48}, - {"matrix": [3,4], "flags":4, "x":63, "y":48}, - {"matrix": [3,5], "flags":4, "x":78, "y":48}, - {"matrix": [3,6], "flags":4, "x":93, "y":48}, - {"matrix": [3,7], "flags":4, "x":108, "y":48}, - {"matrix": [3,8], "flags":4, "x":123, "y":48}, - {"matrix": [3,9], "flags":4, "x":138, "y":48}, - {"matrix": [3,10], "flags":4, "x":153, "y":48}, - {"matrix": [3,11], "flags":4, "x":168, "y":48}, - {"matrix": [3,12], "flags":1, "x":189, "y":48}, - {"matrix": [3,13], "flags":1, "x":209, "y":48}, - {"matrix": [3,14], "flags":1, "x":224, "y":48}, - {"matrix": [4,14], "flags":1, "x":224, "y":64}, - {"matrix": [4,13], "flags":1, "x":209, "y":64}, - {"matrix": [4,12], "flags":1, "x":194, "y":64}, - {"matrix": [4,11], "flags":1, "x":168, "y":64}, - {"matrix": [4,6], "flags":4, "x":105, "y":64}, - {"matrix": [4,2], "flags":1, "x":41, "y":64}, - {"matrix": [4,1], "flags":1, "x":22, "y":64}, - {"matrix": [4,0], "flags":1, "x":4, "y":64}, - {"matrix": [4,0], "flags":8, "x":0, "y":0}, - {"matrix": [4,0], "flags":8, "x":0, "y":0} - ], - "max_brightness": 130, - "sleep": true - }, - "matrix_pins": { - "cols": ["B12", "B13", "B14", "B15", "A8", "A10", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9"], - "rows": ["B10", "B2", "B1", "A9", "A5"] - }, - "diode_direction": "COL2ROW", - "processor": "STM32F072", - "bootloader": "stm32-dfu", - "layout_aliases": { - "LAYOUT": "LAYOUT_65_ansi_blocker_tsangan" - }, - "layouts": { - "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, 14], "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": [2, 12], "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, "w": 1}, - {"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/novelkeys/nk65_gen2/keymaps/default/keymap.c b/keyboards/novelkeys/nk65_gen2/keymaps/default/keymap.c deleted file mode 100755 index acff5f36d9..0000000000 --- a/keyboards/novelkeys/nk65_gen2/keymaps/default/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2026 Yiancar -// 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( /* Base */ - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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), - -[1] = LAYOUT_65_ansi_blocker_tsangan( /* FN */ - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_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, RM_TOGG, RM_NEXT, RM_HUED, RM_HUEU, RM_SATD, RM_SATU, RM_VALD, RM_VALU, RM_SPDD, RM_SPDU, KC_TRNS, KC_TRNS, KC_TRNS, - KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; - -bool rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(66, 5, 2, 1); - } else { - rgb_matrix_set_color(66, 0, 0, 0); - } - - if (get_highest_layer(layer_state|default_layer_state) == 1) { - rgb_matrix_set_color(67, 3, 1, 5); - } else { - rgb_matrix_set_color(67, 0, 0, 0); - } - - return false; -} diff --git a/keyboards/novelkeys/nk65_gen2/mcuconf.h b/keyboards/novelkeys/nk65_gen2/mcuconf.h deleted file mode 100644 index ba586e3a06..0000000000 --- a/keyboards/novelkeys/nk65_gen2/mcuconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2026 Yiancar -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/novelkeys/nk65_gen2/readme.md b/keyboards/novelkeys/nk65_gen2/readme.md deleted file mode 100755 index 5725c85156..0000000000 --- a/keyboards/novelkeys/nk65_gen2/readme.md +++ /dev/null @@ -1,32 +0,0 @@ -# NK66 Gen2 - -This is a tsangan fixed layout 65% PCB. It supports full per-key RGB. - -* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) -* Hardware Supported: A 65% keyboard with STM32F072CB -* Hardware Availability: https://novelkeys.com/ - -Make example for this keyboard (after setting up your build environment): - - make novelkeys/nk65_gen2:default - -Flashing example for this keyboard: - - make novelkeys/nk65_gen2: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/nk65_gen2::flash`) diff --git a/keyboards/novelkeys/nk65b/keyboard.json b/keyboards/novelkeys/nk65b/keyboard.json index 74204a4413..0c2794c120 100755 --- a/keyboards/novelkeys/nk65b/keyboard.json +++ b/keyboards/novelkeys/nk65b/keyboard.json @@ -66,76 +66,6 @@ "solid_multisplash": true }, "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 225, "y": 0, "flags": 1}, - {"matrix": [1, 14], "x": 225, "y": 16, "flags": 1}, - {"matrix": [2, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 4, "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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 201, "y": 32, "flags": 1}, - {"matrix": [2, 14], "x": 225, "y": 32, "flags": 1}, - {"matrix": [3, 14], "x": 225, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 9, "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, 9], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 150, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 165, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 180, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 210, "y": 64, "flags": 1}, - {"x": 225, "y": 64, "flags": 1} - ], "max_brightness": 130, "sleep": true }, diff --git a/keyboards/novelkeys/nk65b/nk65b.c b/keyboards/novelkeys/nk65b/nk65b.c index 400ab35ef3..369bab262f 100755 --- a/keyboards/novelkeys/nk65b/nk65b.c +++ b/keyboards/novelkeys/nk65b/nk65b.c @@ -28,3 +28,27 @@ layer_state_t layer_state_set_kb(layer_state_t state) { gpio_write_pin(B3, !layer_state_cmp(state, 2)); return layer_state_set_user(state); } + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, + { 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, NO_LED, 15 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 16, 43 }, + { 57, NO_LED, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44 }, + { 58, 59, 60, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, 61, 62, 63, 64, 65, 66 } +}, { + { 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 }, {203,0 }, + {225,0 }, {225,16 }, {206,16 }, {188,16 }, {173,16 }, {158,16 }, {143,16 }, {128,16 }, {113,16 }, { 98,16 }, { 83,16 }, { 68,16 }, { 53,16 }, { 38,16 }, + { 23,16 }, { 4,16 }, { 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 }, {225,48 }, {210,48 }, {189,48 }, {169,48 }, {154,48 }, {139,48 }, {124,48 }, {109,48 }, { 94,48 }, { 79,48 }, { 64,48 }, { 49,48 }, + { 34,48 }, { 9,48 }, { 2,64 }, { 21,64 }, { 39,64 }, { 96,64 }, {150,64 }, {165,64 }, {180,64 }, {195,64 }, {210,64 }, {225,64 } +}, { + 1, 4, 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, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 +} }; +// clang-format on +#endif diff --git a/keyboards/novelkeys/nk87b/keyboard.json b/keyboards/novelkeys/nk87b/keyboard.json index 2213dfa86d..563f502aae 100755 --- a/keyboards/novelkeys/nk87b/keyboard.json +++ b/keyboards/novelkeys/nk87b/keyboard.json @@ -66,95 +66,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 29, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 42, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 55, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 71, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 97, "y": 0, "flags": 1}, - {"matrix": [0, 8], "x": 110, "y": 0, "flags": 1}, - {"matrix": [0, 9], "x": 127, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 140, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 153, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 166, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 182, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 1}, - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 16], "x": 224, "y": 15, "flags": 1}, - {"matrix": [1, 15], "x": 211, "y": 15, "flags": 1}, - {"matrix": [1, 14], "x": 198, "y": 15, "flags": 1}, - {"matrix": [1, 13], "x": 175, "y": 15, "flags": 1}, - {"matrix": [1, 12], "x": 156, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 13, "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": 19, "y": 27, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 27, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 27, "flags": 4}, - {"matrix": [2, 4], "x": 58, "y": 27, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 27, "flags": 4}, - {"matrix": [2, 6], "x": 84, "y": 27, "flags": 4}, - {"matrix": [2, 7], "x": 97, "y": 27, "flags": 4}, - {"matrix": [2, 8], "x": 110, "y": 27, "flags": 4}, - {"matrix": [2, 9], "x": 123, "y": 27, "flags": 4}, - {"matrix": [2, 10], "x": 136, "y": 27, "flags": 4}, - {"matrix": [2, 11], "x": 149, "y": 27, "flags": 4}, - {"matrix": [2, 12], "x": 162, "y": 27, "flags": 4}, - {"matrix": [3, 12], "x": 179, "y": 27, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 27, "flags": 1}, - {"matrix": [2, 15], "x": 211, "y": 27, "flags": 1}, - {"matrix": [2, 16], "x": 224, "y": 27, "flags": 1}, - {"matrix": [3, 13], "x": 174, "y": 40, "flags": 1}, - {"matrix": [3, 11], "x": 153, "y": 40, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 40, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 40, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 40, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 40, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 40, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 40, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 40, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 40, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 40, "flags": 4}, - {"matrix": [3, 1], "x": 23, "y": 40, "flags": 4}, - {"matrix": [3, 0], "x": 5, "y": 40, "flags": 1}, - {"matrix": [4, 0], "x": 8, "y": 52, "flags": 1}, - {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 94, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 133, "y": 52, "flags": 4}, - {"matrix": [4, 11], "x": 146, "y": 52, "flags": 4}, - {"matrix": [4, 12], "x": 170, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 1}, - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 1}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 1}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 1}, - {"matrix": [5, 13], "x": 179, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 162, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 146, "y": 64, "flags": 1}, - {"matrix": [5, 6], "x": 91, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 36, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 19, "y": 64, "flags": 1}, - {"matrix": [5, 0], "x": 3, "y": 64, "flags": 1} - ], "max_brightness": 114, "sleep": true }, diff --git a/keyboards/novelkeys/nk87b/nk87b.c b/keyboards/novelkeys/nk87b/nk87b.c index 9cd36e745f..125b5d7404 100644 --- a/keyboards/novelkeys/nk87b/nk87b.c +++ b/keyboards/novelkeys/nk87b/nk87b.c @@ -29,3 +29,30 @@ layer_state_t layer_state_set_kb(layer_state_t state) { gpio_write_pin(A4, !layer_state_cmp(state, 2)); return layer_state_set_user(state); } + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +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, NO_LED, 48, 49, 50 }, + { 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 47, 51, NO_LED, NO_LED, NO_LED }, + { 64, NO_LED, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76, NO_LED }, + { 86, 85, 84, NO_LED, NO_LED, NO_LED, 83, NO_LED, NO_LED, NO_LED, NO_LED, 82, 81, 80, 79, 78, 77 }, +}, { + { 0,0 }, { 16,0 }, { 29,0 }, { 42,0 }, { 55,0 }, { 71,0 }, { 84,0 }, { 97,0 }, {110,0 }, {127,0 }, {140,0 }, {153,0 }, {166,0 }, {182,0 }, {198,0 }, {211,0 }, {224,0 }, + {224,15 }, {211,15 }, {198,15 }, {175,15 }, {156,15 }, {143,15 }, {130,15 }, {117,15 }, {104,15 }, { 91,15 }, { 78,15 }, { 65,15 }, { 52,15 }, { 39,15 }, { 26,15 }, { 13,15 }, { 0,15 }, + { 3,27 }, { 19,27 }, { 32,27 }, { 45,27 }, { 58,27 }, { 71,27 }, { 84,27 }, { 97,27 }, {110,27 }, {123,27 }, {136,27 }, {149,27 }, {162,27 }, {179,27 }, {198,27 }, {211,27 }, {224,27 }, + {174,40 }, {153,40 }, {140,40 }, {127,40 }, {114,40 }, {101,40 }, { 88,40 }, { 75,40 }, { 62,40 }, { 49,40 }, { 36,40 }, { 23,40 }, { 5,40 }, { 8,52 }, { 29,52 }, { 42,52 }, { 55,52 }, + { 68,52 }, { 81,52 }, { 94,52 }, {107,52 }, {120,52 }, {133,52 }, {146,52 }, {170,52 }, {211,52 }, {224,64 }, {211,64 }, {198,64 }, {179,64 }, {162,64 }, {146,64 }, { 91,64 }, { 36,64 }, + { 19,64 }, { 3,64 } +}, { + 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, 1, + 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 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, 1, 1, + 1, 1, 1, 1, 1, 1, 4, 1, 1, 1 +} }; +// clang-format on +#endif diff --git a/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c b/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c index ce147c05bb..6f647f54f9 100644 --- a/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c +++ b/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c @@ -15,6 +15,10 @@ */ #include QMK_KEYBOARD_H +enum my_keycodes { + RETRO_RGB = QK_USER_0 +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_tkl_ansi_tsangan( /* 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, @@ -30,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, RM_NEXT, RM_HUED, RM_HUEU, RM_SATD, RM_SATU, RM_VALD, RM_VALU, RM_SPDD, RM_SPDU, _______, _______, - _______, _______, _______, RM_FLGN, _______, _______, _______, _______, _______, _______), + _______, _______, _______, RETRO_RGB, _______, _______, _______, _______, _______, _______), }; @@ -46,3 +50,24 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } return false; } + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RETRO_RGB: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_INDICATOR); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } + break; + } + } + return false; // Skip all further processing of this key + default: + return true; // Process all other keycodes normally + } +} diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c index 77848ba7ee..23014881bd 100644 --- a/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c +++ b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c @@ -15,6 +15,10 @@ */ #include QMK_KEYBOARD_H +enum my_keycodes { + RETRO_RGB = QK_USER_0 +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_tkl_iso_tsangan( /* 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, @@ -30,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, RM_NEXT, RM_HUED, RM_HUEU, RM_SATD, RM_SATU, RM_VALD, RM_VALU, RM_SPDD, RM_SPDU, _______, _______, - _______, _______, _______, RM_FLGN, _______, _______, _______, _______, _______, _______), + _______, _______, _______, RETRO_RGB, _______, _______, _______, _______, _______, _______), }; @@ -46,3 +50,24 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } return false; } + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RETRO_RGB: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_INDICATOR); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } + break; + } + } + return false; // Skip all further processing of this key + default: + return true; // Process all other keycodes normally + } +} diff --git a/keyboards/noxary/220/keymaps/default/readme.md b/keyboards/noxary/220/keymaps/default/readme.md index c3fd87ea4e..40f25464a0 100644 --- a/keyboards/noxary/220/keymaps/default/readme.md +++ b/keyboards/noxary/220/keymaps/default/readme.md @@ -1,3 +1,3 @@ ![Noxary 220 Layout Image](https://i.imgur.com/jVQ50lt.png) -# The default keymap for Noxary 220 +# The default keymap for Noxary 220 \ No newline at end of file diff --git a/keyboards/noxary/280/keymaps/default/readme.md b/keyboards/noxary/280/keymaps/default/readme.md index 8defe72bd0..3b6bc24f32 100644 --- a/keyboards/noxary/280/keymaps/default/readme.md +++ b/keyboards/noxary/280/keymaps/default/readme.md @@ -1,3 +1,3 @@ ![Noxary 280 Layout Image](https://i.imgur.com/7Go0py2.png) -# The default keymap for Noxary 280 +# The default keymap for Noxary 280 \ No newline at end of file diff --git a/keyboards/noxary/x268/keymaps/default/keymap.c b/keyboards/noxary/x268/keymaps/default/keymap.c index 26fcc12e07..bc47a72677 100644 --- a/keyboards/noxary/x268/keymaps/default/keymap.c +++ b/keyboards/noxary/x268/keymaps/default/keymap.c @@ -108,4 +108,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), -}; +}; \ No newline at end of file diff --git a/keyboards/nullbitsco/common/bitc_led.c b/keyboards/nullbitsco/common/bitc_led.c index a39bad0e9b..8f91e665f8 100644 --- a/keyboards/nullbitsco/common/bitc_led.c +++ b/keyboards/nullbitsco/common/bitc_led.c @@ -34,4 +34,4 @@ void set_bitc_LED(uint8_t mode) { default: break; } -} +} \ No newline at end of file diff --git a/keyboards/nullbitsco/common/bitc_led.h b/keyboards/nullbitsco/common/bitc_led.h index 9e5a07c5f3..c649f1c1dd 100644 --- a/keyboards/nullbitsco/common/bitc_led.h +++ b/keyboards/nullbitsco/common/bitc_led.h @@ -27,4 +27,4 @@ #define PIN_LED F0 -void set_bitc_LED(uint8_t mode); +void set_bitc_LED(uint8_t mode); \ No newline at end of file diff --git a/keyboards/nullbitsco/common/remote_kb.h b/keyboards/nullbitsco/common/remote_kb.h index fc57b39da5..97d299189d 100644 --- a/keyboards/nullbitsco/common/remote_kb.h +++ b/keyboards/nullbitsco/common/remote_kb.h @@ -50,4 +50,4 @@ enum remote_macros { void matrix_init_remote_kb(void), process_record_remote_kb(uint16_t keycode, keyrecord_t *record), - matrix_scan_remote_kb(void); + matrix_scan_remote_kb(void); \ No newline at end of file diff --git a/keyboards/nullbitsco/nibble/matrix.c b/keyboards/nullbitsco/nibble/matrix.c index e13dd38774..7ea5a6c470 100644 --- a/keyboards/nullbitsco/nibble/matrix.c +++ b/keyboards/nullbitsco/nibble/matrix.c @@ -93,4 +93,4 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { } return (uint8_t)changed; -} +} \ No newline at end of file diff --git a/keyboards/nullbitsco/scramble/v2/v2.h b/keyboards/nullbitsco/scramble/v2/v2.h index 5daec11128..c86282f658 100644 --- a/keyboards/nullbitsco/scramble/v2/v2.h +++ b/keyboards/nullbitsco/scramble/v2/v2.h @@ -40,4 +40,4 @@ void set_scramble_LED_r_pwm(uint8_t pwm), set_scramble_LED_g_pwm(uint8_t pwm), set_scramble_LED_b_pwm(uint8_t pwm); - + \ No newline at end of file diff --git a/keyboards/nullbitsco/snap/matrix.c b/keyboards/nullbitsco/snap/matrix.c index 94716d4032..64b451641d 100644 --- a/keyboards/nullbitsco/snap/matrix.c +++ b/keyboards/nullbitsco/snap/matrix.c @@ -13,9 +13,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include #include "matrix.h" -#include "keyboard.h" +#include #include "split_util.h" #include "wait.h" @@ -52,7 +51,7 @@ static void init_pins(void) { } // Set extended pin (only on right side) - if (!is_keyboard_left()) { + if (!isLeftHand) { // Set extended pin to input, pullup gpio_set_pin_input_high(MATRIX_EXT_PIN_RIGHT); } @@ -82,7 +81,7 @@ static void read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) static void read_ext_pin(matrix_row_t current_matrix[]) { // Read the state of the extended matrix pin - if (!is_keyboard_left()) { + if (!isLeftHand) { if (gpio_read_pin(MATRIX_EXT_PIN_RIGHT) == 0) { current_matrix[EXT_PIN_ROW] |= (COL_SHIFTER << EXT_PIN_COL); } else { @@ -92,7 +91,7 @@ static void read_ext_pin(matrix_row_t current_matrix[]) { } void matrix_init_custom(void) { - if (!is_keyboard_left()) { + if (!isLeftHand) { row_pins = row_pins_right; col_pins = col_pins_right; } diff --git a/keyboards/nulldesignco/null65ansi/v1/readme.md b/keyboards/nulldesignco/null65ansi/v1/readme.md index c51f665eb5..308d4120e3 100755 --- a/keyboards/nulldesignco/null65ansi/v1/readme.md +++ b/keyboards/nulldesignco/null65ansi/v1/readme.md @@ -24,4 +24,4 @@ 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 boot button**: Hold the button labeled as "BOOT" on the back of the board or short the two pads on the front while you connect the keyboard to your computer. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/nulldesignco/null65iso/v1/readme.md b/keyboards/nulldesignco/null65iso/v1/readme.md index e73b27def1..f7fdeac131 100755 --- a/keyboards/nulldesignco/null65iso/v1/readme.md +++ b/keyboards/nulldesignco/null65iso/v1/readme.md @@ -24,4 +24,4 @@ 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 boot button**: Hold the button labeled as "BOOT" on the back of the board or short the two pads on the front while you connect the keyboard to your computer. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/nulldesignco/nullpad/v1/keyboard.json b/keyboards/nulldesignco/nullpad/v1/keyboard.json deleted file mode 100755 index e669e51d90..0000000000 --- a/keyboards/nulldesignco/nullpad/v1/keyboard.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "manufacturer": "nulldesignco", - "keyboard_name": "nullpad", - "maintainer": "quark-works", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP27", "GP28", "GP8", "GP10"], - "rows": ["GP12", "GP25", "GP11", "GP26", "GP9", "GP21"] - }, - "processor": "RP2040", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "flower_blooming": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "riverflow": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "starlight": true, - "starlight_dual_hue": true, - "starlight_dual_sat": true, - "typing_heatmap": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [5, 1], "x": 37, "y": 0, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [3, 1], "x": 75, "y": 16, "flags": 4}, - {"matrix": [3, 2], "x": 150, "y": 16, "flags": 4}, - {"matrix": [4, 2], "x": 150, "y": 0, "flags": 4}, - {"matrix": [4, 3], "x": 224, "y": 8, "flags": 4}, - {"matrix": [2, 2], "x": 150, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 75, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [1, 1], "x": 75, "y": 48, "flags": 4}, - {"matrix": [1, 2], "x": 150, "y": 48, "flags": 4}, - {"matrix": [2, 3], "x": 224, "y": 40, "flags": 4}, - {"matrix": [0, 3], "x": 224, "y": 64, "flags": 4}, - {"matrix": [0, 2], "x": 150, "y": 64, "flags": 4}, - {"matrix": [0, 1], "x": 75, "y": 64, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 64, "flags": 4} - ], - "sleep": true - }, - "url": "https://nulldesignco.com/", - "usb": { - "device_version": "1.0.0", - "pid": "0x0011", - "vid": "0x6E6C" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP18" - }, - "community_layouts": ["numpad_5x4"], - "layouts": { - "LAYOUT_numpad_5x4": { - "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": 1, "h": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [5, 1], "x": 0, "y": 4, "w": 2}, - {"matrix": [4, 2], "x": 2, "y": 4}, - {"matrix": [4, 3], "x": 3, "y": 3, "h": 2} - ] - } - } -} diff --git a/keyboards/nulldesignco/nullpad/v1/keymaps/default/keymap.c b/keyboards/nulldesignco/nullpad/v1/keymaps/default/keymap.c deleted file mode 100755 index ac5482f4b2..0000000000 --- a/keyboards/nulldesignco/nullpad/v1/keymaps/default/keymap.c +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2025 quark-works -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT_numpad_5x4( - 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 - ) -}; - -bool rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().num_lock) { - rgb_matrix_set_color(16, 255, 0, 0); - } - return false; -} diff --git a/keyboards/nulldesignco/nullpad/v1/readme.md b/keyboards/nulldesignco/nullpad/v1/readme.md deleted file mode 100755 index 6c3b5a401e..0000000000 --- a/keyboards/nulldesignco/nullpad/v1/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# nullpad v1 - -![sp](https://i.imgur.com/069rfPe.png) - -Numpad tray mount PCB with RGB per key. - -* Keyboard Maintainer: [Quark](https://github.com/quark-works) -* Hardware Supported: PCB -* Hardware Availability: https://nulldesignco.com/ - -Make example for this keyboard (after setting up your build environment): - - make nulldesignco/nullpad/v1:default - -Flashing example for this keyboard: - - make nulldesignco/nullpad/v1:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key or NumLock) and plug in the keyboard -* **Physical boot button**: Hold the button labeled as "BOOT" on the back of the board while you connect the keyboard to your computer. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/numatreus/readme.md b/keyboards/numatreus/readme.md index 1f2c2a5a04..e945c31467 100644 --- a/keyboards/numatreus/readme.md +++ b/keyboards/numatreus/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make numatreus: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/ocean/sus/keyboard.json b/keyboards/ocean/sus/keyboard.json index aca9350a96..ebbb247035 100644 --- a/keyboards/ocean/sus/keyboard.json +++ b/keyboards/ocean/sus/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Sus", "manufacturer": "Ocean", + "url": " ", "maintainer": "Ocean", "usb": { "vid": "0x9624", diff --git a/keyboards/om60/matrix.c b/keyboards/om60/matrix.c index b7d4116993..837abcdca1 100644 --- a/keyboards/om60/matrix.c +++ b/keyboards/om60/matrix.c @@ -18,6 +18,14 @@ along with this program. If not, see . #include "matrix.h" #include "wait.h" +#if (MATRIX_COLS <= 8) +# define ROW_SHIFTER ((uint8_t)1) +#elif (MATRIX_COLS <= 16) +# define ROW_SHIFTER ((uint16_t)1) +#elif (MATRIX_COLS <= 32) +# define ROW_SHIFTER ((uint32_t)1) +#endif + static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; @@ -87,7 +95,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) uint8_t pin_state = gpio_read_pin(col_pins[col_index]); // Populate the matrix row with the state of the col pin - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); } // Unselect row @@ -115,12 +123,12 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) if (gpio_read_pin(row_pins[row_index]) == 0) { // Pin LO, set col bit - current_matrix[tmp] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[tmp] |= (ROW_SHIFTER << current_col); } else { // Pin HI, clear col bit - current_matrix[tmp] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[tmp] &= ~(ROW_SHIFTER << current_col); } // Determine if the matrix changed state diff --git a/keyboards/om60/readme.md b/keyboards/om60/readme.md index 9c8a650f7d..5d9d096d56 100644 --- a/keyboards/om60/readme.md +++ b/keyboards/om60/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.c b/keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.c new file mode 100644 index 0000000000..3fda310364 --- /dev/null +++ b/keyboards/omkbd/runner3680/5x6_5x8/5x6_5x8.c @@ -0,0 +1,52 @@ +/* Copyright 2021 omkbd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, NO_LED, 5, 4, 3, 2, 1, 0 }, + { NO_LED, NO_LED, 6, 7, 8, 9, 10, 11 }, + { NO_LED, NO_LED, 17, 16, 15, 14, 13, 12 }, + { NO_LED, NO_LED, 18, 19, 20, 21, 22, 23 }, + { NO_LED, NO_LED, 29, 28, 27, 26, 25, 24 }, + { 37, 36, 35, 34, 33, 32, 31, 30 }, + { 38, 39, 40, 41, 42, 43, 44, 45 }, + { 53, 52, 51, 50, 49, 48, 47, 46 }, + { 54, 55, 56, 57, 58, 59, 60, 61 }, + { 69, 68, 67, 66, 65, 64, 63, 62 } +}, { + // LED Index to Physical Position + { 86, 0 }, { 69, 0 }, { 52, 0 }, { 34, 0 }, { 17, 0 }, { 0, 0 }, + { 0, 16 }, { 17, 16 }, { 34, 16 }, { 52, 16 }, { 69, 16 }, { 86, 16 }, + { 86, 32 }, { 69, 32 }, { 52, 32 }, { 34, 32 }, { 17, 32 }, { 0, 32 }, + { 0, 48 }, { 17, 48 }, { 34, 48 }, { 52, 48 }, { 69, 48 }, { 86, 48 }, + { 86, 64 }, { 69, 64 }, { 52, 64 }, { 34, 64 }, { 17, 64 }, { 0, 64 }, + { 103, 0 }, { 121, 0 }, { 138, 0 }, { 155, 0 }, { 172, 0 }, { 190, 0 }, { 207, 0 }, { 224, 0 }, + { 224, 16 }, { 207, 16 }, { 190, 16 }, { 172, 16 }, { 155, 16 }, { 138, 16 }, { 121, 16 }, { 103, 16 }, + { 103, 32 }, { 121, 32 }, { 138, 32 }, { 155, 32 }, { 172, 32 }, { 190, 32 }, { 207, 32 }, { 224, 32 }, + { 224, 48 }, { 207, 48 }, { 190, 48 }, { 172, 48 }, { 155, 48 }, { 138, 48 }, { 121, 48 }, { 103, 48 }, + { 103, 64 }, { 121, 64 }, { 138, 64 }, { 155, 64 }, { 172, 64 }, { 190, 64 }, { 207, 64 }, { 224, 64 } +}, { + // LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +} }; +#endif diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json b/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json index 2033b0330d..2d912a1445 100644 --- a/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json +++ b/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json @@ -15,78 +15,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [0, 7], "x": 86, "y": 0, "flags": 255}, - {"matrix": [0, 6], "x": 69, "y": 0, "flags": 255}, - {"matrix": [0, 5], "x": 52, "y": 0, "flags": 255}, - {"matrix": [0, 4], "x": 34, "y": 0, "flags": 255}, - {"matrix": [0, 3], "x": 17, "y": 0, "flags": 255}, - {"matrix": [0, 2], "x": 0, "y": 0, "flags": 255}, - {"matrix": [1, 2], "x": 0, "y": 16, "flags": 255}, - {"matrix": [1, 3], "x": 17, "y": 16, "flags": 255}, - {"matrix": [1, 4], "x": 34, "y": 16, "flags": 255}, - {"matrix": [1, 5], "x": 52, "y": 16, "flags": 255}, - {"matrix": [1, 6], "x": 69, "y": 16, "flags": 255}, - {"matrix": [1, 7], "x": 86, "y": 16, "flags": 255}, - {"matrix": [2, 7], "x": 86, "y": 32, "flags": 255}, - {"matrix": [2, 6], "x": 69, "y": 32, "flags": 255}, - {"matrix": [2, 5], "x": 52, "y": 32, "flags": 255}, - {"matrix": [2, 4], "x": 34, "y": 32, "flags": 255}, - {"matrix": [2, 3], "x": 17, "y": 32, "flags": 255}, - {"matrix": [2, 2], "x": 0, "y": 32, "flags": 255}, - {"matrix": [3, 2], "x": 0, "y": 48, "flags": 255}, - {"matrix": [3, 3], "x": 17, "y": 48, "flags": 255}, - {"matrix": [3, 4], "x": 34, "y": 48, "flags": 255}, - {"matrix": [3, 5], "x": 52, "y": 48, "flags": 255}, - {"matrix": [3, 6], "x": 69, "y": 48, "flags": 255}, - {"matrix": [3, 7], "x": 86, "y": 48, "flags": 255}, - {"matrix": [4, 7], "x": 86, "y": 64, "flags": 255}, - {"matrix": [4, 6], "x": 69, "y": 64, "flags": 255}, - {"matrix": [4, 5], "x": 52, "y": 64, "flags": 255}, - {"matrix": [4, 4], "x": 34, "y": 64, "flags": 255}, - {"matrix": [4, 3], "x": 17, "y": 64, "flags": 255}, - {"matrix": [4, 2], "x": 0, "y": 64, "flags": 255}, - {"matrix": [5, 7], "x": 103, "y": 0, "flags": 255}, - {"matrix": [5, 6], "x": 121, "y": 0, "flags": 255}, - {"matrix": [5, 5], "x": 138, "y": 0, "flags": 255}, - {"matrix": [5, 4], "x": 155, "y": 0, "flags": 255}, - {"matrix": [5, 3], "x": 172, "y": 0, "flags": 255}, - {"matrix": [5, 2], "x": 190, "y": 0, "flags": 255}, - {"matrix": [5, 1], "x": 207, "y": 0, "flags": 255}, - {"matrix": [5, 0], "x": 224, "y": 0, "flags": 255}, - {"matrix": [6, 0], "x": 224, "y": 16, "flags": 255}, - {"matrix": [6, 1], "x": 207, "y": 16, "flags": 255}, - {"matrix": [6, 2], "x": 190, "y": 16, "flags": 255}, - {"matrix": [6, 3], "x": 172, "y": 16, "flags": 255}, - {"matrix": [6, 4], "x": 155, "y": 16, "flags": 255}, - {"matrix": [6, 5], "x": 138, "y": 16, "flags": 255}, - {"matrix": [6, 6], "x": 121, "y": 16, "flags": 255}, - {"matrix": [6, 7], "x": 103, "y": 16, "flags": 255}, - {"matrix": [7, 7], "x": 103, "y": 32, "flags": 255}, - {"matrix": [7, 6], "x": 121, "y": 32, "flags": 255}, - {"matrix": [7, 5], "x": 138, "y": 32, "flags": 255}, - {"matrix": [7, 4], "x": 155, "y": 32, "flags": 255}, - {"matrix": [7, 3], "x": 172, "y": 32, "flags": 255}, - {"matrix": [7, 2], "x": 190, "y": 32, "flags": 255}, - {"matrix": [7, 1], "x": 207, "y": 32, "flags": 255}, - {"matrix": [7, 0], "x": 224, "y": 32, "flags": 255}, - {"matrix": [8, 0], "x": 224, "y": 48, "flags": 255}, - {"matrix": [8, 1], "x": 207, "y": 48, "flags": 255}, - {"matrix": [8, 2], "x": 190, "y": 48, "flags": 255}, - {"matrix": [8, 3], "x": 172, "y": 48, "flags": 255}, - {"matrix": [8, 4], "x": 155, "y": 48, "flags": 255}, - {"matrix": [8, 5], "x": 138, "y": 48, "flags": 255}, - {"matrix": [8, 6], "x": 121, "y": 48, "flags": 255}, - {"matrix": [8, 7], "x": 103, "y": 48, "flags": 255}, - {"matrix": [9, 7], "x": 103, "y": 64, "flags": 255}, - {"matrix": [9, 6], "x": 121, "y": 64, "flags": 255}, - {"matrix": [9, 5], "x": 138, "y": 64, "flags": 255}, - {"matrix": [9, 4], "x": 155, "y": 64, "flags": 255}, - {"matrix": [9, 3], "x": 172, "y": 64, "flags": 255}, - {"matrix": [9, 2], "x": 190, "y": 64, "flags": 255}, - {"matrix": [9, 1], "x": 207, "y": 64, "flags": 255}, - {"matrix": [9, 0], "x": 224, "y": 64, "flags": 255} - ], "split_count": [30, 40] }, "matrix_pins": { diff --git a/keyboards/orange75/readme.md b/keyboards/orange75/readme.md index 58823e0ee8..9106744062 100644 --- a/keyboards/orange75/readme.md +++ b/keyboards/orange75/readme.md @@ -13,4 +13,4 @@ Make example for this keyboard (after setting up your build environment): make orange75: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/org60/readme.md b/keyboards/org60/readme.md index 58d3d67fe3..98a1e0315d 100644 --- a/keyboards/org60/readme.md +++ b/keyboards/org60/readme.md @@ -24,4 +24,4 @@ Taken from [r/mk](https://www.reddit.com/r/MechanicalKeyboards/comments/6xsd5c/m MOSFET that drives the in switch LEDs is not connected to a PWM pin. (It is connected to pin F5). Fix mentioned in reddit post re-routes to pin B5. You will have to change the pin to B5 in `config.h` ## Build -To build the default keymap, simply run `make org60:default`. +To build the default keymap, simply run `make org60:default`. \ No newline at end of file diff --git a/keyboards/orthocode/readme.md b/keyboards/orthocode/readme.md index ab62948487..4a2dfc01bf 100644 --- a/keyboards/orthocode/readme.md +++ b/keyboards/orthocode/readme.md @@ -14,4 +14,4 @@ Flashing example for this keyboard: make orthocode: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/orthodox/common/glcdfont.c b/keyboards/orthodox/common/glcdfont.c new file mode 100644 index 0000000000..d607d34b77 --- /dev/null +++ b/keyboards/orthodox/common/glcdfont.c @@ -0,0 +1,265 @@ +// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. +// See gfxfont.h for newer custom bitmap font info. + +#include "progmem.h" + +// Standard ASCII 5x7 font + +static const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, + 0x00, 0x18, 0x3C, 0x18, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, + 0x00, 0x18, 0x24, 0x18, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, + 0x30, 0x48, 0x3A, 0x06, 0x0E, + 0x26, 0x29, 0x79, 0x29, 0x26, + 0x40, 0x7F, 0x05, 0x05, 0x07, + 0x40, 0x7F, 0x05, 0x25, 0x3F, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, + 0x14, 0x22, 0x7F, 0x22, 0x14, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, + 0x06, 0x09, 0x7F, 0x01, 0x7F, + 0x00, 0x66, 0x89, 0x95, 0x6A, + 0x60, 0x60, 0x60, 0x60, 0x60, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, + 0x08, 0x04, 0x7E, 0x04, 0x08, + 0x10, 0x20, 0x7E, 0x20, 0x10, + 0x08, 0x08, 0x2A, 0x1C, 0x08, + 0x08, 0x1C, 0x2A, 0x08, 0x08, + 0x1E, 0x10, 0x10, 0x10, 0x10, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, + 0x30, 0x38, 0x3E, 0x38, 0x30, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, + 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, + 0x23, 0x13, 0x08, 0x64, 0x62, + 0x36, 0x49, 0x56, 0x20, 0x50, + 0x00, 0x08, 0x07, 0x03, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, + 0x08, 0x08, 0x3E, 0x08, 0x08, + 0x00, 0x80, 0x70, 0x30, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, + 0x00, 0x00, 0x60, 0x60, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, + 0x3E, 0x51, 0x49, 0x45, 0x3E, + 0x00, 0x42, 0x7F, 0x40, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, + 0x21, 0x41, 0x49, 0x4D, 0x33, + 0x18, 0x14, 0x12, 0x7F, 0x10, + 0x27, 0x45, 0x45, 0x45, 0x39, + 0x3C, 0x4A, 0x49, 0x49, 0x31, + 0x41, 0x21, 0x11, 0x09, 0x07, + 0x36, 0x49, 0x49, 0x49, 0x36, + 0x46, 0x49, 0x49, 0x29, 0x1E, + 0x00, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, + 0x14, 0x14, 0x14, 0x14, 0x14, + 0x00, 0x41, 0x22, 0x14, 0x08, + 0x02, 0x01, 0x59, 0x09, 0x06, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, + 0x7C, 0x12, 0x11, 0x12, 0x7C, + 0x7F, 0x49, 0x49, 0x49, 0x36, + 0x3E, 0x41, 0x41, 0x41, 0x22, + 0x7F, 0x41, 0x41, 0x41, 0x3E, + 0x7F, 0x49, 0x49, 0x49, 0x41, + 0x7F, 0x09, 0x09, 0x09, 0x01, + 0x3E, 0x41, 0x41, 0x51, 0x73, + 0x7F, 0x08, 0x08, 0x08, 0x7F, + 0x00, 0x41, 0x7F, 0x41, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, + 0x7F, 0x08, 0x14, 0x22, 0x41, + 0x7F, 0x40, 0x40, 0x40, 0x40, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, + 0x7F, 0x04, 0x08, 0x10, 0x7F, + 0x3E, 0x41, 0x41, 0x41, 0x3E, + 0x7F, 0x09, 0x09, 0x09, 0x06, + 0x3E, 0x41, 0x51, 0x21, 0x5E, + 0x7F, 0x09, 0x19, 0x29, 0x46, + 0x26, 0x49, 0x49, 0x49, 0x32, + 0x03, 0x01, 0x7F, 0x01, 0x03, + 0x3F, 0x40, 0x40, 0x40, 0x3F, + 0x1F, 0x20, 0x40, 0x20, 0x1F, + 0x3F, 0x40, 0x38, 0x40, 0x3F, + 0x63, 0x14, 0x08, 0x14, 0x63, + 0x03, 0x04, 0x78, 0x04, 0x03, + 0x61, 0x59, 0x49, 0x4D, 0x43, + 0x00, 0x7F, 0x41, 0x41, 0x41, + 0x02, 0x04, 0x08, 0x10, 0x20, + 0x00, 0x41, 0x41, 0x41, 0x7F, + 0x04, 0x02, 0x01, 0x02, 0x04, + 0x40, 0x40, 0x40, 0x40, 0x40, + 0x00, 0x03, 0x07, 0x08, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, + 0x7F, 0x28, 0x44, 0x44, 0x38, + 0x38, 0x44, 0x44, 0x44, 0x28, + 0x38, 0x44, 0x44, 0x28, 0x7F, + 0x38, 0x54, 0x54, 0x54, 0x18, + 0x00, 0x08, 0x7E, 0x09, 0x02, + 0x18, 0xA4, 0xA4, 0x9C, 0x78, + 0x7F, 0x08, 0x04, 0x04, 0x78, + 0x00, 0x44, 0x7D, 0x40, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, + 0x7C, 0x08, 0x04, 0x04, 0x78, + 0x38, 0x44, 0x44, 0x44, 0x38, + 0xFC, 0x18, 0x24, 0x24, 0x18, + 0x18, 0x24, 0x24, 0x18, 0xFC, + 0x7C, 0x08, 0x04, 0x04, 0x08, + 0x48, 0x54, 0x54, 0x54, 0x24, + 0x04, 0x04, 0x3F, 0x44, 0x24, + 0x3C, 0x40, 0x40, 0x20, 0x7C, + 0x1C, 0x20, 0x40, 0x20, 0x1C, + 0x3C, 0x40, 0x30, 0x40, 0x3C, + 0x44, 0x28, 0x10, 0x28, 0x44, + 0x4C, 0x90, 0x90, 0x90, 0x7C, + 0x44, 0x64, 0x54, 0x4C, 0x44, + 0x00, 0x08, 0x36, 0x41, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, + 0x3C, 0x26, 0x23, 0x26, 0x3C, + 0x1E, 0xA1, 0xA1, 0x61, 0x12, + 0x3A, 0x40, 0x40, 0x20, 0x7A, + 0x38, 0x54, 0x54, 0x55, 0x59, + 0x21, 0x55, 0x55, 0x79, 0x41, + 0x22, 0x54, 0x54, 0x78, 0x42, // a-umlaut + 0x21, 0x55, 0x54, 0x78, 0x40, + 0x20, 0x54, 0x55, 0x79, 0x40, + 0x0C, 0x1E, 0x52, 0x72, 0x12, + 0x39, 0x55, 0x55, 0x55, 0x59, + 0x39, 0x54, 0x54, 0x54, 0x59, + 0x39, 0x55, 0x54, 0x54, 0x58, + 0x00, 0x00, 0x45, 0x7C, 0x41, + 0x00, 0x02, 0x45, 0x7D, 0x42, + 0x00, 0x01, 0x45, 0x7C, 0x40, + 0x7D, 0x12, 0x11, 0x12, 0x7D, // A-umlaut + 0xF0, 0x28, 0x25, 0x28, 0xF0, + 0x7C, 0x54, 0x55, 0x45, 0x00, + 0x20, 0x54, 0x54, 0x7C, 0x54, + 0x7C, 0x0A, 0x09, 0x7F, 0x49, + 0x32, 0x49, 0x49, 0x49, 0x32, + 0x3A, 0x44, 0x44, 0x44, 0x3A, // o-umlaut + 0x32, 0x4A, 0x48, 0x48, 0x30, + 0x3A, 0x41, 0x41, 0x21, 0x7A, + 0x3A, 0x42, 0x40, 0x20, 0x78, + 0x00, 0x9D, 0xA0, 0xA0, 0x7D, + 0x3D, 0x42, 0x42, 0x42, 0x3D, // O-umlaut + 0x3D, 0x40, 0x40, 0x40, 0x3D, + 0x3C, 0x24, 0xFF, 0x24, 0x24, + 0x48, 0x7E, 0x49, 0x43, 0x66, + 0x2B, 0x2F, 0xFC, 0x2F, 0x2B, + 0xFF, 0x09, 0x29, 0xF6, 0x20, + 0xC0, 0x88, 0x7E, 0x09, 0x03, + 0x20, 0x54, 0x54, 0x79, 0x41, + 0x00, 0x00, 0x44, 0x7D, 0x41, + 0x30, 0x48, 0x48, 0x4A, 0x32, + 0x38, 0x40, 0x40, 0x22, 0x7A, + 0x00, 0x7A, 0x0A, 0x0A, 0x72, + 0x7D, 0x0D, 0x19, 0x31, 0x7D, + 0x26, 0x29, 0x29, 0x2F, 0x28, + 0x26, 0x29, 0x29, 0x29, 0x26, + 0x30, 0x48, 0x4D, 0x40, 0x20, + 0x38, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x38, + 0x2F, 0x10, 0xC8, 0xAC, 0xBA, + 0x2F, 0x10, 0x28, 0x34, 0xFA, + 0x00, 0x00, 0x7B, 0x00, 0x00, + 0x08, 0x14, 0x2A, 0x14, 0x22, + 0x22, 0x14, 0x2A, 0x14, 0x08, + 0x55, 0x00, 0x55, 0x00, 0x55, // #176 (25% block) missing in old code + 0xAA, 0x55, 0xAA, 0x55, 0xAA, // 50% block + 0xFF, 0x55, 0xFF, 0x55, 0xFF, // 75% block + 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x10, 0x10, 0x10, 0xFF, 0x00, + 0x14, 0x14, 0x14, 0xFF, 0x00, + 0x10, 0x10, 0xFF, 0x00, 0xFF, + 0x10, 0x10, 0xF0, 0x10, 0xF0, + 0x14, 0x14, 0x14, 0xFC, 0x00, + 0x14, 0x14, 0xF7, 0x00, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0xFF, + 0x14, 0x14, 0xF4, 0x04, 0xFC, + 0x14, 0x14, 0x17, 0x10, 0x1F, + 0x10, 0x10, 0x1F, 0x10, 0x1F, + 0x14, 0x14, 0x14, 0x1F, 0x00, + 0x10, 0x10, 0x10, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x1F, 0x10, + 0x10, 0x10, 0x10, 0x1F, 0x10, + 0x10, 0x10, 0x10, 0xF0, 0x10, + 0x00, 0x00, 0x00, 0xFF, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0xFF, 0x10, + 0x00, 0x00, 0x00, 0xFF, 0x14, + 0x00, 0x00, 0xFF, 0x00, 0xFF, + 0x00, 0x00, 0x1F, 0x10, 0x17, + 0x00, 0x00, 0xFC, 0x04, 0xF4, + 0x14, 0x14, 0x17, 0x10, 0x17, + 0x14, 0x14, 0xF4, 0x04, 0xF4, + 0x00, 0x00, 0xFF, 0x00, 0xF7, + 0x14, 0x14, 0x14, 0x14, 0x14, + 0x14, 0x14, 0xF7, 0x00, 0xF7, + 0x14, 0x14, 0x14, 0x17, 0x14, + 0x10, 0x10, 0x1F, 0x10, 0x1F, + 0x14, 0x14, 0x14, 0xF4, 0x14, + 0x10, 0x10, 0xF0, 0x10, 0xF0, + 0x00, 0x00, 0x1F, 0x10, 0x1F, + 0x00, 0x00, 0x00, 0x1F, 0x14, + 0x00, 0x00, 0x00, 0xFC, 0x14, + 0x00, 0x00, 0xF0, 0x10, 0xF0, + 0x10, 0x10, 0xFF, 0x10, 0xFF, + 0x14, 0x14, 0x14, 0xFF, 0x14, + 0x10, 0x10, 0x10, 0x1F, 0x00, + 0x00, 0x00, 0x00, 0xF0, 0x10, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x38, 0x44, 0x44, 0x38, 0x44, + 0xFC, 0x4A, 0x4A, 0x4A, 0x34, // sharp-s or beta + 0x7E, 0x02, 0x02, 0x06, 0x06, + 0x02, 0x7E, 0x02, 0x7E, 0x02, + 0x63, 0x55, 0x49, 0x41, 0x63, + 0x38, 0x44, 0x44, 0x3C, 0x04, + 0x40, 0x7E, 0x20, 0x1E, 0x20, + 0x06, 0x02, 0x7E, 0x02, 0x02, + 0x99, 0xA5, 0xE7, 0xA5, 0x99, + 0x1C, 0x2A, 0x49, 0x2A, 0x1C, + 0x4C, 0x72, 0x01, 0x72, 0x4C, + 0x30, 0x4A, 0x4D, 0x4D, 0x30, + 0x30, 0x48, 0x78, 0x48, 0x30, + 0xBC, 0x62, 0x5A, 0x46, 0x3D, + 0x3E, 0x49, 0x49, 0x49, 0x00, + 0x7E, 0x01, 0x01, 0x01, 0x7E, + 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, + 0x44, 0x44, 0x5F, 0x44, 0x44, + 0x40, 0x51, 0x4A, 0x44, 0x40, + 0x40, 0x44, 0x4A, 0x51, 0x40, + 0x00, 0x00, 0xFF, 0x01, 0x03, + 0xE0, 0x80, 0xFF, 0x00, 0x00, + 0x08, 0x08, 0x6B, 0x6B, 0x08, + 0x36, 0x12, 0x36, 0x24, 0x36, + 0x06, 0x0F, 0x09, 0x0F, 0x06, + 0x00, 0x00, 0x18, 0x18, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x00, + 0x30, 0x40, 0xFF, 0x01, 0x01, + 0x00, 0x1F, 0x01, 0x01, 0x1E, + 0x00, 0x19, 0x1D, 0x17, 0x12, + 0x00, 0x3C, 0x3C, 0x3C, 0x3C, + 0x00, 0x00, 0x00, 0x00, 0x00 // #255 NBSP +}; diff --git a/keyboards/orthograph/keymaps/default/keymap.json b/keyboards/orthograph/keymaps/default/keymap.json index c5660d3ce7..128016b742 100644 --- a/keyboards/orthograph/keymaps/default/keymap.json +++ b/keyboards/orthograph/keymaps/default/keymap.json @@ -21,4 +21,4 @@ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RM_NEXT","KC_TRNS", "RM_TOGG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" ] ] -} +} \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/config.h b/keyboards/owlab/jelly_evolv/config.h index e9f29e9771..95c5ca6048 100644 --- a/keyboards/owlab/jelly_evolv/config.h +++ b/keyboards/owlab/jelly_evolv/config.h @@ -20,4 +20,4 @@ /* RGB Strip*/ # define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5 # define RGBLIGHT_EFFECT_BREATHE_CENTER 1.0 -# define RGBLIGHT_EFFECT_BREATHE_MAX 100 +# define RGBLIGHT_EFFECT_BREATHE_MAX 100 \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/625u/keyboard.json b/keyboards/owlab/jelly_evolv/hotswap/625u/keyboard.json index 6e0ad02084..ec25908b60 100644 --- a/keyboards/owlab/jelly_evolv/hotswap/625u/keyboard.json +++ b/keyboards/owlab/jelly_evolv/hotswap/625u/keyboard.json @@ -90,4 +90,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/default/keymap.c b/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/default/keymap.c index 118fe1d73a..48dc032a4b 100644 --- a/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/default/keymap.c +++ b/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/default/keymap.c @@ -34,4 +34,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, 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/owlab/jelly_evolv/hotswap/625u/readme.md b/keyboards/owlab/jelly_evolv/hotswap/625u/readme.md index 783fb8769a..9bbd09d2cd 100644 --- a/keyboards/owlab/jelly_evolv/hotswap/625u/readme.md +++ b/keyboards/owlab/jelly_evolv/hotswap/625u/readme.md @@ -18,4 +18,4 @@ Flashing example for this keyboard: **Bootloader:** Press the button B of the PCB while plugging in the board. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/625u/rules.mk b/keyboards/owlab/jelly_evolv/hotswap/625u/rules.mk index 2dab647e95..dfd7b8e208 100644 --- a/keyboards/owlab/jelly_evolv/hotswap/625u/rules.mk +++ b/keyboards/owlab/jelly_evolv/hotswap/625u/rules.mk @@ -2,4 +2,4 @@ MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader DFU_ARGS = -d 1688:2220 -a 0 -s 0x08006000 DFU_SUFFIX_ARGS = -v 1688 -p 2220 BOOTLOADER_TYPE = stm32duino -OPT_DEFS += -DBOOTLOADER_STM32DUINO +OPT_DEFS += -DBOOTLOADER_STM32DUINO \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/7u/keyboard.json b/keyboards/owlab/jelly_evolv/hotswap/7u/keyboard.json index 35ab2ec1de..dc62266add 100644 --- a/keyboards/owlab/jelly_evolv/hotswap/7u/keyboard.json +++ b/keyboards/owlab/jelly_evolv/hotswap/7u/keyboard.json @@ -89,4 +89,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/default/keymap.c b/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/default/keymap.c index c1a81e1b36..4a0cbc599f 100644 --- a/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/default/keymap.c +++ b/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/default/keymap.c @@ -34,4 +34,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, 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/owlab/jelly_evolv/hotswap/7u/readme.md b/keyboards/owlab/jelly_evolv/hotswap/7u/readme.md index 4956ec7fe2..31615a8486 100644 --- a/keyboards/owlab/jelly_evolv/hotswap/7u/readme.md +++ b/keyboards/owlab/jelly_evolv/hotswap/7u/readme.md @@ -18,4 +18,4 @@ Flashing example for this keyboard: **Bootloader:** Press the button B of the PCB while plugging in the board. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/7u/rules.mk b/keyboards/owlab/jelly_evolv/hotswap/7u/rules.mk index 2dab647e95..dfd7b8e208 100644 --- a/keyboards/owlab/jelly_evolv/hotswap/7u/rules.mk +++ b/keyboards/owlab/jelly_evolv/hotswap/7u/rules.mk @@ -2,4 +2,4 @@ MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader DFU_ARGS = -d 1688:2220 -a 0 -s 0x08006000 DFU_SUFFIX_ARGS = -v 1688 -p 2220 BOOTLOADER_TYPE = stm32duino -OPT_DEFS += -DBOOTLOADER_STM32DUINO +OPT_DEFS += -DBOOTLOADER_STM32DUINO \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/info.json b/keyboards/owlab/jelly_evolv/info.json index 93ac2a4cb3..cd67a95a8d 100644 --- a/keyboards/owlab/jelly_evolv/info.json +++ b/keyboards/owlab/jelly_evolv/info.json @@ -40,4 +40,4 @@ "max_brightness": 100, "saturation_steps": 8 } -} +} \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/ld/STM32F103x8_0x08006000_bootloader.ld b/keyboards/owlab/jelly_evolv/ld/STM32F103x8_0x08006000_bootloader.ld index 57c50fd4eb..a40e12668a 100644 --- a/keyboards/owlab/jelly_evolv/ld/STM32F103x8_0x08006000_bootloader.ld +++ b/keyboards/owlab/jelly_evolv/ld/STM32F103x8_0x08006000_bootloader.ld @@ -86,4 +86,4 @@ REGION_ALIAS("BSS_RAM", ram0); REGION_ALIAS("HEAP_RAM", ram0); /* Generic rules inclusion.*/ -INCLUDE rules.ld +INCLUDE rules.ld \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c b/keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c index 59f1d39fc4..ff6ab06e9c 100644 --- a/keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c +++ b/keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c @@ -34,4 +34,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, 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/owlab/jelly_evolv/solder/readme.md b/keyboards/owlab/jelly_evolv/solder/readme.md index 157d680ce8..89843dac2d 100644 --- a/keyboards/owlab/jelly_evolv/solder/readme.md +++ b/keyboards/owlab/jelly_evolv/solder/readme.md @@ -18,4 +18,4 @@ Flashing example for this keyboard: **Bootloader:** Press the button B of the PCB while plugging in the board. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/solder/rules.mk b/keyboards/owlab/jelly_evolv/solder/rules.mk index 2dab647e95..dfd7b8e208 100644 --- a/keyboards/owlab/jelly_evolv/solder/rules.mk +++ b/keyboards/owlab/jelly_evolv/solder/rules.mk @@ -2,4 +2,4 @@ MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader DFU_ARGS = -d 1688:2220 -a 0 -s 0x08006000 DFU_SUFFIX_ARGS = -v 1688 -p 2220 BOOTLOADER_TYPE = stm32duino -OPT_DEFS += -DBOOTLOADER_STM32DUINO +OPT_DEFS += -DBOOTLOADER_STM32DUINO \ No newline at end of file diff --git a/keyboards/owlab/link65/hotswap/keyboard.json b/keyboards/owlab/link65/hotswap/keyboard.json deleted file mode 100644 index 5ae25cfdd8..0000000000 --- a/keyboards/owlab/link65/hotswap/keyboard.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "manufacturer": "Owlab", - "keyboard_name": "LINK Hotswap", - "maintainer": "Owlab", - "bootloader": "custom", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "host": { - "default": { - "nkro": true - } - }, - "indicators": { - "caps_lock": "A0", - "on_state": 0 - }, - "matrix_pins": { - "cols": ["A7", "B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10", "A6", "A15"], - "rows": ["A1", "A2", "A3", "A4", "A5"] - }, - "processor": "STM32F103", - "url": "https://owlab.store", - "usb": { - "device_version": "0.0.1", - "pid": "0x4C49", - "vid": "0x4F53" - }, - "community_layouts": ["65_ansi_blocker"], - "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, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [0, 14], "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, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [3, 11], "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.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, 4], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 7], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 8], "x": 11.25, "y": 4, "w": 1.25}, - {"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/owlab/link65/hotswap/keymaps/default/keymap.c b/keyboards/owlab/link65/hotswap/keymaps/default/keymap.c deleted file mode 100644 index 9ad67679bb..0000000000 --- a/keyboards/owlab/link65/hotswap/keymaps/default/keymap.c +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2022 Owlab - -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_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_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_RSFT, KC_UP, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, 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_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/owlab/link65/hotswap/ld/STM32F103x8_0x08006000_bootloader.ld b/keyboards/owlab/link65/hotswap/ld/STM32F103x8_0x08006000_bootloader.ld deleted file mode 100644 index 57c50fd4eb..0000000000 --- a/keyboards/owlab/link65/hotswap/ld/STM32F103x8_0x08006000_bootloader.ld +++ /dev/null @@ -1,89 +0,0 @@ -/* - ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -/* - * STM32F103x8 memory setup for use with the STM32Duino bootloader. - */ -f103_flash_size = 128k; - -MEMORY -{ - /*Here we give 22K flash to bootloader*/ - /*0x08005800 : the application bin start address*/ - flash0 : org = 0x08006000, len = f103_flash_size - 0x6000 - flash1 : org = 0x00000000, len = 0 - flash2 : org = 0x00000000, len = 0 - flash3 : org = 0x00000000, len = 0 - flash4 : org = 0x00000000, len = 0 - flash5 : org = 0x00000000, len = 0 - flash6 : org = 0x00000000, len = 0 - flash7 : org = 0x00000000, len = 0 - ram0 : org = 0x20000000, len = 20k - ram1 : org = 0x00000000, len = 0 - ram2 : org = 0x00000000, len = 0 - ram3 : org = 0x00000000, len = 0 - ram4 : org = 0x00000000, len = 0 - ram5 : org = 0x00000000, len = 0 - ram6 : org = 0x00000000, len = 0 - ram7 : org = 0x00000000, len = 0 -} - -/* For each data/text section two region are defined, a virtual region - and a load region (_LMA suffix).*/ - -/* Flash region to be used for exception vectors.*/ -REGION_ALIAS("VECTORS_FLASH", flash0); -REGION_ALIAS("VECTORS_FLASH_LMA", flash0); - -/* Flash region to be used for constructors and destructors.*/ -REGION_ALIAS("XTORS_FLASH", flash0); -REGION_ALIAS("XTORS_FLASH_LMA", flash0); - -/* Flash region to be used for code text.*/ -REGION_ALIAS("TEXT_FLASH", flash0); -REGION_ALIAS("TEXT_FLASH_LMA", flash0); - -/* Flash region to be used for read only data.*/ -REGION_ALIAS("RODATA_FLASH", flash0); -REGION_ALIAS("RODATA_FLASH_LMA", flash0); - -/* Flash region to be used for various.*/ -REGION_ALIAS("VARIOUS_FLASH", flash0); -REGION_ALIAS("VARIOUS_FLASH_LMA", flash0); - -/* Flash region to be used for RAM(n) initialization data.*/ -REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0); - -/* RAM region to be used for Main stack. This stack accommodates the processing - of all exceptions and interrupts.*/ -REGION_ALIAS("MAIN_STACK_RAM", ram0); - -/* RAM region to be used for the process stack. This is the stack used by - the main() function.*/ -REGION_ALIAS("PROCESS_STACK_RAM", ram0); - -/* RAM region to be used for data segment.*/ -REGION_ALIAS("DATA_RAM", ram0); -REGION_ALIAS("DATA_RAM_LMA", flash0); - -/* RAM region to be used for BSS segment.*/ -REGION_ALIAS("BSS_RAM", ram0); - -/* RAM region to be used for the default heap.*/ -REGION_ALIAS("HEAP_RAM", ram0); - -/* Generic rules inclusion.*/ -INCLUDE rules.ld diff --git a/keyboards/owlab/link65/hotswap/readme.md b/keyboards/owlab/link65/hotswap/readme.md deleted file mode 100644 index c16381f75d..0000000000 --- a/keyboards/owlab/link65/hotswap/readme.md +++ /dev/null @@ -1,23 +0,0 @@ -# LINK65 - Hotswap PCB - -![LINK65](https://i.imgur.com/tbeeWsph.jpeg) - -A 65% keyboard made by Owlab. - -* Keyboard Maintainer: [Owlab](https://github.com/owlab-git) -* Hardware Supported: LINK65 Hotswap PCB -* Hardware Availability: https://owlab.store - -Make example for this keyboard (after setting up your build environment): - - make owlab/link65/hotswap:default - -Flashing example for this keyboard: - - make owlab/link65/hotswap:default:flash - -**Bootloader:** This PCB uses the stm32duino bootloader with firmware starting at address `0x08006000`. To enter bootloader mode, hold the `B` key while plugging in USB. - -> ⚠️ **QMK Toolbox is not supported.** It flashes to the wrong address (`0x08000000`) and will overwrite the bootloader, bricking the board. Use `qmk flash` or `dfu-util` directly with `-s 0x08006000:leave`. - -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/owlab/link65/hotswap/rules.mk b/keyboards/owlab/link65/hotswap/rules.mk deleted file mode 100644 index 44babc1f8f..0000000000 --- a/keyboards/owlab/link65/hotswap/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader -BOARD = STM32_F103_STM32DUINO -DFU_ARGS = -d 1688:2220 -a 0 -s 0x08006000 -# PID -DFU_SUFFIX_ARGS = -v 1688 -p 2220 - -OPT_DEFS += -DBOOTLOADER_STM32DUINO diff --git a/keyboards/owlab/spring/keymaps/default/keymap.c b/keyboards/owlab/spring/keymaps/default/keymap.c index 63b52c60cd..f3564883e8 100644 --- a/keyboards/owlab/spring/keymaps/default/keymap.c +++ b/keyboards/owlab/spring/keymaps/default/keymap.c @@ -35,4 +35,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 ) -}; +}; \ No newline at end of file diff --git a/keyboards/owlab/voice65/hotswap/hotswap.c b/keyboards/owlab/voice65/hotswap/hotswap.c index ec27cf9b75..79179d1661 100644 --- a/keyboards/owlab/voice65/hotswap/hotswap.c +++ b/keyboards/owlab/voice65/hotswap/hotswap.c @@ -86,6 +86,29 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW5_CS39, SW5_CS38, SW5_CS37}, /* RGB65-dn- */ {0, SW7_CS39, SW7_CS38, SW7_CS37}, /* RGB66-right- */ }; + +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, NO_LED, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, NO_LED, 65, 66 } +}, { + { 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 }, { 208, 0 }, { 224, 0 }, + { 2, 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 }, { 210, 16 }, { 224, 16 }, + { 4, 32 }, { 20, 32 }, { 36, 32 }, { 52, 32 }, { 68, 32 }, { 84, 32 }, { 100, 32 }, { 116, 32 }, { 132, 32 }, { 148, 32 }, { 164, 32 }, { 180, 32 }, { 196, 32 }, { 224, 32 }, + { 8, 48 }, { 24, 48 }, { 40, 48 }, { 56, 48 }, { 72, 48 }, { 88, 48 }, { 104, 48 }, { 120, 48 }, { 136, 48 }, { 152, 48 }, { 168, 48 }, { 184, 48 }, { 208, 48 }, { 224, 48 }, + { 2, 64 }, { 18, 64 }, { 34, 64 }, { 82, 64 }, { 146, 64 }, { 162, 64 }, { 178, 64 }, { 210, 64 }, { 224, 64 } +}, { + 1, 4, 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, 4, 4, 1, + 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, + } +}; + + #endif bool rgb_matrix_indicators_kb(void) { diff --git a/keyboards/owlab/voice65/hotswap/keyboard.json b/keyboards/owlab/voice65/hotswap/keyboard.json index e31a7b5e65..79ca2a57ed 100644 --- a/keyboards/owlab/voice65/hotswap/keyboard.json +++ b/keyboards/owlab/voice65/hotswap/keyboard.json @@ -63,75 +63,6 @@ "val": 128 }, "driver": "is31fl3741", - "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": 208, "y": 0, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 2, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 18, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 34, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 50, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 114, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 130, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 146, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 162, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 178, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 194, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 210, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 4, "y": 32, "flags": 0}, - {"matrix": [2, 1], "x": 20, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 36, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 68, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 84, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 100, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 132, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 148, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 164, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 180, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 196, "y": 32, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 8, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 24, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 56, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 72, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 88, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 104, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 120, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 136, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 152, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 168, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 184, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 208, "y": 48, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 34, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 82, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 146, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 162, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 178, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "led_flush_limit": 26, "led_process_limit": 4, "max_brightness": 200, diff --git a/keyboards/owlab/voice65/soldered/keyboard.json b/keyboards/owlab/voice65/soldered/keyboard.json index 312b612561..edd79a064f 100644 --- a/keyboards/owlab/voice65/soldered/keyboard.json +++ b/keyboards/owlab/voice65/soldered/keyboard.json @@ -63,79 +63,6 @@ "val": 128 }, "driver": "is31fl3741", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 195, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 209, "y": 0, "flags": 4}, - {"matrix": [2, 13], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 2, "y": 16, "flags": 1}, - {"matrix": [1, 1], "x": 18, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 34, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 50, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 66, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 114, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 130, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 146, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 162, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 178, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 194, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 2, "y": 32, "flags": 0}, - {"matrix": [2, 1], "x": 20, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 36, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 68, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 84, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 100, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 132, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 148, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 164, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 180, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 202, "y": 32, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 176, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 192, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 208, "y": 48, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 20, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 40, "y": 64, "flags": 1}, - {"matrix": [4, 3], "x": 60, "y": 64, "flags": 1}, - {"matrix": [4, 4], "x": 95, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 132, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 152, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 172, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 192, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 208, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1} - ], "led_flush_limit": 26, "led_process_limit": 4, "max_brightness": 200, diff --git a/keyboards/owlab/voice65/soldered/soldered.c b/keyboards/owlab/voice65/soldered/soldered.c index 5a47de96e8..23144914fe 100644 --- a/keyboards/owlab/voice65/soldered/soldered.c +++ b/keyboards/owlab/voice65/soldered/soldered.c @@ -90,6 +90,29 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, SW5_CS39, SW5_CS38, SW5_CS37}, /* RGB69-dn- */ {0, SW5_CS27, SW5_CS26, SW5_CS25}, /* RGB70-right- */ }; + +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, + { 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, 15, 44 }, + { 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59 }, + { 60, 61, 62, 63, 64, NO_LED, 65, NO_LED, NO_LED, 66, 67, 68, 69, NO_LED, 70 } +}, { + { 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 }, { 209, 0 }, { 224, 0 }, + { 2, 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 }, { 208, 16 }, { 224, 16 }, + { 2, 32 }, { 20, 32 }, { 36, 32 }, { 52, 32 }, { 68, 32 }, { 84, 32 }, { 100, 32 }, { 116, 32 }, { 132, 32 }, { 148, 32 }, { 164, 32 }, { 180, 32 }, { 202, 32 }, { 224, 32 }, + { 0, 48 }, { 16, 48 }, { 32, 48 }, { 48, 48 }, { 64, 48 }, { 80, 48 }, { 96, 48 }, { 112, 48 }, { 128, 48 }, { 144, 48 }, { 160, 48 }, { 176, 48 }, { 192, 48 }, { 208, 48 }, { 224, 48 }, + { 0, 64 }, { 20, 64 }, { 40, 64 }, { 60, 64 }, { 95, 64 }, { 132, 64 }, { 152, 64 }, { 172, 64 }, { 192, 64 }, { 208, 64 }, { 224, 64 } +}, { + 1, 4, 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, + 0, 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, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + } +}; + + #endif bool rgb_matrix_indicators_kb(void) { diff --git a/keyboards/pablojimenezmateo/classic48/config.h b/keyboards/pablojimenezmateo/classic48/config.h deleted file mode 100644 index 8716f34b75..0000000000 --- a/keyboards/pablojimenezmateo/classic48/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2025 Pablo Jiménez Mateo (@pablojimenezmateo) - * - * 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 EE_HANDS - -#define MK_KINETIC_SPEED -#define MOUSEKEY_INITIAL_SPEED 200 -#define MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 2 -#define MOUSEKEY_WHEEL_BASE_MOVEMENTS 16 diff --git a/keyboards/pablojimenezmateo/classic48/keyboard.json b/keyboards/pablojimenezmateo/classic48/keyboard.json deleted file mode 100644 index ba65022860..0000000000 --- a/keyboards/pablojimenezmateo/classic48/keyboard.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "manufacturer": "Pablo Jim\u00e9nez Mateo", - "keyboard_name": "classic48", - "maintainer": "pablojimenezmateo", - "development_board": "promicro_rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["GP23", "GP21", "GP16", "GP15", "GP14", "GP13"], - "rows": ["GP27", "GP26", "GP22", "GP20"] - }, - "rgb_matrix": { - "default": { - "hue": 180, - "sat": 100, - "val": 60 - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 60, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 100, "y": 0, "flags": 4}, - {"matrix": [4, 0], "x": 240, "y": 0, "flags": 4}, - {"matrix": [4, 1], "x": 220, "y": 0, "flags": 4}, - {"matrix": [4, 2], "x": 200, "y": 0, "flags": 4}, - {"matrix": [4, 3], "x": 180, "y": 0, "flags": 4}, - {"matrix": [4, 4], "x": 160, "y": 0, "flags": 4}, - {"matrix": [4, 5], "x": 140, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 20, "flags": 4}, - {"matrix": [1, 1], "x": 20, "y": 20, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 20, "flags": 4}, - {"matrix": [1, 3], "x": 60, "y": 20, "flags": 4}, - {"matrix": [1, 4], "x": 80, "y": 20, "flags": 4}, - {"matrix": [1, 5], "x": 100, "y": 20, "flags": 4}, - {"matrix": [5, 0], "x": 240, "y": 20, "flags": 4}, - {"matrix": [5, 1], "x": 220, "y": 20, "flags": 4}, - {"matrix": [5, 2], "x": 200, "y": 20, "flags": 4}, - {"matrix": [5, 3], "x": 180, "y": 20, "flags": 4}, - {"matrix": [5, 4], "x": 160, "y": 20, "flags": 4}, - {"matrix": [5, 5], "x": 140, "y": 20, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 40, "flags": 4}, - {"matrix": [2, 1], "x": 20, "y": 40, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 40, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 40, "flags": 4}, - {"matrix": [2, 4], "x": 80, "y": 40, "flags": 4}, - {"matrix": [2, 5], "x": 100, "y": 40, "flags": 4}, - {"matrix": [6, 0], "x": 240, "y": 40, "flags": 4}, - {"matrix": [6, 1], "x": 220, "y": 40, "flags": 4}, - {"matrix": [6, 2], "x": 200, "y": 40, "flags": 4}, - {"matrix": [6, 3], "x": 180, "y": 40, "flags": 4}, - {"matrix": [6, 4], "x": 160, "y": 40, "flags": 4}, - {"matrix": [6, 5], "x": 140, "y": 40, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 60, "flags": 4}, - {"matrix": [3, 1], "x": 20, "y": 60, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 60, "flags": 4}, - {"matrix": [3, 3], "x": 60, "y": 60, "flags": 4}, - {"matrix": [3, 4], "x": 80, "y": 60, "flags": 4}, - {"matrix": [3, 5], "x": 100, "y": 60, "flags": 4}, - {"matrix": [7, 0], "x": 240, "y": 60, "flags": 4}, - {"matrix": [7, 1], "x": 220, "y": 60, "flags": 4}, - {"matrix": [7, 2], "x": 200, "y": 60, "flags": 4}, - {"matrix": [7, 3], "x": 180, "y": 60, "flags": 4}, - {"matrix": [7, 4], "x": 160, "y": 60, "flags": 4}, - {"matrix": [7, 5], "x": 140, "y": 60, "flags": 4} - ], - "max_brightness": 200 - }, - "split": { - "enabled": true, - "serial": { - "driver": "vendor", - "pin": "GP28" - }, - "transport": { - "sync": { - "layer_state": true - } - } - }, - "url": "https://github.com/pablojimenezmateo/classic48", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP29" - }, - "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": [4, 5], "x": 7, "y": 0}, - {"matrix": [4, 4], "x": 8, "y": 0}, - {"matrix": [4, 3], "x": 9, "y": 0}, - {"matrix": [4, 2], "x": 10, "y": 0}, - {"matrix": [4, 1], "x": 11, "y": 0}, - {"matrix": [4, 0], "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": [5, 5], "x": 7, "y": 1}, - {"matrix": [5, 4], "x": 8, "y": 1}, - {"matrix": [5, 3], "x": 9, "y": 1}, - {"matrix": [5, 2], "x": 10, "y": 1}, - {"matrix": [5, 1], "x": 11, "y": 1}, - {"matrix": [5, 0], "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": [6, 5], "x": 7, "y": 2}, - {"matrix": [6, 4], "x": 8, "y": 2}, - {"matrix": [6, 3], "x": 9, "y": 2}, - {"matrix": [6, 2], "x": 10, "y": 2}, - {"matrix": [6, 1], "x": 11, "y": 2}, - {"matrix": [6, 0], "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": [7, 5], "x": 7, "y": 3}, - {"matrix": [7, 4], "x": 8, "y": 3}, - {"matrix": [7, 3], "x": 9, "y": 3}, - {"matrix": [7, 2], "x": 10, "y": 3}, - {"matrix": [7, 1], "x": 11, "y": 3}, - {"matrix": [7, 0], "x": 12, "y": 3} - ] - } - } -} diff --git a/keyboards/pablojimenezmateo/classic48/keymaps/default/keymap.c b/keyboards/pablojimenezmateo/classic48/keymaps/default/keymap.c deleted file mode 100644 index 20dbf6269e..0000000000 --- a/keyboards/pablojimenezmateo/classic48/keymaps/default/keymap.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright 2025 Pablo Jiménez Mateo (@pablojimenezmateo) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - #include QMK_KEYBOARD_H - -enum layer_names { - _MAIN, - _NUMBERS, - _SYMBOLS, - _NAVIGATION -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MAIN] = LAYOUT( - KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO, - 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_ESCAPE, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, - LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_NO, MO(_NUMBERS), LT(3, KC_SPC), LT(2, KC_ENTER), KC_LSFT, KC_NO, KC_LGUI, KC_NO, LCTL(KC_F) - ), - [_NUMBERS] = LAYOUT( - KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_NO, KC_NO, KC_7, KC_8, KC_9, KC_NO, KC_NO, - KC_NO, KC_F5, KC_F6, KC_F7, KC_F8, KC_NO, KC_NO, KC_4, KC_5, KC_6, KC_NO, KC_NO, - KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO - ), - [_SYMBOLS] = LAYOUT( - KC_NO, KC_PIPE, KC_AT, KC_LCBR, KC_RCBR, KC_CIRC, KC_QUOT, KC_DQUO, KC_EQL, KC_AMPR, KC_ASTR, KC_GRV, - KC_NO, KC_EXLM, KC_EXLM, KC_LPRN, KC_RPRN, KC_DLR, KC_EXLM, KC_QUES, KC_SLSH, KC_COLN, KC_SCLN, KC_PLUS, - KC_NO, KC_HASH, KC_PERC, KC_LBRC, KC_RBRC, KC_TILD, KC_LT, KC_GT, KC_MINS, KC_UNDS, KC_BSLS, KC_PSCR, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT - ), - [_NAVIGATION] = LAYOUT( - KC_NO, KC_NO, MS_BTN4, MS_UP, MS_BTN5, KC_NO, LSFT(KC_LEFT), LALT(KC_DOWN), LALT(KC_UP), LSFT(KC_RGHT), KC_NO, KC_VOLU, - KC_NO, KC_NO, MS_LEFT, MS_DOWN, MS_RGHT, KC_LEFT_CTRL, KC_HOME, MS_BTN1, MS_BTN3, MS_BTN2, KC_END, KC_VOLD, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_BRIU, - LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_NO, KC_NO, KC_NO, MS_WHLD, MS_WHLU, KC_NO, KC_NO, KC_NO, KC_BRID - ), -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case _MAIN: - /* Yellow */ - rgb_matrix_sethsv_noeeprom(50, 255, 255); break; - case _NUMBERS: - /* Cyan */ - rgb_matrix_sethsv_noeeprom(170, 255, 255); break; - case _SYMBOLS: - /* Purple */ - rgb_matrix_sethsv_noeeprom(200, 255, 255); break; - case _NAVIGATION: - /* Green */ - rgb_matrix_sethsv_noeeprom(85, 255, 255); break; - default: - /* Off */ - rgb_matrix_sethsv_noeeprom(0, 0, 0); break; - } - return state; -} diff --git a/keyboards/pablojimenezmateo/classic48/readme.md b/keyboards/pablojimenezmateo/classic48/readme.md deleted file mode 100644 index ff3dd072c5..0000000000 --- a/keyboards/pablojimenezmateo/classic48/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -# pablojimenezmateo/classic48 - -![pablojimenezmateo/classic48](https://i.imgur.com/czFWWhX.jpeg) - -A custom split keyboard with 48 keys and addressable LEDs. - -* Keyboard Maintainer: [Pablo Jimenez Mateo](https://github.com/pablojimenezmateo) -* Hardware Supported: RP2040 Pro Micro -* Hardware Availability: https://github.com/pablojimenezmateo/classic48 - -Make example for this keyboard (after setting up your build environment): - - make pablojimenezmateo/classic48:default - -Flashing example for this keyboard: - - qmk flash -kb pablojimenezmateo/classic48 -km default -bl uf2-split-left - qmk flash -kb pablojimenezmateo/classic48 -km default -bl uf2-split-right - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/pad9/keyboard.json b/keyboards/pad9/keyboard.json deleted file mode 100644 index 897e21251a..0000000000 --- a/keyboards/pad9/keyboard.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "manufacturer": "prkrln", - "keyboard_name": "pad9", - "maintainer": "prkrln", - "diode_direction": "COL2ROW", - "bootloader": "rp2040", - "processor": "RP2040", - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "encoder": { - "rotary": [ - {"pin_a": "GP27", "pin_b": "GP26"} - ] - }, - "matrix_pins": { - "direct": [ - ["GP6", "GP1", "GP3"], - ["GP29", "GP7", "GP4"], - ["GP28", "GP0", "GP2"] - ] - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x5009", - "vid": "0x504B" - }, - "community_layouts": ["ortho_3x3"], - "layouts": { - "LAYOUT_ortho_3x3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "encoder": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2} - ] - } - } -} diff --git a/keyboards/pad9/keymaps/default/keymap.c b/keyboards/pad9/keymaps/default/keymap.c deleted file mode 100644 index e600cc9ae0..0000000000 --- a/keyboards/pad9/keymaps/default/keymap.c +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, -}; -#endif - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_3x3( - KC_1, KC_2, KC_3, - KC_4, KC_5, KC_6, - KC_7, KC_8, KC_9 - ) -}; diff --git a/keyboards/pad9/keymaps/default/rules.mk b/keyboards/pad9/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/pad9/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/pad9/readme.md b/keyboards/pad9/readme.md deleted file mode 100644 index 4450f16f93..0000000000 --- a/keyboards/pad9/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# pad9 - -![pad9](https://github.com/prkrln/pad9/blob/main/pad9.jpg) -A cheap small macropad with the mcu underneath the switches. - -* Keyboard Maintainer: [prkrln](https://github.com/prkrln) -* Hardware Supported: [XAIO RP2040](https://wiki.seeedstudio.com/XIAO-RP2040) -* Hardware Availability: [Seeed](https://www.seeedstudio.com/XIAO-RP2040-v1-0-p-5026.html), [Digikey](https://www.digikey.com/en/products/detail/seeed-technology-co-ltd/102010428/14672129) - -Make example for this keyboard (after setting up your build environment): - - make pad9:default - -Flashing example for this keyboard: - - make pad9: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 encoder or top left key and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the MCU -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/pangorin/tan67/keyboard.json b/keyboards/pangorin/tan67/keyboard.json index 175cf7cfb6..3c593d846b 100644 --- a/keyboards/pangorin/tan67/keyboard.json +++ b/keyboards/pangorin/tan67/keyboard.json @@ -241,4 +241,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/pangorin/tan67/tan67.c b/keyboards/pangorin/tan67/tan67.c new file mode 100644 index 0000000000..08568ddcc8 --- /dev/null +++ b/keyboards/pangorin/tan67/tan67.c @@ -0,0 +1,52 @@ +/* Copyright 2023 Pangorin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case (LED_FLAG_UNDERGLOW): { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } + } + return false; + } + return process_record_user(keycode, record); +} +#endif + diff --git a/keyboards/nifty_numpad/nifty_numpad.h b/keyboards/paprikman/albacore/albacore.c similarity index 71% rename from keyboards/nifty_numpad/nifty_numpad.h rename to keyboards/paprikman/albacore/albacore.c index 0e4bf8f7e3..b6cf742a11 100644 --- a/keyboards/nifty_numpad/nifty_numpad.h +++ b/keyboards/paprikman/albacore/albacore.c @@ -1,4 +1,4 @@ -/* Copyright 2023 Acliad +/* Copyright 2021 paprikman * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,21 +14,17 @@ * along with this program. If not, see . */ -#pragma once - #include "quantum.h" -enum custom_keycodes { - RM_DMOD = QK_KB, - RM_IMOD -}; -#define LAYER_RGB (MAX_LAYER - 1) - -#ifdef RGB_IDLE_ENABLE - -#define RGB_IDLE_TIMEOUT_MS (10*60*1000) - -// Functions exposed by nifty_numpad.c -bool rgb_matrix_idle_mode(void); - +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 0, 1, 2, 3 }, + { 7, 6, 5, 4 } +}, { + { 56, 16 }, { 112, 16 }, { 168, 16 }, { 224, 16 }, + { 56, 24 }, { 112, 24 }, { 168, 24 }, { 224, 24 } +}, { + 1, 1, 1, 1, + 1, 1, 1, 1 +} }; #endif diff --git a/keyboards/paprikman/albacore/keyboard.json b/keyboards/paprikman/albacore/keyboard.json index 13862f4354..8706c67bcd 100644 --- a/keyboards/paprikman/albacore/keyboard.json +++ b/keyboards/paprikman/albacore/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Albacore", "manufacturer": "paprikman", + "url": "https://github.com/paprikman/qmk_firmware/tree/master/keyboards/paprikman/albacore", "maintainer": "paprikman", "usb": { "vid": "0x736D", @@ -9,16 +10,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 75, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 150, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 3], "x": 0, "y": 64, "flags": 1}, - {"matrix": [1, 2], "x": 75, "y": 64, "flags": 1}, - {"matrix": [1, 1], "x": 150, "y": 64, "flags": 1}, - {"matrix": [1, 0], "x": 224, "y": 64, "flags": 1} - ], "max_brightness": 220, "sleep": true }, diff --git a/keyboards/pearlboards/zeuspad/matrix_diagram.md b/keyboards/pearlboards/zeuspad/matrix_diagram.md index e0e79ce56e..1dde3faef8 100644 --- a/keyboards/pearlboards/zeuspad/matrix_diagram.md +++ b/keyboards/pearlboards/zeuspad/matrix_diagram.md @@ -18,4 +18,4 @@ ┌───────┐ │50 │ 2u P0 └───────┘ -``` +``` \ No newline at end of file diff --git a/keyboards/percent/canoe_gen2/canoe_gen2.c b/keyboards/percent/canoe_gen2/canoe_gen2.c new file mode 100644 index 0000000000..6cbbed412d --- /dev/null +++ b/keyboards/percent/canoe_gen2/canoe_gen2.c @@ -0,0 +1,119 @@ +/* +Copyright 2020 Evy Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE + +led_config_t g_led_config = { { + // Key Matrix to LED Index + // 15, 44, 46, 48, + // 74, 75, 76 + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16 }, + { 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 13, 31 }, + { 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 30, 45, 47 }, + { 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 }, + { 64, 65, 66, NO_LED, NO_LED, NO_LED, 67, NO_LED, NO_LED, 69, 70, NO_LED, 71, 72, 73 } +}, { + // LED Index to Physical Position + { 7, 8 }, // Esc + { 22, 8 }, // 1 + { 37, 8 }, // 2 + { 52, 8 }, // 3 + { 67, 8 }, // 4 + { 82, 8 }, // 5 + { 97, 8 }, // 6 + { 112, 8 }, // 7 + { 127, 8 }, // 8 + { 142, 8 }, // 9 + { 157, 8 }, // 0 + { 172, 8 }, // - + { 187, 8 }, // = + { 202, 8 }, // split bs + { 209, 8 }, // bs + { 217, 8 }, // split bs + { 231, 8 }, // ins + { 11, 24 }, // tab + { 30, 24 }, // q + { 45, 24 }, // w + { 60, 24 }, // e + { 75, 24 }, // r + { 90, 24 }, // t + { 104, 24 }, // y + { 119, 24 }, // u + { 134, 24 }, // i + { 149, 24 }, // o + { 164, 24 }, // p + { 179, 24 }, // [ + { 194, 24 }, // ] + { 212, 24 }, // backslash + { 231, 24 }, // del + { 11, 40 }, // caps + { 34, 40 }, // a + { 49, 40 }, // s + { 64, 40 }, // d + { 79, 40 }, // f + { 94, 40 }, // g + { 108, 40 }, // h + { 123, 40 }, // j + { 138, 40 }, // k + { 153, 40 }, // l + { 168, 40 }, // ; + { 183, 40 }, // ' + { 198, 40 }, // iso hash + { 200, 40 }, // ansi enter + { 215, 32 }, // iso enter + { 231, 40 }, // pgup + { 9, 56 }, // iso shift + { 17, 56 }, // ansi shift + { 26, 56 }, // iso nubs + { 41, 56 }, // z + { 56, 56 }, // x + { 71, 56 }, // c + { 86, 56 }, // v + { 101, 56 }, // b + { 116, 56 }, // n + { 131, 56 }, // m + { 146, 56 }, // , + { 161, 56 }, // . + { 175, 56 }, // ? + { 196, 56 }, // shift + { 217, 56 }, // up + { 231, 56 }, // pgdn + { 10, 72 }, // ctrl + { 29, 72 }, // win + { 48, 72 }, // alt + { 103, 72 }, // space + { 112, 72 }, // space + { 161, 72 }, // alt + { 176, 72 }, // fn + { 202, 72 }, // left + { 217, 72 }, // down + { 231, 72 }, // right + { 7, 40 }, // top 1 + { 119, 40 }, // top 2 + { 231, 40 } // top 3 +}, { + // LED Index to Flag + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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, 1, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, + 2, 2, 2 +} }; +#endif diff --git a/keyboards/percent/canoe_gen2/keyboard.json b/keyboards/percent/canoe_gen2/keyboard.json index 45e1817ad5..b6a8a47a5f 100644 --- a/keyboards/percent/canoe_gen2/keyboard.json +++ b/keyboards/percent/canoe_gen2/keyboard.json @@ -61,85 +61,6 @@ "pixel_fractal": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 16, "flags": 1}, - {"matrix": [0, 1], "x": 15, "y": 16, "flags": 4}, - {"matrix": [0, 2], "x": 30, "y": 16, "flags": 4}, - {"matrix": [0, 3], "x": 45, "y": 16, "flags": 4}, - {"matrix": [0, 4], "x": 60, "y": 16, "flags": 4}, - {"matrix": [0, 5], "x": 75, "y": 16, "flags": 4}, - {"matrix": [0, 6], "x": 90, "y": 16, "flags": 4}, - {"matrix": [0, 7], "x": 105, "y": 16, "flags": 4}, - {"matrix": [0, 8], "x": 120, "y": 16, "flags": 4}, - {"matrix": [0, 9], "x": 135, "y": 16, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 16, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 16, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 195, "y": 16, "flags": 4}, - {"matrix": [0, 13], "x": 210, "y": 16, "flags": 1}, - {"x": 217, "y": 16, "flags": 1}, - {"matrix": [0, 14], "x": 224, "y": 16, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 28, "flags": 1}, - {"matrix": [1, 1], "x": 23, "y": 28, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 28, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 28, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 28, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 28, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 28, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 28, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 28, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 28, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 28, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 28, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 28, "flags": 4}, - {"matrix": [2, 12], "x": 206, "y": 28, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 28, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 40, "flags": 1}, - {"matrix": [2, 1], "x": 26, "y": 40, "flags": 4}, - {"matrix": [2, 2], "x": 41, "y": 40, "flags": 4}, - {"matrix": [2, 3], "x": 56, "y": 40, "flags": 4}, - {"matrix": [2, 4], "x": 71, "y": 40, "flags": 4}, - {"matrix": [2, 5], "x": 86, "y": 40, "flags": 4}, - {"matrix": [2, 6], "x": 101, "y": 40, "flags": 4}, - {"matrix": [2, 7], "x": 116, "y": 40, "flags": 4}, - {"matrix": [2, 8], "x": 131, "y": 40, "flags": 4}, - {"matrix": [2, 9], "x": 146, "y": 40, "flags": 4}, - {"matrix": [2, 10], "x": 161, "y": 40, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 40, "flags": 4}, - {"x": 192, "y": 40, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 40, "flags": 1}, - {"x": 209, "y": 40, "flags": 1}, - {"matrix": [2, 14], "x": 224, "y": 40, "flags": 1}, - {"x": 5, "y": 52, "flags": 1}, - {"matrix": [3, 0], "x": 9, "y": 52, "flags": 1}, - {"matrix": [3, 1], "x": 15, "y": 52, "flags": 4}, - {"matrix": [3, 2], "x": 34, "y": 52, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 52, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 52, "flags": 4}, - {"matrix": [3, 5], "x": 79, "y": 52, "flags": 4}, - {"matrix": [3, 6], "x": 94, "y": 52, "flags": 4}, - {"matrix": [3, 7], "x": 109, "y": 52, "flags": 4}, - {"matrix": [3, 8], "x": 124, "y": 52, "flags": 4}, - {"matrix": [3, 9], "x": 139, "y": 52, "flags": 4}, - {"matrix": [3, 10], "x": 154, "y": 52, "flags": 4}, - {"matrix": [3, 11], "x": 169, "y": 52, "flags": 4}, - {"matrix": [3, 12], "x": 189, "y": 52, "flags": 1}, - {"matrix": [3, 13], "x": 210, "y": 52, "flags": 1}, - {"matrix": [3, 14], "x": 224, "y": 52, "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": 96, "y": 64, "flags": 4}, - {"x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 133, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 152, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}, - {"x": 220, "y": 0, "flags": 2}, - {"x": 222, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2} - ], "max_brightness": 150, "sleep": true }, diff --git a/keyboards/percent/readme.md b/keyboards/percent/readme.md index f5cc8d8150..8028edf03c 100644 --- a/keyboards/percent/readme.md +++ b/keyboards/percent/readme.md @@ -3,4 +3,4 @@ [Website](https://percent.studio/) [Facebook](https://www.facebook.com/PercentStudio.CN/) [Instagram](https://www.instagram.com/percent.studio/) -[Taobao](https://shop140162967.world.taobao.com/?spm=a1z09.1.sellercard.15.15ec3606mPki7O) +[Taobao](https://shop140162967.world.taobao.com/?spm=a1z09.1.sellercard.15.15ec3606mPki7O) \ No newline at end of file diff --git a/keyboards/percent_studio_aftermarket/keyboard.json b/keyboards/percent_studio_aftermarket/keyboard.json deleted file mode 100644 index 08840fde9b..0000000000 --- a/keyboards/percent_studio_aftermarket/keyboard.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "manufacturer": "Mike Tihonovich", - "keyboard_name": "percent_studio_aftermarket", - "maintainer": "Jubakuba", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], - "rows": ["GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP26", "GP27", "GP28"] - }, - "processor": "RP2040", - "usb": { - "device_version": "1.0.0", - "pid": "0x0004", - "vid": "0x4A4B" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 1, "y": 0, "label": "Esc"}, - {"matrix": [0, 1], "x": 2, "y": 0, "label": "F1"}, - {"matrix": [0, 2], "x": 3, "y": 0, "label": "F2"}, - {"matrix": [0, 3], "x": 4, "y": 0, "label": "F3"}, - {"matrix": [0, 4], "x": 5, "y": 0, "label": "F4"}, - {"matrix": [0, 5], "x": 6, "y": 0, "label": "F5"}, - {"matrix": [0, 6], "x": 7, "y": 0, "label": "F6"}, - {"matrix": [0, 7], "x": 8, "y": 0, "label": "F7"}, - {"matrix": [0, 8], "x": 9, "y": 0, "label": "F8"}, - {"matrix": [0, 9], "x": 10, "y": 0, "label": "F9"}, - {"matrix": [6, 2], "x": 11, "y": 0, "label": "F10"}, - {"matrix": [6, 3], "x": 12, "y": 0, "label": "F11"}, - {"matrix": [6, 4], "x": 13, "y": 0, "label": "F12"}, - {"matrix": [6, 5], "x": 14, "y": 0, "label": "F13"}, - {"matrix": [6, 6], "x": 15, "y": 0, "label": "F14"}, - {"matrix": [6, 7], "x": 16.5, "y": 0, "label": "Print Screen"}, - {"matrix": [6, 8], "x": 17.5, "y": 0, "label": "Scroll Lock"}, - {"matrix": [6, 9], "x": 18.5, "y": 0, "label": "Pause"}, - {"matrix": [1, 0], "x": 1, "y": 2, "label": "Tilde"}, - {"matrix": [1, 1], "x": 2, "y": 2, "label": "1"}, - {"matrix": [1, 2], "x": 3, "y": 2, "w": 1.5, "label": "2"}, - {"matrix": [1, 3], "x": 4, "y": 2, "label": "3"}, - {"matrix": [1, 4], "x": 5, "y": 2, "label": "4"}, - {"matrix": [1, 5], "x": 6, "y": 2, "label": "5"}, - {"matrix": [1, 6], "x": 7, "y": 2, "label": "6"}, - {"matrix": [1, 7], "x": 8, "y": 2, "label": "7"}, - {"matrix": [1, 8], "x": 9, "y": 2, "label": "8"}, - {"matrix": [1, 9], "x": 10, "y": 2, "label": "9"}, - {"matrix": [6, 0], "x": 11, "y": 2, "label": "0"}, - {"matrix": [6, 1], "x": 12, "y": 2, "label": "Minus"}, - {"matrix": [7, 0], "x": 13, "y": 2, "label": "Equals"}, - {"matrix": [7, 1], "x": 14, "y": 2, "w": 2, "label": "Backspace"}, - {"matrix": [7, 2], "x": 16.5, "y": 2, "label": "Insert"}, - {"matrix": [7, 3], "x": 17.5, "y": 2, "label": "Home"}, - {"matrix": [7, 4], "x": 18.5, "y": 2, "label": "Page Up"}, - {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5, "label": "Tab"}, - {"matrix": [2, 1], "x": 2.5, "y": 3, "label": "Q"}, - {"matrix": [2, 2], "x": 3.5, "y": 3, "label": "W"}, - {"matrix": [2, 3], "x": 4.5, "y": 3, "label": "E"}, - {"matrix": [2, 4], "x": 5.5, "y": 3, "label": "R"}, - {"matrix": [2, 5], "x": 6.5, "y": 3, "label": "T"}, - {"matrix": [2, 6], "x": 7.5, "y": 3, "label": "Y"}, - {"matrix": [2, 7], "x": 8.5, "y": 3, "label": "U"}, - {"matrix": [2, 8], "x": 9.5, "y": 3, "label": "I"}, - {"matrix": [2, 9], "x": 10.5, "y": 3, "label": "O"}, - {"matrix": [7, 5], "x": 11.5, "y": 3, "label": "P"}, - {"matrix": [7, 6], "x": 12.5, "y": 3, "label": "["}, - {"matrix": [7, 7], "x": 13.5, "y": 3, "label": "]"}, - {"matrix": [7, 8], "x": 14.5, "y": 3, "w": 1.5, "label": "\\"}, - {"matrix": [7, 9], "x": 16.5, "y": 3, "label": "Delete"}, - {"matrix": [8, 0], "x": 17.5, "y": 3, "label": "End"}, - {"matrix": [8, 1], "x": 18.5, "y": 3, "label": "Page Down"}, - {"matrix": [3, 0], "x": 1, "y": 4, "w": 1.75, "label": "Caps Lock"}, - {"matrix": [3, 1], "x": 2.75, "y": 4, "label": "A"}, - {"matrix": [3, 2], "x": 3.75, "y": 4, "label": "S"}, - {"matrix": [3, 3], "x": 4.75, "y": 4, "label": "D"}, - {"matrix": [3, 4], "x": 5.75, "y": 4, "label": "F"}, - {"matrix": [3, 5], "x": 6.75, "y": 4, "label": "G"}, - {"matrix": [3, 6], "x": 7.75, "y": 4, "label": "H"}, - {"matrix": [3, 7], "x": 8.75, "y": 4, "label": "J"}, - {"matrix": [3, 8], "x": 9.75, "y": 4, "label": "K"}, - {"matrix": [3, 9], "x": 10.75, "y": 4, "label": "L"}, - {"matrix": [8, 2], "x": 11.75, "y": 4, "label": ";"}, - {"matrix": [8, 3], "x": 12.75, "y": 4, "label": "'"}, - {"matrix": [8, 4], "x": 13.75, "y": 4, "w": 2.25, "label": "Enter"}, - {"matrix": [4, 0], "x": 1, "y": 5, "w": 2.25, "label": "Shift"}, - {"matrix": [4, 1], "x": 3.25, "y": 5, "label": "Z"}, - {"matrix": [4, 2], "x": 4.25, "y": 5, "label": "X"}, - {"matrix": [4, 3], "x": 5.25, "y": 5, "label": "C"}, - {"matrix": [4, 4], "x": 6.25, "y": 5, "label": "V"}, - {"matrix": [4, 5], "x": 7.25, "y": 5, "label": "B"}, - {"matrix": [4, 6], "x": 8.25, "y": 5, "label": "N"}, - {"matrix": [4, 7], "x": 9.25, "y": 5, "label": "M"}, - {"matrix": [4, 8], "x": 10.25, "y": 5, "label": ","}, - {"matrix": [4, 9], "x": 11.25, "y": 5, "label": "."}, - {"matrix": [8, 5], "x": 12.25, "y": 5, "label": "/"}, - {"matrix": [8, 6], "x": 13.25, "y": 5, "w": 2.75, "label": "Right Shift"}, - {"matrix": [8, 7], "x": 17.5, "y": 5, "label": "Up"}, - {"matrix": [5, 0], "x": 1, "y": 6, "w": 1.5, "label": "Ctrl"}, - {"matrix": [5, 1], "x": 2.5, "y": 6, "label": "Win"}, - {"matrix": [5, 2], "x": 3.5, "y": 6, "w": 1.5, "label": "Alt"}, - {"matrix": [5, 3], "x": 5, "y": 6, "w": 7, "label": "Space"}, - {"matrix": [5, 4], "x": 12, "y": 6, "w": 1.5, "label": "Right Alt"}, - {"matrix": [5, 5], "x": 13.5, "y": 6, "label": "Right Win"}, - {"matrix": [5, 6], "x": 14.5, "y": 6, "w": 1.5, "label": "Right Ctrl"}, - {"matrix": [5, 7], "x": 16.5, "y": 6, "label": "Left"}, - {"matrix": [5, 8], "x": 17.5, "y": 6, "label": "Down"}, - {"matrix": [5, 9], "x": 18.5, "y": 6, "label": "Right"} - ] - } - }, - "rgblight": { - "led_count": 4, - "max_brightness": 120 - }, - "ws2812": { - "driver": "vendor", - "pin": "GP29" - } -} diff --git a/keyboards/percent_studio_aftermarket/keymaps/default/keymap.c b/keyboards/percent_studio_aftermarket/keymaps/default/keymap.c deleted file mode 100644 index 8e8ede6572..0000000000 --- a/keyboards/percent_studio_aftermarket/keymaps/default/keymap.c +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ - * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│F13│F14│ │PSc│Scr│Pse│ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┤ ├───┼───┼───┤ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ - * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ - * ├────┬───┼───┴─┬─┴───┴───┴───┴───┴───┴───┴┬──┴───┼───┬──────┤ ┌───┼───┼───┐ - * │Ctrl│GUI│ Alt │ │Alt │GUI│ Ctrl │ │ ← │ ↓ │ → │ - * └────┴───┴─────┴──────────────────────────┴──────┴───┴──────┘ └───┴───┴───┘ - */ - [0] = LAYOUT( - 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, MO(2), MO(1), KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [2] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - diff --git a/keyboards/percent_studio_aftermarket/percent_studio_aftermarket.c b/keyboards/percent_studio_aftermarket/percent_studio_aftermarket.c deleted file mode 100644 index 1e6c1a2994..0000000000 --- a/keyboards/percent_studio_aftermarket/percent_studio_aftermarket.c +++ /dev/null @@ -1,132 +0,0 @@ -/* -Copyright 2026 Jubakuba (Jubakuba@gmail.com) - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include "quantum.h" - -typedef enum { - COLOR_NONE, - COLOR_BACKSPACE, - COLOR_ALPHA, - COLOR_NUM, - COLOR_SYMBOL, - COLOR_SPACE, - COLOR_QUANTUM, - COLOR_OTHER, -} key_type_t; - -key_type_t led_history[4] = {COLOR_NONE, COLOR_NONE, COLOR_NONE, COLOR_NONE}; - -key_type_t get_key_category(uint16_t keycode) { - bool shifted = (get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))); - - switch (keycode) { - case QK_BASIC ... QK_BASIC_MAX: - switch (QK_MODS_GET_BASIC_KEYCODE(keycode)) { - case KC_BSPC: - return COLOR_BACKSPACE; - case KC_A ... KC_Z: - return COLOR_ALPHA; - case KC_SPACE: - return COLOR_SPACE; - case KC_1 ... KC_0: - if (shifted) { - return COLOR_SYMBOL; - } - return COLOR_NUM; - case KC_MINUS ... KC_SLASH: - return COLOR_SYMBOL; - case KC_NO: - case KC_TRNS: - return COLOR_NONE; - default: - return COLOR_OTHER; - } - case QK_MOMENTARY ... QK_MOMENTARY_MAX: - case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: - case QK_DEF_LAYER ... QK_DEF_LAYER_MAX: - case QK_TO ... QK_TO_MAX: - case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: - case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: - case QK_LAYER_MOD ... QK_LAYER_MOD_MAX: - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - return COLOR_QUANTUM; - - default: - return COLOR_OTHER; - } -} - -void update_custom_leds(void) { - bool caps_on = host_keyboard_led_state().caps_lock; - - for (uint8_t i = 0; i < 4; i++) { - if (i == 0 && caps_on) { - rgblight_sethsv_at(HSV_RED, i); - continue; - } - - switch (led_history[i]) { - case COLOR_BACKSPACE: - rgblight_sethsv_at(HSV_RED, i); - break; - case COLOR_ALPHA: - rgblight_sethsv_at(HSV_BLUE, i); - break; - case COLOR_NUM: - rgblight_sethsv_at(HSV_WHITE, i); - break; - case COLOR_SYMBOL: - rgblight_sethsv_at(HSV_YELLOW, i); - break; - case COLOR_OTHER: - rgblight_sethsv_at(HSV_ORANGE, i); - break; - case COLOR_SPACE: - rgblight_sethsv_at(HSV_GREEN, i); - break; - case COLOR_QUANTUM: - rgblight_sethsv_at(HSV_PURPLE, i); - break; - default: - rgblight_sethsv_at(HSV_BLUE, i); - break; - } - } -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - key_type_t new_color = get_key_category(keycode); - - if (new_color != COLOR_NONE) { - led_history[0] = led_history[1]; - led_history[1] = led_history[2]; - led_history[2] = led_history[3]; - - led_history[3] = new_color; - - update_custom_leds(); - } - } - return process_record_user(keycode, record); -} - -bool led_update_kb(led_t led_state) { - update_custom_leds(); - return led_update_user(led_state); -} diff --git a/keyboards/percent_studio_aftermarket/readme.md b/keyboards/percent_studio_aftermarket/readme.md deleted file mode 100644 index 3c81ee0281..0000000000 --- a/keyboards/percent_studio_aftermarket/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# percent_studio_aftermarket - -![percent_studio_aftermarket](https://i.imgur.com/nQAFCH0.png) - -*This code is specifically for the aftermarket QMK PCB maintained by Jubakuba that enables QMK for the Volt80 by Percent Studio. This firmware should NOT be flashed on the stock PCB. The PCB needs to be ordered using a PCB provider using the hardware link below. This PCB will fit in the Volt 80 keyboard and work as expected.* - -* Keyboard Maintainer: [Mike Tihonovich](https://github.com/Jubakuba) -* Hardware Supported: [Custom PCB](https://github.com/Jubakuba/Volt-80-Kicad) -* Hardware Availability: https://github.com/Jubakuba/Volt-80-Kicad - -Make example for this keyboard (after setting up your build environment): - - make percent_studio_aftermarket:default - -Flashing example for this keyboard: - - make percent_studio_aftermarket: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/phage_studio/pila87/keyboard.json b/keyboards/phage_studio/pila87/keyboard.json index 135a4f0a81..fbdf5f637a 100644 --- a/keyboards/phage_studio/pila87/keyboard.json +++ b/keyboards/phage_studio/pila87/keyboard.json @@ -62,99 +62,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [5, 16], "x": 224, "y": 64, "flags": 4}, - {"matrix": [5, 15], "x": 211, "y": 64, "flags": 4}, - {"matrix": [5, 14], "x": 198, "y": 64, "flags": 4}, - {"matrix": [5, 13], "x": 180, "y": 64, "flags": 1}, - {"matrix": [5, 12], "x": 164, "y": 64, "flags": 1}, - {"matrix": [5, 11], "x": 148, "y": 64, "flags": 1}, - {"matrix": [5, 10], "x": 131, "y": 64, "flags": 1}, - {"matrix": [5, 7], "x": 110, "y": 61, "flags": 4}, - {"matrix": [5, 6], "x": 104, "y": 61, "flags": 4}, - {"matrix": [5, 5], "x": 83, "y": 64, "flags": 4}, - {"matrix": [5, 4], "x": 65, "y": 61, "flags": 4}, - {"matrix": [5, 3], "x": 58, "y": 61, "flags": 4}, - {"matrix": [5, 2], "x": 34, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 18, "y": 64, "flags": 1}, - {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 8, "y": 52, "flags": 1}, - {"matrix": [4, 1], "x": 29, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 42, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 55, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 68, "y": 52, "flags": 4}, - {"matrix": [4, 5], "x": 81, "y": 52, "flags": 4}, - {"matrix": [4, 6], "x": 94, "y": 52, "flags": 4}, - {"matrix": [4, 7], "x": 107, "y": 52, "flags": 4}, - {"matrix": [4, 8], "x": 120, "y": 52, "flags": 4}, - {"matrix": [4, 9], "x": 133, "y": 52, "flags": 4}, - {"matrix": [4, 10], "x": 146, "y": 52, "flags": 4}, - {"matrix": [4, 13], "x": 170, "y": 52, "flags": 1}, - {"matrix": [4, 15], "x": 211, "y": 52, "flags": 4}, - {"matrix": [3, 13], "x": 174, "y": 41, "flags": 1}, - {"matrix": [3, 11], "x": 153, "y": 41, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 41, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 41, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 41, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 41, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 41, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 41, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 41, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 41, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 41, "flags": 4}, - {"matrix": [3, 1], "x": 23, "y": 41, "flags": 4}, - {"matrix": [3, 0], "x": 5, "y": 41, "flags": 8}, - {"matrix": [2, 0], "x": 3, "y": 29, "flags": 1}, - {"matrix": [2, 1], "x": 19, "y": 29, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 29, "flags": 4}, - {"matrix": [2, 3], "x": 45, "y": 29, "flags": 4}, - {"matrix": [2, 4], "x": 58, "y": 29, "flags": 4}, - {"matrix": [2, 5], "x": 71, "y": 29, "flags": 4}, - {"matrix": [2, 6], "x": 84, "y": 29, "flags": 4}, - {"matrix": [2, 7], "x": 97, "y": 29, "flags": 4}, - {"matrix": [2, 8], "x": 110, "y": 29, "flags": 4}, - {"matrix": [2, 9], "x": 123, "y": 29, "flags": 4}, - {"matrix": [2, 10], "x": 136, "y": 29, "flags": 4}, - {"matrix": [2, 11], "x": 149, "y": 29, "flags": 4}, - {"matrix": [2, 12], "x": 162, "y": 29, "flags": 4}, - {"matrix": [2, 13], "x": 179, "y": 29, "flags": 4}, - {"matrix": [2, 14], "x": 198, "y": 29, "flags": 4}, - {"matrix": [2, 15], "x": 211, "y": 29, "flags": 4}, - {"matrix": [2, 16], "x": 224, "y": 29, "flags": 4}, - {"matrix": [1, 16], "x": 224, "y": 17, "flags": 4}, - {"matrix": [1, 15], "x": 211, "y": 17, "flags": 4}, - {"matrix": [1, 14], "x": 198, "y": 17, "flags": 4}, - {"matrix": [1, 13], "x": 175, "y": 17, "flags": 1}, - {"matrix": [1, 12], "x": 156, "y": 17, "flags": 4}, - {"matrix": [1, 11], "x": 143, "y": 17, "flags": 4}, - {"matrix": [1, 10], "x": 130, "y": 17, "flags": 4}, - {"matrix": [1, 9], "x": 117, "y": 17, "flags": 4}, - {"matrix": [1, 8], "x": 104, "y": 17, "flags": 4}, - {"matrix": [1, 7], "x": 91, "y": 17, "flags": 4}, - {"matrix": [1, 6], "x": 78, "y": 17, "flags": 4}, - {"matrix": [1, 5], "x": 65, "y": 17, "flags": 4}, - {"matrix": [1, 4], "x": 52, "y": 17, "flags": 4}, - {"matrix": [1, 3], "x": 39, "y": 17, "flags": 4}, - {"matrix": [1, 2], "x": 26, "y": 17, "flags": 4}, - {"matrix": [1, 1], "x": 13, "y": 17, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 17, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 26, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 39, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 52, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 65, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 84, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 97, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 110, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 123, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 143, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 156, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 169, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 182, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 8}, - {"matrix": [0, 16], "x": 224, "y": 0, "flags": 4} - ], "max_brightness": 200 }, "processor": "STM32F103", diff --git a/keyboards/phage_studio/pila87/pila87.c b/keyboards/phage_studio/pila87/pila87.c index f95ce98131..619623cc09 100644 --- a/keyboards/phage_studio/pila87/pila87.c +++ b/keyboards/phage_studio/pila87/pila87.c @@ -23,6 +23,51 @@ #include #include +led_config_t g_led_config = { { + { 75, NO_LED, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90 }, + { 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, + { 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, NO_LED, 28, NO_LED, NO_LED, NO_LED }, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, NO_LED, NO_LED, 26, NO_LED, 27, NO_LED }, + { 14, 13, 12, 11, 10, 9, 8, 7, NO_LED, NO_LED, 6, 5, 4, 3, 2, 1, 0 } +}, { + {224, 64}, {211, 64}, {198, 64}, {180, 64}, {164, 64}, {148, 64}, {131, 64}, {110, 61}, {104, 61}, {83 , 64}, {65 , 61}, {58 , 61}, {34 , 64}, {18 , 64}, {2 , 64}, + {8 , 52}, {29 , 52}, {42 , 52}, {55 , 52}, {68 , 52}, {81 , 52}, {94 , 52}, {107, 52}, {120, 52}, {133, 52}, {146, 52}, {170, 52}, {211, 52}, + {174, 41}, {153, 41}, {140, 41}, {127, 41}, {114, 41}, {101, 41}, {88 , 41}, {75 , 41}, {62 , 41}, {49 , 41}, {36 , 41}, {23 , 41}, {5 , 41}, + {3 , 29}, {19 , 29}, {32 , 29}, {45 , 29}, {58 , 29}, {71 , 29}, {84 , 29}, {97 , 29}, {110, 29}, {123, 29}, {136, 29}, {149, 29}, {162, 29}, {179, 29}, {198, 29}, {211, 29}, {224, 29}, + {224, 17}, {211, 17}, {198, 17}, {175, 17}, {156, 17}, {143, 17}, {130, 17}, {117, 17}, {104, 17}, {91 , 17}, {78 , 17}, {65 , 17}, {52 , 17}, {39 , 17}, {26 , 17}, {13 , 17}, {0 , 17}, + {0 , 0}, {26 , 0}, {39 , 0}, {52 , 0}, {65 , 0}, {84 , 0}, {97 , 0}, {110, 0}, {123, 0}, {143, 0}, {156, 0}, {169, 0}, {182, 0}, {198, 0}, {211, 0}, {224, 0}, +}, { + 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 1, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 4, +} }; + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } + } + return false; + } + return process_record_user(keycode, record); +} + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/phase_studio/titan65/hotswap/hotswap.c b/keyboards/phase_studio/titan65/hotswap/hotswap.c new file mode 100644 index 0000000000..1bcd581785 --- /dev/null +++ b/keyboards/phase_studio/titan65/hotswap/hotswap.c @@ -0,0 +1,42 @@ +/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + { 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, NO_LED, 65, 66 }, + { 51, NO_LED, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37 }, + { 23, NO_LED, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, NO_LED, 36 }, + { NO_LED, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, NO_LED, 11, 10, 9 }, + { 0, 1, NO_LED, 2, NO_LED, NO_LED, 3, NO_LED, NO_LED, NO_LED, 4, 5, NO_LED, 6, 7, 8 } + }, { + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }, + { 224, 48 }, { 210, 48 }, { 189, 48 }, { 154, 48 }, { 139, 48 }, { 124, 48 }, { 109, 48 }, { 94, 48 }, { 79, 48 }, { 64, 48 }, { 49, 48 }, { 34, 48 }, { 22, 48 }, { 5, 48 }, + { 6, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 181, 32 }, { 201, 32 }, { 224, 32 }, + { 224, 16 }, { 206, 16 },{ 188, 16 }, { 173, 16 }, { 158, 16 }, { 143, 16 }, { 128, 16 }, { 113, 16 }, { 98, 16 }, { 83, 16 }, { 68, 16 }, { 53, 16 }, { 38, 16 }, { 22, 16 }, { 4, 16 }, + { 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 }, { 203, 0 }, { 224, 0 } + }, { + 1, 1, 1, 4, 1, 1, 1, 1, 1, + 1, 1, 1, 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, 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, 4, 1, 1 + } +}; + +#endif diff --git a/keyboards/phase_studio/titan65/hotswap/keyboard.json b/keyboards/phase_studio/titan65/hotswap/keyboard.json index 599684322a..c9d1b0f726 100644 --- a/keyboards/phase_studio/titan65/hotswap/keyboard.json +++ b/keyboards/phase_studio/titan65/hotswap/keyboard.json @@ -19,75 +19,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, - {"matrix": [4, 3], "x": 39, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 150, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 165, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1}, - {"matrix": [4, 14], "x": 210, "y": 64, "flags": 1}, - {"matrix": [4, 15], "x": 224, "y": 64, "flags": 1}, - {"matrix": [3, 15], "x": 224, "y": 48, "flags": 1}, - {"matrix": [3, 14], "x": 210, "y": 48, "flags": 1}, - {"matrix": [3, 13], "x": 189, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 22, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 5, "y": 48, "flags": 1}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, - {"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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 181, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 201, "y": 32, "flags": 1}, - {"matrix": [2, 15], "x": 224, "y": 32, "flags": 1}, - {"matrix": [1, 15], "x": 224, "y": 16, "flags": 1}, - {"matrix": [1, 14], "x": 206, "y": 16, "flags": 1}, - {"matrix": [1, 13], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 22, "y": 16, "flags": 1}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, - {"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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 203, "y": 0, "flags": 1}, - {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1} - ], "max_brightness": 150, "sleep": true }, diff --git a/keyboards/phdesign/phac/keymaps/default/keymap.c b/keyboards/phdesign/phac/keymaps/default/keymap.c index d21ebd9ddf..630cca64a7 100644 --- a/keyboards/phdesign/phac/keymaps/default/keymap.c +++ b/keyboards/phdesign/phac/keymaps/default/keymap.c @@ -19,4 +19,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_BL] = { ENCODER_CCW_CW(MS_UP, MS_DOWN), ENCODER_CCW_CW(MS_LEFT, MS_RGHT) }, }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/phdesign/phac/keymaps/default/rules.mk b/keyboards/phdesign/phac/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/phdesign/phac/keymaps/default/rules.mk +++ b/keyboards/phdesign/phac/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/phrygian/ph100/keymaps/default/keymap.c b/keyboards/phrygian/ph100/keymaps/default/keymap.c index 18761c0509..75b93783d1 100644 --- a/keyboards/phrygian/ph100/keymaps/default/keymap.c +++ b/keyboards/phrygian/ph100/keymaps/default/keymap.c @@ -24,4 +24,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT) -}; +}; \ No newline at end of file diff --git a/keyboards/pimoroni/keybow2040/mcuconf.h b/keyboards/pimoroni/keybow2040/mcuconf.h index e4864be318..9bfd480c7c 100644 --- a/keyboards/pimoroni/keybow2040/mcuconf.h +++ b/keyboards/pimoroni/keybow2040/mcuconf.h @@ -7,4 +7,4 @@ #define RP_I2C_USE_I2C0 TRUE #undef RP_I2C_USE_I2C1 -#define RP_I2C_USE_I2C1 FALSE +#define RP_I2C_USE_I2C1 FALSE \ No newline at end of file diff --git a/keyboards/pisces/pisces.c b/keyboards/pisces/pisces.c index 45c9227e90..ca2016280d 100644 --- a/keyboards/pisces/pisces.c +++ b/keyboards/pisces/pisces.c @@ -24,4 +24,4 @@ const matrix_row_t matrix_mask[MATRIX_ROWS] = { 0b00111111, 0b00111111, 0b01111111 -}; +}; \ No newline at end of file diff --git a/keyboards/planck/light/keyboard.json b/keyboards/planck/light/keyboard.json index f445cca931..413c753f92 100644 --- a/keyboards/planck/light/keyboard.json +++ b/keyboards/planck/light/keyboard.json @@ -55,57 +55,6 @@ "solid_multisplash": true }, "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 81, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 101, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 122, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 142, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 162, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 183, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 223, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, - {"matrix": [1, 1], "x": 20, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 21, "flags": 4}, - {"matrix": [1, 3], "x": 61, "y": 21, "flags": 4}, - {"matrix": [1, 4], "x": 81, "y": 21, "flags": 4}, - {"matrix": [1, 5], "x": 101, "y": 21, "flags": 4}, - {"matrix": [1, 6], "x": 122, "y": 21, "flags": 4}, - {"matrix": [1, 7], "x": 142, "y": 21, "flags": 4}, - {"matrix": [1, 8], "x": 162, "y": 21, "flags": 4}, - {"matrix": [1, 9], "x": 183, "y": 21, "flags": 4}, - {"matrix": [1, 10], "x": 203, "y": 21, "flags": 4}, - {"matrix": [1, 11], "x": 223, "y": 21, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1}, - {"matrix": [2, 1], "x": 20, "y": 42, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 42, "flags": 4}, - {"matrix": [2, 3], "x": 61, "y": 42, "flags": 4}, - {"matrix": [2, 4], "x": 81, "y": 42, "flags": 4}, - {"matrix": [2, 5], "x": 101, "y": 42, "flags": 4}, - {"matrix": [2, 6], "x": 122, "y": 42, "flags": 4}, - {"matrix": [2, 7], "x": 142, "y": 42, "flags": 4}, - {"matrix": [2, 8], "x": 162, "y": 42, "flags": 4}, - {"matrix": [2, 9], "x": 183, "y": 42, "flags": 4}, - {"matrix": [2, 10], "x": 203, "y": 42, "flags": 4}, - {"matrix": [2, 11], "x": 223, "y": 42, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 63, "flags": 1}, - {"matrix": [3, 1], "x": 20, "y": 63, "flags": 1}, - {"matrix": [3, 2], "x": 40, "y": 63, "flags": 1}, - {"matrix": [3, 3], "x": 61, "y": 63, "flags": 1}, - {"matrix": [3, 4], "x": 81, "y": 63, "flags": 1}, - {"matrix": [3, 5], "x": 101, "y": 63, "flags": 4}, - {"x": 111, "y": 63, "flags": 4}, - {"matrix": [3, 6], "x": 122, "y": 63, "flags": 4}, - {"matrix": [3, 7], "x": 142, "y": 63, "flags": 1}, - {"matrix": [3, 8], "x": 162, "y": 63, "flags": 1}, - {"matrix": [3, 9], "x": 183, "y": 63, "flags": 1}, - {"matrix": [3, 10], "x": 203, "y": 63, "flags": 1}, - {"matrix": [3, 11], "x": 223, "y": 63, "flags": 1} - ], "sleep": true }, "features": { diff --git a/keyboards/planck/light/light.c b/keyboards/planck/light/light.c index 97ea06c467..43487e2e21 100644 --- a/keyboards/planck/light/light.c +++ b/keyboards/planck/light/light.c @@ -77,6 +77,25 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {1, C9_14, C8_14, C7_14} }; +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, 43, 44, 45, 46, 47, 48 } +}, { + { 0, 0 }, { 20, 0 }, { 40, 0 }, { 61, 0 }, { 81, 0 }, { 101, 0 }, { 122, 0 }, { 142, 0 }, { 162, 0 }, { 183, 0 }, { 203, 0 }, { 223, 0 }, + { 0, 21 }, { 20, 21 }, { 40, 21 }, { 61, 21 }, { 81, 21 }, { 101, 21 }, { 122, 21 }, { 142, 21 }, { 162, 21 }, { 183, 21 }, { 203, 21 }, { 223, 21 }, + { 0, 42 }, { 20, 42 }, { 40, 42 }, { 61, 42 }, { 81, 42 }, { 101, 42 }, { 122, 42 }, { 142, 42 }, { 162, 42 }, { 183, 42 }, { 203, 42 }, { 223, 42 }, + { 0, 63 }, { 20, 63 }, { 40, 63 }, { 61, 63 }, { 81, 63 }, { 101, 63 }, { 111, 63 }, { 122, 63 }, { 142, 63 }, { 162, 63 }, { 183, 63 }, { 203, 63 }, + { 223, 63 } +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, + 1 +} }; + void matrix_init_kb(void) { // Turn status LED on diff --git a/keyboards/planck/rev6/keyboard.json b/keyboards/planck/rev6/keyboard.json index aee39c8b3a..b0028795fe 100644 --- a/keyboards/planck/rev6/keyboard.json +++ b/keyboards/planck/rev6/keyboard.json @@ -17,17 +17,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [2, 5], "x": 112, "y": 39, "flags": 255}, - {"matrix": [7, 1], "x": 148, "y": 60, "flags": 255}, - {"matrix": [3, 4], "x": 206, "y": 53, "flags": 255}, - {"matrix": [4, 4], "x": 206, "y": 3, "flags": 255}, - {"matrix": [4, 1], "x": 150, "y": 3, "flags": 255}, - {"matrix": [0, 4], "x": 74, "y": 3, "flags": 255}, - {"matrix": [0, 1], "x": 18, "y": 3, "flags": 255}, - {"matrix": [3, 1], "x": 18, "y": 54, "flags": 255}, - {"matrix": [7, 4], "x": 77, "y": 60, "flags": 255} - ], "sleep": true }, "features": { diff --git a/keyboards/planck/rev6/rev6.c b/keyboards/planck/rev6/rev6.c index e8439b1705..49f7d83123 100644 --- a/keyboards/planck/rev6/rev6.c +++ b/keyboards/planck/rev6/rev6.c @@ -15,6 +15,33 @@ */ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, 6, NO_LED, NO_LED, 5, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 }, + { NO_LED, 7, NO_LED, NO_LED, 2, NO_LED }, + { NO_LED, 4, NO_LED, NO_LED, 3, 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, 1, NO_LED, NO_LED, 8, NO_LED }, +}, { + // LED Index to Physical Position + {112, 39}, {148, 60}, {206, 53}, {206, 3}, {150, 3}, {74, 3}, {18, 3}, {18, 54}, {77, 60} +}, { + // LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +} }; + +// LED physical location index +// 6 5 4 3 +// 0 +// 7 8 1 2 + +#endif + #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { @@ -22,7 +49,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, - + {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, diff --git a/keyboards/planck/rev6_drop/keyboard.json b/keyboards/planck/rev6_drop/keyboard.json index 4f089f83f3..ff301f8c86 100644 --- a/keyboards/planck/rev6_drop/keyboard.json +++ b/keyboards/planck/rev6_drop/keyboard.json @@ -29,17 +29,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [2, 5], "x": 112, "y": 39, "flags": 255}, - {"matrix": [7, 1], "x": 148, "y": 60, "flags": 255}, - {"matrix": [3, 4], "x": 206, "y": 53, "flags": 255}, - {"matrix": [4, 4], "x": 206, "y": 3, "flags": 255}, - {"matrix": [4, 1], "x": 150, "y": 3, "flags": 255}, - {"matrix": [0, 4], "x": 74, "y": 3, "flags": 255}, - {"matrix": [0, 1], "x": 18, "y": 3, "flags": 255}, - {"matrix": [3, 1], "x": 18, "y": 54, "flags": 255}, - {"matrix": [7, 4], "x": 77, "y": 60, "flags": 255} - ], "sleep": true }, "matrix_pins": { diff --git a/keyboards/planck/rev6_drop/rev6_drop.c b/keyboards/planck/rev6_drop/rev6_drop.c index e8439b1705..8f613851dc 100644 --- a/keyboards/planck/rev6_drop/rev6_drop.c +++ b/keyboards/planck/rev6_drop/rev6_drop.c @@ -15,6 +15,34 @@ */ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, 6, NO_LED, NO_LED, 5, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 }, + { NO_LED, 7, NO_LED, NO_LED, 2, NO_LED }, + { NO_LED, 4, NO_LED, NO_LED, 3, 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, 1, NO_LED, NO_LED, 8, NO_LED }, +}, { + // LED Index to Physical Position + {112, 39}, {148, 60}, {206, 53}, {206, 3}, {150, 3}, {74, 3}, {18, 3}, {18, 54}, {77, 60} +}, { + // LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +} }; + +// LED physical location index +// 6 5 4 3 +// 0 +// 7 8 1 2 + +#endif + #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { @@ -22,7 +50,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, - + {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, diff --git a/keyboards/planck/rev7/keyboard.json b/keyboards/planck/rev7/keyboard.json index 3bc274b1fa..691394d5d5 100644 --- a/keyboards/planck/rev7/keyboard.json +++ b/keyboards/planck/rev7/keyboard.json @@ -14,17 +14,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [2, 5], "x": 112, "y": 39, "flags": 255}, - {"matrix": [7, 1], "x": 148, "y": 60, "flags": 255}, - {"matrix": [3, 4], "x": 206, "y": 53, "flags": 255}, - {"matrix": [4, 4], "x": 206, "y": 3, "flags": 255}, - {"matrix": [4, 1], "x": 150, "y": 3, "flags": 255}, - {"matrix": [0, 4], "x": 74, "y": 3, "flags": 255}, - {"matrix": [0, 1], "x": 18, "y": 3, "flags": 255}, - {"matrix": [3, 1], "x": 18, "y": 54, "flags": 255}, - {"matrix": [7, 4], "x": 77, "y": 60, "flags": 255} - ], "sleep": true }, "matrix_pins": { diff --git a/keyboards/planck/rev7/keymaps/default/rules.mk b/keyboards/planck/rev7/keymaps/default/rules.mk index 199bad85f3..13fc199bb6 100644 --- a/keyboards/planck/rev7/keymaps/default/rules.mk +++ b/keyboards/planck/rev7/keymaps/default/rules.mk @@ -1 +1 @@ -DEFERRED_EXEC_ENABLE = yes +DEFERRED_EXEC_ENABLE = yes \ No newline at end of file diff --git a/keyboards/planck/rev7/rev7.c b/keyboards/planck/rev7/rev7.c index 09fd5901c2..bb9d0ee1e8 100644 --- a/keyboards/planck/rev7/rev7.c +++ b/keyboards/planck/rev7/rev7.c @@ -15,6 +15,34 @@ */ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, 6, NO_LED, NO_LED, 5, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 }, + { NO_LED, 7, NO_LED, NO_LED, 2, NO_LED }, + { NO_LED, 4, NO_LED, NO_LED, 3, 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, 1, NO_LED, NO_LED, 8, NO_LED }, +}, { + // LED Index to Physical Position + {112, 39}, {148, 60}, {206, 53}, {206, 3}, {150, 3}, {74, 3}, {18, 3}, {18, 54}, {77, 60} +}, { + // LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +} }; + +// LED physical location index +// 6 5 4 3 +// 0 +// 7 8 1 2 + +#endif + #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { @@ -22,7 +50,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, - + {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, diff --git a/keyboards/playkbtw/pk64rgb/pk64rgb.c b/keyboards/playkbtw/pk64rgb/pk64rgb.c index 5f53fd41f7..e8ac5eb4e2 100644 --- a/keyboards/playkbtw/pk64rgb/pk64rgb.c +++ b/keyboards/playkbtw/pk64rgb/pk64rgb.c @@ -94,4 +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} }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/playkbtw/pk64rgb/readme.md b/keyboards/playkbtw/pk64rgb/readme.md index 102efc29ca..c5061bc0cc 100644 --- a/keyboards/playkbtw/pk64rgb/readme.md +++ b/keyboards/playkbtw/pk64rgb/readme.md @@ -22,4 +22,4 @@ Enter the bootloader in 3 ways: You can get into bootloader by pressing the reset button from the back of PCB. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/ploopyco/common/opt_encoder_tiny.c b/keyboards/ploopyco/common/opt_encoder_tiny.c index 77627fdd80..29796a5fa6 100644 --- a/keyboards/ploopyco/common/opt_encoder_tiny.c +++ b/keyboards/ploopyco/common/opt_encoder_tiny.c @@ -78,9 +78,9 @@ typedef enum { UP_BEGIN_MID, STATE_MASK = 0xf, /* 0b1111 */ EMIT_UP = 0x10, - EMIT_UP_MID = EMIT_UP | START_MID, + EMIT_UP_MID = EMIT_UP & START_MID, EMIT_DOWN = 0x80, - EMIT_DOWN_MID = EMIT_DOWN | START_MID, + EMIT_DOWN_MID = EMIT_DOWN & START_MID, EMIT_MASK = 0xf0 } encoder_state_t; diff --git a/keyboards/ploopyco/mouse/post_rules.mk b/keyboards/ploopyco/mouse/post_rules.mk index fab9162dc6..0d1a00b89e 100644 --- a/keyboards/ploopyco/mouse/post_rules.mk +++ b/keyboards/ploopyco/mouse/post_rules.mk @@ -1 +1 @@ -POINTING_DEVICE_DRIVER = pmw3360 +POINTING_DEVICE_DRIVER = pmw3360 \ No newline at end of file diff --git a/keyboards/ploopyco/nano_2/config.h b/keyboards/ploopyco/nano_2/config.h deleted file mode 100644 index 7d2b96fd8e..0000000000 --- a/keyboards/ploopyco/nano_2/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2024 Colin Lam (Ploopy Corporation) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define UNUSABLE_PINS \ - { GP1, GP3, GP4, GP6, GP8, GP10, GP14, GP16, GP18, GP20, GP22, GP24, GP25, GP26, GP27, GP28, GP29 } - -#define MOUSE_EXTENDED_REPORT - -#define PLOOPY_DRAGSCROLL_MOMENTARY -#define PLOOPY_DRAGSCROLL_DIVISOR_H 64.0 -#define PLOOPY_DRAGSCROLL_DIVISOR_V 64.0 - -#define PAW3222_CS_PIN GP5 -#define PAW3222_MOTION_PIN GP9 -#define PAW3222_SPI_DIVISOR 64 -#define SPI_SCK_PIN GP2 -#define SPI_MISO_PIN GP0 -#define SPI_MOSI_PIN GP7 diff --git a/keyboards/ploopyco/nano_2/info.json b/keyboards/ploopyco/nano_2/info.json deleted file mode 100644 index ad69a0c04e..0000000000 --- a/keyboards/ploopyco/nano_2/info.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "keyboard_name": "Ploopy Nano 2 Trackball", - "manufacturer": "Ploopy Corporation", - "url": "www.ploopy.co", - "maintainer": "ploopyco", - "usb": { - "vid": "0x5043", - "pid": "0x4CE5", - "device_version": "0.0.1", - "max_power": 100 - }, - "features": { - "bootmagic": true, - "extrakey": true, - "nkro": true, - "pointing_device": true - }, - "processor": "RP2040", - "bootloader": "rp2040", - "layouts": { - "LAYOUT": { - "layout": [ - {"x": 0, "y": 0, "matrix": [0, 0]} - ] - } - } -} diff --git a/keyboards/ploopyco/nano_2/readme.md b/keyboards/ploopyco/nano_2/readme.md deleted file mode 100644 index 02e46570d3..0000000000 --- a/keyboards/ploopyco/nano_2/readme.md +++ /dev/null @@ -1,38 +0,0 @@ -# Ploopy Nano 2 Trackball - -![Ploopyco Trackball Nano 2](https://cdn.ploopy.co/nano2-media-assets/site-photos/_MG_2495.jpg) - -It's a DIY, QMK Powered Trackball...Nano! - -* Maintainer: [PloopyCo](https://github.com/ploopyco) -* Key contributors: [Drashna Jael're](https://github.com/drashna/), [Germ](https://github.com/germ/) -* Hardware Supported: RP2040 -* Hardware Availability: [Store](https://ploopy.co/nano-2), [GitHub](https://github.com/ploopyco) - -Make example for this keyboard (after setting up your build environment): - - make ploopyco/nano_2/rev2_003:default - -Flashing example for this keyboard: - - make ploopyco/nano_2/rev2_003:default:flash - -# Building Firmware - -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). - -# Triggering the Bootloader - -[Do you see those two golden holes in the board](https://ploopy.co/wp-content/uploads/2023/11/boot.jpg)? Those are called **vias**. They act exactly like a switch does. Right now, that switch is OFF. However, if you take a paperclip or a pair of metal tweezers and touch those two vias, the two vias will form an electrical connection. Effectively, that switch turns ON. - -Go ahead and connect the two vias, and then (while the vias are connected) plug in the Nano 2 board into your computer. - -The computer should recognise that a mass storage device was just plugged in. Once this is done, you should be able to drag and drop files onto the Nano 2 board, as if the board was a USB drive. Feel free to remove the tweezers or paperclip at this point. - -If you want to upload a new firmware file (a ".uf2" file, like "nano-2-awesome-version.uf2" or something), just drag it into the folder, and it'll automatically install on the Nano 2 board and restart itself, in normal operating mode. You're done! - -**TIP**: If your firmware is in some kind of strange state and uploading new firmware isn't fixing it, try uploading [a flash nuke](https://learn.adafruit.com/getting-started-with-raspberry-pi-pico-circuitpython/circuitpython#flash-resetting-uf2-3083182) to the Nano 2 board before flashing the new firmware. It wipes the memory of the Nano 2 board completely clean, which can help clear a few types of errors. - -# Customizing your Ploopy Nano 2 - -You can find customziation options [here](../readme.md). diff --git a/keyboards/ploopyco/nano_2/rev2_003/keyboard.json b/keyboards/ploopyco/nano_2/rev2_003/keyboard.json deleted file mode 100644 index 767a6ba154..0000000000 --- a/keyboards/ploopyco/nano_2/rev2_003/keyboard.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "matrix_pins": { - "direct": [ - ["GP17"] - ] - } -} diff --git a/keyboards/ploopyco/nano_2/rev2_003/readme.md b/keyboards/ploopyco/nano_2/rev2_003/readme.md deleted file mode 100644 index 052a17f396..0000000000 --- a/keyboards/ploopyco/nano_2/rev2_003/readme.md +++ /dev/null @@ -1 +0,0 @@ -See the main readme for more details. This is just here for when future revisions of the board are released. diff --git a/keyboards/ploopyco/nano_2/rules.mk b/keyboards/ploopyco/nano_2/rules.mk deleted file mode 100644 index e468209eba..0000000000 --- a/keyboards/ploopyco/nano_2/rules.mk +++ /dev/null @@ -1 +0,0 @@ -POINTING_DEVICE_DRIVER = paw3222 diff --git a/keyboards/ploopyco/trackball/post_rules.mk b/keyboards/ploopyco/trackball/post_rules.mk index fab9162dc6..0d1a00b89e 100644 --- a/keyboards/ploopyco/trackball/post_rules.mk +++ b/keyboards/ploopyco/trackball/post_rules.mk @@ -1 +1 @@ -POINTING_DEVICE_DRIVER = pmw3360 +POINTING_DEVICE_DRIVER = pmw3360 \ No newline at end of file diff --git a/keyboards/ploopyco/trackball/rev1_005/readme.md b/keyboards/ploopyco/trackball/rev1_005/readme.md index d0578942b8..980f118a10 100644 --- a/keyboards/ploopyco/trackball/rev1_005/readme.md +++ b/keyboards/ploopyco/trackball/rev1_005/readme.md @@ -1,3 +1,3 @@ See the [main readme](../readme.md) for more details. -This is for the R1.005-R1.006 version of the Classic. It's easily distinguishable from the R1.007+ versions of the Classic because it has an ATmega32u4 on the board. +This is for the R1.005-R1.006 version of the Classic. It's easily distinguishable from the R1.007+ versions of the Classic because it has an ATmega32u4 on the board. \ No newline at end of file diff --git a/keyboards/ploopyco/trackball_mini/keymaps/default/readme.md b/keyboards/ploopyco/trackball_mini/keymaps/default/readme.md index b19c879936..ebb90d2999 100644 --- a/keyboards/ploopyco/trackball_mini/keymaps/default/readme.md +++ b/keyboards/ploopyco/trackball_mini/keymaps/default/readme.md @@ -1,3 +1,3 @@ The default keymap for the Ploopy Trackball Mini. -Note that kits bought from PloopyCo actually ship with the VIA keymap, not this one. +Note that kits bought from PloopyCo actually ship with the VIA keymap, not this one. \ No newline at end of file diff --git a/keyboards/ploopyco/trackball_thumb/post_rules.mk b/keyboards/ploopyco/trackball_thumb/post_rules.mk index fab9162dc6..0d1a00b89e 100644 --- a/keyboards/ploopyco/trackball_thumb/post_rules.mk +++ b/keyboards/ploopyco/trackball_thumb/post_rules.mk @@ -1 +1 @@ -POINTING_DEVICE_DRIVER = pmw3360 +POINTING_DEVICE_DRIVER = pmw3360 \ No newline at end of file diff --git a/keyboards/ploopyco/trackball_thumb/readme.md b/keyboards/ploopyco/trackball_thumb/readme.md index b55c60d89f..bb870d2003 100644 --- a/keyboards/ploopyco/trackball_thumb/readme.md +++ b/keyboards/ploopyco/trackball_thumb/readme.md @@ -10,7 +10,7 @@ Make example for this keyboard (after setting up your build environment): make ploopyco/trackball_thumb/rev1_001:default:flash -To jump to the bootloader, hold down the middle click while plugging in the trackball. +To jump to the bootloader, hold down "Button 4" (button closest to the USB port). See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/ploopyco/trackball_thumb/rev1_001/readme.md b/keyboards/ploopyco/trackball_thumb/rev1_001/readme.md index 80402ab05b..658a71df0a 100644 --- a/keyboards/ploopyco/trackball_thumb/rev1_001/readme.md +++ b/keyboards/ploopyco/trackball_thumb/rev1_001/readme.md @@ -1,3 +1,3 @@ See the [main readme](../readme.md) for more details. -This is for the R1.001 version of the Thumb. It's easily distinguishable from the R1.002+ versions of the Thumb because it has an ATmega32u4 on the board. +This is for the R1.001 version of the Thumb. It's easily distinguishable from the R1.002+ versions of the Thumb because it has an ATmega32u4 on the board. \ No newline at end of file diff --git a/keyboards/pmk/posey_split/config.h b/keyboards/pmk/posey_split/config.h index b4089fa81e..f115e5fc2c 100644 --- a/keyboards/pmk/posey_split/config.h +++ b/keyboards/pmk/posey_split/config.h @@ -15,4 +15,4 @@ #define SPLIT_CONNECTION_CHECK_TIMEOUT 2000 // RGB Configuration -#define RGBLIGHT_EFFECT_BREATHE_CENTER 2.0 //1.0 to 2.7 +#define RGBLIGHT_EFFECT_BREATHE_CENTER 2.0 //1.0 to 2.7 \ No newline at end of file diff --git a/keyboards/pmk/posey_split/v4/keyboard.json b/keyboards/pmk/posey_split/v4/keyboard.json index 038b7a1842..d9f165286a 100644 --- a/keyboards/pmk/posey_split/v4/keyboard.json +++ b/keyboards/pmk/posey_split/v4/keyboard.json @@ -143,4 +143,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/pmk/posey_split/v5/keyboard.json b/keyboards/pmk/posey_split/v5/keyboard.json index 9a1d544684..cc2c8f2461 100644 --- a/keyboards/pmk/posey_split/v5/keyboard.json +++ b/keyboards/pmk/posey_split/v5/keyboard.json @@ -143,4 +143,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/pohjolaworks/louhi/keyboard.json b/keyboards/pohjolaworks/louhi/keyboard.json index e4fe50a398..be00368632 100644 --- a/keyboards/pohjolaworks/louhi/keyboard.json +++ b/keyboards/pohjolaworks/louhi/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Louhi", "manufacturer": "Pohjola Works", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/pohjolaworks/louhi", "maintainer": "ErkHal", "usb": { "vid": "0x5057", diff --git a/keyboards/preonic/rev3/keyboard.json b/keyboards/preonic/rev3/keyboard.json index 9babc119b0..96cebf9ea0 100644 --- a/keyboards/preonic/rev3/keyboard.json +++ b/keyboards/preonic/rev3/keyboard.json @@ -26,18 +26,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "ws2812", - "layout": [ - {"matrix": [2, 5], "x": 112, "y": 39, "flags": 255}, - {"matrix": [9, 1], "x": 148, "y": 60, "flags": 255}, - {"matrix": [8, 4], "x": 206, "y": 53, "flags": 255}, - {"matrix": [4, 4], "x": 206, "y": 3, "flags": 255}, - {"matrix": [4, 1], "x": 150, "y": 3, "flags": 255}, - {"matrix": [0, 4], "x": 74, "y": 3, "flags": 255}, - {"matrix": [0, 1], "x": 18, "y": 3, "flags": 255}, - {"matrix": [8, 1], "x": 18, "y": 54, "flags": 255}, - {"matrix": [9, 4], "x": 77, "y": 60, "flags": 255} - ] + "driver": "ws2812" }, "features": { "audio": true, diff --git a/keyboards/preonic/rev3/rev3.c b/keyboards/preonic/rev3/rev3.c index 12a11c98eb..5a751cbba5 100644 --- a/keyboards/preonic/rev3/rev3.c +++ b/keyboards/preonic/rev3/rev3.c @@ -15,6 +15,35 @@ */ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, 6, NO_LED, NO_LED, 5, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, 4, NO_LED, NO_LED, 3, 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, 7, NO_LED, NO_LED, 2, NO_LED }, + { NO_LED, 1, NO_LED, NO_LED, 8, NO_LED }, +}, { + // LED Index to Physical Position + {112, 39}, {148, 60}, {206, 53}, {206, 3}, {150, 3}, {74, 3}, {18, 3}, {18, 54}, {77, 60} +}, { + // LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +} }; + +// LED physical location index +// 6 5 4 3 +// 0 +// 7 8 1 2 +#endif + + #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/preonic/rev3_drop/keyboard.json b/keyboards/preonic/rev3_drop/keyboard.json index ece6bf32f9..22374fa5f7 100644 --- a/keyboards/preonic/rev3_drop/keyboard.json +++ b/keyboards/preonic/rev3_drop/keyboard.json @@ -44,18 +44,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "ws2812", - "layout": [ - {"matrix": [2, 5], "x": 112, "y": 39, "flags": 255}, - {"matrix": [9, 1], "x": 148, "y": 60, "flags": 255}, - {"matrix": [8, 4], "x": 206, "y": 53, "flags": 255}, - {"matrix": [4, 4], "x": 206, "y": 3, "flags": 255}, - {"matrix": [4, 1], "x": 150, "y": 3, "flags": 255}, - {"matrix": [0, 4], "x": 74, "y": 3, "flags": 255}, - {"matrix": [0, 1], "x": 18, "y": 3, "flags": 255}, - {"matrix": [8, 1], "x": 18, "y": 54, "flags": 255}, - {"matrix": [9, 4], "x": 77, "y": 60, "flags": 255} - ] + "driver": "ws2812" }, "matrix_pins": { "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], diff --git a/keyboards/preonic/rev3_drop/mcuconf.h b/keyboards/preonic/rev3_drop/mcuconf.h index 6a8662748b..32c615b3a2 100644 --- a/keyboards/preonic/rev3_drop/mcuconf.h +++ b/keyboards/preonic/rev3_drop/mcuconf.h @@ -42,4 +42,4 @@ // enable i2c #undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE +#define STM32_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/preonic/rev3_drop/rev3_drop.c b/keyboards/preonic/rev3_drop/rev3_drop.c index 12a11c98eb..5a751cbba5 100644 --- a/keyboards/preonic/rev3_drop/rev3_drop.c +++ b/keyboards/preonic/rev3_drop/rev3_drop.c @@ -15,6 +15,35 @@ */ #include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, 6, NO_LED, NO_LED, 5, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, 4, NO_LED, NO_LED, 3, 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, 7, NO_LED, NO_LED, 2, NO_LED }, + { NO_LED, 1, NO_LED, NO_LED, 8, NO_LED }, +}, { + // LED Index to Physical Position + {112, 39}, {148, 60}, {206, 53}, {206, 3}, {150, 3}, {74, 3}, {18, 3}, {18, 54}, {77, 60} +}, { + // LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +} }; + +// LED physical location index +// 6 5 4 3 +// 0 +// 7 8 1 2 +#endif + + #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/primekb/prime_r/keymaps/default/readme.md b/keyboards/primekb/prime_r/keymaps/default/readme.md index ba8e62bd72..be92dce9b1 100644 --- a/keyboards/primekb/prime_r/keymaps/default/readme.md +++ b/keyboards/primekb/prime_r/keymaps/default/readme.md @@ -1,3 +1,3 @@ # The default Prime_R layout, with nothing committed to function layer. -# Extracted from json at https://www.primekb.com/pages/programming +# Extracted from json at https://www.primekb.com/pages/programming \ No newline at end of file diff --git a/keyboards/printedpad/halconf.h b/keyboards/printedpad/halconf.h index 4c8c7c1375..0534f72da2 100644 --- a/keyboards/printedpad/halconf.h +++ b/keyboards/printedpad/halconf.h @@ -5,4 +5,4 @@ #define HAL_USE_I2C TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/printedpad/keyboard.json b/keyboards/printedpad/keyboard.json index 4be16e8a1d..0dca5da74d 100644 --- a/keyboards/printedpad/keyboard.json +++ b/keyboards/printedpad/keyboard.json @@ -40,4 +40,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/program_yoink/info.json b/keyboards/program_yoink/info.json index 9c8b65c878..36a2befc70 100644 --- a/keyboards/program_yoink/info.json +++ b/keyboards/program_yoink/info.json @@ -13,4 +13,4 @@ "resync": true } } -} +} \ No newline at end of file diff --git a/keyboards/projectcain/relic/keymaps/default/rules.mk b/keyboards/projectcain/relic/keymaps/default/rules.mk index fd8f01b90a..dca6713d4f 100644 --- a/keyboards/projectcain/relic/keymaps/default/rules.mk +++ b/keyboards/projectcain/relic/keymaps/default/rules.mk @@ -1,2 +1,2 @@ ENCODER_ENABLE = yes -COMBO_ENABLE = yes +COMBO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/projectcain/vault35/vault35.c b/keyboards/projectcain/vault35/vault35.c index 6485ac854d..14aac7fdf7 100644 --- a/keyboards/projectcain/vault35/vault35.c +++ b/keyboards/projectcain/vault35/vault35.c @@ -16,16 +16,14 @@ #include "quantum.h" -#ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_PGDN); } else { - tap_code(KC_PGUP); + tap_code(KC_PGUP); } } return true; -} -#endif +} \ No newline at end of file diff --git a/keyboards/projectcain/vault45/keymaps/default/rules.mk b/keyboards/projectcain/vault45/keymaps/default/rules.mk index ab1e438182..ff681299e4 100644 --- a/keyboards/projectcain/vault45/keymaps/default/rules.mk +++ b/keyboards/projectcain/vault45/keymaps/default/rules.mk @@ -1 +1 @@ -COMBO_ENABLE = yes +COMBO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/projectcain/vault45/vault45.c b/keyboards/projectcain/vault45/vault45.c index 673ca8586c..05908ba9d7 100644 --- a/keyboards/projectcain/vault45/vault45.c +++ b/keyboards/projectcain/vault45/vault45.c @@ -16,22 +16,20 @@ #include "quantum.h" -#ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { return false; } if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_PGDN); } else { - tap_code(KC_PGUP); + tap_code(KC_PGUP); } } else if (index == 1) { /* Second encoder */ if (clockwise) { - tap_code(KC_DOWN); + tap_code(KC_DOWN); } else { tap_code(KC_UP); } } return true; } -#endif diff --git a/keyboards/projectd/65/projectd_65_ansi/keymaps/default/keymap.c b/keyboards/projectd/65/projectd_65_ansi/keymaps/default/keymap.c index 7e9f9cbaa3..f8700f624b 100644 --- a/keyboards/projectd/65/projectd_65_ansi/keymaps/default/keymap.c +++ b/keyboards/projectd/65/projectd_65_ansi/keymaps/default/keymap.c @@ -90,4 +90,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, KC_TRNS, KC_TRNS, KC_TRNS, RGB_R, RGB_G, RGB_B, RGB_W, SW_cy, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/projectkb/signature65/keymaps/default/keymap.c b/keyboards/projectkb/signature65/keymaps/default/keymap.c index 0ce290b8e8..9b071b77af 100644 --- a/keyboards/projectkb/signature65/keymaps/default/keymap.c +++ b/keyboards/projectkb/signature65/keymaps/default/keymap.c @@ -35,4 +35,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, 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/projectkb/signature87/keymaps/default/keymap.c b/keyboards/projectkb/signature87/keymaps/default/keymap.c index 30446b1636..c6c7adabaa 100644 --- a/keyboards/projectkb/signature87/keymaps/default/keymap.c +++ b/keyboards/projectkb/signature87/keymaps/default/keymap.c @@ -37,4 +37,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, KC_TRNS, 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/projectkb/signature87/readme.md b/keyboards/projectkb/signature87/readme.md index 74086985a1..3f3ca1d63e 100644 --- a/keyboards/projectkb/signature87/readme.md +++ b/keyboards/projectkb/signature87/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make projectkb/signature87: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/prototypist/allison_numpad/keymaps/default/readme.md b/keyboards/prototypist/allison_numpad/keymaps/default/readme.md index 3579cd491b..b6b98a1815 100644 --- a/keyboards/prototypist/allison_numpad/keymaps/default/readme.md +++ b/keyboards/prototypist/allison_numpad/keymaps/default/readme.md @@ -2,4 +2,4 @@ ![NUMPAD](https://i.imgur.com/1n2pl5p.png) -![NUMPAD FN1](https://i.imgur.com/1n2pl5p.png) +![NUMPAD FN1](https://i.imgur.com/1n2pl5p.png) \ No newline at end of file diff --git a/keyboards/prototypist/oceanographer/keymaps/default/keymap.c b/keyboards/prototypist/oceanographer/keymaps/default/keymap.c index b98846f37f..ceeb224927 100644 --- a/keyboards/prototypist/oceanographer/keymaps/default/keymap.c +++ b/keyboards/prototypist/oceanographer/keymaps/default/keymap.c @@ -86,4 +86,4 @@ layer_state_t layer_state_set_user(layer_state_t state) { rgblight_set_layer_state(2, layer_state_cmp(state, _FN2)); rgblight_set_layer_state(3, layer_state_cmp(state, _FN3)); return state; -} +} \ No newline at end of file diff --git a/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c b/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c index ff1410f5df..185ce52c9b 100644 --- a/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c +++ b/keyboards/prototypist/oceanographer/keymaps/default_625/keymap.c @@ -86,4 +86,4 @@ layer_state_t layer_state_set_user(layer_state_t state) { rgblight_set_layer_state(2, layer_state_cmp(state, _FN2)); rgblight_set_layer_state(3, layer_state_cmp(state, _FN3)); return state; -} +} \ No newline at end of file diff --git a/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c b/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c index 6820d2dfff..0a1d1558dd 100644 --- a/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c +++ b/keyboards/prototypist/oceanographer/keymaps/split_225_2/keymap.c @@ -86,4 +86,4 @@ layer_state_t layer_state_set_user(layer_state_t state) { rgblight_set_layer_state(2, layer_state_cmp(state, _FN2)); rgblight_set_layer_state(3, layer_state_cmp(state, _FN3)); return state; -} +} \ No newline at end of file diff --git a/keyboards/prototypist/oceanographer/oceanographer.c b/keyboards/prototypist/oceanographer/oceanographer.c index e16fc882f8..ad9378b75c 100644 --- a/keyboards/prototypist/oceanographer/oceanographer.c +++ b/keyboards/prototypist/oceanographer/oceanographer.c @@ -51,4 +51,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/prototypist/pt80/readme.md b/keyboards/prototypist/pt80/readme.md index 66c1282db1..a102d9d6db 100644 --- a/keyboards/prototypist/pt80/readme.md +++ b/keyboards/prototypist/pt80/readme.md @@ -32,4 +32,4 @@ 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 marked `RESET0`. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/protozoa/event_horizon/keyboard.json b/keyboards/protozoa/event_horizon/keyboard.json index 8cc17b4abc..29c7c94fb9 100644 --- a/keyboards/protozoa/event_horizon/keyboard.json +++ b/keyboards/protozoa/event_horizon/keyboard.json @@ -103,4 +103,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/protozoa/p01/keymaps/default/rules.mk b/keyboards/protozoa/p01/keymaps/default/rules.mk index 3beeda7684..d0790e6c3f 100644 --- a/keyboards/protozoa/p01/keymaps/default/rules.mk +++ b/keyboards/protozoa/p01/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/purin/keyboard.json b/keyboards/purin/keyboard.json index 9e9c2a55dc..7e06f2ede9 100644 --- a/keyboards/purin/keyboard.json +++ b/keyboards/purin/keyboard.json @@ -102,4 +102,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/qck75/v1/keyboard.json b/keyboards/qck75/v1/keyboard.json index 878d404098..d97a719a52 100644 --- a/keyboards/qck75/v1/keyboard.json +++ b/keyboards/qck75/v1/keyboard.json @@ -126,4 +126,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/qpockets/space_space/rev1/keymaps/big_space/rules.mk b/keyboards/qpockets/space_space/rev1/keymaps/big_space/rules.mk index ab1e438182..ff681299e4 100644 --- a/keyboards/qpockets/space_space/rev1/keymaps/big_space/rules.mk +++ b/keyboards/qpockets/space_space/rev1/keymaps/big_space/rules.mk @@ -1 +1 @@ -COMBO_ENABLE = yes +COMBO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/qpockets/space_space/rev1/keymaps/default/rules.mk b/keyboards/qpockets/space_space/rev1/keymaps/default/rules.mk index ab1e438182..ff681299e4 100644 --- a/keyboards/qpockets/space_space/rev1/keymaps/default/rules.mk +++ b/keyboards/qpockets/space_space/rev1/keymaps/default/rules.mk @@ -1 +1 @@ -COMBO_ENABLE = yes +COMBO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/qpockets/space_space/rev2/keymaps/big_space/rules.mk b/keyboards/qpockets/space_space/rev2/keymaps/big_space/rules.mk index ab1e438182..ff681299e4 100644 --- a/keyboards/qpockets/space_space/rev2/keymaps/big_space/rules.mk +++ b/keyboards/qpockets/space_space/rev2/keymaps/big_space/rules.mk @@ -1 +1 @@ -COMBO_ENABLE = yes +COMBO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/qpockets/space_space/rev2/keymaps/qpockets/rules.mk b/keyboards/qpockets/space_space/rev2/keymaps/qpockets/rules.mk index ab1e438182..ff681299e4 100644 --- a/keyboards/qpockets/space_space/rev2/keymaps/qpockets/rules.mk +++ b/keyboards/qpockets/space_space/rev2/keymaps/qpockets/rules.mk @@ -1 +1 @@ -COMBO_ENABLE = yes +COMBO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/quarkeys/z40/keyboard.json b/keyboards/quarkeys/z40/keyboard.json index 0f13d8aefd..05d81e5b6f 100644 --- a/keyboards/quarkeys/z40/keyboard.json +++ b/keyboards/quarkeys/z40/keyboard.json @@ -29,55 +29,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [3, 11], "x": 225, "y": 64, "flags": 1}, - {"matrix": [3, 10], "x": 200, "y": 64, "flags": 1}, - {"matrix": [3, 9], "x": 180, "y": 64, "flags": 1}, - {"matrix": [3, 8], "x": 160, "y": 64, "flags": 1}, - {"matrix": [3, 7], "x": 140, "y": 64, "flags": 1}, - {"matrix": [3, 5], "x": 110, "y": 64, "flags": 1}, - {"matrix": [3, 4], "x": 80, "y": 64, "flags": 1}, - {"matrix": [3, 3], "x": 60, "y": 64, "flags": 1}, - {"matrix": [3, 2], "x": 40, "y": 64, "flags": 1}, - {"matrix": [3, 1], "x": 20, "y": 64, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [2, 11], "x": 225, "y": 42, "flags": 1}, - {"matrix": [2, 10], "x": 200, "y": 42, "flags": 2}, - {"matrix": [2, 9], "x": 180, "y": 42, "flags": 2}, - {"matrix": [2, 8], "x": 160, "y": 42, "flags": 2}, - {"matrix": [2, 7], "x": 140, "y": 42, "flags": 2}, - {"matrix": [2, 6], "x": 120, "y": 42, "flags": 2}, - {"matrix": [2, 5], "x": 100, "y": 42, "flags": 2}, - {"matrix": [2, 4], "x": 80, "y": 42, "flags": 2}, - {"x": 60, "y": 42, "flags": 2}, - {"matrix": [2, 2], "x": 40, "y": 42, "flags": 2}, - {"matrix": [2, 1], "x": 20, "y": 42, "flags": 2}, - {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1}, - {"matrix": [1, 11], "x": 225, "y": 21, "flags": 1}, - {"matrix": [1, 10], "x": 200, "y": 21, "flags": 2}, - {"matrix": [1, 9], "x": 180, "y": 21, "flags": 2}, - {"matrix": [1, 8], "x": 160, "y": 21, "flags": 2}, - {"matrix": [1, 7], "x": 140, "y": 21, "flags": 2}, - {"matrix": [1, 6], "x": 120, "y": 21, "flags": 2}, - {"matrix": [2, 3], "x": 100, "y": 21, "flags": 2}, - {"matrix": [1, 4], "x": 80, "y": 21, "flags": 2}, - {"matrix": [1, 3], "x": 60, "y": 21, "flags": 2}, - {"matrix": [1, 2], "x": 40, "y": 21, "flags": 2}, - {"matrix": [1, 1], "x": 20, "y": 21, "flags": 2}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1}, - {"matrix": [0, 11], "x": 225, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 200, "y": 0, "flags": 2}, - {"matrix": [0, 9], "x": 180, "y": 0, "flags": 2}, - {"matrix": [0, 8], "x": 160, "y": 0, "flags": 2}, - {"matrix": [0, 7], "x": 140, "y": 0, "flags": 2}, - {"matrix": [0, 6], "x": 120, "y": 0, "flags": 2}, - {"matrix": [0, 5], "x": 100, "y": 0, "flags": 2}, - {"matrix": [0, 4], "x": 80, "y": 0, "flags": 2}, - {"matrix": [0, 3], "x": 60, "y": 0, "flags": 2}, - {"matrix": [0, 2], "x": 40, "y": 0, "flags": 2}, - {"matrix": [0, 1], "x": 20, "y": 0, "flags": 2}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1} - ], "sat_steps": 8, "val_steps": 8, "speed_steps": 10, diff --git a/keyboards/quarkeys/z40/z40.c b/keyboards/quarkeys/z40/z40.c new file mode 100644 index 0000000000..edd8946c11 --- /dev/null +++ b/keyboards/quarkeys/z40/z40.c @@ -0,0 +1,44 @@ +/* +/ Copyright 2022 quarkeys +/ This program is free software: you can redistribute it and/or modify +/ it under the terms of the GNU General Public License as published by +/ the Free Software Foundation, either version 2 of the License, or +/ (at your option) any later version. +/ This program is distributed in the hope that it will be useful, +/ but WITHOUT ANY WARRANTY; without even the implied warranty of +/ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/ GNU General Public License for more details. +/ You should have received a copy of the GNU General Public License +/ along with this program. If not, see . +*/ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + /* + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \ + { k30, k31, k32, k33, k34, k35, XXX, k36, k37, k38, k39, k3A }\ + */ + { 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, 29, 18, 17, 16, 15, 14, 13, 12, 11 }, + { 10, 9, 8, 7, 6, 5, NO_LED, 4, 3, 2, 1, 0 } + }, + { // Index to Physical Position + {225, 64}, {200, 64}, {180, 64}, {160, 64}, {140, 64}, {110, 64}, { 80, 64}, { 60, 64}, { 40, 64}, { 20, 64}, { 0, 64}, + {225, 42}, {200, 42}, {180, 42}, {160, 42}, {140, 42}, {120, 42}, {100, 42}, { 80, 42}, { 60, 42}, { 40, 42}, { 20, 42}, { 0, 42}, + {225, 21}, {200, 21}, {180, 21}, {160, 21}, {140, 21}, {120, 21}, {100, 21}, { 80, 21}, { 60, 21}, { 40, 21}, { 20, 21}, { 0, 21}, + {225, 0}, {200, 0}, {180, 0}, {160, 0}, {140, 0}, {120, 0}, {100, 0}, { 80, 0}, { 60, 0}, { 40, 0}, { 20, 0}, { 0, 0} + }, + { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, + 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, + 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 + } +}; +#endif diff --git a/keyboards/qvex/lynepad2/keymaps/default/keymap.c b/keyboards/qvex/lynepad2/keymaps/default/keymap.c index 77575bc367..edb2604390 100644 --- a/keyboards/qvex/lynepad2/keymaps/default/keymap.c +++ b/keyboards/qvex/lynepad2/keymaps/default/keymap.c @@ -139,4 +139,4 @@ layer_state_t layer_state_set_user(layer_state_t state) { void keyboard_post_init_user(void) { rgblight_init(); rgblight_sethue_noeeprom(RGB_HUE_LAYER0); -} +} \ No newline at end of file diff --git a/keyboards/qvex/lynepad2/keymaps/default/rules.mk b/keyboards/qvex/lynepad2/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/qvex/lynepad2/keymaps/default/rules.mk +++ b/keyboards/qvex/lynepad2/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/qvex/lynepad2/matrix.c b/keyboards/qvex/lynepad2/matrix.c index 2dacbb89a6..23b22cdb69 100644 --- a/keyboards/qvex/lynepad2/matrix.c +++ b/keyboards/qvex/lynepad2/matrix.c @@ -15,10 +15,14 @@ along with this program. If not, see . */ #include "matrix.h" +#include "wait.h" static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + static void select_row(uint8_t row) { gpio_set_pin_output(row_pins[row]); gpio_write_pin_low(row_pins[row]); @@ -55,7 +59,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) current_matrix[current_row] = 0; select_row(current_row); - matrix_io_delay(); + wait_us(30); for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { uint8_t pin_state = gpio_read_pin(col_pins[col_index]); @@ -97,14 +101,14 @@ void matrix_init_custom(void) { init_pins(); } -bool matrix_scan_custom(matrix_row_t current_matrix[]) { +bool matrix_scan_custom(void) { bool changed = false; for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { - changed |= read_cols_on_row(current_matrix, current_row); + changed |= read_cols_on_row(raw_matrix, current_row); } - changed |= read_encoder_switches(current_matrix); + changed |= read_encoder_switches(raw_matrix); return changed; -} +} \ No newline at end of file diff --git a/keyboards/qvex/lynepad2/rules.mk b/keyboards/qvex/lynepad2/rules.mk index 30ce5d293b..c25bdff0cf 100644 --- a/keyboards/qvex/lynepad2/rules.mk +++ b/keyboards/qvex/lynepad2/rules.mk @@ -1,2 +1,2 @@ CUSTOM_MATRIX = lite -SRC += matrix.c +SRC += matrix.c \ No newline at end of file diff --git a/keyboards/qwertlekeys/calice/keymaps/default/keymap.c b/keyboards/qwertlekeys/calice/keymaps/default/keymap.c index c636eff5f7..d9876034de 100644 --- a/keyboards/qwertlekeys/calice/keymaps/default/keymap.c +++ b/keyboards/qwertlekeys/calice/keymaps/default/keymap.c @@ -35,4 +35,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, 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/qwertykeys/qk100/ansi/ansi.c b/keyboards/qwertykeys/qk100/ansi/ansi.c index 14358b8c27..93af272e00 100644 --- a/keyboards/qwertykeys/qk100/ansi/ansi.c +++ b/keyboards/qwertykeys/qk100/ansi/ansi.c @@ -140,4 +140,4 @@ bool led_update_kb(led_t led_state) { rgblight_set_layer_state(1, !led_state.num_lock); } return res; -} +} \ No newline at end of file diff --git a/keyboards/qwertykeys/qk100/ansi/halconf.h b/keyboards/qwertykeys/qk100/ansi/halconf.h index d93551de53..0deaa06aa2 100644 --- a/keyboards/qwertykeys/qk100/ansi/halconf.h +++ b/keyboards/qwertykeys/qk100/ansi/halconf.h @@ -18,4 +18,4 @@ #define HAL_USE_I2C TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/qwertykeys/qk100/ansi/keymaps/default/keymap.c b/keyboards/qwertykeys/qk100/ansi/keymaps/default/keymap.c index 7ebaeef2dc..ae4a72af15 100644 --- a/keyboards/qwertykeys/qk100/ansi/keymaps/default/keymap.c +++ b/keyboards/qwertykeys/qk100/ansi/keymaps/default/keymap.c @@ -35,4 +35,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, UG_TOGG, UG_NEXT, UG_PREV, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALD, UG_VALU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/qwertykeys/qk100/ansi/mcuconf.h b/keyboards/qwertykeys/qk100/ansi/mcuconf.h index a7dfd96937..a8228a149f 100644 --- a/keyboards/qwertykeys/qk100/ansi/mcuconf.h +++ b/keyboards/qwertykeys/qk100/ansi/mcuconf.h @@ -22,4 +22,4 @@ * I2C driver system settings. */ #undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE +#define STM32_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/qwertykeys/qk100/ansi/readme.md b/keyboards/qwertykeys/qk100/ansi/readme.md index b197ea7802..d3360b0420 100644 --- a/keyboards/qwertykeys/qk100/ansi/readme.md +++ b/keyboards/qwertykeys/qk100/ansi/readme.md @@ -18,4 +18,4 @@ Flashing example for this keyboard: **Bootloader:** Press the button B on PCB while plugging in the board. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/qwertykeys/qk100/solder/config.h b/keyboards/qwertykeys/qk100/solder/config.h index f95049c1c0..6a16c99f05 100644 --- a/keyboards/qwertykeys/qk100/solder/config.h +++ b/keyboards/qwertykeys/qk100/solder/config.h @@ -23,4 +23,4 @@ along with this program. If not, see . /*== customize breathing effect ==*/ #define RGBLIGHT_BREATHE_TABLE_SIZE 128 #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.0 -#define RGBLIGHT_EFFECT_BREATHE_MAX 60 +#define RGBLIGHT_EFFECT_BREATHE_MAX 60 \ No newline at end of file diff --git a/keyboards/qwertykeys/qk100/solder/keyboard.json b/keyboards/qwertykeys/qk100/solder/keyboard.json index 44f4b879e2..64f8945b7f 100644 --- a/keyboards/qwertykeys/qk100/solder/keyboard.json +++ b/keyboards/qwertykeys/qk100/solder/keyboard.json @@ -111,4 +111,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/qwertykeys/qk100/solder/keymaps/default/keymap.c b/keyboards/qwertykeys/qk100/solder/keymaps/default/keymap.c index 3469e5000d..738f321ded 100644 --- a/keyboards/qwertykeys/qk100/solder/keymaps/default/keymap.c +++ b/keyboards/qwertykeys/qk100/solder/keymaps/default/keymap.c @@ -35,4 +35,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, UG_TOGG, UG_NEXT, UG_PREV, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALD, UG_VALU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/qwertykeys/qk100/solder/readme.md b/keyboards/qwertykeys/qk100/solder/readme.md index 42b93a510b..f660fe0d42 100644 --- a/keyboards/qwertykeys/qk100/solder/readme.md +++ b/keyboards/qwertykeys/qk100/solder/readme.md @@ -18,4 +18,4 @@ Flashing example for this keyboard: **Bootloader:** Press the button B on PCB while plugging in the board. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/qwertykeys/qk100/solder/solder.c b/keyboards/qwertykeys/qk100/solder/solder.c index 24ca9fcf8f..8a3e46dab7 100644 --- a/keyboards/qwertykeys/qk100/solder/solder.c +++ b/keyboards/qwertykeys/qk100/solder/solder.c @@ -34,4 +34,4 @@ bool led_update_kb(led_t led_state) { rgblight_set_layer_state(1, !led_state.num_lock); } return res; -} +} \ No newline at end of file diff --git a/keyboards/qwertykeys/qk65/solder/readme.md b/keyboards/qwertykeys/qk65/solder/readme.md index 52d6a27a9e..8987ebc586 100644 --- a/keyboards/qwertykeys/qk65/solder/readme.md +++ b/keyboards/qwertykeys/qk65/solder/readme.md @@ -18,4 +18,4 @@ Flashing example for this keyboard: **Bootloader:** Press the physical reset button on the bottom side of the PCB (labeled SW1) or hold down ESC while plugging in the board. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/rarepotato8de/3x3macropad/readme.md b/keyboards/rarepotato8de/3x3macropad/readme.md index 34301f1f75..60a5caa222 100644 --- a/keyboards/rarepotato8de/3x3macropad/readme.md +++ b/keyboards/rarepotato8de/3x3macropad/readme.md @@ -25,4 +25,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,1) in the matrix (the top left one below the OLED) and plug in the keyboard * **Physical reset button**: Short the two through hole pins on the back of the PCB (positioned at the rotary encoder) -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/rart/rart75m/keymaps/default/keymap.c b/keyboards/rart/rart75m/keymaps/default/keymap.c index 3656b783cc..6c1135a44e 100644 --- a/keyboards/rart/rart75m/keymaps/default/keymap.c +++ b/keyboards/rart/rart75m/keymaps/default/keymap.c @@ -50,4 +50,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, KC_TRNS, 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/rart/rartland/keyboard.json b/keyboards/rart/rartland/keyboard.json index d5aaf59da7..158cbb8639 100644 --- a/keyboards/rart/rartland/keyboard.json +++ b/keyboards/rart/rartland/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "RARTLAND", "manufacturer": "Alabahuy", + "url": " ", "maintainer": "Alabahuy", "usb": { "vid": "0x414C", diff --git a/keyboards/rart/rartland/keymaps/default/keymap.c b/keyboards/rart/rartland/keymaps/default/keymap.c index dcc3cf1bd7..658e695e1b 100644 --- a/keyboards/rart/rartland/keymaps/default/keymap.c +++ b/keyboards/rart/rartland/keymaps/default/keymap.c @@ -46,4 +46,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LGUI, 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/rate/pistachio/rev1/readme.md b/keyboards/rate/pistachio/rev1/readme.md index 232d708417..eae3776935 100644 --- a/keyboards/rate/pistachio/rev1/readme.md +++ b/keyboards/rate/pistachio/rev1/readme.md @@ -14,4 +14,4 @@ Make example for this keyboard (after setting up your build environment): 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). -[Build guide](https://ratelog.net/pistachio-build-guide/) +[Build guide](https://ratelog.net/pistachio-build-guide/) \ No newline at end of file diff --git a/keyboards/rate/pistachio/rev2/readme.md b/keyboards/rate/pistachio/rev2/readme.md index 9f7593a2f2..12d9f6598f 100644 --- a/keyboards/rate/pistachio/rev2/readme.md +++ b/keyboards/rate/pistachio/rev2/readme.md @@ -14,4 +14,4 @@ Make example for this keyboard (after setting up your build environment): 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). -[Build guide](https://ratelog.net/pistachio-build-guide/) +[Build guide](https://ratelog.net/pistachio-build-guide/) \ No newline at end of file diff --git a/keyboards/rate/pistachio_pro/config.h b/keyboards/rate/pistachio_pro/config.h index d0b1ddcae8..309d51f79c 100644 --- a/keyboards/rate/pistachio_pro/config.h +++ b/keyboards/rate/pistachio_pro/config.h @@ -42,6 +42,7 @@ along with this program. If not, see . /* OLED */ #define OLED_DISPLAY_128X64 +#define OLED_FONT_H "keyboards/rate/pistachio_pro/lib/glcdfont.c" #define OLED_FONT_WIDTH 6 #define OLED_FONT_HEIGHT 6 diff --git a/keyboards/rate/pistachio_pro/lib/glcdfont.c b/keyboards/rate/pistachio_pro/lib/glcdfont.c new file mode 100644 index 0000000000..41041f12bb --- /dev/null +++ b/keyboards/rate/pistachio_pro/lib/glcdfont.c @@ -0,0 +1,232 @@ +// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. +// See gfxfont.h for newer custom bitmap font info. + +#include "progmem.h" + +// Standard ASCII 5x7 font +const unsigned char font[] PROGMEM = { +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, +0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, +0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, +0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, +0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, +0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, +0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, +0x00, 0x18, 0x24, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, +0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, +0x26, 0x29, 0x79, 0x29, 0x26, 0x00, +0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, +0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, +0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, +0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, +0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, +0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, +0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, +0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, +0x60, 0x60, 0x60, 0x60, 0x60, 0x00, +0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, +0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, +0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, +0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, +0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, +0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, +0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, +0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, +0x00, 0x07, 0x00, 0x07, 0x00, 0x00, +0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, +0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, +0x23, 0x13, 0x08, 0x64, 0x62, 0x00, +0x36, 0x49, 0x56, 0x20, 0x50, 0x00, +0x00, 0x08, 0x07, 0x03, 0x00, 0x00, +0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, +0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, +0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, +0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, +0x00, 0x80, 0x70, 0x30, 0x00, 0x00, +0x08, 0x08, 0x08, 0x08, 0x08, 0x00, +0x00, 0x00, 0x60, 0x60, 0x00, 0x00, +0x20, 0x10, 0x08, 0x04, 0x02, 0x00, +0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, +0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, +0x72, 0x49, 0x49, 0x49, 0x46, 0x00, +0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, +0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, +0x27, 0x45, 0x45, 0x45, 0x39, 0x00, +0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, +0x41, 0x21, 0x11, 0x09, 0x07, 0x00, +0x36, 0x49, 0x49, 0x49, 0x36, 0x00, +0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, +0x00, 0x00, 0x14, 0x00, 0x00, 0x00, +0x00, 0x40, 0x34, 0x00, 0x00, 0x00, +0x00, 0x08, 0x14, 0x22, 0x41, 0x00, +0x14, 0x14, 0x14, 0x14, 0x14, 0x00, +0x00, 0x41, 0x22, 0x14, 0x08, 0x00, +0x02, 0x01, 0x59, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, +0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, +0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, +0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, +0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, +0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, +0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, +0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, +0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, +0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, +0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, +0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, +0x26, 0x49, 0x49, 0x49, 0x32, 0x00, +0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, +0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, +0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, +0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, +0x63, 0x14, 0x08, 0x14, 0x63, 0x00, +0x03, 0x04, 0x78, 0x04, 0x03, 0x00, +0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, +0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, +0x02, 0x04, 0x08, 0x10, 0x20, 0x00, +0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, +0x04, 0x02, 0x01, 0x02, 0x04, 0x00, +0x40, 0x40, 0x40, 0x40, 0x40, 0x00, +0x00, 0x03, 0x07, 0x08, 0x00, 0x00, +0x20, 0x54, 0x54, 0x78, 0x40, 0x00, +0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, +0x38, 0x44, 0x44, 0x44, 0x28, 0x00, +0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, +0x38, 0x54, 0x54, 0x54, 0x18, 0x00, +0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, +0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, +0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, +0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, +0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, +0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, +0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, +0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, +0x38, 0x44, 0x44, 0x44, 0x38, 0x00, +0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, +0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, +0x48, 0x54, 0x54, 0x54, 0x24, 0x00, +0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, +0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, +0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, +0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, +0x44, 0x28, 0x10, 0x28, 0x44, 0x00, +0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, +0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, +0x00, 0x08, 0x36, 0x41, 0x00, 0x00, +0x00, 0x00, 0x77, 0x00, 0x00, 0x00, +0x00, 0x41, 0x36, 0x08, 0x00, 0x00, +0x02, 0x01, 0x02, 0x04, 0x02, 0x00, +0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, +0xF0, 0xF8, 0xF8, 0x18, 0x00, 0xC0, +0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, +0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, +0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, +0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, +0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, +0x00, 0x00, 0x00, 0xE0, 0xE0, 0xC0, +0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, +0x00, 0xE0, 0xE0, 0xC0, 0xC0, 0xE0, +0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, +0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, +0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, +0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, +0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, +0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, +0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, +0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, +0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, +0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, +0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFE, +0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0x1F, 0x07, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0xFF, 0xFF, 0xFF, 0x81, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x81, +0xC3, 0xC3, 0xC3, 0x00, 0x00, 0xFF, +0xFF, 0xFF, 0x81, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, +0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, +0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, +0x9D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, +0x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, +0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, +0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, +0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, +0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, +0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, +0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, +0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, +0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F, +0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x3F, +0x3F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, +0x7F, 0x7C, 0x78, 0x78, 0x38, 0x1C, +0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x03, 0x07, 0x07, +0x07, 0x07, 0x07, 0x07, 0x07, 0x07, +0x03, 0x01, 0x00, 0x00, 0x00, 0x00, +0x01, 0x03, 0x07, 0x07, 0x07, 0x07, +0x07, 0x07, 0x07, 0x07, 0x03, 0x01, +0x00, 0x00, 0x00, 0x07, 0x07, 0x07, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x07, 0x07, 0x07, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x07, +0x07, 0x00, 0x00, 0x00, 0x01, 0x03, +0x07, 0x07, 0x07, 0x07, 0x07, 0x07, +0x07, 0x07, 0x03, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/keyboards/redox/rev1/proton_c/halconf.h b/keyboards/redox/rev1/proton_c/halconf.h index 7d740817a3..0a2498a62f 100644 --- a/keyboards/redox/rev1/proton_c/halconf.h +++ b/keyboards/redox/rev1/proton_c/halconf.h @@ -5,4 +5,4 @@ #define HAL_USE_SERIAL TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/redscarf_iiplus/verb/matrix.c b/keyboards/redscarf_iiplus/verb/matrix.c old mode 100644 new mode 100755 index aab10abe17..886704f9ef --- a/keyboards/redscarf_iiplus/verb/matrix.c +++ b/keyboards/redscarf_iiplus/verb/matrix.c @@ -22,18 +22,21 @@ along with this program. If not, see . #include "debounce.h" #if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 01234567\n") +# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED -extern const matrix_row_t matrix_mask[]; + extern const matrix_row_t matrix_mask[]; #endif #ifdef DIRECT_PINS @@ -44,34 +47,46 @@ static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #endif /* matrix state(1:on, 0:off) */ -static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -static matrix_row_t matrix[MATRIX_ROWS]; // debounced values +static matrix_row_t raw_matrix[MATRIX_ROWS]; //raw values +static matrix_row_t matrix[MATRIX_ROWS]; //debounced values -__attribute__((weak)) void matrix_init_kb(void) { +__attribute__ ((weak)) +void matrix_init_kb(void) { matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { +__attribute__ ((weak)) +void matrix_scan_kb(void) { matrix_scan_user(); } -__attribute__((weak)) void matrix_init_user(void) {} +__attribute__ ((weak)) +void matrix_init_user(void) { +} -__attribute__((weak)) void matrix_scan_user(void) {} +__attribute__ ((weak)) +void matrix_scan_user(void) { +} -inline uint8_t matrix_rows(void) { +inline +uint8_t matrix_rows(void) { return MATRIX_ROWS; } -inline uint8_t matrix_cols(void) { +inline +uint8_t matrix_cols(void) { return MATRIX_COLS; } -inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & ((matrix_row_t)1 << col)); +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ + return (matrix[row] & ((matrix_row_t)1<. #include "debounce.h" #if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 01234567\n") +# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED -extern const matrix_row_t matrix_mask[]; + extern const matrix_row_t matrix_mask[]; #endif #ifdef DIRECT_PINS @@ -44,34 +47,46 @@ static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #endif /* matrix state(1:on, 0:off) */ -static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -static matrix_row_t matrix[MATRIX_ROWS]; // debounced values +static matrix_row_t raw_matrix[MATRIX_ROWS]; //raw values +static matrix_row_t matrix[MATRIX_ROWS]; //debounced values -__attribute__((weak)) void matrix_init_kb(void) { +__attribute__ ((weak)) +void matrix_init_kb(void) { matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { +__attribute__ ((weak)) +void matrix_scan_kb(void) { matrix_scan_user(); } -__attribute__((weak)) void matrix_init_user(void) {} +__attribute__ ((weak)) +void matrix_init_user(void) { +} -__attribute__((weak)) void matrix_scan_user(void) {} +__attribute__ ((weak)) +void matrix_scan_user(void) { +} -inline uint8_t matrix_rows(void) { +inline +uint8_t matrix_rows(void) { return MATRIX_ROWS; } -inline uint8_t matrix_cols(void) { +inline +uint8_t matrix_cols(void) { return MATRIX_COLS; } -inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & ((matrix_row_t)1 << col)); +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ + return (matrix[row] & ((matrix_row_t)1<. #include "debounce.h" #if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 01234567\n") +# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED -extern const matrix_row_t matrix_mask[]; + extern const matrix_row_t matrix_mask[]; #endif #ifdef DIRECT_PINS @@ -44,34 +47,46 @@ static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #endif /* matrix state(1:on, 0:off) */ -static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -static matrix_row_t matrix[MATRIX_ROWS]; // debounced values +static matrix_row_t raw_matrix[MATRIX_ROWS]; //raw values +static matrix_row_t matrix[MATRIX_ROWS]; //debounced values -__attribute__((weak)) void matrix_init_kb(void) { +__attribute__ ((weak)) +void matrix_init_kb(void) { matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { +__attribute__ ((weak)) +void matrix_scan_kb(void) { matrix_scan_user(); } -__attribute__((weak)) void matrix_init_user(void) {} +__attribute__ ((weak)) +void matrix_init_user(void) { +} -__attribute__((weak)) void matrix_scan_user(void) {} +__attribute__ ((weak)) +void matrix_scan_user(void) { +} -inline uint8_t matrix_rows(void) { +inline +uint8_t matrix_rows(void) { return MATRIX_ROWS; } -inline uint8_t matrix_cols(void) { +inline +uint8_t matrix_cols(void) { return MATRIX_COLS; } -inline bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & ((matrix_row_t)1 << col)); +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ + return (matrix[row] & ((matrix_row_t)1<. +*/ + #pragma once +#define RGB_MATRIX_LED_COUNT 64 #define WS2812_LED_COUNT 64 diff --git a/keyboards/rgbkb/pan/info.json b/keyboards/rgbkb/pan/info.json index 4358881075..ad56ba5e4b 100644 --- a/keyboards/rgbkb/pan/info.json +++ b/keyboards/rgbkb/pan/info.json @@ -66,71 +66,23 @@ "solid_splash": true, "solid_multisplash": true }, - "driver": "custom", - "layout": [ - {"x": 0, "y": 0, "flags": 1}, - {"x": 224, "y": 0, "flags": 1}, - {"matrix": [0, 0], "x": 9, "y": 13, "flags": 1}, - {"matrix": [0, 1], "x": 28, "y": 13, "flags": 4}, - {"matrix": [0, 2], "x": 47, "y": 13, "flags": 4}, - {"matrix": [0, 3], "x": 66, "y": 13, "flags": 4}, - {"matrix": [0, 4], "x": 84, "y": 13, "flags": 4}, - {"matrix": [0, 5], "x": 104, "y": 13, "flags": 4}, - {"matrix": [0, 6], "x": 123, "y": 13, "flags": 4}, - {"matrix": [0, 7], "x": 142, "y": 13, "flags": 4}, - {"matrix": [0, 8], "x": 161, "y": 13, "flags": 4}, - {"matrix": [0, 9], "x": 180, "y": 13, "flags": 4}, - {"matrix": [0, 10], "x": 199, "y": 13, "flags": 4}, - {"matrix": [0, 12], "x": 215, "y": 13, "flags": 1}, - {"matrix": [1, 11], "x": 215, "y": 26, "flags": 1}, - {"matrix": [1, 10], "x": 199, "y": 26, "flags": 4}, - {"matrix": [1, 9], "x": 180, "y": 26, "flags": 4}, - {"matrix": [1, 8], "x": 161, "y": 26, "flags": 4}, - {"matrix": [1, 7], "x": 142, "y": 26, "flags": 4}, - {"matrix": [1, 6], "x": 123, "y": 26, "flags": 4}, - {"matrix": [1, 5], "x": 104, "y": 26, "flags": 4}, - {"matrix": [1, 4], "x": 84, "y": 26, "flags": 4}, - {"matrix": [1, 3], "x": 66, "y": 26, "flags": 4}, - {"matrix": [1, 2], "x": 47, "y": 26, "flags": 4}, - {"matrix": [1, 1], "x": 28, "y": 26, "flags": 4}, - {"matrix": [1, 0], "x": 9, "y": 26, "flags": 1}, - {"matrix": [2, 0], "x": 9, "y": 38, "flags": 1}, - {"matrix": [2, 1], "x": 28, "y": 38, "flags": 4}, - {"matrix": [2, 2], "x": 47, "y": 38, "flags": 4}, - {"matrix": [2, 3], "x": 66, "y": 38, "flags": 4}, - {"matrix": [2, 4], "x": 84, "y": 38, "flags": 4}, - {"matrix": [2, 5], "x": 104, "y": 38, "flags": 4}, - {"matrix": [2, 6], "x": 123, "y": 38, "flags": 4}, - {"matrix": [2, 7], "x": 142, "y": 38, "flags": 4}, - {"matrix": [2, 8], "x": 161, "y": 38, "flags": 4}, - {"matrix": [2, 9], "x": 180, "y": 38, "flags": 4}, - {"matrix": [2, 10], "x": 199, "y": 38, "flags": 4}, - {"matrix": [2, 11], "x": 215, "y": 38, "flags": 1}, - {"matrix": [3, 12], "x": 215, "y": 51, "flags": 1}, - {"matrix": [3, 10], "x": 199, "y": 51, "flags": 4}, - {"matrix": [3, 9], "x": 180, "y": 51, "flags": 4}, - {"matrix": [3, 8], "x": 161, "y": 51, "flags": 4}, - {"matrix": [3, 7], "x": 142, "y": 51, "flags": 4}, - {"matrix": [3, 6], "x": 123, "y": 51, "flags": 4}, - {"matrix": [3, 5], "x": 104, "y": 51, "flags": 4}, - {"matrix": [3, 4], "x": 84, "y": 51, "flags": 4}, - {"matrix": [3, 3], "x": 66, "y": 51, "flags": 4}, - {"matrix": [3, 2], "x": 47, "y": 51, "flags": 4}, - {"matrix": [3, 1], "x": 28, "y": 51, "flags": 4}, - {"matrix": [3, 0], "x": 9, "y": 51, "flags": 1}, - {"matrix": [4, 0], "x": 9, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 28, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 47, "y": 64, "flags": 1}, - {"matrix": [4, 3], "x": 66, "y": 64, "flags": 1}, - {"matrix": [4, 4], "x": 84, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 104, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 123, "y": 64, "flags": 1}, - {"matrix": [4, 7], "x": 142, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 161, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 180, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 199, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 215, "y": 64, "flags": 1} - ] + "driver": "custom" + }, + "rgblight": { + "led_count": 64, + "max_brightness": 120, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } }, "layouts": { "LAYOUT_all": { diff --git a/keyboards/rgbkb/pan/keymaps/default/keymap.c b/keyboards/rgbkb/pan/keymaps/default/keymap.c new file mode 100644 index 0000000000..3647ae2ad6 --- /dev/null +++ b/keyboards/rgbkb/pan/keymaps/default/keymap.c @@ -0,0 +1,116 @@ + /* Copyright 2020 RGBKB + * + * 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 . + */ +// 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. +#include QMK_KEYBOARD_H + +enum layer_number { + _QWERTY, + _COLEMAK, + _FN, + _ADJ +}; + +#define FN_ESC LT(_FN, KC_ESC) +#define FN_CAPS LT(_FN, KC_CAPS) +#define QWERTY DF(_QWERTY) +#define COLEMAK DF(_COLEMAK) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = 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_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_BSLS, + FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, + KC_LCTL, KC_LGUI, KC_LALT, RM_TOGG, MO(_ADJ),KC_SPC, KC_SPC, MO(_FN), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT + ), + + [_COLEMAK] = 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_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, + FN_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_ENT, + KC_LCTL, KC_LGUI, KC_LALT, RM_TOGG, MO(_ADJ),KC_SPC, KC_SPC, MO(_FN), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT + ), + + [_FN] = LAYOUT_all( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, + _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______, _______, KC_PGDN, KC_UP, KC_PGUP, KC_PSCR, KC_HOME, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_END, + _______, _______, _______, _______, _______, _______, _______, KC_LBRC, _______, KC_RBRC, _______, _______, _______, + _______, _______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJ] = 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_PSCR, + _______, RM_SATD, RM_VALU, RM_SATU, QK_BOOT, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RM_HUED, RM_VALD, RM_HUEU, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, + _______, RM_SPDD, _______, RM_SPDU, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, + _______, _______, _______, RM_NEXT, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, _QWERTY, _COLEMAK + ) +}; + +#ifdef OLED_ENABLE +bool oled_task_user(void) { + // Host Keyboard Layer Status + oled_write_P(PSTR("RGBKB Pan\n"), false); + oled_write_P(PSTR("Layer: "), false); + uint8_t layer = get_highest_layer(layer_state|default_layer_state); + switch (layer) { + case _QWERTY: + oled_write_P(PSTR("Default\n"), false); + break; + case _COLEMAK: + oled_write_P(PSTR("Colemak\n"), false); + break; + case _FN: + oled_write_P(PSTR("Function\n"), false); + break; + case _ADJ: + oled_write_P(PSTR("Adjust\n"), false); + break; + default: + oled_write_P(PSTR("Undefined\n"), false); + // Or use the write_ln shortcut over adding '\n' to the end of your string + //oled_write_ln_P(PSTR("Undefined"), false); + } + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("Numlock On\n") : PSTR(" \n"), false); + oled_write_P(led_state.caps_lock ? PSTR("Capslock On \n") : PSTR(" \n"), false); + + return false; +} +#endif + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { // First encoder - right + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { // Second encoder - left + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/rgbkb/pan/keymaps/default/keymap.json b/keyboards/rgbkb/pan/keymaps/default/keymap.json deleted file mode 100644 index e2f50556f0..0000000000 --- a/keyboards/rgbkb/pan/keymaps/default/keymap.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "keyboard": "rgbkb/pan/rev1/32a", - "keymap": "default", - "layout": "LAYOUT_all", - "layers": [ - [ - "QK_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "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_BSLS", - "LT(2, KC_CAPS)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_ENT", - "KC_LSFT", "KC_BSLS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "SC_RSPC", - "KC_LCTL", "KC_LGUI", "KC_LALT", "RM_TOGG", "MO(3)", "KC_SPC", "KC_SPC", "MO(2)", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RIGHT" - ], - [ - "QK_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_BSPC", "KC_DEL", - "KC_TAB", "KC_Q", "KC_W", "KC_F", "KC_P", "KC_G", "KC_J", "KC_L", "KC_U", "KC_Y", "KC_SCLN", "KC_BSLS", - "LT(2, KC_CAPS)", "KC_A", "KC_R", "KC_S", "KC_T", "KC_D", "KC_H", "KC_N", "KC_E", "KC_I", "KC_O", "KC_ENT", - "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "SC_RSPC", "KC_ENT", - "KC_LCTL", "KC_LGUI", "KC_LALT", "RM_TOGG", "MO(3)", "KC_SPC", "KC_SPC", "MO(2)", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RIGHT" - ], - [ - "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_PGDN", "KC_UP", "KC_PGUP", "_______", "_______", "_______", "KC_PGDN", "KC_UP", "KC_PGUP", "KC_PSCR", "KC_HOME", - "_______", "KC_LEFT", "KC_DOWN", "KC_RGHT", "_______", "_______", "_______", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_INS", "KC_END", - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "KC_LBRC", "_______", "KC_RBRC", "_______", "_______", "_______", - "_______", "_______", "_______", "RM_NEXT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" - ], - [ - "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", - "_______", "RM_SATD", "RM_VALU", "RM_SATU", "QK_BOOT", "_______", "_______", "KC_P7", "KC_P8", "KC_P9", "_______", "_______", - "_______", "RM_HUED", "RM_VALD", "RM_HUEU", "_______", "_______", "_______", "KC_P4", "KC_P5", "KC_P6", "_______", "_______", - "_______", "RM_SPDD", "_______", "RM_SPDU", "_______", "_______", "_______", "KC_P1", "KC_P2", "KC_P3", "_______", "_______", "_______", - "_______", "_______", "_______", "RM_NEXT", "_______", "_______", "_______", "KC_P0", "KC_PDOT", "KC_NUM", "DF(0)", "DF(1)" - ] - ] -} diff --git a/keyboards/rgbkb/pan/keymaps/default/rules.mk b/keyboards/rgbkb/pan/keymaps/default/rules.mk new file mode 100644 index 0000000000..c4f4ee04da --- /dev/null +++ b/keyboards/rgbkb/pan/keymaps/default/rules.mk @@ -0,0 +1,3 @@ +# RGB layout selection +RGB_ENCODERS = yes # For RGB encoders, solder on both WS2811 chips +STAGGERED_LAYOUT = no # If you soldered R1-A12 and R4-A12, enable this. diff --git a/keyboards/rgbkb/pan/keymaps/default_eee/keymap.c b/keyboards/rgbkb/pan/keymaps/default_eee/keymap.c new file mode 100644 index 0000000000..2de45d88e6 --- /dev/null +++ b/keyboards/rgbkb/pan/keymaps/default_eee/keymap.c @@ -0,0 +1,116 @@ + /* Copyright 2020 RGBKB + * + * 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 . + */ +// 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. +#include QMK_KEYBOARD_H + +enum layer_number { + _QWERTY, + _COLEMAK, + _FN, + _ADJ +}; + +#define FN_ESC LT(_FN, KC_ESC) +#define FN_CAPS LT(_FN, KC_CAPS) +#define QWERTY DF(_QWERTY) +#define COLEMAK DF(_COLEMAK) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_eee( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_BSLS, + FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SC_RSPC, + KC_LCTL, KC_LGUI, KC_LALT, RM_TOGG, MO(_ADJ),KC_SPC, KC_SPC, MO(_FN), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [_COLEMAK] = LAYOUT_eee( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, + FN_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, 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_ENT, + KC_LCTL, KC_LGUI, KC_LALT, RM_TOGG, MO(_ADJ),KC_SPC, KC_SPC, MO(_FN), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [_FN] = LAYOUT_eee( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_PSCR, + _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______, _______, KC_PGDN, KC_UP, KC_PGUP, KC_PSCR, KC_HOME, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_END, + _______, _______, _______, _______, _______, _______, _______, KC_LBRC, _______, KC_RBRC, _______, _______, + _______, _______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJ] = LAYOUT_eee( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_PSCR, + _______, RM_SATD, RM_VALU, RM_SATU, QK_BOOT, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RM_HUED, RM_VALD, RM_HUEU, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, + _______, RM_SPDD, _______, RM_SPDU, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, + _______, _______, _______, RM_NEXT, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, QWERTY, COLEMAK + ) +}; + +#ifdef OLED_ENABLE +bool oled_task_user(void) { + // Host Keyboard Layer Status + oled_write_P(PSTR("RGBKB Pan\n"), false); + oled_write_P(PSTR("Layer: "), false); + uint8_t layer = get_highest_layer(layer_state|default_layer_state); + switch (layer) { + case _QWERTY: + oled_write_P(PSTR("Default\n"), false); + break; + case _COLEMAK: + oled_write_P(PSTR("Colemak\n"), false); + break; + case _FN: + oled_write_P(PSTR("Function\n"), false); + break; + case _ADJ: + oled_write_P(PSTR("Adjust\n"), false); + break; + default: + oled_write_P(PSTR("Undefined\n"), false); + // Or use the write_ln shortcut over adding '\n' to the end of your string + //oled_write_ln_P(PSTR("Undefined"), false); + } + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("Numlock On\n") : PSTR(" \n"), false); + oled_write_P(led_state.caps_lock ? PSTR("Capslock On \n") : PSTR(" \n"), false); + + return false; +} +#endif + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { // First encoder - right + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { // Second encoder - left + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/rgbkb/pan/keymaps/default_eee/keymap.json b/keyboards/rgbkb/pan/keymaps/default_eee/keymap.json deleted file mode 100644 index c46fc40a3d..0000000000 --- a/keyboards/rgbkb/pan/keymaps/default_eee/keymap.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "keyboard": "rgbkb/pan/rev1/32a", - "keymap": "default_eee", - "layout": "LAYOUT_eee", - "layers": [ - [ - "QK_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "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_BSLS", - "LT(2, KC_CAPS)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_ENT", - "KC_LSFT", "KC_BSLS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "SC_RSPC", - "KC_LCTL", "KC_LGUI", "KC_LALT", "RM_TOGG", "MO(3)", "KC_SPC", "KC_SPC", "MO(2)", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RGHT" - ], - [ - "QK_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_DEL", - "KC_TAB", "KC_Q", "KC_W", "KC_F", "KC_P", "KC_G", "KC_J", "KC_L", "KC_U", "KC_Y", "KC_SCLN", "KC_BSLS", - "LT(2, KC_CAPS)", "KC_A", "KC_R", "KC_S", "KC_T", "KC_D", "KC_H", "KC_N", "KC_E", "KC_I", "KC_O", "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_ENT", - "KC_LCTL", "KC_LGUI", "KC_LALT", "RM_TOGG", "MO(3)", "KC_SPC", "KC_SPC", "MO(2)", "KC_LEFT", "KC_DOWN", "KC_UP", "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_PSCR", - "_______", "KC_PGDN", "KC_UP", "KC_PGUP", "_______", "_______", "_______", "KC_PGDN", "KC_UP", "KC_PGUP", "KC_PSCR", "KC_HOME", - "_______", "KC_LEFT", "KC_DOWN", "KC_RGHT", "_______", "_______", "_______", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_INS", "KC_END", - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "KC_LBRC", "_______", "KC_RBRC", "_______", "_______", - "_______", "_______", "_______", "RM_NEXT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" - ], - [ - "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_PSCR", - "_______", "RM_SATD", "RM_VALU", "RM_SATU", "QK_BOOT", "_______", "_______", "KC_P7", "KC_P8", "KC_P9", "_______", "_______", - "_______", "RM_HUED", "RM_VALD", "RM_HUEU", "_______", "_______", "_______", "KC_P4", "KC_P5", "KC_P6", "_______", "_______", - "_______", "RM_SPDD", "_______", "RM_SPDU", "_______", "_______", "_______", "KC_P1", "KC_P2", "KC_P3", "_______", "_______", - "_______", "_______", "_______", "RM_NEXT", "_______", "_______", "_______", "KC_P0", "KC_PDOT", "KC_NUM", "DF(0)", "DF(1)" - ] - ] -} diff --git a/keyboards/rgbkb/pan/keymaps/default_eee/rules.mk b/keyboards/rgbkb/pan/keymaps/default_eee/rules.mk new file mode 100644 index 0000000000..c4f4ee04da --- /dev/null +++ b/keyboards/rgbkb/pan/keymaps/default_eee/rules.mk @@ -0,0 +1,3 @@ +# RGB layout selection +RGB_ENCODERS = yes # For RGB encoders, solder on both WS2811 chips +STAGGERED_LAYOUT = no # If you soldered R1-A12 and R4-A12, enable this. diff --git a/keyboards/rgbkb/pan/keymaps/default_sss/keymap.c b/keyboards/rgbkb/pan/keymaps/default_sss/keymap.c new file mode 100644 index 0000000000..b0b8bd1898 --- /dev/null +++ b/keyboards/rgbkb/pan/keymaps/default_sss/keymap.c @@ -0,0 +1,116 @@ + /* Copyright 2020 RGBKB + * + * 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 . + */ +// 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. +#include QMK_KEYBOARD_H + +enum layer_number { + _QWERTY, + _COLEMAK, + _FN, + _ADJ +}; + +#define FN_ESC LT(_FN, KC_ESC) +#define FN_CAPS LT(_FN, KC_CAPS) +#define QWERTY DF(_QWERTY) +#define COLEMAK DF(_COLEMAK) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_sss( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_BSLS, + FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_BSLS, 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(_ADJ),KC_RCTL + ), + + [_COLEMAK] = LAYOUT_sss( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, + FN_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_ADJ),KC_RCTL + ), + + [_FN] = LAYOUT_sss( + 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_PGDN, KC_UP, KC_PGUP, _______, _______, _______, KC_PGDN, KC_UP, KC_PGUP, KC_PSCR, KC_HOME, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_END, + _______, _______, _______, _______, _______, _______, _______, KC_LBRC, _______, KC_RBRC, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJ] = LAYOUT_sss( + 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, + _______, RM_SATD, RM_VALU, RM_SATU, QK_BOOT, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, RM_HUED, RM_VALD, RM_HUEU, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, + _______, RM_SPDD, _______, RM_SPDU, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, + _______, _______, _______, _______, QWERTY, _______, COLEMAK + ) +}; + +#ifdef OLED_ENABLE +bool oled_task_user(void) { + // Host Keyboard Layer Status + oled_write_P(PSTR("RGBKB Pan\n"), false); + oled_write_P(PSTR("Layer: "), false); + uint8_t layer = get_highest_layer(layer_state|default_layer_state); + switch (layer) { + case _QWERTY: + oled_write_P(PSTR("Default\n"), false); + break; + case _COLEMAK: + oled_write_P(PSTR("Colemak\n"), false); + break; + case _FN: + oled_write_P(PSTR("Function\n"), false); + break; + case _ADJ: + oled_write_P(PSTR("Adjust\n"), false); + break; + default: + oled_write_P(PSTR("Undefined\n"), false); + // Or use the write_ln shortcut over adding '\n' to the end of your string + //oled_write_ln_P(PSTR("Undefined"), false); + } + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("Numlock On\n") : PSTR(" \n"), false); + oled_write_P(led_state.caps_lock ? PSTR("Capslock On \n") : PSTR(" \n"), false); + + return false; +} +#endif + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { // First encoder - right + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { // Second encoder - left + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/rgbkb/pan/keymaps/default_sss/keymap.json b/keyboards/rgbkb/pan/keymaps/default_sss/keymap.json deleted file mode 100644 index ab216429f0..0000000000 --- a/keyboards/rgbkb/pan/keymaps/default_sss/keymap.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "keyboard": "rgbkb/pan/rev1/32a", - "keymap": "default_sss", - "layout": "LAYOUT_sss", - "layers": [ - [ - "QK_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "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_BSLS", - "LT(2, KC_CAPS)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_ENT", - "KC_LSFT", "KC_BSLS", "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(3)", "KC_RCTL" - ], - [ - "QK_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_BSPC", "KC_DEL", - "KC_TAB", "KC_Q", "KC_W", "KC_F", "KC_P", "KC_G", "KC_J", "KC_L", "KC_U", "KC_Y", "KC_SCLN", "KC_BSLS", - "LT(2, KC_CAPS)", "KC_A", "KC_R", "KC_S", "KC_T", "KC_D", "KC_H", "KC_N", "KC_E", "KC_I", "KC_O", "KC_ENT", - "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", - "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(3)", "KC_RCTL" - ], - [ - "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_PGDN", "KC_UP", "KC_PGUP", "_______", "_______", "_______", "KC_PGDN", "KC_UP", "KC_PGUP", "KC_PSCR", "KC_HOME", - "_______", "KC_LEFT", "KC_DOWN", "KC_RGHT", "_______", "_______", "_______", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_INS", "KC_END", - "_______", "_______", "_______", "_______", "_______", "_______", "_______", "KC_LBRC", "_______", "KC_RBRC", "_______", "_______", "_______", - "_______", "_______", "_______", "_______", "_______", "_______", "_______" - ], - [ - "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", - "_______", "RM_SATD", "RM_VALU", "RM_SATU", "QK_BOOT", "_______", "_______", "KC_P7", "KC_P8", "KC_P9", "_______", "_______", - "_______", "RM_HUED", "RM_VALD", "RM_HUEU", "_______", "_______", "_______", "KC_P4", "KC_P5", "KC_P6", "_______", "_______", - "_______", "RM_SPDD", "_______", "RM_SPDU", "_______", "_______", "_______", "KC_P1", "KC_P2", "KC_P3", "_______", "_______", - "_______", "_______", "_______", "_______", "_______", "DF(0)", "_______", "DF(1)" - ] - ] -} diff --git a/keyboards/rgbkb/pan/keymaps/default_sss/rules.mk b/keyboards/rgbkb/pan/keymaps/default_sss/rules.mk new file mode 100644 index 0000000000..c4f4ee04da --- /dev/null +++ b/keyboards/rgbkb/pan/keymaps/default_sss/rules.mk @@ -0,0 +1,3 @@ +# RGB layout selection +RGB_ENCODERS = yes # For RGB encoders, solder on both WS2811 chips +STAGGERED_LAYOUT = no # If you soldered R1-A12 and R4-A12, enable this. diff --git a/keyboards/rgbkb/pan/pan.c b/keyboards/rgbkb/pan/pan.c index ce5c2ae249..20cc4dd248 100644 --- a/keyboards/rgbkb/pan/pan.c +++ b/keyboards/rgbkb/pan/pan.c @@ -1,15 +1,34 @@ -// Copyright 2020 RGBKB -// SPDX-License-Identifier: GPL-2.0-or-later +/* Copyright 2020 RGBKB + * + * 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" +#include "rgb_matrix_types.h" -#ifdef RGB_MATRIX_ENABLE -# include "ws2812.h" +#if defined RGB_MATRIX_ENABLE +# if defined(KEYBOARD_rgbkb_pan_rev1) +# include "ws2812.h" +// Set an led in the buffer to a color static inline void setled(int i, uint8_t r, uint8_t g, uint8_t b) { - if (i == 0 || i == 1) { // Encoder LEDs require GBR sequence +# if defined(RGB_ENCODERS) || defined(STAGGERED_RGB_ENCODERS) + if (i == 0 || i == 1) { // if encoder LEDs, change LEDs ws2812_set_color(i, g, b, r); - } else { + } else +# endif + { ws2812_set_color(i, r, g, b); } } @@ -20,35 +39,74 @@ const rgb_matrix_driver_t rgb_matrix_driver = { .set_color = setled, .set_color_all = ws2812_set_color_all, }; -#endif +# endif -#ifdef OLED_ENABLE -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - oled_write_P(PSTR("RGBKB Pan\n"), false); - oled_write_P(PSTR("Layer: "), false); - uint8_t layer = get_highest_layer(layer_state | default_layer_state); - switch (layer) { - case 0: - oled_write_P(PSTR("Default\n"), false); - break; - case 1: - oled_write_P(PSTR("Colemak\n"), false); - break; - case 2: - oled_write_P(PSTR("Function\n"), false); - break; - case 3: - oled_write_P(PSTR("Adjust\n"), false); - break; - default: - oled_write_P(PSTR("Undefined\n"), false); - } - led_t led_state = host_keyboard_led_state(); - oled_write_P(led_state.num_lock ? PSTR("Numlock On\n") : PSTR(" \n"), false); - oled_write_P(led_state.caps_lock ? PSTR("Capslock On \n") : PSTR(" \n"), false); - return false; -} +// clang-format off + led_config_t g_led_config = { { + { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, + { 0, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15 }, + { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 1 }, + { 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40 }, + { 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, NO_LED } + }, { +# ifdef STAGGERED_RGB_ENCODERS + {0, -19},{228, -19}, + {0, 0}, {14, 0}, {33, 0}, {52, 0}, {71, 0}, {90, 0}, {109, 0}, {128, 0}, {147, 0}, {166, 0}, {185, 0}, {204, 0}, {223, 0}, + {209, 19}, {190, 19}, {171, 19}, {152, 19}, {133, 19}, {114, 19}, {95, 19}, {76, 19}, {57, 19}, {38, 19}, {19, 19}, {0, 19}, + {0, 38}, {19, 38}, {38, 38}, {57, 38}, {76, 38}, {95, 38}, {114, 38}, {133, 38}, {152, 38}, {171, 38}, {190, 38}, {209, 38}, + {223, 57}, {204, 57}, {185, 57}, {171, 57}, {147, 57}, {128, 57}, {109, 57}, {90, 57}, {71, 57}, {52, 57}, {33, 57}, {14, 57}, {0, 57}, + {0, 76}, {19, 76}, {38, 76}, {57, 76}, {76, 76}, {95, 76}, {114, 76}, {133, 76}, {152, 76}, {171, 76}, {190, 76}, {209, 76}, +# elif defined RGB_ENCODERS + {0, -19},{228, -19}, + {0, 0}, {19, 0}, {38, 0}, {57, 0}, {76, 0}, {95, 0}, {114, 0}, {133, 0}, {152, 0}, {171, 0}, {190, 0}, {209, 0}, + {209, 19}, {190, 19}, {171, 19}, {152, 19}, {133, 19}, {114, 19}, {95, 19}, {76, 19}, {57, 19}, {38, 19}, {19, 19}, {0, 19}, + {0, 38}, {19, 38}, {38, 38}, {57, 38}, {76, 38}, {95, 38}, {114, 38}, {133, 38}, {152, 38}, {171, 38}, {190, 38}, {209, 38}, + {209, 57}, {190, 57}, {171, 57}, {152, 57}, {133, 57}, {114, 57}, {95, 57}, {76, 57}, {57, 57}, {38, 57}, {19, 57}, {0, 57}, + {0, 76}, {19, 76}, {38, 76}, {57, 76}, {76, 76}, {95, 76}, {114, 76}, {133, 76}, {152, 76}, {171, 76}, {190, 76}, {209, 76}, + {0, 95},{19, 95}, //not used +# elif defined STAGGERED_LAYOUT + {0, 0}, {19, 0}, {38, 0}, {57, 0}, {76, 0}, {95, 0}, {114, 0}, {133, 0}, {152, 0}, {171, 0}, {190, 0}, {209, 0}, {0, 0}, + {209, 19}, {190, 19}, {171, 19}, {152, 19}, {133, 19}, {114, 19}, {95, 19}, {76, 19}, {57, 19}, {38, 19}, {19, 19}, {0, 19}, + {0, 38}, {19, 38}, {38, 38}, {57, 38}, {76, 38}, {95, 38}, {114, 38}, {133, 38}, {152, 38}, {171, 38}, {190, 38}, {209, 38}, + {209, 57}, {190, 57}, {171, 57}, {152, 57}, {133, 57}, {114, 57}, {95, 57}, {76, 57}, {57, 57}, {38, 57}, {19, 57}, {0, 57}, {0, 0}, + {0, 76}, {19, 76}, {38, 76}, {57, 76}, {76, 76}, {95, 76}, {114, 76}, {133, 76}, {152, 76}, {171, 76}, {190, 76}, {209, 76}, + {0, 95},{19, 95},//not used +# else + {0, 0}, {19, 0}, {38, 0}, {57, 0}, {76, 0}, {95, 0}, {114, 0}, {133, 0}, {152, 0}, {171, 0}, {190, 0}, {209, 0}, + {209, 19}, {190, 19}, {171, 19}, {152, 19}, {133, 19}, {114, 19}, {95, 19}, {76, 19}, {57, 19}, {38, 19}, {19, 19}, {0, 19}, + {0, 38}, {19, 38}, {38, 38}, {57, 38}, {76, 38}, {95, 38}, {114, 38}, {133, 38}, {152, 38}, {171, 38}, {190, 38}, {209, 38}, + {209, 57}, {190, 57}, {171, 57}, {152, 57}, {133, 57}, {114, 57}, {95, 57}, {76, 57}, {57, 57}, {38, 57}, {19, 57}, {0, 57}, + {0, 76}, {19, 76}, {38, 76}, {57, 76}, {76, 76}, {95, 76}, {114, 76}, {133, 76}, {152, 76}, {171, 76}, {190, 76}, {209, 76}, + {0, 0},{0, 0}, {0, 0},{0, 0},//not used +# endif + }, { +# ifdef STAGGERED_RGB_ENCODERS + 1, 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, 1, + 1, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +# elif defined RGB_ENCODERS + 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +# elif defined STAGGERED_LAYOUT + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +# else + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +# endif + } }; +// clang-format on #endif diff --git a/keyboards/rgbkb/pan/post_rules.mk b/keyboards/rgbkb/pan/post_rules.mk new file mode 100644 index 0000000000..afa3b555b2 --- /dev/null +++ b/keyboards/rgbkb/pan/post_rules.mk @@ -0,0 +1,28 @@ +RGB_MATRIX_KEYPRESSES ?= no # Enable reactive per-key effects. +RGB_MATRIX_FRAMEBUFFER_EFFECTS ?= no # Enable frame buffer effects like the typing heatmap. + +# RGB layout selection +STAGGERED_LAYOUT ?= no # If you soldered R1-A12 and R4-A12, enable this. +RGB_ENCODERS ?= yes # For RGB encoders, solder on both WS2811 chips + +ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes) + OPT_DEFS += -DRGB_MATRIX_KEYPRESSES +endif + +ifeq ($(strip $(RGB_MATRIX_FRAMEBUFFER)), yes) + OPT_DEFS += -DRGB_MATRIX_FRAMEBUFFER_EFFECTS +endif + +ifeq ($(strip $(STAGGERED_LAYOUT)), yes) + OPT_DEFS += -DSTAGGERED_LAYOUT +endif + +ifeq ($(strip $(RGB_ENCODERS)), yes) + OPT_DEFS += -DRGB_ENCODERS +endif + +ifeq ($(strip $(RGB_ENCODERS)), yes) + ifeq ($(strip $(STAGGERED_LAYOUT)), yes) + OPT_DEFS += -DSTAGGERED_RGB_ENCODERS=$(strip $(STAGGERED_RGB_ENCODERS)) + endif +endif diff --git a/keyboards/rgbkb/sol/keymaps/default/keymap.c b/keyboards/rgbkb/sol/keymaps/default/keymap.c index e4b573e4fc..54dab63736 100644 --- a/keyboards/rgbkb/sol/keymaps/default/keymap.c +++ b/keyboards/rgbkb/sol/keymaps/default/keymap.c @@ -129,6 +129,61 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; +// For RGBRST Keycode +#if defined(RGB_MATRIX_ENABLE) +void rgb_matrix_increase_flags(void) +{ + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case LED_FLAG_UNDERGLOW: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_disable_noeeprom(); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } +} + +void rgb_matrix_decrease_flags(void) +{ + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_disable_noeeprom(); + } + break; + case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case LED_FLAG_UNDERGLOW: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_enable_noeeprom(); + } + break; + } +} +#endif + #ifdef RGB_OLED_MENU uint8_t rgb_encoder_state = 4; @@ -140,7 +195,7 @@ const rgb_matrix_f rgb_matrix_functions[6][2] = { { rgb_matrix_increase_val, rgb_matrix_decrease_val }, { rgb_matrix_increase_speed, rgb_matrix_decrease_speed }, { rgb_matrix_step, rgb_matrix_step_reverse }, - { rgb_matrix_flags_step, rgb_matrix_flags_step_reverse } + { rgb_matrix_increase_flags, rgb_matrix_decrease_flags } }; #endif @@ -217,6 +272,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } return false; +#if defined(RGB_MATRIX_ENABLE) && defined(KEYBOARD_rgbkb_sol_rev2) + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + rgb_matrix_increase_flags(); + } + return false; +#endif case RGB_MENU: #ifdef RGB_OLED_MENU if (record->event.pressed) { diff --git a/keyboards/rgbkb/sol/rev1/keyboard.json b/keyboards/rgbkb/sol/rev1/keyboard.json index 6bb41e1c37..9a4c538e55 100644 --- a/keyboards/rgbkb/sol/rev1/keyboard.json +++ b/keyboards/rgbkb/sol/rev1/keyboard.json @@ -63,79 +63,7 @@ "solid_multisplash": true }, "center_point": [112, 35], - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 21, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 38, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 56, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 73, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 91, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 112, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 18, "flags": 1}, - {"matrix": [1, 1], "x": 21, "y": 18, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 18, "flags": 4}, - {"matrix": [1, 3], "x": 56, "y": 18, "flags": 4}, - {"matrix": [1, 4], "x": 73, "y": 18, "flags": 4}, - {"matrix": [1, 5], "x": 91, "y": 18, "flags": 4}, - {"matrix": [1, 6], "x": 108, "y": 13, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 35, "flags": 1}, - {"matrix": [2, 1], "x": 21, "y": 35, "flags": 4}, - {"matrix": [2, 2], "x": 38, "y": 35, "flags": 4}, - {"matrix": [2, 3], "x": 56, "y": 35, "flags": 4}, - {"matrix": [2, 4], "x": 73, "y": 35, "flags": 4}, - {"matrix": [2, 5], "x": 91, "y": 35, "flags": 4}, - {"matrix": [2, 6], "x": 108, "y": 31, "flags": 1}, - {"matrix": [3, 0], "x": 0, "y": 52, "flags": 1}, - {"matrix": [3, 1], "x": 21, "y": 52, "flags": 4}, - {"matrix": [3, 2], "x": 38, "y": 52, "flags": 4}, - {"matrix": [3, 3], "x": 56, "y": 52, "flags": 4}, - {"matrix": [3, 4], "x": 73, "y": 52, "flags": 4}, - {"matrix": [3, 5], "x": 91, "y": 52, "flags": 4}, - {"matrix": [3, 6], "x": 108, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 70, "flags": 1}, - {"matrix": [4, 1], "x": 21, "y": 70, "flags": 1}, - {"matrix": [4, 2], "x": 38, "y": 70, "flags": 1}, - {"matrix": [4, 3], "x": 56, "y": 70, "flags": 1}, - {"matrix": [4, 4], "x": 73, "y": 70, "flags": 1}, - {"matrix": [5, 5], "x": 89, "y": 91, "flags": 1}, - {"matrix": [5, 6], "x": 101, "y": 103, "flags": 1}, - {"matrix": [6, 0], "x": 224, "y": 0, "flags": 1}, - {"matrix": [6, 1], "x": 203, "y": 0, "flags": 4}, - {"matrix": [6, 2], "x": 186, "y": 0, "flags": 4}, - {"matrix": [6, 3], "x": 168, "y": 0, "flags": 4}, - {"matrix": [6, 4], "x": 151, "y": 0, "flags": 4}, - {"matrix": [6, 5], "x": 133, "y": 0, "flags": 4}, - {"matrix": [6, 6], "x": 112, "y": 0, "flags": 1}, - {"matrix": [7, 0], "x": 224, "y": 18, "flags": 1}, - {"matrix": [7, 1], "x": 203, "y": 18, "flags": 4}, - {"matrix": [7, 2], "x": 186, "y": 18, "flags": 4}, - {"matrix": [7, 3], "x": 168, "y": 18, "flags": 4}, - {"matrix": [7, 4], "x": 151, "y": 18, "flags": 4}, - {"matrix": [7, 5], "x": 133, "y": 18, "flags": 4}, - {"matrix": [7, 6], "x": 116, "y": 13, "flags": 1}, - {"matrix": [8, 0], "x": 224, "y": 35, "flags": 1}, - {"matrix": [8, 1], "x": 203, "y": 35, "flags": 4}, - {"matrix": [8, 2], "x": 186, "y": 35, "flags": 4}, - {"matrix": [8, 3], "x": 168, "y": 35, "flags": 4}, - {"matrix": [8, 4], "x": 151, "y": 35, "flags": 4}, - {"matrix": [8, 5], "x": 133, "y": 35, "flags": 4}, - {"matrix": [8, 6], "x": 116, "y": 31, "flags": 1}, - {"matrix": [9, 0], "x": 224, "y": 52, "flags": 1}, - {"matrix": [9, 1], "x": 203, "y": 52, "flags": 4}, - {"matrix": [9, 2], "x": 186, "y": 52, "flags": 4}, - {"matrix": [9, 3], "x": 168, "y": 52, "flags": 4}, - {"matrix": [9, 4], "x": 151, "y": 52, "flags": 4}, - {"matrix": [9, 5], "x": 133, "y": 52, "flags": 4}, - {"matrix": [9, 6], "x": 116, "y": 48, "flags": 1}, - {"matrix": [10, 0], "x": 224, "y": 70, "flags": 1}, - {"matrix": [10, 1], "x": 203, "y": 70, "flags": 1}, - {"matrix": [10, 2], "x": 186, "y": 70, "flags": 1}, - {"matrix": [10, 3], "x": 168, "y": 70, "flags": 1}, - {"matrix": [10, 4], "x": 151, "y": 70, "flags": 1}, - {"matrix": [11, 6], "x": 135, "y": 91, "flags": 1}, - {"x": 123, "y": 103, "flags": 1} - ] + "driver": "ws2812" }, "rgblight": { "animations": { diff --git a/keyboards/rgbkb/sol/rev1/rev1.c b/keyboards/rgbkb/sol/rev1/rev1.c new file mode 100644 index 0000000000..f5997bac00 --- /dev/null +++ b/keyboards/rgbkb/sol/rev1/rev1.c @@ -0,0 +1,46 @@ +#include "sol.h" + +#ifdef RGB_MATRIX_ENABLE +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 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 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, 68 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 68, 68 } +}, { + // Left Hand Mapped Left to Right + { 0, 0 }, { 21, 0 }, { 38, 0 }, { 56, 0 }, { 73, 0 }, { 91, 0 }, { 112, 0 }, + { 0, 18 }, { 21, 18 }, { 38, 18 }, { 56, 18 }, { 73, 18 }, { 91, 18 }, { 108, 13 }, + { 0, 35 }, { 21, 35 }, { 38, 35 }, { 56, 35 }, { 73, 35 }, { 91, 35 }, { 108, 31 }, + { 0, 52 }, { 21, 52 }, { 38, 52 }, { 56, 52 }, { 73, 52 }, { 91, 52 }, { 108, 48 }, + { 0, 70 }, { 21, 70 }, { 38, 70 }, { 56, 70 }, { 73, 70 }, { 89, 91 }, { 101, 103 }, + // Left Hand Mapped Right to Left + { 224, 0 }, { 203, 0 }, { 186, 0 }, { 168, 0 }, { 151, 0 }, { 133, 0 }, { 112, 0 }, + { 224, 18 }, { 203, 18 }, { 186, 18 }, { 168, 18 }, { 151, 18 }, { 133, 18 }, { 116, 13 }, + { 224, 35 }, { 203, 35 }, { 186, 35 }, { 168, 35 }, { 151, 35 }, { 133, 35 }, { 116, 31 }, + { 224, 52 }, { 203, 52 }, { 186, 52 }, { 168, 52 }, { 151, 52 }, { 133, 52 }, { 116, 48 }, + { 224, 70 }, { 203, 70 }, { 186, 70 }, { 168, 70 }, { 151, 70 }, { 135, 91 }, { 123, 103 }, +}, { + // Left Hand Mapped Left to Right + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, + // Left Hand Mapped Right to Left + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1 +} }; + +#endif + diff --git a/keyboards/rgbkb/sol3/rev1/keyboard.json b/keyboards/rgbkb/sol3/rev1/keyboard.json index f7780ae37a..dc9e6d4035 100644 --- a/keyboards/rgbkb/sol3/rev1/keyboard.json +++ b/keyboards/rgbkb/sol3/rev1/keyboard.json @@ -96,164 +96,6 @@ }, "center_point": [81, 28], "driver": "ws2812", - "layout": [ - {"x": 1, "y": 6, "flags": 2}, - {"x": 1, "y": 13, "flags": 2}, - {"x": 1, "y": 19, "flags": 2}, - {"x": 1, "y": 25, "flags": 2}, - {"x": 1, "y": 31, "flags": 2}, - {"x": 1, "y": 37, "flags": 2}, - {"x": 1, "y": 43, "flags": 2}, - {"x": 1, "y": 49, "flags": 2}, - {"x": 4, "y": 52, "flags": 2}, - {"x": 11, "y": 52, "flags": 2}, - {"x": 17, "y": 52, "flags": 2}, - {"x": 23, "y": 52, "flags": 2}, - {"x": 29, "y": 52, "flags": 2}, - {"x": 35, "y": 52, "flags": 2}, - {"x": 41, "y": 54, "flags": 2}, - {"x": 46, "y": 57, "flags": 2}, - {"x": 52, "y": 60, "flags": 2}, - {"x": 57, "y": 63, "flags": 2}, - {"x": 62, "y": 66, "flags": 2}, - {"x": 68, "y": 69, "flags": 2}, - {"x": 73, "y": 67, "flags": 2}, - {"x": 76, "y": 62, "flags": 2}, - {"x": 79, "y": 57, "flags": 2}, - {"x": 78, "y": 51, "flags": 2}, - {"x": 77, "y": 45, "flags": 2}, - {"x": 76, "y": 39, "flags": 2}, - {"x": 76, "y": 33, "flags": 2}, - {"x": 76, "y": 27, "flags": 2}, - {"x": 76, "y": 21, "flags": 2}, - {"x": 76, "y": 14, "flags": 2}, - {"x": 76, "y": 8, "flags": 2}, - {"x": 72, "y": 3, "flags": 2}, - {"x": 59, "y": 3, "flags": 2}, - {"x": 53, "y": 3, "flags": 2}, - {"x": 46, "y": 3, "flags": 2}, - {"x": 40, "y": 3, "flags": 2}, - {"x": 34, "y": 3, "flags": 2}, - {"x": 28, "y": 3, "flags": 2}, - {"x": 22, "y": 3, "flags": 2}, - {"x": 10, "y": 3, "flags": 2}, - {"x": 3, "y": 3, "flags": 2}, - {"matrix": [0, 0], "x": 9, "y": 6, "flags": 1}, - {"matrix": [0, 1], "x": 21, "y": 6, "flags": 4}, - {"matrix": [0, 2], "x": 30, "y": 6, "flags": 4}, - {"matrix": [0, 3], "x": 40, "y": 6, "flags": 4}, - {"matrix": [0, 4], "x": 49, "y": 6, "flags": 4}, - {"matrix": [0, 5], "x": 59, "y": 6, "flags": 4}, - {"matrix": [0, 6], "x": 71, "y": 6, "flags": 1}, - {"matrix": [1, 6], "x": 71, "y": 16, "flags": 1}, - {"matrix": [1, 5], "x": 59, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 49, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 40, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 30, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 21, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 9, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 9, "y": 25, "flags": 1}, - {"matrix": [2, 1], "x": 21, "y": 25, "flags": 4}, - {"matrix": [2, 2], "x": 30, "y": 25, "flags": 4}, - {"matrix": [2, 3], "x": 40, "y": 25, "flags": 4}, - {"matrix": [2, 4], "x": 49, "y": 25, "flags": 4}, - {"matrix": [2, 5], "x": 59, "y": 25, "flags": 4}, - {"matrix": [2, 6], "x": 71, "y": 25, "flags": 1}, - {"matrix": [3, 6], "x": 71, "y": 35, "flags": 1}, - {"matrix": [3, 5], "x": 59, "y": 35, "flags": 4}, - {"matrix": [3, 4], "x": 49, "y": 35, "flags": 4}, - {"matrix": [3, 3], "x": 40, "y": 35, "flags": 4}, - {"matrix": [3, 2], "x": 30, "y": 35, "flags": 4}, - {"matrix": [3, 1], "x": 21, "y": 35, "flags": 4}, - {"matrix": [3, 0], "x": 9, "y": 35, "flags": 1}, - {"matrix": [4, 0], "x": 9, "y": 44, "flags": 1}, - {"matrix": [4, 1], "x": 21, "y": 44, "flags": 1}, - {"matrix": [4, 2], "x": 30, "y": 44, "flags": 1}, - {"matrix": [4, 3], "x": 40, "y": 44, "flags": 1}, - {"matrix": [4, 4], "x": 49, "y": 44, "flags": 1}, - {"matrix": [4, 5], "x": 66, "y": 50, "flags": 1}, - {"matrix": [4, 6], "x": 75, "y": 54, "flags": 1}, - {"matrix": [4, 7], "x": 70, "y": 62, "flags": 1}, - {"x": 60, "y": 60, "flags": 1}, - {"x": 160, "y": 6, "flags": 2}, - {"x": 160, "y": 13, "flags": 2}, - {"x": 160, "y": 19, "flags": 2}, - {"x": 160, "y": 25, "flags": 2}, - {"x": 160, "y": 31, "flags": 2}, - {"x": 160, "y": 37, "flags": 2}, - {"x": 160, "y": 43, "flags": 2}, - {"x": 160, "y": 49, "flags": 2}, - {"x": 157, "y": 52, "flags": 2}, - {"x": 151, "y": 52, "flags": 2}, - {"x": 145, "y": 52, "flags": 2}, - {"x": 138, "y": 52, "flags": 2}, - {"x": 132, "y": 52, "flags": 2}, - {"x": 126, "y": 52, "flags": 2}, - {"x": 120, "y": 54, "flags": 2}, - {"x": 115, "y": 57, "flags": 2}, - {"x": 110, "y": 60, "flags": 2}, - {"x": 105, "y": 63, "flags": 2}, - {"x": 99, "y": 66, "flags": 2}, - {"x": 94, "y": 69, "flags": 2}, - {"x": 89, "y": 67, "flags": 2}, - {"x": 86, "y": 62, "flags": 2}, - {"x": 83, "y": 57, "flags": 2}, - {"x": 83, "y": 51, "flags": 2}, - {"x": 85, "y": 45, "flags": 2}, - {"x": 86, "y": 39, "flags": 2}, - {"x": 86, "y": 33, "flags": 2}, - {"x": 86, "y": 27, "flags": 2}, - {"x": 86, "y": 21, "flags": 2}, - {"x": 86, "y": 14, "flags": 2}, - {"x": 86, "y": 8, "flags": 2}, - {"x": 90, "y": 3, "flags": 2}, - {"x": 103, "y": 3, "flags": 2}, - {"x": 109, "y": 3, "flags": 2}, - {"x": 115, "y": 3, "flags": 2}, - {"x": 121, "y": 3, "flags": 2}, - {"x": 127, "y": 3, "flags": 2}, - {"x": 133, "y": 3, "flags": 2}, - {"x": 140, "y": 3, "flags": 2}, - {"x": 152, "y": 3, "flags": 2}, - {"x": 158, "y": 3, "flags": 2}, - {"matrix": [6, 0], "x": 153, "y": 6, "flags": 1}, - {"matrix": [6, 1], "x": 141, "y": 6, "flags": 4}, - {"matrix": [6, 2], "x": 131, "y": 6, "flags": 4}, - {"matrix": [6, 3], "x": 122, "y": 6, "flags": 4}, - {"matrix": [6, 4], "x": 112, "y": 6, "flags": 4}, - {"matrix": [6, 5], "x": 103, "y": 6, "flags": 4}, - {"matrix": [6, 6], "x": 91, "y": 6, "flags": 1}, - {"matrix": [7, 6], "x": 91, "y": 16, "flags": 1}, - {"matrix": [7, 5], "x": 103, "y": 16, "flags": 4}, - {"matrix": [7, 4], "x": 112, "y": 16, "flags": 4}, - {"matrix": [7, 3], "x": 122, "y": 16, "flags": 4}, - {"matrix": [7, 2], "x": 131, "y": 16, "flags": 4}, - {"matrix": [7, 1], "x": 141, "y": 16, "flags": 4}, - {"matrix": [7, 0], "x": 153, "y": 16, "flags": 1}, - {"matrix": [8, 0], "x": 153, "y": 25, "flags": 1}, - {"matrix": [8, 1], "x": 141, "y": 25, "flags": 4}, - {"matrix": [8, 2], "x": 131, "y": 25, "flags": 4}, - {"matrix": [8, 3], "x": 122, "y": 25, "flags": 4}, - {"matrix": [8, 4], "x": 112, "y": 25, "flags": 4}, - {"matrix": [8, 5], "x": 103, "y": 25, "flags": 4}, - {"matrix": [8, 6], "x": 91, "y": 25, "flags": 1}, - {"matrix": [9, 6], "x": 91, "y": 35, "flags": 1}, - {"matrix": [9, 5], "x": 103, "y": 35, "flags": 4}, - {"matrix": [9, 4], "x": 112, "y": 35, "flags": 4}, - {"matrix": [9, 3], "x": 122, "y": 35, "flags": 4}, - {"matrix": [9, 2], "x": 131, "y": 35, "flags": 4}, - {"matrix": [9, 1], "x": 141, "y": 35, "flags": 4}, - {"matrix": [9, 0], "x": 153, "y": 35, "flags": 1}, - {"matrix": [10, 0], "x": 153, "y": 44, "flags": 1}, - {"matrix": [10, 1], "x": 141, "y": 44, "flags": 1}, - {"matrix": [10, 2], "x": 131, "y": 44, "flags": 1}, - {"matrix": [10, 3], "x": 122, "y": 44, "flags": 1}, - {"matrix": [10, 4], "x": 112, "y": 44, "flags": 1}, - {"matrix": [10, 5], "x": 96, "y": 50, "flags": 1}, - {"matrix": [10, 6], "x": 87, "y": 54, "flags": 1}, - {"matrix": [10, 7], "x": 92, "y": 62, "flags": 1}, - {"x": 102, "y": 60, "flags": 1} - ], "led_flush_limit": 33, "led_process_limit": 10, "sleep": true, diff --git a/keyboards/rgbkb/sol3/rev1/rev1.c b/keyboards/rgbkb/sol3/rev1/rev1.c index 1f1149e1ba..086ce0af01 100644 --- a/keyboards/rgbkb/sol3/rev1/rev1.c +++ b/keyboards/rgbkb/sol3/rev1/rev1.c @@ -43,7 +43,7 @@ bool dip_switch_update_kb(uint8_t index, bool active) { } case 1: { // Handle RGB Encoder switch press - action_exec(MAKE_KEYEVENT(is_keyboard_left() ? 4 : 10, 6, active)); + action_exec(MAKE_KEYEVENT(isLeftHand ? 4 : 10, 6, active)); break; } } @@ -80,6 +80,92 @@ void matrix_slave_scan_kb(void) { matrix_slave_scan_user(); } +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { { + { 41, 42, 43, 44, 45, 46, 47, NO_LED }, + { 54, 53, 52, 51, 50, 49, 48, NO_LED }, + { 55, 56, 57, 58, 59, 60, 61, NO_LED }, + { 68, 67, 66, 65, 64, 63, 62, NO_LED }, + { 69, 70, 71, 72, 73, 74, 75, 76 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { 119, 120, 121, 122, 123, 124, 125, NO_LED }, + { 132, 131, 130, 129, 128, 127, 126, NO_LED }, + { 133, 134, 135, 136, 137, 138, 139, NO_LED }, + { 146, 145, 144, 143, 142, 141, 140, NO_LED }, + { 147, 148, 149, 150, 151, 152, 153, 154 }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } +}, { // ALL XY VALUES DIVIDE BY 2, THEN ADD 5 + { 1, 6 }, { 1, 13 }, { 1, 19 }, { 1, 25 }, { 1, 31 }, { 1, 37 }, { 1, 43 }, { 1, 49 }, { 4, 52 }, { 11, 52 }, + { 17, 52 }, { 23, 52 }, { 29, 52 }, { 35, 52 }, { 41, 54 }, { 46, 57 }, { 52, 60 }, { 57, 63 }, { 62, 66 }, { 68, 69 }, + { 73, 67 }, { 76, 62 }, { 79, 57 }, { 78, 51 }, { 77, 45 }, { 76, 39 }, { 76, 33 }, { 76, 27 }, { 76, 21 }, { 76, 14 }, + { 76, 8 }, { 72, 3 }, { 59, 3 }, { 53, 3 }, { 46, 3 }, { 40, 3 }, { 34, 3 }, { 28, 3 }, { 22, 3 }, { 10, 3 }, { 3, 3 }, + { 9, 6 }, { 21, 6 }, { 30, 6 }, { 40, 6 }, { 49, 6 }, { 59, 6 }, { 71, 6 }, + { 71, 16 }, { 59, 16 }, { 49, 16 }, { 40, 16 }, { 30, 16 }, { 21, 16 }, { 9, 16 }, + { 9, 25 }, { 21, 25 }, { 30, 25 }, { 40, 25 }, { 49, 25 }, { 59, 25 }, { 71, 25 }, + { 71, 35 }, { 59, 35 }, { 49, 35 }, { 40, 35 }, { 30, 35 }, { 21, 35 }, { 9, 35 }, + { 9, 44 }, { 21, 44 }, { 30, 44 }, { 40, 44 }, { 49, 44 }, { 66, 50 }, { 75, 54 }, { 70, 62 }, { 60, 60 }, + + { 160, 6 }, { 160, 13 }, { 160, 19 }, { 160, 25 }, { 160, 31 }, { 160, 37 }, { 160, 43 }, { 160, 49 }, { 157, 52 }, { 151, 52 }, + { 145, 52 }, { 138, 52 }, { 132, 52 }, { 126, 52 }, { 120, 54 }, { 115, 57 }, { 110, 60 }, { 105, 63 }, { 99, 66 }, { 94, 69 }, + { 89, 67 }, { 86, 62 }, { 83, 57 }, { 83, 51 }, { 85, 45 }, { 86, 39 }, { 86, 33 }, { 86, 27 }, { 86, 21 }, { 86, 14 }, + { 86, 8 }, { 90, 3 }, { 103, 3 }, { 109, 3 }, { 115, 3 }, { 121, 3 }, { 127, 3 }, { 133, 3 }, { 140, 3 }, { 152, 3 }, { 158, 3 }, + { 153, 6 }, { 141, 6 }, { 131, 6 }, { 122, 6 }, { 112, 6 }, { 103, 6 }, { 91, 6 }, + { 91, 16 }, { 103, 16 }, { 112, 16 }, { 122, 16 }, { 131, 16 }, { 141, 16 }, { 153, 16 }, + { 153, 25 }, { 141, 25 }, { 131, 25 }, { 122, 25 }, { 112, 25 }, { 103, 25 }, { 91, 25 }, + { 91, 35 }, { 103, 35 }, { 112, 35 }, { 122, 35 }, { 131, 35 }, { 141, 35 }, { 153, 35 }, + { 153, 44 }, { 141, 44 }, { 131, 44 }, { 122, 44 }, { 112, 44 }, { 96, 50 }, { 87, 54 }, { 92, 62 }, { 102, 60 }, +}, { + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1 +} }; +// clang-format on + +void rgb_matrix_increase_flags(void) +{ + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case LED_FLAG_UNDERGLOW: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_disable_noeeprom(); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } +} +#endif + + __attribute__((weak)) void render_layer_status(void) { // Keymap specific, expected to be overridden @@ -156,6 +242,22 @@ bool oled_task_kb(void) { return false; } +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) + return false; + + switch(keycode) { +#ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + rgb_matrix_increase_flags(); + } + return false; +#endif + } + return true; +}; + void keyboard_post_init_kb(void) { touch_encoder_init(); transaction_register_rpc(TOUCH_ENCODER_SYNC, touch_encoder_slave_sync); diff --git a/keyboards/rgbkb/sol3/rev1/rev1.h b/keyboards/rgbkb/sol3/rev1/rev1.h index 1a2d2a0e1a..6f08563e79 100644 --- a/keyboards/rgbkb/sol3/rev1/rev1.h +++ b/keyboards/rgbkb/sol3/rev1/rev1.h @@ -18,3 +18,8 @@ void render_layer_status(void); void render_leds_status(void); void render_touch_status(void); void render_audio_status(void); + +#ifdef RGB_MATRIX_ENABLE +// utility function to cycle active led zones +void rgb_matrix_increase_flags(void); +#endif \ No newline at end of file diff --git a/keyboards/rgbkb/zygomorph/common/glcdfont.c b/keyboards/rgbkb/zygomorph/common/glcdfont.c new file mode 100644 index 0000000000..697d58886e --- /dev/null +++ b/keyboards/rgbkb/zygomorph/common/glcdfont.c @@ -0,0 +1,233 @@ +// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. +// See gfxfont.h for newer custom bitmap font info. + +#include "progmem.h" + +// Standard ASCII 5x7 font + +static const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, + 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, + 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, + 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, + 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, + 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, + 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, + 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, + 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, + 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, + 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, + 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, + 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, + 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, + 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, + 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, + 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, + 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, + 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, + 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, + 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, + 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00, + 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, + 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x03, 0x07, 0x1F, 0x7F, 0xFF, 0xFF, + 0xFE, 0xF8, 0xF0, 0xC0, 0x20, 0xF8, + 0xFE, 0xFF, 0xFE, 0x79, 0x27, 0x1F, + 0x7F, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0, + 0xC0, 0x20, 0xF8, 0xFE, 0xFF, 0xFF, + 0x7F, 0x3F, 0x3F, 0x7F, 0xFF, 0xFE, + 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, + 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xE0, + 0xE0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, + 0xF8, 0x78, 0x78, 0x7C, 0x3C, 0x3C, + 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, + 0xBF, 0xBF, 0xDF, 0xDF, 0xEF, 0xEF, + 0x00, 0x03, 0x07, 0x1F, 0x7F, 0xFF, + 0xFF, 0xFF, 0xFE, 0xF8, 0xE0, 0xC0, + 0xE0, 0xF8, 0xFE, 0xFF, 0xFF, 0xFF, + 0x7F, 0x1F, 0x07, 0x03, 0x00, 0x00, + 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, + 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, + 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, + 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, + 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, + 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, + 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, + 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xC1, 0xF3, + 0xCF, 0xBF, 0x7F, 0xFF, 0xFF, 0xFC, + 0xFB, 0xE7, 0x81, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xE3, 0xCF, 0x3F, 0xFF, + 0xFF, 0xFF, 0xFC, 0xFB, 0xE7, 0x81, + 0x00, 0x00, 0x00, 0x00, 0x81, 0xE7, + 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF8, 0xF8, 0xFC, 0x7C, 0x7E, + 0x7E, 0x3E, 0xFE, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF7, 0xF7, 0xF7, 0xFB, + 0xFB, 0x7D, 0x7D, 0x7D, 0xBE, 0xBE, + 0xBE, 0xDF, 0xDF, 0xE0, 0xE0, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0xFC, 0xFC, 0x7C, 0x7E, 0x7E, + 0x3E, 0x3E, 0x1F, 0x1F, 0x1F, 0x0F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, + 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x81, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, + 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, + 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, + 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, + 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, + 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, + 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x70, 0x7C, 0x7F, 0x7F, 0x7F, + 0x7F, 0x1F, 0x06, 0x01, 0x03, 0x0F, + 0x3F, 0x7F, 0x7F, 0x7E, 0x7C, 0x7C, + 0x7E, 0x7F, 0x7F, 0x7F, 0x1F, 0x06, + 0x01, 0x07, 0x0F, 0x3F, 0x7F, 0x7F, + 0x7E, 0x7C, 0x7C, 0x7E, 0x7F, 0x7F, + 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x7F, 0x7D, 0x7D, 0x3D, 0x3E, + 0x1E, 0x1F, 0x1F, 0x1F, 0x0F, 0x0F, + 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, + 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, + 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, + 0x00, 0x40, 0x70, 0x78, 0x7E, 0x7F, + 0x7F, 0x7F, 0x3F, 0x0F, 0x03, 0x01, + 0x03, 0x0F, 0x3F, 0x7F, 0x7F, 0x7F, + 0x7E, 0x78, 0x70, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; diff --git a/keyboards/ristretto/readme.md b/keyboards/ristretto/readme.md index 05bcf80076..d047e70994 100644 --- a/keyboards/ristretto/readme.md +++ b/keyboards/ristretto/readme.md @@ -15,4 +15,4 @@ Make example for this keyboard (after setting up your build envionment): make ristretto: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/rmi_kb/tkl_ff/keymaps/default/keymap.c b/keyboards/rmi_kb/tkl_ff/keymaps/default/keymap.c index 65c5560556..d49d9d0b77 100644 --- a/keyboards/rmi_kb/tkl_ff/keymaps/default/keymap.c +++ b/keyboards/rmi_kb/tkl_ff/keymaps/default/keymap.c @@ -42,19 +42,25 @@ const rgblight_segment_t PROGMEM ll_sl[] = RGBLIGHT_LAYER_SEGMENTS( const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(ll_none, ll_cl, ll_sl); -void keyboard_post_init_user(void) { +void keyboard_post_init_kb(void) { rgblight_layers = rgb_layers; + + keyboard_post_init_user(); } -bool led_update_user(led_t led_state) { - uint8_t lock_bits = led_state.scroll_lock << 1 | led_state.caps_lock; - for (uint8_t i=0; i<3; i++) { - rgblight_set_layer_state(i, false); - } - if (lock_bits < 3) { - rgblight_set_layer_state(lock_bits, true); +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + + if (res) { + uint8_t lock_bits = led_state.scroll_lock << 1 | led_state.caps_lock; + for (uint8_t i=0; i<3; i++) { + rgblight_set_layer_state(i, false); + } + if (lock_bits < 3) { + rgblight_set_layer_state(lock_bits, true); + } } - return false; + return res; } #endif diff --git a/keyboards/rmi_kb/tkl_ff/keymaps/iso/keymap.c b/keyboards/rmi_kb/tkl_ff/keymaps/iso/keymap.c index 4414fa2832..90319d52e6 100644 --- a/keyboards/rmi_kb/tkl_ff/keymaps/iso/keymap.c +++ b/keyboards/rmi_kb/tkl_ff/keymaps/iso/keymap.c @@ -42,19 +42,25 @@ const rgblight_segment_t PROGMEM ll_sl[] = RGBLIGHT_LAYER_SEGMENTS( const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(ll_none, ll_cl, ll_sl); -void keyboard_post_init_user(void) { +void keyboard_post_init_kb(void) { rgblight_layers = rgb_layers; + + keyboard_post_init_user(); } -bool led_update_user(led_t led_state) { - uint8_t lock_bits = led_state.scroll_lock << 1 | led_state.caps_lock; - for (uint8_t i=0; i<3; i++) { - rgblight_set_layer_state(i, false); - } - if (lock_bits < 3) { - rgblight_set_layer_state(lock_bits, true); +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + + if (res) { + uint8_t lock_bits = led_state.scroll_lock << 1 | led_state.caps_lock; + for (uint8_t i=0; i<3; i++) { + rgblight_set_layer_state(i, false); + } + if (lock_bits < 3) { + rgblight_set_layer_state(lock_bits, true); + } } - return false; + return res; } #endif diff --git a/keyboards/rmi_kb/wete/v2/keymaps/default/keymap.c b/keyboards/rmi_kb/wete/v2/keymaps/default/keymap.c index 067a278381..3916d18366 100644 --- a/keyboards/rmi_kb/wete/v2/keymaps/default/keymap.c +++ b/keyboards/rmi_kb/wete/v2/keymaps/default/keymap.c @@ -73,19 +73,25 @@ const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST( ll_slcl ); -void keyboard_post_init_user(void) { +void keyboard_post_init_kb(void) { rgblight_layers = rgb_layers; + + keyboard_post_init_user(); } -bool led_update_user (led_t led_state) { - uint8_t lock_bits = led_state.scroll_lock << 2 | led_state.caps_lock << 1 | led_state.num_lock; - for (uint8_t i=0; i<7; i++) { - rgblight_set_layer_state(i, false); - } - if (lock_bits < 7) { - rgblight_set_layer_state(lock_bits, true); +bool led_update_kb (led_t led_state) { + bool res = led_update_user(led_state); + + if (res) { + uint8_t lock_bits = led_state.scroll_lock << 2 | led_state.caps_lock << 1 | led_state.num_lock; + for (uint8_t i=0; i<7; i++) { + rgblight_set_layer_state(i, false); + } + if (lock_bits < 7) { + rgblight_set_layer_state(lock_bits, true); + } } - return false; + return res; } #endif diff --git a/keyboards/rmi_kb/wete/v2/keymaps/iso/keymap.c b/keyboards/rmi_kb/wete/v2/keymaps/iso/keymap.c index 66e8f7e8da..12933c4b57 100644 --- a/keyboards/rmi_kb/wete/v2/keymaps/iso/keymap.c +++ b/keyboards/rmi_kb/wete/v2/keymaps/iso/keymap.c @@ -73,19 +73,25 @@ const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST( ll_slcl ); -void keyboard_post_init_user(void) { +void keyboard_post_init_kb(void) { rgblight_layers = rgb_layers; + + keyboard_post_init_user(); } -bool led_update_user (led_t led_state) { - uint8_t lock_bits = led_state.scroll_lock << 2 | led_state.caps_lock << 1 | led_state.num_lock; - for (uint8_t i=0; i<7; i++) { - rgblight_set_layer_state(i, false); - } - if (lock_bits < 7) { - rgblight_set_layer_state(lock_bits, true); +bool led_update_kb (led_t led_state) { + bool res = led_update_user(led_state); + + if (res) { + uint8_t lock_bits = led_state.scroll_lock << 2 | led_state.caps_lock << 1 | led_state.num_lock; + for (uint8_t i=0; i<7; i++) { + rgblight_set_layer_state(i, false); + } + if (lock_bits < 7) { + rgblight_set_layer_state(lock_bits, true); + } } - return false; + return res; } #endif diff --git a/keyboards/rominronin/katana60/rev1/keymaps/default/readme.md b/keyboards/rominronin/katana60/rev1/keymaps/default/readme.md index 5eff19a448..a75a385869 100644 --- a/keyboards/rominronin/katana60/rev1/keymaps/default/readme.md +++ b/keyboards/rominronin/katana60/rev1/keymaps/default/readme.md @@ -4,4 +4,4 @@ This layout takes my own personal layout (in development at the Colemak forum) a The testing was comducted on my Windows gaming PC, though it was not exhaustive, all the many layers and useful navigation shortcuts worked fine. # TODO: references to extend layer and symbol layers -# TODO: more information +# TODO: more information \ No newline at end of file diff --git a/keyboards/rose75/keyboard.json b/keyboards/rose75/keyboard.json index 43f01362f5..09d0b7af19 100644 --- a/keyboards/rose75/keyboard.json +++ b/keyboards/rose75/keyboard.json @@ -127,4 +127,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/rot13labs/h4ckb0ard/keymaps/default/keymap.c b/keyboards/rot13labs/h4ckb0ard/keymaps/default/keymap.c index 95da758683..45f7117989 100755 --- a/keyboards/rot13labs/h4ckb0ard/keymaps/default/keymap.c +++ b/keyboards/rot13labs/h4ckb0ard/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_A, RGB_M_P, KC_D, KC_F, KC_G, KC_H, RM_SATD, RM_SATU, RM_TOGG, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, RGB_M_B, KC_N, KC_M, KC_RCTL, RM_VALU, DF(0), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, _______, RM_HUED, RM_VALD, RM_HUEU), -}; +}; \ No newline at end of file diff --git a/keyboards/rot13labs/hackboard/readme.md b/keyboards/rot13labs/hackboard/readme.md index da76458698..c14b742326 100644 --- a/keyboards/rot13labs/hackboard/readme.md +++ b/keyboards/rot13labs/hackboard/readme.md @@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to You can enter the bootloader to flash on new firmware in one of two ways: * **Bootmagic**: Hold the ESC key (top left key) and hit reset -* **Boot button**: Hold the boot button on the top of the PCB and hit reset +* **Boot button**: Hold the boot button on the top of the PCB and hit reset \ No newline at end of file diff --git a/keyboards/rot13labs/rotc0n/keyboard.json b/keyboards/rot13labs/rotc0n/keyboard.json index fb17a73a7b..fa5ac19edb 100644 --- a/keyboards/rot13labs/rotc0n/keyboard.json +++ b/keyboards/rot13labs/rotc0n/keyboard.json @@ -33,4 +33,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/rot13labs/veilid_sao/keymaps/default/keymap.c b/keyboards/rot13labs/veilid_sao/keymaps/default/keymap.c index 4d4489202b..e8afbe3224 100755 --- a/keyboards/rot13labs/veilid_sao/keymaps/default/keymap.c +++ b/keyboards/rot13labs/veilid_sao/keymaps/default/keymap.c @@ -29,4 +29,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { 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/rotor/keymaps/default/rules.mk b/keyboards/rotor/keymaps/default/rules.mk index ae71c4baca..910bd64a59 100644 --- a/keyboards/rotor/keymaps/default/rules.mk +++ b/keyboards/rotor/keymaps/default/rules.mk @@ -1,2 +1,2 @@ CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no +COMMAND_ENABLE = no \ No newline at end of file diff --git a/keyboards/rotor/keymaps/default_all/rules.mk b/keyboards/rotor/keymaps/default_all/rules.mk index ae71c4baca..910bd64a59 100644 --- a/keyboards/rotor/keymaps/default_all/rules.mk +++ b/keyboards/rotor/keymaps/default_all/rules.mk @@ -1,2 +1,2 @@ CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no +COMMAND_ENABLE = no \ No newline at end of file diff --git a/keyboards/royal_kludge/rk61/config.h b/keyboards/royal_kludge/rk61/config.h deleted file mode 100644 index 22c9d1d3e9..0000000000 --- a/keyboards/royal_kludge/rk61/config.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define WS2812_SPI_DRIVER SPID2 -#define WS2812_SPI_MOSI_PAL_MODE 0 -#define WS2812_SPI_SCK_PAL_MODE 0 -#define WS2812_SPI_SCK_PIN B13 - -#define CAPS_LOCK_LED_INDEX 40 diff --git a/keyboards/royal_kludge/rk61/halconf.h b/keyboards/royal_kludge/rk61/halconf.h deleted file mode 100644 index b7fd8398a2..0000000000 --- a/keyboards/royal_kludge/rk61/halconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_SPI TRUE - -#include_next - diff --git a/keyboards/royal_kludge/rk61/keyboard.json b/keyboards/royal_kludge/rk61/keyboard.json deleted file mode 100644 index d98ce4765b..0000000000 --- a/keyboards/royal_kludge/rk61/keyboard.json +++ /dev/null @@ -1,223 +0,0 @@ -{ - "manufacturer": "Royal Kludge", - "keyboard_name": "RK61", - "maintainer": "DEREFERENC3D", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "dynamic_keymap": { - "layer_count": 16 - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": false, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["A10", "A9", "B2", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], - "rows": ["A6", "A5", "A4", "A3", "A2"] - }, - "processor": "STM32F072", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_sat": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "band_val": true, - "breathing": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "cycle_up_down": true, - "digital_rain": true, - "dual_beacon": true, - "flower_blooming": true, - "gradient_left_right": true, - "gradient_up_down": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "jellybean_raindrops": true, - "multisplash": true, - "pixel_flow": true, - "pixel_fractal": true, - "pixel_rain": true, - "rainbow_beacon": true, - "rainbow_moving_chevron": true, - "rainbow_pinwheels": true, - "raindrops": true, - "riverflow": true, - "solid_multisplash": true, - "solid_reactive": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_multinexus": true, - "solid_reactive_multiwide": true, - "solid_reactive_nexus": true, - "solid_reactive_simple": true, - "solid_reactive_wide": true, - "solid_splash": true, - "splash": true, - "starlight": true, - "starlight_dual_hue": true, - "starlight_dual_sat": true, - "starlight_smooth": true, - "typing_heatmap": true - }, - "default": { - "hue": 170, - "val": 150 - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 13], "x": 218, "y": 0, "flags": 1}, - {"matrix": [0, 12], "x": 193, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 177, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 161, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 145, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 129, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 113, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 97, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 81, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 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": 73, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 89, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 105, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 121, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 137, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 153, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 169, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 185, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 202, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 222, "y": 16, "flags": 1}, - {"matrix": [2, 12], "x": 216, "y": 32, "flags": 1}, - {"matrix": [2, 11], "x": 189, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 173, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 157, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 141, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 125, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 109, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 93, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 77, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, - {"matrix": [3, 0], "x": 10, "y": 48, "flags": 1}, - {"matrix": [3, 1], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 69, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 85, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 101, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 117, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 133, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 149, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 165, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 181, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 212, "y": 48, "flags": 1}, - {"matrix": [4, 12], "x": 224, "y": 64, "flags": 1}, - {"matrix": [4, 10], "x": 204, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 184, "y": 64, "flags": 1}, - {"matrix": [4, 8], "x": 164, "y": 64, "flags": 1}, - {"matrix": [4, 5], "x": 103, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 42, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1} - ], - "max_brightness": 200, - "sleep": true - }, - "url": "http://en.rkgaming.com/", - "usb": { - "device_version": "1.0.1", - "pid": "0x6461", - "vid": "0x1480" - }, - "ws2812": { - "pin": "B15", - "driver": "spi" - }, - "community_layouts": ["60_ansi"], - "layouts": { - "LAYOUT_60_ansi": { - "layout": [ - {"label": "ESC", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "\"", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "\u00a3", "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, 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, 12], "x": 12.75, "y": 2, "w": 2.25}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"label": "Z", "matrix": [3, 1], "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 2], "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 3], "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 4], "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 5], "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 6], "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 7], "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 8], "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 9], "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 10], "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 11], "x": 12.25, "y": 3, "w": 2.75}, - {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, - {"label": "AltGr", "matrix": [4, 8], "x": 10, "y": 4, "w": 1.25}, - {"label": "Menu", "matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25}, - {"label": "Ctrl", "matrix": [4, 10], "x": 12.5, "y": 4, "w": 1.25}, - {"label": "Fn", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} - ] - } - } -} diff --git a/keyboards/royal_kludge/rk61/keymaps/default/keymap.c b/keyboards/royal_kludge/rk61/keymaps/default/keymap.c deleted file mode 100644 index 2efc47913b..0000000000 --- a/keyboards/royal_kludge/rk61/keymaps/default/keymap.c +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -enum layers { - WIN_BASE, - WIN_T, - WIN_ALT, - ARROW_FN, - LWIN_DIS, - WIN_FN, - WIN_T_FN, - WIN_ALT_FN, - MAC_BASE, - MAC_FN, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [WIN_BASE] = LAYOUT_60_ansi( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, - KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT, MO(WIN_FN) - ), - [WIN_FN] = LAYOUT_60_ansi( - 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, _______, _______, RM_VALD, RM_VALU, RM_NEXT, - _______, _______, DF(MAC_BASE), _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, RM_SPDD, RM_SPDU, TG(ARROW_FN), - _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, RM_HUEU, _______, _______, - DF(WIN_ALT), TG(LWIN_DIS), _______, _______, _______, _______, _______, _______ - ), - [WIN_T] = LAYOUT_60_ansi( - 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, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, MO(WIN_T_FN) - ), - [WIN_T_FN] = LAYOUT_60_ansi( - KC_ESC, KC_MYCM, KC_WHOM, KC_MAIL, KC_CALC, KC_MSEL, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSPC, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, DF(MAC_BASE), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(ARROW_FN), - DF(WIN_BASE), TG(LWIN_DIS), _______, _______, _______, _______, _______, _______ - ), - [WIN_ALT] = LAYOUT_60_ansi( - 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_INS, KC_HOME, KC_PGUP, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, MO(WIN_ALT_FN) - ), - [WIN_ALT_FN] = LAYOUT_60_ansi( - KC_ESC, KC_MYCM, KC_WHOM, KC_MAIL, KC_CALC, KC_MSEL, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSPC, - _______, _______, _______, _______, _______, _______, KC_Y, KC_U, KC_I, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_H, KC_J, KC_K, _______, _______, _______, TG(ARROW_FN), - _______, _______, _______, _______, _______, _______, KC_N, KC_M, KC_COMM, _______, _______, _______, - DF(WIN_T), TG(LWIN_DIS), _______, _______, _______, _______, _______, _______ - ), - [MAC_BASE] = LAYOUT_60_ansi( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_APP, KC_RCTL, MO(MAC_FN) - ), - [MAC_FN] = LAYOUT_60_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, DF(WIN_BASE), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, _______, - _______, _______, _______, _______, _______, KC_F1, KC_RCTL, KC_F2 - ), - [ARROW_FN] = LAYOUT_60_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, _______, - _______, _______, _______, _______, KC_RALT, KC_APP, KC_RCTL, _______ - ), - [LWIN_DIS] = LAYOUT_60_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_NO, _______, _______, _______, _______, _______, _______ - ), -}; - -#ifdef CAPS_LOCK_LED_INDEX -bool rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(CAPS_LOCK_LED_INDEX, 255, 255, 255); - } else { - if (!rgb_matrix_get_flags()) { - rgb_matrix_set_color(CAPS_LOCK_LED_INDEX, 0, 0, 0); - } - } - - if (layer_state_is(LWIN_DIS)) { - rgb_matrix_set_color(59, 255, 255, 255); - } else { - if (!rgb_matrix_get_flags()) { - rgb_matrix_set_color(59, 0, 0, 0); - } - } - - return false; -} -#endif diff --git a/keyboards/royal_kludge/rk61/mcuconf.h b/keyboards/royal_kludge/rk61/mcuconf.h deleted file mode 100644 index f459d17ee9..0000000000 --- a/keyboards/royal_kludge/rk61/mcuconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2025 QMK -// 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/royal_kludge/rk61/readme.md b/keyboards/royal_kludge/rk61/readme.md deleted file mode 100644 index d8ba3a3a4f..0000000000 --- a/keyboards/royal_kludge/rk61/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# Royal Kludge RK61 - -![Royal Kludge RK61](https://imgur.com/9YoEEkH.jpg) - -* Keyboard Maintainer: [DEREFERENC3D](https://github.com/DEREFERENC3D) -* Hardware Supported: Royal Kludge RK61 - wired-only QMK version -* Hardware Availability: [RKGaming.com](https://en.rkgaming.com/product/43/), [Amazon.com](https://www.amazon.com/RK-ROYAL-KLUDGE-Mechanical-Ultra-Compact/dp/B0832LSV8N) - -Make example for this keyboard (after setting up your build environment): - - make royal_kludge/rk61:default - -Flashing example for this keyboard: - - make royal_kludge/rk61: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 (this one might be disabled on the stock firmware) -* **Physical reset button**: Briefly press the button on the PCB, located under the space bar keycap, to the right of the space bar's switch -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. On the stock firmware, VIA should allow it to be mapped. diff --git a/keyboards/royal_kludge/rk61/rules.mk b/keyboards/royal_kludge/rk61/rules.mk deleted file mode 100644 index fb3dcdbf7a..0000000000 --- a/keyboards/royal_kludge/rk61/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DFU_SUFFIX_ARGS = -p FFFF -v FFFF diff --git a/keyboards/rubi/keyboard.json b/keyboards/rubi/keyboard.json index 8763052204..bdef35fc77 100644 --- a/keyboards/rubi/keyboard.json +++ b/keyboards/rubi/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Rubi", "manufacturer": "gregorio", + "url": "https://github.com/ohchiko/qmk_firmware/tree/master/keyboards/rubi", "maintainer": "gregorio", "usb": { "vid": "0x4752", diff --git a/keyboards/runes/vaengr/keymaps/default/readme.md b/keyboards/runes/vaengr/keymaps/default/readme.md index 346962d0c8..3a5339cfa8 100644 --- a/keyboards/runes/vaengr/keymaps/default/readme.md +++ b/keyboards/runes/vaengr/keymaps/default/readme.md @@ -10,4 +10,4 @@ Layer 2: ![Layer 2](https://i.imgur.com/oGo0Iss.png) Layer 3: -![Layer 3](https://i.imgur.com/tOjiGn3.png) +![Layer 3](https://i.imgur.com/tOjiGn3.png) \ No newline at end of file diff --git a/keyboards/ryanskidmore/rskeys100/matrix.c b/keyboards/ryanskidmore/rskeys100/matrix.c index c54e1de021..53ad18ee48 100644 --- a/keyboards/ryanskidmore/rskeys100/matrix.c +++ b/keyboards/ryanskidmore/rskeys100/matrix.c @@ -105,4 +105,4 @@ static void shift_out_single(uint8_t value) { static inline void shift_pulse(void) { gpio_write_pin_high(SHR_CLOCK); gpio_write_pin_low(SHR_CLOCK); -} +} \ No newline at end of file diff --git a/keyboards/ryanskidmore/rskeys100/readme.md b/keyboards/ryanskidmore/rskeys100/readme.md index 61da979eee..4be465dbde 100644 --- a/keyboards/ryanskidmore/rskeys100/readme.md +++ b/keyboards/ryanskidmore/rskeys100/readme.md @@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader -To enter the bootloader, press the `RESET` button on your daughterboard PCB while it's plugged in. +To enter the bootloader, press the `RESET` button on your daughterboard PCB while it's plugged in. \ No newline at end of file diff --git a/keyboards/s_ol/0xc_pad/0xc_pad.c b/keyboards/s_ol/0xc_pad/0xc_pad.c new file mode 100644 index 0000000000..ba8cd96aec --- /dev/null +++ b/keyboards/s_ol/0xc_pad/0xc_pad.c @@ -0,0 +1,34 @@ +/* Copyright 2021 s-ol + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // indices + { 0, 6, KC_NO, KC_NO }, + { 1, 5, 7, KC_NO }, + { 2, 4, 8, 11 }, + { KC_NO, 3, 9, 10 } +}, { + // phys position + { 96, 110}, { 80, 83}, { 64, 55}, { 80, 28}, + { 96, 55}, {112, 83}, {128, 110}, {144, 83}, + {128, 55}, {112, 28}, {144, 28}, {160, 55} +}, { + // flags + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 +} }; +#endif diff --git a/keyboards/s_ol/0xc_pad/keyboard.json b/keyboards/s_ol/0xc_pad/keyboard.json index 3ad4e986d7..1df5a5131e 100644 --- a/keyboards/s_ol/0xc_pad/keyboard.json +++ b/keyboards/s_ol/0xc_pad/keyboard.json @@ -39,21 +39,8 @@ "solid_reactive": true, "splash": true }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 74, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 148, "y": 0, "flags": 4}, - {"matrix": [2, 0], "x": 37, "y": 21, "flags": 4}, - {"matrix": [3, 1], "x": 111, "y": 21, "flags": 4}, - {"matrix": [2, 1], "x": 185, "y": 21, "flags": 4}, - {"matrix": [1, 1], "x": 0, "y": 42, "flags": 4}, - {"matrix": [0, 1], "x": 74, "y": 42, "flags": 4}, - {"matrix": [1, 2], "x": 148, "y": 42, "flags": 4}, - {"matrix": [2, 2], "x": 224, "y": 42, "flags": 4}, - {"matrix": [3, 2], "x": 37, "y": 64, "flags": 4}, - {"matrix": [3, 3], "x": 111, "y": 64, "flags": 4}, - {"matrix": [2, 3], "x": 185, "y": 64, "flags": 4} - ] + "center_point": [112, 63], + "driver": "ws2812" }, "layouts": { "LAYOUT": { diff --git a/keyboards/salane/ncr80alpsskfl/readme.md b/keyboards/salane/ncr80alpsskfl/readme.md index 45922c8a90..a8e0c0725a 100644 --- a/keyboards/salane/ncr80alpsskfl/readme.md +++ b/keyboards/salane/ncr80alpsskfl/readme.md @@ -26,4 +26,4 @@ Enter the bootloader in 3 ways: * **Physical reset button**: short 2 pin in the back of pcb and plug the usb in * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/salane/starryfrl/readme.md b/keyboards/salane/starryfrl/readme.md index 25474185ae..da2920797d 100644 --- a/keyboards/salane/starryfrl/readme.md +++ b/keyboards/salane/starryfrl/readme.md @@ -26,4 +26,4 @@ Enter the bootloader in 3 ways: * **Physical reset button**: Press the key `BOOT` in the back of PCB and plug in keyboard * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/salicylic_acid3/naked48/rev1/keyboard.json b/keyboards/salicylic_acid3/naked48/rev1/keyboard.json index fd37a9e7cc..2cf2dbc45b 100644 --- a/keyboards/salicylic_acid3/naked48/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/naked48/rev1/keyboard.json @@ -22,57 +22,7 @@ } }, "rgb_matrix": { - "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 43, "flags": 4}, - {"matrix": [3, 0], "x": 17, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 34, "y": 64, "flags": 4}, - {"matrix": [3, 2], "x": 52, "y": 64, "flags": 4}, - {"matrix": [3, 3], "x": 69, "y": 64, "flags": 4}, - {"matrix": [3, 4], "x": 86, "y": 64, "flags": 4}, - {"matrix": [3, 5], "x": 103, "y": 64, "flags": 4}, - {"matrix": [3, 6], "x": 121, "y": 64, "flags": 4}, - {"matrix": [3, 7], "x": 138, "y": 64, "flags": 4}, - {"matrix": [3, 8], "x": 155, "y": 64, "flags": 4}, - {"matrix": [3, 9], "x": 172, "y": 64, "flags": 4}, - {"matrix": [3, 10], "x": 190, "y": 64, "flags": 4}, - {"matrix": [3, 11], "x": 207, "y": 64, "flags": 4}, - {"matrix": [2, 11], "x": 224, "y": 43, "flags": 4}, - {"matrix": [1, 11], "x": 224, "y": 21, "flags": 4}, - {"matrix": [0, 11], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 207, "y": 0, "flags": 4}, - {"matrix": [1, 10], "x": 207, "y": 21, "flags": 4}, - {"matrix": [2, 10], "x": 207, "y": 43, "flags": 4}, - {"matrix": [2, 9], "x": 190, "y": 43, "flags": 4}, - {"matrix": [1, 9], "x": 190, "y": 21, "flags": 4}, - {"matrix": [0, 9], "x": 190, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 172, "y": 0, "flags": 4}, - {"matrix": [1, 8], "x": 172, "y": 21, "flags": 4}, - {"matrix": [2, 8], "x": 172, "y": 43, "flags": 4}, - {"matrix": [2, 7], "x": 155, "y": 43, "flags": 4}, - {"matrix": [1, 7], "x": 155, "y": 21, "flags": 4}, - {"matrix": [0, 7], "x": 155, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 138, "y": 0, "flags": 4}, - {"matrix": [1, 6], "x": 138, "y": 21, "flags": 4}, - {"matrix": [2, 6], "x": 138, "y": 43, "flags": 4}, - {"matrix": [2, 5], "x": 86, "y": 43, "flags": 4}, - {"matrix": [1, 5], "x": 86, "y": 21, "flags": 4}, - {"matrix": [0, 5], "x": 86, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 69, "y": 0, "flags": 4}, - {"matrix": [1, 4], "x": 69, "y": 21, "flags": 4}, - {"matrix": [2, 4], "x": 69, "y": 43, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 43, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 21, "flags": 4}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 34, "y": 0, "flags": 4}, - {"matrix": [1, 2], "x": 34, "y": 21, "flags": 4}, - {"matrix": [2, 2], "x": 34, "y": 43, "flags": 4}, - {"matrix": [2, 1], "x": 17, "y": 43, "flags": 4}, - {"matrix": [1, 1], "x": 17, "y": 21, "flags": 4}, - {"matrix": [0, 1], "x": 17, "y": 0, "flags": 4} - ] + "driver": "ws2812" }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D7", "E6", "B4", "B5"], diff --git a/keyboards/salicylic_acid3/naked48/rev1/rev1.c b/keyboards/salicylic_acid3/naked48/rev1/rev1.c new file mode 100644 index 0000000000..d4da157a56 --- /dev/null +++ b/keyboards/salicylic_acid3/naked48/rev1/rev1.c @@ -0,0 +1,42 @@ +/* +Copyright 2021 Salicylic_Acid + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE + led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0,47,42,41,36,35,30,29,24,23,18,17 }, + { 1,46,43,40,37,34,31,28,25,22,19,16 }, + { 2,45,44,39,38,33,32,27,26,21,20,15 }, + { 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14 } + }, { + // LED Index to Physical Position + { 0, 0 }, { 0, 21 }, { 0, 43 }, { 17, 64 }, { 34, 64 },{ 52, 64 }, { 69, 64 }, { 86, 64 }, { 103, 64 }, { 121, 64 }, + { 138, 64 }, { 155, 64 }, { 172, 64 }, { 190, 64 }, { 207, 64 },{ 224, 43 }, { 224, 21 }, { 224, 0 }, { 207, 0 }, { 207, 21 }, + { 207, 43 }, { 190, 43 }, { 190, 21 }, { 190, 0 }, { 172, 0 },{ 172, 21 }, { 172, 43 }, { 155, 43 }, { 155, 21 }, { 155, 0 }, + { 138, 0 }, { 138, 21 }, { 138, 43 }, { 86, 43 }, { 86, 21 },{ 86, 0 }, { 69, 0 }, { 69, 21 }, { 69, 43 }, { 52, 43 }, + { 52, 21 }, { 52, 0 }, { 34, 0 }, { 34, 21 }, { 34, 43 },{ 17, 43 }, { 17, 21 }, { 17, 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 +} }; +#endif diff --git a/keyboards/sawnsprojects/amber80/readme.md b/keyboards/sawnsprojects/amber80/readme.md index 6d95efd68e..807ba0917f 100644 --- a/keyboards/sawnsprojects/amber80/readme.md +++ b/keyboards/sawnsprojects/amber80/readme.md @@ -22,4 +22,4 @@ Enter the bootloader in 3 ways: * **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/sawnsprojects/amber80/solder/keymaps/default/keymap.c b/keyboards/sawnsprojects/amber80/solder/keymaps/default/keymap.c index 2d46e4879b..9ab41b57f4 100644 --- a/keyboards/sawnsprojects/amber80/solder/keymaps/default/keymap.c +++ b/keyboards/sawnsprojects/amber80/solder/keymaps/default/keymap.c @@ -27,4 +27,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_INT2, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) -}; +}; \ No newline at end of file diff --git a/keyboards/sawnsprojects/krush/krush60/readme.md b/keyboards/sawnsprojects/krush/krush60/readme.md index bd2f674bfb..6890329c35 100644 --- a/keyboards/sawnsprojects/krush/krush60/readme.md +++ b/keyboards/sawnsprojects/krush/krush60/readme.md @@ -22,4 +22,4 @@ Enter the bootloader in 3 ways: * **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/sawnsprojects/krush/krush65/readme.md b/keyboards/sawnsprojects/krush/krush65/readme.md index 4de8aad749..cc2efdfcfe 100644 --- a/keyboards/sawnsprojects/krush/krush65/readme.md +++ b/keyboards/sawnsprojects/krush/krush65/readme.md @@ -22,4 +22,4 @@ Enter the bootloader in 3 ways: * **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/sawnsprojects/krush/krush65/solder/readme.md b/keyboards/sawnsprojects/krush/krush65/solder/readme.md index 888a21cf15..27af715eda 100644 --- a/keyboards/sawnsprojects/krush/krush65/solder/readme.md +++ b/keyboards/sawnsprojects/krush/krush65/solder/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make sawnsprojects/krush65/solder: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/sawnsprojects/krush/krush65/solder/solder.c b/keyboards/sawnsprojects/krush/krush65/solder/solder.c index 9d69cda97d..db6fec3950 100644 --- a/keyboards/sawnsprojects/krush/krush65/solder/solder.c +++ b/keyboards/sawnsprojects/krush/krush65/solder/solder.c @@ -49,4 +49,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } } return true; -} +} \ No newline at end of file diff --git a/keyboards/sawnsprojects/okayu/stm32f072/config.h b/keyboards/sawnsprojects/okayu/stm32f072/config.h index 4c7f155ae4..41bb0d1fdb 100644 --- a/keyboards/sawnsprojects/okayu/stm32f072/config.h +++ b/keyboards/sawnsprojects/okayu/stm32f072/config.h @@ -5,4 +5,4 @@ #define WS2812_SPI_DRIVER SPID1 #define WS2812_SPI_MOSI_PAL_MODE 5 #define WS2812_SPI_SCK_PIN B13 -#define WS2812_SPI_SCK_PAL_MODE 5 +#define WS2812_SPI_SCK_PAL_MODE 5 \ No newline at end of file diff --git a/keyboards/sawnsprojects/okayu/stm32f103/config.h b/keyboards/sawnsprojects/okayu/stm32f103/config.h index 0bd43049d7..9024616477 100644 --- a/keyboards/sawnsprojects/okayu/stm32f103/config.h +++ b/keyboards/sawnsprojects/okayu/stm32f103/config.h @@ -5,4 +5,4 @@ #define WS2812_SPI_DRIVER SPID2 #define WS2812_SPI_MOSI_PAL_MODE 5 #define WS2812_SPI_SCK_PIN B13 -#define WS2812_SPI_SCK_PAL_MODE 5 +#define WS2812_SPI_SCK_PAL_MODE 5 \ No newline at end of file diff --git a/keyboards/sawnsprojects/okayu/stm32f303/config.h b/keyboards/sawnsprojects/okayu/stm32f303/config.h index 4c7f155ae4..41bb0d1fdb 100644 --- a/keyboards/sawnsprojects/okayu/stm32f303/config.h +++ b/keyboards/sawnsprojects/okayu/stm32f303/config.h @@ -5,4 +5,4 @@ #define WS2812_SPI_DRIVER SPID1 #define WS2812_SPI_MOSI_PAL_MODE 5 #define WS2812_SPI_SCK_PIN B13 -#define WS2812_SPI_SCK_PAL_MODE 5 +#define WS2812_SPI_SCK_PAL_MODE 5 \ No newline at end of file diff --git a/keyboards/sawnsprojects/okayu/stm32f303/keyboard.json b/keyboards/sawnsprojects/okayu/stm32f303/keyboard.json index 50a6a6a96f..84661311fd 100644 --- a/keyboards/sawnsprojects/okayu/stm32f303/keyboard.json +++ b/keyboards/sawnsprojects/okayu/stm32f303/keyboard.json @@ -1,4 +1,4 @@ { "processor": "STM32F303", "bootloader": "stm32-dfu" -} +} \ No newline at end of file diff --git a/keyboards/sawnsprojects/plaque80/keymaps/default/keymap.c b/keyboards/sawnsprojects/plaque80/keymaps/default/keymap.c index aa55524810..c3bd1eb819 100644 --- a/keyboards/sawnsprojects/plaque80/keymaps/default/keymap.c +++ b/keyboards/sawnsprojects/plaque80/keymaps/default/keymap.c @@ -25,4 +25,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_SLSH, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) -}; +}; \ No newline at end of file diff --git a/keyboards/sawnsprojects/plaque80/readme.md b/keyboards/sawnsprojects/plaque80/readme.md index 425b15f42f..7dae55ba1a 100644 --- a/keyboards/sawnsprojects/plaque80/readme.md +++ b/keyboards/sawnsprojects/plaque80/readme.md @@ -22,4 +22,4 @@ Enter the bootloader in 3 ways: * **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/sawnsprojects/re65/keymaps/default/rules.mk b/keyboards/sawnsprojects/re65/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/sawnsprojects/re65/keymaps/default/rules.mk +++ b/keyboards/sawnsprojects/re65/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sawnsprojects/satxri6key/keyboard.json b/keyboards/sawnsprojects/satxri6key/keyboard.json index 30f1ec3fd1..92a798e4b2 100644 --- a/keyboards/sawnsprojects/satxri6key/keyboard.json +++ b/keyboards/sawnsprojects/satxri6key/keyboard.json @@ -56,14 +56,6 @@ "animation": "solid_reactive_simple" }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 112, "y": 0, "flags": 1}, - {"matrix": [0, 2], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 2], "x": 224, "y": 64, "flags": 1}, - {"matrix": [1, 1], "x": 112, "y": 64, "flags": 1}, - {"matrix": [1, 0], "x": 0, "y": 64, "flags": 1} - ], "max_brightness": 200, "react_on_keyup": true }, diff --git a/keyboards/sawnsprojects/satxri6key/satxri6key.c b/keyboards/sawnsprojects/satxri6key/satxri6key.c new file mode 100644 index 0000000000..c335e0d3ef --- /dev/null +++ b/keyboards/sawnsprojects/satxri6key/satxri6key.c @@ -0,0 +1,32 @@ +/* Copyright 2021 SawnsProjects + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + //Key Matrix to LED Indexccxxz + {0, 1, 2}, + {5, 4, 3} +}, { + //LED Index to Physical Positon + {0, 0}, {112, 0}, {224, 0}, + {224, 64}, {112, 64}, {0, 64}, +}, { + 1, 1, 1, + 1, 1, 1, +} }; +#endif \ No newline at end of file diff --git a/keyboards/sawnsprojects/vcl65/readme.md b/keyboards/sawnsprojects/vcl65/readme.md index d8eb66b6aa..d47c145e79 100644 --- a/keyboards/sawnsprojects/vcl65/readme.md +++ b/keyboards/sawnsprojects/vcl65/readme.md @@ -22,4 +22,4 @@ Enter the bootloader in 3 ways: * **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c b/keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c index 27f8615443..40f1e85051 100644 --- a/keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c +++ b/keyboards/sawnsprojects/vcl65/solder/keymaps/default/keymap.c @@ -35,4 +35,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_VOLD, KC_TRNS ), -}; +}; \ No newline at end of file diff --git a/keyboards/scottokeebs/scotto34/keymaps/default/keymap.c b/keyboards/scottokeebs/scotto34/keymaps/default/keymap.c index 45d6434bb7..a06722184a 100644 --- a/keyboards/scottokeebs/scotto34/keymaps/default/keymap.c +++ b/keyboards/scottokeebs/scotto34/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c b/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c index 3f13475511..96ee0e1877 100644 --- a/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c +++ b/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c @@ -55,4 +55,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/scottokeebs/scottowing/keymaps/default/keymap.c b/keyboards/scottokeebs/scottowing/keymaps/default/keymap.c index a027db84fa..9a1c7daef3 100644 --- a/keyboards/scottokeebs/scottowing/keymaps/default/keymap.c +++ b/keyboards/scottokeebs/scottowing/keymaps/default/keymap.c @@ -42,4 +42,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/sekigon/grs_70ec/matrix.c b/keyboards/sekigon/grs_70ec/matrix.c index e6d6281812..718423e57b 100644 --- a/keyboards/sekigon/grs_70ec/matrix.c +++ b/keyboards/sekigon/grs_70ec/matrix.c @@ -35,6 +35,10 @@ #define ROWS_PER_HAND (MATRIX_ROWS / 2) +/* matrix state(1:on, 0:off) */ +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + // row offsets for each hand static uint8_t thisHand, thatHand; @@ -48,7 +52,7 @@ void matrix_init_custom(void) { ecsm_init(&ecsm_config); - thisHand = is_keyboard_left() ? 0 : (ROWS_PER_HAND); + thisHand = isLeftHand ? 0 : (ROWS_PER_HAND); thatHand = ROWS_PER_HAND - thisHand; split_post_init(); diff --git a/keyboards/sendyyeah/pix/config.h b/keyboards/sendyyeah/pix/config.h index 7557991a58..3a6cb6297f 100644 --- a/keyboards/sendyyeah/pix/config.h +++ b/keyboards/sendyyeah/pix/config.h @@ -19,7 +19,5 @@ #define OLED_FONT_H "keymaps/default/glcdfont.c" #define OLED_TIMEOUT 600000 // Turn of after 10 minutes -#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5) - #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYER_BLINK diff --git a/keyboards/sendyyeah/pix/pix.c b/keyboards/sendyyeah/pix/pix.c new file mode 100644 index 0000000000..1bd8627e16 --- /dev/null +++ b/keyboards/sendyyeah/pix/pix.c @@ -0,0 +1,30 @@ + /* Copyright 2020 sendyyeah + * + * 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 eeconfig_init_kb(void) { +#ifdef RGBLIGHT_ENABLE + rgblight_enable(); // Enable RGB underglow by default + rgblight_sethsv(0, 255, 255); +#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 5); // Set to RGB_RAINBOW_SWIRL animation by default +#endif +#endif + + eeconfig_update_kb(0); + eeconfig_init_user(); +} diff --git a/keyboards/senselessclay/ck60/ck60.c b/keyboards/senselessclay/ck60/ck60.c new file mode 100644 index 0000000000..3f8aea611a --- /dev/null +++ b/keyboards/senselessclay/ck60/ck60.c @@ -0,0 +1,43 @@ +/* Copyright 2022 kb-elmo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#define __ NO_LED + +#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 }, + { 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14 }, + { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, __ }, + { 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, __ }, + { 54, 55, 56, __, __, __, 57, __, __, __, 58, 59, 60, 61 } +}, { + //LED Index to Physical Positon + { 0, 0 }, { 17, 0 }, { 34, 0 }, { 52, 0 }, { 69, 0 }, { 86, 0 }, { 103, 0 }, { 121, 0 }, { 138, 0 }, { 155, 0 }, { 172, 0 }, { 190, 0 }, { 207, 0 }, { 215, 0 }, + { 224, 24 }, { 215, 16 }, { 198, 16 }, { 180, 16 }, { 164, 16 }, { 146, 16 }, { 129, 16 }, { 112, 16 }, { 95, 16 }, { 78, 16 }, { 60, 16 }, { 43, 16 }, { 26 , 16 }, { 0, 16 }, + { 0, 32 }, { 30, 32 }, { 47, 32 }, { 65, 32 }, { 81, 32 }, { 99, 32 }, { 116, 32 }, { 133, 32 }, { 150, 32 }, { 168, 32 }, { 185, 32 }, { 202, 32 }, { 220, 32 }, + { 207, 48 }, { 190, 48 }, { 172, 48 }, { 155, 48 }, { 138, 48 }, { 121, 48 }, { 103, 48 }, { 86, 48 }, { 69, 48 }, { 52, 48 }, { 34, 48 }, { 17, 48 }, { 0, 48 }, + { 0, 64 }, { 17, 64 }, { 34, 64 }, { 103, 64 }, { 172, 64 }, { 190, 64 }, { 207, 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, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1 +} }; +#endif diff --git a/keyboards/senselessclay/ck60/keyboard.json b/keyboards/senselessclay/ck60/keyboard.json index 4b1937513e..d4fa5336e6 100644 --- a/keyboards/senselessclay/ck60/keyboard.json +++ b/keyboards/senselessclay/ck60/keyboard.json @@ -36,70 +36,6 @@ "animation": "cycle_all" }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 1], "x": 17, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 34, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 69, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 86, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 103, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 121, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 138, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 155, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 172, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 190, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 207, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 215, "y": 0, "flags": 1}, - {"matrix": [1, 13], "x": 224, "y": 24, "flags": 1}, - {"matrix": [1, 12], "x": 215, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 198, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 180, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 164, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 146, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 129, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 95, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 78, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 60, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 43, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 26, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 1}, - {"matrix": [2, 1], "x": 30, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 47, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 65, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 81, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 99, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 116, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 133, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 150, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 168, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 185, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 202, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 220, "y": 32, "flags": 4}, - {"matrix": [3, 12], "x": 207, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 190, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 172, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 155, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 138, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 121, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 103, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 86, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 69, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 17, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [4, 1], "x": 17, "y": 64, "flags": 1}, - {"matrix": [4, 2], "x": 34, "y": 64, "flags": 1}, - {"matrix": [4, 6], "x": 103, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 172, "y": 64, "flags": 1}, - {"matrix": [4, 11], "x": 190, "y": 64, "flags": 1}, - {"matrix": [4, 12], "x": 207, "y": 64, "flags": 1}, - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 1} - ], "max_brightness": 160, "sleep": true }, diff --git a/keyboards/senselessclay/ck60/readme.md b/keyboards/senselessclay/ck60/readme.md index 60396dc082..32700967da 100644 --- a/keyboards/senselessclay/ck60/readme.md +++ b/keyboards/senselessclay/ck60/readme.md @@ -16,4 +16,4 @@ Flashing example for this keyboard: 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). -If you'd like to reset the board into bootloader mode for flashing using [QMK Toolbox](https://github.com/qmk/qmk_toolbox), simply press the reset button directly above the controller assembly on the bottom side of the PCB. +If you'd like to reset the board into bootloader mode for flashing using [QMK Toolbox](https://github.com/qmk/qmk_toolbox), simply press the reset button directly above the controller assembly on the bottom side of the PCB. \ No newline at end of file diff --git a/keyboards/senselessclay/ck65/readme.md b/keyboards/senselessclay/ck65/readme.md index b139ddc19a..653266a59f 100644 --- a/keyboards/senselessclay/ck65/readme.md +++ b/keyboards/senselessclay/ck65/readme.md @@ -16,4 +16,4 @@ Flashing example for this keyboard: 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). -If you'd like to reset the board into bootloader mode for flashing using [QMK Toolbox](https://github.com/qmk/qmk_toolbox), simply press the reset button directly above the controller assembly on the bottom side of the PCB. +If you'd like to reset the board into bootloader mode for flashing using [QMK Toolbox](https://github.com/qmk/qmk_toolbox), simply press the reset button directly above the controller assembly on the bottom side of the PCB. \ No newline at end of file diff --git a/keyboards/senselessclay/gos65/keymaps/default/keymap.c b/keyboards/senselessclay/gos65/keymaps/default/keymap.c index 2564f1e5e6..457186fafe 100644 --- a/keyboards/senselessclay/gos65/keymaps/default/keymap.c +++ b/keyboards/senselessclay/gos65/keymaps/default/keymap.c @@ -42,4 +42,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/senselessclay/gos65/readme.md b/keyboards/senselessclay/gos65/readme.md index 193a5c9c9e..bae450ee79 100644 --- a/keyboards/senselessclay/gos65/readme.md +++ b/keyboards/senselessclay/gos65/readme.md @@ -15,4 +15,4 @@ Flashing example for this keyboard: 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). -If you'd like to reset the board into bootloader mode for flashing using [QMK Toolbox](https://github.com/qmk/qmk_toolbox), simply press the reset button directly above the controller assembly on the bottom side of the PCB. +If you'd like to reset the board into bootloader mode for flashing using [QMK Toolbox](https://github.com/qmk/qmk_toolbox), simply press the reset button directly above the controller assembly on the bottom side of the PCB. \ No newline at end of file diff --git a/keyboards/senselessclay/had60/keymaps/default/keymap.c b/keyboards/senselessclay/had60/keymaps/default/keymap.c index ed443850ec..9c70873acf 100644 --- a/keyboards/senselessclay/had60/keymaps/default/keymap.c +++ b/keyboards/senselessclay/had60/keymaps/default/keymap.c @@ -35,4 +35,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_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, 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/sentraq/s60_x/keymaps/default_rgb/readme.md b/keyboards/sentraq/s60_x/keymaps/default_rgb/readme.md index 1612bff874..69cede566a 100644 --- a/keyboards/sentraq/s60_x/keymaps/default_rgb/readme.md +++ b/keyboards/sentraq/s60_x/keymaps/default_rgb/readme.md @@ -24,4 +24,4 @@ This is a variation of the default keymap with added RGB underglow and in-switch │ │ │UGTOG│UGMOD│UGHUI│UGHUD│UGSAI│UGSAD│ │BLDEC│BLTOG│BLINC│▒▒▒▒▒│ │▒▒▒▒▒│ ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ \ No newline at end of file diff --git a/keyboards/sergiopoverony/creator_pro/keymaps/default/readme.md b/keyboards/sergiopoverony/creator_pro/keymaps/default/readme.md index aa8dc6ab97..f899eb3c13 100644 --- a/keyboards/sergiopoverony/creator_pro/keymaps/default/readme.md +++ b/keyboards/sergiopoverony/creator_pro/keymaps/default/readme.md @@ -2,4 +2,4 @@ # Default Creator Pro Layout -This is the default layout that comes flashed on every Creator Pro. The right most key (Encoder) is the rotary and the key is binded to layer switching. +This is the default layout that comes flashed on every Creator Pro. The right most key (Encoder) is the rotary and the key is binded to layer switching. \ No newline at end of file diff --git a/keyboards/sf2040/keymaps/default/keymap.c b/keyboards/sf2040/keymaps/default/keymap.c index f84f55face..ca5bcce358 100644 --- a/keyboards/sf2040/keymaps/default/keymap.c +++ b/keyboards/sf2040/keymaps/default/keymap.c @@ -22,4 +22,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT_CTRL, KC_LEFT_GUI, KC_LEFT_ALT, KC_SPACE, _______, KC_HOME, KC_END, KC_RIGHT_CTRL ) -}; +}; \ No newline at end of file diff --git a/keyboards/sha/config.h b/keyboards/sha/config.h index e26ab4f695..f936d7b473 100644 --- a/keyboards/sha/config.h +++ b/keyboards/sha/config.h @@ -3,4 +3,4 @@ #pragma once -#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB +#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB \ No newline at end of file diff --git a/keyboards/sha/keyboard.json b/keyboards/sha/keyboard.json index 03cf871f89..e361334e00 100644 --- a/keyboards/sha/keyboard.json +++ b/keyboards/sha/keyboard.json @@ -102,4 +102,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/sha/keymaps/default/config.h b/keyboards/sha/keymaps/default/config.h index 6f44f13191..12d21f94cc 100644 --- a/keyboards/sha/keymaps/default/config.h +++ b/keyboards/sha/keymaps/default/config.h @@ -3,4 +3,4 @@ #pragma once -#define RGBLIGHT_LAYERS +#define RGBLIGHT_LAYERS \ No newline at end of file diff --git a/keyboards/sha/keymaps/default/keymap.c b/keyboards/sha/keymaps/default/keymap.c index 2f0b94cffe..533f12fe01 100644 --- a/keyboards/sha/keymaps/default/keymap.c +++ b/keyboards/sha/keymaps/default/keymap.c @@ -87,4 +87,4 @@ layer_state_t default_layer_state_set_user(layer_state_t state) { rgblight_set_layer_state(3, layer_state_cmp(state, _QWERTY)); rgblight_set_layer_state(4, layer_state_cmp(state, _COLEMAK)); return state; -} +} \ No newline at end of file diff --git a/keyboards/sha/keymaps/default/readme.md b/keyboards/sha/keymaps/default/readme.md index 3a0bd0eca7..0ff118c21a 100644 --- a/keyboards/sha/keymaps/default/readme.md +++ b/keyboards/sha/keymaps/default/readme.md @@ -10,4 +10,4 @@ There are two extended layers: When using a Waveshare RP2040-Matrix, the [RGB Light - Lighting Layers](https://docs.qmk.fm/#/feature_rgblight?id=lighting-layers) feature is used to demonstrate how the 5x5 RGB LEDs can indicate keyboard state. The indicators are: * Base layer on the outer LED ring: QWERTY = yellow, Colemak = cyan -* Lock status indicators using the center 3x3 LEDs: Scroll lock = blue, Caps lock = green, Num lock = red +* Lock status indicators using the center 3x3 LEDs: Scroll lock = blue, Caps lock = green, Num lock = red \ No newline at end of file diff --git a/keyboards/shandoncodes/flygone60/rev3/keyboard.json b/keyboards/shandoncodes/flygone60/rev3/keyboard.json index 2825e69f21..4b83963648 100644 --- a/keyboards/shandoncodes/flygone60/rev3/keyboard.json +++ b/keyboards/shandoncodes/flygone60/rev3/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Flygone60 Rev3", "manufacturer": "ShandonCodes", + "url": "https://qmk.fm/keyboards/", "maintainer": "ShandonCodes", "usb": { "vid": "0x7877", diff --git a/keyboards/shandoncodes/mino/hotswap/keyboard.json b/keyboards/shandoncodes/mino/hotswap/keyboard.json index 33ef128a83..d9f460b391 100644 --- a/keyboards/shandoncodes/mino/hotswap/keyboard.json +++ b/keyboards/shandoncodes/mino/hotswap/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Mino", "manufacturer": "ShandonCodes", + "url": "https://qmk.fm/keyboards/", "maintainer": "ShandonCodes", "usb": { "vid": "0x7877", diff --git a/keyboards/shandoncodes/mino_plus/hotswap/hotswap.c b/keyboards/shandoncodes/mino_plus/hotswap/hotswap.c index d3ed573901..a5920b2617 100644 --- a/keyboards/shandoncodes/mino_plus/hotswap/hotswap.c +++ b/keyboards/shandoncodes/mino_plus/hotswap/hotswap.c @@ -5,4 +5,4 @@ void board_init(void) { SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); -} +} \ No newline at end of file diff --git a/keyboards/shandoncodes/mino_plus/hotswap/keymaps/default/keymap.c b/keyboards/shandoncodes/mino_plus/hotswap/keymaps/default/keymap.c index a395fa56d4..f068c66215 100644 --- a/keyboards/shandoncodes/mino_plus/hotswap/keymaps/default/keymap.c +++ b/keyboards/shandoncodes/mino_plus/hotswap/keymaps/default/keymap.c @@ -18,4 +18,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, 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/shandoncodes/mino_plus/hotswap/mcuconf.h b/keyboards/shandoncodes/mino_plus/hotswap/mcuconf.h index c64f5d49ac..7b8a66123e 100644 --- a/keyboards/shandoncodes/mino_plus/hotswap/mcuconf.h +++ b/keyboards/shandoncodes/mino_plus/hotswap/mcuconf.h @@ -5,4 +5,4 @@ #include_next #undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE +#define STM32_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/shandoncodes/mino_plus/soldered/keymaps/default/keymap.c b/keyboards/shandoncodes/mino_plus/soldered/keymaps/default/keymap.c index 8347a2c40c..365f31440a 100644 --- a/keyboards/shandoncodes/mino_plus/soldered/keymaps/default/keymap.c +++ b/keyboards/shandoncodes/mino_plus/soldered/keymaps/default/keymap.c @@ -25,4 +25,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, KC_TRNS, KC_TRNS, 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/shandoncodes/mino_plus/soldered/mcuconf.h b/keyboards/shandoncodes/mino_plus/soldered/mcuconf.h index 40c779e509..7968bd26da 100644 --- a/keyboards/shandoncodes/mino_plus/soldered/mcuconf.h +++ b/keyboards/shandoncodes/mino_plus/soldered/mcuconf.h @@ -5,4 +5,4 @@ #include_next #undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE +#define STM32_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/shandoncodes/mino_plus/soldered/soldered.c b/keyboards/shandoncodes/mino_plus/soldered/soldered.c index ed3d3f8ca3..6dd113ebfa 100644 --- a/keyboards/shandoncodes/mino_plus/soldered/soldered.c +++ b/keyboards/shandoncodes/mino_plus/soldered/soldered.c @@ -5,4 +5,4 @@ void board_init(void) { SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); -} +} \ No newline at end of file diff --git a/keyboards/shandoncodes/riot_pad/halconf.h b/keyboards/shandoncodes/riot_pad/halconf.h index 8be896f683..555a609029 100644 --- a/keyboards/shandoncodes/riot_pad/halconf.h +++ b/keyboards/shandoncodes/riot_pad/halconf.h @@ -4,4 +4,4 @@ #define HAL_USE_SPI TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/shandoncodes/riot_pad/mcuconf.h b/keyboards/shandoncodes/riot_pad/mcuconf.h index 23b5ed9886..7c3eec4802 100644 --- a/keyboards/shandoncodes/riot_pad/mcuconf.h +++ b/keyboards/shandoncodes/riot_pad/mcuconf.h @@ -5,4 +5,4 @@ #include_next #undef STM32_SPI_USE_SPI1 -#define STM32_SPI_USE_SPI1 TRUE +#define STM32_SPI_USE_SPI1 TRUE \ No newline at end of file diff --git a/keyboards/shiro/readme.md b/keyboards/shiro/readme.md index 7d6f140b16..7c4c024a6b 100644 --- a/keyboards/shiro/readme.md +++ b/keyboards/shiro/readme.md @@ -24,4 +24,4 @@ Make for this keyboard build check keymap (after setting up your build environme 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). -[Build guide - Japanese](https://github.com/ShinoharaTa/keyboards/blob/master/Shiro/manual/build_guide_ja.md) +[Build guide - Japanese](https://github.com/ShinoharaTa/keyboards/blob/master/Shiro/manual/build_guide_ja.md) \ No newline at end of file diff --git a/keyboards/shk9/keymaps/default/keymap.c b/keyboards/shk9/keymaps/default/keymap.c index b28a557587..cdff8a74be 100644 --- a/keyboards/shk9/keymaps/default/keymap.c +++ b/keyboards/shk9/keymaps/default/keymap.c @@ -21,4 +21,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_4, KC_5, KC_6, KC_7, KC_8, KC_9 ) -}; +}; \ No newline at end of file diff --git a/keyboards/shk9/readme.md b/keyboards/shk9/readme.md index e7ed85c9a8..1fab42a1ac 100644 --- a/keyboards/shk9/readme.md +++ b/keyboards/shk9/readme.md @@ -20,4 +20,4 @@ Flashing example for this keyboard: To reset the board into bootloader mode, remove the pcb from the case buy removing keycaps, and unscrewing the 3 screws. Then (while plugged in) press the switch on the underside of the PCB for a few seconds. The board is now in bootloader mode. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/shorty/readme.md b/keyboards/shorty/readme.md index cb33d22038..23f023b92c 100644 --- a/keyboards/shorty/readme.md +++ b/keyboards/shorty/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/silakka54/config.h b/keyboards/silakka54/config.h index b3d1742042..220b85cd08 100644 --- a/keyboards/silakka54/config.h +++ b/keyboards/silakka54/config.h @@ -21,4 +21,5 @@ #define SERIAL_USART_RX_PIN GP1 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 diff --git a/keyboards/silverbullet44/keyboard.json b/keyboards/silverbullet44/keyboard.json index a724314212..26e2bcce3a 100644 --- a/keyboards/silverbullet44/keyboard.json +++ b/keyboards/silverbullet44/keyboard.json @@ -30,60 +30,6 @@ "animation": "typing_heatmap" }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 3], "x": 139, "y": 16, "flags": 2}, - {"matrix": [0, 4], "x": 174, "y": 13, "flags": 2}, - {"matrix": [0, 5], "x": 208, "y": 20, "flags": 2}, - {"matrix": [1, 5], "x": 208, "y": 38, "flags": 2}, - {"matrix": [1, 4], "x": 174, "y": 48, "flags": 2}, - {"matrix": [1, 3], "x": 139, "y": 52, "flags": 2}, - {"matrix": [0, 2], "x": 129, "y": 63, "flags": 1}, - {"matrix": [0, 1], "x": 139, "y": 39, "flags": 4}, - {"matrix": [1, 2], "x": 139, "y": 21, "flags": 4}, - {"matrix": [2, 3], "x": 139, "y": 4, "flags": 4}, - {"matrix": [2, 4], "x": 156, "y": 2, "flags": 4}, - {"matrix": [2, 5], "x": 156, "y": 19, "flags": 4}, - {"matrix": [3, 5], "x": 156, "y": 37, "flags": 4}, - {"matrix": [3, 4], "x": 144, "y": 58, "flags": 1}, - {"matrix": [3, 3], "x": 164, "y": 55, "flags": 1}, - {"matrix": [3, 2], "x": 174, "y": 35, "flags": 4}, - {"matrix": [2, 2], "x": 174, "y": 13, "flags": 4}, - {"matrix": [1, 1], "x": 174, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 191, "y": 3, "flags": 4}, - {"matrix": [1, 0], "x": 191, "y": 20, "flags": 4}, - {"matrix": [2, 1], "x": 191, "y": 37, "flags": 4}, - {"matrix": [2, 0], "x": 208, "y": 42, "flags": 4}, - {"x": 208, "y": 24, "flags": 4}, - {"x": 208, "y": 7, "flags": 4}, - {"x": 224, "y": 7, "flags": 1}, - {"x": 224, "y": 24, "flags": 1}, - {"x": 224, "y": 41, "flags": 1}, - {"x": 85, "y": 16, "flags": 2}, - {"x": 50, "y": 13, "flags": 2}, - {"x": 16, "y": 20, "flags": 2}, - {"x": 16, "y": 38, "flags": 2}, - {"x": 50, "y": 48, "flags": 2}, - {"x": 85, "y": 52, "flags": 2}, - {"x": 95, "y": 63, "flags": 1}, - {"x": 85, "y": 39, "flags": 4}, - {"x": 85, "y": 21, "flags": 4}, - {"x": 85, "y": 4, "flags": 4}, - {"x": 68, "y": 2, "flags": 4}, - {"x": 68, "y": 19, "flags": 4}, - {"x": 68, "y": 37, "flags": 4}, - {"x": 80, "y": 58, "flags": 1}, - {"x": 60, "y": 55, "flags": 1}, - {"x": 50, "y": 35, "flags": 4}, - {"x": 50, "y": 13, "flags": 4}, - {"x": 50, "y": 0, "flags": 4}, - {"x": 33, "y": 3, "flags": 4}, - {"x": 33, "y": 20, "flags": 4}, - {"x": 33, "y": 37, "flags": 4}, - {"x": 16, "y": 42, "flags": 4}, - {"x": 16, "y": 24, "flags": 4}, - {"x": 16, "y": 7, "flags": 4}, - {"x": 0, "y": 7, "flags": 1} - ], "max_brightness": 150, "sat_steps": 8, "val_steps": 8, diff --git a/keyboards/silverbullet44/silverbullet44.c b/keyboards/silverbullet44/silverbullet44.c new file mode 100644 index 0000000000..00bd6153c9 --- /dev/null +++ b/keyboards/silverbullet44/silverbullet44.c @@ -0,0 +1,45 @@ +/* Copyright 2019 SwanMatch + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 18, 7, 6, 0, 1, 2}, + { 19, 17, 8, 5, 4, 3}, + { 21, 20, 16, 9, 10, 11}, + { NO_LED, NO_LED, 15, 14, 13, 12}, +}, { + { 139, 16 }, { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 }, + { 139, 39 }, { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 }, + { 164, 55 }, { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 }, + { 208, 42 }, { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }, { 85, 16 }, + { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 }, { 85, 39 }, + { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 }, { 60, 55 }, + { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 }, { 16, 42 }, + { 16, 24 }, { 16, 7 }, { 0, 7 } +}, { + 2, 2, 2, 2, 2, 2, 1, + 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 1, 1, 2, + 2, 2, 2, 2, 2, 1, 4, + 4, 4, 4, 4, 4, 1, 1, + 4, 4, 4, 4, 4, 4, 4, + 4, 4, 1 +} }; + +#endif diff --git a/keyboards/sixkeyboard/sixkeyboard.c b/keyboards/sixkeyboard/sixkeyboard.c index d50a7fb19c..5a5c818d13 100644 --- a/keyboards/sixkeyboard/sixkeyboard.c +++ b/keyboards/sixkeyboard/sixkeyboard.c @@ -26,4 +26,4 @@ void matrix_init_kb(void) { gpio_write_pin_low(D3); matrix_init_user(); -}; +}; \ No newline at end of file diff --git a/keyboards/skeletonkbd/frost68/keyboard.json b/keyboards/skeletonkbd/frost68/keyboard.json index 79824c8c27..9d1173c860 100644 --- a/keyboards/skeletonkbd/frost68/keyboard.json +++ b/keyboards/skeletonkbd/frost68/keyboard.json @@ -230,4 +230,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c b/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c index 26fa60c2c1..be7c414f8a 100644 --- a/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c +++ b/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c @@ -26,4 +26,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_PGDN, KC_TRNS), -}; +}; \ No newline at end of file diff --git a/keyboards/skeletonkbd/skeletonnumpad/keymaps/default/readme.md b/keyboards/skeletonkbd/skeletonnumpad/keymaps/default/readme.md index 8ebc93b1f8..4a4ed5e7e9 100644 --- a/keyboards/skeletonkbd/skeletonnumpad/keymaps/default/readme.md +++ b/keyboards/skeletonkbd/skeletonnumpad/keymaps/default/readme.md @@ -1,3 +1,3 @@ ![SkeletonNumPad Layout Image](https://i.imgur.com/oHqihGI.png) -# The default keymap for skeletonnumpad +# The default keymap for skeletonnumpad \ No newline at end of file diff --git a/keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c b/keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c index 8548cf99e1..3b77e6f3d3 100644 --- a/keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c +++ b/keyboards/skippys_custom_pcs/rooboard65/keymaps/default/keymap.c @@ -37,4 +37,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 ) -}; +}; \ No newline at end of file diff --git a/keyboards/skippys_custom_pcs/rooboard65/readme.md b/keyboards/skippys_custom_pcs/rooboard65/readme.md index 1fa8944bb0..40a23ec12a 100644 --- a/keyboards/skippys_custom_pcs/rooboard65/readme.md +++ b/keyboards/skippys_custom_pcs/rooboard65/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/skyloong/gk61/pro/pro.c b/keyboards/skyloong/gk61/pro/pro.c index 521fce6088..11411ba2b1 100644 --- a/keyboards/skyloong/gk61/pro/pro.c +++ b/keyboards/skyloong/gk61/pro/pro.c @@ -107,6 +107,31 @@ void suspend_wakeup_init_kb(void) { } #endif +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { +# ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + return false; +# endif + } + + return true; +} + void board_init(void) { // JTAG-DP Disabled and SW-DP Disabled AFIO->MAPR = (AFIO->MAPR & ~AFIO_MAPR_SWJ_CFG_Msk) | AFIO_MAPR_SWJ_CFG_DISABLE; diff --git a/keyboards/skyloong/gk61/pro_48/pro_48.c b/keyboards/skyloong/gk61/pro_48/pro_48.c index 521fce6088..11411ba2b1 100644 --- a/keyboards/skyloong/gk61/pro_48/pro_48.c +++ b/keyboards/skyloong/gk61/pro_48/pro_48.c @@ -107,6 +107,31 @@ void suspend_wakeup_init_kb(void) { } #endif +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { +# ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + return false; +# endif + } + + return true; +} + void board_init(void) { // JTAG-DP Disabled and SW-DP Disabled AFIO->MAPR = (AFIO->MAPR & ~AFIO_MAPR_SWJ_CFG_Msk) | AFIO_MAPR_SWJ_CFG_DISABLE; diff --git a/keyboards/skyloong/qk21/v1/v1.c b/keyboards/skyloong/qk21/v1/v1.c index 4d22de5ccb..ae85eaab39 100644 --- a/keyboards/skyloong/qk21/v1/v1.c +++ b/keyboards/skyloong/qk21/v1/v1.c @@ -5,6 +5,30 @@ #if defined(RGB_MATRIX_ENABLE) && defined(NUM_LOCK_INDEX) +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { +# ifdef RGB_MATRIX_ENABLE + case QK_RGB_MATRIX_TOGGLE: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + return false; +# endif + } + return true; +} + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/slothie60/keyboard.json b/keyboards/slothie60/keyboard.json deleted file mode 100644 index 2c3404efcb..0000000000 --- a/keyboards/slothie60/keyboard.json +++ /dev/null @@ -1,244 +0,0 @@ -{ - "manufacturer": "makkomise", - "keyboard_name": "slothie60", - "maintainer": "makkomise", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["A10", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0"], - "rows": ["A8", "B15", "B14", "B13", "B12"] - }, - "processor": "STM32F072", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 16, - "sleep": true - }, - "url": "https://github.com/makkomise/slothie60", - "usb": { - "device_version": "1.0.1", - "pid": "0x0002", - "vid": "0x7362" - }, - "ws2812": { - "pin": "A15" - }, - "community_layouts": ["60_iso"], - "layouts": { - "LAYOUT_60_iso": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [1, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_60_iso_split_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, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [1, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, - "LAYOUT_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, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, - {"matrix": [1, 3], "x": 3.5, "y": 1}, - {"matrix": [1, 4], "x": 4.5, "y": 1}, - {"matrix": [1, 5], "x": 5.5, "y": 1}, - {"matrix": [1, 6], "x": 6.5, "y": 1}, - {"matrix": [1, 7], "x": 7.5, "y": 1}, - {"matrix": [1, 8], "x": 8.5, "y": 1}, - {"matrix": [1, 9], "x": 9.5, "y": 1}, - {"matrix": [1, 10], "x": 10.5, "y": 1}, - {"matrix": [1, 11], "x": 11.5, "y": 1}, - {"matrix": [1, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2}, - {"matrix": [2, 2], "x": 2.75, "y": 2}, - {"matrix": [2, 3], "x": 3.75, "y": 2}, - {"matrix": [2, 4], "x": 4.75, "y": 2}, - {"matrix": [2, 5], "x": 5.75, "y": 2}, - {"matrix": [2, 6], "x": 6.75, "y": 2}, - {"matrix": [2, 7], "x": 7.75, "y": 2}, - {"matrix": [2, 8], "x": 8.75, "y": 2}, - {"matrix": [2, 9], "x": 9.75, "y": 2}, - {"matrix": [2, 10], "x": 10.75, "y": 2}, - {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2}, - {"matrix": [1, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 6], "x": 6.25, "y": 3}, - {"matrix": [3, 7], "x": 7.25, "y": 3}, - {"matrix": [3, 8], "x": 8.25, "y": 3}, - {"matrix": [3, 9], "x": 9.25, "y": 3}, - {"matrix": [3, 10], "x": 10.25, "y": 3}, - {"matrix": [3, 11], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 6.5, "y": 4, "w": 6.25}, - {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - } - } -} diff --git a/keyboards/slothie60/keymaps/60_iso/keymap.c b/keyboards/slothie60/keymaps/60_iso/keymap.c deleted file mode 100644 index 36cbed2dfd..0000000000 --- a/keyboards/slothie60/keymaps/60_iso/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - //main layer - [0] = LAYOUT_60_iso( - 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_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, - KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_RALT, KC_RGUI, KC_APP, KC_RCTL - ), - //fn1-layer - [1] = LAYOUT_60_iso( - 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_BSPC, - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/slothie60/keymaps/60_iso_split_rshift/keymap.c b/keyboards/slothie60/keymaps/60_iso_split_rshift/keymap.c deleted file mode 100644 index 5d8601a35f..0000000000 --- a/keyboards/slothie60/keymaps/60_iso_split_rshift/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - //main layer - [0] = LAYOUT_60_iso_split_rshift( - 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_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL - ), - //fn1-layer - [1] = LAYOUT_60_iso_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_BSPC, - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/slothie60/keymaps/default/keymap.c b/keyboards/slothie60/keymaps/default/keymap.c deleted file mode 100644 index 94e7287008..0000000000 --- a/keyboards/slothie60/keymaps/default/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - //main layer - [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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL - ), - //fn1-layer - [1] = LAYOUT_all( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, - _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/slothie60/readme.md b/keyboards/slothie60/readme.md deleted file mode 100644 index cb886bd33b..0000000000 --- a/keyboards/slothie60/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# slothie60 - -![slothie60](https://i.imgur.com/vXrQs6w.png) - -*60% ISO keyboard, support for GH60-cases, RGB underglow.* - -* Keyboard Maintainer: [makkomise](https://github.com/makkomise) -* Hardware Availability: [github/makkomise/slothie60](https://github.com/makkomise/slothie60) - -Make example for this keyboard (after setting up your build environment): - - make slothie60:default - -Flashing example for this keyboard: - - make slothie60: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 -* **Keycode in layout**: Press FN + Esc diff --git a/keyboards/smallkeyboard/keyboard.json b/keyboards/smallkeyboard/keyboard.json index da08cf66c2..dfbdee1cdd 100644 --- a/keyboards/smallkeyboard/keyboard.json +++ b/keyboards/smallkeyboard/keyboard.json @@ -44,14 +44,6 @@ "solid_reactive": true }, "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 64, "flags": 1}, - {"matrix": [1, 1], "x": 112, "y": 64, "flags": 1}, - {"matrix": [1, 2], "x": 224, "y": 64, "flags": 4} - ], "sleep": true }, "matrix_pins": { diff --git a/keyboards/smallkeyboard/smallkeyboard.c b/keyboards/smallkeyboard/smallkeyboard.c index c3b4a35f84..7442444b00 100644 --- a/keyboards/smallkeyboard/smallkeyboard.c +++ b/keyboards/smallkeyboard/smallkeyboard.c @@ -31,4 +31,19 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C1_12, C2_12, C3_12}, // BL5 {0, C1_13, C2_13, C3_13}, // BL6 }; + +led_config_t g_led_config = { + { + { 0, 1, 2}, + { 3, 4, 5}, + }, + { + { 48, 32},{ 48, 48},{ 64, 48}, + { 80, 16},{ 64, 32},{ 80, 32} + }, + { + 4, 4, 4, + 1, 1, 4 + } +}; #endif diff --git a/keyboards/smart68/keyboard.json b/keyboards/smart68/keyboard.json index 4de6137526..f97c347ed5 100644 --- a/keyboards/smart68/keyboard.json +++ b/keyboards/smart68/keyboard.json @@ -325,4 +325,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/smithrune/iron165r2/f072/config.h b/keyboards/smithrune/iron165r2/f072/config.h index 0417a12a0b..e53468c2a7 100644 --- a/keyboards/smithrune/iron165r2/f072/config.h +++ b/keyboards/smithrune/iron165r2/f072/config.h @@ -19,4 +19,4 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 1 +#define BACKLIGHT_PAL_MODE 1 \ No newline at end of file diff --git a/keyboards/soldered/macro_pad/keyboard.json b/keyboards/soldered/macro_pad/keyboard.json deleted file mode 100644 index 17699dac4b..0000000000 --- a/keyboards/soldered/macro_pad/keyboard.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "manufacturer": "Soldered Electronics", - "keyboard_name": "Soldered Macro Pad", - "maintainer": "SolderedElectronics", - "bootloader": "rp2040", - "encoder": { - "rotary": [ - {"pin_a": "GP18", "pin_b": "GP20"} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "direct": [ - ["GP9", "GP11", "GP19"], - ["GP10", "GP12", "GP13"] - ] - }, - "processor": "RP2040", - "usb": { - "device_version": "1.0.0", - "pid": "0xAB3C", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1} - ] - } - } -} diff --git a/keyboards/soldered/macro_pad/keymaps/default/rules.mk b/keyboards/soldered/macro_pad/keymaps/default/rules.mk deleted file mode 100644 index 3beeda7684..0000000000 --- a/keyboards/soldered/macro_pad/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/soldered/macro_pad/readme.md b/keyboards/soldered/macro_pad/readme.md deleted file mode 100644 index 2cad8485f5..0000000000 --- a/keyboards/soldered/macro_pad/readme.md +++ /dev/null @@ -1,23 +0,0 @@ -# Soldered Macro Pad - -![soldered_macro_pad](https://i.imgur.com/Sj12LhW.jpeg) - -Make your own Macro Pad! Soldered Macro Pad Solder Kit is a soldering kit which - when finished - turns into a functional macro pad! Using the pre-loaded QMK firmware, you can map the buttons to any custom function. Easily connect via USB-C. Soldered makes open source products for makers of all skill levels - so we thought to make a 'learn to solder' kit which leaves you with a functional result you can use in your day-to-day computing. - -* Keyboard Maintainer: [Soldered Electronics](https://github.com/SolderedElectronics) -* Hardware Supported: Soldered Macro Pad PCB - Open source files and documentation are coming soon -* Hardware Availability: Product links will be added soon, upon product launch, on [soldered.com](https://soldered.com) - -Make example for this keyboard (after setting up your build environment): - - make soldered/macro_pad:default - -Flashing example for this keyboard: - - make soldered/macro_pad:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader by holding the BOOT MEMORY button upon plugging in. That's it! There you can copy your new .uf2 file. diff --git a/keyboards/sowbug/68keys/68keys.c b/keyboards/sowbug/68keys/68keys.c new file mode 100644 index 0000000000..df9681481f --- /dev/null +++ b/keyboards/sowbug/68keys/68keys.c @@ -0,0 +1,36 @@ +/* Copyright 2021 Mike Tsao + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#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, 31 }, + { 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, NO_LED, NO_LED, NO_LED }, + { 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, NO_LED, NO_LED, NO_LED }, + { 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } +}, { + // LED Index to Physical Position + {0, 0}, {12, 0}, {25, 0}, {38, 0}, {51, 0}, {64, 0}, {77, 0}, {90, 0}, {103, 0}, {116, 0}, {129, 0}, {142, 0}, {155, 0}, {175, 0}, {198, 0}, {211, 0}, {3, 12}, {19, 12}, {32, 12}, {45, 12}, {58, 12}, {71, 12}, {84, 12}, {97, 12}, {110, 12}, {123, 12}, {136, 12}, {149, 12}, {162, 12}, {178, 12}, {198, 12}, {211, 12}, {4, 25}, {22, 25}, {35, 25}, {48, 25}, {61, 25}, {74, 25}, {87, 25}, {100, 25}, {113, 25}, {126, 25}, {139, 25}, {152, 25}, {173, 25}, {8, 38}, {29, 38}, {42, 38}, {55, 38}, {68, 38}, {81, 38}, {94, 38}, {107, 38}, {120, 38}, {133, 38}, {146, 38}, {170, 38}, {198, 38}, {1, 51}, {17, 51}, {34, 51}, {82, 51}, {131, 51}, {147, 51}, {163, 51}, {185, 51}, {198, 51}, {211, 51} +}, { + // LED Index to Flag + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT +} +}; + +#endif // #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/sowbug/68keys/keyboard.json b/keyboards/sowbug/68keys/keyboard.json index 38ed02706d..be4ffbf9a9 100644 --- a/keyboards/sowbug/68keys/keyboard.json +++ b/keyboards/sowbug/68keys/keyboard.json @@ -58,76 +58,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 12, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 25, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 38, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 51, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 77, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 90, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 103, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 116, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 129, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 142, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 155, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 175, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 198, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 3, "y": 12, "flags": 4}, - {"matrix": [1, 1], "x": 19, "y": 12, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 12, "flags": 4}, - {"matrix": [1, 3], "x": 45, "y": 12, "flags": 4}, - {"matrix": [1, 4], "x": 58, "y": 12, "flags": 4}, - {"matrix": [1, 5], "x": 71, "y": 12, "flags": 4}, - {"matrix": [1, 6], "x": 84, "y": 12, "flags": 4}, - {"matrix": [1, 7], "x": 97, "y": 12, "flags": 4}, - {"matrix": [1, 8], "x": 110, "y": 12, "flags": 4}, - {"matrix": [1, 9], "x": 123, "y": 12, "flags": 4}, - {"matrix": [1, 10], "x": 136, "y": 12, "flags": 4}, - {"matrix": [1, 11], "x": 149, "y": 12, "flags": 4}, - {"matrix": [1, 12], "x": 162, "y": 12, "flags": 4}, - {"matrix": [1, 13], "x": 178, "y": 12, "flags": 4}, - {"matrix": [1, 14], "x": 198, "y": 12, "flags": 4}, - {"matrix": [1, 15], "x": 211, "y": 12, "flags": 4}, - {"matrix": [2, 0], "x": 4, "y": 25, "flags": 4}, - {"matrix": [2, 1], "x": 22, "y": 25, "flags": 4}, - {"matrix": [2, 2], "x": 35, "y": 25, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 25, "flags": 4}, - {"matrix": [2, 4], "x": 61, "y": 25, "flags": 4}, - {"matrix": [2, 5], "x": 74, "y": 25, "flags": 4}, - {"matrix": [2, 6], "x": 87, "y": 25, "flags": 4}, - {"matrix": [2, 7], "x": 100, "y": 25, "flags": 4}, - {"matrix": [2, 8], "x": 113, "y": 25, "flags": 4}, - {"matrix": [2, 9], "x": 126, "y": 25, "flags": 4}, - {"matrix": [2, 10], "x": 139, "y": 25, "flags": 4}, - {"matrix": [2, 11], "x": 152, "y": 25, "flags": 4}, - {"matrix": [2, 12], "x": 173, "y": 25, "flags": 4}, - {"matrix": [3, 0], "x": 8, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 29, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 42, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 55, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 68, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 81, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 94, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 107, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 120, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 133, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 146, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 170, "y": 38, "flags": 4}, - {"matrix": [3, 12], "x": 198, "y": 38, "flags": 4}, - {"matrix": [4, 0], "x": 1, "y": 51, "flags": 4}, - {"matrix": [4, 1], "x": 17, "y": 51, "flags": 4}, - {"matrix": [4, 2], "x": 34, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 82, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 131, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 147, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 163, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 185, "y": 51, "flags": 4}, - {"matrix": [4, 8], "x": 198, "y": 51, "flags": 4}, - {"matrix": [4, 9], "x": 211, "y": 51, "flags": 4} - ], "max_brightness": 128, "sleep": true }, diff --git a/keyboards/sowbug/ansi_tkl/ansi_tkl.c b/keyboards/sowbug/ansi_tkl/ansi_tkl.c new file mode 100644 index 0000000000..508bf62fe1 --- /dev/null +++ b/keyboards/sowbug/ansi_tkl/ansi_tkl.c @@ -0,0 +1,50 @@ +/* Copyright 2021 Mike Tsao + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#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, NO_LED}, + {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, NO_LED, NO_LED, NO_LED, NO_LED}, + {63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, NO_LED, NO_LED}, + {76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED} + }, + {// LED Index to Physical Position + {0, 0}, {24, 0}, {36, 0}, {49, 0}, {61, 0}, {79, 0}, {92, 0}, {104, 0}, {116, 0}, {135, 0}, {147, 0}, {159, 0}, {171, 0}, {187, 0}, {199, 0}, {211, 0}, + {0, 14}, {12, 14}, {24, 14}, {36, 14}, {49, 14}, {61, 14}, {73, 14}, {85, 14}, {98, 14}, {110, 14}, {122, 14}, {135, 14}, {147, 14}, {165, 14}, {187, 14}, {199, 14}, {211, 14}, + {3, 24}, {18, 24}, {30, 24}, {42, 24}, {55, 24}, {67, 24}, {79, 24}, {92, 24}, {104, 24}, {116, 24}, {128, 24}, {141, 24}, {153, 24}, {168, 24}, {187, 24}, {199, 24}, {211, 24}, + {4, 34}, {21, 34}, {33, 34}, {46, 34}, {58, 34}, {70, 34}, {82, 34}, {95, 34}, {107, 34}, {119, 34}, {131, 34}, {144, 34}, {164, 34}, + {7, 44}, {27, 44}, {39, 44}, {52, 44}, {64, 44}, {76, 44}, {88, 44}, {101, 44}, {113, 44}, {125, 44}, {138, 44}, {161, 44}, {199, 44}, + {1, 54}, {16, 54}, {32, 54}, {78, 54}, {124, 54}, {139, 54}, {154, 54}, {170, 54}, {187, 54}, {199, 54}, {211, 54}}, + {// LED Index to Flag + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT + } +}; + +#endif // #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/sowbug/ansi_tkl/keyboard.json b/keyboards/sowbug/ansi_tkl/keyboard.json index 95f3925ff6..50b9d8095a 100644 --- a/keyboards/sowbug/ansi_tkl/keyboard.json +++ b/keyboards/sowbug/ansi_tkl/keyboard.json @@ -58,95 +58,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 24, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 36, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 49, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 61, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 79, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 92, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 104, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 116, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 147, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 159, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 171, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 187, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 199, "y": 0, "flags": 4}, - {"matrix": [0, 15], "x": 211, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 14, "flags": 4}, - {"matrix": [1, 1], "x": 12, "y": 14, "flags": 4}, - {"matrix": [1, 2], "x": 24, "y": 14, "flags": 4}, - {"matrix": [1, 3], "x": 36, "y": 14, "flags": 4}, - {"matrix": [1, 4], "x": 49, "y": 14, "flags": 4}, - {"matrix": [1, 5], "x": 61, "y": 14, "flags": 4}, - {"matrix": [1, 6], "x": 73, "y": 14, "flags": 4}, - {"matrix": [1, 7], "x": 85, "y": 14, "flags": 4}, - {"matrix": [1, 8], "x": 98, "y": 14, "flags": 4}, - {"matrix": [1, 9], "x": 110, "y": 14, "flags": 4}, - {"matrix": [1, 10], "x": 122, "y": 14, "flags": 4}, - {"matrix": [1, 11], "x": 135, "y": 14, "flags": 4}, - {"matrix": [1, 12], "x": 147, "y": 14, "flags": 4}, - {"matrix": [1, 13], "x": 165, "y": 14, "flags": 4}, - {"matrix": [1, 14], "x": 187, "y": 14, "flags": 4}, - {"matrix": [1, 15], "x": 199, "y": 14, "flags": 4}, - {"matrix": [1, 16], "x": 211, "y": 14, "flags": 4}, - {"matrix": [2, 0], "x": 3, "y": 24, "flags": 4}, - {"matrix": [2, 1], "x": 18, "y": 24, "flags": 4}, - {"matrix": [2, 2], "x": 30, "y": 24, "flags": 4}, - {"matrix": [2, 3], "x": 42, "y": 24, "flags": 4}, - {"matrix": [2, 4], "x": 55, "y": 24, "flags": 4}, - {"matrix": [2, 5], "x": 67, "y": 24, "flags": 4}, - {"matrix": [2, 6], "x": 79, "y": 24, "flags": 4}, - {"matrix": [2, 7], "x": 92, "y": 24, "flags": 4}, - {"matrix": [2, 8], "x": 104, "y": 24, "flags": 4}, - {"matrix": [2, 9], "x": 116, "y": 24, "flags": 4}, - {"matrix": [2, 10], "x": 128, "y": 24, "flags": 4}, - {"matrix": [2, 11], "x": 141, "y": 24, "flags": 4}, - {"matrix": [2, 12], "x": 153, "y": 24, "flags": 4}, - {"matrix": [2, 13], "x": 168, "y": 24, "flags": 4}, - {"matrix": [2, 14], "x": 187, "y": 24, "flags": 4}, - {"matrix": [2, 15], "x": 199, "y": 24, "flags": 4}, - {"matrix": [2, 16], "x": 211, "y": 24, "flags": 4}, - {"matrix": [3, 0], "x": 4, "y": 34, "flags": 4}, - {"matrix": [3, 1], "x": 21, "y": 34, "flags": 4}, - {"matrix": [3, 2], "x": 33, "y": 34, "flags": 4}, - {"matrix": [3, 3], "x": 46, "y": 34, "flags": 4}, - {"matrix": [3, 4], "x": 58, "y": 34, "flags": 4}, - {"matrix": [3, 5], "x": 70, "y": 34, "flags": 4}, - {"matrix": [3, 6], "x": 82, "y": 34, "flags": 4}, - {"matrix": [3, 7], "x": 95, "y": 34, "flags": 4}, - {"matrix": [3, 8], "x": 107, "y": 34, "flags": 4}, - {"matrix": [3, 9], "x": 119, "y": 34, "flags": 4}, - {"matrix": [3, 10], "x": 131, "y": 34, "flags": 4}, - {"matrix": [3, 11], "x": 144, "y": 34, "flags": 4}, - {"matrix": [3, 12], "x": 164, "y": 34, "flags": 4}, - {"matrix": [4, 0], "x": 7, "y": 44, "flags": 4}, - {"matrix": [4, 1], "x": 27, "y": 44, "flags": 4}, - {"matrix": [4, 2], "x": 39, "y": 44, "flags": 4}, - {"matrix": [4, 3], "x": 52, "y": 44, "flags": 4}, - {"matrix": [4, 4], "x": 64, "y": 44, "flags": 4}, - {"matrix": [4, 5], "x": 76, "y": 44, "flags": 4}, - {"matrix": [4, 6], "x": 88, "y": 44, "flags": 4}, - {"matrix": [4, 7], "x": 101, "y": 44, "flags": 4}, - {"matrix": [4, 8], "x": 113, "y": 44, "flags": 4}, - {"matrix": [4, 9], "x": 125, "y": 44, "flags": 4}, - {"matrix": [4, 10], "x": 138, "y": 44, "flags": 4}, - {"matrix": [4, 11], "x": 161, "y": 44, "flags": 4}, - {"matrix": [4, 12], "x": 199, "y": 44, "flags": 4}, - {"matrix": [5, 0], "x": 1, "y": 54, "flags": 4}, - {"matrix": [5, 1], "x": 16, "y": 54, "flags": 4}, - {"matrix": [5, 2], "x": 32, "y": 54, "flags": 4}, - {"matrix": [5, 3], "x": 78, "y": 54, "flags": 4}, - {"matrix": [5, 4], "x": 124, "y": 54, "flags": 4}, - {"matrix": [5, 5], "x": 139, "y": 54, "flags": 4}, - {"matrix": [5, 6], "x": 154, "y": 54, "flags": 4}, - {"matrix": [5, 7], "x": 170, "y": 54, "flags": 4}, - {"matrix": [5, 8], "x": 187, "y": 54, "flags": 4}, - {"matrix": [5, 9], "x": 199, "y": 54, "flags": 4}, - {"matrix": [5, 10], "x": 211, "y": 54, "flags": 4} - ], "max_brightness": 128, "sleep": true }, diff --git a/keyboards/spaceholdings/nebula12b/keyboard.json b/keyboards/spaceholdings/nebula12b/keyboard.json index c1092a75db..6990da485b 100755 --- a/keyboards/spaceholdings/nebula12b/keyboard.json +++ b/keyboards/spaceholdings/nebula12b/keyboard.json @@ -57,24 +57,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"x": 224, "y": 0, "flags": 2}, - {"matrix": [0, 2], "x": 224, "y": 9, "flags": 4}, - {"matrix": [1, 2], "x": 224, "y": 27, "flags": 4}, - {"matrix": [1, 1], "x": 112, "y": 27, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 27, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 46, "flags": 4}, - {"matrix": [2, 1], "x": 112, "y": 46, "flags": 4}, - {"matrix": [2, 2], "x": 224, "y": 46, "flags": 4}, - {"x": 224, "y": 55, "flags": 2}, - {"matrix": [3, 2], "x": 224, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 112, "y": 64, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 64, "flags": 4}, - {"x": 0, "y": 55, "flags": 2}, - {"matrix": [0, 0], "x": 0, "y": 9, "flags": 4}, - {"x": 0, "y": 0, "flags": 2}, - {"matrix": [0, 1], "x": 112, "y": 9, "flags": 4} - ], "sleep": true }, "build": { diff --git a/keyboards/spaceholdings/nebula12b/nebula12b.c b/keyboards/spaceholdings/nebula12b/nebula12b.c new file mode 100755 index 0000000000..6bca6c331b --- /dev/null +++ b/keyboards/spaceholdings/nebula12b/nebula12b.c @@ -0,0 +1,42 @@ +/* Copyright 2022 Yiancar + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { { + { 13, 15, 1 }, + { 4, 3, 2 }, + { 5, 6, 7 }, + { 11, 10, 9 }, +}, { + {224, 0 }, {224, 9 }, {224, 27 }, {112, 27 }, { 0,27 }, + { 0, 46 }, {112, 46 }, {224, 46 }, {224, 55 }, {224,64 }, + {112, 64 }, { 0, 64 }, { 0, 55 }, { 0, 9 }, { 0, 0 }, {112, 9 } +}, { + 2, + 4, 4, 4, 4, 4, 4, 4, + 2, + 4, 4, 4, + 2, + 4, + 2, + 4 +} }; +// clang-format on +#endif + diff --git a/keyboards/spaceholdings/nebula68b/hs/hs.c b/keyboards/spaceholdings/nebula68b/hs/hs.c new file mode 100755 index 0000000000..7ac8da2e0d --- /dev/null +++ b/keyboards/spaceholdings/nebula68b/hs/hs.c @@ -0,0 +1,41 @@ +/* Copyright 2021 Yiancar + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { { + { 0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17, 18 }, + { 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, NO_LED, 21 }, + { 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 22, 49, 19 }, + { 63, NO_LED, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 20 }, + { 64, 65, 67, NO_LED, NO_LED, NO_LED, 69, NO_LED, NO_LED, 71, 72, 73, 75, 76, 77 } +}, { + { 6, 10}, { 19, 10}, { 32, 10}, { 39, 11}, { 45, 10}, { 58, 10}, { 71, 10}, { 84, 10}, { 90, 11}, { 97, 10}, {110, 10}, {123, 10}, {130, 11}, {136, 10}, {149, 10}, {162, 10}, + {178, 13}, {182, 10}, {205, 10}, {218, 10}, {218, 23}, {205, 23}, {185, 23}, {169, 23}, {156, 23}, {143, 23}, {130, 23}, {117, 23}, {104, 23}, { 91, 23}, { 78, 23}, + { 65, 23}, { 52, 23}, { 39, 23}, { 26, 23}, { 10, 23}, { 4, 26}, { 17, 29}, { 29, 35}, { 42, 35}, { 55, 35}, { 68, 35}, { 81, 35}, { 94, 35}, {107, 35}, {120, 35}, {133, 35}, + {146, 35}, {159, 35}, {180, 35}, {220, 32}, {205, 48}, {177, 48}, {153, 48}, {140, 48}, {127, 48}, {114, 48}, {101, 48}, { 88, 48}, { 75, 48}, { 62, 48}, { 49, 48}, { 36, 48}, + { 15, 48}, { 8, 61}, { 24, 61}, { 32, 52}, { 41, 61}, { 81, 56}, { 89, 61}, {132, 53}, {138, 61}, {154, 61}, {170, 61}, {179, 53}, {192, 61}, {205, 61}, {218, 61} +}, { + 1, 4, 4, 2, 4, 4, 4, 4, 2, 4, 4, 4, 2, 4, 4, 4, 2, 1, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 2, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 2, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 2, 1, 2, 4, 2, 1, 1, 1, 2, 1, 1, 1 +} }; +// clang-format on +#endif diff --git a/keyboards/spaceholdings/nebula68b/hs/keyboard.json b/keyboards/spaceholdings/nebula68b/hs/keyboard.json index f99fd95bc4..ca41cff8e6 100755 --- a/keyboards/spaceholdings/nebula68b/hs/keyboard.json +++ b/keyboards/spaceholdings/nebula68b/hs/keyboard.json @@ -1,87 +1,5 @@ { "keyboard_name": "NEBULA68B HOTSWAP", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 6, "y": 10, "flags": 1}, - {"matrix": [0, 1], "x": 19, "y": 10, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 10, "flags": 4}, - {"x": 39, "y": 11, "flags": 2}, - {"matrix": [0, 3], "x": 45, "y": 10, "flags": 4}, - {"matrix": [0, 4], "x": 58, "y": 10, "flags": 4}, - {"matrix": [0, 5], "x": 71, "y": 10, "flags": 4}, - {"matrix": [0, 6], "x": 84, "y": 10, "flags": 4}, - {"x": 90, "y": 11, "flags": 2}, - {"matrix": [0, 7], "x": 97, "y": 10, "flags": 4}, - {"matrix": [0, 8], "x": 110, "y": 10, "flags": 4}, - {"matrix": [0, 9], "x": 123, "y": 10, "flags": 4}, - {"x": 130, "y": 11, "flags": 2}, - {"matrix": [0, 10], "x": 136, "y": 10, "flags": 4}, - {"matrix": [0, 11], "x": 149, "y": 10, "flags": 4}, - {"matrix": [0, 12], "x": 162, "y": 10, "flags": 4}, - {"x": 178, "y": 13, "flags": 2}, - {"matrix": [0, 13], "x": 182, "y": 10, "flags": 1}, - {"matrix": [0, 14], "x": 205, "y": 10, "flags": 1}, - {"matrix": [2, 14], "x": 218, "y": 10, "flags": 1}, - {"matrix": [3, 14], "x": 218, "y": 23, "flags": 1}, - {"matrix": [1, 14], "x": 205, "y": 23, "flags": 1}, - {"matrix": [2, 12], "x": 185, "y": 23, "flags": 4}, - {"matrix": [1, 12], "x": 169, "y": 23, "flags": 4}, - {"matrix": [1, 11], "x": 156, "y": 23, "flags": 4}, - {"matrix": [1, 10], "x": 143, "y": 23, "flags": 4}, - {"matrix": [1, 9], "x": 130, "y": 23, "flags": 4}, - {"matrix": [1, 8], "x": 117, "y": 23, "flags": 4}, - {"matrix": [1, 7], "x": 104, "y": 23, "flags": 4}, - {"matrix": [1, 6], "x": 91, "y": 23, "flags": 4}, - {"matrix": [1, 5], "x": 78, "y": 23, "flags": 4}, - {"matrix": [1, 4], "x": 65, "y": 23, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 23, "flags": 4}, - {"matrix": [1, 2], "x": 39, "y": 23, "flags": 4}, - {"matrix": [1, 1], "x": 26, "y": 23, "flags": 4}, - {"matrix": [1, 0], "x": 10, "y": 23, "flags": 1}, - {"x": 4, "y": 26, "flags": 2}, - {"matrix": [2, 0], "x": 17, "y": 29, "flags": 1}, - {"matrix": [2, 1], "x": 29, "y": 35, "flags": 4}, - {"matrix": [2, 2], "x": 42, "y": 35, "flags": 4}, - {"matrix": [2, 3], "x": 55, "y": 35, "flags": 4}, - {"matrix": [2, 4], "x": 68, "y": 35, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 35, "flags": 4}, - {"matrix": [2, 6], "x": 94, "y": 35, "flags": 4}, - {"matrix": [2, 7], "x": 107, "y": 35, "flags": 4}, - {"matrix": [2, 8], "x": 120, "y": 35, "flags": 4}, - {"matrix": [2, 9], "x": 133, "y": 35, "flags": 4}, - {"matrix": [2, 10], "x": 146, "y": 35, "flags": 4}, - {"matrix": [2, 11], "x": 159, "y": 35, "flags": 4}, - {"matrix": [2, 13], "x": 180, "y": 35, "flags": 1}, - {"x": 220, "y": 32, "flags": 2}, - {"matrix": [3, 13], "x": 205, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 177, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 153, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 15, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 8, "y": 61, "flags": 1}, - {"matrix": [4, 1], "x": 24, "y": 61, "flags": 1}, - {"x": 32, "y": 52, "flags": 2}, - {"matrix": [4, 2], "x": 41, "y": 61, "flags": 1}, - {"x": 81, "y": 56, "flags": 2}, - {"matrix": [4, 6], "x": 89, "y": 61, "flags": 4}, - {"x": 132, "y": 53, "flags": 2}, - {"matrix": [4, 9], "x": 138, "y": 61, "flags": 1}, - {"matrix": [4, 10], "x": 154, "y": 61, "flags": 1}, - {"matrix": [4, 11], "x": 170, "y": 61, "flags": 1}, - {"x": 179, "y": 53, "flags": 2}, - {"matrix": [4, 12], "x": 192, "y": 61, "flags": 1}, - {"matrix": [4, 13], "x": 205, "y": 61, "flags": 1}, - {"matrix": [4, 14], "x": 218, "y": 61, "flags": 1} - ] - }, "community_layouts": ["68_ansi"], "layouts": { "LAYOUT_68_ansi": { diff --git a/keyboards/spaceholdings/nebula68b/solder/keyboard.json b/keyboards/spaceholdings/nebula68b/solder/keyboard.json index ea002840e2..3a50385fe3 100755 --- a/keyboards/spaceholdings/nebula68b/solder/keyboard.json +++ b/keyboards/spaceholdings/nebula68b/solder/keyboard.json @@ -1,88 +1,5 @@ { "keyboard_name": "NEBULA68B SOLDER", - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 6, "y": 10, "flags": 1}, - {"matrix": [0, 1], "x": 19, "y": 10, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 10, "flags": 4}, - {"x": 44, "y": 13, "flags": 2}, - {"matrix": [0, 3], "x": 45, "y": 10, "flags": 4}, - {"matrix": [0, 4], "x": 58, "y": 10, "flags": 4}, - {"matrix": [0, 5], "x": 71, "y": 10, "flags": 4}, - {"matrix": [0, 6], "x": 84, "y": 10, "flags": 4}, - {"x": 88, "y": 13, "flags": 2}, - {"matrix": [0, 7], "x": 97, "y": 10, "flags": 4}, - {"matrix": [0, 8], "x": 110, "y": 10, "flags": 4}, - {"matrix": [0, 9], "x": 123, "y": 10, "flags": 4}, - {"x": 132, "y": 13, "flags": 2}, - {"matrix": [0, 10], "x": 136, "y": 10, "flags": 4}, - {"matrix": [0, 11], "x": 149, "y": 10, "flags": 4}, - {"matrix": [0, 12], "x": 162, "y": 10, "flags": 4}, - {"matrix": [1, 13], "x": 175, "y": 10, "flags": 4}, - {"x": 179, "y": 13, "flags": 2}, - {"matrix": [0, 13], "x": 188, "y": 10, "flags": 1}, - {"matrix": [0, 14], "x": 205, "y": 10, "flags": 1}, - {"matrix": [2, 14], "x": 218, "y": 10, "flags": 1}, - {"matrix": [3, 14], "x": 218, "y": 23, "flags": 1}, - {"matrix": [1, 14], "x": 205, "y": 23, "flags": 1}, - {"matrix": [2, 12], "x": 185, "y": 23, "flags": 4}, - {"matrix": [1, 12], "x": 169, "y": 23, "flags": 4}, - {"matrix": [1, 11], "x": 156, "y": 23, "flags": 4}, - {"matrix": [1, 10], "x": 143, "y": 23, "flags": 4}, - {"matrix": [1, 9], "x": 130, "y": 23, "flags": 4}, - {"matrix": [1, 8], "x": 117, "y": 23, "flags": 4}, - {"matrix": [1, 7], "x": 104, "y": 23, "flags": 4}, - {"matrix": [1, 6], "x": 91, "y": 23, "flags": 4}, - {"matrix": [1, 5], "x": 78, "y": 23, "flags": 4}, - {"matrix": [1, 4], "x": 65, "y": 23, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 23, "flags": 4}, - {"matrix": [1, 2], "x": 39, "y": 23, "flags": 4}, - {"matrix": [1, 1], "x": 26, "y": 23, "flags": 4}, - {"matrix": [1, 0], "x": 10, "y": 23, "flags": 1}, - {"x": 4, "y": 26, "flags": 2}, - {"matrix": [2, 0], "x": 11, "y": 35, "flags": 1}, - {"matrix": [2, 1], "x": 29, "y": 35, "flags": 4}, - {"matrix": [2, 2], "x": 42, "y": 35, "flags": 4}, - {"matrix": [2, 3], "x": 55, "y": 35, "flags": 4}, - {"matrix": [2, 4], "x": 68, "y": 35, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 35, "flags": 4}, - {"matrix": [2, 6], "x": 94, "y": 35, "flags": 4}, - {"matrix": [2, 7], "x": 107, "y": 35, "flags": 4}, - {"matrix": [2, 8], "x": 120, "y": 35, "flags": 4}, - {"matrix": [2, 9], "x": 133, "y": 35, "flags": 4}, - {"matrix": [2, 10], "x": 146, "y": 35, "flags": 4}, - {"matrix": [2, 11], "x": 159, "y": 35, "flags": 4}, - {"matrix": [2, 13], "x": 180, "y": 35, "flags": 1}, - {"x": 220, "y": 32, "flags": 2}, - {"matrix": [3, 13], "x": 205, "y": 48, "flags": 1}, - {"matrix": [3, 12], "x": 177, "y": 48, "flags": 1}, - {"matrix": [3, 11], "x": 153, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 140, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 127, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 114, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 101, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 88, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 75, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 62, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 15, "y": 48, "flags": 1}, - {"matrix": [4, 0], "x": 8, "y": 61, "flags": 1}, - {"matrix": [4, 1], "x": 24, "y": 61, "flags": 1}, - {"x": 32, "y": 52, "flags": 2}, - {"matrix": [4, 2], "x": 41, "y": 61, "flags": 1}, - {"x": 82, "y": 56, "flags": 2}, - {"matrix": [4, 6], "x": 89, "y": 61, "flags": 4}, - {"x": 132, "y": 53, "flags": 2}, - {"matrix": [4, 9], "x": 138, "y": 61, "flags": 1}, - {"matrix": [4, 10], "x": 154, "y": 61, "flags": 1}, - {"matrix": [4, 11], "x": 170, "y": 61, "flags": 1}, - {"x": 179, "y": 53, "flags": 2}, - {"matrix": [4, 12], "x": 192, "y": 61, "flags": 1}, - {"matrix": [4, 13], "x": 205, "y": 61, "flags": 1}, - {"matrix": [4, 14], "x": 218, "y": 61, "flags": 1} - ] - }, "community_layouts": ["68_ansi"], "layouts": { "LAYOUT_68_ansi": { diff --git a/keyboards/spaceholdings/nebula68b/solder/solder.c b/keyboards/spaceholdings/nebula68b/solder/solder.c new file mode 100755 index 0000000000..352cee1d52 --- /dev/null +++ b/keyboards/spaceholdings/nebula68b/solder/solder.c @@ -0,0 +1,41 @@ +/* Copyright 2021 Yiancar + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { { + { 0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 18, 19 }, + { 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 16, 22 }, + { 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 23, 50, 20 }, + { 64, NO_LED, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 21 }, + { 65, 66, 68, NO_LED, NO_LED, NO_LED, 70, NO_LED, NO_LED, 72, 73, 74, 76, 77, 78 } +}, { + { 6, 10}, { 19, 10}, { 32, 10}, { 44, 13}, { 45, 10}, { 58, 10}, { 71, 10}, { 84, 10}, { 88, 13}, { 97, 10}, {110, 10}, {123, 10}, {132, 13}, {136, 10}, {149, 10}, {162, 10}, + {175, 10}, {179, 13}, {188, 10}, {205, 10}, {218, 10}, {218, 23}, {205, 23}, {185, 23}, {169, 23}, {156, 23}, {143, 23}, {130, 23}, {117, 23}, {104, 23}, { 91, 23}, { 78, 23}, + { 65, 23}, { 52, 23}, { 39, 23}, { 26, 23}, { 10, 23}, { 4, 26}, { 11, 35}, { 29, 35}, { 42, 35}, { 55, 35}, { 68, 35}, { 81, 35}, { 94, 35}, {107, 35}, {120, 35}, {133, 35}, + {146, 35}, {159, 35}, {180, 35}, {220, 32}, {205, 48}, {177, 48}, {153, 48}, {140, 48}, {127, 48}, {114, 48}, {101, 48}, { 88, 48}, { 75, 48}, { 62, 48}, { 49, 48}, { 36, 48}, + { 15, 48}, { 8, 61}, { 24, 61}, { 32, 52}, { 41, 61}, { 82, 56}, { 89, 61}, {132, 53}, {138, 61}, {154, 61}, {170, 61}, {179, 53}, {192, 61}, {205, 61}, {218, 61} +}, { + 1, 4, 4, 2, 4, 4, 4, 4, 2, 4, 4, 4, 2, 4, 4, 4, 4, 2, 1, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 2, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 2, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 2, 1, 2, 4, 2, 1, 1, 1, 2, 1, 1, 1 +} }; +// clang-format on +#endif diff --git a/keyboards/spaceman/2_milk/keymaps/emoji/config.h b/keyboards/spaceman/2_milk/keymaps/emoji/config.h index 96f5c8aa26..a564c44a29 100644 --- a/keyboards/spaceman/2_milk/keymaps/emoji/config.h +++ b/keyboards/spaceman/2_milk/keymaps/emoji/config.h @@ -1,2 +1,2 @@ #define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE -#define TAPPING_TERM 300 +#define TAPPING_TERM 300 \ No newline at end of file diff --git a/keyboards/spaceman/2_milk/keymaps/emoji/readme.md b/keyboards/spaceman/2_milk/keymaps/emoji/readme.md index ca7faaf170..43b7dc4257 100644 --- a/keyboards/spaceman/2_milk/keymaps/emoji/readme.md +++ b/keyboards/spaceman/2_milk/keymaps/emoji/readme.md @@ -36,4 +36,4 @@ multiples times will produce different emojis. - 2 Taps: `(ノಠ痊ಠ)ノ彡┻━┻` - 3 Taps: `╭∩╮(-_-)╭∩╮` - 4 Taps: `(づ ̄ ³ ̄)づ` -- 5 Taps: `(︺︹︺)` +- 5 Taps: `(︺︹︺)` \ No newline at end of file diff --git a/keyboards/spaceman/2_milk/keymaps/emoji/rules.mk b/keyboards/spaceman/2_milk/keymaps/emoji/rules.mk index 7ff594a2ae..7a64eb9023 100644 --- a/keyboards/spaceman/2_milk/keymaps/emoji/rules.mk +++ b/keyboards/spaceman/2_milk/keymaps/emoji/rules.mk @@ -1,2 +1,2 @@ UNICODE_ENABLE = yes # Unicode -TAP_DANCE_ENABLE = yes # Tap Dance +TAP_DANCE_ENABLE = yes # Tap Dance \ No newline at end of file diff --git a/keyboards/spleeb/spleeb.c b/keyboards/spleeb/spleeb.c index 96cf622743..33131fa3e2 100644 --- a/keyboards/spleeb/spleeb.c +++ b/keyboards/spleeb/spleeb.c @@ -283,6 +283,7 @@ void pointing_device_init_kb(void) { cirque_pinnacle_enable_cursor_glide(false); set_auto_mouse_enable(true); + pointing_device_init_user(); } /** diff --git a/keyboards/split67/readme.md b/keyboards/split67/readme.md index 5db1f48338..e42fa9f9ff 100644 --- a/keyboards/split67/readme.md +++ b/keyboards/split67/readme.md @@ -23,4 +23,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/splitkb/aurora/corne/glcdfont.c b/keyboards/splitkb/aurora/corne/glcdfont.c index e75b1b4df6..d6a58634d1 100644 --- a/keyboards/splitkb/aurora/corne/glcdfont.c +++ b/keyboards/splitkb/aurora/corne/glcdfont.c @@ -1,19 +1,3 @@ -/* Copyright 2023 splitkb.com - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * 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 "progmem.h" // NOTE: This file is a copy of `crkbd/soundmonster/glcdfont.c` diff --git a/tests/tap_hold_configurations/speculative_hold/all_mods/config.h b/keyboards/splitkb/aurora/corne/rev1/config.h similarity index 79% rename from tests/tap_hold_configurations/speculative_hold/all_mods/config.h rename to keyboards/splitkb/aurora/corne/rev1/config.h index e4bcba13c1..5a5910d81c 100644 --- a/tests/tap_hold_configurations/speculative_hold/all_mods/config.h +++ b/keyboards/splitkb/aurora/corne/rev1/config.h @@ -1,5 +1,4 @@ -/* Copyright 2022 Vladislav Kucheriavykh - * Copyright 2025 Google LLC +/* Copyright 2022 splitkb.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,7 +16,8 @@ #pragma once -#include "test_common.h" - -#define SPECULATIVE_HOLD -#define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_F24 +// Not yet available in `info.json` +#ifdef OLED_ENABLE +# define OLED_DISPLAY_128X32 +# define SPLIT_OLED_ENABLE +#endif diff --git a/keyboards/splitkb/aurora/corne/rev1/keyboard.json b/keyboards/splitkb/aurora/corne/rev1/keyboard.json index 9cbc2065ba..40983ec28d 100644 --- a/keyboards/splitkb/aurora/corne/rev1/keyboard.json +++ b/keyboards/splitkb/aurora/corne/rev1/keyboard.json @@ -103,8 +103,7 @@ }, "transport": { "sync": { - "matrix_state": true, - "oled": true + "matrix_state": true } } }, diff --git a/keyboards/splitkb/aurora/helix/config.h b/keyboards/splitkb/aurora/helix/config.h index 872724ceb3..0212d8e9af 100644 --- a/keyboards/splitkb/aurora/helix/config.h +++ b/keyboards/splitkb/aurora/helix/config.h @@ -18,4 +18,4 @@ #ifdef OLED_ENABLE # define OLED_FONT_H "keyboards/splitkb/aurora/helix/glcdfont.c" -#endif +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/info.json b/keyboards/splitkb/aurora/helix/info.json index 4782d0da8f..5729b00207 100644 --- a/keyboards/splitkb/aurora/helix/info.json +++ b/keyboards/splitkb/aurora/helix/info.json @@ -13,4 +13,4 @@ "device_version": "1.0.0", "vid": "0x8D1D" } -} +} \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/debug/config.h b/keyboards/splitkb/aurora/helix/keymaps/debug/config.h index 9c0c9483a9..a15def3fb9 100644 --- a/keyboards/splitkb/aurora/helix/keymaps/debug/config.h +++ b/keyboards/splitkb/aurora/helix/keymaps/debug/config.h @@ -16,4 +16,4 @@ #pragma once -#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_BREATHING \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/debug/keymap.c b/keyboards/splitkb/aurora/helix/keymaps/debug/keymap.c index 497374d057..2c99ef9429 100644 --- a/keyboards/splitkb/aurora/helix/keymaps/debug/keymap.c +++ b/keyboards/splitkb/aurora/helix/keymaps/debug/keymap.c @@ -65,4 +65,4 @@ bool oled_task_user(void) { oled_write_P(PSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789!@#$%^&*()[]{}-=_+?"), false); return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/debug/readme.md b/keyboards/splitkb/aurora/helix/keymaps/debug/readme.md index 3b6fbdaf1b..827235e447 100644 --- a/keyboards/splitkb/aurora/helix/keymaps/debug/readme.md +++ b/keyboards/splitkb/aurora/helix/keymaps/debug/readme.md @@ -21,4 +21,4 @@ Both underglow and per-key RGB should be fading between red and off. ## OLEDs -Both the primary and secondary side should be filled with characters. +Both the primary and secondary side should be filled with characters. \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/debug/rules.mk b/keyboards/splitkb/aurora/helix/keymaps/debug/rules.mk index e1b414f5c1..9c9df9b126 100644 --- a/keyboards/splitkb/aurora/helix/keymaps/debug/rules.mk +++ b/keyboards/splitkb/aurora/helix/keymaps/debug/rules.mk @@ -5,4 +5,4 @@ # RGB Matrix is enabled at the revision level, # while we use the regular RGB underglow for testing RGB_MATRIX_ENABLE = no -RGBLIGHT_ENABLE = yes +RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/default/config.h b/keyboards/splitkb/aurora/helix/keymaps/default/config.h index 6f1dc5fde4..a6863a01e8 100644 --- a/keyboards/splitkb/aurora/helix/keymaps/default/config.h +++ b/keyboards/splitkb/aurora/helix/keymaps/default/config.h @@ -21,4 +21,4 @@ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_RAINBOW_BEACON -#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/default/keymap.json b/keyboards/splitkb/aurora/helix/keymaps/default/keymap.json index cfeea8726d..5411d34941 100644 --- a/keyboards/splitkb/aurora/helix/keymaps/default/keymap.json +++ b/keyboards/splitkb/aurora/helix/keymaps/default/keymap.json @@ -49,4 +49,4 @@ ], "layout": "LAYOUT", "version": 1 -} +} \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/default/readme.md b/keyboards/splitkb/aurora/helix/keymaps/default/readme.md index 4e3710e67c..2f0aa63ca7 100644 --- a/keyboards/splitkb/aurora/helix/keymaps/default/readme.md +++ b/keyboards/splitkb/aurora/helix/keymaps/default/readme.md @@ -85,4 +85,4 @@ qmk json2c -o keymap.c keymap.json ``` You can add custom C code to the newly generated `keymap.c` file. Do note that you have to use **either** a C file **or** a JSON file - you cannot do both! -**If a JSON file is present, the C file is ignored.** +**If a JSON file is present, the C file is ignored.** \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/readme.md b/keyboards/splitkb/aurora/helix/readme.md index 19c5cdf38c..fc7727f145 100644 --- a/keyboards/splitkb/aurora/helix/readme.md +++ b/keyboards/splitkb/aurora/helix/readme.md @@ -45,4 +45,4 @@ The Aurora series were designed as a homage to open source keyboard kits that ha With the Aurora series, we aim to make these kits available to the community in a way that both honors the original, while also offering the best possible feature set and a consistent, well-documented build experience. -For each kit sold, we give back to the community by donating €1 across [the firmware projects we support](https://opencollective.com/splitkb). This way we support open source projects and benefit everyone using keyboards, whether they use our kits or their own. +For each kit sold, we give back to the community by donating €1 across [the firmware projects we support](https://opencollective.com/splitkb). This way we support open source projects and benefit everyone using keyboards, whether they use our kits or their own. \ No newline at end of file diff --git a/keyboards/yiancardesigns/float65/halconf.h b/keyboards/splitkb/aurora/helix/rev1/config.h similarity index 86% rename from keyboards/yiancardesigns/float65/halconf.h rename to keyboards/splitkb/aurora/helix/rev1/config.h index 1c97d8e0fb..522bea4d5e 100644 --- a/keyboards/yiancardesigns/float65/halconf.h +++ b/keyboards/splitkb/aurora/helix/rev1/config.h @@ -1,4 +1,4 @@ -/* Copyright 2024 Yiancar-Designs +/* Copyright 2023 splitkb.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,6 +16,5 @@ #pragma once -#define HAL_USE_SPI TRUE - -#include_next +#define OLED_DISPLAY_128X32 +#define SPLIT_OLED_ENABLE diff --git a/keyboards/splitkb/aurora/helix/rev1/keyboard.json b/keyboards/splitkb/aurora/helix/rev1/keyboard.json index 3091bf9407..0c3569f26c 100644 --- a/keyboards/splitkb/aurora/helix/rev1/keyboard.json +++ b/keyboards/splitkb/aurora/helix/rev1/keyboard.json @@ -129,11 +129,6 @@ }, "serial": { "pin": "D2" - }, - "transport": { - "sync": { - "oled": true - } } }, "usb": { @@ -212,4 +207,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/splitkb/aurora/lily58/glcdfont.c b/keyboards/splitkb/aurora/lily58/glcdfont.c index e75b1b4df6..d6a58634d1 100644 --- a/keyboards/splitkb/aurora/lily58/glcdfont.c +++ b/keyboards/splitkb/aurora/lily58/glcdfont.c @@ -1,19 +1,3 @@ -/* Copyright 2023 splitkb.com - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * 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 "progmem.h" // NOTE: This file is a copy of `crkbd/soundmonster/glcdfont.c` diff --git a/keyboards/splitkb/aurora/lily58/keymaps/default/readme.md b/keyboards/splitkb/aurora/lily58/keymaps/default/readme.md index 4dfd1a40d0..05cf701699 100644 --- a/keyboards/splitkb/aurora/lily58/keymaps/default/readme.md +++ b/keyboards/splitkb/aurora/lily58/keymaps/default/readme.md @@ -85,4 +85,4 @@ qmk json2c -o keymap.c keymap.json ``` You can add custom C code to the newly generated `keymap.c` file. Do note that you have to use **either** a C file **or** a JSON file - you cannot do both! -**If a JSON file is present, the C file is ignored.** +**If a JSON file is present, the C file is ignored.** \ No newline at end of file diff --git a/keyboards/splitkb/aurora/lily58/rev1/config.h b/keyboards/splitkb/aurora/lily58/rev1/config.h new file mode 100644 index 0000000000..5a5910d81c --- /dev/null +++ b/keyboards/splitkb/aurora/lily58/rev1/config.h @@ -0,0 +1,23 @@ +/* Copyright 2022 splitkb.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * 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 + +// Not yet available in `info.json` +#ifdef OLED_ENABLE +# define OLED_DISPLAY_128X32 +# define SPLIT_OLED_ENABLE +#endif diff --git a/keyboards/splitkb/aurora/lily58/rev1/keyboard.json b/keyboards/splitkb/aurora/lily58/rev1/keyboard.json index 74e30126fc..60645f9deb 100644 --- a/keyboards/splitkb/aurora/lily58/rev1/keyboard.json +++ b/keyboards/splitkb/aurora/lily58/rev1/keyboard.json @@ -114,8 +114,7 @@ }, "transport": { "sync": { - "matrix_state": true, - "oled": true + "matrix_state": true } } }, diff --git a/keyboards/splitkb/aurora/sofle_v2/config.h b/keyboards/splitkb/aurora/sofle_v2/config.h index b360db6996..7b00c71645 100644 --- a/keyboards/splitkb/aurora/sofle_v2/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/config.h @@ -18,4 +18,4 @@ #ifdef OLED_ENABLE # define OLED_FONT_H "keyboards/splitkb/aurora/sofle_v2/glcdfont.c" -#endif +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h index 9c0c9483a9..a15def3fb9 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h @@ -16,4 +16,4 @@ #pragma once -#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_BREATHING \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c index 4ff61149c2..b9383db325 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c @@ -66,4 +66,4 @@ bool oled_task_user(void) { oled_write_P(PSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789!@#$%^&*()[]{}-=_+?"), false); return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/readme.md b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/readme.md index 8052cbaff2..c429b0246d 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/readme.md +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/readme.md @@ -21,4 +21,4 @@ Both underglow and per-key RGB should be fading between red and off. ## OLEDs -Both the primary and secondary side should be filled with characters. +Both the primary and secondary side should be filled with characters. \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk index e1b414f5c1..9c9df9b126 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk @@ -5,4 +5,4 @@ # RGB Matrix is enabled at the revision level, # while we use the regular RGB underglow for testing RGB_MATRIX_ENABLE = no -RGBLIGHT_ENABLE = yes +RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h index 89729ded58..75d233f42e 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h @@ -21,4 +21,4 @@ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_RAINBOW_BEACON -#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json index 2d528da2f2..19146dbde1 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json @@ -49,4 +49,4 @@ "sleep": true } } -} +} \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/readme.md b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/readme.md index 86ef604b54..6ff79a4f99 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/readme.md +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/readme.md @@ -85,4 +85,4 @@ qmk json2c -o keymap.c keymap.json ``` You can add custom C code to the newly generated `keymap.c` file. Do note that you have to use **either** a C file **or** a JSON file - you cannot do both! -**If a JSON file is present, the C file is ignored.** +**If a JSON file is present, the C file is ignored.** \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/readme.md b/keyboards/splitkb/aurora/sofle_v2/readme.md index 4344babc6b..13f1d84bbb 100644 --- a/keyboards/splitkb/aurora/sofle_v2/readme.md +++ b/keyboards/splitkb/aurora/sofle_v2/readme.md @@ -45,4 +45,4 @@ The Aurora series were designed as a homage to open source keyboard kits that ha With the Aurora series, we aim to make these kits available to the community in a way that both honors the original, while also offering the best possible feature set and a consistent, well-documented build experience. -For each kit sold, we give back to the community by donating €1 across [the firmware projects we support](https://opencollective.com/splitkb). This way we support open source projects and benefit everyone using keyboards, whether they use our kits or their own. +For each kit sold, we give back to the community by donating €1 across [the firmware projects we support](https://opencollective.com/splitkb). This way we support open source projects and benefit everyone using keyboards, whether they use our kits or their own. \ No newline at end of file diff --git a/keyboards/mode/m65v2/halconf.h b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h similarity index 86% rename from keyboards/mode/m65v2/halconf.h rename to keyboards/splitkb/aurora/sofle_v2/rev1/config.h index 6c98f31f9b..522bea4d5e 100644 --- a/keyboards/mode/m65v2/halconf.h +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h @@ -1,4 +1,4 @@ -/* Copyright 2025 Gondolindrim +/* Copyright 2023 splitkb.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,6 +16,5 @@ #pragma once -#define HAL_USE_PWM TRUE - -#include_next +#define OLED_DISPLAY_128X32 +#define SPLIT_OLED_ENABLE diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json b/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json index 70dcae5aa6..6c72888b10 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json @@ -123,11 +123,6 @@ }, "serial": { "pin": "D2" - }, - "transport": { - "sync": { - "oled": true - } } }, "usb": { diff --git a/keyboards/splitkb/aurora/sweep/glcdfont.c b/keyboards/splitkb/aurora/sweep/glcdfont.c index e75b1b4df6..d6a58634d1 100644 --- a/keyboards/splitkb/aurora/sweep/glcdfont.c +++ b/keyboards/splitkb/aurora/sweep/glcdfont.c @@ -1,19 +1,3 @@ -/* Copyright 2023 splitkb.com - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * 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 "progmem.h" // NOTE: This file is a copy of `crkbd/soundmonster/glcdfont.c` diff --git a/keyboards/splitkb/aurora/sweep/keymaps/default/config.h b/keyboards/splitkb/aurora/sweep/keymaps/default/config.h index 5307f98d35..4605cb782a 100644 --- a/keyboards/splitkb/aurora/sweep/keymaps/default/config.h +++ b/keyboards/splitkb/aurora/sweep/keymaps/default/config.h @@ -31,4 +31,4 @@ # define MOUSEKEY_WHEEL_INTERVAL 50 // The default is 40 # define MOUSEKEY_WHEEL_TIME_TO_MAX 100 -#endif +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sweep/rev1/config.h b/keyboards/splitkb/aurora/sweep/rev1/config.h new file mode 100644 index 0000000000..5a5910d81c --- /dev/null +++ b/keyboards/splitkb/aurora/sweep/rev1/config.h @@ -0,0 +1,23 @@ +/* Copyright 2022 splitkb.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * 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 + +// Not yet available in `info.json` +#ifdef OLED_ENABLE +# define OLED_DISPLAY_128X32 +# define SPLIT_OLED_ENABLE +#endif diff --git a/keyboards/splitkb/aurora/sweep/rev1/keyboard.json b/keyboards/splitkb/aurora/sweep/rev1/keyboard.json index 69f1074ad2..e90995b207 100644 --- a/keyboards/splitkb/aurora/sweep/rev1/keyboard.json +++ b/keyboards/splitkb/aurora/sweep/rev1/keyboard.json @@ -100,8 +100,7 @@ }, "transport": { "sync": { - "matrix_state": true, - "oled": true + "matrix_state": true } } }, diff --git a/keyboards/splitkb/elora/info.json b/keyboards/splitkb/elora/info.json index 02c9c49c02..2ed11bfd19 100644 --- a/keyboards/splitkb/elora/info.json +++ b/keyboards/splitkb/elora/info.json @@ -169,4 +169,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/splitkb/elora/keymaps/debug/config.h b/keyboards/splitkb/elora/keymaps/debug/config.h index f2d79afe0e..0024fe4dfe 100644 --- a/keyboards/splitkb/elora/keymaps/debug/config.h +++ b/keyboards/splitkb/elora/keymaps/debug/config.h @@ -6,4 +6,4 @@ // Myriad boilerplate #define MYRIAD_ENABLE -#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_BREATHING \ No newline at end of file diff --git a/keyboards/splitkb/elora/keymaps/debug/rules.mk b/keyboards/splitkb/elora/keymaps/debug/rules.mk index b5bd51b327..6c52b64847 100644 --- a/keyboards/splitkb/elora/keymaps/debug/rules.mk +++ b/keyboards/splitkb/elora/keymaps/debug/rules.mk @@ -1,2 +1,2 @@ RGB_MATRIX_ENABLE = no -RGBLIGHT_ENABLE = yes +RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/splitkb/elora/keymaps/default/config.h b/keyboards/splitkb/elora/keymaps/default/config.h index fe536aa601..e35c193957 100644 --- a/keyboards/splitkb/elora/keymaps/default/config.h +++ b/keyboards/splitkb/elora/keymaps/default/config.h @@ -4,4 +4,4 @@ #pragma once // Myriad boilerplate -#define MYRIAD_ENABLE +#define MYRIAD_ENABLE \ No newline at end of file diff --git a/keyboards/splitkb/elora/keymaps/default/readme.md b/keyboards/splitkb/elora/keymaps/default/readme.md index f0ed43858a..7e95db3938 100644 --- a/keyboards/splitkb/elora/keymaps/default/readme.md +++ b/keyboards/splitkb/elora/keymaps/default/readme.md @@ -47,4 +47,4 @@ The underglow LEDs should default red. ## Going further… This default keymap can be used as is, unchanged, as a daily driver for your Elora but you're invited to treat your keymap like a bonsai. At the beginning, it's just like the default keymap but from time to time, you can tweak it a little. Cut a little key here, let another combo grow there. Slowly but surely it will be a unique keymap that will fit you like a glove. -Check out the #keymap-ideas channel on the official splitkb Discord server for inspiration. +Check out the #keymap-ideas channel on the official splitkb Discord server for inspiration. \ No newline at end of file diff --git a/keyboards/splitkb/elora/rev1/config.h b/keyboards/splitkb/elora/rev1/config.h index a18edb2842..7633cf00af 100644 --- a/keyboards/splitkb/elora/rev1/config.h +++ b/keyboards/splitkb/elora/rev1/config.h @@ -55,4 +55,6 @@ // including some code in rev1.c but makes // it so the timeout's are not synced // between halves. +#undef SPLIT_OLED_ENABLE #define OLED_TIMEOUT 0 + diff --git a/keyboards/splitkb/elora/rev1/keyboard.json b/keyboards/splitkb/elora/rev1/keyboard.json index a7921c4e1f..7996fdccb9 100644 --- a/keyboards/splitkb/elora/rev1/keyboard.json +++ b/keyboards/splitkb/elora/rev1/keyboard.json @@ -91,8 +91,7 @@ }, "transport": { "sync": { - "matrix_state": true, - "oled": true + "matrix_state": true }, "watchdog": true, "watchdog_timeout": 3000 diff --git a/keyboards/splitkb/elora/rev1/matrix.c b/keyboards/splitkb/elora/rev1/matrix.c index a5df47c3c7..625eafcd85 100644 --- a/keyboards/splitkb/elora/rev1/matrix.c +++ b/keyboards/splitkb/elora/rev1/matrix.c @@ -54,4 +54,4 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { #else return matrix_has_changed; #endif -} +} \ No newline at end of file diff --git a/keyboards/splitkb/elora/rev1/myriad.c b/keyboards/splitkb/elora/rev1/myriad.c index eb798b19b1..0263821b81 100644 --- a/keyboards/splitkb/elora/rev1/myriad.c +++ b/keyboards/splitkb/elora/rev1/myriad.c @@ -338,4 +338,4 @@ bool pointing_device_driver_init(void) { gpio_set_pin_input(MYRIAD_ADC1); // Y gpio_set_pin_input(MYRIAD_ADC2); // X return true; -} +} \ No newline at end of file diff --git a/keyboards/splitkb/elora/rev1/rules.mk b/keyboards/splitkb/elora/rev1/rules.mk index 4a43aca87f..643fdc9a1b 100644 --- a/keyboards/splitkb/elora/rev1/rules.mk +++ b/keyboards/splitkb/elora/rev1/rules.mk @@ -4,4 +4,4 @@ CUSTOM_MATRIX = lite # Myriad boilerplate SRC += myriad.c matrix.c ANALOG_DRIVER_REQUIRED = yes -POINTING_DEVICE_DRIVER = custom +POINTING_DEVICE_DRIVER = custom \ No newline at end of file diff --git a/keyboards/splitkb/halcyon/elora/readme.md b/keyboards/splitkb/halcyon/elora/readme.md index 7d3692ce45..9970d31f43 100644 --- a/keyboards/splitkb/halcyon/elora/readme.md +++ b/keyboards/splitkb/halcyon/elora/readme.md @@ -28,4 +28,4 @@ Enter the bootloader in 3 ways: * **Reset button**: Double-tap the reset button at the top of the controller, right above the USB-C port. * **Bootloader reset**: Hold down the "Boot" button and plug in the keyboard. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/splitkb/halcyon/kyria/keymaps/default/keymap.c b/keyboards/splitkb/halcyon/kyria/keymaps/default/keymap.c index 1205300d6f..78fd8d4fab 100755 --- a/keyboards/splitkb/halcyon/kyria/keymaps/default/keymap.c +++ b/keyboards/splitkb/halcyon/kyria/keymaps/default/keymap.c @@ -203,4 +203,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ // ), // -}; +}; \ No newline at end of file diff --git a/keyboards/splitkb/halcyon/kyria/rev4/config.h b/keyboards/splitkb/halcyon/kyria/rev4/config.h index d223ff2f28..c09744f923 100755 --- a/keyboards/splitkb/halcyon/kyria/rev4/config.h +++ b/keyboards/splitkb/halcyon/kyria/rev4/config.h @@ -29,4 +29,4 @@ #define SPI_DRIVER SPID1 #define SPI_SCK_PIN GP14 #define SPI_MOSI_PIN GP15 -#define SPI_MISO_PIN GP12 +#define SPI_MISO_PIN GP12 \ No newline at end of file diff --git a/keyboards/splitkb/halcyon/kyria/rev4/halconf.h b/keyboards/splitkb/halcyon/kyria/rev4/halconf.h index 95e6fcfdea..6d2db1bbd2 100644 --- a/keyboards/splitkb/halcyon/kyria/rev4/halconf.h +++ b/keyboards/splitkb/halcyon/kyria/rev4/halconf.h @@ -8,4 +8,4 @@ #define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/splitkb/halcyon/kyria/rev4/mcuconf.h b/keyboards/splitkb/halcyon/kyria/rev4/mcuconf.h index 4b1b3eae30..6792b923f1 100644 --- a/keyboards/splitkb/halcyon/kyria/rev4/mcuconf.h +++ b/keyboards/splitkb/halcyon/kyria/rev4/mcuconf.h @@ -11,4 +11,4 @@ #define RP_I2C_USE_I2C0 TRUE #undef RP_SPI_USE_SPI1 -#define RP_SPI_USE_SPI1 TRUE +#define RP_SPI_USE_SPI1 TRUE \ No newline at end of file diff --git a/keyboards/splitkb/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h index f20ce9a11a..615d93496d 100644 --- a/keyboards/splitkb/kyria/rev1/config.h +++ b/keyboards/splitkb/kyria/rev1/config.h @@ -18,3 +18,4 @@ along with this program. If not, see . #pragma once #define OLED_DISPLAY_128X64 +#define SPLIT_OLED_ENABLE diff --git a/keyboards/splitkb/kyria/rev1/info.json b/keyboards/splitkb/kyria/rev1/info.json index 5dc8876060..1e21c60978 100644 --- a/keyboards/splitkb/kyria/rev1/info.json +++ b/keyboards/splitkb/kyria/rev1/info.json @@ -19,28 +19,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [2, 1], "x": 91, "y": 40, "flags": 255}, - {"matrix": [3, 2], "x": 77, "y": 56, "flags": 255}, - {"matrix": [3, 3], "x": 63, "y": 56, "flags": 255}, - {"matrix": [1, 2], "x": 77, "y": 24, "flags": 255}, - {"matrix": [0, 3], "x": 63, "y": 8, "flags": 255}, - {"matrix": [0, 6], "x": 21, "y": 8, "flags": 255}, - {"matrix": [2, 6], "x": 21, "y": 40, "flags": 255}, - {"matrix": [2, 5], "x": 35, "y": 40, "flags": 255}, - {"matrix": [2, 7], "x": 7, "y": 40, "flags": 255}, - {"matrix": [0, 7], "x": 7, "y": 8, "flags": 255}, - {"matrix": [6, 1], "x": 133, "y": 40, "flags": 255}, - {"matrix": [7, 2], "x": 147, "y": 56, "flags": 255}, - {"matrix": [7, 3], "x": 161, "y": 56, "flags": 255}, - {"matrix": [5, 2], "x": 147, "y": 24, "flags": 255}, - {"matrix": [4, 3], "x": 161, "y": 8, "flags": 255}, - {"matrix": [4, 6], "x": 203, "y": 8, "flags": 255}, - {"matrix": [6, 6], "x": 203, "y": 40, "flags": 255}, - {"matrix": [6, 5], "x": 189, "y": 40, "flags": 255}, - {"matrix": [6, 7], "x": 217, "y": 40, "flags": 255}, - {"matrix": [4, 7], "x": 217, "y": 8, "flags": 255} - ], "max_brightness": 170, "sleep": true, "split_count": [10, 10] @@ -48,8 +26,7 @@ "split": { "transport": { "sync": { - "matrix_state": true, - "oled": true + "matrix_state": true } } }, diff --git a/keyboards/splitkb/kyria/rev1/rev1.c b/keyboards/splitkb/kyria/rev1/rev1.c index 2b64504cc3..db14411933 100644 --- a/keyboards/splitkb/kyria/rev1/rev1.c +++ b/keyboards/splitkb/kyria/rev1/rev1.c @@ -32,3 +32,34 @@ __attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATR const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0}; # endif #endif + +#ifdef RGB_MATRIX_ENABLE +/* Map physical under glow LEDs for RGB matrix support + * + * 09, 05, xx, xx, 04, xx, xx, 14, xx, xx, 15, 19, + * xx, xx, xx, xx, xx, 03, 13, xx, xx, xx, xx, xx, + * 08, 06, 07, xx, xx, xx, 00, xx, xx, 10, xx, xx, xx, 17, 16, 18, + * xx, 02, 01, xx, xx, xx, xx, 11, 12, xx + */ +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, NO_LED, NO_LED, 4, NO_LED, NO_LED, 5, 9 }, + { NO_LED, NO_LED, 3, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, 0, NO_LED, NO_LED, NO_LED, 7, 6, 8 }, + { NO_LED, NO_LED, 1, 2, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, 14, NO_LED, NO_LED, 15, 19 }, + { NO_LED, NO_LED, 13, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, 10, NO_LED, NO_LED, NO_LED, 17, 16, 18 }, + { NO_LED, NO_LED, 11, 12, NO_LED, NO_LED, NO_LED, NO_LED }, +}, { + // LED Index to Physical Position + {91,40}, {77,56}, {63,56}, {77,24}, {63,8}, {21,8}, {21,40}, {35,40}, {7,40}, {7,8}, + {133,40}, {147,56}, {161,56}, {147,24}, {161,8}, {203,8}, {203,40}, {189,40}, {217,40}, {217,8} +}, { + // LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +} }; +#endif diff --git a/keyboards/splitkb/kyria/rev2/config.h b/keyboards/splitkb/kyria/rev2/config.h index df50b21b94..fb9e7bb959 100644 --- a/keyboards/splitkb/kyria/rev2/config.h +++ b/keyboards/splitkb/kyria/rev2/config.h @@ -22,3 +22,4 @@ along with this program. If not, see . #define MATRIX_MASKED // actual mask is defined by `matrix_mask` in `rev2.c` #define OLED_DISPLAY_128X64 +#define SPLIT_OLED_ENABLE diff --git a/keyboards/splitkb/kyria/rev2/info.json b/keyboards/splitkb/kyria/rev2/info.json index 5da17b48c0..d1507a26b0 100644 --- a/keyboards/splitkb/kyria/rev2/info.json +++ b/keyboards/splitkb/kyria/rev2/info.json @@ -19,28 +19,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [1, 2], "x": 77, "y": 24, "flags": 255}, - {"matrix": [0, 3], "x": 63, "y": 8, "flags": 255}, - {"matrix": [0, 6], "x": 21, "y": 8, "flags": 255}, - {"matrix": [2, 6], "x": 21, "y": 40, "flags": 255}, - {"matrix": [2, 5], "x": 35, "y": 40, "flags": 255}, - {"matrix": [3, 3], "x": 63, "y": 56, "flags": 255}, - {"matrix": [3, 2], "x": 77, "y": 56, "flags": 255}, - {"matrix": [2, 1], "x": 91, "y": 40, "flags": 255}, - {"matrix": [2, 7], "x": 7, "y": 40, "flags": 255}, - {"matrix": [0, 7], "x": 7, "y": 8, "flags": 255}, - {"matrix": [5, 2], "x": 147, "y": 24, "flags": 255}, - {"matrix": [4, 3], "x": 161, "y": 8, "flags": 255}, - {"matrix": [4, 6], "x": 203, "y": 8, "flags": 255}, - {"matrix": [6, 6], "x": 203, "y": 40, "flags": 255}, - {"matrix": [6, 5], "x": 189, "y": 40, "flags": 255}, - {"matrix": [7, 3], "x": 161, "y": 56, "flags": 255}, - {"matrix": [7, 2], "x": 147, "y": 56, "flags": 255}, - {"matrix": [6, 1], "x": 133, "y": 40, "flags": 255}, - {"matrix": [6, 7], "x": 217, "y": 40, "flags": 255}, - {"matrix": [4, 7], "x": 217, "y": 8, "flags": 255} - ], "max_brightness": 170, "sleep": true, "split_count": [10, 10] @@ -48,8 +26,7 @@ "split": { "transport": { "sync": { - "matrix_state": true, - "oled": true + "matrix_state": true } } }, diff --git a/keyboards/splitkb/kyria/rev2/rev2.c b/keyboards/splitkb/kyria/rev2/rev2.c index 70f894b64d..37300c8188 100644 --- a/keyboards/splitkb/kyria/rev2/rev2.c +++ b/keyboards/splitkb/kyria/rev2/rev2.c @@ -47,3 +47,33 @@ __attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATR const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0}; # endif #endif + +#ifdef RGB_MATRIX_ENABLE +/* Map physical under glow LEDs for RGB matrix support + * 09, 02, xx, xx, 01, xx, xx, 11, xx, xx, 12, 19, + * xx, xx, xx, xx, xx, 00, 10, xx, xx, xx, xx, xx, + * 08, 03, 04, xx, xx, xx, 07, xx, xx, 17, xx, xx, xx, 14, 13, 18, + * xx, 05, 06, xx, xx, xx, xx, 16, 15, xx + */ +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, NO_LED, NO_LED, 1, NO_LED, NO_LED, 2, 9 }, + { NO_LED, NO_LED, 0, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, 7, NO_LED, NO_LED, NO_LED, 4, 3, 8 }, + { NO_LED, NO_LED, 6, 5, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, 11, NO_LED, NO_LED, 12, 19 }, + { NO_LED, NO_LED, 10, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, 17, NO_LED, NO_LED, NO_LED, 14, 13, 18 }, + { NO_LED, NO_LED, 16, 15, NO_LED, NO_LED, NO_LED, NO_LED }, +}, { + // LED Index to Physical Position + {77,24}, {63,8}, {21,8}, {21,40}, {35,40}, {63,56}, {77,56}, {91,40}, {7,40}, {7,8}, + {147,24}, {161,8}, {203,8}, {203,40}, {189,40}, {161,56}, {147,56}, {133,40}, {217,40}, {217,8} +}, { + // LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +} }; +#endif diff --git a/keyboards/splitkb/kyria/rev3/config.h b/keyboards/splitkb/kyria/rev3/config.h index 2bfa92b310..3f731859fc 100644 --- a/keyboards/splitkb/kyria/rev3/config.h +++ b/keyboards/splitkb/kyria/rev3/config.h @@ -17,3 +17,4 @@ #pragma once #define OLED_DISPLAY_128X64 +#define SPLIT_OLED_ENABLE diff --git a/keyboards/splitkb/kyria/rev3/keyboard.json b/keyboards/splitkb/kyria/rev3/keyboard.json index 2c40ac4572..580aa821db 100644 --- a/keyboards/splitkb/kyria/rev3/keyboard.json +++ b/keyboards/splitkb/kyria/rev3/keyboard.json @@ -116,8 +116,7 @@ }, "transport": { "sync": { - "matrix_state": true, - "oled": true + "matrix_state": true } } }, diff --git a/keyboards/steelseries/prime/board.h b/keyboards/steelseries/prime/board.h deleted file mode 100644 index edb9e1072c..0000000000 --- a/keyboards/steelseries/prime/board.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2024 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 12000000 diff --git a/keyboards/steelseries/prime/config.h b/keyboards/steelseries/prime/config.h deleted file mode 100644 index 2e041f4a46..0000000000 --- a/keyboards/steelseries/prime/config.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2024 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define POINTING_DEVICE_CS_PIN A4 -#define POINTING_DEVICE_MOTION_PIN B0 -#define POINTING_DEVICE_TASK_THROTTLE_MS 1 - -#define SPI_DRIVER SPID1 -#define SPI_SCK_PIN A5 -#define SPI_MOSI_PIN A7 -#define SPI_MISO_PIN A6 - -#define RGB_PWM_DRIVER PWMD1 -#define RGB_BLUE_PIN A10 -#define RGB_BLUE_PWM_CHANNEL 3 -#define RGB_GREEN_PIN A8 -#define RGB_GREEN_PWM_CHANNEL 1 -#define RGB_RED_PIN A9 -#define RGB_RED_PWM_CHANNEL 2 - -#define OPTICAL_SW_PWR A2 diff --git a/keyboards/steelseries/prime/halconf.h b/keyboards/steelseries/prime/halconf.h deleted file mode 100644 index e1498a877a..0000000000 --- a/keyboards/steelseries/prime/halconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2024 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_SPI TRUE -#define HAL_USE_PWM TRUE - -#include_next diff --git a/keyboards/steelseries/prime/keyboard.json b/keyboards/steelseries/prime/keyboard.json deleted file mode 100644 index e267b7506a..0000000000 --- a/keyboards/steelseries/prime/keyboard.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "manufacturer": "SteelSeries", - "keyboard_name": "Prime", - "maintainer": "Dasky", - "bootloader": "uf2boot", - "build": { - "debounce_type": "asym_eager_defer_pk", - "lto": true - }, - "encoder": { - "rotary": [ - {"pin_a": "B5", "pin_b": "B4", "resolution": 2} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "pointing_device": true, - "rgblight": true - }, - "matrix_pins": { - "direct": [ - ["A0", "C15", "A1", "C13", "C14", "A3"] - ] - }, - "processor": "STM32F103", - "rgblight": { - "animations": { - "breathing": true, - "rainbow_mood": true - }, - "default": { - "animation": "rainbow_mood" - }, - "driver": "custom", - "led_count": 1 - }, - "url": "https://steelseries.com/gaming-mice/prime", - "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"label": "Left Click", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "Middle Click", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "Right Click", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "Side forward", "matrix": [0, 3], "x": 0, "y": 2}, - {"label": "Side back", "matrix": [0, 4], "x": 0, "y": 3}, - {"label": "boot", "matrix": [0, 5], "x": 1, "y": 1} - ] - } - } -} diff --git a/keyboards/steelseries/prime/keymaps/default/keymap.c b/keyboards/steelseries/prime/keymaps/default/keymap.c deleted file mode 100644 index 0855107bf7..0000000000 --- a/keyboards/steelseries/prime/keymaps/default/keymap.c +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2024 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Left, Middle, Right, - // Forward - // Back - // Underneath - [0] = LAYOUT( - MS_BTN1, MS_BTN3, MS_BTN2, - MS_BTN5, - MS_BTN4, - QK_BOOT - ) -}; -// clang-format on - -void pointing_device_init_user(void) { - pointing_device_set_cpi(1600); -} - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = {ENCODER_CCW_CW(MS_WHLU, MS_WHLD)}, -}; -#endif diff --git a/keyboards/steelseries/prime/keymaps/default/rules.mk b/keyboards/steelseries/prime/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/steelseries/prime/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/steelseries/prime/mcuconf.h b/keyboards/steelseries/prime/mcuconf.h deleted file mode 100644 index f49ef0edf7..0000000000 --- a/keyboards/steelseries/prime/mcuconf.h +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2024 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef STM32_PWM_USE_TIM1 -#define STM32_PWM_USE_TIM1 TRUE - -#undef STM32_SPI_USE_SPI1 -#define STM32_SPI_USE_SPI1 TRUE - -#undef STM32_PLLMUL_VALUE -#define STM32_PLLMUL_VALUE 6 diff --git a/keyboards/steelseries/prime/prime.c b/keyboards/steelseries/prime/prime.c deleted file mode 100644 index 11c528eea8..0000000000 --- a/keyboards/steelseries/prime/prime.c +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2024 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - - -void board_init(void) { - - gpio_set_pin_output(A15); - gpio_write_pin_high(A15); // Activate D+ pullup - - gpio_set_pin_output(OPTICAL_SW_PWR); - gpio_write_pin_low(OPTICAL_SW_PWR); // Enable power for optical switches - -} - diff --git a/keyboards/steelseries/prime/readme.md b/keyboards/steelseries/prime/readme.md deleted file mode 100644 index e5a70afd4c..0000000000 --- a/keyboards/steelseries/prime/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -# SteelSeries Prime - -![Prime](https://i.imgur.com/rPIKok3.jpeg) - -Erase with an stlink and flash this [uf2boot bootloader](https://github.com/daskygit/uf2-prime-plus), this is a a one way procedure voiding any warranty so be sure you don't want to use the original manufacturers firmware. - -you may need to remove write protection to flash, e.g. with openocd in linux - -```sh -openocd -f interface/stlink.cfg -f target/stm32f1x.cfg -c "init; reset halt; stm32f1x unlock 0; flash protect 0 0 last off; reset halt; exit" - -``` - -and write the new bootloader - -```sh - -openocd -f interface/stlink.cfg -f target/stm32f1x.cfg -c "program build/PRIME_PLUS/uf2boot.bin verify reset exit 0x8000000" - -``` - -* Keyboard Maintainer: [Dasky](https://github.com/daskygit) -* Hardware Supported: SteelSeries Prime -* Hardware Availability: https://steelseries.com/gaming-mice/prime - -Make example for this keyboard (after setting up your build environment): - - make steelseries/prime:default - -Flashing example for this keyboard: - - make steelseries/prime: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 left mouse button and plug in. -* **Bootloader entry**: Hold the underneath button while plugging in. diff --git a/keyboards/steelseries/prime/rgblight_custom.c b/keyboards/steelseries/prime/rgblight_custom.c deleted file mode 100644 index 2736052587..0000000000 --- a/keyboards/steelseries/prime/rgblight_custom.c +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2024 Dasky (@daskygit) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include -#include "chibios_config.h" -#include "gpio.h" -#include "color.h" -#include "rgblight_drivers.h" - -static PWMConfig pwmCFG = { - .frequency = 0xFFFF, - .period = 256, -}; - -rgb_t prime_leds[RGBLIGHT_LED_COUNT]; - -void init_custom(void) { - palSetPadMode(PAL_PORT(RGB_RED_PIN), PAL_PAD(RGB_RED_PIN), PAL_MODE_ALTERNATE_PUSHPULL); - palSetPadMode(PAL_PORT(RGB_GREEN_PIN), PAL_PAD(RGB_GREEN_PIN), PAL_MODE_ALTERNATE_PUSHPULL); - palSetPadMode(PAL_PORT(RGB_BLUE_PIN), PAL_PAD(RGB_BLUE_PIN), PAL_MODE_ALTERNATE_PUSHPULL); - pwmCFG.channels[RGB_RED_PWM_CHANNEL - 1].mode = PWM_OUTPUT_ACTIVE_HIGH; - pwmCFG.channels[RGB_GREEN_PWM_CHANNEL - 1].mode = PWM_OUTPUT_ACTIVE_HIGH; - pwmCFG.channels[RGB_BLUE_PWM_CHANNEL - 1].mode = PWM_OUTPUT_ACTIVE_HIGH; - pwmStart(&RGB_PWM_DRIVER, &pwmCFG); -} - -void set_color_custom(int index, uint8_t red, uint8_t green, uint8_t blue) { - prime_leds[index].r = red; - prime_leds[index].g = green; - prime_leds[index].b = blue; -} - -void set_color_all_custom(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < RGBLIGHT_LED_COUNT; i++) { - set_color_custom(i, red, green, blue); - } -} - -void flush_custom(void) { - if (prime_leds[0].r == 0) { - pwmDisableChannel(&RGB_PWM_DRIVER, RGB_RED_PWM_CHANNEL - 1); - } else { - uint32_t duty = ((uint32_t)0xFFFF * prime_leds[0].r) / 0xFF; - pwmEnableChannel(&RGB_PWM_DRIVER, RGB_RED_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); - } - if (prime_leds[0].g == 0) { - pwmDisableChannel(&RGB_PWM_DRIVER, RGB_GREEN_PWM_CHANNEL - 1); - } else { - uint32_t duty = ((uint32_t)0xFFFF * prime_leds[0].g) / 0xFF; - pwmEnableChannel(&RGB_PWM_DRIVER, RGB_GREEN_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); - } - if (prime_leds[0].b == 0) { - pwmDisableChannel(&RGB_PWM_DRIVER, RGB_BLUE_PWM_CHANNEL - 1); - } else { - uint32_t duty = ((uint32_t)0xFFFF * prime_leds[0].b) / 0xFF; - pwmEnableChannel(&RGB_PWM_DRIVER, RGB_BLUE_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&RGB_PWM_DRIVER, 0xFFFF, duty)); - } -} - -const rgblight_driver_t rgblight_driver = { - .init = init_custom, - .set_color = set_color_custom, - .set_color_all = set_color_all_custom, - .flush = flush_custom, -}; diff --git a/keyboards/steelseries/prime/rules.mk b/keyboards/steelseries/prime/rules.mk deleted file mode 100644 index 5ab86b1b69..0000000000 --- a/keyboards/steelseries/prime/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -MCU_LDSCRIPT = STM32F103xB_uf2boot - -POINTING_DEVICE_DRIVER = pmw3389 - -SRC += rgblight_custom.c diff --git a/keyboards/steelseries/prime_plus/keymaps/default/keymap.c b/keyboards/steelseries/prime_plus/keymaps/default/keymap.c index 0855107bf7..803f6b47da 100644 --- a/keyboards/steelseries/prime_plus/keymaps/default/keymap.c +++ b/keyboards/steelseries/prime_plus/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -void pointing_device_init_user(void) { +void pointing_device_init_kb(void) { pointing_device_set_cpi(1600); } diff --git a/keyboards/studiokestra/fairholme/keyboard.json b/keyboards/studiokestra/fairholme/keyboard.json index 7c1b2032a8..413218e8bd 100644 --- a/keyboards/studiokestra/fairholme/keyboard.json +++ b/keyboards/studiokestra/fairholme/keyboard.json @@ -996,4 +996,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/studiokestra/nascent/readme.md b/keyboards/studiokestra/nascent/readme.md index ef1829cae8..09e0aaa7f0 100644 --- a/keyboards/studiokestra/nascent/readme.md +++ b/keyboards/studiokestra/nascent/readme.md @@ -22,4 +22,4 @@ There are 3 ways to put the board in bootloader mode: - Hold the top-left key (typically `Esc`) while plugging in the USB cable, OR - While the PCB is plugged into the PC, press the physical `RESET` button on the back of the board, OR -- With the default layout, toggle Layer 1 and press the `R` key. +- With the default layout, toggle Layer 1 and press the `R` key. \ No newline at end of file diff --git a/keyboards/studiokestra/nue/keymaps/default/keymap.c b/keyboards/studiokestra/nue/keymaps/default/keymap.c index 72458bfa81..cfd24b93bb 100644 --- a/keyboards/studiokestra/nue/keymaps/default/keymap.c +++ b/keyboards/studiokestra/nue/keymaps/default/keymap.c @@ -38,4 +38,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; +}; \ No newline at end of file diff --git a/keyboards/subrezon/lancer/keyboard.json b/keyboards/subrezon/lancer/keyboard.json index acf8d3c12c..571cf4c8ad 100644 --- a/keyboards/subrezon/lancer/keyboard.json +++ b/keyboards/subrezon/lancer/keyboard.json @@ -60,4 +60,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/subrezon/lancer/keymaps/default/keymap.json b/keyboards/subrezon/lancer/keymaps/default/keymap.json index 5cddea3fc8..b25e81d538 100644 --- a/keyboards/subrezon/lancer/keymaps/default/keymap.json +++ b/keyboards/subrezon/lancer/keymaps/default/keymap.json @@ -30,4 +30,4 @@ "XXXXXXX", "_______", "XXXXXXX", "XXXXXXX", "XXXXXXX", "_______" ] ] -} +} \ No newline at end of file diff --git a/keyboards/suikagiken/suika27melo/keyboard.json b/keyboards/suikagiken/suika27melo/keyboard.json index c6d896e334..26b57f7001 100644 --- a/keyboards/suikagiken/suika27melo/keyboard.json +++ b/keyboards/suikagiken/suika27melo/keyboard.json @@ -59,4 +59,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/suikagiken/suika85ergo/keyboard.json b/keyboards/suikagiken/suika85ergo/keyboard.json index 39a42dc173..6274f56f7c 100644 --- a/keyboards/suikagiken/suika85ergo/keyboard.json +++ b/keyboards/suikagiken/suika85ergo/keyboard.json @@ -119,4 +119,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/swagkeys/eave/keyboard.json b/keyboards/swagkeys/eave/keyboard.json index 8fbd9b249f..87945ed756 100644 --- a/keyboards/swagkeys/eave/keyboard.json +++ b/keyboards/swagkeys/eave/keyboard.json @@ -41,6 +41,7 @@ "saturation_steps": 8, "sleep": true }, + "url": "NONE", "usb": { "device_version": "1.0.0", "pid": "0x4A16", diff --git a/keyboards/swagkeys/integral/keyboard.json b/keyboards/swagkeys/integral/keyboard.json index a939c26592..3d49671100 100644 --- a/keyboards/swagkeys/integral/keyboard.json +++ b/keyboards/swagkeys/integral/keyboard.json @@ -20,6 +20,7 @@ "rows": ["B9", "C13", "B12", "B11", "B10"] }, "processor": "STM32F103", + "url": "NONE", "usb": { "device_version": "1.0.0", "pid": "0x4F21", diff --git a/keyboards/switchplate/readme.md b/keyboards/switchplate/readme.md index 478e3e68a1..166853f285 100644 --- a/keyboards/switchplate/readme.md +++ b/keyboards/switchplate/readme.md @@ -1,4 +1,4 @@ # Switchplate Peripherals All keyboards under the Switchplate Peripherals brand -Website: [here](https://switchplate.co/) +Website: [here](https://switchplate.co/) \ No newline at end of file diff --git a/keyboards/switchplate/southpaw_65/keyboard.json b/keyboards/switchplate/southpaw_65/keyboard.json index 7c360aec96..72c4c71097 100644 --- a/keyboards/switchplate/southpaw_65/keyboard.json +++ b/keyboards/switchplate/southpaw_65/keyboard.json @@ -4,7 +4,7 @@ "url": "https://geekhack.org/index.php?topic=92344.0", "maintainer": "qmk", "usb": { - "vid": "0x7F00", + "vid": "0xFEED", "pid": "0x4084", "device_version": "0.0.1" }, diff --git a/keyboards/switchplate/southpaw_65/keymaps/default/keymap.c b/keyboards/switchplate/southpaw_65/keymaps/default/keymap.c index 8371449dfd..73d1fa75b0 100644 --- a/keyboards/switchplate/southpaw_65/keymaps/default/keymap.c +++ b/keyboards/switchplate/southpaw_65/keymaps/default/keymap.c @@ -1,18 +1,3 @@ -/* Copyright 2026 - * - * 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] = { diff --git a/keyboards/switchplate/southpaw_65/keymaps/default_ansi/keymap.c b/keyboards/switchplate/southpaw_65/keymaps/default_ansi/keymap.c index 528beb2490..57632a5c66 100644 --- a/keyboards/switchplate/southpaw_65/keymaps/default_ansi/keymap.c +++ b/keyboards/switchplate/southpaw_65/keymaps/default_ansi/keymap.c @@ -1,18 +1,3 @@ -/* Copyright 2026 - * - * 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] = { diff --git a/keyboards/switchplate/southpaw_65/keymaps/default_iso/keymap.c b/keyboards/switchplate/southpaw_65/keymaps/default_iso/keymap.c index 3e687ade2c..f0ebddb33c 100644 --- a/keyboards/switchplate/southpaw_65/keymaps/default_iso/keymap.c +++ b/keyboards/switchplate/southpaw_65/keymaps/default_iso/keymap.c @@ -1,18 +1,3 @@ -/* Copyright 2026 - * - * 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] = { diff --git a/keyboards/sx60/matrix.c b/keyboards/sx60/matrix.c index 62de53137a..22f37db539 100644 --- a/keyboards/sx60/matrix.c +++ b/keyboards/sx60/matrix.c @@ -42,12 +42,15 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif #ifdef MATRIX_MASKED @@ -224,7 +227,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); /* Populate the matrix row with the state of the col pin */ - current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); } /* Unselect row */ diff --git a/keyboards/synthandkeys/bento_box/bento_box.c b/keyboards/synthandkeys/bento_box/bento_box.c index e9eea41f53..5ef0678f5e 100644 --- a/keyboards/synthandkeys/bento_box/bento_box.c +++ b/keyboards/synthandkeys/bento_box/bento_box.c @@ -34,4 +34,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return true; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/synthandkeys/bento_box/keyboard.json b/keyboards/synthandkeys/bento_box/keyboard.json index 9ccae20e19..ad662f1669 100644 --- a/keyboards/synthandkeys/bento_box/keyboard.json +++ b/keyboards/synthandkeys/bento_box/keyboard.json @@ -58,4 +58,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/synthandkeys/bento_box/keymaps/default/keymap.c b/keyboards/synthandkeys/bento_box/keymaps/default/keymap.c index 0e69e7b97a..bf8f26984b 100644 --- a/keyboards/synthandkeys/bento_box/keymaps/default/keymap.c +++ b/keyboards/synthandkeys/bento_box/keymaps/default/keymap.c @@ -38,4 +38,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ------------------------------------ * | | | | | | * ------------------------------------ - */ + */ \ No newline at end of file diff --git a/keyboards/synthandkeys/the_debit_card/keymaps/default/keymap.c b/keyboards/synthandkeys/the_debit_card/keymaps/default/keymap.c index 52a940dd9b..aa5468c45c 100644 --- a/keyboards/synthandkeys/the_debit_card/keymaps/default/keymap.c +++ b/keyboards/synthandkeys/the_debit_card/keymaps/default/keymap.c @@ -19,4 +19,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0 ) -}; +}; \ No newline at end of file diff --git a/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c b/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c index f21b7e3411..7bafe6b191 100644 --- a/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c +++ b/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c @@ -20,11 +20,11 @@ joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = { [0] = JOYSTICK_AXIS_VIRTUAL }; -bool encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_kb(uint8_t index, bool clockwise) { joystick_position += (clockwise ? 2 : -2) * (full_joystick_value / pulses_per_revolution); // +2 and -2 are used, since +1.0 and -1.0 axis output refers to positions at half of a full rotation joystick_set_axis(0, joystick_position); - return false; + return true; } #endif diff --git a/keyboards/system76/launch_1/keyboard.json b/keyboards/system76/launch_1/keyboard.json index 3a7ecc928e..b5317dd9bc 100644 --- a/keyboards/system76/launch_1/keyboard.json +++ b/keyboards/system76/launch_1/keyboard.json @@ -47,92 +47,6 @@ "hue": 142 }, "driver": "ws2812", - "layout": [ - {"matrix": [4, 12], "x": 209, "y": 51, "flags": 4}, - {"matrix": [4, 11], "x": 190, "y": 51, "flags": 4}, - {"matrix": [4, 10], "x": 171, "y": 51, "flags": 4}, - {"matrix": [4, 9], "x": 156, "y": 51, "flags": 4}, - {"matrix": [4, 8], "x": 140, "y": 51, "flags": 4}, - {"matrix": [4, 7], "x": 125, "y": 51, "flags": 4}, - {"matrix": [4, 6], "x": 110, "y": 51, "flags": 4}, - {"matrix": [4, 5], "x": 95, "y": 51, "flags": 4}, - {"matrix": [4, 4], "x": 80, "y": 51, "flags": 4}, - {"matrix": [4, 3], "x": 65, "y": 51, "flags": 4}, - {"matrix": [4, 2], "x": 49, "y": 51, "flags": 4}, - {"matrix": [4, 1], "x": 34, "y": 51, "flags": 4}, - {"matrix": [4, 0], "x": 11, "y": 51, "flags": 4}, - {"matrix": [5, 0], "x": 8, "y": 64, "flags": 4}, - {"matrix": [5, 1], "x": 27, "y": 64, "flags": 4}, - {"matrix": [5, 2], "x": 42, "y": 64, "flags": 4}, - {"matrix": [5, 3], "x": 57, "y": 64, "flags": 4}, - {"matrix": [5, 4], "x": 80, "y": 64, "flags": 4}, - {"matrix": [5, 6], "x": 110, "y": 64, "flags": 4}, - {"matrix": [5, 7], "x": 133, "y": 64, "flags": 4}, - {"matrix": [5, 8], "x": 148, "y": 64, "flags": 4}, - {"matrix": [5, 9], "x": 167, "y": 64, "flags": 4}, - {"matrix": [5, 10], "x": 194, "y": 64, "flags": 4}, - {"matrix": [5, 11], "x": 209, "y": 64, "flags": 4}, - {"matrix": [5, 12], "x": 224, "y": 64, "flags": 4}, - {"matrix": [5, 5], "x": 224, "y": 38, "flags": 4}, - {"matrix": [3, 12], "x": 197, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 178, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 163, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 148, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 133, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 118, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 103, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 87, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 72, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 57, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 42, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 27, "y": 38, "flags": 4}, - {"matrix": [3, 0], "x": 8, "y": 38, "flags": 4}, - {"matrix": [2, 0], "x": 4, "y": 26, "flags": 4}, - {"matrix": [2, 1], "x": 23, "y": 26, "flags": 4}, - {"matrix": [2, 2], "x": 38, "y": 26, "flags": 4}, - {"matrix": [2, 3], "x": 53, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 68, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 84, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 99, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 114, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 129, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 159, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 175, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 190, "y": 26, "flags": 4}, - {"matrix": [2, 13], "x": 205, "y": 26, "flags": 4}, - {"matrix": [5, 13], "x": 224, "y": 26, "flags": 4}, - {"matrix": [4, 13], "x": 224, "y": 13, "flags": 4}, - {"matrix": [1, 13], "x": 201, "y": 13, "flags": 4}, - {"matrix": [1, 12], "x": 182, "y": 13, "flags": 4}, - {"matrix": [1, 11], "x": 167, "y": 13, "flags": 4}, - {"matrix": [1, 10], "x": 152, "y": 13, "flags": 4}, - {"matrix": [1, 9], "x": 137, "y": 13, "flags": 4}, - {"matrix": [1, 8], "x": 121, "y": 13, "flags": 4}, - {"matrix": [1, 7], "x": 106, "y": 13, "flags": 4}, - {"matrix": [1, 6], "x": 91, "y": 13, "flags": 4}, - {"matrix": [1, 5], "x": 76, "y": 13, "flags": 4}, - {"matrix": [1, 4], "x": 61, "y": 13, "flags": 4}, - {"matrix": [1, 3], "x": 46, "y": 13, "flags": 4}, - {"matrix": [1, 2], "x": 30, "y": 13, "flags": 4}, - {"matrix": [1, 1], "x": 15, "y": 13, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4}, - {"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": 46, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 61, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 76, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 91, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 106, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 121, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 137, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 152, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 167, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 182, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 201, "y": 0, "flags": 4}, - {"matrix": [3, 13], "x": 224, "y": 0, "flags": 4} - ], "max_brightness": 176, "sleep": true }, diff --git a/keyboards/system76/launch_1/launch_1.c b/keyboards/system76/launch_1/launch_1.c index 3a4c4749c6..2cff70076e 100644 --- a/keyboards/system76/launch_1/launch_1.c +++ b/keyboards/system76/launch_1/launch_1.c @@ -21,6 +21,59 @@ #include "usb_mux.h" // clang-format off +#ifdef RGB_MATRIX_ENABLE +// LEDs by index +// 0 1 2 3 4 5 6 7 8 9 +// 00 LM4 LL4 LK4 LJ4 LI4 LH4 LG4 LF4 LE4 LD4 +// 10 LC4 LB4 LA4 LA5 LB5 LC5 LD5 LE5 LG5 LH5 +// 20 LI5 LJ5 LK5 LL5 LM5 LO3 LM3 LL3 LK3 LJ3 +// 30 LI3 LH3 LG3 LF3 LE3 LD3 LC3 LB3 LA3 LA2 +// 40 LB2 LC2 LD2 LE2 LF2 LG2 LH2 LI2 LJ2 LK2 +// 50 LL2 LM2 LN2 LO2 LO1 LN1 LM1 LL1 LK1 LJ1 +// 60 LI1 LH1 LG1 LF1 LE1 LD1 LC1 LB1 LA1 LA0 +// 70 LB0 LC0 LD0 LE0 LF0 LG0 LH0 LI0 LJ0 LK0 +// 80 LL0 LM0 LN0 LO0 +led_config_t g_led_config = { { + // Key matrix to LED index +/* A B C D E F G H I J K L M N O */ +/* 0 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, */ +/* 1 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, */ +/* 2 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, */ +/* 3 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, */ +/* 4 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, */ +/* 5 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 */ + { 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82 }, + { 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55 }, + { 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 }, + { 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 83 }, + { 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 54 }, + { 13, 14, 15, 16, 17, 25, 18, 19, 20, 21, 22, 23, 24, 53 }, +}, { + // LED index to physical position (see leds.sh in `launch' repo) +/* 00 */ {209, 51}, {190, 51}, {171, 51}, {156, 51}, {140, 51}, {125, 51}, {110, 51}, {95, 51}, {80, 51}, {65, 51}, +/* 10 */ {49, 51}, {34, 51}, {11, 51}, {8, 64}, {27, 64}, {42, 64}, {57, 64}, {80, 64}, {110, 64}, {133, 64}, +/* 20 */ {148, 64}, {167, 64}, {194, 64}, {209, 64}, {224, 64}, {224, 38}, {197, 38}, {178, 38}, {163, 38}, {148, 38}, +/* 30 */ {133, 38}, {118, 38}, {103, 38}, {87, 38}, {72, 38}, {57, 38}, {42, 38}, {27, 38}, {8, 38}, {4, 26}, +/* 40 */ {23, 26}, {38, 26}, {53, 26}, {68, 26}, {84, 26}, {99, 26}, {114, 26}, {129, 26}, {144, 26}, {159, 26}, +/* 50 */ {175, 26}, {190, 26}, {205, 26}, {224, 26}, {224, 13}, {201, 13}, {182, 13}, {167, 13}, {152, 13}, {137, 13}, +/* 60 */ {121, 13}, {106, 13}, {91, 13}, {76, 13}, {61, 13}, {46, 13}, {30, 13}, {15, 13}, {0, 13}, {0, 0}, +/* 70 */ {15, 0}, {30, 0}, {46, 0}, {61, 0}, {76, 0}, {91, 0}, {106, 0}, {121, 0}, {137, 0}, {152, 0}, +/* 80 */ {167, 0}, {182, 0}, {201, 0}, {224, 0} +}, { + // LED index to flags (set all to LED_FLAG_KEYLIGHT) + /* 0 1 2 3 4 5 6 7 8 9 */ +/* 00 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +/* 10 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +/* 20 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +/* 30 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +/* 40 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +/* 50 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +/* 60 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +/* 70 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +/* 80 */ 4, 4, 4, 4 +} }; +#endif // RGB_MATRIX_ENABLE + bool eeprom_is_valid(void) { return ( eeprom_read_word(((void *)EEPROM_MAGIC_ADDR)) == EEPROM_MAGIC && diff --git a/keyboards/szrkbd/szr35/board.h b/keyboards/szrkbd/szr35/board.h deleted file mode 100644 index f18f715ed8..0000000000 --- a/keyboards/szrkbd/szr35/board.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef STM32_HSECLK -#define STM32_HSECLK 16000000U diff --git a/keyboards/szrkbd/szr35/config.h b/keyboards/szrkbd/szr35/config.h deleted file mode 100644 index 5a698086bb..0000000000 --- a/keyboards/szrkbd/szr35/config.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define WS2812_PWM_DRIVER PWMD3 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 -#define WS2812_DMA_CHANNEL 5 diff --git a/keyboards/szrkbd/szr35/halconf.h b/keyboards/szrkbd/szr35/halconf.h deleted file mode 100644 index 6945c89b9c..0000000000 --- a/keyboards/szrkbd/szr35/halconf.h +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_PWM TRUE -#define SERIAL_USB_BUFFERS_SIZE 256 -#define HAL_USE_SERIAL TRUE - -#include_next diff --git a/keyboards/szrkbd/szr35/keyboard.json b/keyboards/szrkbd/szr35/keyboard.json deleted file mode 100644 index bb01986238..0000000000 --- a/keyboards/szrkbd/szr35/keyboard.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "keyboard_name": "SZR35", - "manufacturer": "SZRKB", - "maintainer": "diegorodriguezv", - "url": "https://github.com/diegorodriguezv/szr35", - "bootloader": "stm32-dfu", - "processor": "STM32F401", - "usb": { - "pid": "0x45D4", - "vid": "0x44DF", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "dynamic_keymap": { - "layer_count": 9 - }, - "eeprom": { - "wear_leveling": { - "backing_size": 4096 - } - }, - "matrix_pins": { - "direct": [ - ["B4", "B0", "B1", "B12", "B13"], - ["B5", "C5", "B2", "B14", "B15"], - ["B3", "C4", "B10", "C9", "C11"], - ["NO_PIN", "NO_PIN", "A1", "C14", "C12"] - ] - }, - "split": { - "enabled": true, - "serial": { - "driver": "usart", - "pin": "A9" - }, - "handedness": { - "pin": "C7" - }, - "matrix_pins": { - "right": { - "direct": [ - ["B2", "B10", "C10", "C11", "B6"], - ["B0", "B1", "C12", "D2", "B7"], - ["C5", "B12", "B3", "B4", "B5"], - ["C4", "A1", "C13", "NO_PIN", "NO_PIN"] - ] - } - }, - "transport": { - "sync": { - "activity": true, - "layer_state": true, - "matrix_state": true - }, - "watchdog": true, - "watchdog_timeout": 3000 - }, - "bootmagic": { - "matrix": [4, 4] - } - }, - "community_layouts": ["split_3x5_3"], - "layouts": { - "LAYOUT_split_3x5_3": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0.3 }, - { "matrix": [0, 1], "x": 1, "y": 0.1 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0.1 }, - { "matrix": [0, 4], "x": 4, "y": 0.2 }, - - { "matrix": [4, 0], "x": 8, "y": 0.2 }, - { "matrix": [4, 1], "x": 9, "y": 0.1 }, - { "matrix": [4, 2], "x": 10, "y": 0 }, - { "matrix": [4, 3], "x": 11, "y": 0.1 }, - { "matrix": [4, 4], "x": 12, "y": 0.3 }, - - { "matrix": [1, 0], "x": 0, "y": 1.3 }, - { "matrix": [1, 1], "x": 1, "y": 1.1 }, - { "matrix": [1, 2], "x": 2, "y": 1 }, - { "matrix": [1, 3], "x": 3, "y": 1.1 }, - { "matrix": [1, 4], "x": 4, "y": 1.2 }, - - { "matrix": [5, 0], "x": 8, "y": 1.2 }, - { "matrix": [5, 1], "x": 9, "y": 1.1 }, - { "matrix": [5, 2], "x": 10, "y": 1 }, - { "matrix": [5, 3], "x": 11, "y": 1.1 }, - { "matrix": [5, 4], "x": 12, "y": 1.3 }, - - { "matrix": [2, 0], "x": 0, "y": 2.3 }, - { "matrix": [2, 1], "x": 1, "y": 2.1 }, - { "matrix": [2, 2], "x": 2, "y": 2 }, - { "matrix": [2, 3], "x": 3, "y": 2.1 }, - { "matrix": [2, 4], "x": 4, "y": 2.2 }, - - { "matrix": [6, 0], "x": 8, "y": 2.2 }, - { "matrix": [6, 1], "x": 9, "y": 2.1 }, - { "matrix": [6, 2], "x": 10, "y": 2 }, - { "matrix": [6, 3], "x": 11, "y": 2.1 }, - { "matrix": [6, 4], "x": 12, "y": 2.3 }, - - { "matrix": [3, 2], "x": 3, "y": 3.7 }, - { "matrix": [3, 3], "x": 4, "y": 3.7 }, - { "matrix": [3, 4], "x": 5, "y": 3.2, "h": 1.5 }, - - { "matrix": [7, 0], "x": 7, "y": 3.2, "h": 1.5 }, - { "matrix": [7, 1], "x": 8, "y": 3.7 }, - { "matrix": [7, 2], "x": 9, "y": 3.7 } - ] - } - }, - "ws2812": { - "driver": "pwm", - "pin": "A7" - }, - "rgb_matrix": { - "driver": "ws2812", - "split_count": [18, 18], - "animations": { - "alphas_mods": true, - "gradient_up_down": true, - "gradient_left_right": true, - "breathing": true, - "band_sat": true, - "band_val": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_up_down": true, - "rainbow_moving_chevron": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "dual_beacon": true, - "rainbow_beacon": true, - "rainbow_pinwheels": true, - "flower_blooming": true, - "raindrops": true, - "jellybean_raindrops": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "pixel_rain": true, - "pixel_flow": true, - "pixel_fractal": true, - "typing_heatmap": true, - "digital_rain": true, - "solid_reactive_simple": true, - "solid_reactive": true, - "solid_reactive_wide": true, - "solid_reactive_cross": true, - "solid_reactive_nexus": true, - "splash": true, - "solid_splash": true, - "starlight_smooth": true, - "starlight": true, - "starlight_dual_sat": true, - "starlight_dual_hue": true, - "riverflow": true - }, - "default": { - "animation": "solid_reactive_cross", - "sat": 0 - }, - "layout": [ - {"matrix": [0, 4], "x": 96, "y": 15, "flags": 4}, - {"matrix": [0, 3], "x": 72, "y": 15, "flags": 4}, - {"matrix": [0, 2], "x": 48, "y": 15, "flags": 4}, - {"matrix": [0, 1], "x": 24, "y": 15, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 15, "flags": 4}, - - {"matrix": [1, 4], "x": 96, "y": 30, "flags": 4}, - {"matrix": [1, 3], "x": 72, "y": 30, "flags": 4}, - {"matrix": [1, 2], "x": 48, "y": 30, "flags": 4}, - {"matrix": [1, 1], "x": 24, "y": 30, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 30, "flags": 4}, - - {"matrix": [2, 4], "x": 96, "y": 45, "flags": 4}, - {"matrix": [2, 3], "x": 72, "y": 45, "flags": 4}, - {"matrix": [2, 2], "x": 48, "y": 45, "flags": 4}, - {"matrix": [2, 1], "x": 24, "y": 45, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 45, "flags": 4}, - - {"matrix": [3, 4], "x": 96, "y": 63, "flags": 4}, - {"matrix": [3, 3], "x": 72, "y": 63, "flags": 4}, - {"matrix": [3, 2], "x": 48, "y": 63, "flags": 4}, - - {"matrix": [4, 4], "x": 223, "y": 15, "flags": 4}, - {"matrix": [4, 3], "x": 192, "y": 15, "flags": 4}, - {"matrix": [4, 2], "x": 168, "y": 15, "flags": 4}, - {"matrix": [4, 1], "x": 144, "y": 15, "flags": 4}, - {"matrix": [4, 0], "x": 120, "y": 15, "flags": 4}, - - {"matrix": [5, 4], "x": 223, "y": 30, "flags": 4}, - {"matrix": [5, 3], "x": 192, "y": 30, "flags": 4}, - {"matrix": [5, 2], "x": 168, "y": 30, "flags": 4}, - {"matrix": [5, 1], "x": 144, "y": 30, "flags": 4}, - {"matrix": [5, 0], "x": 120, "y": 30, "flags": 4}, - - {"matrix": [6, 4], "x": 223, "y": 45, "flags": 4}, - {"matrix": [6, 3], "x": 192, "y": 45, "flags": 4}, - {"matrix": [6, 2], "x": 168, "y": 45, "flags": 4}, - {"matrix": [6, 1], "x": 144, "y": 45, "flags": 4}, - {"matrix": [6, 0], "x": 120, "y": 45, "flags": 4}, - - {"matrix": [7, 2], "x": 168, "y": 63, "flags": 4}, - {"matrix": [7, 1], "x": 144, "y": 63, "flags": 4}, - {"matrix": [7, 0], "x": 120, "y": 63, "flags": 4} - ] - } -} diff --git a/keyboards/szrkbd/szr35/keymaps/default/keymap.c b/keyboards/szrkbd/szr35/keymaps/default/keymap.c deleted file mode 100644 index 97669d8620..0000000000 --- a/keyboards/szrkbd/szr35/keymaps/default/keymap.c +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -// Based loosely on https://peterxjang.com/blog/designing-a-36-key-custom-keyboard-layout.html -// This is a good starting point for someone who is used to normal qwerty keyboards and wants to -// switch easily between the 36-key keyboard and a laptop keyboard. The goal is to minimize the -// learning curve by avoiding key relocation and maintaining our hard-earned muscle memory. - -#include QMK_KEYBOARD_H - -enum layers { - _LAYER_0, - _LAYER_1, - _LAYER_2, - _LAYER_3, -}; - -#define LAYER0 MO(_LAYER_0) -#define LAYER1 MO(_LAYER_1) -#define LAYER2 MO(_LAYER_2) -#define LAYER3 MO(_LAYER_3) - -#define Z_SFT LSFT_T(KC_Z) -#define SLS_SFT RSFT_T(KC_SLSH) -#define BSL_SFT RSFT_T(KC_BSLS) -#define DEL_ALT LALT_T(KC_DEL) -#define TAB_GUI LGUI_T(KC_TAB) -#define ESC_CTL LCTL_T(KC_ESC) - -#define G_TAB G(KC_TAB) -#define C_ESC C(KC_ESC) - -#define ENT_LY1 LT(_LAYER_1, KC_ENT) -#define BSP_LY2 LT(_LAYER_2, KC_BSPC) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_LAYER_0] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - Z_SFT, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SLS_SFT, - DEL_ALT, TAB_GUI, ESC_CTL, KC_SPC, ENT_LY1, BSP_LY2 - ), - - [_LAYER_1] = LAYOUT_split_3x5_3( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_GRV, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, - KC_LSFT, KC_BRID, KC_BRIU, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, BSL_SFT, - XXXXXXX, G_TAB, C_ESC, XXXXXXX, _______, LAYER3 - ), - - [_LAYER_2] = LAYOUT_split_3x5_3( - 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_MPRV, KC_MPLY, KC_MNXT, MS_LEFT, MS_DOWN, MS_UP, MS_RGHT, KC_PSCR, - KC_MUTE, KC_VOLD, KC_VOLU, MS_WHLD, MS_WHLU, MS_BTN1, MS_BTN2, MS_BTN3, MS_BTN4, MS_BTN5, - MS_ACL0, MS_ACL1, MS_ACL2, XXXXXXX, LAYER3, _______ - ), - - [_LAYER_3] = LAYOUT_split_3x5_3( - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RM_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RM_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ - ) - -}; diff --git a/keyboards/szrkbd/szr35/keymaps/factory/keymap.c b/keyboards/szrkbd/szr35/keymaps/factory/keymap.c deleted file mode 100644 index c6cc4a02c5..0000000000 --- a/keyboards/szrkbd/szr35/keymaps/factory/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum layers { - _LAYER_0, - _LAYER_1, - _LAYER_2, - _LAYER_3, -}; - -#define LAYER0 MO(_LAYER_0) -#define LAYER1 MO(_LAYER_1) -#define LAYER2 MO(_LAYER_2) -#define LAYER3 MO(_LAYER_3) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_LAYER_0] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_LGUI, LAYER1, KC_SPC, KC_ENT, LAYER2, KC_RGUI - ), - - [_LAYER_1] = LAYOUT_split_3x5_3( - KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LGUI, _______, KC_SPC, KC_ENT, LAYER3, KC_RGUI - ), - - [_LAYER_2] = LAYOUT_split_3x5_3( - KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_RCTL, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RALT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - KC_LGUI, LAYER3, KC_SPC, KC_ENT, _______, KC_RGUI - ), - - [_LAYER_3] = LAYOUT_split_3x5_3( - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RM_NEXT, RM_HUED, RM_SATD, RM_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RGUI - ) - -}; diff --git a/keyboards/szrkbd/szr35/mcuconf.h b/keyboards/szrkbd/szr35/mcuconf.h deleted file mode 100644 index a70e4aa725..0000000000 --- a/keyboards/szrkbd/szr35/mcuconf.h +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include_next - -#undef STM32_SERIAL_USE_USART1 -#define STM32_SERIAL_USE_USART1 TRUE - -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 TRUE - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 16 - -#undef STM32_PLLN_VALUE -#define STM32_PLLN_VALUE 192 - -#undef STM32_PLLQ_VALUE -#define STM32_PLLQ_VALUE 4 - -#undef STM32_PPRE1 -#define STM32_PPRE1 STM32_PPRE1_DIV4 - -#undef STM32_PPRE2 -#define STM32_PPRE2 STM32_PPRE2_DIV2 diff --git a/keyboards/szrkbd/szr35/readme.md b/keyboards/szrkbd/szr35/readme.md deleted file mode 100644 index f137cb64e4..0000000000 --- a/keyboards/szrkbd/szr35/readme.md +++ /dev/null @@ -1,36 +0,0 @@ -# SZR35 - -![szr35](https://i.ibb.co/vvQPBTF9/szr35.jpg) - -*The **SZR35** is a minimalist 36-key split keyboard. It follows the popular 3x5+3 layout and is aimed at users who value ergonomic typing, portability, and open-source firmware flexibility. It ships with Vial-compatible firmware and is built around an STM32 microcontroller.* - -* Keyboard Maintainer: [diegorodriguezv](https://github.com/diegorodriguezv) -* Hardware: - * **Microcontroller:** STM32F401RBT6 (Cortex-M4, 256KB Flash, 64KB RAM) - * **Backlighting:** Addressable RGB (WS2812 or similar) - * **Connection:** USB-C on both halves, TRS jack for interconnect -* Hardware Availability: - * [HardToChooseOne](https://hardtochooseone.com) on [Amazon](https://www.amazon.com/gp/product/B0DD69RGHK). - * Alternatively sold from other websites under the SZRKBD brand. - -Make example for this keyboard (after setting up your build environment): - - make szrkbd/szr35:default - -If you want you can use the keymap that came with the keyboard from factory: - - make szrkbd/szr35:factory - -You need to flash each half of the keyboard with the same firmware: - - make szrkbd/szr35: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**: Holding top left key for the left half, top right key for the right half, while plugging in the USB cable. -* **Physical reset button**: Short the reset pads, marked within a white rectangle, while plugging in. Not the ones at the edge opposing the USB connectors but about 2 or 3 centimeters from that edge. -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. diff --git a/keyboards/tada68/keymaps/rgb/readme.md b/keyboards/tada68/keymaps/rgb/readme.md index cc3b65d012..fb5a5abd0c 100755 --- a/keyboards/tada68/keymaps/rgb/readme.md +++ b/keyboards/tada68/keymaps/rgb/readme.md @@ -1,3 +1,3 @@ # RGB on the TADA68 This board has unused pins, which means that you can add some nice RGB leds, although they have no use at this momen because not a single transparent case has been made yet. Here's where you have to solder the wires on the PCB: -![Image of solder points for RGB on the Tada68](http://i.imgur.com/5Xmiz6Q.jpg) +![Image of solder points for RGB on the Tada68](http://i.imgur.com/5Xmiz6Q.jpg) \ No newline at end of file diff --git a/keyboards/takashicompany/baumkuchen/baumkuchen.c b/keyboards/takashicompany/baumkuchen/baumkuchen.c index c06b0f2ff0..e7cc85f091 100644 --- a/keyboards/takashicompany/baumkuchen/baumkuchen.c +++ b/keyboards/takashicompany/baumkuchen/baumkuchen.c @@ -16,4 +16,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return true; -} +} \ No newline at end of file diff --git a/keyboards/takashicompany/baumkuchen/keyboard.json b/keyboards/takashicompany/baumkuchen/keyboard.json index 973ff31dfc..d5aa1f81e1 100644 --- a/keyboards/takashicompany/baumkuchen/keyboard.json +++ b/keyboards/takashicompany/baumkuchen/keyboard.json @@ -69,4 +69,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/takashicompany/baumkuchen/keymaps/default/keymap.c b/keyboards/takashicompany/baumkuchen/keymaps/default/keymap.c index b7c5716907..26fe58f54c 100644 --- a/keyboards/takashicompany/baumkuchen/keymaps/default/keymap.c +++ b/keyboards/takashicompany/baumkuchen/keymaps/default/keymap.c @@ -16,4 +16,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/takashicompany/ergomirage/keyboard.json b/keyboards/takashicompany/ergomirage/keyboard.json index 39e1f0dfd3..4a2e3ab5ec 100644 --- a/keyboards/takashicompany/ergomirage/keyboard.json +++ b/keyboards/takashicompany/ergomirage/keyboard.json @@ -76,4 +76,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/takashicompany/goat51/keymaps/default/keymap.c b/keyboards/takashicompany/goat51/keymaps/default/keymap.c index 3a674137d4..71d623c91f 100644 --- a/keyboards/takashicompany/goat51/keymaps/default/keymap.c +++ b/keyboards/takashicompany/goat51/keymaps/default/keymap.c @@ -120,4 +120,4 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } return true; -} +} \ No newline at end of file diff --git a/keyboards/takashicompany/jourkey/keyboard.json b/keyboards/takashicompany/jourkey/keyboard.json index a72d9364ab..e99eb87c47 100644 --- a/keyboards/takashicompany/jourkey/keyboard.json +++ b/keyboards/takashicompany/jourkey/keyboard.json @@ -45,4 +45,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/takashicompany/jourkey/keymaps/default/rules.mk b/keyboards/takashicompany/jourkey/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/takashicompany/jourkey/keymaps/default/rules.mk +++ b/keyboards/takashicompany/jourkey/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/takashicompany/klec_01/keyboard.json b/keyboards/takashicompany/klec_01/keyboard.json index b39ccb7dd2..88eda74f12 100644 --- a/keyboards/takashicompany/klec_01/keyboard.json +++ b/keyboards/takashicompany/klec_01/keyboard.json @@ -71,4 +71,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/takashicompany/klec_01/keymaps/default/keymap.c b/keyboards/takashicompany/klec_01/keymaps/default/keymap.c index 0283452dcb..551c211b73 100644 --- a/keyboards/takashicompany/klec_01/keymaps/default/keymap.c +++ b/keyboards/takashicompany/klec_01/keymaps/default/keymap.c @@ -66,4 +66,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, 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/takashicompany/klec_02/config.h b/keyboards/takashicompany/klec_02/config.h index 0b312f5619..8828e2ad72 100644 --- a/keyboards/takashicompany/klec_02/config.h +++ b/keyboards/takashicompany/klec_02/config.h @@ -3,4 +3,4 @@ #pragma once -#define EE_HANDS +#define EE_HANDS \ No newline at end of file diff --git a/keyboards/takashicompany/klec_02/keyboard.json b/keyboards/takashicompany/klec_02/keyboard.json index fc92d257a3..b659d18bc0 100644 --- a/keyboards/takashicompany/klec_02/keyboard.json +++ b/keyboards/takashicompany/klec_02/keyboard.json @@ -67,4 +67,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/takashicompany/klec_02/keymaps/default/keymap.c b/keyboards/takashicompany/klec_02/keymaps/default/keymap.c index e83656dbb7..0431b8e6b7 100644 --- a/keyboards/takashicompany/klec_02/keymaps/default/keymap.c +++ b/keyboards/takashicompany/klec_02/keymaps/default/keymap.c @@ -67,4 +67,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/takashicompany/minidivide/keymaps/default/keymap.c b/keyboards/takashicompany/minidivide/keymaps/default/keymap.c index 15eb0a1e80..cd9f82476e 100644 --- a/keyboards/takashicompany/minidivide/keymaps/default/keymap.c +++ b/keyboards/takashicompany/minidivide/keymaps/default/keymap.c @@ -67,4 +67,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/takashicompany/minidivide/minidivide.c b/keyboards/takashicompany/minidivide/minidivide.c index 2fe0b3b73c..abdb91fc47 100644 --- a/keyboards/takashicompany/minidivide/minidivide.c +++ b/keyboards/takashicompany/minidivide/minidivide.c @@ -45,4 +45,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/takashicompany/minizone/minizone.c b/keyboards/takashicompany/minizone/minizone.c index 1a10f21bad..1574b0aef7 100644 --- a/keyboards/takashicompany/minizone/minizone.c +++ b/keyboards/takashicompany/minizone/minizone.c @@ -52,4 +52,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/takashicompany/rookey/keyboard.json b/keyboards/takashicompany/rookey/keyboard.json index a2bae0ee42..5e530a5a3c 100644 --- a/keyboards/takashicompany/rookey/keyboard.json +++ b/keyboards/takashicompany/rookey/keyboard.json @@ -45,4 +45,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/takashicompany/rookey/keymaps/default/rules.mk b/keyboards/takashicompany/rookey/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/takashicompany/rookey/keymaps/default/rules.mk +++ b/keyboards/takashicompany/rookey/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/taleguers/taleguers75/readme.md b/keyboards/taleguers/taleguers75/readme.md index 84e48bbfa6..c3018dc2d7 100644 --- a/keyboards/taleguers/taleguers75/readme.md +++ b/keyboards/taleguers/taleguers75/readme.md @@ -11,4 +11,4 @@ Make example for this keyboard (after setting up your build environment): make taleguers/taleguers75: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/teleport/native/ansi/ansi.c b/keyboards/teleport/native/ansi/ansi.c new file mode 100644 index 0000000000..9c4ea99f40 --- /dev/null +++ b/keyboards/teleport/native/ansi/ansi.c @@ -0,0 +1,51 @@ +/* Copyright 2021 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index, LED 61 omitted on ANSI + { 0, 2, 4, 6, 8, 10, 12, 14 }, + { 1, 3, 5, 7, 9, 11, 13, 15 }, + { 16, 18, 20, 22, 24, 26, 28, NO_LED }, + { 17, 19, 21, 23, 25, 27, 29, 30 }, + { 31, 32, 34, 36, 38, 40, 42, 44 }, + { NO_LED, 33, 35, 37, 39, 41, 43, 45 }, + { 46, 48, 50, 52, 54, 56, NO_LED, 58 }, + { 47, 49, 51, 53, 55, 57, NO_LED, 59 }, + { 60, 62, 64, 66, 68, 70, NO_LED, 73 }, + { NO_LED, 63, 65, 67, 69, 71, 72, 74 }, + { 75, 78, NO_LED, NO_LED, NO_LED, 79, 81, 83 }, + { 76, 77, NO_LED, NO_LED, NO_LED, 80, 82, 84 } +}, { + // LED Index to Physical Position, the LED at { 0,0 } in row 5 is there to catch a non-existing LED on ANSI + { 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 }, {202,13 }, {224,13 }, + { 4,26 }, { 22,26 }, { 37,26 }, { 52,26 }, { 67,26 }, { 82,26 }, { 97,26 }, {112,26 }, {127,26 }, {142,26 }, {157,26 }, {172,26 }, {187,26 }, {205,26 }, {224,26 }, + { 6,38 }, { 26,38 }, { 41,38 }, { 56,38 }, { 71,38 }, { 86,38 }, {101,38 }, {116,38 }, {131,38 }, {146,38 }, {161,38 }, {175,38 }, {200,38 }, {224,38 }, + { 9,51 }, { 0,0 }, { 34,51 }, { 49,51 }, { 63,51 }, { 78,51 }, { 93,51 }, {108,51 }, {123,51 }, {138,51 }, {153,51 }, {168,51 }, {189,51 }, {209,51 }, {224,51 }, + { 2,64 }, { 21,64 }, { 39,64 }, { 95,64 }, {149,64 }, {164,64 }, {179,64 }, {194,64 }, {209,64 }, {224,64 } +}, { + // LED Index to Flag, the 0 flag in row 5 is there to catch a non-existing LED on ANSI + 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4,12, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 9, 12,12,12, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 1, + 1, 9, 1, 4, 1, 1, 1, 4, 4, 4, +} }; +#endif diff --git a/keyboards/teleport/native/ansi/keyboard.json b/keyboards/teleport/native/ansi/keyboard.json index 68dddfad55..30a420517e 100644 --- a/keyboards/teleport/native/ansi/keyboard.json +++ b/keyboards/teleport/native/ansi/keyboard.json @@ -2,95 +2,6 @@ "usb": { "pid": "0x0003" }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 15, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 30, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 45, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 60, "y": 0, "flags": 4}, - {"matrix": [1, 2], "x": 75, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 90, "y": 0, "flags": 1}, - {"matrix": [1, 3], "x": 105, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 119, "y": 0, "flags": 1}, - {"matrix": [1, 4], "x": 134, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 149, "y": 0, "flags": 4}, - {"matrix": [1, 5], "x": 164, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 179, "y": 0, "flags": 4}, - {"matrix": [1, 6], "x": 194, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 209, "y": 0, "flags": 1}, - {"matrix": [1, 7], "x": 224, "y": 0, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 13, "flags": 4}, - {"matrix": [3, 0], "x": 15, "y": 13, "flags": 4}, - {"matrix": [2, 1], "x": 30, "y": 13, "flags": 4}, - {"matrix": [3, 1], "x": 45, "y": 13, "flags": 4}, - {"matrix": [2, 2], "x": 60, "y": 13, "flags": 4}, - {"matrix": [3, 2], "x": 75, "y": 13, "flags": 4}, - {"matrix": [2, 3], "x": 90, "y": 13, "flags": 4}, - {"matrix": [3, 3], "x": 105, "y": 13, "flags": 4}, - {"matrix": [2, 4], "x": 119, "y": 13, "flags": 4}, - {"matrix": [3, 4], "x": 134, "y": 13, "flags": 4}, - {"matrix": [2, 5], "x": 149, "y": 13, "flags": 4}, - {"matrix": [3, 5], "x": 164, "y": 13, "flags": 4}, - {"matrix": [2, 6], "x": 179, "y": 13, "flags": 4}, - {"matrix": [3, 6], "x": 202, "y": 13, "flags": 1}, - {"matrix": [3, 7], "x": 224, "y": 13, "flags": 1}, - {"matrix": [4, 0], "x": 4, "y": 26, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 26, "flags": 4}, - {"matrix": [5, 1], "x": 37, "y": 26, "flags": 12}, - {"matrix": [4, 2], "x": 52, "y": 26, "flags": 4}, - {"matrix": [5, 2], "x": 67, "y": 26, "flags": 4}, - {"matrix": [4, 3], "x": 82, "y": 26, "flags": 4}, - {"matrix": [5, 3], "x": 97, "y": 26, "flags": 4}, - {"matrix": [4, 4], "x": 112, "y": 26, "flags": 4}, - {"matrix": [5, 4], "x": 127, "y": 26, "flags": 4}, - {"matrix": [4, 5], "x": 142, "y": 26, "flags": 4}, - {"matrix": [5, 5], "x": 157, "y": 26, "flags": 4}, - {"matrix": [4, 6], "x": 172, "y": 26, "flags": 4}, - {"matrix": [5, 6], "x": 187, "y": 26, "flags": 4}, - {"matrix": [4, 7], "x": 205, "y": 26, "flags": 1}, - {"matrix": [5, 7], "x": 224, "y": 26, "flags": 1}, - {"matrix": [6, 0], "x": 6, "y": 38, "flags": 9}, - {"matrix": [7, 0], "x": 26, "y": 38, "flags": 12}, - {"matrix": [6, 1], "x": 41, "y": 38, "flags": 12}, - {"matrix": [7, 1], "x": 56, "y": 38, "flags": 12}, - {"matrix": [6, 2], "x": 71, "y": 38, "flags": 4}, - {"matrix": [7, 2], "x": 86, "y": 38, "flags": 4}, - {"matrix": [6, 3], "x": 101, "y": 38, "flags": 4}, - {"matrix": [7, 3], "x": 116, "y": 38, "flags": 4}, - {"matrix": [6, 4], "x": 131, "y": 38, "flags": 4}, - {"matrix": [7, 4], "x": 146, "y": 38, "flags": 4}, - {"matrix": [6, 5], "x": 161, "y": 38, "flags": 4}, - {"matrix": [7, 5], "x": 175, "y": 38, "flags": 4}, - {"matrix": [6, 7], "x": 200, "y": 38, "flags": 1}, - {"matrix": [7, 7], "x": 224, "y": 38, "flags": 1}, - {"matrix": [8, 0], "x": 9, "y": 51, "flags": 1}, - {"x": 0, "y": 0, "flags": 0}, - {"matrix": [8, 1], "x": 34, "y": 51, "flags": 4}, - {"matrix": [9, 1], "x": 49, "y": 51, "flags": 4}, - {"matrix": [8, 2], "x": 63, "y": 51, "flags": 4}, - {"matrix": [9, 2], "x": 78, "y": 51, "flags": 4}, - {"matrix": [8, 3], "x": 93, "y": 51, "flags": 4}, - {"matrix": [9, 3], "x": 108, "y": 51, "flags": 4}, - {"matrix": [8, 4], "x": 123, "y": 51, "flags": 4}, - {"matrix": [9, 4], "x": 138, "y": 51, "flags": 4}, - {"matrix": [8, 5], "x": 153, "y": 51, "flags": 4}, - {"matrix": [9, 5], "x": 168, "y": 51, "flags": 4}, - {"matrix": [9, 6], "x": 189, "y": 51, "flags": 1}, - {"matrix": [8, 7], "x": 209, "y": 51, "flags": 4}, - {"matrix": [9, 7], "x": 224, "y": 51, "flags": 1}, - {"matrix": [10, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [11, 0], "x": 21, "y": 64, "flags": 9}, - {"matrix": [11, 1], "x": 39, "y": 64, "flags": 1}, - {"matrix": [10, 1], "x": 95, "y": 64, "flags": 4}, - {"matrix": [10, 5], "x": 149, "y": 64, "flags": 1}, - {"matrix": [11, 5], "x": 164, "y": 64, "flags": 1}, - {"matrix": [10, 6], "x": 179, "y": 64, "flags": 1}, - {"matrix": [11, 6], "x": 194, "y": 64, "flags": 4}, - {"matrix": [10, 7], "x": 209, "y": 64, "flags": 4}, - {"matrix": [11, 7], "x": 224, "y": 64, "flags": 4} - ] - }, "community_layouts": ["75_ansi"], "layouts": { "LAYOUT_75_ansi": { diff --git a/keyboards/teleport/native/ansi/keymaps/default/keymap.c b/keyboards/teleport/native/ansi/keymaps/default/keymap.c index 142b77a3c5..381228f42d 100644 --- a/keyboards/teleport/native/ansi/keymaps/default/keymap.c +++ b/keyboards/teleport/native/ansi/keymaps/default/keymap.c @@ -95,4 +95,4 @@ layer_state_t layer_state_set_user(layer_state_t state) { rgb_matrix_set_color(WIN_LED_INDEX, rgb_mat.r, rgb_mat.g, rgb_mat.b); } return state; -} +} \ No newline at end of file diff --git a/keyboards/teleport/native/iso/iso.c b/keyboards/teleport/native/iso/iso.c new file mode 100644 index 0000000000..5acbffe8f9 --- /dev/null +++ b/keyboards/teleport/native/iso/iso.c @@ -0,0 +1,51 @@ +/* Copyright 2021 Moritz Plattner + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, 2, 4, 6, 8, 10, 12, 14 }, + { 1, 3, 5, 7, 9, 11, 13, 15 }, + { 16, 18, 20, 22, 24, 26, 28, NO_LED }, + { 17, 19, 21, 23, 25, 27, 29, 30 }, + { 31, 32, 34, 36, 38, 40, 42, 44 }, + { NO_LED, 33, 35, 37, 39, 41, 43, 45 }, + { 46, 48, 50, 52, 54, 56, NO_LED, 58 }, + { 47, 49, 51, 53, 55, 57, NO_LED, 59 }, + { 60, 62, 64, 66, 68, 70, NO_LED, 73 }, + { 61, 63, 65, 67, 69, 71, 72, 74 }, + { 75, 78, NO_LED, NO_LED, NO_LED, 79, 81, 83 }, + { 76, 77, NO_LED, NO_LED, NO_LED, 80, 82, 84 } +}, { + // LED Index to Physical Position + { 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 }, {202,13 }, {224,13 }, + { 4,26 }, { 22,26 }, { 37,26 }, { 52,26 }, { 67,26 }, { 82,26 }, { 97,26 }, {112,26 }, {127,26 }, {142,26 }, {157,26 }, {172,26 }, {187,26 }, {207,32 }, {224,26 }, + { 6,38 }, { 26,38 }, { 41,38 }, { 56,38 }, { 71,38 }, { 86,38 }, {101,38 }, {116,38 }, {131,38 }, {146,38 }, {161,38 }, {175,38 }, {190,38 }, {224,38 }, + { 2,51 }, { 19,51 }, { 34,51 }, { 49,51 }, { 63,51 }, { 78,51 }, { 93,51 }, {108,51 }, {123,51 }, {138,51 }, {153,51 }, {168,51 }, {189,51 }, {209,51 }, {224,51 }, + { 2,64 }, { 21,64 }, { 39,64 }, { 95,64 }, {149,64 }, {164,64 }, {179,64 }, {194,64 }, {209,64 }, {224,64 } +}, { + // LED Index to Flag + 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4,12, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 9, 12,12,12, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 1, + 1, 9, 1, 4, 1, 1, 1, 4, 4, 4, +} }; +#endif diff --git a/keyboards/teleport/native/iso/keyboard.json b/keyboards/teleport/native/iso/keyboard.json index 03a0d811b0..57c5cdb308 100644 --- a/keyboards/teleport/native/iso/keyboard.json +++ b/keyboards/teleport/native/iso/keyboard.json @@ -2,95 +2,6 @@ "usb": { "pid": "0x0002" }, - "rgb_matrix": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, - {"matrix": [1, 0], "x": 15, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 30, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 45, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 60, "y": 0, "flags": 4}, - {"matrix": [1, 2], "x": 75, "y": 0, "flags": 1}, - {"matrix": [0, 3], "x": 90, "y": 0, "flags": 1}, - {"matrix": [1, 3], "x": 105, "y": 0, "flags": 1}, - {"matrix": [0, 4], "x": 119, "y": 0, "flags": 1}, - {"matrix": [1, 4], "x": 134, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 149, "y": 0, "flags": 4}, - {"matrix": [1, 5], "x": 164, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 179, "y": 0, "flags": 4}, - {"matrix": [1, 6], "x": 194, "y": 0, "flags": 1}, - {"matrix": [0, 7], "x": 209, "y": 0, "flags": 1}, - {"matrix": [1, 7], "x": 224, "y": 0, "flags": 1}, - {"matrix": [2, 0], "x": 0, "y": 13, "flags": 4}, - {"matrix": [3, 0], "x": 15, "y": 13, "flags": 4}, - {"matrix": [2, 1], "x": 30, "y": 13, "flags": 4}, - {"matrix": [3, 1], "x": 45, "y": 13, "flags": 4}, - {"matrix": [2, 2], "x": 60, "y": 13, "flags": 4}, - {"matrix": [3, 2], "x": 75, "y": 13, "flags": 4}, - {"matrix": [2, 3], "x": 90, "y": 13, "flags": 4}, - {"matrix": [3, 3], "x": 105, "y": 13, "flags": 4}, - {"matrix": [2, 4], "x": 119, "y": 13, "flags": 4}, - {"matrix": [3, 4], "x": 134, "y": 13, "flags": 4}, - {"matrix": [2, 5], "x": 149, "y": 13, "flags": 4}, - {"matrix": [3, 5], "x": 164, "y": 13, "flags": 4}, - {"matrix": [2, 6], "x": 179, "y": 13, "flags": 4}, - {"matrix": [3, 6], "x": 202, "y": 13, "flags": 1}, - {"matrix": [3, 7], "x": 224, "y": 13, "flags": 1}, - {"matrix": [4, 0], "x": 4, "y": 26, "flags": 1}, - {"matrix": [4, 1], "x": 22, "y": 26, "flags": 4}, - {"matrix": [5, 1], "x": 37, "y": 26, "flags": 12}, - {"matrix": [4, 2], "x": 52, "y": 26, "flags": 4}, - {"matrix": [5, 2], "x": 67, "y": 26, "flags": 4}, - {"matrix": [4, 3], "x": 82, "y": 26, "flags": 4}, - {"matrix": [5, 3], "x": 97, "y": 26, "flags": 4}, - {"matrix": [4, 4], "x": 112, "y": 26, "flags": 4}, - {"matrix": [5, 4], "x": 127, "y": 26, "flags": 4}, - {"matrix": [4, 5], "x": 142, "y": 26, "flags": 4}, - {"matrix": [5, 5], "x": 157, "y": 26, "flags": 4}, - {"matrix": [4, 6], "x": 172, "y": 26, "flags": 4}, - {"matrix": [5, 6], "x": 187, "y": 26, "flags": 4}, - {"matrix": [4, 7], "x": 207, "y": 32, "flags": 1}, - {"matrix": [5, 7], "x": 224, "y": 26, "flags": 1}, - {"matrix": [6, 0], "x": 6, "y": 38, "flags": 9}, - {"matrix": [7, 0], "x": 26, "y": 38, "flags": 12}, - {"matrix": [6, 1], "x": 41, "y": 38, "flags": 12}, - {"matrix": [7, 1], "x": 56, "y": 38, "flags": 12}, - {"matrix": [6, 2], "x": 71, "y": 38, "flags": 4}, - {"matrix": [7, 2], "x": 86, "y": 38, "flags": 4}, - {"matrix": [6, 3], "x": 101, "y": 38, "flags": 4}, - {"matrix": [7, 3], "x": 116, "y": 38, "flags": 4}, - {"matrix": [6, 4], "x": 131, "y": 38, "flags": 4}, - {"matrix": [7, 4], "x": 146, "y": 38, "flags": 4}, - {"matrix": [6, 5], "x": 161, "y": 38, "flags": 4}, - {"matrix": [7, 5], "x": 175, "y": 38, "flags": 4}, - {"matrix": [6, 7], "x": 190, "y": 38, "flags": 4}, - {"matrix": [7, 7], "x": 224, "y": 38, "flags": 1}, - {"matrix": [8, 0], "x": 2, "y": 51, "flags": 1}, - {"matrix": [9, 0], "x": 19, "y": 51, "flags": 4}, - {"matrix": [8, 1], "x": 34, "y": 51, "flags": 4}, - {"matrix": [9, 1], "x": 49, "y": 51, "flags": 4}, - {"matrix": [8, 2], "x": 63, "y": 51, "flags": 4}, - {"matrix": [9, 2], "x": 78, "y": 51, "flags": 4}, - {"matrix": [8, 3], "x": 93, "y": 51, "flags": 4}, - {"matrix": [9, 3], "x": 108, "y": 51, "flags": 4}, - {"matrix": [8, 4], "x": 123, "y": 51, "flags": 4}, - {"matrix": [9, 4], "x": 138, "y": 51, "flags": 4}, - {"matrix": [8, 5], "x": 153, "y": 51, "flags": 4}, - {"matrix": [9, 5], "x": 168, "y": 51, "flags": 4}, - {"matrix": [9, 6], "x": 189, "y": 51, "flags": 1}, - {"matrix": [8, 7], "x": 209, "y": 51, "flags": 4}, - {"matrix": [9, 7], "x": 224, "y": 51, "flags": 1}, - {"matrix": [10, 0], "x": 2, "y": 64, "flags": 1}, - {"matrix": [11, 0], "x": 21, "y": 64, "flags": 9}, - {"matrix": [11, 1], "x": 39, "y": 64, "flags": 1}, - {"matrix": [10, 1], "x": 95, "y": 64, "flags": 4}, - {"matrix": [10, 5], "x": 149, "y": 64, "flags": 1}, - {"matrix": [11, 5], "x": 164, "y": 64, "flags": 1}, - {"matrix": [10, 6], "x": 179, "y": 64, "flags": 1}, - {"matrix": [11, 6], "x": 194, "y": 64, "flags": 4}, - {"matrix": [10, 7], "x": 209, "y": 64, "flags": 4}, - {"matrix": [11, 7], "x": 224, "y": 64, "flags": 4} - ] - }, "community_layouts": ["75_iso"], "layouts": { "LAYOUT_75_iso": { diff --git a/keyboards/teleport/native/mcuconf.h b/keyboards/teleport/native/mcuconf.h index 7376837ac3..e12b906041 100644 --- a/keyboards/teleport/native/mcuconf.h +++ b/keyboards/teleport/native/mcuconf.h @@ -27,4 +27,4 @@ #define STM32_I2C_USE_I2C1 TRUE #undef STM32_I2C_USE_DMA -#define STM32_I2C_USE_DMA TRUE +#define STM32_I2C_USE_DMA TRUE \ No newline at end of file diff --git a/keyboards/teleport/native/native.c b/keyboards/teleport/native/native.c index aca323715f..b53979e27c 100644 --- a/keyboards/teleport/native/native.c +++ b/keyboards/teleport/native/native.c @@ -115,4 +115,4 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {1, SW6_CS15, SW5_CS15, SW4_CS15}, {1, SW6_CS16, SW5_CS16, SW4_CS16} }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/teleport/numpad/readme.md b/keyboards/teleport/numpad/readme.md index a12e88a6c1..20975b6947 100644 --- a/keyboards/teleport/numpad/readme.md +++ b/keyboards/teleport/numpad/readme.md @@ -17,4 +17,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (In this case NumLock) 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` (With the default keymap, hold NumLock, then press Enter) +* **Keycode in layout**: Press the key mapped to `QK_BOOT` (With the default keymap, hold NumLock, then press Enter) \ No newline at end of file diff --git a/keyboards/teleport/tkl/keyboard.json b/keyboards/teleport/tkl/keyboard.json index 56c82b4b42..b6b93667f4 100644 --- a/keyboards/teleport/tkl/keyboard.json +++ b/keyboards/teleport/tkl/keyboard.json @@ -319,4 +319,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/terrazzo/terrazzo_effects/dino.h b/keyboards/terrazzo/terrazzo_effects/dino.h index fa1e9c44e2..18c629f414 100644 --- a/keyboards/terrazzo/terrazzo_effects/dino.h +++ b/keyboards/terrazzo/terrazzo_effects/dino.h @@ -159,4 +159,4 @@ void DINO(uint8_t i, bool dir) { } # endif -#endif +#endif \ No newline at end of file diff --git a/keyboards/terrazzo/terrazzo_effects/dot.h b/keyboards/terrazzo/terrazzo_effects/dot.h index 1ed8669789..07c4621c26 100644 --- a/keyboards/terrazzo/terrazzo_effects/dot.h +++ b/keyboards/terrazzo/terrazzo_effects/dot.h @@ -24,4 +24,4 @@ void DOT(uint8_t i, bool dir) { } # endif -#endif +#endif \ No newline at end of file diff --git a/keyboards/terrazzo/terrazzo_effects/heart.h b/keyboards/terrazzo/terrazzo_effects/heart.h index 1abb83411f..bfbd6acc38 100644 --- a/keyboards/terrazzo/terrazzo_effects/heart.h +++ b/keyboards/terrazzo/terrazzo_effects/heart.h @@ -96,4 +96,4 @@ void HEART(uint8_t i, bool dir) { } # endif -#endif +#endif \ No newline at end of file diff --git a/keyboards/terrazzo/terrazzo_effects/outrun.h b/keyboards/terrazzo/terrazzo_effects/outrun.h index 9cb28e3b70..127e714b2f 100644 --- a/keyboards/terrazzo/terrazzo_effects/outrun.h +++ b/keyboards/terrazzo/terrazzo_effects/outrun.h @@ -124,4 +124,4 @@ void OUTRUN(uint8_t i, bool dir) { } # endif -#endif +#endif \ No newline at end of file diff --git a/keyboards/terrazzo/terrazzo_effects/pac_dude.h b/keyboards/terrazzo/terrazzo_effects/pac_dude.h index c4f393f558..aaf0c55457 100644 --- a/keyboards/terrazzo/terrazzo_effects/pac_dude.h +++ b/keyboards/terrazzo/terrazzo_effects/pac_dude.h @@ -64,4 +64,4 @@ void PAC_DUDE(uint8_t i, bool dir) { } # endif -#endif +#endif \ No newline at end of file diff --git a/keyboards/terrazzo/terrazzo_effects/stripes.h b/keyboards/terrazzo/terrazzo_effects/stripes.h index e90fd05d25..4e1238cdc4 100644 --- a/keyboards/terrazzo/terrazzo_effects/stripes.h +++ b/keyboards/terrazzo/terrazzo_effects/stripes.h @@ -32,4 +32,4 @@ void STRIPES(uint8_t i, bool dir) { } # endif -#endif +#endif \ No newline at end of file diff --git a/keyboards/terrazzo/terrazzo_effects/wpm_chart.h b/keyboards/terrazzo/terrazzo_effects/wpm_chart.h index bfb043150b..b80b604d26 100644 --- a/keyboards/terrazzo/terrazzo_effects/wpm_chart.h +++ b/keyboards/terrazzo/terrazzo_effects/wpm_chart.h @@ -108,4 +108,4 @@ void WPM_CHART(uint8_t i, bool dir) { } # endif -#endif +#endif \ No newline at end of file diff --git a/keyboards/tg67/keyboard.json b/keyboards/tg67/keyboard.json index f712749368..308f16cc99 100644 --- a/keyboards/tg67/keyboard.json +++ b/keyboards/tg67/keyboard.json @@ -120,4 +120,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/tgr/910ce/keymaps/default/keymap.c b/keyboards/tgr/910ce/keymaps/default/keymap.c index 60772c7586..2e5fc5dd67 100644 --- a/keyboards/tgr/910ce/keymaps/default/keymap.c +++ b/keyboards/tgr/910ce/keymaps/default/keymap.c @@ -44,4 +44,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, 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/themadnoodle/ncc1701kb/v2/keyboard.json b/keyboards/themadnoodle/ncc1701kb/v2/keyboard.json index 155524ad61..069a4b79fa 100644 --- a/keyboards/themadnoodle/ncc1701kb/v2/keyboard.json +++ b/keyboards/themadnoodle/ncc1701kb/v2/keyboard.json @@ -66,4 +66,4 @@ ] } -} +} \ No newline at end of file diff --git a/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/rules.mk b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/rules.mk +++ b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad/config.h b/keyboards/themadnoodle/noodlepad/config.h index fbb498c408..d51dabf53d 100644 --- a/keyboards/themadnoodle/noodlepad/config.h +++ b/keyboards/themadnoodle/noodlepad/config.h @@ -3,4 +3,4 @@ #pragma once -#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5 +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5 \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad/info.json b/keyboards/themadnoodle/noodlepad/info.json index 84caadfdae..48f984339c 100644 --- a/keyboards/themadnoodle/noodlepad/info.json +++ b/keyboards/themadnoodle/noodlepad/info.json @@ -47,4 +47,4 @@ } }, -} +} \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad/keymaps/default/rules.mk b/keyboards/themadnoodle/noodlepad/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/themadnoodle/noodlepad/keymaps/default/rules.mk +++ b/keyboards/themadnoodle/noodlepad/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad/v1/keyboard.json b/keyboards/themadnoodle/noodlepad/v1/keyboard.json index 3b89cbff71..e868400ee1 100644 --- a/keyboards/themadnoodle/noodlepad/v1/keyboard.json +++ b/keyboards/themadnoodle/noodlepad/v1/keyboard.json @@ -22,4 +22,4 @@ ] } -} +} \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad/v2/keyboard.json b/keyboards/themadnoodle/noodlepad/v2/keyboard.json index e88c561625..d66c2813ce 100644 --- a/keyboards/themadnoodle/noodlepad/v2/keyboard.json +++ b/keyboards/themadnoodle/noodlepad/v2/keyboard.json @@ -21,4 +21,4 @@ ] } -} +} \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad_micro/keymaps/default/rules.mk b/keyboards/themadnoodle/noodlepad_micro/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/themadnoodle/noodlepad_micro/keymaps/default/rules.mk +++ b/keyboards/themadnoodle/noodlepad_micro/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad_micro/readme.md b/keyboards/themadnoodle/noodlepad_micro/readme.md index 9c8f3acdce..a77c1ad7ba 100644 --- a/keyboards/themadnoodle/noodlepad_micro/readme.md +++ b/keyboards/themadnoodle/noodlepad_micro/readme.md @@ -25,4 +25,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to * Double press the button on the back, center, left of the PCB labeled "R" to enter the bootloader drive mode. -* If you have a pre-compiled .uf2 file, copy it into bootloader drive (RPI-RP2), board will reset automatically once file is copied sucessfully +* If you have a pre-compiled .uf2 file, copy it into bootloader drive (RPI-RP2), board will reset automatically once file is copied sucessfully \ No newline at end of file diff --git a/keyboards/themadnoodle/udon13/keyboard.json b/keyboards/themadnoodle/udon13/keyboard.json index f3ac7cfb11..31ad17a367 100644 --- a/keyboards/themadnoodle/udon13/keyboard.json +++ b/keyboards/themadnoodle/udon13/keyboard.json @@ -70,4 +70,4 @@ ] } -} +} \ No newline at end of file diff --git a/keyboards/themadnoodle/udon13/keymaps/default/rules.mk b/keyboards/themadnoodle/udon13/keymaps/default/rules.mk index defc5696fc..217da48272 100644 --- a/keyboards/themadnoodle/udon13/keymaps/default/rules.mk +++ b/keyboards/themadnoodle/udon13/keymaps/default/rules.mk @@ -1,2 +1,2 @@ ENCODER_MAP_ENABLE = yes -LTO_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/themadnoodle/udon13/udon13.c b/keyboards/themadnoodle/udon13/udon13.c index 304d7811f6..bda0ae7e7b 100644 --- a/keyboards/themadnoodle/udon13/udon13.c +++ b/keyboards/themadnoodle/udon13/udon13.c @@ -73,4 +73,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/thepanduuh/degenpad/readme.md b/keyboards/thepanduuh/degenpad/readme.md index 5e0772c668..2feed8cbcc 100644 --- a/keyboards/thepanduuh/degenpad/readme.md +++ b/keyboards/thepanduuh/degenpad/readme.md @@ -21,4 +21,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to 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. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file diff --git a/keyboards/thevankeyboards/readme.md b/keyboards/thevankeyboards/readme.md index 10879bbb5f..5dfd74e574 100644 --- a/keyboards/thevankeyboards/readme.md +++ b/keyboards/thevankeyboards/readme.md @@ -1,3 +1,3 @@ # TheVan Keyboards -[TheVan Keyboards](https://thevankeyboards.com/) is based in the United States and is responsible for boards such as the minivan. +[TheVan Keyboards](https://thevankeyboards.com/) is based in the United States and is responsible for boards such as the minivan. \ No newline at end of file diff --git a/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json b/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json index 8a2b4093f2..95fa6664b2 100644 --- a/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json +++ b/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json @@ -74,4 +74,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/thumbsup/rev9_promicro_4x12/rules.mk b/keyboards/thumbsup/rev9_promicro_4x12/rules.mk index fedac72e2e..9bfd1498a3 100644 --- a/keyboards/thumbsup/rev9_promicro_4x12/rules.mk +++ b/keyboards/thumbsup/rev9_promicro_4x12/rules.mk @@ -1 +1 @@ -POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c +POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c \ No newline at end of file diff --git a/keyboards/tkc/portico/keyboard.json b/keyboards/tkc/portico/keyboard.json index 52ad417a02..49efe0a942 100644 --- a/keyboards/tkc/portico/keyboard.json +++ b/keyboards/tkc/portico/keyboard.json @@ -44,75 +44,6 @@ "typing_heatmap": true }, "driver": "is31fl3731", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 4}, - {"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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 201, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 21, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 39, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 152, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 171, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 195, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4} - ], "led_flush_limit": 26, "led_process_limit": 4, "max_brightness": 200, diff --git a/keyboards/tkc/portico/portico.c b/keyboards/tkc/portico/portico.c index e3283e1571..bd60df13e2 100644 --- a/keyboards/tkc/portico/portico.c +++ b/keyboards/tkc/portico/portico.c @@ -99,6 +99,28 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { #endif #ifdef RGB_MATRIX_ENABLE +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, NO_LED, 43 }, + { 44, NO_LED, 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, NO_LED, 62, 63, 64, 65, 66 } + }, { + { 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 }, { 203, 0 }, { 224, 0 }, + { 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 }, + { 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 }, { 224, 32 }, + { 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 }, + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 152, 64 }, { 171, 64 }, { 195, 64 }, { 210, 64 }, { 224, 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 + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/tkc/portico68v2/keyboard.json b/keyboards/tkc/portico68v2/keyboard.json index 0e7ccac963..087713f3a2 100644 --- a/keyboards/tkc/portico68v2/keyboard.json +++ b/keyboards/tkc/portico68v2/keyboard.json @@ -53,90 +53,6 @@ }, "center_point": [116, 32], "driver": "is31fl3741", - "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": 135, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 150, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 165, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 180, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 23, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 38, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 83, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 98, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 113, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 143, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 158, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 173, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 188, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 206, "y": 16, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 6, "y": 32, "flags": 4}, - {"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": 176, "y": 32, "flags": 4}, - {"matrix": [2, 12], "x": 201, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [3, 0], "x": 9, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 79, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 94, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 109, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 124, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 139, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 154, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 169, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 189, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 210, "y": 48, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [4, 0], "x": 2, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 21, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 39, "y": 64, "flags": 4}, - {"matrix": [4, 6], "x": 96, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 152, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 171, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 195, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 210, "y": 64, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 180, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 200, "y": 64, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 224, "y": 32, "flags": 2}, - {"x": 44, "y": 0, "flags": 2}, - {"x": 88, "y": 0, "flags": 2}, - {"x": 136, "y": 0, "flags": 2}, - {"x": 0, "y": 32, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 24, "y": 64, "flags": 2}, - {"x": 78, "y": 64, "flags": 2}, - {"x": 112, "y": 64, "flags": 2}, - {"x": 146, "y": 64, "flags": 2} - ], "max_brightness": 175, "sleep": true }, diff --git a/keyboards/tkc/portico68v2/portico68v2.c b/keyboards/tkc/portico68v2/portico68v2.c index e746bda7e6..0f3c557b2c 100644 --- a/keyboards/tkc/portico68v2/portico68v2.c +++ b/keyboards/tkc/portico68v2/portico68v2.c @@ -104,6 +104,30 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0,SW6_CS39,SW6_CS38,SW6_CS37}, /* RGB82 */ }; +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, NO_LED, 43 }, + { 44, NO_LED, 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, NO_LED, 62, 63, 64, 65, 66 } + }, { + { 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 }, { 203, 0 }, { 224, 0 }, + { 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 }, + { 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 }, { 224, 32 }, + { 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 }, + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 152, 64 }, { 171, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }, + {0,0},{180,0},{224,0},{200,64},{224,64},{224,32},{44,0},{88,0},{136,0},{0,32},{0,64},{24,64},{78,64},{112,64},{146,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, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + } +}; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/tkc/portico75/keyboard.json b/keyboards/tkc/portico75/keyboard.json index 63f5b59f43..1e84f25ebe 100644 --- a/keyboards/tkc/portico75/keyboard.json +++ b/keyboards/tkc/portico75/keyboard.json @@ -42,106 +42,6 @@ "hue_wave": true }, "driver": "is31fl3741", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 18, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 62, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 81, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 110, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 125, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 143, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 158, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 173, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 187, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 205, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 15, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 29, "y": 15, "flags": 4}, - {"matrix": [1, 3], "x": 44, "y": 15, "flags": 4}, - {"matrix": [1, 4], "x": 59, "y": 15, "flags": 4}, - {"matrix": [1, 5], "x": 74, "y": 15, "flags": 4}, - {"matrix": [1, 6], "x": 88, "y": 15, "flags": 4}, - {"matrix": [1, 7], "x": 103, "y": 15, "flags": 4}, - {"matrix": [1, 8], "x": 118, "y": 15, "flags": 4}, - {"matrix": [1, 9], "x": 132, "y": 15, "flags": 4}, - {"matrix": [1, 10], "x": 147, "y": 15, "flags": 4}, - {"matrix": [1, 11], "x": 162, "y": 15, "flags": 4}, - {"matrix": [1, 12], "x": 176, "y": 15, "flags": 4}, - {"matrix": [1, 13], "x": 198, "y": 15, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 15, "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": 51, "y": 26, "flags": 4}, - {"matrix": [2, 4], "x": 66, "y": 26, "flags": 4}, - {"matrix": [2, 5], "x": 81, "y": 26, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 26, "flags": 4}, - {"matrix": [2, 7], "x": 110, "y": 26, "flags": 4}, - {"matrix": [2, 8], "x": 125, "y": 26, "flags": 4}, - {"matrix": [2, 9], "x": 140, "y": 26, "flags": 4}, - {"matrix": [2, 10], "x": 154, "y": 26, "flags": 4}, - {"matrix": [2, 11], "x": 169, "y": 26, "flags": 4}, - {"matrix": [2, 12], "x": 183, "y": 26, "flags": 4}, - {"matrix": [2, 13], "x": 202, "y": 26, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 26, "flags": 4}, - {"matrix": [3, 0], "x": 5, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 25, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 38, "flags": 4}, - {"matrix": [3, 3], "x": 54, "y": 38, "flags": 4}, - {"matrix": [3, 4], "x": 69, "y": 38, "flags": 4}, - {"matrix": [3, 5], "x": 84, "y": 38, "flags": 4}, - {"matrix": [3, 6], "x": 98, "y": 38, "flags": 4}, - {"matrix": [3, 7], "x": 113, "y": 38, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 38, "flags": 4}, - {"matrix": [3, 9], "x": 143, "y": 38, "flags": 4}, - {"matrix": [3, 10], "x": 157, "y": 38, "flags": 4}, - {"matrix": [3, 11], "x": 172, "y": 38, "flags": 4}, - {"matrix": [3, 12], "x": 197, "y": 38, "flags": 4}, - {"matrix": [4, 0], "x": 9, "y": 49, "flags": 4}, - {"matrix": [4, 1], "x": 33, "y": 49, "flags": 4}, - {"matrix": [4, 2], "x": 48, "y": 49, "flags": 4}, - {"matrix": [4, 3], "x": 62, "y": 49, "flags": 4}, - {"matrix": [4, 4], "x": 77, "y": 49, "flags": 4}, - {"matrix": [4, 5], "x": 92, "y": 49, "flags": 4}, - {"matrix": [4, 6], "x": 107, "y": 49, "flags": 4}, - {"matrix": [4, 7], "x": 121, "y": 49, "flags": 4}, - {"matrix": [4, 8], "x": 136, "y": 49, "flags": 4}, - {"matrix": [4, 9], "x": 151, "y": 49, "flags": 4}, - {"matrix": [4, 10], "x": 165, "y": 49, "flags": 4}, - {"matrix": [4, 11], "x": 186, "y": 49, "flags": 4}, - {"matrix": [4, 12], "x": 209, "y": 52, "flags": 4}, - {"matrix": [5, 0], "x": 2, "y": 61, "flags": 4}, - {"matrix": [5, 1], "x": 20, "y": 61, "flags": 4}, - {"matrix": [5, 2], "x": 39, "y": 61, "flags": 4}, - {"matrix": [5, 5], "x": 94, "y": 61, "flags": 4}, - {"matrix": [5, 9], "x": 151, "y": 61, "flags": 4}, - {"matrix": [5, 10], "x": 173, "y": 61, "flags": 4}, - {"matrix": [5, 11], "x": 195, "y": 64, "flags": 4}, - {"matrix": [5, 12], "x": 209, "y": 64, "flags": 4}, - {"matrix": [5, 13], "x": 224, "y": 64, "flags": 4}, - {"x": 2, "y": 0, "flags": 2}, - {"x": 46, "y": 0, "flags": 2}, - {"x": 90, "y": 0, "flags": 2}, - {"x": 134, "y": 0, "flags": 2}, - {"x": 178, "y": 0, "flags": 2}, - {"x": 222, "y": 0, "flags": 2}, - {"x": 224, "y": 2, "flags": 2}, - {"x": 224, "y": 32, "flags": 2}, - {"x": 224, "y": 62, "flags": 2}, - {"x": 2, "y": 64, "flags": 2}, - {"x": 46, "y": 64, "flags": 2}, - {"x": 90, "y": 64, "flags": 2}, - {"x": 134, "y": 64, "flags": 2}, - {"x": 178, "y": 64, "flags": 2}, - {"x": 222, "y": 64, "flags": 2}, - {"x": 0, "y": 2, "flags": 2}, - {"x": 0, "y": 32, "flags": 2}, - {"x": 0, "y": 62, "flags": 2} - ], "led_flush_limit": 26, "led_process_limit": 4, "max_brightness": 200, diff --git a/keyboards/tkc/portico75/portico75.c b/keyboards/tkc/portico75/portico75.c index 9552b853c5..cd6dafe31a 100644 --- a/keyboards/tkc/portico75/portico75.c +++ b/keyboards/tkc/portico75/portico75.c @@ -142,6 +142,31 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { #endif #ifdef RGB_MATRIX_ENABLE +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, NO_LED, NO_LED}, + { 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, NO_LED, NO_LED}, + { 71, 72, 73, NO_LED, NO_LED, 74, NO_LED, NO_LED, NO_LED, 75, 76, 77, 78, 79, NO_LED}, +}, { + {0,0},{18,0},{33,0},{48,0},{62,0},{81,0},{96,0},{110,0},{125,0},{143,0},{158,0},{173,0},{187,0},{205,0},{224,0}, + {0,15},{15,15},{29,15},{44,15},{59,15},{74,15},{88,15},{103,15},{118,15},{132,15},{147,15},{162,15},{176,15},{198,15},{224,15}, + {4,26},{22,26},{37,26},{51,26},{66,26},{81,26},{96,26},{110,26},{125,26},{140,26},{154,26},{169,26},{183,26},{202,26},{224,26}, + {5,38},{25,38},{40,38},{54,38},{69,38},{84,38},{98,38},{113,38},{128,38},{143,38},{157,38},{172,38},{197,38}, + {9,49},{33,49},{48,49},{62,49},{77,49},{92,49},{107,49},{121,49},{136,49},{151,49},{165,49},{186,49},{209,52}, + {2,61},{20,61},{39,61},{94,61},{151,61},{173,61},{195,64},{209,64},{224,64}, + {2,0},{46,0},{90,0},{134,0},{178,0},{222,0},{224,2},{224,32},{224,62},{2,64},{46,64},{90,64},{134,64},{178,64},{222,64},{0,2},{0,32},{0,62}, +}, { + 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, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +} }; + bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; diff --git a/keyboards/togkey/pad_pocket/readme.md b/keyboards/togkey/pad_pocket/readme.md index 8007cc808e..160d698ad6 100644 --- a/keyboards/togkey/pad_pocket/readme.md +++ b/keyboards/togkey/pad_pocket/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (The left key closest to the USB Port) 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/wily/wily_s/halconf.h b/keyboards/tominabox1/le_chiffre/keymaps/default/config.h similarity index 88% rename from keyboards/wily/wily_s/halconf.h rename to keyboards/tominabox1/le_chiffre/keymaps/default/config.h index 6c98f31f9b..8f0df1847a 100644 --- a/keyboards/wily/wily_s/halconf.h +++ b/keyboards/tominabox1/le_chiffre/keymaps/default/config.h @@ -1,4 +1,4 @@ -/* Copyright 2025 Gondolindrim +/* Copyright 2020 tominabox1 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -13,9 +13,6 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - #pragma once -#define HAL_USE_PWM TRUE - -#include_next +#define COMBO_TERM 30 diff --git a/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c b/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c new file mode 100644 index 0000000000..756eb06506 --- /dev/null +++ b/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.c @@ -0,0 +1,155 @@ +/* Copyright 2020 tominabox1 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layers { + _BASE, + _NUM_SYM, + _NAV +}; + +#define KC_NUM_SPC LT(_NUM_SYM, KC_SPC) +#define KC_GA LGUI_T(KC_A) +#define KC_AS LALT_T(KC_S) +#define KC_CD LCTL_T(KC_D) +#define KC_SF LSFT_T(KC_F) +#define KC_SJ RSFT_T(KC_J) +#define KC_CK RCTL_T(KC_K) +#define KC_AL RALT_T(KC_L) +#define KC_GSCLN RGUI_T(KC_SCLN) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MPLY, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_GA, KC_AS, KC_CD, KC_SF, KC_G, KC_H, KC_SJ, KC_CK, KC_AL, KC_GSCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LCTL, KC_ENT, KC_NUM_SPC, MO(_NAV) + ), + + [_NUM_SYM] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_EQUAL, KC_MINS, + KC_BSLS,KC_LCBR, KC_LBRC, KC_LPRN, KC_UNDS, KC_RPRN, KC_RBRC, KC_RCBR, KC_DOT, KC_GRV, + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_NAV] = LAYOUT( + QK_BOOT, _______, AG_NORM, AG_SWAP, DB_TOGG, KC_TRNS, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, + RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, + RM_NEXT, RM_HUED, RM_SATD, RM_VALD, KC_NO, KC_MINS, KC_INT1, KC_COMM, KC_DOT, KC_BSLS, + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS + ) +}; +// clang-format on + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = {ENCODER_CCW_CW(KC_MNXT, KC_MPRV) }, + [_NUM_SYM] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU) }, + [_NAV] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) } +}; +#endif + +#ifdef COMBO_ENABLE +enum combo_events { + COMBO_BSPC, + COMBO_NUMBAK, + COMBO_TAB, + COMBO_ESC, + COMBO_DEL, +}; + +const uint16_t PROGMEM combo_bspc[] = {KC_O, KC_P, COMBO_END}; +const uint16_t PROGMEM combo_numbak[] = {KC_0, KC_9, COMBO_END}; +const uint16_t PROGMEM combo_tab[] = {KC_Q, KC_W, COMBO_END}; +const uint16_t PROGMEM combo_esc[] = {KC_E, KC_W, COMBO_END}; +const uint16_t PROGMEM combo_del[] = {KC_MINS, KC_EQL, COMBO_END}; + +combo_t key_combos[] = { + [COMBO_BSPC] = COMBO(combo_bspc, KC_BSPC), + [COMBO_NUMBAK] = COMBO(combo_numbak, KC_BSPC), + [COMBO_TAB] = COMBO(combo_tab, KC_TAB), + [COMBO_ESC] = COMBO(combo_esc, KC_ESC), + [COMBO_DEL] = COMBO(combo_del, KC_DEL) +}; +#endif + +#ifdef OLED_ENABLE + +// Add additional layer names here if desired. Only first 5 characters will be copied to display. +const char PROGMEM layer_base[] = "BASE"; +const char PROGMEM layer_num_sym[] = " SYM"; +const char PROGMEM layer_nav[] = " NAV"; +// Add layer name variables to array here. Make sure these are in order. +const char* const PROGMEM layer_names[] = { + layer_base, + layer_num_sym, + layer_nav +}; + +static char oled_layer_buf[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; +static layer_state_t top_layer_cache; + +/* BEGIN STANDARD QMK FUNCTIONS */ +bool oled_task_user(void) { + oled_write_raw_P(lechiffre_logo, sizeof(lechiffre_logo)); + // Renders the current keyboard state (layer, lock, caps, scroll, etc); + oled_set_cursor(0, 3); + oled_write_P(oled_section_break, false); + render_layer_status(oled_layer_buf); + oled_write_P(oled_section_break, false); + render_mod_status(get_mods() | get_oneshot_mods()); + oled_write_P(oled_section_break, false); + render_keylock_status(host_keyboard_led_state()); + oled_write_P(oled_section_break, false); + render_keylogger_status(); + + return false; +} + +bool process_record_user(uint16_t keycode, keyrecord_t* record) { + if (record->event.pressed) { + add_keylog(keycode, record); + } + + return true; +} + +// If we don't force an update during initialization, the layer name buffer will start out blank. +layer_state_t default_layer_state_set_user(layer_state_t state) { + update_layer_namebuf(get_highest_layer(state), true); + return state; +} +layer_state_t layer_state_set_user(layer_state_t state) { + update_layer_namebuf(get_highest_layer(state | default_layer_state), false); + return state; +} + +/* END STANDARD QMK FUNCTIONS */ +/* BEGIN CUSTOM HELPER FUNCTION FOR OLED */ +// Avoid excessive copying by only updating the layer name buffer when the layer changes +void update_layer_namebuf(layer_state_t layer, bool force_update) { + if (force_update || layer != top_layer_cache) { + top_layer_cache = layer; + if (layer < ARRAY_SIZE(layer_names)) { + memcpy_P(oled_layer_buf, pgm_read_ptr(&layer_names[layer]), ARRAY_SIZE(oled_layer_buf) - 1); + } else { + memcpy(oled_layer_buf, get_u8_str(layer, ' '), ARRAY_SIZE(oled_layer_buf) - 1); + } + } +} +#endif diff --git a/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.json b/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.json deleted file mode 100644 index 252db21f5d..0000000000 --- a/keyboards/tominabox1/le_chiffre/keymaps/default/keymap.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "keyboard": "tominabox1/le_chiffre", - "keymap": "default", - "config": { - "features": { - "encoder_map": true - } - }, - "layout": "LAYOUT", - "layers": [ - [ - "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_MPLY", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", - "LGUI_T(KC_A)", "LALT_T(KC_S)", "LCTL_T(KC_D)", "LSFT_T(KC_F)", "KC_G", "KC_H", "RSFT_T(KC_J)", "RCTL_T(KC_K)", "RALT_T(KC_L)", "RGUI_T(KC_SCLN)", - "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", - "KC_LCTL", "KC_ENT", "LT(1, KC_SPC)", "MO(2)" - ], - [ - "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_TRNS", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", - "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_EQUAL", "KC_MINS", - "KC_BSLS", "KC_LCBR", "KC_LBRC", "KC_LPRN", "KC_UNDS", "KC_RPRN", "KC_RBRC", "KC_RCBR", "KC_DOT", "KC_GRV", - "KC_CAPS", "KC_TRNS", "KC_TRNS", "KC_TRNS" - ], - [ - "QK_BOOT", "KC_TRNS", "AG_NORM", "AG_SWAP", "DB_TOGG", "KC_TRNS", "KC_GRV", "KC_PGDN", "KC_UP", "KC_PGUP", - "KC_SCLN", "RM_TOGG", "RM_HUEU", "RM_SATU", "RM_VALU", "KC_NO", "KC_HOME", "KC_LEFT", "KC_DOWN", "KC_RGHT", - "KC_END", "RM_NEXT", "RM_HUED", "RM_SATD", "RM_VALD", "KC_NO", "KC_MINS", "KC_INT1", "KC_COMM", "KC_DOT", "KC_BSLS", - "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" - ] - - ], - "encoders": [ - [{"ccw": "KC_MNXT", "cw": "KC_MPRV"}], - [{"ccw": "MS_WHLD", "cw": "MS_WHLU"}], - [{"ccw": "KC_PGDN", "cw": "KC_PGUP"}] - ] -} diff --git a/keyboards/kradoindustries/promenade_rp24hs/keymaps/default/rules.mk b/keyboards/tominabox1/le_chiffre/keymaps/default/rules.mk similarity index 56% rename from keyboards/kradoindustries/promenade_rp24hs/keymaps/default/rules.mk rename to keyboards/tominabox1/le_chiffre/keymaps/default/rules.mk index ee32568148..cbd8b4aa81 100644 --- a/keyboards/kradoindustries/promenade_rp24hs/keymaps/default/rules.mk +++ b/keyboards/tominabox1/le_chiffre/keymaps/default/rules.mk @@ -1 +1,2 @@ +COMBO_ENABLE = yes ENCODER_MAP_ENABLE = yes diff --git a/keyboards/tominabox1/le_chiffre/rev2/readme.md b/keyboards/tominabox1/le_chiffre/rev2/readme.md index 84422b3d4c..b8c65bc0e0 100644 --- a/keyboards/tominabox1/le_chiffre/rev2/readme.md +++ b/keyboards/tominabox1/le_chiffre/rev2/readme.md @@ -1,2 +1,2 @@ Updated v2 PCB with better plate screw clearances, ESD protection, as well as sweet sweet curvy traces. -Rev. 2.0 requires new firmware due to the pinout changing to facilitate prettier trace runs. +Rev. 2.0 requires new firmware due to the pinout changing to facilitate prettier trace runs. \ No newline at end of file diff --git a/keyboards/trkeyboards/trk2/keyboard.json b/keyboards/trkeyboards/trk2/keyboard.json deleted file mode 100644 index f62ee53a03..0000000000 --- a/keyboards/trkeyboards/trk2/keyboard.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "manufacturer": "Tvrd Rad Keyboards", - "keyboard_name": "Tvrd Rad Keyboards TRK2", - "maintainer": "tvrdrad-keyboards", - "bootloader": "halfkay", - "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "B0", "pin_b": "B1", "resolution": 2} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["B3", "B2", "D2", "D3", "C6", "C7", "D5", "F6", "F7", "B6", "B5", "B4", "D7", "D6", "D4"], - "rows": ["F5", "F4", "F1", "F0", "B7"] - }, - "processor": "atmega32u4", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true - }, - "led_count": 19, - "max_brightness": 120 - }, - "url": "https://www.trkeyboards.com/", - "usb": { - "device_version": "0.0.1", - "pid": "0x0002", - "vid": "0x5452" - }, - "ws2812": { - "pin": "E6" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0.75, "y": 0}, - {"matrix": [0, 1], "x": 1.75, "y": 0}, - {"matrix": [0, 2], "x": 2.75, "y": 0}, - {"matrix": [0, 3], "x": 4, "y": 0}, - {"matrix": [0, 4], "x": 5, "y": 0}, - {"matrix": [0, 5], "x": 6, "y": 0}, - {"matrix": [0, 6], "x": 7, "y": 0}, - {"matrix": [0, 7], "x": 10, "y": 0}, - {"matrix": [0, 8], "x": 11, "y": 0}, - {"matrix": [0, 9], "x": 12, "y": 0}, - {"matrix": [0, 10], "x": 13, "y": 0}, - {"matrix": [0, 11], "x": 14.25, "y": 0}, - {"matrix": [0, 12], "x": 15.25, "y": 0}, - {"matrix": [0, 13], "x": 16.25, "y": 0}, - {"matrix": [0, 14], "x": 17.25, "y": 0}, - {"matrix": [1, 0], "x": 0.5, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 2, "y": 1}, - {"matrix": [1, 2], "x": 3.5, "y": 1}, - {"matrix": [1, 3], "x": 4.5, "y": 1}, - {"matrix": [1, 4], "x": 5.5, "y": 1}, - {"matrix": [1, 5], "x": 6.5, "y": 1}, - {"matrix": [1, 6], "x": 9.25, "y": 1}, - {"matrix": [1, 7], "x": 10.25, "y": 1}, - {"matrix": [1, 8], "x": 11.25, "y": 1}, - {"matrix": [1, 9], "x": 12.25, "y": 1}, - {"matrix": [1, 10], "x": 13.25, "y": 1}, - {"matrix": [1, 11], "x": 14.75, "y": 1}, - {"matrix": [1, 12], "x": 15.75, "y": 1}, - {"matrix": [1, 13], "x": 16.75, "y": 1, "w": 1.5}, - {"matrix": [1, 14], "x": 18.25, "y": 1}, - {"matrix": [2, 0], "x": 0.25, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 2, "y": 2}, - {"matrix": [2, 2], "x": 3.75, "y": 2}, - {"matrix": [2, 3], "x": 4.75, "y": 2}, - {"matrix": [2, 4], "x": 5.75, "y": 2}, - {"matrix": [2, 5], "x": 6.75, "y": 2}, - {"matrix": [2, 6], "x": 9.5, "y": 2}, - {"matrix": [2, 7], "x": 10.5, "y": 2}, - {"matrix": [2, 8], "x": 11.5, "y": 2}, - {"matrix": [2, 9], "x": 12.5, "y": 2}, - {"matrix": [2, 10], "x": 18.25, "y": 0}, - {"matrix": [2, 11], "x": 14, "y": 2}, - {"matrix": [2, 12], "x": 15, "y": 2}, - {"matrix": [2, 13], "x": 16, "y": 2, "w": 2.25}, - {"matrix": [2, 14], "x": 18.25, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 4.25, "y": 3}, - {"matrix": [3, 3], "x": 5.25, "y": 3}, - {"matrix": [3, 4], "x": 6.25, "y": 3}, - {"matrix": [3, 5], "x": 7.25, "y": 3}, - {"matrix": [4, 5], "x": 8.75, "y": 3}, - {"matrix": [3, 6], "x": 9.75, "y": 3}, - {"matrix": [3, 7], "x": 10.75, "y": 3}, - {"matrix": [3, 8], "x": 11.75, "y": 3}, - {"matrix": [3, 9], "x": 12.75, "y": 3}, - {"matrix": [3, 11], "x": 14.5, "y": 3}, - {"matrix": [3, 12], "x": 15.5, "y": 3, "w": 1.75}, - {"matrix": [3, 13], "x": 17.25, "y": 3}, - {"matrix": [3, 14], "x": 18.25, "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": 4.5, "y": 4, "w": 1.25}, - {"matrix": [4, 4], "x": 5.75, "y": 4, "w": 2.75}, - {"matrix": [4, 6], "x": 9, "y": 4, "w": 2.25}, - {"matrix": [4, 8], "x": 11.25, "y": 4}, - {"matrix": [4, 11], "x": 15, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 16.25, "y": 4}, - {"matrix": [4, 13], "x": 17.25, "y": 4}, - {"matrix": [4, 14], "x": 18.25, "y": 4} - ] - } - } -} diff --git a/keyboards/trkeyboards/trk2/keymaps/default/keymap.c b/keyboards/trkeyboards/trk2/keymaps/default/keymap.c deleted file mode 100644 index 0791908af1..0000000000 --- a/keyboards/trkeyboards/trk2/keymaps/default/keymap.c +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2025 Tvrd Rad Keyboards -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_KP_SLASH, KC_KP_ASTERISK, - 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_HOME, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_MUTE, KC_SCLN, KC_QUOTE, KC_ENTER, KC_END, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSFT, KC_UP, KC_DELETE, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_BSPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT - ), - [1] = LAYOUT( - 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_PMNS, KC_PPLS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [1] = { ENCODER_CCW_CW(_______, _______) } -}; -#endif diff --git a/keyboards/trkeyboards/trk2/keymaps/default/rules.mk b/keyboards/trkeyboards/trk2/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/trkeyboards/trk2/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/trkeyboards/trk2/readme.md b/keyboards/trkeyboards/trk2/readme.md deleted file mode 100644 index 7e6edbac04..0000000000 --- a/keyboards/trkeyboards/trk2/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Tvrd Rad Keyboards TRK2 - -![TRK2](https://i.imgur.com/iO2zIIT.jpeg) - -Custom keyboard designed by Tvrd Rad Keyboards aka TRK2 - -* Keyboard Maintainer: [Tvrd Rad Keyboards](https://www.trkeyboards.com) -* Hardware Supported: TRK2 PCB -* Hardware Availability: https://www.trkeyboards.com/rs/tastature/5-trk2/ - -Make example for this keyboard (after setting up your build environment): - - make trkeyboards/trk2:default - -Flashing example for this keyboard: - - make trkeyboards/trk2: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 -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/trnthsn/tyson60/info.json b/keyboards/trnthsn/tyson60/info.json index 27e10a1333..6f4df15d99 100644 --- a/keyboards/trnthsn/tyson60/info.json +++ b/keyboards/trnthsn/tyson60/info.json @@ -34,7 +34,7 @@ }, "usb": { "device_version": "0.0.1", - "pid": "0x3633", + "pid": "0x5336", "vid": "0x5453" }, "ws2812": { diff --git a/keyboards/trnthsn/tyson88/config.h b/keyboards/trnthsn/tyson88/config.h deleted file mode 100644 index 8ab8c1a85f..0000000000 --- a/keyboards/trnthsn/tyson88/config.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2025 Tyson.Keebs -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define WS2812_SPI_DRIVER SPID2 -#define WS2812_SPI_MOSI_PAL_MODE 0 -#define WS2812_SPI_SCK_PAL_MODE 0 -#define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/trnthsn/tyson88/halconf.h b/keyboards/trnthsn/tyson88/halconf.h deleted file mode 100644 index afed4392fb..0000000000 --- a/keyboards/trnthsn/tyson88/halconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2025 Tyson.Keebs -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define HAL_USE_SPI TRUE - -#include_next - diff --git a/keyboards/trnthsn/tyson88/info.json b/keyboards/trnthsn/tyson88/info.json deleted file mode 100644 index 8818e20008..0000000000 --- a/keyboards/trnthsn/tyson88/info.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "manufacturer": "Tyson.Keebs", - "keyboard_name": "Tyson88", - "maintainer": "trnthsn", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "indicators": { - "caps_lock": "A5" - }, - "matrix_pins": { - "cols": ["A9", "A8", "B14", "B12", "B11", "B10", "B1", "B0", "A7", "A4", "A3", "A2", "A1", "A0", "A10", "C15", "C14"], - "rows": ["A15", "B3", "B4", "A6", "B6", "B5"] - }, - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "default": { - "animation": "rainbow_swirl" - }, - "led_count": 30 - }, - "usb": { - "device_version": "0.0.1", - "pid": "0x6F38", - "vid": "0x5453" - }, - "ws2812": { - "driver": "spi", - "pin": "B15" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.25, "y": 0}, - {"matrix": [0, 2], "x": 2.25, "y": 0}, - {"matrix": [0, 3], "x": 3.25, "y": 0}, - {"matrix": [0, 4], "x": 4.25, "y": 0}, - {"matrix": [0, 5], "x": 5.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.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": [3, 14], "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": [0, 13], "x": 13, "y": 1.25}, - {"matrix": [1, 13], "x": 14, "y": 1.25}, - {"matrix": [1, 14], "x": 15.25, "y": 1.25}, - {"matrix": [1, 15], "x": 16.25, "y": 1.25}, - {"matrix": [1, 16], "x": 17.25, "y": 1.25}, - {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2.25}, - {"matrix": [2, 2], "x": 2.5, "y": 2.25}, - {"matrix": [2, 3], "x": 3.5, "y": 2.25}, - {"matrix": [2, 4], "x": 4.5, "y": 2.25}, - {"matrix": [2, 5], "x": 5.5, "y": 2.25}, - {"matrix": [2, 6], "x": 6.5, "y": 2.25}, - {"matrix": [2, 7], "x": 7.5, "y": 2.25}, - {"matrix": [2, 8], "x": 8.5, "y": 2.25}, - {"matrix": [2, 9], "x": 9.5, "y": 2.25}, - {"matrix": [2, 10], "x": 10.5, "y": 2.25}, - {"matrix": [2, 11], "x": 11.5, "y": 2.25}, - {"matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, - {"matrix": [2, 14], "x": 15.25, "y": 2.25}, - {"matrix": [2, 15], "x": 16.25, "y": 2.25}, - {"matrix": [2, 16], "x": 17.25, "y": 2.25}, - {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3.25}, - {"matrix": [3, 2], "x": 2.75, "y": 3.25}, - {"matrix": [3, 3], "x": 3.75, "y": 3.25}, - {"matrix": [3, 4], "x": 4.75, "y": 3.25}, - {"matrix": [3, 5], "x": 5.75, "y": 3.25}, - {"matrix": [3, 6], "x": 6.75, "y": 3.25}, - {"matrix": [3, 7], "x": 7.75, "y": 3.25}, - {"matrix": [3, 8], "x": 8.75, "y": 3.25}, - {"matrix": [3, 9], "x": 9.75, "y": 3.25}, - {"matrix": [3, 10], "x": 10.75, "y": 3.25}, - {"matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"matrix": [3, 12], "x": 12.75, "y": 3.25}, - {"matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, - {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4.25}, - {"matrix": [4, 3], "x": 3.25, "y": 4.25}, - {"matrix": [4, 4], "x": 4.25, "y": 4.25}, - {"matrix": [4, 5], "x": 5.25, "y": 4.25}, - {"matrix": [4, 6], "x": 6.25, "y": 4.25}, - {"matrix": [4, 7], "x": 7.25, "y": 4.25}, - {"matrix": [4, 8], "x": 8.25, "y": 4.25}, - {"matrix": [4, 9], "x": 9.25, "y": 4.25}, - {"matrix": [4, 10], "x": 10.25, "y": 4.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4.25}, - {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, - {"matrix": [4, 13], "x": 14, "y": 4.25}, - {"matrix": [4, 15], "x": 16.25, "y": 4.25}, - {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"matrix": [5, 1], "x": 1.5, "y": 5.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, - {"matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, - {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, - {"matrix": [5, 12], "x": 12.5, "y": 5.25}, - {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, - {"matrix": [5, 14], "x": 15.25, "y": 5.25}, - {"matrix": [5, 15], "x": 16.25, "y": 5.25}, - {"matrix": [5, 16], "x": 17.25, "y": 5.25} - ] - } - } -} diff --git a/keyboards/trnthsn/tyson88/keymaps/default/keymap.c b/keyboards/trnthsn/tyson88/keymaps/default/keymap.c deleted file mode 100644 index 510bfdd490..0000000000 --- a/keyboards/trnthsn/tyson88/keymaps/default/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2025 Tyson.Keebs -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐ - // │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13│ │Prs│Srk│Ps │ - // └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘ - // ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ - // │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ` │Bsp│ │Ins│Hm │PgU│ - // ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ - // │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ - // ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ └───┴───┴───┘ - // │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Ent │ - // ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ ┌───┐ - // │Sft │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Fn │ │ ↑ │ - // ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───┐ - // │Ctrl │Win│Alt │ │Alt │Win│Ctrl │ │ ← │ ↓ │ → │ - // └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘ - - - [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_MPLY, 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_GRV, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, - KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/trnthsn/tyson88/mcuconf.h b/keyboards/trnthsn/tyson88/mcuconf.h deleted file mode 100644 index d131af9fdf..0000000000 --- a/keyboards/trnthsn/tyson88/mcuconf.h +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2025 Tyson.Keebs -// 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/trnthsn/tyson88/readme.md b/keyboards/trnthsn/tyson88/readme.md deleted file mode 100644 index 5a6ea20a8b..0000000000 --- a/keyboards/trnthsn/tyson88/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Tyson88 - -![trnthsn/tyson88](https://live.staticflickr.com/65535/54832182554_a1b1edfb7d_b.jpg) - -A TKL keyboard PCB compatible F13 layout. - -* Keyboard Maintainer: [Trnthsn](https://github.com/trnthsn) -* Hardware Supported: STM32, Tyson88 -* Hardware Availability: [ThanhSon.Mech](https://www.facebook.com/ThanhSon.mech) - -Make example for this keyboard (after setting up your build environment): - - make trnthsn/tyson88/stm32f103:default - -Flashing example for this keyboard: - - make trnthsn/tyson88/stm32f103:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/trnthsn/tyson88/stm32f072/keyboard.json b/keyboards/trnthsn/tyson88/stm32f072/keyboard.json deleted file mode 100644 index 8bba6f5d5d..0000000000 --- a/keyboards/trnthsn/tyson88/stm32f072/keyboard.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "processor": "STM32F072", - "bootloader": "stm32-dfu" -} diff --git a/keyboards/trnthsn/tyson88/stm32f103/keyboard.json b/keyboards/trnthsn/tyson88/stm32f103/keyboard.json deleted file mode 100644 index 4dc77604c4..0000000000 --- a/keyboards/trnthsn/tyson88/stm32f103/keyboard.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "processor": "STM32F103", - "bootloader": "uf2boot" -} diff --git a/keyboards/troyle/macro_keys_dual/keyboard.json b/keyboards/troyle/macro_keys_dual/keyboard.json deleted file mode 100644 index 62c17c5df8..0000000000 --- a/keyboards/troyle/macro_keys_dual/keyboard.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "manufacturer": "troyle", - "keyboard_name": "troyle/macro_keys_dual", - "maintainer": "troyle", - "development_board": "promicro", - "encoder": { - "rotary": [ - {"pin_a": "D1", "pin_b": "D0", "resolution": 2}, - {"pin_a": "B4", "pin_b": "B5", "resolution": 2} - ] - }, - "features": { - "bootmagic": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "direct": [ - ["F7", "F6", "F5", "F4"], - ["B6", "B2", "B3", "B1"] - ] - }, - "usb": { - "device_version": "1.0.0", - "pid": "0x0001", - "vid": "0x7472" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1} - ] - } - } -} diff --git a/keyboards/troyle/macro_keys_dual/keymaps/default/keymap.c b/keyboards/troyle/macro_keys_dual/keymaps/default/keymap.c deleted file mode 100644 index 59ee63560c..0000000000 --- a/keyboards/troyle/macro_keys_dual/keymaps/default/keymap.c +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_P1, KC_P2, KC_P3, KC_P4, - KC_P5, KC_P6, KC_P7, KC_P8 - ) -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_LEFT_BRACKET, KC_RIGHT_BRACKET), ENCODER_CCW_CW(KC_KP_PLUS, KC_KP_MINUS) } -}; -#endif diff --git a/keyboards/troyle/macro_keys_dual/keymaps/default/rules.mk b/keyboards/troyle/macro_keys_dual/keymaps/default/rules.mk deleted file mode 100644 index ee32568148..0000000000 --- a/keyboards/troyle/macro_keys_dual/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -ENCODER_MAP_ENABLE = yes diff --git a/keyboards/troyle/macro_keys_dual/readme.md b/keyboards/troyle/macro_keys_dual/readme.md deleted file mode 100644 index d48943a972..0000000000 --- a/keyboards/troyle/macro_keys_dual/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# troyle/macro_keys_dual - -![troyle/macro_keys_dual](https://i.imgur.com/3rrOsde.png) - -A pretty simple macro keyboard that can use up to 2 rotary encoders - -* Keyboard Maintainer: [Tom Royle](https://github.com/tom-royle) -* Hardware Supported: Sparkfun ProMicro in the troyle-macro-keyboard v1.0 PCB -* Hardware Availability: You will have to contact me some how :) - -Make example for this keyboard (after setting up your build environment): - - make troyle/macro_keys_dual:default - -Flashing example for this keyboard: - - make troyle/macro_keys_dual: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/tweetydabird/lbs4/keymaps/default/readme.md b/keyboards/tweetydabird/lbs4/keymaps/default/readme.md index 1919f101f8..09501d9231 100644 --- a/keyboards/tweetydabird/lbs4/keymaps/default/readme.md +++ b/keyboards/tweetydabird/lbs4/keymaps/default/readme.md @@ -2,4 +2,4 @@ This is a very basic layout using LSB4 as media playback buttons. -![lsb4](https://imgur.com/hCDdQIc) +![lsb4](https://imgur.com/hCDdQIc) \ No newline at end of file diff --git a/keyboards/tweetydabird/lbs4/readme.md b/keyboards/tweetydabird/lbs4/readme.md index 4597f15882..e17a850c5e 100644 --- a/keyboards/tweetydabird/lbs4/readme.md +++ b/keyboards/tweetydabird/lbs4/readme.md @@ -23,4 +23,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the top left key and plug in the keyboard * **Physical reset**: Briefly short the marked pads on PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if mapped (not in default keymap) +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if mapped (not in default keymap) \ No newline at end of file diff --git a/keyboards/tweetydabird/lbs6/readme.md b/keyboards/tweetydabird/lbs6/readme.md index c47f254876..2301cc3c56 100644 --- a/keyboards/tweetydabird/lbs6/readme.md +++ b/keyboards/tweetydabird/lbs6/readme.md @@ -25,4 +25,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the bottom right key and plug in the keyboard * **Physical reset**: Briefly short the marked pads on PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if mapped (not in default keymap) +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if mapped (not in default keymap) \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c b/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c index 364bff7df9..5fcc5cf144 100644 --- a/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c +++ b/keyboards/tweetydabird/lotus58/keymaps/default/keymap.c @@ -94,4 +94,4 @@ bool oled_task_user(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/tweetydabird/lotus58/lotus58.c b/keyboards/tweetydabird/lotus58/lotus58.c index 736781bd80..f1e433a426 100644 --- a/keyboards/tweetydabird/lotus58/lotus58.c +++ b/keyboards/tweetydabird/lotus58/lotus58.c @@ -26,4 +26,4 @@ bool oled_task_kb(void) { render_logo(); return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/tyraelwastaken/equanimity/keymaps/default/keymap.c b/keyboards/tyraelwastaken/equanimity/keymaps/default/keymap.c index 9c24ca89c6..7430554f7a 100644 --- a/keyboards/tyraelwastaken/equanimity/keymaps/default/keymap.c +++ b/keyboards/tyraelwastaken/equanimity/keymaps/default/keymap.c @@ -32,4 +32,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BL] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_FL] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, }; -#endif +#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 index ee32568148..a40474b4d5 100644 --- a/keyboards/tyraelwastaken/equanimity/keymaps/default/rules.mk +++ b/keyboards/tyraelwastaken/equanimity/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_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 index 5346bbf882..a866226192 100644 --- a/keyboards/tyraelwastaken/equanimity/readme.md +++ b/keyboards/tyraelwastaken/equanimity/readme.md @@ -24,4 +24,4 @@ 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 +* **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/kobold/info.json b/keyboards/tzarc/kobold/info.json index 70eaa9eb84..bed8e8a23f 100644 --- a/keyboards/tzarc/kobold/info.json +++ b/keyboards/tzarc/kobold/info.json @@ -13,7 +13,7 @@ "eeprom": { "driver": "wear_leveling", "wear_leveling": { - "backing_size": 16384, + "backing_size": 32768, "driver": "spi_flash" } }, diff --git a/keyboards/umbra/hotswap/readme.md b/keyboards/umbra/hotswap/readme.md index b02c8e31ee..bf86db069b 100644 --- a/keyboards/umbra/hotswap/readme.md +++ b/keyboards/umbra/hotswap/readme.md @@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to How to enter bootloader (DFU): * PCB will arrive flashed. With USB plugged in press Fn+Esc to enter DFU. Flash the firmware and replug the USB cable to fresh boot the PCB. -* If that method fails please locate the RESET header on the back of the PCB just right of the MCU. Short the 2 plated holes for 2 seconds to enter DFU. Flash the firmware and replug the USB cable to fresh boot the PCB. +* If that method fails please locate the RESET header on the back of the PCB just right of the MCU. Short the 2 plated holes for 2 seconds to enter DFU. Flash the firmware and replug the USB cable to fresh boot the PCB. \ No newline at end of file diff --git a/keyboards/umbra/solder/readme.md b/keyboards/umbra/solder/readme.md index 773f135c98..61a564578b 100644 --- a/keyboards/umbra/solder/readme.md +++ b/keyboards/umbra/solder/readme.md @@ -23,4 +23,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to How to enter bootloader (DFU): * PCB will arrive flashed. With USB plugged in press Fn+Esc to enter DFU. Flash the firmware and replug the USB cable to fresh boot the PCB. -* If that method fails please locate the RESET header on the back of the PCB just right of the MCU. Short the 2 plated holes for 2 seconds to enter DFU. Flash the firmware and replug the USB cable to fresh boot the PCB. +* If that method fails please locate the RESET header on the back of the PCB just right of the MCU. Short the 2 plated holes for 2 seconds to enter DFU. Flash the firmware and replug the USB cable to fresh boot the PCB. \ No newline at end of file diff --git a/keyboards/ungodly/launch_pad/keyboard.json b/keyboards/ungodly/launch_pad/keyboard.json index 2f5bc95aa6..50b6c2bcbf 100644 --- a/keyboards/ungodly/launch_pad/keyboard.json +++ b/keyboards/ungodly/launch_pad/keyboard.json @@ -33,30 +33,6 @@ "animation": "cycle_pinwheel" }, "driver": "ws2812", - "layout": [ - {"matrix": [4, 1], "x": 37, "y": 60, "flags": 4}, - {"matrix": [4, 2], "x": 148, "y": 60, "flags": 4}, - {"matrix": [3, 3], "x": 222, "y": 54, "flags": 4}, - {"matrix": [3, 2], "x": 148, "y": 45, "flags": 4}, - {"matrix": [3, 1], "x": 74, "y": 45, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 45, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 30, "flags": 4}, - {"matrix": [2, 1], "x": 74, "y": 30, "flags": 4}, - {"matrix": [2, 2], "x": 148, "y": 30, "flags": 4}, - {"matrix": [2, 3], "x": 222, "y": 30, "flags": 4}, - {"matrix": [1, 3], "x": 222, "y": 15, "flags": 4}, - {"matrix": [1, 2], "x": 148, "y": 15, "flags": 4}, - {"matrix": [1, 1], "x": 74, "y": 15, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 74, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 148, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 222, "y": 0, "flags": 4}, - {"x": 185, "y": 7, "flags": 2}, - {"x": 37, "y": 7, "flags": 2}, - {"x": 37, "y": 52, "flags": 2}, - {"x": 185, "y": 52, "flags": 2} - ], "max_brightness": 150, "sat_steps": 8, "val_steps": 8, diff --git a/keyboards/ungodly/launch_pad/launch_pad.c b/keyboards/ungodly/launch_pad/launch_pad.c new file mode 100644 index 0000000000..9803d8674f --- /dev/null +++ b/keyboards/ungodly/launch_pad/launch_pad.c @@ -0,0 +1,44 @@ +/* Copyright 2020 Ungodly Design + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 14, 15, 16, 17 }, + { 13, 12, 11, 10 }, + { 6, 7, 8, 9 }, + { 5, 4, 3, 2 }, + {NO_LED, 0, 1, NO_LED } +}, { // LED Index to Physical Position + { 37, 60 }, { 148, 60 }, // row 5 + { 222, 54 }, { 148, 45 }, { 74, 45 }, { 0, 45 }, // row 4 + { 0, 30 }, { 74, 30 }, { 148, 30 }, { 222, 30 }, // row 3 + { 222, 15 }, { 148, 15 }, { 74, 15 }, { 0, 15 }, // row 2 + { 0, 0 }, { 74, 0 }, { 148, 0 }, { 222, 0 }, // row 1 + { 185, 7 }, { 37, 7 }, // top underglow + { 37, 52 }, { 185, 52 }, // bottom underglow +}, { + // LED Index to Flag + 4, 4, // row 5 + 4, 4, 4, 4, // row 4 + 4, 4, 4, 4, // row 3 + 4, 4, 4, 4, // row 2 + 4, 4, 4, 4, // row 1 + 2, 2, + 2, 2 +} }; +#endif diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/mcuconf.h b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/mcuconf.h deleted file mode 100644 index 0e89bead66..0000000000 --- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/mcuconf.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 - -#undef STM32_PLLSAIM_VALUE -#define STM32_PLLSAIM_VALUE 8 diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/mcuconf.h b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/mcuconf.h deleted file mode 100644 index 0e89bead66..0000000000 --- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/mcuconf.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 - -#undef STM32_PLLSAIM_VALUE -#define STM32_PLLSAIM_VALUE 8 diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/mcuconf.h b/keyboards/unicomp/pc122/overnumpad_1xb/mcuconf.h deleted file mode 100644 index 0e89bead66..0000000000 --- a/keyboards/unicomp/pc122/overnumpad_1xb/mcuconf.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 - -#undef STM32_PLLSAIM_VALUE -#define STM32_PLLSAIM_VALUE 8 diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/mcuconf.h b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/mcuconf.h deleted file mode 100644 index 0e89bead66..0000000000 --- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/mcuconf.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 - -#undef STM32_PLLSAIM_VALUE -#define STM32_PLLSAIM_VALUE 8 diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/mcuconf.h b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/mcuconf.h deleted file mode 100644 index 0e89bead66..0000000000 --- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/mcuconf.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2025 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include_next - -#undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 - -#undef STM32_PLLSAIM_VALUE -#define STM32_PLLSAIM_VALUE 8 diff --git a/keyboards/unikeyboard/diverge3/keymaps/workman/config.h b/keyboards/unikeyboard/diverge3/keymaps/workman/config.h index 9cba61966e..9829a604f1 100644 --- a/keyboards/unikeyboard/diverge3/keymaps/workman/config.h +++ b/keyboards/unikeyboard/diverge3/keymaps/workman/config.h @@ -2,4 +2,4 @@ // place overrides here #define PERMISSIVE_HOLD -#define TAPPING_TERM 150 +#define TAPPING_TERM 150 \ No newline at end of file diff --git a/keyboards/vertex/t75/keymaps/default/keymap.c b/keyboards/vertex/t75/keymaps/default/keymap.c index d5c71837ae..96aa2a2fee 100644 --- a/keyboards/vertex/t75/keymaps/default/keymap.c +++ b/keyboards/vertex/t75/keymaps/default/keymap.c @@ -39,4 +39,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - + \ No newline at end of file diff --git a/keyboards/viktus/khs01/keyboard.json b/keyboards/viktus/khs01/keyboard.json deleted file mode 100644 index 67045d304a..0000000000 --- a/keyboards/viktus/khs01/keyboard.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "keyboard_name": "KHS-01", - "manufacturer": "Viktus Design", - "maintainer": "BlindAssassin111", - "usb": { - "vid": "0x5644", - "pid": "0x4B48", - "device_version": "1.0.0" - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - }, - "matrix_pins": { - "cols": ["D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6"], - "rows": ["B3", "B2", "F0", "B7", "F4", "F1", "F6", "F5", "C7", "C6", "D1", "F7"] - }, - "layouts": { - "LAYOUT_splitbs_splitshift_7u": { - "layout": [ - {"matrix": [0, 0], "x": 0, "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": [1, 3], "x": 6.5, "y": 0}, - {"matrix": [0, 4], "x": 7.5, "y": 0}, - {"matrix": [1, 4], "x": 8.5, "y": 0}, - {"matrix": [0, 5], "x": 9.5, "y": 0}, - {"matrix": [1, 5], "x": 11, "y": 0}, - {"matrix": [0, 6], "x": 12, "y": 0}, - {"matrix": [1, 6], "x": 13, "y": 0}, - {"matrix": [0, 7], "x": 14, "y": 0}, - {"matrix": [1, 7], "x": 15.25, "y": 0}, - {"matrix": [0, 8], "x": 16.25, "y": 0}, - {"matrix": [1, 8], "x": 17.25, "y": 0}, - - {"matrix": [2, 0], "x": 0, "y": 1.25}, - {"matrix": [3, 0], "x": 1, "y": 1.25}, - {"matrix": [2, 1], "x": 2, "y": 1.25}, - {"matrix": [3, 1], "x": 3, "y": 1.25}, - {"matrix": [2, 2], "x": 4, "y": 1.25}, - {"matrix": [3, 2], "x": 5, "y": 1.25}, - {"matrix": [2, 3], "x": 6, "y": 1.25}, - {"matrix": [3, 3], "x": 7, "y": 1.25}, - {"matrix": [2, 4], "x": 8, "y": 1.25}, - {"matrix": [3, 4], "x": 9, "y": 1.25}, - {"matrix": [2, 5], "x": 10, "y": 1.25}, - {"matrix": [3, 5], "x": 11, "y": 1.25}, - {"matrix": [2, 6], "x": 12, "y": 1.25}, - {"matrix": [3, 6], "x": 13, "y": 1.25}, - {"matrix": [2, 7], "x": 14, "y": 1.25}, - {"matrix": [3, 7], "x": 15.25, "y": 1.25}, - {"matrix": [2, 8], "x": 16.25, "y": 1.25}, - {"matrix": [3, 8], "x": 17.25, "y": 1.25}, - - {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5}, - {"matrix": [5, 0], "x": 1.5, "y": 2.25}, - {"matrix": [4, 1], "x": 2.5, "y": 2.25}, - {"matrix": [5, 1], "x": 3.5, "y": 2.25}, - {"matrix": [4, 2], "x": 4.5, "y": 2.25}, - {"matrix": [5, 2], "x": 5.5, "y": 2.25}, - {"matrix": [4, 3], "x": 6.5, "y": 2.25}, - {"matrix": [5, 3], "x": 7.5, "y": 2.25}, - {"matrix": [4, 4], "x": 8.5, "y": 2.25}, - {"matrix": [5, 4], "x": 9.5, "y": 2.25}, - {"matrix": [4, 5], "x": 10.5, "y": 2.25}, - {"matrix": [5, 5], "x": 11.5, "y": 2.25}, - {"matrix": [4, 6], "x": 12.5, "y": 2.25}, - {"matrix": [4, 7], "x": 13.5, "y": 2.25, "w": 1.5}, - {"matrix": [5, 7], "x": 15.25, "y": 2.25}, - {"matrix": [4, 8], "x": 16.25, "y": 2.25}, - {"matrix": [5, 8], "x": 17.25, "y": 2.25}, - - {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75}, - {"matrix": [7, 0], "x": 1.75, "y": 3.25}, - {"matrix": [6, 1], "x": 2.75, "y": 3.25}, - {"matrix": [7, 1], "x": 3.75, "y": 3.25}, - {"matrix": [6, 2], "x": 4.75, "y": 3.25}, - {"matrix": [7, 2], "x": 5.75, "y": 3.25}, - {"matrix": [6, 3], "x": 6.75, "y": 3.25}, - {"matrix": [7, 3], "x": 7.75, "y": 3.25}, - {"matrix": [6, 4], "x": 8.75, "y": 3.25}, - {"matrix": [7, 4], "x": 9.75, "y": 3.25}, - {"matrix": [6, 5], "x": 10.75, "y": 3.25}, - {"matrix": [7, 5], "x": 11.75, "y": 3.25}, - {"matrix": [6, 7], "x": 12.75, "y": 3.25, "w": 2.25}, - - {"matrix": [8, 0], "x": 0, "y": 3.25, "w": 2.25}, - {"matrix": [8, 1], "x": 2.25, "y": 3.25}, - {"matrix": [9, 1], "x": 3.25, "y": 3.25}, - {"matrix": [8, 2], "x": 4.25, "y": 3.25}, - {"matrix": [9, 2], "x": 5.25, "y": 3.25}, - {"matrix": [8, 3], "x": 6.25, "y": 3.25}, - {"matrix": [9, 3], "x": 7.25, "y": 3.25}, - {"matrix": [8, 4], "x": 8.25, "y": 3.25}, - {"matrix": [9, 4], "x": 9.25, "y": 3.25}, - {"matrix": [8, 5], "x": 10.25, "y": 3.25}, - {"matrix": [9, 5], "x": 11.25, "y": 3.25}, - {"matrix": [8, 6], "x": 12.25, "y": 3.25, "w": 1.75}, - {"matrix": [8, 7], "x": 14, "y": 3.25}, - {"matrix": [8, 8], "x": 16.25, "y": 3.25}, - - {"matrix": [10, 0], "x": 0, "y": 4.25, "w": 1.5}, - {"matrix": [11, 0], "x": 1.5, "y": 4.25}, - {"matrix": [10, 1], "x": 2.5, "y": 4.25, "w": 1.5}, - {"matrix": [10, 3], "x": 4, "y": 4.25, "w": 7}, - {"matrix": [11, 5], "x": 11, "y": 4.25, "w": 1.5}, - {"matrix": [10, 6], "x": 12.5, "y": 4.25}, - {"matrix": [10, 7], "x": 13.5, "y": 4.25, "w": 1.5}, - {"matrix": [11, 7], "x": 15.25, "y": 4.25}, - {"matrix": [10, 8], "x": 16.25, "y": 4.25}, - {"matrix": [11, 8], "x": 17.25, "y": 4.25} - ] - } - } -} diff --git a/keyboards/viktus/khs01/keymaps/default/keymap.c b/keyboards/viktus/khs01/keymaps/default/keymap.c deleted file mode 100644 index b207c6b80d..0000000000 --- a/keyboards/viktus/khs01/keymaps/default/keymap.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2026 BlindAssassin111 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_splitbs_splitshift_7u( - 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_BSLS, 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, MO(1), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [1] = LAYOUT_splitbs_splitshift_7u( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/viktus/khs01/readme.md b/keyboards/viktus/khs01/readme.md deleted file mode 100644 index b0021cc804..0000000000 --- a/keyboards/viktus/khs01/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# KHS-01 - -A small run TKL. - -* Keyboard Maintainer: [BlindAssassin111](https://github.com/blindassassin111) -* Hardware Supported: KHS-01 PCBs -* Hardware Availability: BlindAssassin111 - -Make example for this keyboard (after setting up your build environment): - - make viktus/khs01:default - -Flashing example for this keyboard: - - make viktus/khs01: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/walletburner/cajal/keyboard.json b/keyboards/walletburner/cajal/keyboard.json index 07b4a3146f..03fb89b23e 100644 --- a/keyboards/walletburner/cajal/keyboard.json +++ b/keyboards/walletburner/cajal/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Cajal", "manufacturer": "Walletburner", + "url": "https://qmk.fm/keyboards/", "maintainer": "worldspawn00", "usb": { "vid": "0x5742", diff --git a/keyboards/walletburner/neuron/keyboard.json b/keyboards/walletburner/neuron/keyboard.json index 9dc2616f7a..d353b0b623 100644 --- a/keyboards/walletburner/neuron/keyboard.json +++ b/keyboards/walletburner/neuron/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Neuron", "manufacturer": "Walletburner", + "url": "https://qmk.fm/keyboards/", "maintainer": "worldspawn00", "usb": { "vid": "0x5742", diff --git a/keyboards/wavtype/foundation/readme.md b/keyboards/wavtype/foundation/readme.md index 1dca8bb16b..68ad269d07 100644 --- a/keyboards/wavtype/foundation/readme.md +++ b/keyboards/wavtype/foundation/readme.md @@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,1) in the matrix (Escape key) and plug in the keyboard * **Physical reset button**: Briefly press the button on the back of the PCB -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (by default this is set to "Fn + R") +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (by default this is set to "Fn + R") \ No newline at end of file diff --git a/keyboards/weirdo/kelowna/rgb64/keymaps/default/keymap.c b/keyboards/weirdo/kelowna/rgb64/keymaps/default/keymap.c index c2463f8841..1c5acf6bab 100644 --- a/keyboards/weirdo/kelowna/rgb64/keymaps/default/keymap.c +++ b/keyboards/weirdo/kelowna/rgb64/keymaps/default/keymap.c @@ -35,4 +35,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), // -}; +}; \ No newline at end of file diff --git a/keyboards/weirdo/naiping/npminila/keymaps/default/keymap.c b/keyboards/weirdo/naiping/npminila/keymaps/default/keymap.c index 8cce4ec9d8..30d6bf291e 100644 --- a/keyboards/weirdo/naiping/npminila/keymaps/default/keymap.c +++ b/keyboards/weirdo/naiping/npminila/keymaps/default/keymap.c @@ -36,4 +36,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, KC_TRNS, 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/wekey/we27/keyboard.json b/keyboards/wekey/we27/keyboard.json index 50c6de9e10..91731cdc39 100644 --- a/keyboards/wekey/we27/keyboard.json +++ b/keyboards/wekey/we27/keyboard.json @@ -29,35 +29,6 @@ "hue": 108 }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 1, "flags": 1}, - {"matrix": [0, 1], "x": 56, "y": 1, "flags": 1}, - {"matrix": [0, 2], "x": 112, "y": 1, "flags": 1}, - {"matrix": [0, 3], "x": 168, "y": 1, "flags": 1}, - {"matrix": [0, 4], "x": 224, "y": 1, "flags": 1}, - {"matrix": [1, 4], "x": 0, "y": 16, "flags": 1}, - {"matrix": [1, 3], "x": 56, "y": 16, "flags": 1}, - {"matrix": [1, 2], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 168, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 224, "y": 16, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 28, "flags": 1}, - {"matrix": [2, 1], "x": 56, "y": 28, "flags": 4}, - {"matrix": [2, 2], "x": 112, "y": 28, "flags": 4}, - {"matrix": [2, 3], "x": 168, "y": 28, "flags": 4}, - {"matrix": [2, 4], "x": 224, "y": 28, "flags": 4}, - {"matrix": [3, 3], "x": 0, "y": 40, "flags": 1}, - {"matrix": [3, 2], "x": 56, "y": 40, "flags": 4}, - {"matrix": [3, 1], "x": 112, "y": 40, "flags": 4}, - {"matrix": [3, 0], "x": 168, "y": 40, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 52, "flags": 1}, - {"matrix": [4, 1], "x": 56, "y": 52, "flags": 4}, - {"matrix": [4, 2], "x": 112, "y": 52, "flags": 4}, - {"matrix": [4, 3], "x": 168, "y": 52, "flags": 4}, - {"matrix": [4, 4], "x": 224, "y": 52, "flags": 4}, - {"matrix": [5, 3], "x": 0, "y": 64, "flags": 1}, - {"matrix": [5, 1], "x": 56, "y": 64, "flags": 4}, - {"matrix": [5, 0], "x": 168, "y": 64, "flags": 4} - ], "react_on_keyup": true }, "matrix_pins": { diff --git a/keyboards/morningstar1/pttbutton/pttbutton.c b/keyboards/wekey/we27/we27.c similarity index 51% rename from keyboards/morningstar1/pttbutton/pttbutton.c rename to keyboards/wekey/we27/we27.c index 17a7b70cd3..03ec6f5512 100644 --- a/keyboards/morningstar1/pttbutton/pttbutton.c +++ b/keyboards/wekey/we27/we27.c @@ -1,4 +1,4 @@ -/* Copyright 2026 Sebastian Morgenstern +/* Copyright 2021 @wekey * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -13,30 +13,34 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #include "quantum.h" -#include "hal.h" -void board_init(void) { - // Remap PA11->PA9 and PA12->PA10 for USB - SYSCFG->CFGR1 |= SYSCFG_CFGR1_PA11_PA12_RMP; -} +#ifdef RGB_MATRIX_ENABLE -void keyboard_pre_init_kb(void) { - // Immediately set the LED pin as an output and set it ON - gpio_set_pin_output(A15); - gpio_write_pin_high(A15); +#define __ NO_LED - keyboard_pre_init_user(); -} +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4 }, + { 9, 8, 7, 6, 5 }, + { 10, 11, 12, 13, 14 }, + { 18, 17, 16, 15, __ }, + { 19, 20, 21, 22, 23 }, + { 26, 25, __, 24, __ } +}, { + {0,1},{56,1},{112,1},{168,1},{224,1}, + {0,16},{56,16},{112,16},{168,16},{224,16}, + {0,28},{56,28},{112,28},{168,28},{224,28}, + {0,40},{56,40},{112,40},{168,40}, + {0,52},{56,52},{112,52},{168,52},{224,52}, + {0,64},{56,64},{168,64} +}, { + 1, 1, 1, 1, 1, + 1, 1, 4, 4, 4, + 1, 4, 4, 4, 4, + 1, 4, 4, 4, + 1, 4, 4, 4, 4, + 1, 4, 4 +} }; -void keyboard_post_init_kb(void) { - // Blink the LED so we know everything is running OK - // Finish with LED OFF - gpio_write_pin_low(A15); - wait_ms(100); - gpio_write_pin_high(A15); - wait_ms(100); - gpio_write_pin_low(A15); - - keyboard_post_init_user(); -} +#endif diff --git a/keyboards/werk_technica/one/keyboard.json b/keyboards/werk_technica/one/keyboard.json index bf3478cba3..ba5df0b136 100644 --- a/keyboards/werk_technica/one/keyboard.json +++ b/keyboards/werk_technica/one/keyboard.json @@ -292,4 +292,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/werk_technica/one/mcuconf.h b/keyboards/werk_technica/one/mcuconf.h index 3fe066bf7d..d25a2619fd 100644 --- a/keyboards/werk_technica/one/mcuconf.h +++ b/keyboards/werk_technica/one/mcuconf.h @@ -18,4 +18,4 @@ /* Set PLL M divider from 4 (F411 GENERIC default) to 8, because of 16 MHz crystal on board */ #undef STM32_PLLM_VALUE -#define STM32_PLLM_VALUE 8 +#define STM32_PLLM_VALUE 8 \ No newline at end of file diff --git a/keyboards/westm/westm68/keymaps/default/keymap.c b/keyboards/westm/westm68/keymaps/default/keymap.c index 0bd7fd6297..392a21a854 100755 --- a/keyboards/westm/westm68/keymaps/default/keymap.c +++ b/keyboards/westm/westm68/keymaps/default/keymap.c @@ -31,4 +31,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, UG_SATU, UG_SATD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/westm/westm68/rev1/rev1.c b/keyboards/westm/westm68/rev1/rev1.c index a93916a49a..3b47910624 100644 --- a/keyboards/westm/westm68/rev1/rev1.c +++ b/keyboards/westm/westm68/rev1/rev1.c @@ -19,4 +19,4 @@ void board_init(void) { rgblight_toggle(); // Fixes if LEDs were off in the first place buggy LED turns on rgblight_set(); // Need this to fix buggy first LED upon plugging in PCB -} +} \ No newline at end of file diff --git a/keyboards/westm/westm9/chconf.h b/keyboards/westm/westm9/chconf.h index ba97496d31..d79a01d36b 100644 --- a/keyboards/westm/westm9/chconf.h +++ b/keyboards/westm/westm9/chconf.h @@ -23,4 +23,4 @@ #define CH_CFG_USE_CONDVARS_TIMEOUT FALSE -#include_next +#include_next \ No newline at end of file diff --git a/keyboards/westm/westm9/keymaps/default/keymap.c b/keyboards/westm/westm9/keymaps/default/keymap.c index aab3cbedbb..e46a29beb6 100755 --- a/keyboards/westm/westm9/keymaps/default/keymap.c +++ b/keyboards/westm/westm9/keymaps/default/keymap.c @@ -27,4 +27,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { UG_VALD, UG_VALU, UG_SATD, UG_HUED, UG_HUEU, KC_NO ) -}; +}; \ No newline at end of file diff --git a/keyboards/westm/westm9/mcuconf.h b/keyboards/westm/westm9/mcuconf.h index 9745473764..328b5d45a9 100644 --- a/keyboards/westm/westm9/mcuconf.h +++ b/keyboards/westm/westm9/mcuconf.h @@ -19,4 +19,4 @@ #include_next #undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE +#define STM32_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/westm/westm9/readme.md b/keyboards/westm/westm9/readme.md index 8e2911d4a1..883aab3c35 100644 --- a/keyboards/westm/westm9/readme.md +++ b/keyboards/westm/westm9/readme.md @@ -13,4 +13,4 @@ Make example for this keyboard (after setting up your build environment): make westm/westm9/rev1: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/westm/westm9/rev1/config.h b/keyboards/westm/westm9/rev1/config.h index c6f4d5f288..9492e7f6ca 100644 --- a/keyboards/westm/westm9/rev1/config.h +++ b/keyboards/westm/westm9/rev1/config.h @@ -37,4 +37,4 @@ #define I2C1_TIMINGR_SCLH 0x03U #define I2C1_TIMINGR_SCLL 0x09U -#define OLED_UPDATE_INTERVAL 66 +#define OLED_UPDATE_INTERVAL 66 \ No newline at end of file diff --git a/keyboards/westm/westm9/rev1/rev1.c b/keyboards/westm/westm9/rev1/rev1.c index 8ab502af2a..cf84b5c52e 100644 --- a/keyboards/westm/westm9/rev1/rev1.c +++ b/keyboards/westm/westm9/rev1/rev1.c @@ -113,4 +113,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/westm/westm9/rev2/config.h b/keyboards/westm/westm9/rev2/config.h index c6f4d5f288..9492e7f6ca 100644 --- a/keyboards/westm/westm9/rev2/config.h +++ b/keyboards/westm/westm9/rev2/config.h @@ -37,4 +37,4 @@ #define I2C1_TIMINGR_SCLH 0x03U #define I2C1_TIMINGR_SCLL 0x09U -#define OLED_UPDATE_INTERVAL 66 +#define OLED_UPDATE_INTERVAL 66 \ No newline at end of file diff --git a/keyboards/westm/westm9/rev2/rev2.c b/keyboards/westm/westm9/rev2/rev2.c index e598600c44..7524ca6690 100644 --- a/keyboards/westm/westm9/rev2/rev2.c +++ b/keyboards/westm/westm9/rev2/rev2.c @@ -109,4 +109,4 @@ bool oled_task_kb(void) { return false; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/westm/westmergo/keymaps/default/keymap.c b/keyboards/westm/westmergo/keymaps/default/keymap.c index 6ae56e0ee0..fdffde449a 100755 --- a/keyboards/westm/westmergo/keymaps/default/keymap.c +++ b/keyboards/westm/westmergo/keymaps/default/keymap.c @@ -32,4 +32,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, UG_SATU, UG_SATD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; +}; \ No newline at end of file diff --git a/keyboards/westm/westmergo/readme.md b/keyboards/westm/westmergo/readme.md index 467db9d6b9..53cb5e6829 100644 --- a/keyboards/westm/westmergo/readme.md +++ b/keyboards/westm/westmergo/readme.md @@ -15,4 +15,4 @@ Make example for this keyboard (after setting up your build environment): make westm/westmergo: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/whitefacemountain/ampersand/keymaps/default/keymap.c b/keyboards/whitefacemountain/ampersand/keymaps/default/keymap.c index c8d176a42d..d380e64fa7 100644 --- a/keyboards/whitefacemountain/ampersand/keymaps/default/keymap.c +++ b/keyboards/whitefacemountain/ampersand/keymaps/default/keymap.c @@ -9,4 +9,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL) -}; +}; \ No newline at end of file diff --git a/keyboards/wilba_tech/rama_works_koyu/readme.md b/keyboards/wilba_tech/rama_works_koyu/readme.md index c4400db9ca..11fa3bacf6 100644 --- a/keyboards/wilba_tech/rama_works_koyu/readme.md +++ b/keyboards/wilba_tech/rama_works_koyu/readme.md @@ -20,4 +20,4 @@ Make example for this keyboard (after setting up your build environment): make wilba_tech/rama_works_koyu: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/wilba_tech/rama_works_m10_b/readme.md b/keyboards/wilba_tech/rama_works_m10_b/readme.md index bac4c629d6..6b4130aeb4 100644 --- a/keyboards/wilba_tech/rama_works_m10_b/readme.md +++ b/keyboards/wilba_tech/rama_works_m10_b/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make wilba_tech/rama_works_m10_b:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file diff --git a/keyboards/wilba_tech/rama_works_m10_c/readme.md b/keyboards/wilba_tech/rama_works_m10_c/readme.md index 2f01c61e1a..be7e225737 100644 --- a/keyboards/wilba_tech/rama_works_m10_c/readme.md +++ b/keyboards/wilba_tech/rama_works_m10_c/readme.md @@ -16,4 +16,4 @@ Flashing example for this keyboard: make wilba_tech/rama_works_m10_c: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/wilba_tech/rama_works_m60_a/readme.md b/keyboards/wilba_tech/rama_works_m60_a/readme.md index 23e8a9aafc..1a9d9945bd 100644 --- a/keyboards/wilba_tech/rama_works_m60_a/readme.md +++ b/keyboards/wilba_tech/rama_works_m60_a/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make wilba_tech/rama_works_m60_a: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/wilba_tech/rama_works_m6_a/keymaps/naut/keymap.c b/keyboards/wilba_tech/rama_works_m6_a/keymaps/naut/keymap.c index 8a8c78c9e4..df4cf9be37 100644 --- a/keyboards/wilba_tech/rama_works_m6_a/keymaps/naut/keymap.c +++ b/keyboards/wilba_tech/rama_works_m6_a/keymaps/naut/keymap.c @@ -14,4 +14,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn Layer [_FNX] = LAYOUT( TO(0), KC_VOLU, KC_MPLY, - KC_MRWD, KC_VOLD, KC_MFFD)}; + KC_MRWD, KC_VOLD, KC_MFFD)}; \ No newline at end of file diff --git a/keyboards/wilba_tech/rama_works_m6_a/readme.md b/keyboards/wilba_tech/rama_works_m6_a/readme.md index c5392a3190..974224b455 100644 --- a/keyboards/wilba_tech/rama_works_m6_a/readme.md +++ b/keyboards/wilba_tech/rama_works_m6_a/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make wilba_tech/rama_works_m6_a: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/wilba_tech/rama_works_m6_b/readme.md b/keyboards/wilba_tech/rama_works_m6_b/readme.md index 70d073b3da..747aa74dd5 100644 --- a/keyboards/wilba_tech/rama_works_m6_b/readme.md +++ b/keyboards/wilba_tech/rama_works_m6_b/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make wilba_tech/rama_works_m6_b: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/wilba_tech/rama_works_u80_a/readme.md b/keyboards/wilba_tech/rama_works_u80_a/readme.md index 8311b71563..ff87889e45 100644 --- a/keyboards/wilba_tech/rama_works_u80_a/readme.md +++ b/keyboards/wilba_tech/rama_works_u80_a/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make wilba_tech/rama_works_u80_a: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/wilba_tech/via_test.c b/keyboards/wilba_tech/via_test.c index 46cc42a9e4..314ec4472c 100644 --- a/keyboards/wilba_tech/via_test.c +++ b/keyboards/wilba_tech/via_test.c @@ -129,4 +129,4 @@ void via_custom_value_command(uint8_t *data, uint8_t length) { // DO NOT call raw_hid_send(data,length) here, let caller do this } -#endif // VIA_ENABLE +#endif // VIA_ENABLE \ No newline at end of file diff --git a/keyboards/wilba_tech/wt20_h1/keyboard.json b/keyboards/wilba_tech/wt20_h1/keyboard.json index 1aafdea67f..77905e275e 100644 --- a/keyboards/wilba_tech/wt20_h1/keyboard.json +++ b/keyboards/wilba_tech/wt20_h1/keyboard.json @@ -77,4 +77,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/wilba_tech/wt60_a/readme.md b/keyboards/wilba_tech/wt60_a/readme.md index 4aac913a3d..91cc5c8cef 100644 --- a/keyboards/wilba_tech/wt60_a/readme.md +++ b/keyboards/wilba_tech/wt60_a/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make wilba_tech/wt60_a: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/wilba_tech/wt60_b/readme.md b/keyboards/wilba_tech/wt60_b/readme.md index 75da06e4ae..f365bf3258 100644 --- a/keyboards/wilba_tech/wt60_b/readme.md +++ b/keyboards/wilba_tech/wt60_b/readme.md @@ -15,4 +15,4 @@ Make example for this keyboard (after setting up your build environment): make wilba_tech/wt60_b: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/wilba_tech/wt60_bx/readme.md b/keyboards/wilba_tech/wt60_bx/readme.md index 95b4c15310..404742c992 100644 --- a/keyboards/wilba_tech/wt60_bx/readme.md +++ b/keyboards/wilba_tech/wt60_bx/readme.md @@ -15,4 +15,4 @@ Make example for this keyboard (after setting up your build environment): make wilba_tech/wt60_bx: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/wilba_tech/wt60_g/keymaps/default/keymap.c b/keyboards/wilba_tech/wt60_g/keymaps/default/keymap.c index 6208dd6fe5..12c17135b0 100644 --- a/keyboards/wilba_tech/wt60_g/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt60_g/keymaps/default/keymap.c @@ -49,4 +49,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wilba_tech/wt60_g2/keymaps/default/keymap.c b/keyboards/wilba_tech/wt60_g2/keymaps/default/keymap.c index 86030c9d94..9910c070fc 100644 --- a/keyboards/wilba_tech/wt60_g2/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt60_g2/keymaps/default/keymap.c @@ -49,4 +49,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wilba_tech/wt60_h1/keymaps/default/keymap.c b/keyboards/wilba_tech/wt60_h1/keymaps/default/keymap.c index 708a68ec45..0f4abc0bb1 100644 --- a/keyboards/wilba_tech/wt60_h1/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt60_h1/keymaps/default/keymap.c @@ -37,4 +37,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wilba_tech/wt60_xt/wt60_xt.c b/keyboards/wilba_tech/wt60_xt/wt60_xt.c index 0cc8634e46..53b822e58f 100644 --- a/keyboards/wilba_tech/wt60_xt/wt60_xt.c +++ b/keyboards/wilba_tech/wt60_xt/wt60_xt.c @@ -81,4 +81,4 @@ void via_set_device_indication(uint8_t value) { if ( value == 0 ) { PLAY_SONG(tone_device_indication); } -} +} \ No newline at end of file diff --git a/keyboards/wilba_tech/wt65_d/keymaps/default/keymap.c b/keyboards/wilba_tech/wt65_d/keymaps/default/keymap.c index c30bdcbbf2..ca0093926d 100644 --- a/keyboards/wilba_tech/wt65_d/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt65_d/keymaps/default/keymap.c @@ -37,4 +37,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wilba_tech/wt65_f/keymaps/default/keymap.c b/keyboards/wilba_tech/wt65_f/keymaps/default/keymap.c index 0c18739c7a..7db3bb165c 100644 --- a/keyboards/wilba_tech/wt65_f/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt65_f/keymaps/default/keymap.c @@ -49,4 +49,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wilba_tech/wt65_fx/keymaps/default/keymap.c b/keyboards/wilba_tech/wt65_fx/keymaps/default/keymap.c index f04bef7bc8..56310ddef0 100644 --- a/keyboards/wilba_tech/wt65_fx/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt65_fx/keymaps/default/keymap.c @@ -49,4 +49,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wilba_tech/wt65_g/keymaps/default/keymap.c b/keyboards/wilba_tech/wt65_g/keymaps/default/keymap.c index 9ad8c967ad..b837b0f8be 100644 --- a/keyboards/wilba_tech/wt65_g/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt65_g/keymaps/default/keymap.c @@ -49,4 +49,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wilba_tech/wt65_g2/keymaps/default/keymap.c b/keyboards/wilba_tech/wt65_g2/keymaps/default/keymap.c index d5eed1d7fa..3e0523b90c 100644 --- a/keyboards/wilba_tech/wt65_g2/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt65_g2/keymaps/default/keymap.c @@ -49,4 +49,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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wilba_tech/wt69_a/keymaps/default/keymap.c b/keyboards/wilba_tech/wt69_a/keymaps/default/keymap.c index ae62259186..397d36faf2 100644 --- a/keyboards/wilba_tech/wt69_a/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt69_a/keymaps/default/keymap.c @@ -33,4 +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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wilba_tech/wt80_a/readme.md b/keyboards/wilba_tech/wt80_a/readme.md index eb74f218f5..8bddecadee 100644 --- a/keyboards/wilba_tech/wt80_a/readme.md +++ b/keyboards/wilba_tech/wt80_a/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make wilba_tech/wt80_a: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/wilba_tech/wt8_a/readme.md b/keyboards/wilba_tech/wt8_a/readme.md index 6bd7c2dd36..4998e91293 100644 --- a/keyboards/wilba_tech/wt8_a/readme.md +++ b/keyboards/wilba_tech/wt8_a/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make wilba_tech/wt8_a: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/wilba_tech/zeal65/zeal65.c b/keyboards/wilba_tech/zeal65/zeal65.c index cf6b79972d..a4550031b3 100644 --- a/keyboards/wilba_tech/zeal65/zeal65.c +++ b/keyboards/wilba_tech/zeal65/zeal65.c @@ -103,4 +103,4 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {1, C9_16, C7_15, C6_15}, // LD16 {1, C8_16, C7_16, C6_16}, // LD17 }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/willoucom/keypad/keyboard.json b/keyboards/willoucom/keypad/keyboard.json index bc2d63c387..9b4717e63f 100644 --- a/keyboards/willoucom/keypad/keyboard.json +++ b/keyboards/willoucom/keypad/keyboard.json @@ -62,4 +62,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/willoucom/keypad/keymaps/default/keymap.json b/keyboards/willoucom/keypad/keymaps/default/keymap.json index 24aefd4a3a..c16729bd6c 100644 --- a/keyboards/willoucom/keypad/keymaps/default/keymap.json +++ b/keyboards/willoucom/keypad/keymaps/default/keymap.json @@ -10,4 +10,4 @@ "KC_M" ] ] -} +} \ No newline at end of file diff --git a/keyboards/willoucom/keypad/readme.md b/keyboards/willoucom/keypad/readme.md index 5d172d3d49..863ce79d37 100644 --- a/keyboards/willoucom/keypad/readme.md +++ b/keyboards/willoucom/keypad/readme.md @@ -17,4 +17,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader -Push the reset button twice. Then drop the u2f file in the usb drive. +Push the reset button twice. Then drop the u2f file in the usb drive. \ No newline at end of file diff --git a/keyboards/wily/info.json b/keyboards/wily/info.json deleted file mode 100644 index 9bba2de910..0000000000 --- a/keyboards/wily/info.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "manufacturer": "KKC", - "maintainer": "Gondolindrim", - "usb": { - "vid": "0x5750", - "device_version": "0.0.1" - }, - "features": { - "bootmagic": true, - "mousekey": true, - "extrakey": true, - "nkro": true - }, - "build": { - "lto": true - }, - "diode_direction": "COL2ROW", - "processor": "STM32F411", - "bootloader": "stm32-dfu" -} diff --git a/keyboards/wily/readme.md b/keyboards/wily/readme.md deleted file mode 100644 index e70ac11a16..0000000000 --- a/keyboards/wily/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# KKC Wily - -The Wily is a 65% keyboard by Keyote Key Company. - -* Keyboard Maintainer: [gondolindrim](https://github.com/gondolindrim) -* Hardware Supported: three PCB variants (solderable, hotswap with Tsangan bottom row, hotswap with default bottom row), both based on STM32F072 -* Hardware Availability: not yet available for purchase as of november 2025. - -Make example for this keyboard (after setting up your build environment): - - make wily/:default - -Where `` can be either `wily_s` , `wily_h625` or `wily_h700`. Flashing example for this keyboard: - - make wily/: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 (Escape) and plug in the keyboard -* **Physical reset button**: press and hold the button on the back of the PCB for five seconds -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available - diff --git a/keyboards/wily/wily_h625/keyboard.json b/keyboards/wily/wily_h625/keyboard.json deleted file mode 100644 index 915c3459aa..0000000000 --- a/keyboards/wily/wily_h625/keyboard.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "keyboard_name": "Keyote Wily-H625", - "usb": { - "pid": "0x5053", - "device_version": "0.0.1" - }, - "matrix_pins": { - "cols": ["A15", "B10", "C15", "C14", "C13", "B1", "B0", "A7", "A6", "A5", "B14", "B13", "B12", "A4", "A3"], - "rows": ["A0", "B8", "B3", "B5", "B9"] - }, - "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,14], "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":[2,14], "x":15 , "y":1}, - - {"matrix":[2,0], "x":0 , "y":2}, - {"matrix":[2,1], "x":1.75 , "y":2}, - {"matrix":[2,2], "x":2.75 , "y":2}, - {"matrix":[2,3], "x":3.75, "y":2}, - {"matrix":[2,4], "x":4.75, "y":2}, - {"matrix":[2,5], "x":5.75, "y":2}, - {"matrix":[2,6], "x":6.75, "y":2}, - {"matrix":[2,7], "x":7.75, "y":2}, - {"matrix":[2,8], "x":8.75, "y":2}, - {"matrix":[2,9], "x":9.75, "y":2}, - {"matrix":[2,10], "x":10.75, "y":2}, - {"matrix":[2,11], "x":11.75, "y":2}, - {"matrix":[2,12], "x":12.75, "y":2, "w":2.25}, - {"matrix":[2,13], "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.25}, - {"matrix":[4,1], "x":1.25, "y":4, "w":1.25}, - {"matrix":[4,2], "x":2.5 , "y":4, "w":1.25}, - {"matrix":[4,6], "x":3.75, "y":4, "w":6.25}, - {"matrix":[4,8], "x":10, "y":4}, - {"matrix":[4,9], "x":11, "y":4}, - {"matrix":[4,10], "x":12, "y":4}, - {"matrix":[4,12], "x":13, "y":4}, - {"matrix":[4,13], "x":14, "y":4}, - {"matrix":[4,14], "x":15, "y":4} - ] - } - } -} diff --git a/keyboards/wily/wily_h625/keymaps/default/keymap.c b/keyboards/wily/wily_h625/keymaps/default/keymap.c deleted file mode 100644 index 36c2eda7b9..0000000000 --- a/keyboards/wily/wily_h625/keymaps/default/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2025 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#define LT1GUI LT(1, KC_RGUI) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ - QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_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_HOME, - 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_END , - 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_INS , - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, LT1GUI , KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT -), -[1] = LAYOUT( - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -) -}; diff --git a/keyboards/wily/wily_h700/keyboard.json b/keyboards/wily/wily_h700/keyboard.json deleted file mode 100644 index 1dfe3d24a4..0000000000 --- a/keyboards/wily/wily_h700/keyboard.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "keyboard_name": "Keyote Wily-H700", - "usb": { - "pid": "0x5052", - "device_version": "0.0.1" - }, - "matrix_pins": { - "cols": ["A15", "B10", "C15", "C14", "C13", "B1", "B0", "A7", "A6", "A5", "B14", "B13", "B12", "A4", "A3"], - "rows": ["A0", "B8", "B3", "B5", "B9"] - }, - "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,14], "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":[2,14], "x":15 , "y":1}, - - {"matrix":[2,0], "x":0 , "y":2}, - {"matrix":[2,1], "x":1.75 , "y":2}, - {"matrix":[2,2], "x":2.75 , "y":2}, - {"matrix":[2,3], "x":3.75, "y":2}, - {"matrix":[2,4], "x":4.75, "y":2}, - {"matrix":[2,5], "x":5.75, "y":2}, - {"matrix":[2,6], "x":6.75, "y":2}, - {"matrix":[2,7], "x":7.75, "y":2}, - {"matrix":[2,8], "x":8.75, "y":2}, - {"matrix":[2,9], "x":9.75, "y":2}, - {"matrix":[2,10], "x":10.75, "y":2}, - {"matrix":[2,11], "x":11.75, "y":2}, - {"matrix":[2,12], "x":12.75, "y":2, "w":2.25}, - {"matrix":[2,13], "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, "y":4}, - {"matrix":[4,2], "x":2.5 , "y":4, "w":1.5}, - {"matrix":[4,6], "x":4, "y":4, "w":7}, - {"matrix":[4,9], "x":11, "y":4}, - {"matrix":[4,10], "x":12, "y":4}, - {"matrix":[4,12], "x":13, "y":4}, - {"matrix":[4,13], "x":14, "y":4}, - {"matrix":[4,14], "x":15, "y":4} - ] - } - } -} diff --git a/keyboards/wily/wily_h700/keymaps/default/keymap.c b/keyboards/wily/wily_h700/keymaps/default/keymap.c deleted file mode 100644 index 0929de8fa3..0000000000 --- a/keyboards/wily/wily_h700/keymaps/default/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2025 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#define LT1GUI LT(1, KC_RGUI) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ - QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_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_HOME, - 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_END , - 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_INS , - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , LT1GUI , KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT -), -[1] = LAYOUT( - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -) -}; diff --git a/keyboards/wily/wily_s/keyboard.json b/keyboards/wily/wily_s/keyboard.json deleted file mode 100644 index a6df026ef3..0000000000 --- a/keyboards/wily/wily_s/keyboard.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "keyboard_name": "Keyote Wily-S", - "usb": { - "pid": "0x5051", - "device_version": "0.0.1" - }, - "matrix_pins": { - "cols": ["A15", "B10", "C15", "C14", "C13", "B1", "B0", "A7", "A6", "A5", "B14", "B13", "B12", "A4", "A3"], - "rows": ["A0", "B8", "B3", "B5", "B9"] - }, - "features": { - "backlight": true - }, - "backlight": { - "pin": "B4", - "levels": 20, - "as_caps_lock": true - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix":[0,0], "x":0, "y":0}, - {"matrix":[0,1], "x":1, "y":0}, - {"matrix":[0,2], "x":2, "y":0}, - {"matrix":[0,3], "x":3, "y":0}, - {"matrix":[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,14], "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":[2,14], "x":15 , "y":1}, - - {"matrix":[2,0], "x":0 , "y":2}, - {"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":[4,11], "x":12.75, "y":2}, - {"matrix":[2,12], "x":13.75, "y":2, "w":1.25}, - {"matrix":[2,13], "x":15 , "y":2}, - - {"matrix":[3,0], "x":0 , "y":3, "w":1.25}, - {"matrix":[3,1], "x":1.25, "y":3}, - {"matrix":[3,2], "x":2.25, "y":3}, - {"matrix":[3,3], "x":3.25, "y":3}, - {"matrix":[3,4], "x":4.25, "y":3}, - {"matrix":[3,5], "x":5.25, "y":3}, - {"matrix":[3,6], "x":6.25, "y":3}, - {"matrix":[3,7], "x":7.25, "y":3}, - {"matrix":[3,8], "x":8.25, "y":3}, - {"matrix":[3,9], "x":9.25, "y":3}, - {"matrix":[3,10], "x":10.25 , "y":3}, - {"matrix":[3,11], "x":11.25, "y":3}, - {"matrix":[3,12], "x":12.25, "y":3, "w":1.75}, - {"matrix":[3,13], "x":14, "y":3}, - {"matrix":[3,14], "x":15, "y":3}, - - {"matrix":[4,0], "x":0 , "y":4, "w":1.25}, - {"matrix":[4,1], "x":1.25, "y":4, "w":1.25}, - {"matrix":[4,2], "x":2.5 , "y":4, "w":1.25}, - {"matrix":[4,6], "x":3.75, "y":4, "w":6.25}, - {"matrix":[4,8], "x":10, "y":4}, - {"matrix":[4,9], "x":11, "y":4}, - {"matrix":[4,10], "x":12, "y":4}, - {"matrix":[4,12], "x":13, "y":4}, - {"matrix":[4,13], "x":14, "y":4}, - {"matrix":[4,14], "x":15, "y":4} - ] - } - } -} diff --git a/keyboards/wily/wily_s/keymaps/default/keymap.c b/keyboards/wily/wily_s/keymaps/default/keymap.c deleted file mode 100644 index 22c0188c30..0000000000 --- a/keyboards/wily/wily_s/keymaps/default/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2025 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H -#define LT1GUI LT(1, KC_RGUI) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ - QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_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_HOME, - 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_END , - 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_INS , - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, LT1GUI , KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT -), -[1] = LAYOUT( - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -) -}; diff --git a/keyboards/wily/wily_s/mcuconf.h b/keyboards/wily/wily_s/mcuconf.h deleted file mode 100644 index a9bbcfc62c..0000000000 --- a/keyboards/wily/wily_s/mcuconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2025 Gondolindrim - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/winkeyless/b87/keymaps/default/keymap.c b/keyboards/winkeyless/b87/keymaps/default/keymap.c index 074680273b..8fe5a3f0d2 100644 --- a/keyboards/winkeyless/b87/keymaps/default/keymap.c +++ b/keyboards/winkeyless/b87/keymaps/default/keymap.c @@ -52,4 +52,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, KC_TRNS, KC_TRNS, 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/winkeys/mini_winni/keymaps/default/keymap.c b/keyboards/winkeys/mini_winni/keymaps/default/keymap.c index c6ac99a776..b878365be1 100644 --- a/keyboards/winkeys/mini_winni/keymaps/default/keymap.c +++ b/keyboards/winkeys/mini_winni/keymaps/default/keymap.c @@ -39,4 +39,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) -}; +}; \ No newline at end of file diff --git a/keyboards/wolf/frogpad/frogpad.c b/keyboards/wolf/frogpad/frogpad.c index 04fdb7e693..ae6a2e0e17 100644 --- a/keyboards/wolf/frogpad/frogpad.c +++ b/keyboards/wolf/frogpad/frogpad.c @@ -35,4 +35,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return true; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/wolf/frogpad/keymaps/default/keymap.c b/keyboards/wolf/frogpad/keymaps/default/keymap.c index 6eb357a8e3..236afeab06 100644 --- a/keyboards/wolf/frogpad/keymaps/default/keymap.c +++ b/keyboards/wolf/frogpad/keymaps/default/keymap.c @@ -45,4 +45,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_LAYER0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/wolf/frogpad/keymaps/default/rules.mk b/keyboards/wolf/frogpad/keymaps/default/rules.mk index ee32568148..a40474b4d5 100644 --- a/keyboards/wolf/frogpad/keymaps/default/rules.mk +++ b/keyboards/wolf/frogpad/keymaps/default/rules.mk @@ -1 +1 @@ -ENCODER_MAP_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/wolf/m60_b/keymaps/default/keymap.c b/keyboards/wolf/m60_b/keymaps/default/keymap.c index 84dcf31a25..3c0fd2bc36 100644 --- a/keyboards/wolf/m60_b/keymaps/default/keymap.c +++ b/keyboards/wolf/m60_b/keymaps/default/keymap.c @@ -36,4 +36,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ) -}; +}; \ No newline at end of file diff --git a/keyboards/wolf/m6_c/keyboard.json b/keyboards/wolf/m6_c/keyboard.json index 9f42760ed4..c1d3d1302a 100644 --- a/keyboards/wolf/m6_c/keyboard.json +++ b/keyboards/wolf/m6_c/keyboard.json @@ -98,4 +98,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/wolf/silhouette/keymaps/default/keymap.c b/keyboards/wolf/silhouette/keymaps/default/keymap.c index 71ebaccaab..b49f1ea8e4 100644 --- a/keyboards/wolf/silhouette/keymaps/default/keymap.c +++ b/keyboards/wolf/silhouette/keymaps/default/keymap.c @@ -20,4 +20,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ) -}; +}; \ No newline at end of file diff --git a/keyboards/wolf/singa/kohaku_hotswap/keyboard.json b/keyboards/wolf/singa/kohaku_hotswap/keyboard.json deleted file mode 100644 index 96b539c06f..0000000000 --- a/keyboards/wolf/singa/kohaku_hotswap/keyboard.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "manufacturer": "SingaKBD", - "keyboard_name": "Kohaku Hotswap", - "maintainer": "ToastyStoemp", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true - }, - "matrix_pins": { - "cols": ["GP29", "GP19", "GP20", "GP23", "GP24", "GP25", "GP26", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], - "rows": ["GP10", "GP11", "GP17", "GP27", "GP28"] - }, - "processor": "RP2040", - "url": "https://singakbd.com", - "usb": { - "device_version": "1.0.0", - "pid": "0x0300", - "vid": "0x5453" - }, - "community_layouts": ["65_ansi_blocker_tsangan"], - "layouts": { - "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [0, 6], "x": 6, "y": 0}, - {"matrix": [0, 7], "x": 7, "y": 0}, - {"matrix": [0, 8], "x": 8, "y": 0}, - {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - {"matrix": [0, 11], "x": 11, "y": 0}, - {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [2, 12], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14, "y": 0}, - {"matrix": [0, 14], "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, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [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, 10], "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, 14], "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, 1], "x": 2.25, "y": 3}, - {"matrix": [3, 2], "x": 3.25, "y": 3}, - {"matrix": [3, 3], "x": 4.25, "y": 3}, - {"matrix": [3, 4], "x": 5.25, "y": 3}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - {"matrix": [3, 6], "x": 7.25, "y": 3}, - {"matrix": [3, 7], "x": 8.25, "y": 3}, - {"matrix": [3, 8], "x": 9.25, "y": 3}, - {"matrix": [3, 9], "x": 10.25, "y": 3}, - {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [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, 10], "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/wolf/singa/kohaku_hotswap/keymaps/default/keymap.c b/keyboards/wolf/singa/kohaku_hotswap/keymaps/default/keymap.c deleted file mode 100644 index 8f4f7d17b5..0000000000 --- a/keyboards/wolf/singa/kohaku_hotswap/keymaps/default/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2024 Wolf - -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_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_RIGHT - ), - -[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_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, 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 - ), -}; diff --git a/keyboards/wolf/singa/kohaku_hotswap/matrix_diagram.md b/keyboards/wolf/singa/kohaku_hotswap/matrix_diagram.md deleted file mode 100644 index fc70fae7ad..0000000000 --- a/keyboards/wolf/singa/kohaku_hotswap/matrix_diagram.md +++ /dev/null @@ -1,18 +0,0 @@ -# Matrix Diagram for Wolf Kohaku Hotswap - -``` - ┌───┬───┐ - Split Backspace │2C │0D │ - └───┴───┘ -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ -│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 │1D │1E │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ -│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │ -├──────┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴────┬───┼───┤ -│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3C │3D │3E │ -├─────┬───┼───┴─┬─┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬──┼───┼───┤ -│40 │41 │42 │46 │4A │ │4C│4D │4E │ -└─────┴───┴─────┴─────────────────────────────┴─────┘ └──┴───┴───┘ -``` diff --git a/keyboards/wolf/singa/kohaku_hotswap/readme.md b/keyboards/wolf/singa/kohaku_hotswap/readme.md deleted file mode 100644 index a1bcfda565..0000000000 --- a/keyboards/wolf/singa/kohaku_hotswap/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Wolf Kohaku Hotswap - -![Wolf Kohaku Hotswap](https://i.imgur.com/Fa3FNCr.png) - -65% hotswap PCB for the Wolf Kohaku. - -* Keyboard Maintainer: [ToastyStoemp](https://github.com/ToastyStoemp) -* Hardware Supported: Wolf Kohaku Hotswap (RP2040) -* Hardware Availability: [SingaKBD](https://singakbd.com) - -Make example for this keyboard (after setting up your build environment): - - make wolf/singa/kohaku_hotswap:default - -Flashing example for this keyboard: - - make wolf/singa/kohaku_hotswap:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/wolf/singa/kohaku_solder/keyboard.json b/keyboards/wolf/singa/kohaku_solder/keyboard.json deleted file mode 100644 index 5d0cdc5b99..0000000000 --- a/keyboards/wolf/singa/kohaku_solder/keyboard.json +++ /dev/null @@ -1,674 +0,0 @@ -{ - "manufacturer": "SingaKBD", - "keyboard_name": "Kohaku Solder", - "maintainer": "ToastyStoemp", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true - }, - "matrix_pins": { - "cols": ["GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], - "rows": ["GP28", "GP29", "GP10", "GP11", "GP18", "GP19", "GP24", "GP25", "GP26", "GP27"] - }, - "processor": "RP2040", - "url": "https://singakbd.com", - "usb": { - "device_version": "1.0.0", - "pid": "0x0301", - "vid": "0x5453" - }, - "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": [ - {"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": [1, 7], "x": 14, "y": 0}, - {"matrix": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": 2, "w": 1.25}, - {"matrix": [5, 7], "x": 15, "y": 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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [8, 1], "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": [9, 6], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_ansi_blocker": { - "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": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [5, 7], "x": 15, "y": 2}, - {"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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [8, 1], "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": [9, 6], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_ansi_blocker_split_bs": { - "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": [1, 7], "x": 14, "y": 0}, - {"matrix": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [5, 7], "x": 15, "y": 2}, - {"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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [8, 1], "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": [9, 6], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_ansi_blocker_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": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [5, 7], "x": 15, "y": 2}, - {"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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4}, - {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, - {"matrix": [9, 6], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_ansi_blocker_tsangan_split_bs": { - "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": [1, 7], "x": 14, "y": 0}, - {"matrix": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [5, 7], "x": 15, "y": 2}, - {"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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4}, - {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, - {"matrix": [9, 6], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_iso_blocker": { - "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": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 7], "x": 15, "y": 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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [8, 1], "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": [9, 6], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_iso_blocker_split_bs": { - "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": [1, 7], "x": 14, "y": 0}, - {"matrix": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 7], "x": 15, "y": 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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [8, 1], "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": [9, 6], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_iso_blocker_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": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 7], "x": 15, "y": 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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4}, - {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, - {"matrix": [9, 6], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_iso_blocker_tsangan_split_bs": { - "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": [1, 7], "x": 14, "y": 0}, - {"matrix": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 7], "x": 15, "y": 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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4}, - {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, - {"matrix": [9, 6], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - } - } -} diff --git a/keyboards/wolf/singa/kohaku_solder/keymaps/default/keymap.c b/keyboards/wolf/singa/kohaku_solder/keymaps/default/keymap.c deleted file mode 100644 index a034250246..0000000000 --- a/keyboards/wolf/singa/kohaku_solder/keymaps/default/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2024 Wolf - -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_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_NUHS, KC_ENT, KC_PGDN, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT - ), - -[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_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS - ), -}; diff --git a/keyboards/wolf/singa/kohaku_solder/matrix_diagram.md b/keyboards/wolf/singa/kohaku_solder/matrix_diagram.md deleted file mode 100644 index 87c25df1ff..0000000000 --- a/keyboards/wolf/singa/kohaku_solder/matrix_diagram.md +++ /dev/null @@ -1,30 +0,0 @@ -# Matrix Diagram for Wolf Kohaku - -``` - ┌───┬───┐ - Split Backspace │16 │07 │ - └───┴───┘ -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ -│00 │10 │01 │11 │02 │12 │03 │13 │04 │14 │05 │15 │06 │07 │17 │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ ┌─────┐ -│20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │37 │ │ │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐56 │ ISO Enter -│40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │56 │57 │ │46 │ │ -├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ -│60 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │76 │77 │ -├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ -│80 │90 │81 │83 │95 │ │86 │96 │97 │ -└─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ -┌────┬───┐ -│60 │70 │ Split Left Shift -└────┴───┘ -┌────┬────┬────┬────────────────────────┬────┬────┐ -│80 │90 │81 │83 │85 │95 │ 6.25u -└────┴────┴────┴────────────────────────┴────┴────┘ -┌────┬────┬────┬───────────┬────┬───────┬────┬────┐ -│80 │90 │81 │92 │83 │94 │85 │95 │ Split Space (Left 2.75u) -└────┴────┴────┴───────────┴────┴───────┴────┴────┘ -┌────┬────┬────┬───────┬────┬───────────┬────┬────┐ -│80 │90 │81 │92 │83 │94 │85 │95 │ Split Space (Left 2.25u) -└────┴────┴────┴───────┴────┴───────────┴────┴────┘ -``` diff --git a/keyboards/wolf/singa/kohaku_solder/readme.md b/keyboards/wolf/singa/kohaku_solder/readme.md deleted file mode 100644 index d76545cc3b..0000000000 --- a/keyboards/wolf/singa/kohaku_solder/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Wolf Kohaku Solder - -![Wolf Kohaku Solder](https://i.imgur.com/KmGm8qF.png) - -65% PCB for the Wolf Kohaku. - -* Keyboard Maintainer: [ToastyStoemp](https://github.com/ToastyStoemp) -* Hardware Supported: Wolf Kohaku Solder (RP2040) -* Hardware Availability: [SingaKBD](https://singakbd.com) - -Make example for this keyboard (after setting up your build environment): - - make wolf/singa/kohaku_solder:default - -Flashing example for this keyboard: - - make wolf/singa/kohaku_solder:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -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/wolf/singa/kohaku_solder_rgb/keyboard.json b/keyboards/wolf/singa/kohaku_solder_rgb/keyboard.json deleted file mode 100644 index 8e7d74e52c..0000000000 --- a/keyboards/wolf/singa/kohaku_solder_rgb/keyboard.json +++ /dev/null @@ -1,699 +0,0 @@ -{ - "manufacturer": "SingaKBD", - "keyboard_name": "Kohaku Solder RGB", - "maintainer": "ToastyStoemp", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], - "rows": ["GP28", "GP29", "GP10", "GP11", "GP18", "GP19", "GP24", "GP25", "GP26", "GP27"] - }, - "processor": "RP2040", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "brightness_steps": 8, - "default": { - "animation": "rainbow_swirl" - }, - "led_count": 28, - "saturation_steps": 8, - "sleep": true - }, - "url": "https://singakbd.com", - "usb": { - "device_version": "1.0.0", - "pid": "0x0303", - "vid": "0x5453" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP20" - }, - "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": [ - {"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": [1, 7], "x": 14, "y": 0}, - {"matrix": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": 2, "w": 1.25}, - {"matrix": [5, 7], "x": 15, "y": 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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [8, 1], "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": [9, 6], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_ansi_blocker": { - "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": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [5, 7], "x": 15, "y": 2}, - {"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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [8, 1], "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": [9, 6], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_ansi_blocker_split_bs": { - "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": [1, 7], "x": 14, "y": 0}, - {"matrix": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [5, 7], "x": 15, "y": 2}, - {"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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [8, 1], "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": [9, 6], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_ansi_blocker_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": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [5, 7], "x": 15, "y": 2}, - {"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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4}, - {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, - {"matrix": [9, 6], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_ansi_blocker_tsangan_split_bs": { - "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": [1, 7], "x": 14, "y": 0}, - {"matrix": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [5, 7], "x": 15, "y": 2}, - {"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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4}, - {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, - {"matrix": [9, 6], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_iso_blocker": { - "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": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 7], "x": 15, "y": 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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [8, 1], "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": [9, 6], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_iso_blocker_split_bs": { - "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": [1, 7], "x": 14, "y": 0}, - {"matrix": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 7], "x": 15, "y": 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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [8, 1], "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": [9, 6], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_iso_blocker_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": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 7], "x": 15, "y": 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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4}, - {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, - {"matrix": [9, 6], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - }, - "LAYOUT_65_iso_blocker_tsangan_split_bs": { - "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": [1, 7], "x": 14, "y": 0}, - {"matrix": [0, 7], "x": 15, "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": [2, 7], "x": 15, "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": [5, 7], "x": 15, "y": 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, 6], "x": 11.25, "y": 3}, - {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [7, 7], "x": 14, "y": 3}, - {"matrix": [6, 7], "x": 15, "y": 3}, - {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [9, 0], "x": 1.5, "y": 4}, - {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, - {"matrix": [9, 6], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [8, 6], "x": 13, "y": 4}, - {"matrix": [9, 7], "x": 14, "y": 4}, - {"matrix": [8, 7], "x": 15, "y": 4} - ] - } - } -} diff --git a/keyboards/wolf/singa/kohaku_solder_rgb/keymaps/default/keymap.c b/keyboards/wolf/singa/kohaku_solder_rgb/keymaps/default/keymap.c deleted file mode 100644 index a034250246..0000000000 --- a/keyboards/wolf/singa/kohaku_solder_rgb/keymaps/default/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2024 Wolf - -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_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_NUHS, KC_ENT, KC_PGDN, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT - ), - -[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_DEL, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS - ), -}; diff --git a/keyboards/wolf/singa/kohaku_solder_rgb/matrix_diagram.md b/keyboards/wolf/singa/kohaku_solder_rgb/matrix_diagram.md deleted file mode 100644 index 87c25df1ff..0000000000 --- a/keyboards/wolf/singa/kohaku_solder_rgb/matrix_diagram.md +++ /dev/null @@ -1,30 +0,0 @@ -# Matrix Diagram for Wolf Kohaku - -``` - ┌───┬───┐ - Split Backspace │16 │07 │ - └───┴───┘ -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ -│00 │10 │01 │11 │02 │12 │03 │13 │04 │14 │05 │15 │06 │07 │17 │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ ┌─────┐ -│20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │37 │ │ │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐56 │ ISO Enter -│40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │56 │57 │ │46 │ │ -├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ -│60 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │76 │77 │ -├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ -│80 │90 │81 │83 │95 │ │86 │96 │97 │ -└─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ -┌────┬───┐ -│60 │70 │ Split Left Shift -└────┴───┘ -┌────┬────┬────┬────────────────────────┬────┬────┐ -│80 │90 │81 │83 │85 │95 │ 6.25u -└────┴────┴────┴────────────────────────┴────┴────┘ -┌────┬────┬────┬───────────┬────┬───────┬────┬────┐ -│80 │90 │81 │92 │83 │94 │85 │95 │ Split Space (Left 2.75u) -└────┴────┴────┴───────────┴────┴───────┴────┴────┘ -┌────┬────┬────┬───────┬────┬───────────┬────┬────┐ -│80 │90 │81 │92 │83 │94 │85 │95 │ Split Space (Left 2.25u) -└────┴────┴────┴───────┴────┴───────────┴────┴────┘ -``` diff --git a/keyboards/wolf/singa/kohaku_solder_rgb/readme.md b/keyboards/wolf/singa/kohaku_solder_rgb/readme.md deleted file mode 100644 index 6b18ab204f..0000000000 --- a/keyboards/wolf/singa/kohaku_solder_rgb/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# Wolf Kohaku Solder RGB - -![Wolf Kohaku Solder RGB](https://i.imgur.com/KmGm8qF.png) - -65% PCB for the Wolf Kohaku with RGB underglow. - -* Keyboard Maintainer: [ToastyStoemp](https://github.com/ToastyStoemp) -* Hardware Supported: Wolf Kohaku Solder RGB (RP2040) -* Hardware Availability: [SingaKBD](https://singakbd.com) - -Make example for this keyboard (after setting up your build environment): - - make wolf/singa/kohaku_solder_rgb:default - -Flashing example for this keyboard: - - make wolf/singa/kohaku_solder_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 (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/wolf/ts60/readme.md b/keyboards/wolf/ts60/readme.md index 719e0a2b49..5f1d64937b 100644 --- a/keyboards/wolf/ts60/readme.md +++ b/keyboards/wolf/ts60/readme.md @@ -22,4 +22,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch) * **Physical reset button**: Briefly press the button on the back of the PCB -* **Keycode in layout**: Press the Enter key on layer 1 which is mapped to `QK_BOOT` +* **Keycode in layout**: Press the Enter key on layer 1 which is mapped to `QK_BOOT` \ No newline at end of file diff --git a/keyboards/wolf/twilight/keymaps/default/keymap.c b/keyboards/wolf/twilight/keymaps/default/keymap.c index 54524029b0..0c20711c9a 100644 --- a/keyboards/wolf/twilight/keymaps/default/keymap.c +++ b/keyboards/wolf/twilight/keymaps/default/keymap.c @@ -24,4 +24,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_MENU, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) -}; +}; \ No newline at end of file diff --git a/keyboards/wolfmarkclub/wm1/keymaps/default/keymap.c b/keyboards/wolfmarkclub/wm1/keymaps/default/keymap.c index 01c8c8599f..fac2966b4f 100644 --- a/keyboards/wolfmarkclub/wm1/keymaps/default/keymap.c +++ b/keyboards/wolfmarkclub/wm1/keymaps/default/keymap.c @@ -14,4 +14,4 @@ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -}; +}; \ No newline at end of file diff --git a/keyboards/woodkeys/bigseries/1key/keymaps/leddance/rules.mk b/keyboards/woodkeys/bigseries/1key/keymaps/leddance/rules.mk index e5ddcae8d9..1ba2fa8fbe 100644 --- a/keyboards/woodkeys/bigseries/1key/keymaps/leddance/rules.mk +++ b/keyboards/woodkeys/bigseries/1key/keymaps/leddance/rules.mk @@ -1 +1 @@ -TAP_DANCE_ENABLE = yes +TAP_DANCE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/woodkeys/meira/matrix.c b/keyboards/woodkeys/meira/matrix.c index 992fbfe637..e08782dd40 100644 --- a/keyboards/woodkeys/meira/matrix.c +++ b/keyboards/woodkeys/meira/matrix.c @@ -38,12 +38,15 @@ along with this program. If not, see . #if (MATRIX_COLS <= 8) # define print_matrix_header() print("\nr/c 01234567\n") # define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define ROW_SHIFTER ((uint8_t)1) #elif (MATRIX_COLS <= 16) # define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define ROW_SHIFTER ((uint16_t)1) #elif (MATRIX_COLS <= 32) # define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") # define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define ROW_SHIFTER ((uint32_t)1) #endif static matrix_row_t matrix_debouncing[MATRIX_ROWS]; @@ -199,12 +202,12 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) if ((_SFR_IO8(row_pins[row_index] >> 4) & _BV(row_pins[row_index] & 0xF)) == 0) { // Pin LO, set col bit - current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] |= (ROW_SHIFTER << current_col); } else { // Pin HI, clear col bit - current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col); + current_matrix[row_index] &= ~(ROW_SHIFTER << current_col); } // Determine if the matrix changed state diff --git a/keyboards/work_louder/loop/info.json b/keyboards/work_louder/loop/info.json index d029f73117..70dc6cc13a 100644 --- a/keyboards/work_louder/loop/info.json +++ b/keyboards/work_louder/loop/info.json @@ -54,17 +54,6 @@ "typing_heatmap": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 11], "x": 188, "y": 32, "flags": 4}, - {"matrix": [0, 10], "x": 169, "y": 32, "flags": 4}, - {"matrix": [0, 9], "x": 150, "y": 32, "flags": 4}, - {"matrix": [0, 8], "x": 131, "y": 32, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [0, 6], "x": 93, "y": 32, "flags": 4}, - {"matrix": [0, 5], "x": 74, "y": 32, "flags": 4}, - {"matrix": [0, 4], "x": 55, "y": 32, "flags": 4}, - {"matrix": [0, 3], "x": 36, "y": 32, "flags": 4} - ], "max_brightness": 120, "sleep": true }, diff --git a/keyboards/work_louder/loop/loop.c b/keyboards/work_louder/loop/loop.c index 138be4e75a..7880584d09 100644 --- a/keyboards/work_louder/loop/loop.c +++ b/keyboards/work_louder/loop/loop.c @@ -41,3 +41,17 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { return true; } #endif + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = { + { + { NO_LED, NO_LED, NO_LED, 8, 7, 6, 5, 4, 3, 2, 1, 0 } + }, { + {188, 32}, {169, 32}, {150, 32}, {131, 32}, {112, 32}, {93, 32}, {74, 32}, {55, 32}, {36, 32} + }, { + 4, 4, 4, 4, 4, 4, 4, 4, 4 + } +}; +// clang-format on +#endif diff --git a/keyboards/work_louder/micro/keyboard.json b/keyboards/work_louder/micro/keyboard.json index 677facf995..b8da74dd92 100644 --- a/keyboards/work_louder/micro/keyboard.json +++ b/keyboards/work_louder/micro/keyboard.json @@ -79,20 +79,6 @@ "digital_rain": true }, "driver": "ws2812", - "layout": [ - {"matrix": [3, 2], "x": 122, "y": 64, "flags": 4}, - {"matrix": [3, 1], "x": 103, "y": 64, "flags": 4}, - {"matrix": [2, 0], "x": 84, "y": 45, "flags": 4}, - {"matrix": [2, 1], "x": 103, "y": 45, "flags": 4}, - {"matrix": [2, 2], "x": 133, "y": 45, "flags": 4}, - {"matrix": [2, 3], "x": 152, "y": 45, "flags": 4}, - {"matrix": [1, 3], "x": 152, "y": 26, "flags": 4}, - {"matrix": [1, 2], "x": 122, "y": 26, "flags": 4}, - {"matrix": [1, 1], "x": 103, "y": 26, "flags": 4}, - {"matrix": [1, 0], "x": 84, "y": 26, "flags": 4}, - {"matrix": [0, 1], "x": 103, "y": 7, "flags": 4}, - {"matrix": [0, 2], "x": 122, "y": 7, "flags": 4} - ], "max_brightness": 150, "sleep": true }, diff --git a/keyboards/work_louder/micro/matrix.c b/keyboards/work_louder/micro/matrix.c index 1c53487949..3944d676de 100644 --- a/keyboards/work_louder/micro/matrix.c +++ b/keyboards/work_louder/micro/matrix.c @@ -1,6 +1,9 @@ // Copyright 2022 Christopher Courtney, aka Drashna Jael're (@drashna) // SPDX-License-Identifier: GPL-2.0-or-later +/* + * scan matrix + */ #include "matrix.h" #include #include "atomic_util.h" @@ -9,8 +12,13 @@ #include "util.h" #include "debounce.h" +/* matrix state(1:on, 0:off) */ +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values + static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +#define MATRIX_ROW_SHIFTER ((matrix_row_t)1) static inline void gpio_atomic_set_pin_output_low(pin_t pin) { ATOMIC_BLOCK_FORCEON { diff --git a/keyboards/work_louder/micro/micro.c b/keyboards/work_louder/micro/micro.c index 80af68ad8d..f88ac8bb45 100644 --- a/keyboards/work_louder/micro/micro.c +++ b/keyboards/work_louder/micro/micro.c @@ -3,6 +3,29 @@ #include "micro.h" +#if defined(RGB_MATRIX_ENABLE) +// clang-format off +led_config_t g_led_config = { { + { NO_LED, 10, 11, NO_LED }, + { 9 , 8, 7, 6 }, + { 2, 3, 4, 5 }, + { NO_LED, 1, 0, NO_LED } + }, { + { 122, 64 }, { 103, 64 }, + { 84, 45 }, { 103, 45 }, { 133, 45 }, { 152, 45 }, + { 152, 26 }, { 122, 26 }, { 103, 26 }, { 84, 26 }, + { 103, 7 }, { 122, 7 } + }, + { + 4, 4, + 4, 4, 4, 4, + 4, 4, 4, 4, + 4, 4 + } +}; +// clang-format on +#endif + #if defined(ENCODER_ENABLE) bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) { diff --git a/keyboards/work_louder/nano/keyboard.json b/keyboards/work_louder/nano/keyboard.json index c870803b1a..e15d095de0 100644 --- a/keyboards/work_louder/nano/keyboard.json +++ b/keyboards/work_louder/nano/keyboard.json @@ -56,10 +56,6 @@ "digital_rain": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 2], "x": 103, "y": 32, "flags": 4}, - {"matrix": [0, 1], "x": 122, "y": 32, "flags": 4} - ], "max_brightness": 120, "sleep": true }, diff --git a/keyboards/work_louder/nano/nano.c b/keyboards/work_louder/nano/nano.c index a02b09d90c..28db78e46d 100644 --- a/keyboards/work_louder/nano/nano.c +++ b/keyboards/work_louder/nano/nano.c @@ -27,3 +27,16 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { return true; } #endif + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + { NO_LED, 1, 0 } + }, { + { 103, 32 }, { 122, 32 } + }, { + 4, 4 + } +}; + +#endif diff --git a/keyboards/wsk/gothic50/keyboard.json b/keyboards/wsk/gothic50/keyboard.json index 0e49872b10..ecd87d9e81 100644 --- a/keyboards/wsk/gothic50/keyboard.json +++ b/keyboards/wsk/gothic50/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Gothic50", "manufacturer": "Worldspawn00", + "url": "https://qmk.fm/keyboards", "maintainer": "worldspawn00", "usb": { "vid": "0xFEED", diff --git a/keyboards/wsk/gothic70/keyboard.json b/keyboards/wsk/gothic70/keyboard.json index 1c3f54d585..15acd70287 100644 --- a/keyboards/wsk/gothic70/keyboard.json +++ b/keyboards/wsk/gothic70/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Gothic70", "manufacturer": "Worldspawn00", + "url": "https://qmk.fm/keyboards", "maintainer": "worldspawn00", "usb": { "vid": "0x5753", diff --git a/keyboards/wsk/houndstooth/keyboard.json b/keyboards/wsk/houndstooth/keyboard.json index 1e6e5b36e2..d7596b151a 100644 --- a/keyboards/wsk/houndstooth/keyboard.json +++ b/keyboards/wsk/houndstooth/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Houndstooth", "manufacturer": "Worldspawn00", + "url": "https://qmk.fm/keyboards", "maintainer": "worldspawn00", "usb": { "vid": "0xFEED", diff --git a/keyboards/wsk/jerkin/keyboard.json b/keyboards/wsk/jerkin/keyboard.json index dfd3a6d314..4ff9701f6e 100644 --- a/keyboards/wsk/jerkin/keyboard.json +++ b/keyboards/wsk/jerkin/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Jerkin", "manufacturer": "Worldspawn00", + "url": "https://qmk.fm/keyboards", "maintainer": "worldspawn00", "usb": { "vid": "0xFEED", diff --git a/keyboards/wsk/kodachi50/keyboard.json b/keyboards/wsk/kodachi50/keyboard.json index 373a1770fb..d37eb965e2 100644 --- a/keyboards/wsk/kodachi50/keyboard.json +++ b/keyboards/wsk/kodachi50/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "Kodachi50", "manufacturer": "Worldspawn00", + "url": "https://qmk.fm/keyboards", "maintainer": "worldspawn00", "usb": { "vid": "0xFEED", diff --git a/keyboards/wsk/pain27/keyboard.json b/keyboards/wsk/pain27/keyboard.json index 0a88b751dc..43a9ce5f59 100644 --- a/keyboards/wsk/pain27/keyboard.json +++ b/keyboards/wsk/pain27/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "PAIN27", "manufacturer": "Worldspawn00", + "url": "https://qmk.fm/keyboards", "maintainer": "worldspawn00", "usb": { "vid": "0xFEED", diff --git a/keyboards/wsk/sl40/keyboard.json b/keyboards/wsk/sl40/keyboard.json index 9d92cad7c3..9c6752b98c 100644 --- a/keyboards/wsk/sl40/keyboard.json +++ b/keyboards/wsk/sl40/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "SL40", "manufacturer": "Worldspawn00", + "url": "https://qmk.fm/keyboards", "maintainer": "worldspawn00", "usb": { "vid": "0xFEED", diff --git a/keyboards/wsk/tkl30/keyboard.json b/keyboards/wsk/tkl30/keyboard.json index 21f4c15545..4a767c1da8 100644 --- a/keyboards/wsk/tkl30/keyboard.json +++ b/keyboards/wsk/tkl30/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "TKL30", "manufacturer": "Worldspawn00", + "url": "https://qmk.fm/keyboards", "maintainer": "worldspawn00", "usb": { "vid": "0xFEED", diff --git a/keyboards/xbows/numpad_v2/config.h b/keyboards/xbows/numpad_v2/config.h deleted file mode 100644 index e13de33229..0000000000 --- a/keyboards/xbows/numpad_v2/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2025 Shulin Huang - * - * 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 IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_VCC diff --git a/keyboards/xbows/numpad_v2/keyboard.json b/keyboards/xbows/numpad_v2/keyboard.json deleted file mode 100644 index 0ccd2f8d02..0000000000 --- a/keyboards/xbows/numpad_v2/keyboard.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "keyboard_name": "NUMPAD_V2", - "manufacturer": "X-BOWS", - "maintainer": "xbows-qmk", - "usb": { - "vid": "0x5842", - "pid": "0x4E76", - "device_version": "0.0.1" - }, - "rgb_matrix": { - "animations": { - "breathing": true, - "band_spiral_val": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_up_down": true, - "cycle_out_in": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "rainbow_pinwheels": true, - "raindrops": true, - "solid_reactive_simple": true, - "solid_reactive": true, - "solid_reactive_wide": true, - "solid_reactive_cross": true, - "splash": true, - "solid_multisplash": true - }, - "center_point": [30, 32], - "driver": "is31fl3731", - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 60, "y": 0, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4}, - {"matrix": [1, 1], "x": 20, "y": 13, "flags": 4}, - {"matrix": [1, 2], "x": 40, "y": 13, "flags": 4}, - {"matrix": [1, 3], "x": 60, "y": 13, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4}, - {"matrix": [2, 1], "x": 20, "y": 25, "flags": 4}, - {"matrix": [2, 2], "x": 40, "y": 25, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 34, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4}, - {"matrix": [3, 1], "x": 20, "y": 38, "flags": 4}, - {"matrix": [3, 2], "x": 40, "y": 38, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 50, "flags": 4}, - {"matrix": [4, 1], "x": 20, "y": 50, "flags": 4}, - {"matrix": [4, 2], "x": 40, "y": 50, "flags": 4}, - {"matrix": [4, 3], "x": 52, "y": 57, "flags": 4}, - {"matrix": [5, 0], "x": 10, "y": 63, "flags": 4}, - {"matrix": [5, 2], "x": 40, "y": 63, "flags": 4} - ], - "led_process_limit": 18, - "max_brightness": 200, - "sleep": true - }, - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "matrix_pins": { - "cols": ["D4", "D6", "B2", "B1"], - "rows": ["B5", "B4", "C6", "B6", "D7", "B3"] - }, - "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "debounce": 3, - "community_layouts": ["numpad_6x4"], - "layouts": { - "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.5}, - {"matrix": [1, 1], "x": 1, "y": 1.5}, - {"matrix": [1, 2], "x": 2, "y": 1.5}, - {"matrix": [1, 3], "x": 3, "y": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2.5}, - {"matrix": [2, 1], "x": 1, "y": 2.5}, - {"matrix": [2, 2], "x": 2, "y": 2.5}, - - {"matrix": [3, 0], "x": 0, "y": 3.5}, - {"matrix": [3, 1], "x": 1, "y": 3.5}, - {"matrix": [3, 2], "x": 2, "y": 3.5}, - {"matrix": [2, 3], "x": 3, "y": 2.5, "h": 2}, - - {"matrix": [4, 0], "x": 0, "y": 4.5}, - {"matrix": [4, 1], "x": 1, "y": 4.5}, - {"matrix": [4, 2], "x": 2, "y": 4.5}, - - {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 2}, - {"matrix": [5, 2], "x": 2, "y": 5.5}, - {"matrix": [4, 3], "x": 3, "y": 4.5, "h": 2} - ] - } - } -} diff --git a/keyboards/xbows/numpad_v2/keymaps/default/keymap.c b/keyboards/xbows/numpad_v2/keymaps/default/keymap.c deleted file mode 100644 index 3fd67eeb86..0000000000 --- a/keyboards/xbows/numpad_v2/keymaps/default/keymap.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2025 Shulin Huang - * - * 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_numpad_6x4( - KC_ESC, KC_TAB, KC_BSPC, MO(1), - 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), - [1] = LAYOUT_numpad_6x4( - QK_BOOT, EE_CLR, KC_TRNS, KC_TRNS, - KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, - RM_NEXT, RM_VALU, RM_HUEU, - RM_SPDD, RM_TOGG, RM_SPDU, KC_TRNS, - KC_TRNS, RM_VALD, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS) -}; diff --git a/keyboards/xbows/numpad_v2/numpad_v2.c b/keyboards/xbows/numpad_v2/numpad_v2.c deleted file mode 100644 index 4ff1243b37..0000000000 --- a/keyboards/xbows/numpad_v2/numpad_v2.c +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright 2025 Shulin Huang - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - #include "quantum.h" - #ifdef RGB_MATRIX_ENABLE - const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { - - {0, C3_3, C2_3, C1_3}, // L01 - {0, C3_4, C2_4, C1_4}, // L02 - {0, C9_5, C8_5, C7_5}, // L03 - {0, C9_6, C8_6, C7_6}, // L04 - - {0, C6_1, C5_1, C4_1}, // L05 - {0, C6_2, C5_2, C4_2}, // L06 - {0, C6_3, C5_3, C4_3}, // L07 - {0, C6_6, C5_6, C4_6}, // L08 - - {0, C9_1, C8_1, C7_1}, // L09 - {0, C9_2, C8_2, C7_2}, // L10 - {0, C9_3, C8_3, C7_3}, // L11 - {0, C3_14, C2_14, C1_14}, // L12 - - {0, C3_11, C2_11, C1_11}, // L13 - {0, C3_12, C2_12, C1_12}, // L14 - {0, C3_13, C2_13, C1_13}, // L15 - - - {0, C6_9, C5_9, C4_9}, // L16 - {0, C6_10, C5_10, C4_10}, // L17 - {0, C6_11, C5_11, C4_11}, // L17 - {0, C6_14, C5_14, C4_14}, // L19 - - {0, C6_16, C5_16, C4_16}, // L20 - {0, C6_15, C5_15, C4_15}, // L21 - - }; -bool rgb_matrix_indicators_kb(void) { - if (!rgb_matrix_indicators_user()) { - return false; - } - if (host_keyboard_led_state().num_lock) { - rgb_matrix_set_color(4, 0xFF, 0xFF, 0xFF); - } - return true; -} - -#endif diff --git a/keyboards/xbows/numpad_v2/readme.md b/keyboards/xbows/numpad_v2/readme.md deleted file mode 100644 index 662fb1a680..0000000000 --- a/keyboards/xbows/numpad_v2/readme.md +++ /dev/null @@ -1,34 +0,0 @@ -# NUMPAD_V2 -![NUMPAD_V2](https://i.imgur.com/LHzwyVL.jpg) - -Knight-Plus is an Ergonomic Mechanical keyboard suite redesigned by X-Bow that includes both the main keyboard and the numpad. - -If you spend your work days in front of a computer, you have likely felt some discomfort after a long day of typing. While spending less time on our computers would be the ideal remedy for this problem, that is not a realistic solution for most people. X-Bows was designed to limit the stress on your hands and wrists while also providing a productive and stylish typing experience. - - -X-Bows was designed with three criteria in mind: -* Enhancing the comfort and ergonomics of the keyboard -* Limiting the learning curve for our new layout -* Creating an attractive design - - -* Keyboard Maintainer: X-BOWS -* Hardware Supported: X-BOWS Numpad_v2 -* Hardware Availability: [X-BOWS](https://x-bows.com/) - -Make example for this keyboard (after setting up your build environment): - - make xbows/numpad_v2:default - -Flashing example for this keyboard: - - make xbows/numpad_v2:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 2 ways: - -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/xdboards/recon/keyboard.json b/keyboards/xdboards/recon/keyboard.json index 2ba4ccdb08..65f3c88a32 100644 --- a/keyboards/xdboards/recon/keyboard.json +++ b/keyboards/xdboards/recon/keyboard.json @@ -198,4 +198,4 @@ "hue": 126 } } -} +} \ No newline at end of file diff --git a/keyboards/xdboards/recon/post_config.h b/keyboards/xdboards/recon/post_config.h index dc302cbf78..9e4950e04a 100644 --- a/keyboards/xdboards/recon/post_config.h +++ b/keyboards/xdboards/recon/post_config.h @@ -21,4 +21,4 @@ # define WS2812_DI_PIN 25U #else # define WS2812_DI_PIN B3 -#endif +#endif \ No newline at end of file diff --git a/keyboards/xdboards/recon/post_rules.mk b/keyboards/xdboards/recon/post_rules.mk index afa01106e5..8b9382b32a 100644 --- a/keyboards/xdboards/recon/post_rules.mk +++ b/keyboards/xdboards/recon/post_rules.mk @@ -1,3 +1,3 @@ ifeq ($(strip $(USE_SEA_PICRO_RGB_PIN)), yes) OPT_DEFS += -DUSE_SEA_PICRO_RGB_PIN -endif +endif \ No newline at end of file diff --git a/keyboards/xdboards/recon/readme.md b/keyboards/xdboards/recon/readme.md index c431179ae9..49dbddbbfb 100644 --- a/keyboards/xdboards/recon/readme.md +++ b/keyboards/xdboards/recon/readme.md @@ -54,4 +54,4 @@ In your keymap directory: #define RGB_MATRIX_SPLIT { 5, 5 } #define RGB_MATRIX_LED_COUNT 10 ``` - + \ No newline at end of file diff --git a/keyboards/xdboards/recon/recon.c b/keyboards/xdboards/recon/recon.c index f623c5ffbd..823f3df7bf 100644 --- a/keyboards/xdboards/recon/recon.c +++ b/keyboards/xdboards/recon/recon.c @@ -115,4 +115,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { } return true; } -#endif +#endif \ No newline at end of file diff --git a/keyboards/xelus/akis/keyboard.json b/keyboards/xelus/akis/keyboard.json index 0aa4d177cb..25b4f958d7 100644 --- a/keyboards/xelus/akis/keyboard.json +++ b/keyboards/xelus/akis/keyboard.json @@ -1,6 +1,7 @@ { "keyboard_name": "AkiS", "manufacturer": "Xelus", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/xelus/akis", "maintainer": "Xelus22", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/dawn60/readme.md b/keyboards/xelus/dawn60/readme.md index 530a93b617..8e01381939 100644 --- a/keyboards/xelus/dawn60/readme.md +++ b/keyboards/xelus/dawn60/readme.md @@ -10,4 +10,4 @@ Make example for this keyboard (after setting up your build environment): make xelus/dawn60/rev1: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/xelus/dawn60/rev1_qmk/readme.md b/keyboards/xelus/dawn60/rev1_qmk/readme.md index 68357d6471..b105dd6c7a 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/readme.md +++ b/keyboards/xelus/dawn60/rev1_qmk/readme.md @@ -1,3 +1,3 @@ # Dawn60 -The QMK RGB Matrix Version +The QMK RGB Matrix Version \ No newline at end of file diff --git a/keyboards/xelus/kangaroo/info.json b/keyboards/xelus/kangaroo/info.json index fb7858dd3b..791aa75cf7 100644 --- a/keyboards/xelus/kangaroo/info.json +++ b/keyboards/xelus/kangaroo/info.json @@ -1,5 +1,6 @@ { "manufacturer": "Xelus", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/xelus/kangaroo", "maintainer": "qmk", "usb": { "vid": "0x5845", diff --git a/keyboards/xelus/valor/rev2/keyboard.json b/keyboards/xelus/valor/rev2/keyboard.json index 6356f69646..451eeb99ff 100644 --- a/keyboards/xelus/valor/rev2/keyboard.json +++ b/keyboards/xelus/valor/rev2/keyboard.json @@ -67,9 +67,6 @@ "solid_splash": true, "solid_multisplash": true }, - "default": { - "flags": 7 - }, "driver": "ws2812", "max_brightness": 200, "sleep": true diff --git a/keyboards/xelus/valor/rev2/rev2.c b/keyboards/xelus/valor/rev2/rev2.c index 99db45e08d..34a32cfc61 100644 --- a/keyboards/xelus/valor/rev2/rev2.c +++ b/keyboards/xelus/valor/rev2/rev2.c @@ -64,4 +64,9 @@ led_config_t g_led_config = { { 8, 8, 8, 8 } }; + +void keyboard_pre_init_kb(void) { + rgb_matrix_set_flags(LED_FLAG_MODIFIER|LED_FLAG_UNDERGLOW|LED_FLAG_KEYLIGHT); + keyboard_pre_init_user(); +} #endif diff --git a/keyboards/xiudi/xd60/keymaps/crd_ansi/README.md b/keyboards/xiudi/xd60/keymaps/crd_ansi/README.md index bf571d3432..80e4550249 100644 --- a/keyboards/xiudi/xd60/keymaps/crd_ansi/README.md +++ b/keyboards/xiudi/xd60/keymaps/crd_ansi/README.md @@ -49,4 +49,4 @@ controls, RGB (underglow) controls, and firmware reset (DFU mode). * `-----------------------------------------------------------------------------------------' */ -``` +``` \ No newline at end of file diff --git a/keyboards/xiudi/xd60/keymaps/split_bksp_arrows/readme.md b/keyboards/xiudi/xd60/keymaps/split_bksp_arrows/readme.md index a24685de80..35a5e4f224 100644 --- a/keyboards/xiudi/xd60/keymaps/split_bksp_arrows/readme.md +++ b/keyboards/xiudi/xd60/keymaps/split_bksp_arrows/readme.md @@ -5,4 +5,4 @@ make xd60:split_bksp_arrows ![Layout](https://photos.app.goo.gl/cjpRZ2j8q3X1ONck1 "Layout") ## KLE Link -http://www.keyboard-layout-editor.com/#/gists/5bb96ed3f4974bf74b1c448c8349d01f +http://www.keyboard-layout-editor.com/#/gists/5bb96ed3f4974bf74b1c448c8349d01f \ No newline at end of file diff --git a/keyboards/xiudi/xd84pro/keymaps/default/keymap.c b/keyboards/xiudi/xd84pro/keymaps/default/keymap.c index 6c16b4d82d..884b7b27ec 100644 --- a/keyboards/xiudi/xd84pro/keymaps/default/keymap.c +++ b/keyboards/xiudi/xd84pro/keymaps/default/keymap.c @@ -49,4 +49,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ ) -}; +}; \ No newline at end of file diff --git a/keyboards/xiudi/xd87/keymaps/default_underglow/readme.md b/keyboards/xiudi/xd87/keymaps/default_underglow/readme.md index 627449e489..676709fccd 100755 --- a/keyboards/xiudi/xd87/keymaps/default_underglow/readme.md +++ b/keyboards/xiudi/xd87/keymaps/default_underglow/readme.md @@ -10,4 +10,4 @@ The RGB Underglow feature is disabled by default. This specific keymap enables R ### Layer 1 -![XD87 - rgb_default keymap - layer 1](https://i.imgur.com/BIsAgtO.png) +![XD87 - rgb_default keymap - layer 1](https://i.imgur.com/BIsAgtO.png) \ No newline at end of file diff --git a/keyboards/xiudi/xd87/readme.md b/keyboards/xiudi/xd87/readme.md index 79bbcddd22..7beae2c6c8 100644 --- a/keyboards/xiudi/xd87/readme.md +++ b/keyboards/xiudi/xd87/readme.md @@ -23,4 +23,4 @@ It also supports the tkl_ansi and tkl_iso community layouts: The keyboard can be reset to bootloader by using bootmagic (top left key by default) or short out the small connector between the Delete and End keys. -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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/xiudi/xd96/matrix.c b/keyboards/xiudi/xd96/matrix.c index f73fce267f..2c433f02b8 100644 --- a/keyboards/xiudi/xd96/matrix.c +++ b/keyboards/xiudi/xd96/matrix.c @@ -90,4 +90,4 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { changed |= read_cols_on_row(current_matrix, current_row); } return changed; -} +} \ No newline at end of file diff --git a/keyboards/xw60/keymaps/default/readme.md b/keyboards/xw60/keymaps/default/readme.md index 71bd405428..0e146718a4 100644 --- a/keyboards/xw60/keymaps/default/readme.md +++ b/keyboards/xw60/keymaps/default/readme.md @@ -55,4 +55,4 @@ |--------------------------------------------------------------------------| | | | | | | | | '--------------------------------------------------------------------------' - ``` + ``` \ No newline at end of file diff --git a/keyboards/yandrstudio/nz64/keyboard.json b/keyboards/yandrstudio/nz64/keyboard.json index e7c879ca36..8c36b73c1e 100644 --- a/keyboards/yandrstudio/nz64/keyboard.json +++ b/keyboards/yandrstudio/nz64/keyboard.json @@ -59,90 +59,6 @@ }, "center_point": [96, 32], "driver": "ws2812", - "layout": [ - {"matrix": [4, 13], "x": 224, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 207, "y": 64, "flags": 4}, - {"matrix": [4, 11], "x": 190, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 172, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 155, "y": 64, "flags": 4}, - {"x": 121, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 86, "y": 64, "flags": 4}, - {"x": 52, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 34, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 17, "y": 64, "flags": 4}, - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [3, 13], "x": 224, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 207, "y": 48, "flags": 4}, - {"matrix": [3, 11], "x": 190, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 172, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 155, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 138, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 121, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 103, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 86, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 69, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 17, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [2, 13], "x": 224, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 190, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 155, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 138, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 121, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 103, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 69, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 52, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 34, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 17, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [1, 13], "x": 224, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 207, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 190, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 172, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 155, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 138, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 121, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 103, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 86, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 69, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 52, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 34, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 17, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [0, 13], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 207, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 190, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 172, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 155, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 138, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 121, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 103, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 86, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 69, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 34, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 17, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 37, "y": 0, "flags": 2}, - {"x": 75, "y": 0, "flags": 2}, - {"x": 112, "y": 0, "flags": 2}, - {"x": 149, "y": 0, "flags": 2}, - {"x": 187, "y": 0, "flags": 2}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 0, "y": 32, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 187, "y": 64, "flags": 2}, - {"x": 149, "y": 64, "flags": 2}, - {"x": 112, "y": 64, "flags": 2}, - {"x": 75, "y": 64, "flags": 2}, - {"x": 37, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 224, "y": 32, "flags": 2} - ], "max_brightness": 180, "sleep": true }, diff --git a/keyboards/yandrstudio/nz64/nz64.c b/keyboards/yandrstudio/nz64/nz64.c index 6bd3e08fbf..928b0b5114 100644 --- a/keyboards/yandrstudio/nz64/nz64.c +++ b/keyboards/yandrstudio/nz64/nz64.c @@ -23,6 +23,40 @@ typedef union { } kb_cums_t; kb_cums_t kb_cums; +led_config_t g_led_config = { + { + { 65, 64, 63, 62, 61, 60, 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, NO_LED, 25 }, + { 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11 }, + { 10, 9, 8, NO_LED, NO_LED, 6, NO_LED, NO_LED, NO_LED, 4, 3, 2, 1, 0 } + }, + { + /* LED Index to Physical Position */ + {224,64},{207,64},{190,64},{172,64},{155,64}, {121,64}, {86,64}, {52,64}, {34,64},{17,64},{0,64}, + {224,48},{207,48},{190,48},{172,48},{155,48},{138,48},{121,48},{103,48},{86,48},{69,48},{52,48},{34,48},{17,48},{0,48}, + {224,32},{190,32},{172,32},{155,32},{138,32},{121,32},{103,32},{86,32},{69,32},{52,32},{34,32},{17,32},{0,32}, + {224,16},{207,16},{190,16},{172,16},{155,16},{138,16},{121,16},{103,16},{86,16},{69,16},{52,16},{34,16},{17,16},{0,16}, + {224,0},{207,0},{190,0},{172,0},{155,0},{138,0},{121,0},{103,0},{86,0},{69,0},{52,0},{34,0},{17,0},{0,0}, + {0,0},{37,0},{75,0},{112,0},{149,0},{187,0},{224,0}, + {0,32}, + {224,64},{187,64},{149,64},{112,64},{75,64},{37,64},{0,64}, + {224,32} + }, + { + /* 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,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 + } +}; + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/yandrstudio/nz67v2/keyboard.json b/keyboards/yandrstudio/nz67v2/keyboard.json index 56de8d8b87..fc931f3427 100644 --- a/keyboards/yandrstudio/nz67v2/keyboard.json +++ b/keyboards/yandrstudio/nz67v2/keyboard.json @@ -65,94 +65,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 32, "y": 64, "flags": 4}, - {"matrix": [4, 3], "x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 80, "y": 64, "flags": 4}, - {"matrix": [4, 7], "x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 144, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 160, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 192, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 208, "y": 64, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 208, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, - {"x": 224, "y": 0, "flags": 2}, - {"x": 196, "y": 0, "flags": 2}, - {"x": 168, "y": 0, "flags": 2}, - {"x": 140, "y": 0, "flags": 2}, - {"x": 112, "y": 0, "flags": 2}, - {"x": 84, "y": 0, "flags": 2}, - {"x": 56, "y": 0, "flags": 2}, - {"x": 28, "y": 0, "flags": 2}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 224, "y": 64, "flags": 2}, - {"x": 196, "y": 64, "flags": 2}, - {"x": 168, "y": 64, "flags": 2}, - {"x": 140, "y": 64, "flags": 2}, - {"x": 112, "y": 64, "flags": 2}, - {"x": 84, "y": 64, "flags": 2}, - {"x": 56, "y": 64, "flags": 2}, - {"x": 28, "y": 64, "flags": 2} - ], "max_brightness": 180, "sleep": true }, diff --git a/keyboards/yandrstudio/nz67v2/nz67v2.c b/keyboards/yandrstudio/nz67v2/nz67v2.c index 22f3570607..c3162dd961 100644 --- a/keyboards/yandrstudio/nz67v2/nz67v2.c +++ b/keyboards/yandrstudio/nz67v2/nz67v2.c @@ -24,6 +24,36 @@ typedef union { } kb_cums_t; kb_cums_t kb_cums; +led_config_t g_led_config = { + { + {54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68}, + {53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39}, + {25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, NO_LED, 37, 38}, + {24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, NO_LED, 13, 12, 11}, + {0, 1, 2, 3, NO_LED, 4, NO_LED, 5, NO_LED, 6, 7, NO_LED, 8, 9, 10} + }, + { + {0,64},{16,64},{32,64},{48,64}, {80,64}, {112,64}, {144,64},{160,64}, {192,64},{208,64},{224,64}, + {224,48},{208,48},{192,48}, {160,48},{144,48},{128,48},{112,48},{96,48},{80,48},{64,48},{48,48},{32,48},{16,48},{0,48}, + {0,32},{16,32},{32,32},{48,32},{64,32},{80,32},{96,32},{112,32},{128,32},{144,32},{160,32},{176,32}, {208,32},{224,32}, + {224,16},{208,16},{192,16},{176,16},{160,16},{144,16},{128,16},{112,16},{96,16},{80,16},{64,16},{48,16},{32,16},{16,16},{0,16}, + {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},{208,0},{224,0}, + {224,0},{196,0},{168,0},{140,0},{112,0},{84,0},{56,0},{28,0},{0,0}, + {224,64},{196,64},{168,64},{140,64},{112,64},{84,64},{56,64},{28,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, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2 + } +}; + bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; diff --git a/keyboards/yandrstudio/tg67/keyboard.json b/keyboards/yandrstudio/tg67/keyboard.json index 924b1ec689..8a1df37805 100644 --- a/keyboards/yandrstudio/tg67/keyboard.json +++ b/keyboards/yandrstudio/tg67/keyboard.json @@ -64,77 +64,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4}, - {"matrix": [4, 2], "x": 32, "y": 64, "flags": 4}, - {"x": 48, "y": 64, "flags": 4}, - {"matrix": [4, 5], "x": 80, "y": 64, "flags": 4}, - {"x": 112, "y": 64, "flags": 4}, - {"matrix": [4, 9], "x": 144, "y": 64, "flags": 4}, - {"matrix": [4, 10], "x": 160, "y": 64, "flags": 4}, - {"matrix": [4, 12], "x": 192, "y": 64, "flags": 4}, - {"matrix": [4, 13], "x": 208, "y": 64, "flags": 4}, - {"matrix": [4, 14], "x": 224, "y": 64, "flags": 4}, - {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, - {"matrix": [3, 13], "x": 208, "y": 48, "flags": 4}, - {"matrix": [3, 12], "x": 192, "y": 48, "flags": 4}, - {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, - {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, - {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4}, - {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4}, - {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, - {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, - {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, - {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, - {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, - {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4}, - {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, - {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, - {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, - {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, - {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, - {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4}, - {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4}, - {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4}, - {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4}, - {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4}, - {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4}, - {"matrix": [2, 13], "x": 208, "y": 32, "flags": 4}, - {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, - {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, - {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4}, - {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4}, - {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4}, - {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4}, - {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4}, - {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4}, - {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, - {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4}, - {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, - {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, - {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, - {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, - {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, - {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, - {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, - {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, - {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, - {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4}, - {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4} - ], "max_brightness": 250, "sleep": true }, diff --git a/keyboards/yandrstudio/tg67/tg67.c b/keyboards/yandrstudio/tg67/tg67.c new file mode 100644 index 0000000000..5384778a68 --- /dev/null +++ b/keyboards/yandrstudio/tg67/tg67.c @@ -0,0 +1,46 @@ +/* Copyright 2022 JasonRen(biu) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE + +led_config_t g_led_config = { + { + {54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68}, + {53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39}, + {25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, NO_LED, 37, 38}, + {24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, NO_LED, 13, 12, 11}, + {0, 1, 2, NO_LED, NO_LED, 4, NO_LED, NO_LED, NO_LED, 6, 7, NO_LED, 8, 9, 10} + }, + { + {0,64},{16,64},{32,64},{48,64}, {80,64}, {112,64}, {144,64},{160,64}, {192,64},{208,64},{224,64}, + {224,48},{208,48},{192,48}, {160,48},{144,48},{128,48},{112,48},{96,48},{80,48},{64,48},{48,48},{32,48},{16,48},{0,48}, + {0,32},{16,32},{32,32},{48,32},{64,32},{80,32},{96,32},{112,32},{128,32},{144,32},{160,32},{176,32}, {208,32},{224,32}, + {224,16},{208,16},{192,16},{176,16},{160,16},{144,16},{128,16},{112,16},{96,16},{80,16},{64,16},{48,16},{32,16},{16,16},{0,16}, + {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},{208,0},{224,0} + }, + { + 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/yanghu/unicorne/info.json b/keyboards/yanghu/unicorne/info.json index 838f9d330e..1b890dcaba 100644 --- a/keyboards/yanghu/unicorne/info.json +++ b/keyboards/yanghu/unicorne/info.json @@ -41,17 +41,7 @@ "driver": "pwm" }, "rgb_matrix": { - "driver": "ws2812", - "layout": [ - {"matrix": [3, 5], "x": 94, "y": 60, "flags": 255}, - {"matrix": [2, 2], "x": 18, "y": 44, "flags": 255}, - {"matrix": [1, 2], "x": 8, "y": 10, "flags": 255}, - {"matrix": [1, 5], "x": 94, "y": 10, "flags": 255}, - {"matrix": [1, 8], "x": 130, "y": 10, "flags": 255}, - {"matrix": [1, 11], "x": 216, "y": 10, "flags": 255}, - {"matrix": [2, 11], "x": 208, "y": 44, "flags": 255}, - {"matrix": [3, 8], "x": 130, "y": 60, "flags": 255} - ] + "driver": "ws2812" }, "matrix_pins": { "cols": ["A14", "A15", "B13", "B14", "B15", "A13", "A0", "A1", "A2", "A3", "A6", "A7"], diff --git a/keyboards/yanghu/unicorne/unicorne.c b/keyboards/yanghu/unicorne/unicorne.c index e1d173d8c5..bce8f52075 100644 --- a/keyboards/yanghu/unicorne/unicorne.c +++ b/keyboards/yanghu/unicorne/unicorne.c @@ -33,6 +33,37 @@ void i2c_init(void) { } } +// LED matrix +// physical location +// 2 3 4 5 +// +// 1 6 +// 0 7 +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = {{ + // Key Matrix to LED Index + // Since we only have 8 LEDs, map the keys near them to the same LED. + {2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5}, + {2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5}, + {1, 1, 1, 0, 0, 0, 7, 7, 7, 6, 6, 6}, + {NO_LED, NO_LED, NO_LED, 0, 0, 0, 7, 7, 7, NO_LED, NO_LED, NO_LED}, +}, {// LED Index to Physical Position + {94, 60}, + {18, 44}, + {8, 10}, + {94, 10}, + {130,10}, + {216, 10}, + {208, 44}, + {130, 60} +}, {// LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +}}; +// clang-format on +#endif + #ifdef OLED_ENABLE // OLED shared code // The oled is vertical. Need to rotate 270 degrees. diff --git a/keyboards/yiancardesigns/float65/config.h b/keyboards/yiancardesigns/float65/config.h deleted file mode 100644 index 4c744c95af..0000000000 --- a/keyboards/yiancardesigns/float65/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2024 Yiancar-Designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* RGB options */ - -#define WS2812_SPI_DRIVER SPID2 -#define WS2812_SPI_MOSI_PAL_MODE 0 -#define WS2812_SPI_SCK_PAL_MODE 0 -#define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/yiancardesigns/float65/keyboard.json b/keyboards/yiancardesigns/float65/keyboard.json deleted file mode 100644 index 49e4f02831..0000000000 --- a/keyboards/yiancardesigns/float65/keyboard.json +++ /dev/null @@ -1,333 +0,0 @@ -{ - "manufacturer": "Yiancar-Designs", - "keyboard_name": "Float 65", - "maintainer": "Yiancar", - "bootloader": "stm32-dfu", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgblight": true - }, - "matrix_pins": { - "cols": ["A13", "A10", "A9", "A14", "A15", "B8", "B9", "B2", "B1", "B0", "A0", "A1", "A2", "A3", "A5"], - "rows": ["B3", "B4", "B5", "A8", "A4"] - }, - "processor": "STM32F072", - "rgblight": { - "animations": { - "alternating": true, - "breathing": true, - "christmas": true, - "knight": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "static_gradient": true, - "twinkle": true - }, - "led_count": 8 - }, - "url": "https://yiancar-designs.com", - "usb": { - "device_version": "0.0.1", - "pid": "0x5334", - "vid": "0x8968" - }, - "ws2812": { - "driver": "spi", - "pin": "B15" - }, - "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs"], - "layout_aliases": { - "LAYOUT": "LAYOUT_65_ansi_blocker_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, 13], "x": 13, "y": 0, "w": 2}, - {"matrix": [0, 14], "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": [2, 12], "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.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 13, "y": 4}, - {"matrix": [4, 13], "x": 14, "y": 4}, - {"matrix": [4, 14], "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": [1, 13], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14, "y": 0}, - {"matrix": [0, 14], "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": [2, 12], "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.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 13, "y": 4}, - {"matrix": [4, 13], "x": 14, "y": 4}, - {"matrix": [4, 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, 14], "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": [2, 12], "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_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": [1, 13], "x": 13, "y": 0}, - {"matrix": [0, 13], "x": 14, "y": 0}, - {"matrix": [0, 14], "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": [2, 12], "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/yiancardesigns/float65/keymaps/default/keymap.c b/keyboards/yiancardesigns/float65/keymaps/default/keymap.c deleted file mode 100644 index df023f5c5a..0000000000 --- a/keyboards/yiancardesigns/float65/keymaps/default/keymap.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2024 Yiancar-Designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_65_ansi_blocker_split_bs( /* Base */ - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_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_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - -[1] = LAYOUT_65_ansi_blocker_split_bs( /* FN */ - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, UG_SPDU, _______, _______, _______, _______, _______, _______, _______, _______, - KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, _______) -}; diff --git a/keyboards/yiancardesigns/float65/mcuconf.h b/keyboards/yiancardesigns/float65/mcuconf.h deleted file mode 100644 index db2c3ca747..0000000000 --- a/keyboards/yiancardesigns/float65/mcuconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2024 Yiancar-Designs - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include_next - -#undef STM32_SPI_USE_SPI2 -#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/yiancardesigns/float65/readme.md b/keyboards/yiancardesigns/float65/readme.md deleted file mode 100644 index 6b3c2bc66c..0000000000 --- a/keyboards/yiancardesigns/float65/readme.md +++ /dev/null @@ -1,32 +0,0 @@ -# Float 65 - -This is a 65% layout PCB. It supports VIA. - -* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) -* Hardware Supported: A 65% keyboard with STM32F072CB -* Hardware Availability: https://omnitype.com - -## Instructions - -### Build - -Make example for this keyboard (after setting up your build environment): - - make yiancardesigns/float65:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -### Reset - -- Unplug -- Hold Escape -- Plug In -- Unplug -- Release Escape - -### Flash - -- Unplug -- Hold Escape -- Plug In -- Flash using QMK Toolbox or CLI (`make yiancardesigns/float65::flash`) diff --git a/keyboards/yiancardesigns/gingham/keymaps/default/readme.md b/keyboards/yiancardesigns/gingham/keymaps/default/readme.md index 9e12473d8b..2f3372492e 100644 --- a/keyboards/yiancardesigns/gingham/keymaps/default/readme.md +++ b/keyboards/yiancardesigns/gingham/keymaps/default/readme.md @@ -3,4 +3,4 @@ The default keymap for Gingham ![Layout image](https://i.imgur.com/WwOVJTh.jpg) -Default layer is normal ANSI and Fn layer is used for Volume control and arrow cluster. +Default layer is normal ANSI and Fn layer is used for Volume control and arrow cluster. \ No newline at end of file diff --git a/keyboards/yiancardesigns/gingham/keymaps/iso/readme.md b/keyboards/yiancardesigns/gingham/keymaps/iso/readme.md index eed9639cbc..cd29c28900 100644 --- a/keyboards/yiancardesigns/gingham/keymaps/iso/readme.md +++ b/keyboards/yiancardesigns/gingham/keymaps/iso/readme.md @@ -3,4 +3,4 @@ The default keymap for ISO Gingham ![Layout image](https://i.imgur.com/WwOVJTh.jpg) -Default layer is normal ISO and Fn layer is used for Volume control and arrow cluster +Default layer is normal ISO and Fn layer is used for Volume control and arrow cluster \ No newline at end of file diff --git a/keyboards/yiancardesigns/hyper7/v4/config.h b/keyboards/yiancardesigns/hyper7/v4/config.h deleted file mode 100644 index a33e746458..0000000000 --- a/keyboards/yiancardesigns/hyper7/v4/config.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2025 Yiancar-Designs, Bit-Shifter -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define DYNAMIC_KEYMAP_MACRO_COUNT 30 diff --git a/keyboards/yiancardesigns/hyper7/v4/keyboard.json b/keyboards/yiancardesigns/hyper7/v4/keyboard.json deleted file mode 100644 index b6cab6df6a..0000000000 --- a/keyboards/yiancardesigns/hyper7/v4/keyboard.json +++ /dev/null @@ -1,429 +0,0 @@ -{ - "manufacturer": "Yiancar-Designs", - "keyboard_name": "Hyper7 v4", - "maintainer": "Yiancar-Designs", - "bootloader": "stm32-dfu", - "bootmagic": { - "matrix": [3, 0] - }, - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["B11", "B10", "B2", "B1", "B0", "C5", "C4", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "B12", "B13", "B14", "B15", "A8", "C9", "C8", "C7", "C6", "C11", "C10", "A15", "A14"], - "rows": ["C1", "C2", "C3", "A13", "C12", "B3", "B4", "B5"] - }, - "processor": "STM32F072", - "url": "https://yiancar-designs.com", - "usb": { - "device_version": "0.0.1", - "pid": "0x6837", - "vid": "0x8968" - }, - "layouts": { - "LAYOUT_modern": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0, "w":2}, - {"matrix": [0, 2], "x": 2, "y": 0, "w":2}, - {"matrix": [0, 4], "x": 4.5, "y": 0, "w":2}, - {"matrix": [0, 6], "x": 6.5, "y": 0, "w":2}, - {"matrix": [0, 8], "x": 8.5, "y": 0, "w":2}, - {"matrix": [0, 10], "x": 10.5, "y": 0, "w":2}, - {"matrix": [0, 12], "x": 12.5, "y": 0, "w":2}, - {"matrix": [0, 14], "x": 14.5, "y": 0, "w":2}, - {"matrix": [0, 16], "x": 16.5, "y": 0, "w":2}, - {"matrix": [0, 18], "x": 18.5, "y": 0, "w":2}, - {"matrix": [0, 20], "x": 20.5, "y": 0, "w":2}, - {"matrix": [0, 22], "x": 22.5, "y": 0, "w":2}, - {"matrix": [0, 24], "x": 25, "y": 0, "w":2}, - {"matrix": [0, 26], "x": 27, "y": 0, "w":2}, - {"matrix": [1, 0], "x": 0, "y": 1, "w":2}, - {"matrix": [1, 2], "x": 2, "y": 1, "w":2}, - {"matrix": [1, 4], "x": 4.5, "y": 1, "w":2}, - {"matrix": [1, 6], "x": 6.5, "y": 1, "w":2}, - {"matrix": [1, 8], "x": 8.5, "y": 1, "w":2}, - {"matrix": [1, 10], "x": 10.5, "y": 1, "w":2}, - {"matrix": [1, 12], "x": 12.5, "y": 1, "w":2}, - {"matrix": [1, 14], "x": 14.5, "y": 1, "w":2}, - {"matrix": [1, 16], "x": 16.5, "y": 1, "w":2}, - {"matrix": [1, 18], "x": 18.5, "y": 1, "w":2}, - {"matrix": [1, 20], "x": 20.5, "y": 1, "w":2}, - {"matrix": [1, 22], "x": 22.5, "y": 1, "w":2}, - {"matrix": [1, 24], "x": 25, "y": 1, "w":2}, - {"matrix": [1, 26], "x": 27, "y": 1, "w":2}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2, "w":2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 13], "x": 13.5, "y": 2}, - {"matrix": [2, 14], "x": 14.5, "y": 2}, - {"matrix": [2, 15], "x": 15.5, "y": 2}, - {"matrix": [2, 16], "x": 16.5, "y": 2}, - {"matrix": [2, 17], "x": 17.5, "y": 2}, - {"matrix": [2, 18], "x": 18.5, "y": 2}, - {"matrix": [2, 19], "x": 19.5, "y": 2}, - {"matrix": [2, 20], "x": 20.5, "y": 2}, - {"matrix": [2, 21], "x": 21.5, "y": 2}, - {"matrix": [2, 22], "x": 22.5, "y": 2, "w":2}, - {"matrix": [2, 24], "x": 25, "y": 2}, - {"matrix": [2, 25], "x": 26, "y": 2}, - {"matrix": [2, 26], "x": 27, "y": 2}, - {"matrix": [2, 27], "x": 28, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3.5}, - {"matrix": [3, 1], "x": 1, "y": 3.5}, - {"matrix": [3, 2], "x": 2, "y": 3.5}, - {"matrix": [3, 3], "x": 3, "y": 3.5}, - {"matrix": [3, 4], "x": 4.5, "y": 3.5, "w": 1.5}, - {"matrix": [3, 6], "x": 6, "y": 3.5}, - {"matrix": [3, 7], "x": 7, "y": 3.5}, - {"matrix": [3, 8], "x": 8, "y": 3.5}, - {"matrix": [3, 9], "x": 9, "y": 3.5}, - {"matrix": [3, 10], "x": 10, "y": 3.5}, - {"matrix": [3, 11], "x": 11, "y": 3.5}, - {"matrix": [3, 12], "x": 12, "y": 3.5}, - {"matrix": [3, 13], "x": 13, "y": 3.5}, - {"matrix": [3, 14], "x": 14, "y": 3.5}, - {"matrix": [3, 15], "x": 15, "y": 3.5}, - {"matrix": [3, 16], "x": 16, "y": 3.5}, - {"matrix": [3, 17], "x": 17, "y": 3.5}, - {"matrix": [3, 18], "x": 18, "y": 3.5}, - {"matrix": [3, 19], "x": 19, "y": 3.5}, - {"matrix": [3, 20], "x": 20, "y": 3.5}, - {"matrix": [3, 21], "x": 21, "y": 3.5}, - {"matrix": [3, 22], "x": 22, "y": 3.5}, - {"matrix": [3, 23], "x": 23, "y": 3.5, "w": 1.5}, - {"matrix": [3, 24], "x": 25, "y": 3.5}, - {"matrix": [3, 25], "x": 26, "y": 3.5}, - {"matrix": [3, 26], "x": 27, "y": 3.5}, - {"matrix": [3, 27], "x": 28, "y": 3.5}, - {"matrix": [4, 0], "x": 0, "y": 4.5}, - {"matrix": [4, 1], "x": 1, "y": 4.5}, - {"matrix": [4, 2], "x": 2, "y": 4.5}, - {"matrix": [4, 3], "x": 3, "y": 4.5}, - {"matrix": [4, 4], "x": 4.5, "y": 4.5}, - {"matrix": [4, 5], "x": 5.5, "y": 4.5, "w": 1.5}, - {"matrix": [4, 7], "x": 7, "y": 4.5, "w": 1.5}, - {"matrix": [4, 8], "x": 8.5, "y": 4.5}, - {"matrix": [4, 9], "x": 9.5, "y": 4.5}, - {"matrix": [4, 10], "x": 10.5, "y": 4.5}, - {"matrix": [4, 11], "x": 11.5, "y": 4.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4.5}, - {"matrix": [4, 13], "x": 13.5, "y": 4.5}, - {"matrix": [4, 14], "x": 14.5, "y": 4.5}, - {"matrix": [4, 15], "x": 15.5, "y": 4.5}, - {"matrix": [4, 16], "x": 16.5, "y": 4.5}, - {"matrix": [4, 17], "x": 17.5, "y": 4.5}, - {"matrix": [4, 18], "x": 18.5, "y": 4.5}, - {"matrix": [4, 19], "x": 19.5, "y": 4.5}, - {"matrix": [4, 20], "x": 20.5, "y": 4.5, "w": 1.5}, - {"matrix": [4, 22], "x": 22, "y": 4.5, "w": 1.5}, - {"matrix": [4, 23], "x": 23.5, "y": 4.5}, - {"matrix": [4, 24], "x": 25, "y": 4.5}, - {"matrix": [4, 25], "x": 26, "y": 4.5}, - {"matrix": [4, 26], "x": 27, "y": 4.5}, - {"matrix": [4, 27], "x": 28, "y": 4.5}, - {"matrix": [5, 0], "x": 0, "y": 5.5}, - {"matrix": [5, 1], "x": 1, "y": 5.5}, - {"matrix": [5, 2], "x": 2, "y": 5.5}, - {"matrix": [5, 3], "x": 3, "y": 5.5}, - {"matrix": [5, 4], "x": 4.5, "y": 5.5, "w": 1.5}, - {"matrix": [5, 6], "x": 6, "y": 5.5, "w": 1.5}, - {"matrix": [5, 7], "x": 7.5, "y": 5.5, "w": 1.5}, - {"matrix": [5, 9], "x": 9, "y": 5.5}, - {"matrix": [5, 10], "x": 10, "y": 5.5}, - {"matrix": [5, 11], "x": 11, "y": 5.5}, - {"matrix": [5, 12], "x": 12, "y": 5.5}, - {"matrix": [5, 13], "x": 13, "y": 5.5}, - {"matrix": [5, 14], "x": 14, "y": 5.5}, - {"matrix": [5, 15], "x": 15, "y": 5.5}, - {"matrix": [5, 16], "x": 16, "y": 5.5}, - {"matrix": [5, 17], "x": 17, "y": 5.5}, - {"matrix": [5, 18], "x": 18, "y": 5.5}, - {"matrix": [5, 19], "x": 19, "y": 5.5}, - {"matrix": [5, 20], "x": 20, "y": 5.5, "w": 1.5}, - {"matrix": [5, 21], "x": 21.5, "y": 5.5, "w": 1.5}, - {"matrix": [5, 23], "x": 23, "y": 5.5, "w": 1.5}, - {"matrix": [5, 24], "x": 25, "y": 5.5}, - {"matrix": [5, 25], "x": 26, "y": 5.5}, - {"matrix": [5, 26], "x": 27, "y": 5.5}, - {"matrix": [5, 27], "x": 28, "y": 5.5}, - {"matrix": [6, 0], "x": 0, "y": 6.5}, - {"matrix": [6, 1], "x": 1, "y": 6.5}, - {"matrix": [6, 2], "x": 2, "y": 6.5}, - {"matrix": [6, 3], "x": 3, "y": 6.5}, - {"matrix": [6, 4], "x": 4.5, "y": 6.5}, - {"matrix": [6, 5], "x": 5.5, "y": 6.5}, - {"matrix": [6, 6], "x": 6.5, "y": 6.5, "w": 1.5}, - {"matrix": [6, 8], "x": 8, "y": 6.5, "w": 1.5}, - {"matrix": [6, 9], "x": 9.5, "y": 6.5}, - {"matrix": [6, 10], "x": 10.5, "y": 6.5}, - {"matrix": [6, 11], "x": 11.5, "y": 6.5}, - {"matrix": [6, 12], "x": 12.5, "y": 6.5}, - {"matrix": [6, 13], "x": 13.5, "y": 6.5}, - {"matrix": [6, 14], "x": 14.5, "y": 6.5}, - {"matrix": [6, 15], "x": 15.5, "y": 6.5}, - {"matrix": [6, 16], "x": 16.5, "y": 6.5}, - {"matrix": [6, 17], "x": 17.5, "y": 6.5}, - {"matrix": [6, 18], "x": 18.5, "y": 6.5}, - {"matrix": [6, 19], "x": 19.5, "y": 6.5, "w": 1.5}, - {"matrix": [6, 21], "x": 21, "y": 6.5, "w": 1.5}, - {"matrix": [6, 22], "x": 22.5, "y": 6.5}, - {"matrix": [6, 23], "x": 23.5, "y": 6.5}, - {"matrix": [6, 24], "x": 25, "y": 6.5}, - {"matrix": [6, 25], "x": 26, "y": 6.5}, - {"matrix": [6, 26], "x": 27, "y": 6.5}, - {"matrix": [6, 27], "x": 28, "y": 6.5}, - {"matrix": [7, 0], "x": 0, "y": 7.5}, - {"matrix": [7, 1], "x": 1, "y": 7.5}, - {"matrix": [7, 2], "x": 2, "y": 7.5}, - {"matrix": [7, 3], "x": 3, "y": 7.5}, - {"matrix": [7, 4], "x": 4.5, "y": 7.5}, - {"matrix": [7, 5], "x": 5.5, "y": 7.5}, - {"matrix": [7, 6], "x": 6.5, "y": 7.5}, - {"matrix": [7, 7], "x": 7.5, "y": 7.5, "w": 1.5}, - {"matrix": [7, 8], "x": 9, "y": 7.5, "w": 1.5}, - {"matrix": [7, 13], "x": 10.5, "y": 7.5, "w": 7}, - {"matrix": [7, 18], "x": 17.5, "y": 7.5}, - {"matrix": [7, 19], "x": 18.5, "y": 7.5, "w": 1.5}, - {"matrix": [7, 20], "x": 20, "y": 7.5, "w": 1.5}, - {"matrix": [7, 21], "x": 21.5, "y": 7.5}, - {"matrix": [7, 22], "x": 22.5, "y": 7.5}, - {"matrix": [7, 23], "x": 23.5, "y": 7.5}, - {"matrix": [7, 24], "x": 25, "y": 7.5}, - {"matrix": [7, 25], "x": 26, "y": 7.5}, - {"matrix": [7, 26], "x": 27, "y": 7.5}, - {"matrix": [7, 27], "x": 28, "y": 7.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.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}, - {"matrix": [0, 14], "x": 14.5, "y": 0}, - {"matrix": [0, 15], "x": 15.5, "y": 0}, - {"matrix": [0, 16], "x": 16.5, "y": 0}, - {"matrix": [0, 17], "x": 17.5, "y": 0}, - {"matrix": [0, 18], "x": 18.5, "y": 0}, - {"matrix": [0, 19], "x": 19.5, "y": 0}, - {"matrix": [0, 20], "x": 20.5, "y": 0}, - {"matrix": [0, 21], "x": 21.5, "y": 0}, - {"matrix": [0, 22], "x": 22.5, "y": 0}, - {"matrix": [0, 23], "x": 23.5, "y": 0}, - {"matrix": [0, 24], "x": 25, "y": 0}, - {"matrix": [0, 25], "x": 26, "y": 0}, - {"matrix": [0, 26], "x": 27, "y": 0}, - {"matrix": [0, 27], "x": 28, "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.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}, - {"matrix": [1, 14], "x": 14.5, "y": 1}, - {"matrix": [1, 15], "x": 15.5, "y": 1}, - {"matrix": [1, 16], "x": 16.5, "y": 1}, - {"matrix": [1, 17], "x": 17.5, "y": 1}, - {"matrix": [1, 18], "x": 18.5, "y": 1}, - {"matrix": [1, 19], "x": 19.5, "y": 1}, - {"matrix": [1, 20], "x": 20.5, "y": 1}, - {"matrix": [1, 21], "x": 21.5, "y": 1}, - {"matrix": [1, 22], "x": 22.5, "y": 1}, - {"matrix": [1, 23], "x": 23.5, "y": 1}, - {"matrix": [1, 24], "x": 25, "y": 1}, - {"matrix": [1, 25], "x": 26, "y": 1}, - {"matrix": [1, 26], "x": 27, "y": 1}, - {"matrix": [1, 27], "x": 28, "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.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 13], "x": 13.5, "y": 2}, - {"matrix": [2, 14], "x": 14.5, "y": 2}, - {"matrix": [2, 15], "x": 15.5, "y": 2}, - {"matrix": [2, 16], "x": 16.5, "y": 2}, - {"matrix": [2, 17], "x": 17.5, "y": 2}, - {"matrix": [2, 18], "x": 18.5, "y": 2}, - {"matrix": [2, 19], "x": 19.5, "y": 2}, - {"matrix": [2, 20], "x": 20.5, "y": 2}, - {"matrix": [2, 21], "x": 21.5, "y": 2}, - {"matrix": [2, 22], "x": 22.5, "y": 2}, - {"matrix": [2, 23], "x": 23.5, "y": 2}, - {"matrix": [2, 24], "x": 25, "y": 2}, - {"matrix": [2, 25], "x": 26, "y": 2}, - {"matrix": [2, 26], "x": 27, "y": 2}, - {"matrix": [2, 27], "x": 28, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3.5}, - {"matrix": [3, 1], "x": 1, "y": 3.5}, - {"matrix": [3, 2], "x": 2, "y": 3.5}, - {"matrix": [3, 3], "x": 3, "y": 3.5}, - {"matrix": [3, 4], "x": 4.5, "y": 3.5, "w": 1.5}, - {"matrix": [3, 6], "x": 6, "y": 3.5}, - {"matrix": [3, 7], "x": 7, "y": 3.5}, - {"matrix": [3, 8], "x": 8, "y": 3.5}, - {"matrix": [3, 9], "x": 9, "y": 3.5}, - {"matrix": [3, 10], "x": 10, "y": 3.5}, - {"matrix": [3, 11], "x": 11, "y": 3.5}, - {"matrix": [3, 12], "x": 12, "y": 3.5}, - {"matrix": [3, 13], "x": 13, "y": 3.5}, - {"matrix": [3, 14], "x": 14, "y": 3.5}, - {"matrix": [3, 15], "x": 15, "y": 3.5}, - {"matrix": [3, 16], "x": 16, "y": 3.5}, - {"matrix": [3, 17], "x": 17, "y": 3.5}, - {"matrix": [3, 18], "x": 18, "y": 3.5}, - {"matrix": [3, 19], "x": 19, "y": 3.5}, - {"matrix": [3, 20], "x": 20, "y": 3.5}, - {"matrix": [3, 21], "x": 21, "y": 3.5}, - {"matrix": [3, 22], "x": 22, "y": 3.5}, - {"matrix": [3, 23], "x": 23, "y": 3.5, "w": 1.5}, - {"matrix": [3, 24], "x": 25, "y": 3.5}, - {"matrix": [3, 25], "x": 26, "y": 3.5}, - {"matrix": [3, 26], "x": 27, "y": 3.5}, - {"matrix": [3, 27], "x": 28, "y": 3.5}, - {"matrix": [4, 0], "x": 0, "y": 4.5}, - {"matrix": [4, 1], "x": 1, "y": 4.5}, - {"matrix": [4, 2], "x": 2, "y": 4.5}, - {"matrix": [4, 3], "x": 3, "y": 4.5}, - {"matrix": [4, 4], "x": 4.5, "y": 4.5}, - {"matrix": [4, 5], "x": 5.5, "y": 4.5, "w": 1.5}, - {"matrix": [4, 7], "x": 7, "y": 4.5, "w": 1.5}, - {"matrix": [4, 8], "x": 8.5, "y": 4.5}, - {"matrix": [4, 9], "x": 9.5, "y": 4.5}, - {"matrix": [4, 10], "x": 10.5, "y": 4.5}, - {"matrix": [4, 11], "x": 11.5, "y": 4.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4.5}, - {"matrix": [4, 13], "x": 13.5, "y": 4.5}, - {"matrix": [4, 14], "x": 14.5, "y": 4.5}, - {"matrix": [4, 15], "x": 15.5, "y": 4.5}, - {"matrix": [4, 16], "x": 16.5, "y": 4.5}, - {"matrix": [4, 17], "x": 17.5, "y": 4.5}, - {"matrix": [4, 18], "x": 18.5, "y": 4.5}, - {"matrix": [4, 19], "x": 19.5, "y": 4.5}, - {"matrix": [4, 20], "x": 20.5, "y": 4.5, "w": 1.5}, - {"matrix": [4, 22], "x": 22, "y": 4.5, "w": 1.5}, - {"matrix": [4, 23], "x": 23.5, "y": 4.5}, - {"matrix": [4, 24], "x": 25, "y": 4.5}, - {"matrix": [4, 25], "x": 26, "y": 4.5}, - {"matrix": [4, 26], "x": 27, "y": 4.5}, - {"matrix": [4, 27], "x": 28, "y": 4.5}, - {"matrix": [5, 0], "x": 0, "y": 5.5}, - {"matrix": [5, 1], "x": 1, "y": 5.5}, - {"matrix": [5, 2], "x": 2, "y": 5.5}, - {"matrix": [5, 3], "x": 3, "y": 5.5}, - {"matrix": [5, 4], "x": 4.5, "y": 5.5, "w": 1.5}, - {"matrix": [5, 6], "x": 6, "y": 5.5, "w": 1.5}, - {"matrix": [5, 7], "x": 7.5, "y": 5.5, "w": 1.5}, - {"matrix": [5, 9], "x": 9, "y": 5.5}, - {"matrix": [5, 10], "x": 10, "y": 5.5}, - {"matrix": [5, 11], "x": 11, "y": 5.5}, - {"matrix": [5, 12], "x": 12, "y": 5.5}, - {"matrix": [5, 13], "x": 13, "y": 5.5}, - {"matrix": [5, 14], "x": 14, "y": 5.5}, - {"matrix": [5, 15], "x": 15, "y": 5.5}, - {"matrix": [5, 16], "x": 16, "y": 5.5}, - {"matrix": [5, 17], "x": 17, "y": 5.5}, - {"matrix": [5, 18], "x": 18, "y": 5.5}, - {"matrix": [5, 19], "x": 19, "y": 5.5}, - {"matrix": [5, 20], "x": 20, "y": 5.5, "w": 1.5}, - {"matrix": [5, 21], "x": 21.5, "y": 5.5, "w": 1.5}, - {"matrix": [5, 23], "x": 23, "y": 5.5, "w": 1.5}, - {"matrix": [5, 24], "x": 25, "y": 5.5}, - {"matrix": [5, 25], "x": 26, "y": 5.5}, - {"matrix": [5, 26], "x": 27, "y": 5.5}, - {"matrix": [5, 27], "x": 28, "y": 5.5}, - {"matrix": [6, 0], "x": 0, "y": 6.5}, - {"matrix": [6, 1], "x": 1, "y": 6.5}, - {"matrix": [6, 2], "x": 2, "y": 6.5}, - {"matrix": [6, 3], "x": 3, "y": 6.5}, - {"matrix": [6, 4], "x": 4.5, "y": 6.5}, - {"matrix": [6, 5], "x": 5.5, "y": 6.5}, - {"matrix": [6, 6], "x": 6.5, "y": 6.5, "w": 1.5}, - {"matrix": [6, 8], "x": 8, "y": 6.5, "w": 1.5}, - {"matrix": [6, 9], "x": 9.5, "y": 6.5}, - {"matrix": [6, 10], "x": 10.5, "y": 6.5}, - {"matrix": [6, 11], "x": 11.5, "y": 6.5}, - {"matrix": [6, 12], "x": 12.5, "y": 6.5}, - {"matrix": [6, 13], "x": 13.5, "y": 6.5}, - {"matrix": [6, 14], "x": 14.5, "y": 6.5}, - {"matrix": [6, 15], "x": 15.5, "y": 6.5}, - {"matrix": [6, 16], "x": 16.5, "y": 6.5}, - {"matrix": [6, 17], "x": 17.5, "y": 6.5}, - {"matrix": [6, 18], "x": 18.5, "y": 6.5}, - {"matrix": [6, 19], "x": 19.5, "y": 6.5, "w": 1.5}, - {"matrix": [6, 21], "x": 21, "y": 6.5, "w": 1.5}, - {"matrix": [6, 22], "x": 22.5, "y": 6.5}, - {"matrix": [6, 23], "x": 23.5, "y": 6.5}, - {"matrix": [6, 24], "x": 25, "y": 6.5}, - {"matrix": [6, 25], "x": 26, "y": 6.5}, - {"matrix": [6, 26], "x": 27, "y": 6.5}, - {"matrix": [6, 27], "x": 28, "y": 6.5}, - {"matrix": [7, 0], "x": 0, "y": 7.5}, - {"matrix": [7, 1], "x": 1, "y": 7.5}, - {"matrix": [7, 2], "x": 2, "y": 7.5}, - {"matrix": [7, 3], "x": 3, "y": 7.5}, - {"matrix": [7, 4], "x": 4.5, "y": 7.5}, - {"matrix": [7, 5], "x": 5.5, "y": 7.5}, - {"matrix": [7, 6], "x": 6.5, "y": 7.5}, - {"matrix": [7, 7], "x": 7.5, "y": 7.5}, - {"matrix": [7, 8], "x": 8.5, "y": 7.5, "w": 1.5}, - {"matrix": [7, 10], "x": 10, "y": 7.5}, - {"matrix": [7, 11], "x": 11, "y": 7.5, "w": 1.5}, - {"matrix": [7, 12], "x": 12.5, "y": 7.5, "w": 1.5}, - {"matrix": [7, 14], "x": 14, "y": 7.5}, - {"matrix": [7, 15], "x": 15, "y": 7.5, "w": 1.5}, - {"matrix": [7, 16], "x": 16.5, "y": 7.5, "w": 1.5}, - {"matrix": [7, 18], "x": 18, "y": 7.5}, - {"matrix": [7, 19], "x": 19, "y": 7.5, "w": 1.5}, - {"matrix": [7, 20], "x": 20.5, "y": 7.5}, - {"matrix": [7, 21], "x": 21.5, "y": 7.5}, - {"matrix": [7, 22], "x": 22.5, "y": 7.5}, - {"matrix": [7, 23], "x": 23.5, "y": 7.5}, - {"matrix": [7, 24], "x": 25, "y": 7.5}, - {"matrix": [7, 25], "x": 26, "y": 7.5}, - {"matrix": [7, 26], "x": 27, "y": 7.5}, - {"matrix": [7, 27], "x": 28, "y": 7.5}, - {"matrix": [7, 13], "x": 11, "y": 8.5, "w": 7} - ] - } - } -} diff --git a/keyboards/yiancardesigns/hyper7/v4/keymaps/default/keymap.c b/keyboards/yiancardesigns/hyper7/v4/keymaps/default/keymap.c deleted file mode 100644 index 3b2a333ac3..0000000000 --- a/keyboards/yiancardesigns/hyper7/v4/keymaps/default/keymap.c +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2025 Yiancar-Designs, Bit-Shifter -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -enum my_keycodes { - MACRO = QK_USER_0, - QUOTE, - CLRIN, - SQUAR, - CIRCL, - TRIAN, - DIAMO, - WRITE, - TTY, - PLUSM, - MODE, -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case MACRO: - if (record->event.pressed) { - // when keycode MACRO is pressed - SEND_STRING("Hyper7 is the best thing ever!"); - } - break; - case QUOTE: - if (record->event.pressed) { - // when keycode QUOTE is pressed - SEND_STRING("\"\"" SS_TAP(X_LEFT)); - } - break; - case CLRIN: - if (record->event.pressed) { - // when keycode CLRIN is pressed - SEND_STRING(SS_LCTL("a") SS_TAP(X_DEL)); - } - break; - case SQUAR: - if (record->event.pressed) { - // when keycode SQUAR is pressed - SEND_STRING("I like squares"); - } - break; - case CIRCL: - if (record->event.pressed) { - // when keycode CIRCL is pressed - SEND_STRING("I like circles"); - } - break; - case TRIAN: - if (record->event.pressed) { - // when keycode TRIAN is pressed - SEND_STRING("I like the illuminati"); - } - break; - case DIAMO: - if (record->event.pressed) { - // when keycode DIAMO is pressed - SEND_STRING("Everyone likes diamonds"); - } - break; - case WRITE: - if (record->event.pressed) { - // when keycode WRITE is pressed - SEND_STRING(SS_LGUI("x") "notepad" SS_TAP(X_ENT)); - } - break; - case TTY: - if (record->event.pressed) { - // when keycode TTY is pressed - SEND_STRING(SS_LGUI("x") "cmd" SS_TAP(X_ENT)); - } - break; - case PLUSM: - if (record->event.pressed) { - // when keycode PLUSM is pressed - SEND_STRING("+-"); - } - case MODE: - if (record->event.pressed) { - // when keycode MODE is pressed - SEND_STRING("Mode"); - } - } - return true; -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_modern( - G(KC_F1), MACRO, RCS(KC_ESC), QUOTE, KC_INS, CLRIN, G(KC_D), C(KC_S), C(KC_C), A(KC_F4), KC_PAUS, C(KC_P), G(C(KC_Q)), LCA(KC_DEL), - G(KC_X), KC_WHOM, G(KC_PAUS), C(KC_R), A(KC_TAB), SQUAR, CIRCL, TRIAN, DIAMO, C(KC_Y), LAG(KC_R), RCS(KC_ESC), G(KC_L), KC_CAPS, - KC_F1, KC_F2, A(KC_F4), G(KC_R), KC_ESC, KC_QUES, KC_EXLM, KC_AT, KC_AT, KC_AT, KC_AT, KC_GRV, KC_GRV, KC_GRV, KC_GRV, KC_UNDS, KC_LABK, KC_RABK, KC_PIPE, KC_LCBR, KC_RCBR, C(KC_ENT), KC_CIRC, KC_PERC, KC_HASH, KC_DLR, - KC_F3, KC_F4, C(KC_F), WRITE, LSFT(KC_N), PLUSM, KC_TILD, 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_NUBS, KC_LBRC, KC_RBRC, C(KC_Z), KC_PMNS, KC_PSLS, KC_PAST, KC_PMNS, - KC_F5, KC_F6, C(KC_M), C(KC_Z), C(KC_V), C(KC_X), KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LCBR, KC_RCBR, KC_BSPC, KC_CLEAR, C(KC_HOME),KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_F7, KC_F8, C(KC_A), KC_F12, MO(1), MODE, KC_PGUP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_QUOT, KC_ENT, KC_HOME, KC_PGDN, KC_P4, KC_P5, KC_P6, KC_AMPR, - KC_F9, KC_F10, TTY, G(KC_L), C(KC_HOME),KC_END, G(KC_DOT), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, G(KC_DOT), KC_UP, KC_LGUI, KC_P1, KC_P2, KC_P3, KC_EQL, - KC_F11, KC_F12, KC_HOME, C(KC_END), C(KC_LEFT),C(KC_RGHT),G(KC_DOWN),KC_HYPR, KC_LALT, KC_SPC, KC_RGUI, KC_HYPR, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_P0, KC_PDOT, KC_ENTER - ), - [1] = LAYOUT_modern( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/yiancardesigns/hyper7/v4/readme.md b/keyboards/yiancardesigns/hyper7/v4/readme.md deleted file mode 100644 index 264ee7d578..0000000000 --- a/keyboards/yiancardesigns/hyper7/v4/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# Hyper7 v4 - -This is a very big pcb... It supports VIA. - -* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) -* Hardware Supported: A very big keyboard with STM32F072RB -* Hardware Availability: https://mechboards.co.uk/ - -Make example for this keyboard (after setting up your build environment): - - make yiancardesigns/hyper7/v4:default - -Flashing example for this keyboard: - - make yiancardesigns/hyper7/v4: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 (3,0) in the matrix (F3) 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/ymdk/sp64/keymaps/default/keymap.c b/keyboards/ymdk/sp64/keymaps/default/keymap.c index fac693b1ad..dbdd6f0cb2 100644 --- a/keyboards/ymdk/sp64/keymaps/default/keymap.c +++ b/keyboards/ymdk/sp64/keymaps/default/keymap.c @@ -1,6 +1,3 @@ -// Copyright 2019 Neil Kettle -// SPDX-License-Identifier: GPL-2.0+ - #include QMK_KEYBOARD_H enum layer_names { diff --git a/keyboards/ymdk/sp64/matrix.c b/keyboards/ymdk/sp64/matrix.c index 97fdb87ecb..6f8c7962eb 100644 --- a/keyboards/ymdk/sp64/matrix.c +++ b/keyboards/ymdk/sp64/matrix.c @@ -40,129 +40,132 @@ static uint8_t mcp23018_reset_loop = 0; // user-defined overridable functions -__attribute__((weak)) void matrix_init_kb(void) { - matrix_init_user(); -} +__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); } -__attribute__((weak)) void matrix_scan_kb(void) { - matrix_scan_user(); -} +__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); } __attribute__((weak)) void matrix_init_user(void) {} __attribute__((weak)) void matrix_scan_user(void) {} // helper functions -void matrix_init(void) { - // all outputs for rows high - DDRB = 0xFF; - PORTB = 0xFF; - // all inputs for columns - DDRA = 0x00; - DDRC &= ~(0x111111 << 2); - DDRD &= ~(1 << PIND7); - // all columns are pulled-up - PORTA = 0xFF; - PORTC |= (0b111111 << 2); - PORTD |= (1 << PIND7); +void matrix_init(void) +{ + // all outputs for rows high + DDRB = 0xFF; + PORTB = 0xFF; + // all inputs for columns + DDRA = 0x00; + DDRC &= ~(0x111111<<2); + DDRD &= ~(1<= 1300) { - // since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans - // this will be approx bit more frequent than once per second - print("trying to reset mcp23018\n"); - mcp23018_status = init_mcp23018(); - if (mcp23018_status) { - print("left side not responding\n"); - } else { - print("left side attached\n"); - } - } + // Then the keyboard + if (mcp23018_status != I2C_STATUS_SUCCESS) { + if (++mcp23018_reset_loop == 0) { + // if (++mcp23018_reset_loop >= 1300) { + // since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans + // this will be approx bit more frequent than once per second + print("trying to reset mcp23018\n"); + mcp23018_status = init_mcp23018(); + if (mcp23018_status) { + print("left side not responding\n"); + } else { + print("left side attached\n"); + } } + } #endif - bool changed = false; - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - matrix_row_t cols; + bool changed = false; + for (uint8_t row = 0; row < MATRIX_ROWS; row++) + { + matrix_row_t cols; - matrix_select_row(row); + matrix_select_row(row); #ifndef RIGHT_HALF - _delay_us(5); + _delay_us(5); #endif - cols = ( - // cols 0..7, PORTA 0 -> 7 - (~PINA) & 0xFF); + cols = ( + // cols 0..7, PORTA 0 -> 7 + (~PINA) & 0xFF + ); #ifdef RIGHT_HALF - uint8_t data = 0x7F; - // Receive the columns from right half - i2c_receive(I2C_ADDR, &data, 1, MCP23018_I2C_TIMEOUT); - cols |= ((~(data) & 0x7F) << 7); + uint8_t data = 0x7F; + // Receive the columns from right half + i2c_receive(I2C_ADDR, &data, 1, MCP23018_I2C_TIMEOUT); + cols |= ((~(data) & 0x7F) << 7); #endif - if (matrix_debouncing[row] != cols) { - matrix_debouncing[row] = cols; - // debouncing = DEBOUNCE; - changed = true; - } + if (matrix_debouncing[row] != cols) { + matrix_debouncing[row] = cols; + //debouncing = DEBOUNCE; + changed = true; } + } - debounce(matrix_debouncing, matrix, changed); + debounce(matrix_debouncing, matrix, MATRIX_ROWS, changed); - matrix_scan_kb(); + matrix_scan_kb(); #ifdef DEBUG_MATRIX - for (uint8_t c = 0; c < MATRIX_COLS; c++) - for (uint8_t r = 0; r < MATRIX_ROWS; r++) - if (matrix_is_on(r, c)) xprintf("r:%d c:%d \n", r, c); + for (uint8_t c = 0; c < MATRIX_COLS; c++) + for (uint8_t r = 0; r < MATRIX_ROWS; r++) + if (matrix_is_on(r, c)) xprintf("r:%d c:%d \n", r, c); #endif - return (uint8_t)changed; + return (uint8_t)changed; } -inline matrix_row_t matrix_get_row(uint8_t row) { +inline +matrix_row_t matrix_get_row(uint8_t row) +{ return matrix[row]; } -void matrix_print(void) { - print("\nr/c 0123456789ABCDEF\n"); - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - print_hex8(row); - print(": "); - print_bin_reverse16(matrix_get_row(row)); - print("\n"); - } +void matrix_print(void) +{ + print("\nr/c 0123456789ABCDEF\n"); + for (uint8_t row = 0; row < MATRIX_ROWS; row++) { + print_hex8(row); print(": "); + print_bin_reverse16(matrix_get_row(row)); + print("\n"); + } } -static void matrix_select_row(uint8_t row) { +static void matrix_select_row(uint8_t row) +{ #ifdef RIGHT_HALF - uint8_t txdata[3]; + uint8_t txdata[3]; - // Set the remote row on port A - txdata[0] = GPIOA; - txdata[1] = 0xFF & ~(1 << row); - mcp23018_status = i2c_transmit(I2C_ADDR, (uint8_t *)txdata, 2, MCP23018_I2C_TIMEOUT); + //Set the remote row on port A + txdata[0] = GPIOA; + txdata[1] = 0xFF & ~(1<. + */ + +#include "quantum.h" + +#if defined(RGB_MATRIX_ENABLE) +led_config_t g_led_config = { + { + // Key Matrix to LED Index for center 2u + {11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, + {23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12}, + {35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24}, + {50, 49, 48, 47, 46, 43, 41, 40, 39, 38, 37, 36} + }, { + // LED Index to Physical Position, more positions due to extra leds for other layout options + { 0, 0}, { 20, 0}, { 40, 0}, {61, 0}, {81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0}, + { 0, 21}, { 20, 21}, { 40, 21}, {61, 21}, {81, 21}, {101, 21}, {122, 21}, {142, 21}, {162, 21}, {183, 21}, {203, 21}, {224, 21}, + { 0, 42}, { 20, 42}, { 40, 42}, {61, 42}, {81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42}, + { 0, 64}, { 20, 64}, { 40, 64}, {61, 64}, {81, 64}, {85, 64}, {94, 64}, {103, 64}, {112, 64}, {122, 64}, {142, 64}, {162, 64}, {183, 64}, {203, 64}, {224, 64} + + }, { + // LED Index to Flag + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 1 ,1 ,1, 1, 1, 1, 1, 1, 1, 1 + + } +}; +#endif diff --git a/keyboards/ymdk/ymd40/air40/keyboard.json b/keyboards/ymdk/ymd40/air40/keyboard.json index ea21557423..0adc965cc7 100644 --- a/keyboards/ymdk/ymd40/air40/keyboard.json +++ b/keyboards/ymdk/ymd40/air40/keyboard.json @@ -60,59 +60,6 @@ "solid_multisplash": true }, "driver": "ws2812", - "layout": [ - {"matrix": [0, 11], "x": 0, "y": 0, "flags": 1}, - {"matrix": [0, 10], "x": 20, "y": 0, "flags": 4}, - {"matrix": [0, 9], "x": 40, "y": 0, "flags": 4}, - {"matrix": [0, 8], "x": 61, "y": 0, "flags": 4}, - {"matrix": [0, 7], "x": 81, "y": 0, "flags": 4}, - {"matrix": [0, 6], "x": 101, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 122, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 142, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 162, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 183, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 203, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 224, "y": 0, "flags": 1}, - {"matrix": [1, 11], "x": 0, "y": 21, "flags": 1}, - {"matrix": [1, 10], "x": 20, "y": 21, "flags": 4}, - {"matrix": [1, 9], "x": 40, "y": 21, "flags": 4}, - {"matrix": [1, 8], "x": 61, "y": 21, "flags": 4}, - {"matrix": [1, 7], "x": 81, "y": 21, "flags": 4}, - {"matrix": [1, 6], "x": 101, "y": 21, "flags": 4}, - {"matrix": [1, 5], "x": 122, "y": 21, "flags": 4}, - {"matrix": [1, 4], "x": 142, "y": 21, "flags": 4}, - {"matrix": [1, 3], "x": 162, "y": 21, "flags": 4}, - {"matrix": [1, 2], "x": 183, "y": 21, "flags": 4}, - {"matrix": [1, 1], "x": 203, "y": 21, "flags": 4}, - {"matrix": [1, 0], "x": 224, "y": 21, "flags": 1}, - {"matrix": [2, 11], "x": 0, "y": 42, "flags": 1}, - {"matrix": [2, 10], "x": 20, "y": 42, "flags": 4}, - {"matrix": [2, 9], "x": 40, "y": 42, "flags": 4}, - {"matrix": [2, 8], "x": 61, "y": 42, "flags": 4}, - {"matrix": [2, 7], "x": 81, "y": 42, "flags": 4}, - {"matrix": [2, 6], "x": 101, "y": 42, "flags": 4}, - {"matrix": [2, 5], "x": 122, "y": 42, "flags": 4}, - {"matrix": [2, 4], "x": 142, "y": 42, "flags": 4}, - {"matrix": [2, 3], "x": 162, "y": 42, "flags": 4}, - {"matrix": [2, 2], "x": 183, "y": 42, "flags": 4}, - {"matrix": [2, 1], "x": 203, "y": 42, "flags": 4}, - {"matrix": [2, 0], "x": 224, "y": 42, "flags": 1}, - {"matrix": [3, 11], "x": 0, "y": 64, "flags": 1}, - {"matrix": [3, 10], "x": 20, "y": 64, "flags": 1}, - {"matrix": [3, 9], "x": 40, "y": 64, "flags": 1}, - {"matrix": [3, 8], "x": 61, "y": 64, "flags": 1}, - {"matrix": [3, 7], "x": 81, "y": 64, "flags": 1}, - {"matrix": [3, 6], "x": 85, "y": 64, "flags": 1}, - {"x": 94, "y": 64, "flags": 1}, - {"matrix": [3, 5], "x": 103, "y": 64, "flags": 1}, - {"x": 112, "y": 64, "flags": 1}, - {"x": 122, "y": 64, "flags": 1}, - {"matrix": [3, 4], "x": 142, "y": 64, "flags": 1}, - {"matrix": [3, 3], "x": 162, "y": 64, "flags": 1}, - {"matrix": [3, 2], "x": 183, "y": 64, "flags": 1}, - {"matrix": [3, 1], "x": 203, "y": 64, "flags": 1}, - {"matrix": [3, 0], "x": 224, "y": 64, "flags": 1} - ], "max_brightness": 130, "sleep": true }, diff --git a/keyboards/ymdk/ymd62/config.h b/keyboards/ymdk/ymd62/config.h index dfe035edf0..5f1f3f3a2a 100644 --- a/keyboards/ymdk/ymd62/config.h +++ b/keyboards/ymdk/ymd62/config.h @@ -8,4 +8,4 @@ #define WS2812_PWM_CHANNEL 4 #define WS2812_PWM_PAL_MODE 2 #define WS2812_DMA_STREAM STM32_DMA1_STREAM7 -#define WS2812_DMA_CHANNEL 7 +#define WS2812_DMA_CHANNEL 7 \ No newline at end of file diff --git a/keyboards/ymdk/ymd62/keymaps/default/keymap.c b/keyboards/ymdk/ymd62/keymaps/default/keymap.c index cbef3448ee..e5be1d7910 100644 --- a/keyboards/ymdk/ymd62/keymaps/default/keymap.c +++ b/keyboards/ymdk/ymd62/keymaps/default/keymap.c @@ -16,4 +16,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_TOGG, RM_NEXT, RM_PREV, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, RGB_M_P, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; +}; \ No newline at end of file diff --git a/keyboards/ymdk/ymd62/mcuconf.h b/keyboards/ymdk/ymd62/mcuconf.h index 4c28b523ec..3c07640371 100644 --- a/keyboards/ymdk/ymd62/mcuconf.h +++ b/keyboards/ymdk/ymd62/mcuconf.h @@ -6,4 +6,4 @@ #include_next #undef STM32_PWM_USE_TIM4 -#define STM32_PWM_USE_TIM4 TRUE +#define STM32_PWM_USE_TIM4 TRUE \ No newline at end of file diff --git a/keyboards/ymdk/ymd62/readme.md b/keyboards/ymdk/ymd62/readme.md index 5fc42487e7..73eeed3dbb 100644 --- a/keyboards/ymdk/ymd62/readme.md +++ b/keyboards/ymdk/ymd62/readme.md @@ -25,4 +25,4 @@ Enter the bootloader in 3 ways: * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available Note: The device does not reconnect automatically after the QMK firmware has been flashed. -Wait for the USB device to disappear after writing firmware, then unplug and re-plug it. +Wait for the USB device to disappear after writing firmware, then unplug and re-plug it. \ No newline at end of file diff --git a/keyboards/ymdk/ymd62/rules.mk b/keyboards/ymdk/ymd62/rules.mk index 6f0a3736a7..ef4364b06a 100644 --- a/keyboards/ymdk/ymd62/rules.mk +++ b/keyboards/ymdk/ymd62/rules.mk @@ -1,2 +1,2 @@ # Configure for 128K flash -MCU_LDSCRIPT = STM32F103xB +MCU_LDSCRIPT = STM32F103xB \ No newline at end of file diff --git a/keyboards/ploopyco/nano_2/keymaps/default/keymap.c b/keyboards/yncognito/batpad/batpad.c similarity index 66% rename from keyboards/ploopyco/nano_2/keymaps/default/keymap.c rename to keyboards/yncognito/batpad/batpad.c index 9fa7252a66..d5eef4246d 100644 --- a/keyboards/ploopyco/nano_2/keymaps/default/keymap.c +++ b/keyboards/yncognito/batpad/batpad.c @@ -1,7 +1,4 @@ -/* Copyright 2021 Colin Lam (Ploopy Corporation) - * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * Copyright 2019 Sunjun Kim - * Copyright 2019 Hiroyuki Okada +/* Copyright 2020 Yncognito * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,8 +13,23 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include QMK_KEYBOARD_H +#include "quantum.h" -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( DRAG_SCROLL ) + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config ={ + { + {4 ,5 ,6 ,7 }, + {0 ,1 ,2 ,3 } + }, + { + {0,0},{75,0},{145,0},{224,0}, + {0,64},{75,64},{145,64},{224,64} + }, + { + 0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04 + } }; + +#endif diff --git a/keyboards/yncognito/batpad/keyboard.json b/keyboards/yncognito/batpad/keyboard.json index 02e480ca22..3e62042a4e 100644 --- a/keyboards/yncognito/batpad/keyboard.json +++ b/keyboards/yncognito/batpad/keyboard.json @@ -60,16 +60,6 @@ "animation": "cycle_all" }, "driver": "ws2812", - "layout": [ - {"matrix": [1, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [1, 1], "x": 75, "y": 0, "flags": 4}, - {"matrix": [1, 2], "x": 145, "y": 0, "flags": 4}, - {"matrix": [1, 3], "x": 224, "y": 0, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [0, 1], "x": 75, "y": 64, "flags": 4}, - {"matrix": [0, 2], "x": 145, "y": 64, "flags": 4}, - {"matrix": [0, 3], "x": 224, "y": 64, "flags": 4} - ], "react_on_keyup": true }, "features": { diff --git a/keyboards/yushakobo/ergo68/readme.md b/keyboards/yushakobo/ergo68/readme.md index 09369eef56..863c747f77 100644 --- a/keyboards/yushakobo/ergo68/readme.md +++ b/keyboards/yushakobo/ergo68/readme.md @@ -24,4 +24,4 @@ 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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/yushakobo/quick17/keyboard.json b/keyboards/yushakobo/quick17/keyboard.json index 621bbf810a..627642a179 100644 --- a/keyboards/yushakobo/quick17/keyboard.json +++ b/keyboards/yushakobo/quick17/keyboard.json @@ -18,26 +18,6 @@ }, "rgb_matrix": { "driver": "ws2812", - "layout": [ - {"matrix": [1, 0], "x": 0, "y": 32, "flags": 4}, - {"matrix": [1, 1], "x": 44, "y": 32, "flags": 4}, - {"matrix": [2, 0], "x": 0, "y": 64, "flags": 4}, - {"matrix": [2, 1], "x": 44, "y": 64, "flags": 4}, - {"matrix": [2, 2], "x": 89, "y": 64, "flags": 4}, - {"matrix": [2, 3], "x": 134, "y": 64, "flags": 4}, - {"matrix": [2, 4], "x": 179, "y": 64, "flags": 4}, - {"matrix": [2, 5], "x": 224, "y": 64, "flags": 4}, - {"matrix": [1, 5], "x": 224, "y": 32, "flags": 4}, - {"matrix": [1, 4], "x": 179, "y": 32, "flags": 4}, - {"matrix": [1, 3], "x": 134, "y": 32, "flags": 4}, - {"matrix": [1, 2], "x": 89, "y": 32, "flags": 4}, - {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, - {"matrix": [0, 1], "x": 44, "y": 0, "flags": 4}, - {"matrix": [0, 2], "x": 89, "y": 0, "flags": 4}, - {"matrix": [0, 3], "x": 134, "y": 0, "flags": 4}, - {"matrix": [0, 4], "x": 179, "y": 0, "flags": 4}, - {"matrix": [0, 5], "x": 224, "y": 0, "flags": 4} - ], "max_brightness": 150, "sat_steps": 8, "sleep": true, diff --git a/keyboards/candykeys/candy87/candy87.c b/keyboards/yushakobo/quick17/quick17.c similarity index 58% rename from keyboards/candykeys/candy87/candy87.c rename to keyboards/yushakobo/quick17/quick17.c index 3452610bc2..d6fe84199b 100644 --- a/keyboards/candykeys/candy87/candy87.c +++ b/keyboards/yushakobo/quick17/quick17.c @@ -1,4 +1,4 @@ -/* Copyright 2024 RarePotato8DE +/* Copyright 2021 yushakobo * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,19 +16,22 @@ #include "quantum.h" -bool rgb_matrix_indicators_kb(void) { - if (!rgb_matrix_indicators_user()) { - return false; +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + {12, 13, 14, 15, 16, 17}, + {0, 1, 11, 10, 9, 8}, + {2, 3, 4, 5, 6, 7} + }, + { + {0,32}, {44,32}, {0,64}, {44,64}, {89,64}, {134,64}, + {179,64},{224,64},{224,32},{179,32},{134,32},{89,32}, + {0,0}, {44,0}, {89,0}, {134,0}, {179,0}, {224,0} + }, + { + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4 } - if (host_keyboard_led_state().scroll_lock) { - rgb_matrix_set_color(0, 0, 255, 0); - } else { - rgb_matrix_set_color(0, 0, 0, 0); - } - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(1, 0, 255, 0); - } else { - rgb_matrix_set_color(1, 0, 0, 0); - } - return false; -} +}; +#endif diff --git a/keyboards/yushakobo/quick7/keymaps/default/readme.md b/keyboards/yushakobo/quick7/keymaps/default/readme.md index faa75fdd17..644098edfa 100644 --- a/keyboards/yushakobo/quick7/keymaps/default/readme.md +++ b/keyboards/yushakobo/quick7/keymaps/default/readme.md @@ -22,4 +22,4 @@ Right Encoder(CW: RGB HUE-, CCW: RGB HUE+) ----------- --------- ------------ | MEDIA << | VOL- | MEDIA >> | `----------- --------- ------------' -``` +``` \ No newline at end of file diff --git a/keyboards/zeix/acidandco/stellaron/readme.md b/keyboards/zeix/acidandco/stellaron/readme.md index f07153035c..0b865aeee4 100644 --- a/keyboards/zeix/acidandco/stellaron/readme.md +++ b/keyboards/zeix/acidandco/stellaron/readme.md @@ -24,4 +24,4 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the top left key and plug in the keyboard. * **Physical reset button**: Briefly press the `RESET` button twice or short the `USB_BOOT` and `GND` pads and plug in the keyboard. -* **Keycode in layout**: Press the key mapped to `QK_BOOT`. +* **Keycode in layout**: Press the key mapped to `QK_BOOT`. \ No newline at end of file diff --git a/keyboards/zeix/eden/readme.md b/keyboards/zeix/eden/readme.md index af36d01fb0..85f1ff66de 100644 --- a/keyboards/zeix/eden/readme.md +++ b/keyboards/zeix/eden/readme.md @@ -24,4 +24,4 @@ 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 `RESET` button twice or short the `USB_BOOT` and `GND` pads and plug in the keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/zeix/qwertyqop60hs/readme.md b/keyboards/zeix/qwertyqop60hs/readme.md index 746f069f47..1a36951fd1 100644 --- a/keyboards/zeix/qwertyqop60hs/readme.md +++ b/keyboards/zeix/qwertyqop60hs/readme.md @@ -24,4 +24,4 @@ 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 'USB_BOOT' button and plug in keyboard or briefly short the `RESET` and `GND` pads on the SWD header twice -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/zigotica/z12/keymaps/default/config.h b/keyboards/zigotica/z12/keymaps/default/config.h index a199d94aee..1fcf924f35 100644 --- a/keyboards/zigotica/z12/keymaps/default/config.h +++ b/keyboards/zigotica/z12/keymaps/default/config.h @@ -16,6 +16,8 @@ along with this program. If not, see . #pragma once +#define OLED_DISPLAY_128X32 + // EC11 encoders' resolution. // Reduce the value to 2 if you feel missing values: #define ENCODER_RESOLUTION 4 diff --git a/keyboards/zj68/keymaps/default/readme.md b/keyboards/zj68/keymaps/default/readme.md index 6845f00f12..3522fe0229 100644 --- a/keyboards/zj68/keymaps/default/readme.md +++ b/keyboards/zj68/keymaps/default/readme.md @@ -1,3 +1,3 @@ # ZJ68 Default layout -This is the default layout from the json file provided on Drop, that was intended to be used on kbdfirmware, with an added soft reset on fn(backspace). +This is the default layout from the json file provided on Drop, that was intended to be used on kbdfirmware, with an added soft reset on fn(backspace). \ No newline at end of file diff --git a/keyboards/ztboards/after/readme.md b/keyboards/ztboards/after/readme.md index 7e89351fcb..6dc2bc783a 100644 --- a/keyboards/ztboards/after/readme.md +++ b/keyboards/ztboards/after/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): 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). -Esc + plugging in will put the keyboard into bootloader. +Esc + plugging in will put the keyboard into bootloader. \ No newline at end of file diff --git a/keyboards/ztboards/noon/readme.md b/keyboards/ztboards/noon/readme.md index b143e02de1..96b2bcd8de 100644 --- a/keyboards/ztboards/noon/readme.md +++ b/keyboards/ztboards/noon/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): 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). -Esc + plugging in will put the keyboard into bootloader. +Esc + plugging in will put the keyboard into bootloader. \ No newline at end of file diff --git a/keyboards/zvecr/split_blackpill/readme.md b/keyboards/zvecr/split_blackpill/readme.md index bdf8470b2a..811e308f77 100644 --- a/keyboards/zvecr/split_blackpill/readme.md +++ b/keyboards/zvecr/split_blackpill/readme.md @@ -12,4 +12,4 @@ Make example for this keyboard (after setting up your build environment): make zvecr/split_blackpill: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). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/zykrah/fuyu/fuyu.c b/keyboards/zykrah/fuyu/fuyu.c new file mode 100644 index 0000000000..ea1e048a64 --- /dev/null +++ b/keyboards/zykrah/fuyu/fuyu.c @@ -0,0 +1,46 @@ +/* +Copyright 2022 Zykrah + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + // Key Matrix to LED Index + {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, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED} + }, { + // LED Index to Physical Position + {112, 32}, {138, 17}, {112, 2}, { 86, 17}, { 86, 47}, {112, 62}, {138, 47}, // SNOWFLAKE + { 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}, {208, 0}, // UNDERGLOW + {208, 16}, {208, 32}, {208, 48}, // UNDERGLOW + {208, 64}, {192, 64}, {176, 64}, {160, 64}, {144, 64}, {128, 64}, {112, 64}, { 96, 64}, { 80, 64}, { 64, 64}, { 48, 64}, { 32, 64}, { 16, 64}, { 0, 64}, // UNDERGLOW + { 0, 48}, { 0, 32}, { 0, 16} // UNDERGLOW + }, { + // LED Index to Flag + 8, 8, 8, 8, 8, 8, 8, // SNOWFLAKE + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // UNDERGLOW + 2, 2, 2, // UNDERGLOW + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // UNDERGLOW + 2, 2, 2 // UNDERGLOW + } +}; +#endif diff --git a/keyboards/zykrah/fuyu/keyboard.json b/keyboards/zykrah/fuyu/keyboard.json index eafc92c1d2..db4236b698 100644 --- a/keyboards/zykrah/fuyu/keyboard.json +++ b/keyboards/zykrah/fuyu/keyboard.json @@ -60,49 +60,6 @@ "val": 150 }, "driver": "ws2812", - "layout": [ - {"x": 112, "y": 32, "flags": 8}, - {"x": 138, "y": 17, "flags": 8}, - {"x": 112, "y": 2, "flags": 8}, - {"x": 86, "y": 17, "flags": 8}, - {"x": 86, "y": 47, "flags": 8}, - {"x": 112, "y": 62, "flags": 8}, - {"x": 138, "y": 47, "flags": 8}, - {"x": 0, "y": 0, "flags": 2}, - {"x": 16, "y": 0, "flags": 2}, - {"x": 32, "y": 0, "flags": 2}, - {"x": 48, "y": 0, "flags": 2}, - {"x": 64, "y": 0, "flags": 2}, - {"x": 80, "y": 0, "flags": 2}, - {"x": 96, "y": 0, "flags": 2}, - {"x": 112, "y": 0, "flags": 2}, - {"x": 128, "y": 0, "flags": 2}, - {"x": 144, "y": 0, "flags": 2}, - {"x": 160, "y": 0, "flags": 2}, - {"x": 176, "y": 0, "flags": 2}, - {"x": 192, "y": 0, "flags": 2}, - {"x": 208, "y": 0, "flags": 2}, - {"x": 208, "y": 16, "flags": 2}, - {"x": 208, "y": 32, "flags": 2}, - {"x": 208, "y": 48, "flags": 2}, - {"x": 208, "y": 64, "flags": 2}, - {"x": 192, "y": 64, "flags": 2}, - {"x": 176, "y": 64, "flags": 2}, - {"x": 160, "y": 64, "flags": 2}, - {"x": 144, "y": 64, "flags": 2}, - {"x": 128, "y": 64, "flags": 2}, - {"x": 112, "y": 64, "flags": 2}, - {"x": 96, "y": 64, "flags": 2}, - {"x": 80, "y": 64, "flags": 2}, - {"x": 64, "y": 64, "flags": 2}, - {"x": 48, "y": 64, "flags": 2}, - {"x": 32, "y": 64, "flags": 2}, - {"x": 16, "y": 64, "flags": 2}, - {"x": 0, "y": 64, "flags": 2}, - {"x": 0, "y": 48, "flags": 2}, - {"x": 0, "y": 32, "flags": 2}, - {"x": 0, "y": 16, "flags": 2} - ], "max_brightness": 200 }, "ws2812": { diff --git a/lib/chibios b/lib/chibios index 6170ddf92d..8bd61b8043 160000 --- a/lib/chibios +++ b/lib/chibios @@ -1 +1 @@ -Subproject commit 6170ddf92d55be54c89b708d1882eea229edeb2c +Subproject commit 8bd61b804303f1614d574546c2dd735eeabb09f5 diff --git a/lib/chibios-contrib b/lib/chibios-contrib index 5a9ad82b6b..3ac181e4ca 160000 --- a/lib/chibios-contrib +++ b/lib/chibios-contrib @@ -1 +1 @@ -Subproject commit 5a9ad82b6ba4f649cdb800e8c2bbc9be2d3ce767 +Subproject commit 3ac181e4ca5cafddaf8b472baa1d09c2b24c77b6 diff --git a/lib/googletest b/lib/googletest index 6910c9d916..e2239ee604 160000 --- a/lib/googletest +++ b/lib/googletest @@ -1 +1 @@ -Subproject commit 6910c9d9165801d8827d628cb72eb7ea9dd538c5 +Subproject commit e2239ee6043f73722e7aa812a459f54a28552929 diff --git a/lib/python/qmk/build_targets.py b/lib/python/qmk/build_targets.py index 1d4f82c767..35a5f89f91 100644 --- a/lib/python/qmk/build_targets.py +++ b/lib/python/qmk/build_targets.py @@ -113,6 +113,9 @@ class BuildTarget: 'builddefs/build_keyboard.mk', ] + if not cli.config.general.verbose: + compile_args.append('-s') + verbose = 'true' if cli.config.general.verbose else 'false' color = 'true' if cli.config.general.color else 'false' diff --git a/lib/python/qmk/c_parse.py b/lib/python/qmk/c_parse.py index 8a186ea9d3..785b940456 100644 --- a/lib/python/qmk/c_parse.py +++ b/lib/python/qmk/c_parse.py @@ -45,7 +45,7 @@ def strip_multiline_comment(string): def c_source_files(dir_names): - """Returns a list of all *.c, *.h, *.cpp, and *.hpp files for a given list of directories + """Returns a list of all *.c, *.h, and *.cpp files for a given list of directories Args: @@ -54,7 +54,7 @@ def c_source_files(dir_names): """ files = [] for dir in dir_names: - files.extend(file for file in Path(dir).glob('**/*') if file.suffix in ['.c', '.h', '.cpp', '.hpp']) + files.extend(file for file in Path(dir).glob('**/*') if file.suffix in ['.c', '.h', '.cpp']) return files diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py index ef393cd1d6..26905ec134 100644 --- a/lib/python/qmk/cli/__init__.py +++ b/lib/python/qmk/cli/__init__.py @@ -3,8 +3,6 @@ We list each subcommand here explicitly because all the reliable ways of searching for modules are slow and delay startup. """ import os -import platform -import platformdirs import shlex import sys from importlib.util import find_spec @@ -14,28 +12,6 @@ from subprocess import run from milc import cli, __VERSION__ from milc.questions import yesno - -def _get_default_distrib_path(): - if 'windows' in platform.platform().lower(): - try: - result = cli.run(['cygpath', '-w', '/opt/qmk']) - if result.returncode == 0: - return result.stdout.strip() - except Exception: - pass - - return platformdirs.user_data_dir('qmk') - - -# Ensure the QMK distribution is on the `$PATH` if present. This must be kept in sync with qmk/qmk_cli. -QMK_DISTRIB_DIR = Path(os.environ['QMK_DISTRIB_DIR'] if 'QMK_DISTRIB_DIR' in os.environ else _get_default_distrib_path()) -if QMK_DISTRIB_DIR.exists(): - os.environ['PATH'] = str(QMK_DISTRIB_DIR / 'bin') + os.pathsep + os.environ['PATH'] - -# Prepend any user-defined path prefix -if 'QMK_PATH_PREFIX' in os.environ: - os.environ['PATH'] = os.environ['QMK_PATH_PREFIX'] + os.pathsep + os.environ['PATH'] - import_names = { # A mapping of package name to importable name 'pep8-naming': 'pep8ext_naming', @@ -56,7 +32,6 @@ safe_commands = [ subcommands = [ 'qmk.cli.ci.validate_aliases', - 'qmk.cli.ci.validate_keyboard_targets', 'qmk.cli.bux', 'qmk.cli.c2json', 'qmk.cli.cd', diff --git a/lib/python/qmk/cli/ci/validate_keyboard_targets.py b/lib/python/qmk/cli/ci/validate_keyboard_targets.py deleted file mode 100644 index 173eb8a8e7..0000000000 --- a/lib/python/qmk/cli/ci/validate_keyboard_targets.py +++ /dev/null @@ -1,28 +0,0 @@ -"""Validates the list of keyboard targets. -""" -from milc import cli - -from pathlib import Path - - -@cli.subcommand('Validates the list of keyboard targets.', hidden=True) -def ci_validate_keyboard_targets(cli): - errors = set() - - for rules_mk in Path('keyboards').glob('**/rules.mk'): - if any({'keymaps', 'common', 'lib'} & set(rules_mk.parts)): - continue - - folder = rules_mk.parent - if not any(folder.glob('**/keyboard.json')): - errors.add(folder) - - for keymap in Path('keyboards').glob('**/keymaps/'): - folder = keymap.parent - if not any(folder.glob('**/keyboard.json')): - errors.add(folder) - - for error in errors: - print(f"{error}::Legacy target detected") - - exit(min(len(errors), 255)) diff --git a/lib/python/qmk/cli/compile.py b/lib/python/qmk/cli/compile.py index a5a8f9f6d5..8d1195bc8f 100755 --- a/lib/python/qmk/cli/compile.py +++ b/lib/python/qmk/cli/compile.py @@ -41,7 +41,6 @@ def compile(cli): cli.args.filter = [] cli.config.mass_compile.keymap = cli.config.compile.keymap cli.config.mass_compile.parallel = cli.config.compile.parallel - cli.args.print_failures = False cli.args.no_temp = False return mass_compile(cli) @@ -52,7 +51,6 @@ def compile(cli): cli.args.filter = [] cli.config.mass_compile.keymap = None cli.config.mass_compile.parallel = cli.config.compile.parallel - cli.args.print_failures = False cli.args.no_temp = False return mass_compile(cli) diff --git a/lib/python/qmk/cli/doctor/check.py b/lib/python/qmk/cli/doctor/check.py index a717bcb591..51b0f0c80a 100644 --- a/lib/python/qmk/cli/doctor/check.py +++ b/lib/python/qmk/cli/doctor/check.py @@ -1,6 +1,7 @@ """Check for specific programs. """ from enum import Enum +import re import shutil from subprocess import DEVNULL, TimeoutExpired from tempfile import TemporaryDirectory @@ -8,7 +9,6 @@ from pathlib import Path from milc import cli from qmk import submodules -from qmk.commands import find_make class CheckStatus(Enum): @@ -17,13 +17,7 @@ class CheckStatus(Enum): ERROR = 3 -WHICH_MAKE = Path(find_make()).name - ESSENTIAL_BINARIES = { - WHICH_MAKE: {}, - 'git': {}, - 'dos2unix': {}, - 'diff': {}, 'dfu-programmer': {}, 'avrdude': {}, 'dfu-util': {}, @@ -36,39 +30,14 @@ ESSENTIAL_BINARIES = { } -def _check_make_version(): - last_line = ESSENTIAL_BINARIES[WHICH_MAKE]['output'].split('\n')[0] - version_number = last_line.split()[2] - cli.log.info('Found %s version %s', WHICH_MAKE, version_number) +def _parse_gcc_version(version): + m = re.match(r"(\d+)(?:\.(\d+))?(?:\.(\d+))?", version) - return CheckStatus.OK - - -def _check_git_version(): - last_line = ESSENTIAL_BINARIES['git']['output'].split('\n')[0] - version_number = last_line.split()[2] - cli.log.info('Found git version %s', version_number) - - return CheckStatus.OK - - -def _check_dos2unix_version(): - last_line = ESSENTIAL_BINARIES['dos2unix']['output'].split('\n')[0] - version_number = last_line.split()[1] - cli.log.info('Found dos2unix version %s', version_number) - - return CheckStatus.OK - - -def _check_diff_version(): - last_line = ESSENTIAL_BINARIES['diff']['output'].split('\n')[0] - if 'Apple diff' in last_line: - version_number = last_line - else: - version_number = last_line.split()[3] - cli.log.info('Found diff version %s', version_number) - - return CheckStatus.OK + return { + 'major': int(m.group(1)), + 'minor': int(m.group(2)) if m.group(2) else 0, + 'patch': int(m.group(3)) if m.group(3) else 0, + } def _check_arm_gcc_version(): @@ -152,10 +121,8 @@ def _check_avr_gcc_installation(): def _check_avrdude_version(): - lines = ESSENTIAL_BINARIES['avrdude']['output'].split('\n') - # avrdude version text is currently not translated, however we fall back to old behaviour of assuming a line - version_line = next((line for line in lines if 'version' in line), lines[-2]) - version_number = version_line.split()[2][:-1] + last_line = ESSENTIAL_BINARIES['avrdude']['output'].split('\n')[-2] + version_number = last_line.split()[2][:-1] cli.log.info('Found avrdude version %s', version_number) return CheckStatus.OK @@ -181,24 +148,16 @@ def check_binaries(): """Iterates through ESSENTIAL_BINARIES and tests them. """ ok = CheckStatus.OK - missing_from_path = [] for binary in sorted(ESSENTIAL_BINARIES): try: - if not is_in_path(binary): - ok = CheckStatus.ERROR - missing_from_path.append(binary) - elif not is_executable(binary): + if not is_executable(binary): ok = CheckStatus.ERROR except TimeoutExpired: cli.log.debug('Timeout checking %s', binary) if ok != CheckStatus.ERROR: ok = CheckStatus.WARNING - if missing_from_path: - location_noun = 'its location' if len(missing_from_path) == 1 else 'their locations' - cli.log.error('{fg_red}' + ', '.join(missing_from_path) + f' may need to be installed, or {location_noun} added to your path.') - return ok @@ -206,10 +165,6 @@ def check_binary_versions(): """Check the versions of ESSENTIAL_BINARIES """ checks = { - WHICH_MAKE: _check_make_version, - 'git': _check_git_version, - 'dos2unix': _check_dos2unix_version, - 'diff': _check_diff_version, 'arm-none-eabi-gcc': _check_arm_gcc_version, 'avr-gcc': _check_avr_gcc_version, 'avrdude': _check_avrdude_version, @@ -241,18 +196,15 @@ def check_submodules(): return CheckStatus.OK -def is_in_path(command): - """Returns True if command is found in the path. +def is_executable(command): + """Returns True if command exists and can be executed. """ - if shutil.which(command) is None: + # Make sure the command is in the path. + res = shutil.which(command) + if res is None: cli.log.error("{fg_red}Can't find %s in your path.", command) return False - return True - -def is_executable(command): - """Returns True if command can be executed. - """ # Make sure the command can be executed version_arg = ESSENTIAL_BINARIES[command].get('version_arg', '--version') check = cli.run([command, version_arg], combined_output=True, stdin=DEVNULL, timeout=5) diff --git a/lib/python/qmk/cli/doctor/linux.py b/lib/python/qmk/cli/doctor/linux.py index 25a166a77f..f0850d4e64 100644 --- a/lib/python/qmk/cli/doctor/linux.py +++ b/lib/python/qmk/cli/doctor/linux.py @@ -1,23 +1,62 @@ """OS-specific functions for: Linux """ import platform +import shutil from pathlib import Path from milc import cli -from qmk.constants import QMK_FIRMWARE +from qmk.constants import QMK_FIRMWARE, BOOTLOADER_VIDS_PIDS from .check import CheckStatus, release_info -QMK_UDEV_INSTALL_SCRIPT = 'util/install_udev.sh' - def _is_wsl(): return 'microsoft' in platform.uname().release.lower() +def _udev_rule(vid, pid=None, *args): + """ Helper function that return udev rules + """ + rule = "" + if pid: + rule = 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="%s", ATTRS{idProduct}=="%s", TAG+="uaccess"' % ( + vid, + pid, + ) + else: + rule = 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="%s", TAG+="uaccess"' % vid + if args: + rule = ', '.join([rule, *args]) + return rule + + +def _generate_desired_rules(bootloader_vids_pids): + rules = dict() + for bl in bootloader_vids_pids.keys(): + rules[bl] = set() + for vid_pid in bootloader_vids_pids[bl]: + if bl == 'caterina' or bl == 'md-boot': + rules[bl].add(_udev_rule(vid_pid[0], vid_pid[1], 'ENV{ID_MM_DEVICE_IGNORE}="1"')) + else: + rules[bl].add(_udev_rule(vid_pid[0], vid_pid[1])) + return rules + + +def _deprecated_udev_rule(vid, pid=None): + """ Helper function that return udev rules + + Note: these are no longer the recommended rules, this is just used to check for them + """ + if pid: + return 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="%s", ATTRS{idProduct}=="%s", MODE:="0666"' % (vid, pid) + else: + return 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="%s", MODE:="0666"' % vid + + def check_udev_rules(): """Make sure the udev rules look good. """ + rc = CheckStatus.OK udev_dirs = [ Path("/usr/lib/udev/rules.d/"), Path("/usr/local/lib/udev/rules.d/"), @@ -25,34 +64,71 @@ def check_udev_rules(): Path("/etc/udev/rules.d/"), ] - if not any(udev_dir.exists() for udev_dir in udev_dirs): - cli.log.warning("{fg_yellow}Can't find udev rules directories, skipping udev rule checking...") - cli.log.debug("Checked directories: %s", ', '.join(str(udev_dir) for udev_dir in udev_dirs)) - return CheckStatus.WARNING + desired_rules = _generate_desired_rules(BOOTLOADER_VIDS_PIDS) - # Collect all non-comment lines from QMK-related rules files - current_rules = set() - for udev_dir in udev_dirs: - for rule_file in udev_dir.glob('*qmk*'): + # These rules are no longer recommended, only use them to check for their presence. + deprecated_rules = { + 'atmel-dfu': {_deprecated_udev_rule("03eb", "2ff4"), _deprecated_udev_rule("03eb", "2ffb"), _deprecated_udev_rule("03eb", "2ff0")}, + 'kiibohd': {_deprecated_udev_rule("1c11")}, + 'stm32': {_deprecated_udev_rule("1eaf", "0003"), _deprecated_udev_rule("0483", "df11")}, + 'bootloadhid': {_deprecated_udev_rule("16c0", "05df")}, + 'caterina': {'ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"', 'ATTRS{idVendor}=="2341", ENV{ID_MM_DEVICE_IGNORE}="1"'}, + 'tmk': {_deprecated_udev_rule("feed")} + } + + if any(udev_dir.exists() for udev_dir in udev_dirs): + udev_rules = [rule_file for udev_dir in udev_dirs for rule_file in udev_dir.glob('*.rules')] + current_rules = set() + + # Collect all rules from the config files + for rule_file in udev_rules: try: for line in rule_file.read_text(encoding='utf-8').split('\n'): line = line.strip() if not line.startswith("#") and len(line): current_rules.add(line) - except (PermissionError, FileNotFoundError): + except PermissionError: cli.log.debug("Failed to read: %s", rule_file) - if not current_rules: - cli.log.warning("{fg_yellow}Missing udev rules for QMK boards. Please run '%s' to install the rules", QMK_UDEV_INSTALL_SCRIPT) - return CheckStatus.WARNING + # Check if the desired rules are among the currently present rules + for bootloader, rules in desired_rules.items(): + if not rules.issubset(current_rules): + deprecated_rule = deprecated_rules.get(bootloader) + if deprecated_rule and deprecated_rule.issubset(current_rules): + cli.log.warning("{fg_yellow}Found old, deprecated udev rules for '%s' boards. The new rules on https://docs.qmk.fm/#/faq_build?id=linux-udev-rules offer better security with the same functionality.", bootloader) + else: + # For caterina, check if ModemManager is running + if bootloader == "caterina" and check_modem_manager(): + cli.log.warning("{fg_yellow}Detected ModemManager without the necessary udev rules. Please either disable it or set the appropriate udev rules if you are using a Pro Micro.") - # Check for the qmk_udev ID_QMK marker - if any('ID_QMK' in rule for rule in current_rules): - return CheckStatus.OK + rc = CheckStatus.WARNING + cli.log.warning("{fg_yellow}Missing or outdated udev rules for '%s' boards. Run 'sudo cp %s/util/udev/50-qmk.rules /etc/udev/rules.d/'.", bootloader, QMK_FIRMWARE) - # Legacy rules found (TAG+="uaccess" without ID_QMK) - cli.log.warning("{fg_yellow}Found legacy udev rules. Please run '%s' to install the latest rules", QMK_UDEV_INSTALL_SCRIPT) - return CheckStatus.WARNING + else: + cli.log.warning("{fg_yellow}Can't find udev rules, skipping udev rule checking...") + cli.log.debug("Checked directories: %s", ', '.join(str(udev_dir) for udev_dir in udev_dirs)) + + return rc + + +def check_systemd(): + """Check if it's a systemd system + """ + return bool(shutil.which("systemctl")) + + +def check_modem_manager(): + """Returns True if ModemManager is running. + + """ + if check_systemd(): + mm_check = cli.run(["systemctl", "--quiet", "is-active", "ModemManager.service"], timeout=10) + if mm_check.returncode == 0: + return True + else: + """(TODO): Add check for non-systemd systems + """ + return False def os_test_linux(): diff --git a/lib/python/qmk/cli/doctor/main.py b/lib/python/qmk/cli/doctor/main.py index db6cf0383e..391353ebbf 100755 --- a/lib/python/qmk/cli/doctor/main.py +++ b/lib/python/qmk/cli/doctor/main.py @@ -3,6 +3,7 @@ Check out the user's QMK environment and make sure it's ready to compile. """ import platform +from subprocess import DEVNULL from milc import cli from milc.questions import yesno @@ -10,65 +11,11 @@ from milc.questions import yesno from qmk import submodules from qmk.constants import QMK_FIRMWARE, QMK_FIRMWARE_UPSTREAM, QMK_USERSPACE, HAS_QMK_USERSPACE from .check import CheckStatus, check_binaries, check_binary_versions, check_submodules -from qmk.git import git_check_repo, git_check_safe, git_get_branch, git_get_tag, git_get_last_log_entry, git_get_common_ancestor, git_is_dirty, git_get_remotes, git_check_deviation +from qmk.git import git_check_repo, git_get_branch, git_get_tag, git_get_last_log_entry, git_get_common_ancestor, git_is_dirty, git_get_remotes, git_check_deviation from qmk.commands import in_virtualenv from qmk.userspace import qmk_userspace_paths, qmk_userspace_validate, UserspaceValidationError -def distrib_tests(): - def _load_kvp_file(file): - """Load a simple key=value file into a dictionary - """ - vars = {} - with open(file, 'r') as f: - for line in f: - if '=' in line: - key, value = line.split('=', 1) - vars[key.strip()] = value.strip() - return vars - - def _parse_toolchain_release_file(file): - """Parse the QMK toolchain release info file - """ - try: - vars = _load_kvp_file(file) - return f'{vars.get("TOOLCHAIN_HOST", "unknown")}:{vars.get("TOOLCHAIN_TARGET", "unknown")}:{vars.get("COMMIT_HASH", "unknown")}' - except Exception as e: - cli.log.warning('Error reading QMK toolchain release info file: %s', e) - return f'Unknown toolchain release info file: {file}' - - def _parse_flashutils_release_file(file): - """Parse the QMK flashutils release info file - """ - try: - vars = _load_kvp_file(file) - return f'{vars.get("FLASHUTILS_HOST", "unknown")}:{vars.get("COMMIT_HASH", "unknown")}' - except Exception as e: - cli.log.warning('Error reading QMK flashutils release info file: %s', e) - return f'Unknown flashutils release info file: {file}' - - try: - from qmk.cli import QMK_DISTRIB_DIR - if (QMK_DISTRIB_DIR / 'etc').exists(): - cli.log.info('Found QMK tools distribution directory: {fg_cyan}%s', QMK_DISTRIB_DIR) - - toolchains = [_parse_toolchain_release_file(file) for file in (QMK_DISTRIB_DIR / 'etc').glob('toolchain_release_*')] - if len(toolchains) > 0: - cli.log.info('Found QMK toolchains: {fg_cyan}%s', ', '.join(toolchains)) - else: - cli.log.warning('No QMK toolchains manifest found.') - - flashutils = [_parse_flashutils_release_file(file) for file in (QMK_DISTRIB_DIR / 'etc').glob('flashutils_release_*')] - if len(flashutils) > 0: - cli.log.info('Found QMK flashutils: {fg_cyan}%s', ', '.join(flashutils)) - else: - cli.log.warning('No QMK flashutils manifest found.') - except ImportError: - cli.log.info('QMK tools distribution not found.') - - return CheckStatus.OK - - def os_tests(): """Determine our OS and run platform specific tests """ @@ -91,47 +38,39 @@ def os_tests(): def git_tests(): """Run Git-related checks """ + status = CheckStatus.OK + # Make sure our QMK home is a Git repo git_ok = git_check_repo() if not git_ok: cli.log.warning("{fg_yellow}QMK home does not appear to be a Git repository! (no .git folder)") - return CheckStatus.WARNING - - git_safe = git_check_safe() - if not git_safe: - cli.log.warning("{fg_yellow}Detected dubious ownership in repository!") - return CheckStatus.WARNING - - git_branch = git_get_branch() - if not git_branch: - cli.log.warning("{fg_yellow}Failed to query Git repository!") - return CheckStatus.WARNING - - cli.log.info('Git branch: %s', git_branch) - - repo_version = git_get_tag() - if repo_version: - cli.log.info('Repo version: %s', repo_version) - - status = CheckStatus.OK - git_dirty = git_is_dirty() - if git_dirty: - cli.log.warning('{fg_yellow}Git has unstashed/uncommitted changes.') - status = CheckStatus.WARNING - - git_remotes = git_get_remotes() - if 'upstream' not in git_remotes.keys() or QMK_FIRMWARE_UPSTREAM not in git_remotes['upstream'].get('url', ''): - cli.log.warning('{fg_yellow}The official repository does not seem to be configured as git remote "upstream".') status = CheckStatus.WARNING else: - git_deviation = git_check_deviation(git_branch) - if git_branch in ['master', 'develop'] and git_deviation: - cli.log.warning('{fg_yellow}The local "%s" branch contains commits not found in the upstream branch.', git_branch) - status = CheckStatus.WARNING - for branch in [git_branch, 'upstream/master', 'upstream/develop']: - cli.log.info('- Latest %s: %s', branch, git_get_last_log_entry(branch)) - for branch in ['upstream/master', 'upstream/develop']: - cli.log.info('- Common ancestor with %s: %s', branch, git_get_common_ancestor(branch, 'HEAD')) + git_branch = git_get_branch() + if git_branch: + cli.log.info('Git branch: %s', git_branch) + + repo_version = git_get_tag() + if repo_version: + cli.log.info('Repo version: %s', repo_version) + + git_dirty = git_is_dirty() + if git_dirty: + cli.log.warning('{fg_yellow}Git has unstashed/uncommitted changes.') + status = CheckStatus.WARNING + git_remotes = git_get_remotes() + if 'upstream' not in git_remotes.keys() or QMK_FIRMWARE_UPSTREAM not in git_remotes['upstream'].get('url', ''): + cli.log.warning('{fg_yellow}The official repository does not seem to be configured as git remote "upstream".') + status = CheckStatus.WARNING + else: + git_deviation = git_check_deviation(git_branch) + if git_branch in ['master', 'develop'] and git_deviation: + cli.log.warning('{fg_yellow}The local "%s" branch contains commits not found in the upstream branch.', git_branch) + status = CheckStatus.WARNING + for branch in [git_branch, 'upstream/master', 'upstream/develop']: + cli.log.info('- Latest %s: %s', branch, git_get_last_log_entry(branch)) + for branch in ['upstream/master', 'upstream/develop']: + cli.log.info('- Common ancestor with %s: %s', branch, git_get_common_ancestor(branch, 'HEAD')) return status @@ -148,12 +87,10 @@ def output_submodule_status(): sub_shorthash = sub_info['shorthash'] if 'shorthash' in sub_info else '' sub_describe = sub_info['describe'] if 'describe' in sub_info else '' sub_last_log_timestamp = sub_info['last_log_timestamp'] if 'last_log_timestamp' in sub_info else '' - if not git_check_safe(sub_name): - cli.log.error(f'- {sub_name}: <<< dubious ownership in repository >>>') - elif sub_last_log_timestamp == '': - cli.log.error(f'- {sub_name}: <<< missing or unknown >>>') - else: + if sub_last_log_timestamp != '': cli.log.info(f'- {sub_name}: {sub_last_log_timestamp} -- {sub_describe} ({sub_shorthash})') + else: + cli.log.error(f'- {sub_name}: <<< missing or unknown >>>') def userspace_tests(qmk_firmware): @@ -187,12 +124,10 @@ def doctor(cli): * [ ] Compile a trivial program with each compiler """ cli.log.info('QMK Doctor is checking your environment.') - cli.log.info('Python version: %s', platform.python_version()) cli.log.info('CLI version: %s', cli.version) cli.log.info('QMK home: {fg_cyan}%s', QMK_FIRMWARE) status = os_status = os_tests() - distrib_tests() userspace_tests(None) @@ -206,6 +141,12 @@ def doctor(cli): # Make sure the basic CLI tools we need are available and can be executed. bin_ok = check_binaries() + + if bin_ok == CheckStatus.ERROR: + if yesno('Would you like to install dependencies?', default=True): + cli.run(['util/qmk_install.sh', '-y'], stdin=DEVNULL, capture_output=False) + bin_ok = check_binaries() + if bin_ok == CheckStatus.OK: cli.log.info('All dependencies are installed.') elif bin_ok == CheckStatus.WARNING: @@ -222,6 +163,7 @@ def doctor(cli): # Check out the QMK submodules sub_ok = check_submodules() + if sub_ok == CheckStatus.OK: cli.log.info('Submodules are up to date.') else: @@ -244,7 +186,6 @@ def doctor(cli): cli.log.info('{fg_yellow}QMK is ready to go, but minor problems were found') return 1 else: - cli.log.info('{fg_red}Major problems detected, please fix these problems before proceeding.{fg_reset}') - cli.log.info('{fg_blue}If you\'re missing dependencies, try following the instructions on: https://docs.qmk.fm/newbs_getting_started{fg_reset}') - cli.log.info('{fg_blue}Additionally, check out the FAQ (https://docs.qmk.fm/#/faq_build) or join the QMK Discord (https://discord.gg/qmk) for help.{fg_reset}') + 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/qmk) for help.') return 2 diff --git a/lib/python/qmk/cli/format/c.py b/lib/python/qmk/cli/format/c.py index 4f1c0e2b2c..65818155b0 100644 --- a/lib/python/qmk/cli/format/c.py +++ b/lib/python/qmk/cli/format/c.py @@ -6,7 +6,7 @@ from subprocess import CalledProcessError, DEVNULL, Popen, PIPE from argcomplete.completers import FilesCompleter from milc import cli -from qmk.path import normpath, is_relative_to +from qmk.path import normpath from qmk.c_parse import c_source_files c_file_suffixes = ('c', 'h', 'cpp', 'hpp') @@ -14,6 +14,12 @@ core_dirs = ('drivers', 'quantum', 'tests', 'tmk_core', 'platforms', 'modules') ignored = ('tmk_core/protocol/usb_hid', 'platforms/chibios/boards') +def is_relative_to(file, other): + """Provide similar behavior to PurePath.is_relative_to in Python > 3.9 + """ + return str(normpath(file).resolve()).startswith(str(normpath(other).resolve())) + + def find_clang_format(): """Returns the path to clang-format. """ @@ -99,7 +105,7 @@ def format_c(cli): if not files: cli.log.error('No C files in filelist: %s', ', '.join(map(str, cli.args.files))) - return False + exit(0) if cli.args.all_files: cli.log.warning('Filenames passed with -a, only formatting: %s', ','.join(map(str, files))) diff --git a/lib/python/qmk/cli/format/python.py b/lib/python/qmk/cli/format/python.py index a455ce50c2..e7b545109f 100755 --- a/lib/python/qmk/cli/format/python.py +++ b/lib/python/qmk/cli/format/python.py @@ -47,7 +47,7 @@ def format_python(cli): if not files: cli.log.error('No Python files in filelist: %s', ', '.join(map(str, cli.args.files))) - return False + exit(0) if cli.args.all_files: cli.log.warning('Filenames passed with -a, only formatting: %s', ','.join(map(str, files))) diff --git a/lib/python/qmk/cli/format/text.py b/lib/python/qmk/cli/format/text.py index 861220eac8..344631081b 100644 --- a/lib/python/qmk/cli/format/text.py +++ b/lib/python/qmk/cli/format/text.py @@ -5,20 +5,7 @@ from subprocess import DEVNULL from milc import cli -from qmk.path import normpath, is_relative_to - -IGNORE_SUFFIXES = [ - 'hex', - 'ico', - 'jpeg', - 'jpg', - 'png', -] -IGNORE_DIRS = [ - 'lib/fnv', - 'lib/lib8tion', - 'lib/usbhost', -] +from qmk.path import normpath def _get_chunks(it, size): @@ -28,40 +15,16 @@ def _get_chunks(it, size): return iter(lambda: tuple(islice(it, size)), ()) -def _check_dos2unix(): - """Check for a 'valid' dos2unix executable - """ - dos2unix = cli.run(['dos2unix', '--help']) - return dos2unix.returncode == 0 and '--add-eol' in dos2unix.stdout - - def dos2unix_run(files): """Spawn multiple dos2unix subprocess avoiding too long commands on formatting everything """ for chunk in _get_chunks([normpath(file).as_posix() for file in files], 10): - dos2unix = cli.run(['dos2unix', '--add-eol', *chunk]) + dos2unix = cli.run(['dos2unix', *chunk]) if dos2unix.returncode: - cli.log.debug(dos2unix.stdout) - cli.log.error(dos2unix.stderr) return False -def filter_files(files): - """Yield only files to be formatted and skip the rest - """ - ret = [] - - for file in map(normpath, filter(None, files)): - if file.suffix[1:] in IGNORE_SUFFIXES: - continue - - if not any(is_relative_to(file, i) for i in IGNORE_DIRS): - ret.append(file) - - return ret - - @cli.argument('-b', '--base-branch', default='origin/master', help='Branch to compare to diffs to.') @cli.argument('-a', '--all-files', arg_only=True, action='store_true', help='Format all files.') @cli.argument('files', nargs='*', arg_only=True, type=normpath, help='Filename(s) to format.') @@ -69,17 +32,9 @@ def filter_files(files): def format_text(cli): """Ensure text files have the proper line endings. """ - if not _check_dos2unix(): - cli.log.error('Formatting requires an up-to-date version of "dos2unix"') - return False - # Find the list of files to format if cli.args.files: - files = filter_files(cli.args.files) - - if not files: - cli.log.error('No valid files in filelist: %s', ', '.join(map(str, cli.args.files))) - return False + files = list(cli.args.files) if cli.args.all_files: cli.log.warning('Filenames passed with -a, only formatting: %s', ','.join(map(str, files))) @@ -87,12 +42,12 @@ def format_text(cli): elif cli.args.all_files: git_ls_cmd = ['git', 'ls-files'] git_ls = cli.run(git_ls_cmd, stdin=DEVNULL) - files = filter_files(git_ls.stdout.split('\n')) + files = list(filter(None, git_ls.stdout.split('\n'))) else: git_diff_cmd = ['git', 'diff', '--name-only', cli.args.base_branch] git_diff = cli.run(git_diff_cmd, stdin=DEVNULL) - files = filter_files(git_diff.stdout.split('\n')) + files = list(filter(None, git_diff.stdout.split('\n'))) # Sanity check if not files: diff --git a/lib/python/qmk/cli/generate/autocorrect_data.py b/lib/python/qmk/cli/generate/autocorrect_data.py index 4f322adce2..01a29b46fe 100644 --- a/lib/python/qmk/cli/generate/autocorrect_data.py +++ b/lib/python/qmk/cli/generate/autocorrect_data.py @@ -250,8 +250,8 @@ def to_hex(b: int) -> str: @cli.argument('filename', type=normpath, help='The autocorrection database file') -@cli.argument('-kb', '--keyboard', type=keyboard_folder, completer=keyboard_completer, help='The keyboard to build a firmware for. Ignored when a output file is supplied.') -@cli.argument('-km', '--keymap', completer=keymap_completer, help='The keymap to build a firmware for. Ignored when a output file is supplied.') +@cli.argument('-kb', '--keyboard', type=keyboard_folder, 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('-o', '--output', arg_only=True, type=normpath, help='File to write to') @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") @cli.subcommand('Generate the autocorrection data file from a dictionary file.') @@ -263,7 +263,7 @@ def generate_autocorrect_data(cli): current_keyboard = cli.args.keyboard or cli.config.user.keyboard or cli.config.generate_autocorrect_data.keyboard current_keymap = cli.args.keymap or cli.config.user.keymap or cli.config.generate_autocorrect_data.keymap - if not cli.args.output and current_keyboard and current_keymap: + if current_keyboard and current_keymap: cli.args.output = locate_keymap(current_keyboard, current_keymap).parent / 'autocorrect_data.h' assert all(0 <= b <= 255 for b in data) diff --git a/lib/python/qmk/cli/generate/community_modules.py b/lib/python/qmk/cli/generate/community_modules.py index 22bb7c0a13..a5ab61f9bd 100644 --- a/lib/python/qmk/cli/generate/community_modules.py +++ b/lib/python/qmk/cli/generate/community_modules.py @@ -194,38 +194,6 @@ def generate_community_modules_rules_mk(cli): cli.log.info('Wrote rules.mk to %s.', cli.args.output) -@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') -@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") -@cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate community_config.h for.') -@cli.argument('filename', nargs='?', type=qmk.path.FileType('r'), arg_only=True, completer=FilesCompleter('.json'), help='Configurator JSON file') -@cli.subcommand('Creates a community_config.h from a keymap.json file.') -def generate_community_config_h(cli): - """Creates a community_config.h from a keymap.json file - """ - if cli.args.output and cli.args.output.name == '-': - cli.args.output = None - - lines = [ - GPL2_HEADER_C_LIKE, - GENERATED_HEADER_C_LIKE, - '#pragma once', - '', - ] - - modules = get_modules(cli.args.keyboard, cli.args.filename) - if len(modules) > 0: - lines.append('// Split transactions') - for module in modules: - lines.extend([ - f'#ifdef SPLIT_TRANSACTION_IDS_MODULE_{Path(module).name.upper()}', - '# define SPLIT_TRANSACTION_RPC', - '#endif', - ]) - lines.append('') - - dump_lines(cli.args.output, lines, cli.args.quiet, remove_repeated_newlines=True) - - @cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") @cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate community_modules.h for.') @@ -371,26 +339,3 @@ def generate_rgb_matrix_community_modules_inc(cli): """Creates an rgb_matrix_community_modules.inc from a keymap.json file """ _generate_include_per_module(cli, 'rgb_matrix_module.inc') - - -@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') -@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") -@cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate split_transaction_id_community_modules.inc for.') -@cli.argument('filename', nargs='?', type=qmk.path.FileType('r'), arg_only=True, completer=FilesCompleter('.json'), help='Configurator JSON file') -@cli.subcommand('Creates an split_transaction_id_community_modules.inc from a keymap.json file.') -def generate_split_transaction_id_community_modules_inc(cli): - """Creates an split_transaction_id_community_modules.inc from a keymap.json file - """ - if cli.args.output and cli.args.output.name == '-': - cli.args.output = None - - lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE] - - for module in get_modules(cli.args.keyboard, cli.args.filename): - lines.extend([ - f'#ifdef SPLIT_TRANSACTION_IDS_MODULE_{Path(module).name.upper()}', - f' SPLIT_TRANSACTION_IDS_MODULE_{Path(module).name.upper()},', - '#endif', - ]) - - dump_lines(cli.args.output, lines, cli.args.quiet, remove_repeated_newlines=True) diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index 4fd628f016..d6d0299291 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -14,14 +14,6 @@ from qmk.path import normpath, FileType from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE -def generate_flag(define, value=None): - # TODO: Change behavior to always use is_keymap logic for keyboard level config - is_keymap = cli.args.filename - if is_keymap: - return f'\n#define {define}' if value else f'\n#undef {define}' - return f'\n#define {define}' if value else '' - - def generate_define(define, value=None): is_keymap = cli.args.filename value = f' {value}' if value is not None else '' @@ -95,7 +87,7 @@ def generate_config_items(kb_info_json, config_h_lines): try: config_value = kb_info_json[info_key] - except (KeyError, IndexError): + except KeyError: continue if key_type.startswith('array.array'): @@ -105,7 +97,8 @@ def generate_config_items(kb_info_json, config_h_lines): elif key_type == 'bool': config_h_lines.append(generate_define(config_key, 'true' if config_value else 'false')) elif key_type == 'flag': - config_h_lines.append(generate_flag(config_key, config_value)) + if config_value: + config_h_lines.append(generate_define(config_key)) elif key_type == 'mapping': for key, value in config_value.items(): config_h_lines.append(generate_define(key, value)) @@ -132,12 +125,11 @@ def generate_encoder_config(encoder_json, config_h_lines, postfix=''): config_h_lines.append(generate_define(f'ENCODER_A_PINS{postfix}', f'{{ {", ".join(a_pads)} }}')) config_h_lines.append(generate_define(f'ENCODER_B_PINS{postfix}', f'{{ {", ".join(b_pads)} }}')) - if len(resolutions) == 0 or all(r is None for r in resolutions): + if None in resolutions: + cli.log.debug(f"Unable to generate ENCODER_RESOLUTION{postfix} configuration") + elif len(resolutions) == 0: cli.log.debug(f"Skipping ENCODER_RESOLUTION{postfix} configuration") - return - - resolutions = [4 if r is None else r for r in resolutions] - if len(set(resolutions)) == 1: + elif len(set(resolutions)) == 1: config_h_lines.append(generate_define(f'ENCODER_RESOLUTION{postfix}', resolutions[0])) else: config_h_lines.append(generate_define(f'ENCODER_RESOLUTIONS{postfix}', f'{{ {", ".join(map(str,resolutions))} }}')) @@ -167,7 +159,8 @@ def generate_led_animations_config(feature, led_feature_json, config_h_lines, en config_h_lines.append(generate_define(f'{feature.upper()}_DEFAULT_MODE', f'{animation_prefix}{led_feature_json["default"]["animation"].upper()}')) for animation in led_feature_json.get('animations', {}): - config_h_lines.append(generate_flag(f'{enable_prefix}{animation.upper()}', led_feature_json['animations'][animation])) + if led_feature_json['animations'][animation]: + config_h_lines.append(generate_define(f'{enable_prefix}{animation.upper()}')) @cli.argument('filename', nargs='?', arg_only=True, type=FileType('r'), completer=FilesCompleter('.json'), help='A configurator export JSON to be compiled and flashed or a pre-compiled binary firmware file (bin/hex) to be flashed.') diff --git a/lib/python/qmk/cli/generate/keycodes.py b/lib/python/qmk/cli/generate/keycodes.py index d694202aec..d686935fa8 100644 --- a/lib/python/qmk/cli/generate/keycodes.py +++ b/lib/python/qmk/cli/generate/keycodes.py @@ -92,15 +92,15 @@ def _generate_helpers(lines, keycodes): for group, codes in temp.items(): lo = keycodes["keycodes"][f'0x{codes[0]:04X}']['key'] hi = keycodes["keycodes"][f'0x{codes[1]:04X}']['key'] - lines.append(f'#define IS_{_translate_group(group).upper()}_KEYCODE(code) ((code) >= {lo} && (code) <= {hi})') + lines.append(f'#define IS_{ _translate_group(group).upper() }_KEYCODE(code) ((code) >= {lo} && (code) <= {hi})') lines.append('') lines.append('// Switch statement Helpers') for group, codes in temp.items(): lo = keycodes["keycodes"][f'0x{codes[0]:04X}']['key'] hi = keycodes["keycodes"][f'0x{codes[1]:04X}']['key'] - name = f'{_translate_group(group).upper()}_KEYCODE_RANGE' - lines.append(f'#define {name.ljust(35)} {lo} ... {hi}') + name = f'{ _translate_group(group).upper() }_KEYCODE_RANGE' + lines.append(f'#define { name.ljust(35) } {lo} ... {hi}') def _generate_aliases(lines, keycodes): diff --git a/lib/python/qmk/cli/generate/keymap_h.py b/lib/python/qmk/cli/generate/keymap_h.py index 10be16391a..a3aaa405c0 100644 --- a/lib/python/qmk/cli/generate/keymap_h.py +++ b/lib/python/qmk/cli/generate/keymap_h.py @@ -43,13 +43,6 @@ def generate_keymap_h(cli): keymap_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '// clang-format off'] - # Allow a potential keymap level keymap.h for items like user defined keycode aliases used within a keymap.json keymap - keymap_h_lines += [ - '#if __has_include_next("keymap.h")', - '# include_next "keymap.h"', - '#endif', - ] - keymap_json = parse_configurator_json(cli.args.filename) if 'keycodes' in keymap_json and keymap_json['keycodes'] is not None: diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py index 4a1085c588..358a22fd1d 100755 --- a/lib/python/qmk/cli/generate/rules_mk.py +++ b/lib/python/qmk/cli/generate/rules_mk.py @@ -31,7 +31,7 @@ def process_mapping_rule(kb_info_json, rules_key, info_dict): try: rules_value = kb_info_json[info_key] - except (KeyError, IndexError): + except KeyError: return None if key_type in ['array', 'list']: @@ -96,10 +96,11 @@ def generate_rules_mk(cli): rules_mk_lines.append(generate_rule('SPLIT_TRANSPORT', 'custom')) # Set CUSTOM_MATRIX, if needed - if kb_info_json.get('matrix_pins', {}).get('custom_lite'): - rules_mk_lines.append(generate_rule('CUSTOM_MATRIX', 'lite')) - elif kb_info_json.get('matrix_pins', {}).get('custom'): - rules_mk_lines.append(generate_rule('CUSTOM_MATRIX', 'yes')) + if kb_info_json.get('matrix_pins', {}).get('custom'): + if kb_info_json.get('matrix_pins', {}).get('custom_lite'): + rules_mk_lines.append(generate_rule('CUSTOM_MATRIX', 'lite')) + else: + rules_mk_lines.append(generate_rule('CUSTOM_MATRIX', 'yes')) if converter: rules_mk_lines.append(generate_rule('CONVERT_TO', converter)) diff --git a/lib/python/qmk/cli/generate/version_h.py b/lib/python/qmk/cli/generate/version_h.py index d32b9d00ca..fd87df3617 100644 --- a/lib/python/qmk/cli/generate/version_h.py +++ b/lib/python/qmk/cli/generate/version_h.py @@ -1,17 +1,13 @@ """Used by the make system to generate version.h for use in code. """ from time import strftime -from pathlib import Path from milc import cli -from qmk.constants import QMK_USERSPACE, HAS_QMK_USERSPACE - from qmk.path import normpath from qmk.commands import dump_lines from qmk.git import git_get_qmk_hash, git_get_version, git_is_dirty from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE -from qmk.util import triplet_to_bcd TIME_FMT = '%Y-%m-%d-%H:%M:%S' @@ -36,21 +32,14 @@ def generate_version_h(cli): git_dirty = False git_version = "NA" git_qmk_hash = "NA" - git_bcd_version = "0x00000000" chibios_version = "NA" chibios_contrib_version = "NA" - userspace_version = "NA" else: git_dirty = git_is_dirty() git_version = git_get_version() or current_time git_qmk_hash = git_get_qmk_hash() or "Unknown" - git_bcd_version = triplet_to_bcd(git_version) - chibios_version = git_get_version(Path('lib') / "chibios", "os") or current_time - chibios_contrib_version = git_get_version(Path('lib') / "chibios-contrib") or current_time - if HAS_QMK_USERSPACE: - userspace_version = git_get_version(Path(QMK_USERSPACE).resolve()) or current_time - else: - userspace_version = "None" + chibios_version = git_get_version("chibios", "os") or current_time + chibios_contrib_version = git_get_version("chibios-contrib", "os") or current_time # Build the version.h file. version_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once'] @@ -59,11 +48,9 @@ def generate_version_h(cli): f""" #define QMK_VERSION "{git_version}" #define QMK_BUILDDATE "{current_time}" -#define QMK_VERSION_BCD {git_bcd_version} #define QMK_GIT_HASH "{git_qmk_hash}{'*' if git_dirty else ''}" #define CHIBIOS_VERSION "{chibios_version}" #define CHIBIOS_CONTRIB_VERSION "{chibios_contrib_version}" -#define QMK_USERSPACE_VERSION "{userspace_version}" """ ) diff --git a/lib/python/qmk/cli/info.py b/lib/python/qmk/cli/info.py index f13e4e91cc..26f7f0269d 100755 --- a/lib/python/qmk/cli/info.py +++ b/lib/python/qmk/cli/info.py @@ -24,6 +24,7 @@ def _strip_api_content(info_json): info_json.pop('platform_key', None) info_json.pop('processor_type', None) info_json.pop('protocol', None) + info_json.pop('config_h_features', None) info_json.pop('keymaps', None) info_json.pop('keyboard_folder', None) info_json.pop('parse_errors', None) diff --git a/lib/python/qmk/cli/lint.py b/lib/python/qmk/cli/lint.py index f9f40e74a8..484ddb5bd9 100644 --- a/lib/python/qmk/cli/lint.py +++ b/lib/python/qmk/cli/lint.py @@ -8,7 +8,7 @@ from milc import cli from qmk.decorators import automagic_keyboard, automagic_keymap from qmk.info import info_json from qmk.keyboard import keyboard_completer, keyboard_folder_or_all, is_all_keyboards, list_keyboards -from qmk.keymap import locate_keymap, list_keymaps, is_valid_keymap_name +from qmk.keymap import locate_keymap, list_keymaps from qmk.path import keyboard from qmk.git import git_get_ignored_files from qmk.c_parse import c_source_files, preprocess_c_file @@ -22,10 +22,15 @@ INVALID_KM_NAMES = ['via', 'vial'] def _list_defaultish_keymaps(kb): """Return default like keymaps for a given keyboard """ - keymaps = set(list_keymaps(kb, include_userspace=False, include_community=False)) + defaultish = ['ansi', 'iso'] - # Ensure that at least a 'default' keymap always exists - keymaps.add('default') + # This is only here to flag it as "testable", so it doesn't fly under the radar during PR + defaultish.extend(INVALID_KM_NAMES) + + keymaps = set() + for x in list_keymaps(kb, include_userspace=False): + if x in defaultish or x.startswith('default'): + keymaps.add(x) return keymaps @@ -168,6 +173,14 @@ def _handle_invalid_features(kb, info): return ok +def _handle_invalid_config(kb, info): + """Check for invalid keyboard level config + """ + if info.get('url') == "": + cli.log.warning(f'{kb}: Invalid keyboard level config detected - Optional field "url" should not be empty.') + return True + + def _chibios_conf_includenext_check(target): """Check the ChibiOS conf.h for the correct inclusion of the next conf.h """ @@ -221,35 +234,29 @@ def _handle_duplicating_code_defaults(kb, info): defaults_map = json_load(Path('data/mappings/info_defaults.hjson')) dotty_info = dotty(info) - ok = True - for key, v_default in _collect_dotted_output(defaults_map): v_info = dotty_info.get(key) if v_default == v_info: - cli.log.error(f'{kb}: Option "{key}" duplicates default value of "{v_default}"') - ok = False + cli.log.warning(f'{kb}: Option "{key}" duplicates default value of "{v_default}"') - return ok + return True def keymap_check(kb, km): """Perform the keymap level checks. """ + ok = True keymap_path = locate_keymap(kb, km) if not keymap_path: + ok = False cli.log.error("%s: Can't find %s keymap.", kb, km) - return False + return ok if km in INVALID_KM_NAMES: - cli.log.error("%s: The keymap %s should not exist!", kb, km) - return False - - ok = True - - if not is_valid_keymap_name(km): - cli.log.error(f'{kb}/{km}: Keymap name must contain only a-z, 0-9 and _!') ok = False + cli.log.error("%s: The keymap %s should not exist!", kb, km) + return ok # Additional checks invalid_files = git_get_ignored_files(keymap_path.parent.as_posix()) @@ -284,6 +291,9 @@ def keyboard_check(kb): # noqa C901 if not _handle_invalid_features(kb, kb_info): ok = False + if not _handle_invalid_config(kb, kb_info): + ok = False + if not _handle_duplicating_code_defaults(kb, kb_info): ok = False @@ -294,10 +304,6 @@ def keyboard_check(kb): # noqa C901 cli.log.error(f'{kb}: The file "{file}" should not exist!') ok = False - if not _get_readme_files(kb): - cli.log.error(f'{kb}: Is missing a readme.md file!') - ok = False - for file in _get_readme_files(kb): if _is_invalid_readme(file): cli.log.error(f'{kb}: The file "{file}" still contains template tokens!') @@ -350,11 +356,6 @@ def lint(cli): cli.print_help() return False - # milc config handling of user.keymap breaks running lint without keymap argument - # so we have to disable that while still allowing a default to be set with lint.keymap - if 'keymap' not in cli.config_source.lint.keys() and cli.config.lint.keymap: - cli.config.lint.keymap = None - if isinstance(cli.config.lint.keyboard, str): # if provided via config - string not array keyboard_list = [cli.config.lint.keyboard] @@ -370,12 +371,12 @@ def lint(cli): # Determine keymaps to also check if cli.args.keymap == 'all': keymaps = list_keymaps(kb) - elif cli.args.keymap: - keymaps = {cli.args.keymap} elif cli.config.lint.keymap: keymaps = {cli.config.lint.keymap} else: keymaps = _list_defaultish_keymaps(kb) + # Ensure that at least a 'default' keymap always exists + keymaps.add('default') ok = True diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py index 732d778e7a..e71280f482 100755 --- a/lib/python/qmk/cli/mass_compile.py +++ b/lib/python/qmk/cli/mass_compile.py @@ -23,7 +23,7 @@ def mass_compile_targets(targets: List[BuildTarget], clean: bool, dry_run: bool, os.environ.setdefault('SKIP_SCHEMA_VALIDATION', '1') make_cmd = find_make() - builddir = Path(env.get("BUILD_DIR")) if env.get("BUILD_DIR") is not None else Path(QMK_FIRMWARE) / '.build' + builddir = Path(QMK_FIRMWARE) / '.build' makefile = builddir / 'parallel_kb_builds.mk' if dry_run: @@ -71,8 +71,8 @@ print_failures: all_targets command = target.compile_command(**env) command[0] = '+@$(MAKE)' # Override the make so that we can use jobserver to handle parallelism extra_args = '_'.join([f"{k}_{v}" for k, v in target.extra_args.items()]) - build_log = f"{builddir}/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" - failed_log = f"{builddir}/failed.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" + 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}" @@ -101,9 +101,9 @@ all_targets: {target_filename}{target_suffix}_binary # yapf: disable f.write( f"""\ - @rm -rf "{builddir}/{target_filename}.elf" 2>/dev/null || true - @rm -rf "{builddir}/{target_filename}.map" 2>/dev/null || true - @rm -rf "{builddir}/obj_{target_filename}" || 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 diff --git a/lib/python/qmk/cli/new/keyboard.py b/lib/python/qmk/cli/new/keyboard.py index dd1d06e189..bd02acf9c8 100644 --- a/lib/python/qmk/cli/new/keyboard.py +++ b/lib/python/qmk/cli/new/keyboard.py @@ -184,10 +184,7 @@ def prompt_dev_board(): prompt_heading_subheading("Select Development Board", """For more information, see: https://docs.qmk.fm/compatible_microcontrollers""") - filtered_dev_boards = dev_boards.copy() - filtered_dev_boards.append("none of the above") - - return choice("Development Board?", filtered_dev_boards, default=len(filtered_dev_boards) - 1) + return choice("Development Board?", dev_boards, default=dev_boards.index("promicro")) def prompt_mcu(): @@ -225,14 +222,10 @@ def new_keyboard(cli): real_name = cli.args.realname or cli.config.new_keyboard.name if cli.args.realname or cli.config.new_keyboard.name else prompt_name(user_name) default_layout = cli.args.layout if cli.args.layout else prompt_layout() - mcu = None if cli.args.type: mcu = cli.args.type else: - if prompt_mcu_type(): - mcu = prompt_dev_board() - if not mcu or mcu == "none of the above": - mcu = prompt_mcu() + mcu = prompt_dev_board() if prompt_mcu_type() else prompt_mcu() config = {} if mcu in dev_boards: diff --git a/lib/python/qmk/cli/new/keymap.py b/lib/python/qmk/cli/new/keymap.py index 2c088aa903..4d19a726a4 100755 --- a/lib/python/qmk/cli/new/keymap.py +++ b/lib/python/qmk/cli/new/keymap.py @@ -57,13 +57,7 @@ def prompt_keyboard(): If you're unsure you can view a full list of supported keyboards with {fg_yellow}qmk list-keyboards{style_reset_all}. Keyboard Name? """ - kb_name = question(prompt) - - try: - # Resolve any keyboard alias - return keyboard_folder(kb_name) - except ValueError: - return None + return question(prompt) def prompt_user(): @@ -111,7 +105,9 @@ def new_keymap(cli): converter = cli.config.new_keymap.converter if cli.args.skip_converter or cli.config.new_keymap.converter else prompt_converter(kb_name) # check directories - if not is_keyboard(kb_name): + try: + kb_name = keyboard_folder(kb_name) + except ValueError: cli.log.error(f'Keyboard {{fg_cyan}}{kb_name}{{fg_reset}} does not exist! Please choose a valid name.') return False @@ -130,7 +126,7 @@ def new_keymap(cli): return False if not validate_keymap_name(user_name): - cli.log.error(f'Keymap name {{fg_cyan}}{user_name}{{fg_reset}} must contain only {{fg_cyan}}a-z{{fg_reset}}, {{fg_cyan}}0-9{{fg_reset}} and {{fg_cyan}}_{{fg_reset}}! Please choose a different name.') + cli.log.error('Keymap names must contain only {fg_cyan}a-z{fg_reset}, {fg_cyan}0-9{fg_reset} and {fg_cyan}_{fg_reset}! Please choose a different name.') return False if keymap_path_new.exists(): diff --git a/lib/python/qmk/cli/userspace/add.py b/lib/python/qmk/cli/userspace/add.py index eea70efb95..0d6f32cd11 100644 --- a/lib/python/qmk/cli/userspace/add.py +++ b/lib/python/qmk/cli/userspace/add.py @@ -47,7 +47,6 @@ def userspace_add(cli): from qmk.cli.new.keymap import new_keymap cli.config.new_keymap.keyboard = cli.args.keyboard cli.config.new_keymap.keymap = cli.args.keymap - cli.args.skip_converter = True if new_keymap(cli) is not False: userspace.add_target(keyboard=cli.args.keyboard, keymap=cli.args.keymap, build_env=build_env) else: diff --git a/lib/python/qmk/cli/userspace/doctor.py b/lib/python/qmk/cli/userspace/doctor.py index 7c016e5a2f..2b7e29aa7e 100644 --- a/lib/python/qmk/cli/userspace/doctor.py +++ b/lib/python/qmk/cli/userspace/doctor.py @@ -2,12 +2,10 @@ # SPDX-License-Identifier: GPL-2.0-or-later from milc import cli -from qmk.constants import QMK_FIRMWARE, HAS_QMK_USERSPACE +from qmk.constants import QMK_FIRMWARE from qmk.cli.doctor.main import userspace_tests @cli.subcommand('Checks userspace configuration.') def userspace_doctor(cli): userspace_tests(QMK_FIRMWARE) - - return 0 if HAS_QMK_USERSPACE else 1 diff --git a/lib/python/qmk/flashers.py b/lib/python/qmk/flashers.py index 2705bb7d5b..22d9133d65 100644 --- a/lib/python/qmk/flashers.py +++ b/lib/python/qmk/flashers.py @@ -136,10 +136,6 @@ def _find_serial_port(vid, pid): return None -def _flash_bootloadhid(file): - cli.run(['bootloadHID', '-r', file], capture_output=False) - - def _flash_caterina(details, file): port = _find_serial_port(details[0], details[1]) if port: @@ -157,12 +153,11 @@ def _flash_atmel_dfu(mcu, file): def _flash_hid_bootloader(mcu, details, file): - cmd = None if details == 'halfkay': - if shutil.which('teensy_loader_cli'): - cmd = 'teensy_loader_cli' - elif shutil.which('teensy-loader-cli'): + if shutil.which('teensy-loader-cli'): cmd = 'teensy-loader-cli' + elif shutil.which('teensy_loader_cli'): + cmd = 'teensy_loader_cli' # Use 'hid_bootloader_cli' for QMK HID and as a fallback for HalfKay if not cmd: @@ -222,8 +217,6 @@ def flasher(mcu, file): time.sleep(1) if bl == 'atmel-dfu': _flash_atmel_dfu(details, file) - elif bl == 'bootloadhid': - _flash_bootloadhid(file) elif bl == 'caterina': if _flash_caterina(details, file): return (True, "The Caterina bootloader was found but is not writable. Check 'qmk doctor' output for advice.") diff --git a/lib/python/qmk/git.py b/lib/python/qmk/git.py index f61e0bdb47..9d567475d8 100644 --- a/lib/python/qmk/git.py +++ b/lib/python/qmk/git.py @@ -13,6 +13,9 @@ def git_get_version(repo_dir='.', check_dir='.'): """ git_describe_cmd = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags'] + if repo_dir != '.': + repo_dir = Path('lib') / repo_dir + if check_dir != '.': check_dir = repo_dir / check_dir @@ -24,7 +27,7 @@ def git_get_version(repo_dir='.', check_dir='.'): else: cli.log.warning(f'"{" ".join(git_describe_cmd)}" returned error code {git_describe.returncode}') - cli.log.warning(git_describe.stderr) + print(git_describe.stderr) return None return None @@ -118,18 +121,6 @@ def git_check_repo(): return dot_git_dir.is_dir() -def git_check_safe(repo_dir='.'): - """Checks if a directory passes the git safe.directory checks - """ - if repo_dir != '.': - git_cmd = ['git', '-C', repo_dir, 'status'] - else: - git_cmd = ['git', 'status'] - - status = cli.run(git_cmd) - return '--add safe.directory' not in status.stderr - - def git_check_deviation(active_branch): """Return True if branch has custom commits """ diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 44fed0843c..f63228b2bc 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -5,7 +5,6 @@ import os from pathlib import Path import jsonschema from dotty_dict import dotty -from enum import IntFlag from milc import cli @@ -15,20 +14,11 @@ from qmk.json_schema import deep_update, json_load, validate 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_ops import compute +from qmk.math import compute from qmk.util import maybe_exit, truthy -TRUE_VALUES = ['true', '1', 'on', 'yes'] -FALSE_VALUES = ['false', '0', 'off', 'no'] - - -class LedFlags(IntFlag): - ALL = 0xFF - NONE = 0x00 - MODIFIER = 0x01 - UNDERGLOW = 0x02 - KEYLIGHT = 0x04 - INDICATOR = 0x08 +true_values = ['1', 'on', 'yes'] +false_values = ['0', 'off', 'no'] def _keyboard_in_layout_name(keyboard, layout): @@ -211,32 +201,6 @@ def _validate_encoders(keyboard, info_data): _log_error(info_data, f'Layout "{layout_name}" contains {reason} encoder index {encoder_index}.') -def _validate_bootmagic(keyboard, info_data): - """Non schema checks - """ - # bootmagic matrix indexes must be in range - rows = info_data.get('matrix_size', {}).get('rows', 0) - cols = info_data.get('matrix_size', {}).get('cols', 0) - - bootmagic_row, bootmagic_col = info_data.get('bootmagic', {}).get('matrix', [0, 0]) - bootmagic_right_row, bootmagic_right_col = info_data.get('split', {}).get('bootmagic', {}).get('matrix', [rows // 2, cols - 1]) - - if not info_data.get('split', {}).get('enabled', False): - if bootmagic_row >= rows: - _log_error(info_data, f'Bootmagic row ({bootmagic_row}) must be in the range 0-{rows - 1}') - if bootmagic_col >= cols: - _log_error(info_data, f'Bootmagic col ({bootmagic_col}) must be in the range 0-{cols - 1}') - else: - if bootmagic_row >= rows // 2: - _log_error(info_data, f'Bootmagic left row ({bootmagic_row}) must be in the range 0-{rows // 2 - 1}') - if bootmagic_col >= cols: - _log_error(info_data, f'Bootmagic left col ({bootmagic_col}) must be in the range 0-{cols - 1}') - if bootmagic_right_row < rows // 2 or bootmagic_right_row >= rows: - _log_error(info_data, f'Bootmagic right row ({bootmagic_right_row}) must be in the range {rows // 2}-{rows - 1}') - if bootmagic_right_col >= cols: - _log_error(info_data, f'Bootmagic right col ({bootmagic_right_col}) must be in the range 0-{cols - 1}') - - def _validate(keyboard, info_data): """Perform various validation on the provided info.json data """ @@ -249,7 +213,6 @@ def _validate(keyboard, info_data): _validate_layouts(keyboard, info_data) _validate_keycodes(keyboard, info_data) _validate_encoders(keyboard, info_data) - _validate_bootmagic(keyboard, info_data) except jsonschema.ValidationError as e: json_path = '.'.join([str(p) for p in e.absolute_path]) @@ -319,11 +282,14 @@ def _extract_features(info_data, rules): for key, value in rules.items(): if key.endswith('_ENABLE'): key = '_'.join(key.split('_')[:-1]).lower() - value = True if value.lower() in TRUE_VALUES else False if value.lower() in FALSE_VALUES else value + value = True if value.lower() in true_values else False if value.lower() in false_values else value if key in ['lto']: continue + if 'config_h_features' not in info_data: + info_data['config_h_features'] = {} + if 'features' not in info_data: info_data['features'] = {} @@ -331,24 +297,7 @@ def _extract_features(info_data, rules): _log_warning(info_data, 'Feature %s is specified in both info.json (%s) and rules.mk (%s). The rules.mk value wins.' % (key, info_data['features'], value)) info_data['features'][key] = value - - return info_data - - -def _extract_matrix_rules(info_data, rules): - """Find all the features enabled in rules.mk. - """ - if rules.get('CUSTOM_MATRIX', 'no') != 'no': - if 'matrix_pins' in info_data and 'custom' in info_data['matrix_pins']: - _log_warning(info_data, 'Custom Matrix is specified in both info.json and rules.mk, the rules.mk values win.') - - if 'matrix_pins' not in info_data: - info_data['matrix_pins'] = {} - - if rules['CUSTOM_MATRIX'] == 'lite': - info_data['matrix_pins']['custom_lite'] = True - else: - info_data['matrix_pins']['custom'] = True + info_data['config_h_features'][key] = value return info_data @@ -420,6 +369,19 @@ def _extract_direct_matrix(direct_pins): return direct_pin_array +def _extract_audio(info_data, config_c): + """Populate data about the audio configuration + """ + audio_pins = [] + + for pin in 'B5', 'B6', 'B7', 'C4', 'C5', 'C6': + if config_c.get(f'{pin}_AUDIO'): + audio_pins.append(pin) + + if audio_pins: + info_data['audio'] = {'pins': audio_pins} + + def _extract_encoders_values(config_c, postfix=''): """Common encoder extraction logic """ @@ -590,6 +552,7 @@ def _extract_matrix_info(info_data, config_c): row_pins = config_c.get('MATRIX_ROW_PINS', '').replace('{', '').replace('}', '').strip() col_pins = config_c.get('MATRIX_COL_PINS', '').replace('{', '').replace('}', '').strip() direct_pins = config_c.get('DIRECT_PINS', '').replace(' ', '')[1:-1] + info_snippet = {} if 'MATRIX_ROWS' in config_c and 'MATRIX_COLS' in config_c: if 'matrix_size' in info_data: @@ -604,20 +567,26 @@ def _extract_matrix_info(info_data, config_c): if 'matrix_pins' in info_data and 'cols' in info_data['matrix_pins'] and 'rows' in info_data['matrix_pins']: _log_warning(info_data, 'Matrix pins are specified in both info.json and config.h, the config.h values win.') - if 'matrix_pins' not in info_data: - info_data['matrix_pins'] = {} - - info_data['matrix_pins']['cols'] = _extract_pins(col_pins) - info_data['matrix_pins']['rows'] = _extract_pins(row_pins) + info_snippet['cols'] = _extract_pins(col_pins) + info_snippet['rows'] = _extract_pins(row_pins) if direct_pins: if 'matrix_pins' in info_data and 'direct' in info_data['matrix_pins']: _log_warning(info_data, 'Direct pins are specified in both info.json and config.h, the config.h values win.') - if 'matrix_pins' not in info_data: - info_data['matrix_pins'] = {} + info_snippet['direct'] = _extract_direct_matrix(direct_pins) - info_data['matrix_pins']['direct'] = _extract_direct_matrix(direct_pins) + if config_c.get('CUSTOM_MATRIX', 'no') != 'no': + if 'matrix_pins' in info_data and 'custom' in info_data['matrix_pins']: + _log_warning(info_data, 'Custom Matrix is specified in both info.json and config.h, the config.h values win.') + + info_snippet['custom'] = True + + if config_c['CUSTOM_MATRIX'] == 'lite': + info_snippet['custom_lite'] = True + + if info_snippet: + info_data['matrix_pins'] = info_snippet return info_data @@ -644,7 +613,7 @@ def _config_to_json(key_type, config_value): elif key_type in ['bool', 'flag']: if isinstance(config_value, bool): return config_value - return config_value in TRUE_VALUES + return config_value in true_values elif key_type == 'hex': return '0x' + config_value[2:].upper() @@ -705,6 +674,7 @@ def _extract_config_h(info_data, config_c): # Pull data that easily can't be mapped in json _extract_matrix_info(info_data, config_c) + _extract_audio(info_data, config_c) _extract_secure_unlock(info_data, config_c) _extract_split_handedness(info_data, config_c) _extract_split_serial(info_data, config_c) @@ -785,7 +755,6 @@ def _extract_rules_mk(info_data, rules): # Merge in config values that can't be easily mapped _extract_features(info_data, rules) - _extract_matrix_rules(info_data, rules) return info_data @@ -831,25 +800,6 @@ def _extract_led_config(info_data, keyboard): if info_data[feature].get('layout', None) and not info_data[feature].get('led_count', None): info_data[feature]['led_count'] = len(info_data[feature]['layout']) - if info_data[feature].get('layout', None) and not info_data[feature].get('flag_steps', None): - flags = {LedFlags.ALL, LedFlags.NONE} - default_flags = {LedFlags.MODIFIER | LedFlags.KEYLIGHT, LedFlags.UNDERGLOW} - - # if only a single flag is used, assume only all+none flags - kb_flags = set(x.get('flags', LedFlags.NONE) for x in info_data[feature]['layout']) - if len(kb_flags) > 1: - # check if any part of LED flag is with the defaults - unique_flags = set() - for candidate in default_flags: - if any(candidate & flag for flag in kb_flags): - unique_flags.add(candidate) - - # if we still have a single flag, assume only all+none - if len(unique_flags) > 1: - flags.update(unique_flags) - - info_data[feature]['flag_steps'] = sorted([int(flag) for flag in flags], reverse=True) - return info_data @@ -1137,17 +1087,4 @@ def get_modules(keyboard, keymap_filename): if keymap_json: modules.extend(keymap_json.get('modules', [])) - # remove duplicates while maintaining the current order - ret = list(dict.fromkeys(modules)) - - # We currently do not support duplicate module names - # e.g.: ['foo/hello_world', 'bar/hello_world'] will fail - seen = set() - for module in ret: - module_slug = Path(module).name.lower() - if module_slug in seen: - duplicates = list(filter(lambda m: module_slug == Path(m).name.lower(), ret)) - raise Exception(f'Duplicate module name detected: "{module_slug}" - {duplicates}') - seen.add(module_slug) - - return ret + return list(dict.fromkeys(modules)) # remove dupes diff --git a/lib/python/qmk/json_encoders.py b/lib/python/qmk/json_encoders.py index 6bad820a76..e8bcf48996 100755 --- a/lib/python/qmk/json_encoders.py +++ b/lib/python/qmk/json_encoders.py @@ -178,9 +178,9 @@ class KeymapJSONEncoder(QMKJSONEncoder): else: layer[-1].append(f'"{key}"') - layer = [f"{self.indent_str * indent_level}{', '.join(row)}" for row in layer] + layer = [f"{self.indent_str*indent_level}{', '.join(row)}" for row in layer] - return f"{self.indent_str}[\n{newline.join(layer)}\n{self.indent_str * self.indentation_level}]" + return f"{self.indent_str}[\n{newline.join(layer)}\n{self.indent_str*self.indentation_level}]" elif self.primitives_only(obj): return "[" + ", ".join(self.encode(element) for element in obj) + "]" diff --git a/lib/python/qmk/keyboard.py b/lib/python/qmk/keyboard.py index e8534492c9..254dc62309 100644 --- a/lib/python/qmk/keyboard.py +++ b/lib/python/qmk/keyboard.py @@ -175,9 +175,8 @@ def keyboard_completer(prefix, action, parser, parsed_args): return list_keyboards() -@lru_cache(maxsize=None) def list_keyboards(): - """Returns a list of all keyboards. + """Returns a list of all keyboards """ # We avoid pathlib here because this is performance critical code. kb_wildcard = os.path.join(base_path, "**", 'keyboard.json') @@ -185,9 +184,6 @@ def list_keyboards(): found = map(_find_name, paths) - # Convert to posix paths for consistency - found = map(lambda x: str(Path(x).as_posix()), found) - return sorted(set(found)) diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py index fa8f5df5f9..4cf07f59d6 100644 --- a/lib/python/qmk/keymap.py +++ b/lib/python/qmk/keymap.py @@ -1,7 +1,7 @@ """Functions that help you work with QMK keymaps. """ +import json import sys -import re from pathlib import Path from subprocess import DEVNULL @@ -32,7 +32,6 @@ __INCLUDES__ __KEYMAP_GOES_HERE__ __ENCODER_MAP_GOES_HERE__ -__DIP_SWITCH_MAP_GOES_HERE__ __MACRO_OUTPUT_GOES_HERE__ #ifdef OTHER_KEYMAP_C @@ -67,19 +66,6 @@ def _generate_encodermap_table(keymap_json): return lines -def _generate_dipswitchmap_table(keymap_json): - lines = [ - '#if defined(DIP_SWITCH_ENABLE) && defined(DIP_SWITCH_MAP_ENABLE)', - 'const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = {', - ] - for index, switch in enumerate(keymap_json['dip_switches']): - if index != 0: - lines[-1] = lines[-1] + ',' - lines.append(f' DIP_SWITCH_OFF_ON({_strip_any(switch["off"])}, {_strip_any(switch["on"])})') - lines.extend(['};', '#endif // defined(DIP_SWITCH_ENABLE) && defined(DIP_SWITCH_MAP_ENABLE)']) - return lines - - def _generate_macros_function(keymap_json): macro_txt = [ 'bool process_record_user(uint16_t keycode, keyrecord_t *record) {', @@ -240,13 +226,6 @@ def is_keymap_dir(keymap, c=True, json=True, additional_files=None): return True -def is_valid_keymap_name(name): - """Returns True if the given keymap name contains only valid characters. - """ - regex = re.compile(r'^[a-z0-9][a-z0-9_]+$') - return bool(regex.match(name)) - - def generate_json(keymap, keyboard, layout, layers, macros=None): """Returns a `keymap.json` for the specified keyboard, layout, and layers. @@ -307,12 +286,6 @@ def generate_c(keymap_json): encodermap = '\n'.join(encoder_txt) new_keymap = new_keymap.replace('__ENCODER_MAP_GOES_HERE__', encodermap) - dipswitchmap = '' - if 'dip_switches' in keymap_json and keymap_json['dip_switches'] is not None: - dip_txt = _generate_dipswitchmap_table(keymap_json) - dipswitchmap = '\n'.join(dip_txt) - new_keymap = new_keymap.replace('__DIP_SWITCH_MAP_GOES_HERE__', dipswitchmap) - macros = '' if 'macros' in keymap_json and keymap_json['macros'] is not None: macro_txt = _generate_macros_function(keymap_json) @@ -327,6 +300,40 @@ def generate_c(keymap_json): return new_keymap +def write_file(keymap_filename, keymap_content): + keymap_filename.parent.mkdir(parents=True, exist_ok=True) + keymap_filename.write_text(keymap_content) + + cli.log.info('Wrote keymap to {fg_cyan}%s', keymap_filename) + + return keymap_filename + + +def write_json(keyboard, keymap, layout, layers, macros=None): + """Generate the `keymap.json` and write it to disk. + + Returns the filename written to. + + Args: + keyboard + The name of the keyboard + + keymap + The name of the keymap + + layout + The LAYOUT macro this keymap uses. + + layers + An array of arrays describing the keymap. Each item in the inner array should be a string that is a valid QMK keycode. + """ + keymap_json = generate_json(keyboard, keymap, layout, layers, macros=None) + keymap_content = json.dumps(keymap_json) + keymap_file = qmk.path.keymaps(keyboard)[0] / keymap / 'keymap.json' + + return write_file(keymap_file, keymap_content) + + def locate_keymap(keyboard, keymap, force_layout=None): """Returns the path to a keymap for a specific keyboard. """ @@ -389,7 +396,7 @@ def is_keymap_target(keyboard, keymap): return False -def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=False, include_userspace=True, include_community=True): +def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=False, include_userspace=True): """List the available keymaps for a keyboard. Args: @@ -411,9 +418,6 @@ def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=Fa include_userspace When set to True, also search userspace for available keymaps - include_community - When set to True, also search community layouts folder for available keymaps - Returns: a sorted list of valid keymap names. """ @@ -437,22 +441,21 @@ def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=Fa kb_path = kb_path.parent - if include_community: - # Check community layouts as a fallback - info = info_json(keyboard) + # Check community layouts as a fallback + info = info_json(keyboard) - community_parents = list(Path('layouts').glob('*/')) - if has_userspace and (Path(QMK_USERSPACE) / "layouts").exists(): - community_parents.append(Path(QMK_USERSPACE) / "layouts") + community_parents = list(Path('layouts').glob('*/')) + if has_userspace and (Path(QMK_USERSPACE) / "layouts").exists(): + community_parents.append(Path(QMK_USERSPACE) / "layouts") - for community_parent in community_parents: - for layout in info.get("community_layouts", []): - cl_path = community_parent / layout - if cl_path.is_dir(): - for keymap in cl_path.iterdir(): - if is_keymap_dir(keymap, c, json, additional_files): - keymap = keymap if fullpath else keymap.name - names.add(keymap) + for community_parent in community_parents: + for layout in info.get("community_layouts", []): + cl_path = community_parent / layout + if cl_path.is_dir(): + for keymap in cl_path.iterdir(): + if is_keymap_dir(keymap, c, json, additional_files): + keymap = keymap if fullpath else keymap.name + names.add(keymap) return sorted(names) diff --git a/lib/python/qmk/math_ops.py b/lib/python/qmk/math.py similarity index 92% rename from lib/python/qmk/math_ops.py rename to lib/python/qmk/math.py index 1f14b18f4e..88dc4a300c 100644 --- a/lib/python/qmk/math_ops.py +++ b/lib/python/qmk/math.py @@ -23,8 +23,8 @@ def compute(expr): def _eval(node): - if isinstance(node, ast.Constant): # - return node.value + if isinstance(node, ast.Num): # + return node.n elif isinstance(node, ast.BinOp): # return operators[type(node.op)](_eval(node.left), _eval(node.right)) elif isinstance(node, ast.UnaryOp): # e.g., -1 diff --git a/lib/python/qmk/painter.py b/lib/python/qmk/painter.py index 1a07f7442c..ed0372c163 100644 --- a/lib/python/qmk/painter.py +++ b/lib/python/qmk/painter.py @@ -129,7 +129,7 @@ def _render_image_metadata(metadata): px = size["width"] * size["height"] # FIXME: May need need more chars here too - deltas.append(f"// Frame {i:3d}: ({l:3d}, {t:3d}) - ({r:3d}, {b:3d}) >> {delta_px:4d}/{px:4d} pixels ({100 * delta_px / px:.2f}%)") + deltas.append(f"// Frame {i:3d}: ({l:3d}, {t:3d}) - ({r:3d}, {b:3d}) >> {delta_px:4d}/{px:4d} pixels ({100*delta_px/px:.2f}%)") if deltas: lines.append("// Areas on delta frames") diff --git a/lib/python/qmk/path.py b/lib/python/qmk/path.py index 3a8fdce1e8..1739689adf 100644 --- a/lib/python/qmk/path.py +++ b/lib/python/qmk/path.py @@ -144,12 +144,6 @@ def normpath(path): return Path(os.environ['ORIG_CWD']) / path -def is_relative_to(file, other): - """Provide normpath behavior to Path.is_relative_to - """ - return normpath(file).is_relative_to(normpath(other)) - - def unix_style_path(path): """Converts a Windows-style path with drive letter to a Unix path. @@ -183,17 +177,5 @@ class FileType(argparse.FileType): """normalize and check exists otherwise magic strings like '-' for stdin resolve to bad paths """ - # TODO: This should not return both Path and TextIOWrapper as consumers - # assume that they can call Path.as_posix without checking type - - # Handle absolute paths and relative paths to CWD norm = normpath(string) - if norm.exists(): - return norm - - # Handle relative paths to QMK_HOME - relative = Path(string) - if relative.exists(): - return relative - - return super().__call__(string) + return norm if norm.exists() else super().__call__(string) diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index 2716459989..dd659fe0f2 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -159,7 +159,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - #ifdef OTHER_KEYMAP_C # include OTHER_KEYMAP_C #endif // OTHER_KEYMAP_C @@ -197,7 +196,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - #ifdef OTHER_KEYMAP_C # include OTHER_KEYMAP_C #endif // OTHER_KEYMAP_C diff --git a/lib/python/qmk/tests/test_qmk_keymap.py b/lib/python/qmk/tests/test_qmk_keymap.py index 818560e861..80cc679b00 100644 --- a/lib/python/qmk/tests/test_qmk_keymap.py +++ b/lib/python/qmk/tests/test_qmk_keymap.py @@ -27,7 +27,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - #ifdef OTHER_KEYMAP_C # include OTHER_KEYMAP_C #endif // OTHER_KEYMAP_C @@ -42,3 +41,6 @@ def test_generate_json_pytest_basic(): def test_parse_keymap_c(): parsed_keymap_c = qmk.keymap.parse_keymap_c('keyboards/handwired/pytest/basic/keymaps/default/keymap.c') assert parsed_keymap_c == {'layers': [{'name': '0', 'layout': 'LAYOUT_ortho_1x1', 'keycodes': ['KC_A']}]} + + +# FIXME(skullydazed): Add a test for qmk.keymap.write that mocks up an FD. diff --git a/lib/python/qmk/util.py b/lib/python/qmk/util.py index 6da684a577..8f99410e1d 100644 --- a/lib/python/qmk/util.py +++ b/lib/python/qmk/util.py @@ -3,12 +3,9 @@ import contextlib import multiprocessing import sys -import re from milc import cli -TRIPLET_PATTERN = re.compile(r'^(\d+)\.(\d+)\.(\d+)') - maybe_exit_should_exit = True maybe_exit_reraise = False @@ -99,10 +96,3 @@ def parallel_map(*args, **kwargs): # before the results are returned. Returning a list ensures results are # materialised before any worker pool is shut down. return list(map_fn(*args, **kwargs)) - - -def triplet_to_bcd(ver: str): - m = TRIPLET_PATTERN.match(ver) - if not m: - return '0x00000000' - return f'0x{int(m.group(1)):02d}{int(m.group(2)):02d}{int(m.group(3)):04d}' diff --git a/modules/qmk/split_data_sync/config.h b/modules/qmk/split_data_sync/config.h deleted file mode 100644 index 22a8505489..0000000000 --- a/modules/qmk/split_data_sync/config.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2026 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define SPLIT_TRANSACTION_IDS_MODULE_SPLIT_DATA_SYNC EXAMPLE_MODULE_SYNC_A diff --git a/modules/qmk/split_data_sync/qmk_module.json b/modules/qmk/split_data_sync/qmk_module.json deleted file mode 100644 index 286cf29248..0000000000 --- a/modules/qmk/split_data_sync/qmk_module.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "module_name": "Example split data sync", - "maintainer": "QMK Maintainers", - "license": "GPL-2.0-or-later" -} diff --git a/modules/qmk/split_data_sync/split_data_sync.c b/modules/qmk/split_data_sync/split_data_sync.c deleted file mode 100644 index 4b70f7808a..0000000000 --- a/modules/qmk/split_data_sync/split_data_sync.c +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2026 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#include "debug.h" -#include "timer.h" -#include "transactions.h" -#include "community_modules.h" - -ASSERT_COMMUNITY_MODULES_MIN_API_VERSION(1, 1, 2); - -typedef struct _master_to_slave_t { - int m2s_data; -} master_to_slave_t; - -typedef struct _slave_to_master_t { - int s2m_data; -} slave_to_master_t; - -static void module_sync_slave_handler(uint8_t in_buflen, const void *in_data, uint8_t out_buflen, void *out_data) { - const master_to_slave_t *m2s = (const master_to_slave_t *)in_data; - slave_to_master_t *s2m = (slave_to_master_t *)out_data; - s2m->s2m_data = m2s->m2s_data + 5; // whatever comes in, add 5 so it can be sent back -} - -void keyboard_post_init_split_data_sync(void) { - transaction_register_rpc(EXAMPLE_MODULE_SYNC_A, module_sync_slave_handler); -} - -void housekeeping_task_split_data_sync(void) { - if (is_keyboard_master()) { - // Interact with slave every 500ms - static uint32_t last_sync = 0; - if (timer_elapsed32(last_sync) > 500) { - master_to_slave_t m2s = {6}; - slave_to_master_t s2m = {0}; - if (transaction_rpc_exec(EXAMPLE_MODULE_SYNC_A, sizeof(m2s), &m2s, sizeof(s2m), &s2m)) { - last_sync = timer_read32(); - dprintf("Slave value: %d\n", s2m.s2m_data); // this will now be 11, as the slave adds 5 - } else { - dprint("Slave sync failed!\n"); - } - } - } -} diff --git a/platforms/avr/_print.h b/platforms/avr/_print.h index 7a6ff65d42..bf8247c2f3 100644 --- a/platforms/avr/_print.h +++ b/platforms/avr/_print.h @@ -24,9 +24,3 @@ #pragma once #include "avr/xprintf.h" - -// TODO: Remove xprintf due to conflicts/assumptions on direct library usage -#undef xprintf - -// Export main print function -#define print_printf(fmt, ...) __xprintf(PSTR(fmt), ##__VA_ARGS__) diff --git a/platforms/avr/bootloaders/dfu.c b/platforms/avr/bootloaders/dfu.c index 0e9975e80b..dbbb5f4ab6 100644 --- a/platforms/avr/bootloaders/dfu.c +++ b/platforms/avr/bootloaders/dfu.c @@ -23,7 +23,7 @@ /** \brief Entering the Bootloader via Software * - * https://github.com/abcminiuser/lufa/blob/master/LUFA/DoxygenPages/SoftwareBootloaderJump.txt + * http://www.fourwalledcubicle.com/files/LUFA/Doc/120730/html/_page__software_bootloader_start.html */ #define BOOTLOADER_RESET_KEY 0xB007B007 uint32_t reset_key __attribute__((section(".noinit,\"aw\",@nobits;"))); diff --git a/platforms/avr/drivers/analog.c b/platforms/avr/drivers/analog.c index b2cb97223c..a68c6a371d 100644 --- a/platforms/avr/drivers/analog.c +++ b/platforms/avr/drivers/analog.c @@ -96,7 +96,7 @@ int16_t adc_read(uint8_t mux) { #if defined(MUX4) ADMUX = aref | (mux & (_BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0))); #else - ADMUX = aref | (mux & (_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0))); + ADMUX = aref | (mux & (_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0))); #endif // Start the conversion diff --git a/platforms/avr/drivers/glcdfont.c b/platforms/avr/drivers/glcdfont.c new file mode 100644 index 0000000000..57a21965de --- /dev/null +++ b/platforms/avr/drivers/glcdfont.c @@ -0,0 +1,23 @@ +// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. +// See gfxfont.h for newer custom bitmap font info. + +#include "progmem.h" + +// Standard ASCII 5x7 font + +static const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x18, 0x3C, 0x18, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x18, 0x24, 0x18, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x26, 0x29, 0x79, 0x29, 0x26, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x60, 0x60, 0x60, 0x60, 0x60, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x10, 0x20, 0x7E, 0x20, 0x10, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x23, 0x13, 0x08, 0x64, 0x62, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x80, 0x70, 0x30, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x60, 0x60, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x72, 0x49, 0x49, 0x49, 0x46, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x27, 0x45, 0x45, 0x45, 0x39, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x41, 0x21, 0x11, 0x09, 0x07, 0x36, 0x49, 0x49, 0x49, 0x36, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x41, 0x22, 0x14, 0x08, 0x02, 0x01, 0x59, 0x09, 0x06, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x7F, 0x08, 0x14, 0x22, 0x41, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x26, 0x49, 0x49, 0x49, 0x32, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x63, 0x14, 0x08, 0x14, 0x63, 0x03, 0x04, 0x78, 0x04, 0x03, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x04, 0x02, 0x01, 0x02, 0x04, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x03, 0x07, 0x08, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x38, 0x44, 0x44, 0x44, 0x28, 0x38, 0x44, 0x44, 0x28, 0x7F, 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 0x08, 0x7E, 0x09, 0x02, 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 0x44, 0x7D, 0x40, 0x00, 0x20, 0x40, 0x40, 0x3D, 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, 0x7C, 0x04, 0x78, 0x04, 0x78, 0x7C, 0x08, 0x04, 0x04, 0x78, 0x38, 0x44, 0x44, 0x44, 0x38, 0xFC, 0x18, 0x24, 0x24, 0x18, 0x18, 0x24, 0x24, 0x18, 0xFC, 0x7C, 0x08, 0x04, 0x04, 0x08, 0x48, 0x54, 0x54, 0x54, 0x24, 0x04, 0x04, 0x3F, 0x44, 0x24, 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x3C, 0x40, 0x30, 0x40, 0x3C, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x41, 0x36, 0x08, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x1E, 0xA1, 0xA1, 0x61, 0x12, 0x3A, 0x40, 0x40, 0x20, 0x7A, 0x38, 0x54, 0x54, 0x55, 0x59, 0x21, 0x55, 0x55, 0x79, 0x41, 0x22, 0x54, 0x54, 0x78, 0x42, // a-umlaut + 0x21, 0x55, 0x54, 0x78, 0x40, 0x20, 0x54, 0x55, 0x79, 0x40, 0x0C, 0x1E, 0x52, 0x72, 0x12, 0x39, 0x55, 0x55, 0x55, 0x59, 0x39, 0x54, 0x54, 0x54, 0x59, 0x39, 0x55, 0x54, 0x54, 0x58, 0x00, 0x00, 0x45, 0x7C, 0x41, 0x00, 0x02, 0x45, 0x7D, 0x42, 0x00, 0x01, 0x45, 0x7C, 0x40, 0x7D, 0x12, 0x11, 0x12, 0x7D, // A-umlaut + 0xF0, 0x28, 0x25, 0x28, 0xF0, 0x7C, 0x54, 0x55, 0x45, 0x00, 0x20, 0x54, 0x54, 0x7C, 0x54, 0x7C, 0x0A, 0x09, 0x7F, 0x49, 0x32, 0x49, 0x49, 0x49, 0x32, 0x3A, 0x44, 0x44, 0x44, 0x3A, // o-umlaut + 0x32, 0x4A, 0x48, 0x48, 0x30, 0x3A, 0x41, 0x41, 0x21, 0x7A, 0x3A, 0x42, 0x40, 0x20, 0x78, 0x00, 0x9D, 0xA0, 0xA0, 0x7D, 0x3D, 0x42, 0x42, 0x42, 0x3D, // O-umlaut + 0x3D, 0x40, 0x40, 0x40, 0x3D, 0x3C, 0x24, 0xFF, 0x24, 0x24, 0x48, 0x7E, 0x49, 0x43, 0x66, 0x2B, 0x2F, 0xFC, 0x2F, 0x2B, 0xFF, 0x09, 0x29, 0xF6, 0x20, 0xC0, 0x88, 0x7E, 0x09, 0x03, 0x20, 0x54, 0x54, 0x79, 0x41, 0x00, 0x00, 0x44, 0x7D, 0x41, 0x30, 0x48, 0x48, 0x4A, 0x32, 0x38, 0x40, 0x40, 0x22, 0x7A, 0x00, 0x7A, 0x0A, 0x0A, 0x72, 0x7D, 0x0D, 0x19, 0x31, 0x7D, 0x26, 0x29, 0x29, 0x2F, 0x28, 0x26, 0x29, 0x29, 0x29, 0x26, 0x30, 0x48, 0x4D, 0x40, 0x20, 0x38, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x38, 0x2F, 0x10, 0xC8, 0xAC, 0xBA, 0x2F, 0x10, 0x28, 0x34, 0xFA, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x08, 0x14, 0x2A, 0x14, 0x22, 0x22, 0x14, 0x2A, 0x14, 0x08, 0x55, 0x00, 0x55, 0x00, 0x55, // #176 (25% block) missing in old code + 0xAA, 0x55, 0xAA, 0x55, 0xAA, // 50% block + 0xFF, 0x55, 0xFF, 0x55, 0xFF, // 75% block + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x10, 0x10, 0x10, 0xFF, 0x00, 0x14, 0x14, 0x14, 0xFF, 0x00, 0x10, 0x10, 0xFF, 0x00, 0xFF, 0x10, 0x10, 0xF0, 0x10, 0xF0, 0x14, 0x14, 0x14, 0xFC, 0x00, 0x14, 0x14, 0xF7, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x14, 0x14, 0xF4, 0x04, 0xFC, 0x14, 0x14, 0x17, 0x10, 0x1F, 0x10, 0x10, 0x1F, 0x10, 0x1F, 0x14, 0x14, 0x14, 0x1F, 0x00, 0x10, 0x10, 0x10, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x10, 0x10, 0x10, 0x10, 0x1F, 0x10, 0x10, 0x10, 0x10, 0xF0, 0x10, 0x00, 0x00, 0x00, 0xFF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xFF, 0x10, 0x00, 0x00, 0x00, 0xFF, 0x14, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x1F, 0x10, 0x17, 0x00, 0x00, 0xFC, 0x04, 0xF4, 0x14, 0x14, 0x17, 0x10, 0x17, 0x14, 0x14, 0xF4, 0x04, 0xF4, 0x00, 0x00, 0xFF, 0x00, 0xF7, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0xF7, 0x00, 0xF7, 0x14, 0x14, 0x14, 0x17, 0x14, 0x10, 0x10, 0x1F, 0x10, 0x1F, + 0x14, 0x14, 0x14, 0xF4, 0x14, 0x10, 0x10, 0xF0, 0x10, 0xF0, 0x00, 0x00, 0x1F, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x14, 0x00, 0x00, 0x00, 0xFC, 0x14, 0x00, 0x00, 0xF0, 0x10, 0xF0, 0x10, 0x10, 0xFF, 0x10, 0xFF, 0x14, 0x14, 0x14, 0xFF, 0x14, 0x10, 0x10, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x38, 0x44, 0x44, 0x38, 0x44, 0xFC, 0x4A, 0x4A, 0x4A, 0x34, // sharp-s or beta + 0x7E, 0x02, 0x02, 0x06, 0x06, 0x02, 0x7E, 0x02, 0x7E, 0x02, 0x63, 0x55, 0x49, 0x41, 0x63, 0x38, 0x44, 0x44, 0x3C, 0x04, 0x40, 0x7E, 0x20, 0x1E, 0x20, 0x06, 0x02, 0x7E, 0x02, 0x02, 0x99, 0xA5, 0xE7, 0xA5, 0x99, 0x1C, 0x2A, 0x49, 0x2A, 0x1C, 0x4C, 0x72, 0x01, 0x72, 0x4C, 0x30, 0x4A, 0x4D, 0x4D, 0x30, 0x30, 0x48, 0x78, 0x48, 0x30, 0xBC, 0x62, 0x5A, 0x46, 0x3D, 0x3E, 0x49, 0x49, 0x49, 0x00, 0x7E, 0x01, 0x01, 0x01, 0x7E, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x44, 0x44, 0x5F, 0x44, 0x44, 0x40, 0x51, 0x4A, 0x44, 0x40, 0x40, 0x44, 0x4A, 0x51, 0x40, 0x00, 0x00, 0xFF, 0x01, 0x03, 0xE0, 0x80, 0xFF, 0x00, 0x00, 0x08, 0x08, 0x6B, 0x6B, 0x08, 0x36, 0x12, 0x36, 0x24, 0x36, 0x06, 0x0F, 0x09, 0x0F, 0x06, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x30, 0x40, 0xFF, 0x01, 0x01, 0x00, 0x1F, 0x01, 0x01, 0x1E, 0x00, 0x19, 0x1D, 0x17, 0x12, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00 // #255 NBSP +}; diff --git a/platforms/avr/drivers/i2c_master.c b/platforms/avr/drivers/i2c_master.c index e5caa995cf..9136f4a7b9 100644 --- a/platforms/avr/drivers/i2c_master.c +++ b/platforms/avr/drivers/i2c_master.c @@ -207,32 +207,6 @@ i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16 return (status < 0) ? status : I2C_STATUS_SUCCESS; } -i2c_status_t i2c_transmit_and_receive(uint8_t address, const uint8_t* tx_data, uint16_t tx_length, uint8_t* rx_data, uint16_t rx_length, uint16_t timeout) { - i2c_status_t status = i2c_start(address | I2C_ACTION_WRITE, timeout); - - for (uint16_t i = 0; i < tx_length && status >= 0; i++) { - status = i2c_write(tx_data[i], timeout); - } - - for (uint16_t i = 0; i < (rx_length - 1) && status >= 0; i++) { - status = i2c_read_ack(timeout); - if (status >= 0) { - rx_data[i] = status; - } - } - - if (status >= 0) { - status = i2c_read_nack(timeout); - if (status >= 0) { - rx_data[(rx_length - 1)] = status; - } - } - - i2c_stop(); - - return status; -} - i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) { i2c_status_t status = i2c_start(devaddr | 0x00, timeout); if (status >= 0) { diff --git a/platforms/avr/drivers/ws2812_bitbang.c b/platforms/avr/drivers/ws2812_bitbang.c index c4a854d9ee..183690c967 100644 --- a/platforms/avr/drivers/ws2812_bitbang.c +++ b/platforms/avr/drivers/ws2812_bitbang.c @@ -26,7 +26,7 @@ #include "ws2812.h" #include "pin_defs.h" -#define pinmask(pin) (_BV((pin) & 0xF)) +#define pinmask(pin) (_BV((pin)&0xF)) /* This routine writes an array of bytes with RGB values to the Dataout pin @@ -105,7 +105,7 @@ static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t w_nop8 #endif #if (w1_nops & 16) - w_nop16 + w_nop16 #endif " sbrs %1,7 \n\t" // '1' [03] '0' [02] " out %2,%4 \n\t" // '1' [--] '0' [03] - fe-low @@ -123,7 +123,7 @@ static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t w_nop8 #endif #if (w2_nops & 16) - w_nop16 + w_nop16 #endif " out %2,%4 \n\t" // '1' [+1] '0' [+1] - fe-high #if (w3_nops & 1) @@ -139,7 +139,7 @@ static inline void ws2812_sendarray_mask(uint8_t *data, uint16_t datlen, uint8_t w_nop8 #endif #if (w3_nops & 16) - w_nop16 + w_nop16 #endif " dec %0 \n\t" // '1' [+2] '0' [+2] @@ -173,7 +173,7 @@ void ws2812_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { } void ws2812_flush(void) { - uint8_t masklo = ~(pinmask(WS2812_DI_PIN))&PORTx_ADDRESS(WS2812_DI_PIN); + uint8_t masklo = ~(pinmask(WS2812_DI_PIN)) & PORTx_ADDRESS(WS2812_DI_PIN); uint8_t maskhi = pinmask(WS2812_DI_PIN) | PORTx_ADDRESS(WS2812_DI_PIN); ws2812_sendarray_mask((uint8_t *)ws2812_leds, WS2812_LED_COUNT * sizeof(ws2812_led_t), masklo, maskhi); diff --git a/platforms/avr/flash.mk b/platforms/avr/flash.mk index bfb292224c..51731f0aa8 100644 --- a/platforms/avr/flash.mk +++ b/platforms/avr/flash.mk @@ -5,10 +5,10 @@ # Autodetect teensy loader ifndef TEENSY_LOADER_CLI - ifneq (, $(shell which teensy_loader_cli 2>/dev/null)) - TEENSY_LOADER_CLI ?= teensy_loader_cli - else + ifneq (, $(shell which teensy-loader-cli 2>/dev/null)) TEENSY_LOADER_CLI ?= teensy-loader-cli + else + TEENSY_LOADER_CLI ?= teensy_loader_cli endif endif diff --git a/platforms/avr/gpio.h b/platforms/avr/gpio.h index 9b5b3edc68..4c09619772 100644 --- a/platforms/avr/gpio.h +++ b/platforms/avr/gpio.h @@ -24,17 +24,17 @@ typedef uint8_t pin_t; /* Operation of GPIO by pin. */ -#define gpio_set_pin_input(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin) & 0xF), PORTx_ADDRESS(pin) &= ~_BV((pin) & 0xF)) -#define gpio_set_pin_input_high(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin) & 0xF), PORTx_ADDRESS(pin) |= _BV((pin) & 0xF)) +#define gpio_set_pin_input(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) &= ~_BV((pin)&0xF)) +#define gpio_set_pin_input_high(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) |= _BV((pin)&0xF)) #define gpio_set_pin_input_low(pin) STATIC_ASSERT(0, "GPIO pulldowns in input mode are not available on AVR") -#define gpio_set_pin_output_push_pull(pin) (DDRx_ADDRESS(pin) |= _BV((pin) & 0xF)) +#define gpio_set_pin_output_push_pull(pin) (DDRx_ADDRESS(pin) |= _BV((pin)&0xF)) #define gpio_set_pin_output_open_drain(pin) STATIC_ASSERT(0, "Open-drain outputs are not available on AVR") #define gpio_set_pin_output(pin) gpio_set_pin_output_push_pull(pin) -#define gpio_write_pin_high(pin) (PORTx_ADDRESS(pin) |= _BV((pin) & 0xF)) -#define gpio_write_pin_low(pin) (PORTx_ADDRESS(pin) &= ~_BV((pin) & 0xF)) +#define gpio_write_pin_high(pin) (PORTx_ADDRESS(pin) |= _BV((pin)&0xF)) +#define gpio_write_pin_low(pin) (PORTx_ADDRESS(pin) &= ~_BV((pin)&0xF)) #define gpio_write_pin(pin, level) ((level) ? gpio_write_pin_high(pin) : gpio_write_pin_low(pin)) -#define gpio_read_pin(pin) ((bool)(PINx_ADDRESS(pin) & _BV((pin) & 0xF))) +#define gpio_read_pin(pin) ((bool)(PINx_ADDRESS(pin) & _BV((pin)&0xF))) -#define gpio_toggle_pin(pin) (PORTx_ADDRESS(pin) ^= _BV((pin) & 0xF)) +#define gpio_toggle_pin(pin) (PORTx_ADDRESS(pin) ^= _BV((pin)&0xF)) diff --git a/platforms/avr/hardware_id.c b/platforms/avr/hardware_id.c index 9fb2aaed68..302a800e0b 100644 --- a/platforms/avr/hardware_id.c +++ b/platforms/avr/hardware_id.c @@ -13,7 +13,7 @@ __attribute__((weak)) hardware_id_t get_hardware_id(void) { hardware_id_t id = {0}; for (uint8_t i = 0; i < 10; i += 1) { - ((uint8_t *)&id)[i] = boot_signature_byte_get(i + 0x0E); + ((uint8_t*)&id)[i] = boot_signature_byte_get(i + 0x0E); } return id; } diff --git a/platforms/chibios/boards/BLACKPILL_STM32_F401/configs/mcuconf.h b/platforms/chibios/boards/BLACKPILL_STM32_F401/configs/mcuconf.h index 129e275ca8..a21fd7bd12 100644 --- a/platforms/chibios/boards/BLACKPILL_STM32_F401/configs/mcuconf.h +++ b/platforms/chibios/boards/BLACKPILL_STM32_F401/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/BLACKPILL_STM32_F411/configs/mcuconf.h b/platforms/chibios/boards/BLACKPILL_STM32_F411/configs/mcuconf.h index cd2152da08..131c847661 100644 --- a/platforms/chibios/boards/BLACKPILL_STM32_F411/configs/mcuconf.h +++ b/platforms/chibios/boards/BLACKPILL_STM32_F411/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/BONSAI_C4/configs/mcuconf.h b/platforms/chibios/boards/BONSAI_C4/configs/mcuconf.h index d119d133ff..b381aed4fd 100644 --- a/platforms/chibios/boards/BONSAI_C4/configs/mcuconf.h +++ b/platforms/chibios/boards/BONSAI_C4/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/GENERIC_STM32_F303XC/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F303XC/configs/mcuconf.h index 0c514c2b88..e0af4a276b 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F303XC/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_F303XC/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/mcuconf.h index 8e2d16843a..1208563aa1 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_F401XC/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/mcuconf.h index 21871350c6..394e750256 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h index d29ab85c36..07399ad2f7 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/mcuconf.h index 4489bed5c1..e1d45ca487 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_F411XE/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/board.h b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/board.h index b06d96b5d7..f05762c9b4 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/board.h +++ b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/board.h @@ -15,6 +15,7 @@ */ #pragma once +#define STM32_HSECLK 16000000 // The following is required to disable the pull-down on PA9, when PA9 is used for the keyboard matrix: #define BOARD_OTG_NOVBUSSENS diff --git a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h index 9af5c14d52..362327efde 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h @@ -13,7 +13,6 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#pragma once #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE diff --git a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/mcuconf.h index 45ee3ef56e..566c146c25 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -48,7 +48,7 @@ #define STM32_CLOCK48_REQUIRED TRUE #define STM32_SW STM32_SW_PLL #define STM32_PLLSRC STM32_PLLSRC_HSE -#define STM32_PLLM_VALUE 4 +#define STM32_PLLM_VALUE 8 #define STM32_PLLN_VALUE 180 #define STM32_PLLP_VALUE 2 #define STM32_PLLQ_VALUE 7 @@ -58,7 +58,7 @@ #define STM32_PLLI2SP_VALUE 4 #define STM32_PLLI2SQ_VALUE 4 #define STM32_PLLSAIN_VALUE 192 -#define STM32_PLLSAIM_VALUE 4 +#define STM32_PLLSAIM_VALUE 8 #define STM32_PLLSAIP_VALUE 8 #define STM32_PLLSAIQ_VALUE 4 #define STM32_HPRE STM32_HPRE_DIV1 diff --git a/platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/mcuconf.h index b1083f405d..80726e0308 100644 --- a/platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_G0B1XB/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -41,7 +41,7 @@ #define STM32_NO_INIT FALSE #define STM32_CLOCK_DYNAMIC TRUE #define STM32_VOS STM32_VOS_RANGE1 -#define STM32_PWR_CR2 PWR_CR2_PVMEN_USB +#define STM32_PWR_CR2 (STM32_PVDRT_LEV0 | STM32_PVDFT_LEV0 | STM32_PVDE_DISABLED) #define STM32_PWR_CR3 (PWR_CR3_EIWUL) #define STM32_PWR_CR4 (0U) #define STM32_PWR_PUCRA (0U) @@ -73,8 +73,6 @@ #define STM32_PPRE STM32_PPRE_DIV1 #define STM32_MCOSEL STM32_MCOSEL_NOCLOCK #define STM32_MCOPRE STM32_MCOPRE_DIV1 -#define STM32_MCO2SEL STM32_MCOSEL_NOCLOCK -#define STM32_MCO2PRE STM32_MCOPRE_DIV1 #define STM32_LSCOSEL STM32_LSCOSEL_NOCLOCK /* @@ -109,8 +107,9 @@ #define STM32_IRQ_EXTI4_15_PRIORITY 3 #define STM32_IRQ_EXTI1921_PRIORITY 3 -#define STM32_IRQ_I2C1_PRIORITY 3 -#define STM32_IRQ_I2C2_3_PRIORITY 3 +#define STM32_IRQ_USART1_PRIORITY 2 +#define STM32_IRQ_USART2_LP2_PRIORITY 2 +#define STM32_IRQ_USART3_4_5_6_LP1_PRIORITY 2 #define STM32_IRQ_TIM1_UP_PRIORITY 1 #define STM32_IRQ_TIM1_CC_PRIORITY 1 @@ -123,12 +122,6 @@ #define STM32_IRQ_TIM16_PRIORITY 1 #define STM32_IRQ_TIM17_PRIORITY 1 -#define STM32_IRQ_USART1_PRIORITY 2 -#define STM32_IRQ_USART2_LP2_PRIORITY 2 -#define STM32_IRQ_USART3_4_5_6_LP1_PRIORITY 2 - -#define STM32_IRQ_USB1_UCPD1_2_PRIORITY 3 - /* * ADC driver system settings. */ @@ -173,12 +166,16 @@ #define STM32_I2C_USE_I2C2 FALSE #define STM32_I2C_USE_I2C3 FALSE #define STM32_I2C_BUSY_TIMEOUT 50 -#define STM32_I2C_I2C1_DMA_CHANNEL STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C2_DMA_CHANNEL STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C3_DMA_CHANNEL STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C1_IRQ_PRIORITY 3 +#define STM32_I2C_I2C2_IRQ_PRIORITY 3 #define STM32_I2C_I2C1_DMA_PRIORITY 3 #define STM32_I2C_I2C2_DMA_PRIORITY 3 -#define STM32_I2C_I2C3_DMA_PRIORITY 1 #define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") /* @@ -299,6 +296,7 @@ * USB driver system settings. */ #define STM32_USB_USE_USB1 TRUE +#define STM32_USB_USB1_LP_IRQ_PRIORITY 3 #define STM32_USB_USE_ISOCHRONOUS FALSE #define STM32_USB_USE_FAST_COPY TRUE #define STM32_USB_HOST_WAKEUP_DURATION 2 diff --git a/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/mcuconf.h index 39d594d585..0537ee9235 100644 --- a/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -119,10 +119,6 @@ #define STM32_IRQ_FDCAN1_PRIORITY 10 -#define STM32_IRQ_I2C1_PRIORITY 5 -#define STM32_IRQ_I2C2_PRIORITY 5 -#define STM32_IRQ_I2C3_PRIORITY 5 - #define STM32_IRQ_TIM1_BRK_TIM15_PRIORITY 7 #define STM32_IRQ_TIM1_UP_TIM16_PRIORITY 7 #define STM32_IRQ_TIM1_TRGCO_TIM17_PRIORITY 7 @@ -205,9 +201,15 @@ #define STM32_I2C_USE_I2C2 FALSE #define STM32_I2C_USE_I2C3 FALSE #define STM32_I2C_BUSY_TIMEOUT 50 -#define STM32_I2C_I2C1_DMA_CHANNEL STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C2_DMA_CHANNEL STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C3_DMA_CHANNEL STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C1_IRQ_PRIORITY 5 +#define STM32_I2C_I2C2_IRQ_PRIORITY 5 +#define STM32_I2C_I2C3_IRQ_PRIORITY 5 #define STM32_I2C_I2C1_DMA_PRIORITY 3 #define STM32_I2C_I2C2_DMA_PRIORITY 3 #define STM32_I2C_I2C3_DMA_PRIORITY 3 diff --git a/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/mcuconf.h index 94bef9ea54..d6385da624 100644 --- a/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -127,11 +127,6 @@ #define STM32_IRQ_FDCAN2_PRIORITY 10 #define STM32_IRQ_FDCAN3_PRIORITY 10 -#define STM32_IRQ_I2C1_PRIORITY 5 -#define STM32_IRQ_I2C2_PRIORITY 5 -#define STM32_IRQ_I2C3_PRIORITY 5 -#define STM32_IRQ_I2C4_PRIORITY 5 - #define STM32_IRQ_TIM1_BRK_TIM15_PRIORITY 7 #define STM32_IRQ_TIM1_UP_TIM16_PRIORITY 7 #define STM32_IRQ_TIM1_TRGCO_TIM17_PRIORITY 7 @@ -189,7 +184,6 @@ #define STM32_CAN_USE_FDCAN1 FALSE #define STM32_CAN_USE_FDCAN2 FALSE #define STM32_CAN_USE_FDCAN3 FALSE -#define STM32_CAN_FDCAN_PRESC FDCAN_CONFIG_CKDIV_PDIV_20 /* * DAC driver system settings. @@ -247,10 +241,18 @@ #define STM32_I2C_USE_I2C3 FALSE #define STM32_I2C_USE_I2C4 FALSE #define STM32_I2C_BUSY_TIMEOUT 50 -#define STM32_I2C_I2C1_DMA_CHANNEL STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C2_DMA_CHANNEL STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C3_DMA_CHANNEL STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C4_DMA_CHANNEL STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C4_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C4_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C1_IRQ_PRIORITY 5 +#define STM32_I2C_I2C2_IRQ_PRIORITY 5 +#define STM32_I2C_I2C3_IRQ_PRIORITY 5 +#define STM32_I2C_I2C4_IRQ_PRIORITY 5 #define STM32_I2C_I2C1_DMA_PRIORITY 3 #define STM32_I2C_I2C2_DMA_PRIORITY 3 #define STM32_I2C_I2C3_DMA_PRIORITY 3 diff --git a/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h index 2b74c34ff5..09096c3977 100644 --- a/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -276,7 +276,6 @@ #define STM32_I2C_USE_I2C2 FALSE #define STM32_I2C_USE_I2C3 FALSE #define STM32_I2C_USE_I2C4 FALSE -#define STM32_I2C_USE_I2C5 FALSE #define STM32_I2C_BUSY_TIMEOUT 50 #define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY #define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY @@ -286,18 +285,14 @@ #define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY #define STM32_I2C_I2C4_RX_BDMA_STREAM STM32_BDMA_STREAM_ID_ANY #define STM32_I2C_I2C4_TX_BDMA_STREAM STM32_BDMA_STREAM_ID_ANY -#define STM32_I2C_I2C5_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY -#define STM32_I2C_I2C5_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY #define STM32_I2C_I2C1_IRQ_PRIORITY 5 #define STM32_I2C_I2C2_IRQ_PRIORITY 5 #define STM32_I2C_I2C3_IRQ_PRIORITY 5 #define STM32_I2C_I2C4_IRQ_PRIORITY 5 -#define STM32_I2C_I2C5_IRQ_PRIORITY 5 #define STM32_I2C_I2C1_DMA_PRIORITY 3 #define STM32_I2C_I2C2_DMA_PRIORITY 3 #define STM32_I2C_I2C3_DMA_PRIORITY 3 #define STM32_I2C_I2C4_DMA_PRIORITY 3 -#define STM32_I2C_I2C5_DMA_PRIORITY 3 #define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") /* diff --git a/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h index ee3a84f0ec..47f1598b74 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h index 7f7cb74beb..6962a340c5 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_L432XC/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h b/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h index 2cdd9bc80e..e92b7aeb98 100644 --- a/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h +++ b/platforms/chibios/boards/QMK_PROTON_C/configs/chconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -49,6 +49,19 @@ #define CH_CFG_SMP_MODE FALSE #endif +/** + * @brief Kernel hardening level. + * @details This option is the level of functional-safety checks enabled + * in the kerkel. The meaning is: + * - 0: No checks, maximum performance. + * - 1: Reasonable checks. + * - 2: All checks. + * . + */ +#if !defined(CH_CFG_HARDENING_LEVEL) +#define CH_CFG_HARDENING_LEVEL 0 +#endif + /** @} */ /*===========================================================================*/ @@ -360,6 +373,16 @@ #define CH_CFG_USE_MAILBOXES TRUE #endif +/** + * @brief Memory checks APIs. + * @details If enabled then the memory checks APIs are included in the kernel. + * + * @note The default is @p TRUE. + */ +#if !defined(CH_CFG_USE_MEMCHECKS) +#define CH_CFG_USE_MEMCHECKS TRUE +#endif + /** * @brief Core Memory Manager APIs. * @details If enabled then the core memory manager APIs are included diff --git a/platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h b/platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h index 4e8154820b..4a22e818e2 100644 --- a/platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h +++ b/platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -29,17 +29,10 @@ #define HALCONF_H #define _CHIBIOS_HAL_CONF_ -#define _CHIBIOS_HAL_CONF_VER_9_1_ +#define _CHIBIOS_HAL_CONF_VER_8_4_ #include -/** - * @brief Enables the HAL safety subsystem. - */ -#if !defined(HAL_USE_SAFETY) || defined(__DOXYGEN__) -#define HAL_USE_SAFETY FALSE -#endif - /** * @brief Enables the PAL subsystem. */ @@ -312,14 +305,6 @@ /* I2C driver related settings. */ /*===========================================================================*/ -/** - * @brief Slave mode API enable switch. - * @note The low level driver must support this capability. - */ -#if !defined(I2C_ENABLE_SLAVE_MODE) -#define I2C_ENABLE_SLAVE_MODE FALSE -#endif - /** * @brief Enables the mutual exclusion APIs on the I2C bus. */ diff --git a/platforms/chibios/boards/QMK_PROTON_C/configs/mcuconf.h b/platforms/chibios/boards/QMK_PROTON_C/configs/mcuconf.h index 8a27ba5537..cab4c29cf6 100644 --- a/platforms/chibios/boards/QMK_PROTON_C/configs/mcuconf.h +++ b/platforms/chibios/boards/QMK_PROTON_C/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/STEMCELL/configs/mcuconf.h b/platforms/chibios/boards/STEMCELL/configs/mcuconf.h index 3ccc668641..d4b870f8e4 100644 --- a/platforms/chibios/boards/STEMCELL/configs/mcuconf.h +++ b/platforms/chibios/boards/STEMCELL/configs/mcuconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/platforms/chibios/boards/common/configs/chconf.h b/platforms/chibios/boards/common/configs/chconf.h index e4c65bdcf7..6381298ef7 100644 --- a/platforms/chibios/boards/common/configs/chconf.h +++ b/platforms/chibios/boards/common/configs/chconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -49,6 +49,19 @@ #define CH_CFG_SMP_MODE FALSE #endif +/** + * @brief Kernel hardening level. + * @details This option is the level of functional-safety checks enabled + * in the kerkel. The meaning is: + * - 0: No checks, maximum performance. + * - 1: Reasonable checks. + * - 2: All checks. + * . + */ +#if !defined(CH_CFG_HARDENING_LEVEL) +#define CH_CFG_HARDENING_LEVEL 0 +#endif + /** @} */ /*===========================================================================*/ @@ -360,6 +373,16 @@ #define CH_CFG_USE_MAILBOXES FALSE #endif +/** + * @brief Memory checks APIs. + * @details If enabled then the memory checks APIs are included in the kernel. + * + * @note The default is @p TRUE. + */ +#if !defined(CH_CFG_USE_MEMCHECKS) +#define CH_CFG_USE_MEMCHECKS TRUE +#endif + /** * @brief Core Memory Manager APIs. * @details If enabled then the core memory manager APIs are included diff --git a/platforms/chibios/boards/common/configs/halconf.h b/platforms/chibios/boards/common/configs/halconf.h index 9ab6dc3fd6..b0ccbc1f2f 100644 --- a/platforms/chibios/boards/common/configs/halconf.h +++ b/platforms/chibios/boards/common/configs/halconf.h @@ -1,5 +1,5 @@ /* - ChibiOS - Copyright (C) 2006-2026 Giovanni Di Sirio. + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -29,17 +29,10 @@ #define HALCONF_H #define _CHIBIOS_HAL_CONF_ -#define _CHIBIOS_HAL_CONF_VER_9_1_ +#define _CHIBIOS_HAL_CONF_VER_8_4_ #include -/** - * @brief Enables the HAL safety subsystem. - */ -#if !defined(HAL_USE_SAFETY) || defined(__DOXYGEN__) -#define HAL_USE_SAFETY FALSE -#endif - /** * @brief Enables the PAL subsystem. */ @@ -312,14 +305,6 @@ /* I2C driver related settings. */ /*===========================================================================*/ -/** - * @brief Slave mode API enable switch. - * @note The low level driver must support this capability. - */ -#if !defined(I2C_ENABLE_SLAVE_MODE) -#define I2C_ENABLE_SLAVE_MODE FALSE -#endif - /** * @brief Enables the mutual exclusion APIs on the I2C bus. */ diff --git a/platforms/chibios/bootloaders/kiibohd.c b/platforms/chibios/bootloaders/kiibohd.c index eb61cd2d0a..09a4d49b78 100644 --- a/platforms/chibios/bootloaders/kiibohd.c +++ b/platforms/chibios/bootloaders/kiibohd.c @@ -30,21 +30,4 @@ __attribute__((weak)) void bootloader_jump(void) { // request reset SCB->AIRCR = SCB_AIRCR_VECTKEY_WRITEMAGIC | SCB_AIRCR_SYSRESETREQ_Msk; } - -__attribute__((weak)) void mcu_reset(void) { - /* Ensure all outstanding memory operations complete */ - __DSB(); - __ISB(); - - /* Request system reset (preserve PRIGROUP) */ - uint32_t aircr = SCB->AIRCR; - aircr &= ~SCB_AIRCR_VECTKEY_Msk; - aircr |= SCB_AIRCR_VECTKEY_WRITEMAGIC; - aircr |= SCB_AIRCR_SYSRESETREQ_Msk; - SCB->AIRCR = aircr; - - /* Wait for reset to occur */ - while (true) { - __NOP(); - } -} +__attribute__((weak)) void mcu_reset(void) {} diff --git a/platforms/chibios/bootloaders/rp2040.c b/platforms/chibios/bootloaders/rp2040.c index 2e991625c9..524d13e636 100644 --- a/platforms/chibios/bootloaders/rp2040.c +++ b/platforms/chibios/bootloaders/rp2040.c @@ -30,7 +30,7 @@ void enter_bootloader_mode_if_requested(void) {} // Needs to be located in a RAM section that is never initialized on boot to // preserve its value on reset static volatile uint32_t __attribute__((section(".ram0.bootloader_magic"))) magic_location; -const uint32_t magic_token = 0xCAFEB0BA; +const uint32_t magic_token = 0xCAFEB0BA; // We can not use the __early_init / enter_bootloader_mode_if_requested hook as // we depend on an already initialized system with usable memory regions and diff --git a/platforms/chibios/drivers/analog.c b/platforms/chibios/drivers/analog.c index 93005c2555..a916cc9a1d 100644 --- a/platforms/chibios/drivers/analog.c +++ b/platforms/chibios/drivers/analog.c @@ -145,7 +145,7 @@ static ADCConversionGroup adcConversionGroup = { .smpr = ADC_SAMPLING_RATE, #elif defined(USE_ADCV2) # if !defined(STM32F1XX) && !defined(GD32VF103) && !defined(WB32F3G71xx) && !defined(WB32FQ95xx) && !defined(AT32F415) - .cr2 = ADC_CR2_SWSTART, // F103 seem very unhappy with, F401 seems very unhappy without... + .cr2 = ADC_CR2_SWSTART, // F103 seem very unhappy with, F401 seems very unhappy without... # endif # if defined(AT32F415) .spt2 = ADC_SPT2_CSPT_AN0(ADC_SAMPLING_RATE) | ADC_SPT2_CSPT_AN1(ADC_SAMPLING_RATE) | ADC_SPT2_CSPT_AN2(ADC_SAMPLING_RATE) | ADC_SPT2_CSPT_AN3(ADC_SAMPLING_RATE) | ADC_SPT2_CSPT_AN4(ADC_SAMPLING_RATE) | ADC_SPT2_CSPT_AN5(ADC_SAMPLING_RATE) | ADC_SPT2_CSPT_AN6(ADC_SAMPLING_RATE) | ADC_SPT2_CSPT_AN7(ADC_SAMPLING_RATE) | ADC_SPT2_CSPT_AN8(ADC_SAMPLING_RATE) | ADC_SPT2_CSPT_AN9(ADC_SAMPLING_RATE), diff --git a/platforms/chibios/drivers/audio_dac_basic.c b/platforms/chibios/drivers/audio_dac_basic.c index 053584ec87..99b938e610 100644 --- a/platforms/chibios/drivers/audio_dac_basic.c +++ b/platforms/chibios/drivers/audio_dac_basic.c @@ -77,9 +77,9 @@ GPTConfig gpt7cfg1 = {.frequency = AUDIO_DAC_SAMPLE_RATE, static void gpt_audio_state_cb(GPTDriver *gptp); GPTConfig gptStateUpdateCfg = {.frequency = 10, - .callback = gpt_audio_state_cb, - .cr2 = TIM_CR2_MMS_1, /* MMS = 010 = TRGO on Update Event. */ - .dier = 0U}; + .callback = gpt_audio_state_cb, + .cr2 = TIM_CR2_MMS_1, /* MMS = 010 = TRGO on Update Event. */ + .dier = 0U}; static const DACConfig dac_conf_ch1 = {.init = AUDIO_DAC_OFF_VALUE, .datamode = DAC_DHRM_12BIT_RIGHT}; static const DACConfig dac_conf_ch2 = {.init = AUDIO_DAC_OFF_VALUE, .datamode = DAC_DHRM_12BIT_RIGHT}; diff --git a/platforms/chibios/drivers/audio_pwm_software.c b/platforms/chibios/drivers/audio_pwm_software.c index 015bdbee1a..f48323900b 100644 --- a/platforms/chibios/drivers/audio_pwm_software.c +++ b/platforms/chibios/drivers/audio_pwm_software.c @@ -63,8 +63,8 @@ void channel_1_set_frequency(float freq) { pwmChangePeriod(&AUDIO_PWM_DRIVER, period); pwmEnableChannel(&AUDIO_PWM_DRIVER, AUDIO_PWM_CHANNEL - 1, - // adjust the duty-cycle so that the output is for 'note_timbre' duration HIGH - PWM_PERCENTAGE_TO_WIDTH(&AUDIO_PWM_DRIVER, (100 - note_timbre) * 100)); + // adjust the duty-cycle so that the output is for 'note_timbre' duration HIGH + PWM_PERCENTAGE_TO_WIDTH(&AUDIO_PWM_DRIVER, (100 - note_timbre) * 100)); } float channel_1_get_frequency(void) { @@ -117,8 +117,8 @@ GPTConfig gptCFG = { and the .interval counts from 64 downwards - audio_update_state is called just often enough to not miss anything */ - .frequency = 60 * 64, - .callback = gpt_callback, + .frequency = 60 * 64, + .callback = gpt_callback, }; void audio_driver_initialize_impl(void) { diff --git a/platforms/chibios/drivers/eeprom/eeprom_kinetis_flexram.c b/platforms/chibios/drivers/eeprom/eeprom_kinetis_flexram.c index 9edbc1d2ed..9cf956b2f7 100644 --- a/platforms/chibios/drivers/eeprom/eeprom_kinetis_flexram.c +++ b/platforms/chibios/drivers/eeprom/eeprom_kinetis_flexram.c @@ -482,7 +482,7 @@ uint32_t eeprom_read_dword(const uint32_t *addr) { void eeprom_read_block(void *buf, const void *addr, size_t len) { const uint8_t *p = (const uint8_t *)addr; - uint8_t *dest = (uint8_t *)buf; + uint8_t * dest = (uint8_t *)buf; while (len--) { *dest++ = eeprom_read_byte(p++); } @@ -507,7 +507,7 @@ void eeprom_write_dword(uint32_t *addr, uint32_t value) { } void eeprom_write_block(const void *buf, void *addr, size_t len) { - uint8_t *p = (uint8_t *)addr; + uint8_t * p = (uint8_t *)addr; const uint8_t *src = (const uint8_t *)buf; while (len--) { eeprom_write_byte(p++, *src++); @@ -538,7 +538,7 @@ void eeprom_update_dword(uint32_t *addr, uint32_t value) { } void eeprom_update_block(const void *buf, void *addr, size_t len) { - uint8_t *p = (uint8_t *)addr; + uint8_t * p = (uint8_t *)addr; const uint8_t *src = (const uint8_t *)buf; while (len--) { eeprom_write_byte(p++, *src++); diff --git a/platforms/chibios/drivers/eeprom/eeprom_legacy_emulated_flash.c b/platforms/chibios/drivers/eeprom/eeprom_legacy_emulated_flash.c index 737804b59f..9857ac046b 100644 --- a/platforms/chibios/drivers/eeprom/eeprom_legacy_emulated_flash.c +++ b/platforms/chibios/drivers/eeprom/eeprom_legacy_emulated_flash.c @@ -204,9 +204,7 @@ void print_eeprom(void) { } xprintf("%04x", i); } - if (i % 8 == 0) { - print(" "); - } + if (i % 8 == 0) print(" "); xprintf(" %02x", DataBuf[i]); if ((i + 1) % 16 == 0) { @@ -579,7 +577,7 @@ void eeprom_driver_erase(void) { void eeprom_read_block(void *buf, const void *addr, size_t len) { const uint8_t *src = (const uint8_t *)addr; - uint8_t *dest = (uint8_t *)buf; + uint8_t * dest = (uint8_t *)buf; /* Check word alignment */ if (len && (uintptr_t)src % 2) { @@ -608,7 +606,7 @@ void eeprom_read_block(void *buf, const void *addr, size_t len) { } void eeprom_write_block(const void *buf, void *addr, size_t len) { - uint8_t *dest = (uint8_t *)addr; + uint8_t * dest = (uint8_t *)addr; const uint8_t *src = (const uint8_t *)buf; /* Check word alignment */ diff --git a/platforms/chibios/drivers/flash/legacy_flash_ops.c b/platforms/chibios/drivers/flash/legacy_flash_ops.c index ca3fbdd740..fe5ad64764 100644 --- a/platforms/chibios/drivers/flash/legacy_flash_ops.c +++ b/platforms/chibios/drivers/flash/legacy_flash_ops.c @@ -171,7 +171,7 @@ FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data) { FLASH->CR |= FLASH_CR_PSIZE_0; #endif FLASH->CR |= FLASH_CR_PG; - *(__IO uint16_t *)Address = Data; + *(__IO uint16_t*)Address = Data; /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation(ProgramTimeout); if (status != FLASH_TIMEOUT) { diff --git a/platforms/chibios/drivers/i2c_master.c b/platforms/chibios/drivers/i2c_master.c index a44051b82a..20850859b5 100644 --- a/platforms/chibios/drivers/i2c_master.c +++ b/platforms/chibios/drivers/i2c_master.c @@ -160,12 +160,6 @@ i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16 return i2c_epilogue(status); } -i2c_status_t i2c_transmit_and_receive(uint8_t address, const uint8_t* tx_data, uint16_t tx_length, uint8_t* rx_data, uint16_t rx_length, uint16_t timeout) { - i2cStart(&I2C_DRIVER, &i2cconfig); - msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (address >> 1), tx_data, tx_length, rx_data, rx_length, TIME_MS2I(timeout)); - return i2c_epilogue(status); -} - i2c_status_t i2c_write_register(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) { i2cStart(&I2C_DRIVER, &i2cconfig); diff --git a/platforms/chibios/drivers/serial_usart.c b/platforms/chibios/drivers/serial_usart.c index 0d3d01042f..becf3afbce 100644 --- a/platforms/chibios/drivers/serial_usart.c +++ b/platforms/chibios/drivers/serial_usart.c @@ -27,12 +27,12 @@ static QMKSerialConfig serial_config = { # else .baud = (SERIAL_USART_SPEED), # endif - .cr1 = (SERIAL_USART_CR1), - .cr2 = (SERIAL_USART_CR2), + .cr1 = (SERIAL_USART_CR1), + .cr2 = (SERIAL_USART_CR2), # if !defined(SERIAL_USART_FULL_DUPLEX) - .cr3 = ((SERIAL_USART_CR3) | USART_CR3_HDSEL) /* activate half-duplex mode */ + .cr3 = ((SERIAL_USART_CR3) | USART_CR3_HDSEL) /* activate half-duplex mode */ # else - .cr3 = (SERIAL_USART_CR3) + .cr3 = (SERIAL_USART_CR3) # endif }; #elif defined(MCU_RP) /* Raspberry Pi MCUs */ diff --git a/platforms/chibios/drivers/uart_sio.c b/platforms/chibios/drivers/uart_sio.c index dcf0cef20f..fc12f0abed 100644 --- a/platforms/chibios/drivers/uart_sio.c +++ b/platforms/chibios/drivers/uart_sio.c @@ -82,13 +82,13 @@ static SIOConfig sioConfig = { }; #else static SIOConfig sioConfig = { - .baud = SIO_DEFAULT_BITRATE, + .baud = SIO_DEFAULT_BITRATE, # if defined(MCU_STM32) && defined(USE_USARTV3) .presc = USART_PRESC1, # endif - .cr1 = UART_CR1, - .cr2 = UART_CR2, - .cr3 = UART_CR3, + .cr1 = UART_CR1, + .cr2 = UART_CR2, + .cr3 = UART_CR3, }; #endif diff --git a/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c b/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c index 7fa57bc738..fec4646a5b 100644 --- a/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c +++ b/platforms/chibios/drivers/wear_leveling/wear_leveling_efl.c @@ -20,7 +20,7 @@ static flash_sector_t first_sector = UINT16_MAX; #endif // WEAR_LEVELING_EFL_OMIT_LAST_SECTOR_COUNT static flash_sector_t sector_count = UINT16_MAX; -static BaseFlash *flash; +static BaseFlash * flash; static bool flash_erased_is_one; static volatile bool is_issuing_read = false; static volatile bool ecc_error_occurred = false; @@ -84,23 +84,13 @@ bool backing_store_init(void) { #else // defined(WEAR_LEVELING_EFL_FIRST_SECTOR) // Work out how many sectors we want to use, working backwards from the end of the flash - flash_sector_t last_sector = desc->sectors_count; - - // skip sectors that are past the actual flash size - while (flashGetSectorOffset(flash, last_sector - 1) >= flash_size) { - if (--last_sector == 0) { - chSysHalt("No sector in available flash range"); - } - } - - if (WEAR_LEVELING_EFL_OMIT_LAST_SECTOR_COUNT >= last_sector) { - chSysHalt("Last sector intended to be used with wear_leveling is beyond available flash descriptor range"); - } - - last_sector -= WEAR_LEVELING_EFL_OMIT_LAST_SECTOR_COUNT; - + flash_sector_t last_sector = desc->sectors_count - WEAR_LEVELING_EFL_OMIT_LAST_SECTOR_COUNT; for (flash_sector_t i = 0; i < last_sector; ++i) { first_sector = last_sector - i - 1; + if (flashGetSectorOffset(flash, first_sector) >= flash_size) { + last_sector = first_sector; + continue; + } counter += flashGetSectorSize(flash, first_sector); if (counter >= (WEAR_LEVELING_BACKING_SIZE)) { sector_count = last_sector - first_sector; @@ -109,10 +99,6 @@ bool backing_store_init(void) { } } - if (counter < WEAR_LEVELING_BACKING_SIZE) { - chSysHalt("Not enough flash is available for the requested wear_leveling size"); - } - #endif // defined(WEAR_LEVELING_EFL_FIRST_SECTOR) return true; diff --git a/platforms/chibios/drivers/wear_leveling/wear_leveling_efl_config.h b/platforms/chibios/drivers/wear_leveling/wear_leveling_efl_config.h index 2661b54acc..f09f824bd8 100644 --- a/platforms/chibios/drivers/wear_leveling/wear_leveling_efl_config.h +++ b/platforms/chibios/drivers/wear_leveling/wear_leveling_efl_config.h @@ -17,7 +17,7 @@ # elif defined(QMK_MCU_FAMILY_WB32) # define BACKING_STORE_WRITE_SIZE 8 // from hal_efl_lld.c # elif defined(QMK_MCU_FAMILY_AT32) -# define BACKING_STORE_WRITE_SIZE 4 // from hal_efl_lld.c +# define BACKING_STORE_WRITE_SIZE 2 // from hal_efl_lld.c # elif defined(QMK_MCU_FAMILY_STM32) # if defined(STM32_FLASH_LINE_SIZE) // from some family's stm32_registry.h file # define BACKING_STORE_WRITE_SIZE (STM32_FLASH_LINE_SIZE) diff --git a/platforms/chibios/drivers/ws2812_pwm.c b/platforms/chibios/drivers/ws2812_pwm.c index 144f6e1388..50927b849a 100644 --- a/platforms/chibios/drivers/ws2812_pwm.c +++ b/platforms/chibios/drivers/ws2812_pwm.c @@ -89,9 +89,7 @@ /* --- PRIVATE CONSTANTS ---------------------------------------------------- */ -#ifndef WS2812_PWM_TICK_FREQUENCY -# define WS2812_PWM_TICK_FREQUENCY (CPU_CLOCK / 2) /**< Clock frequency of PWM ticks, must be valid with respect to system clock! */ -#endif +#define WS2812_PWM_TICK_FREQUENCY (CPU_CLOCK / 2) /**< Clock frequency of PWM ticks, must be valid with respect to system clock! */ #define WS2812_PWM_PERIOD (WS2812_PWM_TICK_FREQUENCY / WS2812_PWM_FREQUENCY) /**< Clock period in PWM ticks. */ /** @@ -312,7 +310,7 @@ void ws2812_init(void) { palSetLineMode(WS2812_DI_PIN, WS2812_OUTPUT_MODE); // PWM Configuration - // #pragma GCC diagnostic ignored "-Woverride-init" // Turn off override-init warning for this struct. We use the overriding ability to set a "default" channel config + //#pragma GCC diagnostic ignored "-Woverride-init" // Turn off override-init warning for this struct. We use the overriding ability to set a "default" channel config static const PWMConfig ws2812_pwm_config = { .frequency = WS2812_PWM_TICK_FREQUENCY, .period = WS2812_PWM_PERIOD, // Mit dieser Periode wird UDE-Event erzeugt und ein neuer Wert (Länge WS2812_BIT_N) vom DMA ins CCR geschrieben @@ -330,7 +328,7 @@ void ws2812_init(void) { .dier = TIM_DIER_UDE, // DMA on update event for next period #endif }; - // #pragma GCC diagnostic pop // Restore command-line warning options + //#pragma GCC diagnostic pop // Restore command-line warning options // Configure DMA // dmaInit(); // Joe added this diff --git a/platforms/chibios/drivers/ws2812_spi.c b/platforms/chibios/drivers/ws2812_spi.c index 4ae97aa1c9..d1792b871b 100644 --- a/platforms/chibios/drivers/ws2812_spi.c +++ b/platforms/chibios/drivers/ws2812_spi.c @@ -188,7 +188,8 @@ void ws2812_init(void) { 0, WS2812_SPI_DIVISOR # else - WS2812_SPI_DIVISOR_CR1_BR_X, 0 + WS2812_SPI_DIVISOR_CR1_BR_X, + 0 # endif #else // HAL_SPI_V2 diff --git a/platforms/chibios/flash.mk b/platforms/chibios/flash.mk index 0734754834..f4db17a58b 100644 --- a/platforms/chibios/flash.mk +++ b/platforms/chibios/flash.mk @@ -77,10 +77,10 @@ st-flash: $(BUILD_DIR)/$(TARGET).hex sizeafter # Autodetect teensy loader ifndef TEENSY_LOADER_CLI - ifneq (, $(shell which teensy_loader_cli 2>/dev/null)) - TEENSY_LOADER_CLI ?= teensy_loader_cli - else + ifneq (, $(shell which teensy-loader-cli 2>/dev/null)) TEENSY_LOADER_CLI ?= teensy-loader-cli + else + TEENSY_LOADER_CLI ?= teensy_loader_cli endif endif diff --git a/platforms/chibios/platform.mk b/platforms/chibios/platform.mk index b5cbec4431..cf9fac251e 100644 --- a/platforms/chibios/platform.mk +++ b/platforms/chibios/platform.mk @@ -279,7 +279,7 @@ PLATFORM_SRC = \ $(PLATFORMSRC) \ $(BOARDSRC) \ $(STREAMSSRC) \ - $(CHIBIOS)/os/various/newlib_bindings/syscalls.c \ + $(CHIBIOS)/os/various/syscalls.c \ $(PLATFORM_COMMON_DIR)/syscall-fallbacks.c \ $(PLATFORM_COMMON_DIR)/wait.c \ $(PLATFORM_COMMON_DIR)/synchronization_util.c \ diff --git a/platforms/gpio.h b/platforms/gpio.h index a490ad63ff..6a87e75b01 100644 --- a/platforms/gpio.h +++ b/platforms/gpio.h @@ -20,3 +20,20 @@ #if __has_include_next("gpio.h") # include_next "gpio.h" /* Include the platforms gpio.h */ #endif + +// ======== DEPRECATED DEFINES - DO NOT USE ======== + +#define setPinInput(pin) gpio_set_pin_input(pin) +#define setPinInputHigh(pin) gpio_set_pin_input_high(pin) +#define setPinInputLow(pin) gpio_set_pin_input_low(pin) +#define setPinOutputPushPull(pin) gpio_set_pin_output_push_pull(pin) +#define setPinOutputOpenDrain(pin) gpio_set_pin_output_open_drain(pin) +#define setPinOutput(pin) gpio_set_pin_output_push_pull(pin) + +#define writePinHigh(pin) gpio_write_pin_high(pin) +#define writePinLow(pin) gpio_write_pin_low(pin) +#define writePin(pin, level) gpio_write_pin(pin, level) + +#define readPin(pin) gpio_read_pin(pin) + +#define togglePin(pin) gpio_toggle_pin(pin) diff --git a/platforms/progmem.h b/platforms/progmem.h index 395aa14309..6c4ebcaa01 100644 --- a/platforms/progmem.h +++ b/platforms/progmem.h @@ -6,13 +6,13 @@ # include # define PROGMEM # define PSTR(x) x -# define PGM_P const char * +# define PGM_P const char* # define memcmp_P(s1, s2, n) memcmp(s1, s2, n) # define memcpy_P(dest, src, n) memcpy(dest, src, n) -# define pgm_read_byte(address_short) *((uint8_t *)(address_short)) -# define pgm_read_word(address_short) *((uint16_t *)(address_short)) -# define pgm_read_dword(address_short) *((uint32_t *)(address_short)) -# define pgm_read_ptr(address_short) *((void **)(address_short)) +# define pgm_read_byte(address_short) *((uint8_t*)(address_short)) +# define pgm_read_word(address_short) *((uint16_t*)(address_short)) +# define pgm_read_dword(address_short) *((uint32_t*)(address_short)) +# define pgm_read_ptr(address_short) *((void**)(address_short)) # define strcmp_P(s1, s2) strcmp(s1, s2) # define strcpy_P(dest, src) strcpy(dest, src) # define strlen_P(src) strlen(src) diff --git a/platforms/suspend.c b/platforms/suspend.c index 4756796ea4..fea23cbd02 100644 --- a/platforms/suspend.c +++ b/platforms/suspend.c @@ -4,9 +4,6 @@ #include "suspend.h" #include "matrix.h" -extern matrix_row_t matrix_previous[MATRIX_ROWS]; -static matrix_row_t wakeup_matrix[MATRIX_ROWS]; - // TODO: Move to more correct location __attribute__((weak)) void matrix_power_up(void) {} __attribute__((weak)) void matrix_power_down(void) {} @@ -47,34 +44,8 @@ bool suspend_wakeup_condition(void) { matrix_power_up(); matrix_scan(); matrix_power_down(); - - bool wakeup = false; - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - wakeup_matrix[row] = matrix_get_row(row); - wakeup |= wakeup_matrix[row] != 0; - } - - return wakeup; -} - -void update_matrix_state_after_wakeup(void) { - matrix_power_up(); - matrix_scan(); - matrix_power_down(); - - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - const matrix_row_t current_row = matrix_get_row(row); - wakeup_matrix[row] |= current_row & ~matrix_previous[row]; - matrix_previous[row] |= current_row; - } -} - -bool keypress_is_wakeup_key(uint8_t row, uint8_t col) { - return (wakeup_matrix[row] & ((matrix_row_t)1 << col)); -} - -void wakeup_matrix_handle_key_event(uint8_t row, uint8_t col, bool pressed) { - if (!pressed) { - wakeup_matrix[row] &= ~((matrix_row_t)1 << col); + for (uint8_t r = 0; r < MATRIX_ROWS; r++) { + if (matrix_get_row(r)) return true; } + return false; } diff --git a/platforms/suspend.h b/platforms/suspend.h index 3a7f51f9f0..e4f7f39ddb 100644 --- a/platforms/suspend.h +++ b/platforms/suspend.h @@ -14,10 +14,6 @@ void suspend_power_down_user(void); void suspend_power_down_kb(void); void suspend_power_down_quantum(void); -bool keypress_is_wakeup_key(uint8_t row, uint8_t col); -void update_matrix_state_after_wakeup(void); -void wakeup_matrix_handle_key_event(uint8_t row, uint8_t col, bool pressed); - #ifndef USB_SUSPEND_WAKEUP_DELAY # define USB_SUSPEND_WAKEUP_DELAY 0 #endif diff --git a/platforms/synchronization_util.h b/platforms/synchronization_util.h index f4f77fd2db..4969eff478 100644 --- a/platforms/synchronization_util.h +++ b/platforms/synchronization_util.h @@ -10,8 +10,8 @@ void split_shared_memory_unlock(void); # endif #else # if defined(SPLIT_KEYBOARD) -inline void split_shared_memory_lock(void) {}; -inline void split_shared_memory_unlock(void) {}; +inline void split_shared_memory_lock(void){}; +inline void split_shared_memory_unlock(void){}; # endif #endif diff --git a/platforms/test/drivers/audio_pwm_hardware.c b/platforms/test/drivers/audio_pwm_hardware.c index dc3b0ff3da..3a0384117a 100644 --- a/platforms/test/drivers/audio_pwm_hardware.c +++ b/platforms/test/drivers/audio_pwm_hardware.c @@ -16,5 +16,5 @@ #include "audio.h" void audio_driver_initialize_impl(void) {} -void audio_driver_start_impl(void) {} -void audio_driver_stop_impl(void) {} +void audio_driver_start_impl() {} +void audio_driver_stop_impl() {} diff --git a/platforms/test/eeprom.c b/platforms/test/eeprom.c index 193a3bb4ce..d501745e55 100644 --- a/platforms/test/eeprom.c +++ b/platforms/test/eeprom.c @@ -40,7 +40,7 @@ uint32_t eeprom_read_dword(const uint32_t *addr) { void eeprom_read_block(void *buf, const void *addr, size_t len) { const uint8_t *p = (const uint8_t *)addr; - uint8_t *dest = (uint8_t *)buf; + uint8_t * dest = (uint8_t *)buf; while (len--) { *dest++ = eeprom_read_byte(p++); } @@ -61,7 +61,7 @@ void eeprom_write_dword(uint32_t *addr, uint32_t value) { } void eeprom_write_block(const void *buf, void *addr, size_t len) { - uint8_t *p = (uint8_t *)addr; + uint8_t * p = (uint8_t *)addr; const uint8_t *src = (const uint8_t *)buf; while (len--) { eeprom_write_byte(p++, *src++); @@ -87,7 +87,7 @@ void eeprom_update_dword(uint32_t *addr, uint32_t value) { } void eeprom_update_block(const void *buf, void *addr, size_t len) { - uint8_t *p = (uint8_t *)addr; + uint8_t * p = (uint8_t *)addr; const uint8_t *src = (const uint8_t *)buf; while (len--) { eeprom_write_byte(p++, *src++); diff --git a/platforms/test/eeprom_legacy_emulated_flash_tests.cpp b/platforms/test/eeprom_legacy_emulated_flash_tests.cpp index 41b27b621d..d2c41fb77d 100644 --- a/platforms/test/eeprom_legacy_emulated_flash_tests.cpp +++ b/platforms/test/eeprom_legacy_emulated_flash_tests.cpp @@ -52,7 +52,7 @@ extern "C" { #define BYTE_VALUE(addr, value) (((addr) << 8) | (value)) #define WORD_ZERO(addr) (0x8000 | ((addr) >> 1)) #define WORD_ONE(addr) (0xA000 | ((addr) >> 1)) -#define WORD_NEXT(addr) (0xE000 | (((addr) - 0x80) >> 1)) +#define WORD_NEXT(addr) (0xE000 | (((addr)-0x80) >> 1)) class EepromStm32Test : public testing::Test { public: diff --git a/platforms/test/legacy_flash_ops_mock.c b/platforms/test/legacy_flash_ops_mock.c index 355cdf2b4c..b9d805cb47 100644 --- a/platforms/test/legacy_flash_ops_mock.c +++ b/platforms/test/legacy_flash_ops_mock.c @@ -35,9 +35,9 @@ FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data) { if (flash_locked) return FLASH_ERROR_WRP; Address -= (uintptr_t)FlashBuf; if (Address >= MOCK_FLASH_SIZE) return FLASH_BAD_ADDRESS; - uint16_t oldData = *(uint16_t *)&FlashBuf[Address]; + uint16_t oldData = *(uint16_t*)&FlashBuf[Address]; if (oldData == 0xFFFF || Data == 0) { - *(uint16_t *)&FlashBuf[Address] = Data; + *(uint16_t*)&FlashBuf[Address] = Data; return FLASH_COMPLETE; } else { return FLASH_ERROR_PG; diff --git a/platforms/test/platform.mk b/platforms/test/platform.mk index 371ed49d60..f07c863e69 100644 --- a/platforms/test/platform.mk +++ b/platforms/test/platform.mk @@ -11,10 +11,6 @@ HEX = EEP = BIN = -# workaround for undefined reference to weak function under mingw -ifneq ($(findstring mingw, ${SYSTEM_TYPE}),) -LTO_ENABLE := yes -endif COMPILEFLAGS += -funsigned-char ifeq ($(findstring clang, ${GCC_VERSION}),) diff --git a/platforms/timer.c b/platforms/timer.c index 2f534f3f1d..ba2cf94d2b 100644 --- a/platforms/timer.c +++ b/platforms/timer.c @@ -1,11 +1,7 @@ // Copyright 2023 Sergey Vlasov (@sigprof) // SPDX-License-Identifier: GPL-2.0-or-later -// Use an angle-bracket include so the header is located via the include -// search path rather than source-relative lookup. timer.h uses -// #include_next to chain to the active platform's _timer.h, and that -// only has well-defined semantics when timer.h itself was found via -I. -#include +#include "timer.h" // Generate out-of-line copies for inline functions defined in timer.h. extern inline fast_timer_t timer_read_fast(void); diff --git a/quantum/action.c b/quantum/action.c index 9be3fbe344..dd82c9ec99 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -281,14 +281,9 @@ void process_record(keyrecord_t *record) { if (IS_NOEVENT(record->event)) { return; } -#ifdef SPECULATIVE_HOLD - if (record->event.pressed) { - speculative_key_settled(record); - } -#endif // SPECULATIVE_HOLD -#if defined(FLOW_TAP_TERM) || defined(SPECULATIVE_HOLD_FLOW_TERM) +#ifdef FLOW_TAP_TERM flow_tap_update_last_event(record); -#endif // defined(FLOW_TAP_TERM) || defined(SPECULATIVE_HOLD_FLOW_TERM) +#endif // FLOW_TAP_TERM if (!process_record_quantum(record)) { #ifndef NO_ACTION_ONESHOT @@ -879,9 +874,7 @@ void process_action(keyrecord_t *record, action_t action) { wait_ms(TAP_CODE_DELAY); tap_code(action.layer_tap.code); wait_ms(TAP_CODE_DELAY); - // Only unregister the mods that were active at the time of - // the tap and are not independently held by other keys. - unregister_mods(retro_tap_curr_mods & ~curr_mods); + unregister_mods(retro_tap_curr_mods); # endif } retro_tap_primed = false; diff --git a/quantum/action.h b/quantum/action.h index a459c438c1..7616486c6d 100644 --- a/quantum/action.h +++ b/quantum/action.h @@ -38,7 +38,7 @@ extern "C" { /* tapping count and state */ typedef struct { bool interrupted : 1; - bool speculated : 1; + bool reserved2 : 1; bool reserved1 : 1; bool reserved0 : 1; uint8_t count : 4; diff --git a/quantum/action_code.h b/quantum/action_code.h index f268bc4ea4..d9a575b518 100644 --- a/quantum/action_code.h +++ b/quantum/action_code.h @@ -167,11 +167,11 @@ enum mods_codes { MODS_TAP_TOGGLE = 0x01, }; #define ACTION_KEY(key) ACTION(ACT_MODS, (key)) -#define ACTION_MODS(mods) ACTION(ACT_MODS, ((mods) & 0x1f) << 8 | 0) -#define ACTION_MODS_KEY(mods, key) ACTION(ACT_MODS, ((mods) & 0x1f) << 8 | (key)) -#define ACTION_MODS_TAP_KEY(mods, key) ACTION(ACT_MODS_TAP, ((mods) & 0x1f) << 8 | (key)) -#define ACTION_MODS_ONESHOT(mods) ACTION(ACT_MODS_TAP, ((mods) & 0x1f) << 8 | MODS_ONESHOT) -#define ACTION_MODS_TAP_TOGGLE(mods) ACTION(ACT_MODS_TAP, ((mods) & 0x1f) << 8 | MODS_TAP_TOGGLE) +#define ACTION_MODS(mods) ACTION(ACT_MODS, ((mods)&0x1f) << 8 | 0) +#define ACTION_MODS_KEY(mods, key) ACTION(ACT_MODS, ((mods)&0x1f) << 8 | (key)) +#define ACTION_MODS_TAP_KEY(mods, key) ACTION(ACT_MODS_TAP, ((mods)&0x1f) << 8 | (key)) +#define ACTION_MODS_ONESHOT(mods) ACTION(ACT_MODS_TAP, ((mods)&0x1f) << 8 | MODS_ONESHOT) +#define ACTION_MODS_TAP_TOGGLE(mods) ACTION(ACT_MODS_TAP, ((mods)&0x1f) << 8 | MODS_TAP_TOGGLE) /** \brief Other Keys */ @@ -210,7 +210,7 @@ enum layer_param_tap_op { OP_SET_CLEAR, OP_ONESHOT, }; -#define ACTION_LAYER_BITOP(op, part, bits, on) ACTION(ACT_LAYER, (op) << 10 | (on) << 8 | (part) << 5 | ((bits) & 0x1f)) +#define ACTION_LAYER_BITOP(op, part, bits, on) ACTION(ACT_LAYER, (op) << 10 | (on) << 8 | (part) << 5 | ((bits)&0x1f)) #define ACTION_LAYER_TAP(layer, key) ACTION(ACT_LAYER_TAP, (layer) << 8 | (key)) /* Default Layer */ #define ACTION_DEFAULT_LAYER_SET(layer) ACTION_DEFAULT_LAYER_BIT_SET((layer) / 4, 1 << ((layer) % 4)) diff --git a/quantum/action_layer.c b/quantum/action_layer.c index 0a088ab5f0..5828dcb824 100644 --- a/quantum/action_layer.c +++ b/quantum/action_layer.c @@ -60,7 +60,7 @@ static void default_layer_state_set(layer_state_t state) { * Print out the hex value of the 32-bit default layer state, as well as the value of the highest bit. */ void default_layer_debug(void) { - ac_dprintf("%08lX(%u)", (uint32_t)default_layer_state, get_highest_layer(default_layer_state)); + ac_dprintf("%08hX(%u)", default_layer_state, get_highest_layer(default_layer_state)); } /** \brief Default Layer Set @@ -231,7 +231,7 @@ void layer_xor(layer_state_t state) { * Print out the hex value of the 32-bit layer state, as well as the value of the highest bit. */ void layer_debug(void) { - ac_dprintf("%08lX(%u)", (uint32_t)layer_state, get_highest_layer(layer_state)); + ac_dprintf("%08hX(%u)", layer_state, get_highest_layer(layer_state)); } #endif diff --git a/quantum/action_tapping.c b/quantum/action_tapping.c index d8069917b4..b105cd60a9 100644 --- a/quantum/action_tapping.c +++ b/quantum/action_tapping.c @@ -6,10 +6,8 @@ #include "action_tapping.h" #include "action_util.h" #include "keycode.h" -#include "keycode_config.h" #include "quantum_keycodes.h" #include "timer.h" -#include "wait.h" #ifndef NO_ACTION_TAPPING @@ -53,21 +51,6 @@ __attribute__((weak)) bool get_permissive_hold(uint16_t keycode, keyrecord_t *re } # endif -# ifdef SPECULATIVE_HOLD -typedef struct { - keypos_t key; - uint8_t mods; -} speculative_key_t; -# define SPECULATIVE_KEYS_SIZE 8 -static speculative_key_t speculative_keys[SPECULATIVE_KEYS_SIZE] = {}; -static uint8_t num_speculative_keys = 0; -static uint8_t prev_speculative_mods = 0; -static uint8_t speculative_mods = 0; - -/** Handler to be called on incoming press events. */ -static void speculative_key_press(keyrecord_t *record); -# endif // SPECULATIVE_HOLD - # if defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM) # define REGISTERED_TAPS_SIZE 8 // Array of tap-hold keys that have been settled as tapped but not yet released. @@ -119,13 +102,11 @@ __attribute__((weak)) bool get_hold_on_other_key_press(uint16_t keycode, keyreco # include "process_auto_shift.h" # endif -# if defined(FLOW_TAP_TERM) || defined(SPECULATIVE_HOLD_FLOW_TERM) +# if defined(FLOW_TAP_TERM) static uint16_t flow_tap_prev_keycode = KC_NO; static uint16_t flow_tap_prev_time = 0; static bool flow_tap_expired = true; -# endif // defined(FLOW_TAP_TERM) || defined(SPECULATIVE_HOLD_FLOW_TERM) -# if defined(FLOW_TAP_TERM) static bool flow_tap_key_if_within_term(keyrecord_t *record, uint16_t prev_time); # endif // defined(FLOW_TAP_TERM) @@ -148,13 +129,6 @@ static void debug_waiting_buffer(void); * FIXME: Needs doc */ void action_tapping_process(keyrecord_t record) { -# ifdef SPECULATIVE_HOLD - prev_speculative_mods = speculative_mods; - if (record.event.pressed) { - speculative_key_press(&record); - } -# endif // SPECULATIVE_HOLD - if (process_tapping(&record)) { if (IS_EVENT(record.event)) { ac_dprintf("processed: "); @@ -171,12 +145,6 @@ void action_tapping_process(keyrecord_t record) { } } -# ifdef SPECULATIVE_HOLD - if (speculative_mods != prev_speculative_mods) { - send_keyboard_report(); - } -# endif // SPECULATIVE_HOLD - // process waiting_buffer if (IS_EVENT(record.event) && waiting_buffer_head != waiting_buffer_tail) { ac_dprintf("---- action_exec: process waiting_buffer -----\n"); @@ -193,11 +161,11 @@ void action_tapping_process(keyrecord_t record) { if (IS_EVENT(record.event)) { ac_dprintf("\n"); } else { -# if defined(FLOW_TAP_TERM) || defined(SPECULATIVE_HOLD_FLOW_TERM) +# ifdef FLOW_TAP_TERM if (!flow_tap_expired && TIMER_DIFF_16(record.event.time, flow_tap_prev_time) >= INT16_MAX / 2) { flow_tap_expired = true; } -# endif // defined(FLOW_TAP_TERM) || defined(SPECULATIVE_HOLD_FLOW_TERM) +# endif // FLOW_TAP_TERM } } @@ -476,28 +444,28 @@ bool process_tapping(keyrecord_t *keyp) { && !(MAYBE_RETRO_SHIFTING(event, keyp) && get_auto_shifted_key(get_record_keycode(keyp, false), keyp)) # endif ) { - // Settle the tapping key as *held*, since - // HOLD_ON_OTHER_KEY_PRESS is enabled for this key. - ac_dprintf("Tapping: End. No tap. Interfered by pressed key\n"); - process_record(&tapping_key); + // Settle the tapping key as *held*, since + // HOLD_ON_OTHER_KEY_PRESS is enabled for this key. + ac_dprintf("Tapping: End. No tap. Interfered by pressed key\n"); + process_record(&tapping_key); # if defined(CHORDAL_HOLD) - if (waiting_buffer_tail != waiting_buffer_head && is_tap_record(&waiting_buffer[waiting_buffer_tail])) { - tapping_key = waiting_buffer[waiting_buffer_tail]; - // Pop tail from the queue. - waiting_buffer_tail = (waiting_buffer_tail + 1) % WAITING_BUFFER_SIZE; - debug_waiting_buffer(); - } else -# endif // CHORDAL_HOLD - { - tapping_key = (keyrecord_t){0}; - } - debug_tapping_key(); - -# if defined(CHORDAL_HOLD) - waiting_buffer_process_regular(); + if (waiting_buffer_tail != waiting_buffer_head && is_tap_record(&waiting_buffer[waiting_buffer_tail])) { + tapping_key = waiting_buffer[waiting_buffer_tail]; + // Pop tail from the queue. + waiting_buffer_tail = (waiting_buffer_tail + 1) % WAITING_BUFFER_SIZE; + debug_waiting_buffer(); + } else # endif // CHORDAL_HOLD + { + tapping_key = (keyrecord_t){0}; } + debug_tapping_key(); + +# if defined(CHORDAL_HOLD) + waiting_buffer_process_regular(); +# endif // CHORDAL_HOLD + } } // enqueue return false; @@ -740,158 +708,6 @@ void waiting_buffer_scan_tap(void) { } } -# ifdef SPECULATIVE_HOLD -static void debug_speculative_keys(void) { - ac_dprintf("mods = { "); - for (int8_t i = 0; i < num_speculative_keys; ++i) { - ac_dprintf("%02X ", speculative_keys[i].mods); - } - ac_dprintf("}, keys = { "); - for (int8_t i = 0; i < num_speculative_keys; ++i) { - ac_dprintf("%02X%02X ", speculative_keys[i].key.row, speculative_keys[i].key.col); - } - ac_dprintf("}\n"); -} - -// Find key in speculative_keys. Returns num_speculative_keys if not found. -static int8_t speculative_keys_find(keypos_t key) { - uint8_t i; - for (i = 0; i < num_speculative_keys; ++i) { - if (KEYEQ(speculative_keys[i].key, key)) { - break; - } - } - return i; -} - -static void speculative_key_press(keyrecord_t *record) { - if (num_speculative_keys >= SPECULATIVE_KEYS_SIZE) { // Overflow! - ac_dprintf("SPECULATIVE KEYS OVERFLOW: IGNORING EVENT\n"); - return; // Don't trigger: speculative_keys is full. - } - if (speculative_keys_find(record->event.key) < num_speculative_keys) { - return; // Don't trigger: key is already in speculative_keys. - } -# ifdef SPECULATIVE_HOLD_FLOW_TERM - if (!flow_tap_expired && TIMER_DIFF_16(record->event.time, flow_tap_prev_time) <= SPECULATIVE_HOLD_FLOW_TERM) { - return; // Don't trigger: within flow term of previous key. - } -# endif // SPECULATIVE_HOLD_FLOW_TERM - - const uint16_t keycode = get_record_keycode(record, false); - if (!IS_QK_MOD_TAP(keycode)) { - return; // Don't trigger: not a mod-tap key. - } - - uint8_t mods = mod_config(QK_MOD_TAP_GET_MODS(keycode)); - const uint8_t active_mods = get_mods() | speculative_mods; -# ifdef SPECULATIVE_HOLD_ONE_KEY - if (active_mods != 0) { - return; // Don't trigger: some mod is already active. - } -# endif // SPECULATIVE_HOLD_ONE_KEY - if ((mods & 0x10) != 0) { // Unpack 5-bit mods to 8-bit representation. - mods <<= 4; - } - if ((~active_mods & mods) == 0) { - return; // Don't trigger: mods are already active. - } - - // Don't do Speculative Hold when there are non-speculated buffered events, - // since that could result in sending keys out of order. - for (uint8_t i = waiting_buffer_tail; i != waiting_buffer_head; i = (i + 1) % WAITING_BUFFER_SIZE) { - if (!waiting_buffer[i].tap.speculated) { - return; - } - } - - if (get_speculative_hold(keycode, record)) { - record->tap.speculated = true; - speculative_mods |= mods; - // Remember the keypos and mods associated with this key. - speculative_keys[num_speculative_keys] = (speculative_key_t){ - .key = record->event.key, - .mods = mods, - }; - ++num_speculative_keys; - - ac_dprintf("Speculative Hold: "); - debug_speculative_keys(); - } -} - -uint8_t get_speculative_mods(void) { - return speculative_mods; -} - -__attribute__((weak)) bool get_speculative_hold(uint16_t keycode, keyrecord_t *record) { - const uint8_t mods = mod_config(QK_MOD_TAP_GET_MODS(keycode)); - return (mods & (MOD_LCTL | MOD_LSFT)) == (mods & (MOD_HYPR)); -} - -void speculative_key_settled(keyrecord_t *record) { - if (num_speculative_keys == 0) { - return; // Early return when there are no active speculative keys. - } - - uint8_t i = speculative_keys_find(record->event.key); - - const uint16_t keycode = get_record_keycode(record, false); - if (IS_QK_MOD_TAP(keycode) && record->tap.count == 0) { // MT hold press. - if (i < num_speculative_keys) { - --num_speculative_keys; - const uint8_t cleared_mods = speculative_keys[i].mods; - - if (num_speculative_keys) { - speculative_mods &= ~cleared_mods; - // Don't call send_keyboard_report() here; allow default - // handling to reapply the mod before the next report. - - // Remove the ith entry from speculative_keys. - for (uint8_t j = i; j < num_speculative_keys; ++j) { - speculative_keys[j] = speculative_keys[j + 1]; - } - } else { - speculative_mods = 0; - } - - ac_dprintf("Speculative Hold: settled %02x, ", cleared_mods); - debug_speculative_keys(); - } - } else { // Tap press event; cancel speculatively-held mod. - if (i >= num_speculative_keys) { - i = 0; - } - - // Clear mods for the ith key and all keys that follow. - uint8_t cleared_mods = 0; - for (uint8_t j = i; j < num_speculative_keys; ++j) { - cleared_mods |= speculative_keys[j].mods; - } - - num_speculative_keys = i; // Remove ith and following entries. - - if ((prev_speculative_mods & cleared_mods) != 0) { -# ifdef DUMMY_MOD_NEUTRALIZER_KEYCODE - neutralize_flashing_modifiers(get_mods() | prev_speculative_mods); -# endif // DUMMY_MOD_NEUTRALIZER_KEYCODE - } - - if (num_speculative_keys) { - speculative_mods &= ~cleared_mods; - } else { - speculative_mods = 0; - } - - send_keyboard_report(); - wait_ms(TAP_CODE_DELAY); - - ac_dprintf("Speculative Hold: canceled %02x, ", cleared_mods); - debug_speculative_keys(); - } -} -# endif // SPECULATIVE_HOLD - # if defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM) static void registered_taps_add(keypos_t key) { if (num_registered_taps >= REGISTERED_TAPS_SIZE) { @@ -959,7 +775,7 @@ static uint8_t waiting_buffer_find_chordal_hold_tap(void) { uint16_t prev_keycode = get_record_keycode(&tapping_key, false); uint8_t first_tap = WAITING_BUFFER_SIZE; for (uint8_t i = waiting_buffer_tail; i != waiting_buffer_head; i = (i + 1) % WAITING_BUFFER_SIZE) { - keyrecord_t *cur = &waiting_buffer[i]; + keyrecord_t * cur = &waiting_buffer[i]; const uint16_t cur_keycode = get_record_keycode(cur, false); if (!cur->event.pressed || !is_mt_or_lt(prev_keycode)) { break; @@ -1001,7 +817,7 @@ static void waiting_buffer_process_regular(void) { } # endif // CHORDAL_HOLD -# if defined(FLOW_TAP_TERM) || defined(SPECULATIVE_HOLD_FLOW_TERM) +# ifdef FLOW_TAP_TERM void flow_tap_update_last_event(keyrecord_t *record) { const uint16_t keycode = get_record_keycode(record, false); // Don't update while a tap-hold key is unsettled. @@ -1041,9 +857,7 @@ void flow_tap_update_last_event(keyrecord_t *record) { flow_tap_prev_time = record->event.time; flow_tap_expired = false; } -# endif // defined(FLOW_TAP_TERM) || defined(SPECULATIVE_HOLD_FLOW_TERM) -# ifdef FLOW_TAP_TERM static bool flow_tap_key_if_within_term(keyrecord_t *record, uint16_t prev_time) { const uint16_t idle_time = TIMER_DIFF_16(record->event.time, prev_time); if (flow_tap_expired || idle_time >= 500) { @@ -1069,13 +883,6 @@ static bool flow_tap_key_if_within_term(keyrecord_t *record, uint16_t prev_time) return false; } -// Checks both flow_tap_expired flag and elapsed time to determine -// if the key is within the flow tap term. -bool within_flow_tap_term(uint16_t keycode, keyrecord_t *record) { - uint16_t term = get_flow_tap_term(keycode, record, flow_tap_prev_keycode); - return !flow_tap_expired && TIMER_DIFF_16(record->event.time, flow_tap_prev_time) <= term; -} - // By default, enable Flow Tap for the keys in the main alphas area and Space. // This should work reasonably even if the layout is remapped on the host to an // alt layout or international layout (e.g. Dvorak or AZERTY), where these same diff --git a/quantum/action_tapping.h b/quantum/action_tapping.h index 2245329633..0cf4aa1200 100644 --- a/quantum/action_tapping.h +++ b/quantum/action_tapping.h @@ -46,36 +46,6 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record); bool get_retro_tapping(uint16_t keycode, keyrecord_t *record); bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record); -#ifdef SPECULATIVE_HOLD -/** Gets the currently active speculative mods. */ -uint8_t get_speculative_mods(void); - -/** - * Callback to say if a mod-tap key may be speculatively held. - * - * By default, speculative hold is enabled for mod-tap keys where the mod is - * Ctrl, Shift, and Ctrl+Shift for either hand. - * - * @param keycode Keycode of the mod-tap key. - * @param record Record associated with the mod-tap press event. - * @return True if the mod-tap key may be speculatively held. - */ -bool get_speculative_hold(uint16_t keycode, keyrecord_t *record); - -/** - * Handler to be called on press events after tap-holds are settled. - * - * This function is to be called in process_record() in action.c, that is, just - * after tap-hold events are settled as either tapped or held. When `record` - * corresponds to a speculatively-held key, the speculative mod is cleared. - * - * @param record Record associated with the mod-tap press event. - */ -void speculative_key_settled(keyrecord_t *record); -#else -# define get_speculative_mods() 0 -#endif // SPECULATIVE_HOLD - #ifdef CHORDAL_HOLD /** * Callback to say when a key chord before the tapping term may be held. @@ -197,21 +167,9 @@ bool is_flow_tap_key(uint16_t keycode); */ uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t *record, uint16_t prev_keycode); -/** - * Checks if the pressed key is within the flow tap term. - * Can be used to avoid triggering combos or other actions within the flow tap term. - * - * @param keycode The keycode of the pressed key. - * @param record The keyrecord of the pressed key. - * @return True if the pressed key is within the flow tap term; false otherwise. - */ -bool within_flow_tap_term(uint16_t keycode, keyrecord_t *record); -#endif // FLOW_TAP_TERM - -#if defined(FLOW_TAP_TERM) || defined(SPECULATIVE_HOLD_FLOW_TERM) /** Updates the Flow Tap last key and timer. */ void flow_tap_update_last_event(keyrecord_t *record); -#endif // defined(FLOW_TAP_TERM) || defined(SPECULATIVE_HOLD_FLOW_TERM) +#endif // FLOW_TAP_TERM #ifdef DYNAMIC_TAPPING_TERM_ENABLE extern uint16_t g_tapping_term; diff --git a/quantum/action_util.c b/quantum/action_util.c index 00cec24e3f..e821e113ef 100644 --- a/quantum/action_util.c +++ b/quantum/action_util.c @@ -19,7 +19,6 @@ along with this program. If not, see . #include "debug.h" #include "action_util.h" #include "action_layer.h" -#include "action_tapping.h" #include "timer.h" #include "keycode_config.h" #include @@ -47,20 +46,9 @@ extern inline void clear_keys(void); #ifndef NO_ACTION_ONESHOT static uint8_t oneshot_mods = 0; static uint8_t oneshot_locked_mods = 0; -/** - * @brief Retrieve current state of locked oneshot modifiers. - * - * @return Current state of the locked oneshot modifier keys as a bitmask. - */ -uint8_t get_oneshot_locked_mods(void) { +uint8_t get_oneshot_locked_mods(void) { return oneshot_locked_mods; } -/** - * Same as \ref get_oneshot_locked_mods but returns \ref mod_t for convenience. - */ -mod_t get_oneshot_locked_mod_state(void) { - return (mod_t)get_oneshot_locked_mods(); -} void add_oneshot_locked_mods(uint8_t mods) { if ((oneshot_locked_mods & mods) != mods) { oneshot_locked_mods |= mods; @@ -285,10 +273,6 @@ static uint8_t get_mods_for_report(void) { } #endif -#ifdef SPECULATIVE_HOLD - mods |= get_speculative_mods(); -#endif - #ifdef KEY_OVERRIDE_ENABLE // These need to be last to be able to properly control key overrides mods &= ~suppressed_mods; @@ -342,20 +326,13 @@ void send_keyboard_report(void) { send_6kro_report(); } -/** - * @brief Retrieve current state of modifiers. +/** \brief Get mods * - * @return Current state of the modifier keys as a bitmask. + * FIXME: needs doc */ uint8_t get_mods(void) { return real_mods; } -/** - * Same as \ref get_mods but returns \ref mod_t for convenience. - */ -mod_t get_mod_state(void) { - return (mod_t)get_mods(); -} /** \brief add mods * * FIXME: needs doc @@ -385,20 +362,13 @@ void clear_mods(void) { real_mods = 0; } -/** - * @brief Retrieve current state of weak modifiers. +/** \brief get weak mods * - * @return Current state of the weak modifier keys as a bitmask. + * FIXME: needs doc */ uint8_t get_weak_mods(void) { return weak_mods; } -/** - * Same as \ref get_weak_mods but returns \ref mod_t for convenience. - */ -mod_t get_weak_mod_state(void) { - return (mod_t)get_weak_mods(); -} /** \brief add weak mods * * FIXME: needs doc @@ -453,22 +423,14 @@ void clear_suppressed_override_mods(void) { #endif #ifndef NO_ACTION_ONESHOT -/** - * @brief Retrieve current state of oneshot modifiers. +/** \brief get oneshot mods * - * @return Current state of the oneshot modifier keys as a bitmask. + * FIXME: needs doc */ uint8_t get_oneshot_mods(void) { return oneshot_mods; } -/** - * Same as \ref get_oneshot_mods but returns \ref mod_t for convenience. - */ -mod_t get_oneshot_mod_state(void) { - return (mod_t)get_oneshot_mods(); -} - void add_oneshot_mods(uint8_t mods) { if ((oneshot_mods & mods) != mods) { # if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0)) diff --git a/quantum/action_util.h b/quantum/action_util.h index f3178bba6e..d2ecb145be 100644 --- a/quantum/action_util.h +++ b/quantum/action_util.h @@ -18,8 +18,6 @@ along with this program. If not, see . #pragma once #include - -#include "compiler_support.h" #include "report.h" #include "modifiers.h" @@ -27,21 +25,6 @@ along with this program. If not, see . extern "C" { #endif -typedef union { - uint8_t raw; - struct { - bool left_ctrl : 1; - bool left_shift : 1; - bool left_alt : 1; - bool left_gui : 1; - bool right_ctrl : 1; - bool right_shift : 1; - bool right_alt : 1; - bool right_gui : 1; - }; -} PACKED mod_t; -STATIC_ASSERT(sizeof(mod_t) == sizeof(uint8_t), "Invalid size for 'mod_t'"); - extern report_keyboard_t *keyboard_report; #ifdef NKRO_ENABLE extern report_nkro_t *nkro_report; @@ -64,7 +47,6 @@ inline void clear_keys(void) { /* modifier */ uint8_t get_mods(void); -mod_t get_mod_state(void); void add_mods(uint8_t mods); void del_mods(uint8_t mods); void set_mods(uint8_t mods); @@ -72,7 +54,6 @@ void clear_mods(void); /* weak modifier */ uint8_t get_weak_mods(void); -mod_t get_weak_mod_state(void); void add_weak_mods(uint8_t mods); void del_weak_mods(uint8_t mods); void set_weak_mods(uint8_t mods); @@ -80,7 +61,6 @@ void clear_weak_mods(void); /* oneshot modifier */ uint8_t get_oneshot_mods(void); -mod_t get_oneshot_mod_state(void); void add_oneshot_mods(uint8_t mods); void del_oneshot_mods(uint8_t mods); void set_oneshot_mods(uint8_t mods); @@ -88,7 +68,6 @@ void clear_oneshot_mods(void); bool has_oneshot_mods_timed_out(void); uint8_t get_oneshot_locked_mods(void); -mod_t get_oneshot_locked_mod_state(void); void add_oneshot_locked_mods(uint8_t mods); void set_oneshot_locked_mods(uint8_t mods); void clear_oneshot_locked_mods(void); @@ -135,7 +114,8 @@ void clear_oneshot_swaphands(void); void neutralize_flashing_modifiers(uint8_t active_mods); #endif #ifndef MODS_TO_NEUTRALIZE -# define MODS_TO_NEUTRALIZE {MOD_BIT(KC_LEFT_ALT), MOD_BIT(KC_LEFT_GUI)} +# define MODS_TO_NEUTRALIZE \ + { MOD_BIT(KC_LEFT_ALT), MOD_BIT(KC_LEFT_GUI) } #endif #ifdef __cplusplus diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c index b6b39a9350..461ec89544 100644 --- a/quantum/audio/audio.c +++ b/quantum/audio/audio.c @@ -71,10 +71,6 @@ # define AUDIO_DEFAULT_CLICKY_ON true #endif -#ifndef AUDIO_SHUTDOWN_DELAY -# define AUDIO_SHUTDOWN_DELAY 250 -#endif - #ifndef AUDIO_TONE_STACKSIZE # define AUDIO_TONE_STACKSIZE 8 #endif @@ -118,14 +114,9 @@ extern uint16_t voices_timer; #ifndef AUDIO_OFF_SONG # define AUDIO_OFF_SONG SONG(AUDIO_OFF_SOUND) #endif -#ifndef GOODBYE_SONG -# define GOODBYE_SONG SONG(GOODBYE_SOUND) -#endif - float startup_song[][2] = STARTUP_SONG; float audio_on_song[][2] = AUDIO_ON_SONG; float audio_off_song[][2] = AUDIO_OFF_SONG; -float goodbye_song[][2] = GOODBYE_SONG; static bool audio_initialized = false; static bool audio_driver_stopped = true; @@ -219,18 +210,6 @@ void audio_startup(void) { last_timestamp = timer_read(); } -void audio_shutdown(void) { - uint16_t timer_start = timer_read(); - - PLAY_SONG(goodbye_song); - - while (timer_elapsed(timer_start) < AUDIO_SHUTDOWN_DELAY) { - wait_ms(1); - } - - stop_all_notes(); -} - void audio_toggle(void) { if (audio_config.enable) { stop_all_notes(); diff --git a/quantum/audio/audio.h b/quantum/audio/audio.h index 2cc8143980..a41814d0f8 100644 --- a/quantum/audio/audio.h +++ b/quantum/audio/audio.h @@ -218,8 +218,6 @@ uint16_t audio_ms_to_duration(uint16_t duration_ms); void audio_startup(void); -void audio_shutdown(void); - // hardware interface // implementation in the driver_avr/arm_* respective parts diff --git a/quantum/audio/musical_notes.h b/quantum/audio/musical_notes.h index 6b1717f35d..ddd7d374f5 100644 --- a/quantum/audio/musical_notes.h +++ b/quantum/audio/musical_notes.h @@ -21,10 +21,12 @@ // in beats-per-minute #endif -#define SONG(notes...) {notes} +#define SONG(notes...) \ + { notes } // Note Types -#define MUSICAL_NOTE(note, duration) {(NOTE##note), duration} +#define MUSICAL_NOTE(note, duration) \ + { (NOTE##note), duration } #define BREVE_NOTE(note) MUSICAL_NOTE(note, 128) #define WHOLE_NOTE(note) MUSICAL_NOTE(note, 64) diff --git a/quantum/backlight/backlight_driver_common.c b/quantum/backlight/backlight_driver_common.c index 9242aba594..fb2770ee3c 100644 --- a/quantum/backlight/backlight_driver_common.c +++ b/quantum/backlight/backlight_driver_common.c @@ -16,9 +16,7 @@ static const pin_t backlight_pins[] = BACKLIGHT_PINS; # define FOR_EACH_LED(x) \ for (uint8_t i = 0; i < BACKLIGHT_LED_COUNT; i++) { \ pin_t backlight_pin = backlight_pins[i]; \ - { \ - x \ - } \ + { x } \ } #else // we support only one backlight pin diff --git a/quantum/command.c b/quantum/command.c index 86e958e568..ea2fd68e2b 100644 --- a/quantum/command.c +++ b/quantum/command.c @@ -629,7 +629,7 @@ static void mousekey_console_help(void) { bool mousekey_console(uint8_t code) { static uint8_t param = 0; static uint8_t *pp = NULL; - static char *desc = NULL; + static char * desc = NULL; # if defined(NO_PRINT) || defined(USER_PRINT) /* -Wunused-parameter */ (void)desc; diff --git a/quantum/debounce.h b/quantum/debounce.h index e26106cd3b..cea1f2b526 100644 --- a/quantum/debounce.h +++ b/quantum/debounce.h @@ -9,10 +9,13 @@ * * @param raw The current key state * @param cooked The debounced key state + * @param num_rows Number of rows to debounce * @param changed True if raw has changed since the last call * @return true Cooked has new keychanges after debouncing * @return false Cooked is the same as before */ -bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed); +bool debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed); -void debounce_init(void); +void debounce_init(uint8_t num_rows); + +void debounce_free(void); diff --git a/quantum/debounce/asym_eager_defer_pk.c b/quantum/debounce/asym_eager_defer_pk.c index edd07eabc0..b6fcdc3d4e 100644 --- a/quantum/debounce/asym_eager_defer_pk.c +++ b/quantum/debounce/asym_eager_defer_pk.c @@ -1,15 +1,37 @@ -// Copyright 2017 Alex Ong -// Copyright 2020 Andrei Purdea -// Copyright 2021 Simon Arlott -// SPDX-License-Identifier: GPL-2.0-or-later -// -// Asymetric per-key algorithm. After pressing a key, it immediately changes state, -// with no further inputs accepted until DEBOUNCE milliseconds have occurred. After -// releasing a key, that state is pushed after no changes occur for DEBOUNCE milliseconds. +/* + * Copyright 2017 Alex Ong + * Copyright 2020 Andrei Purdea + * Copyright 2021 Simon Arlott + * + * 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 . + */ + +/* +Asymetric per-key algorithm. After pressing a key, it immediately changes state, +with no further inputs accepted until DEBOUNCE milliseconds have occurred. After +releasing a key, that state is pushed after no changes occur for DEBOUNCE milliseconds. +*/ #include "debounce.h" #include "timer.h" -#include "util.h" +#include + +#ifdef PROTOCOL_CHIBIOS +# if CH_CFG_USE_MEMCORE == FALSE +# error ChibiOS is configured without a memory allocator. Your keyboard may have set `#define CH_CFG_USE_MEMCORE FALSE`, which is incompatible with this debounce algorithm. +# endif +#endif #ifndef DEBOUNCE # define DEBOUNCE 5 @@ -21,29 +43,44 @@ # define DEBOUNCE 127 #endif -#define DEBOUNCE_ELAPSED 0 +#define ROW_SHIFTER ((matrix_row_t)1) -#if DEBOUNCE > 0 typedef struct { bool pressed : 1; uint8_t time : 7; } debounce_counter_t; -// Uses MATRIX_ROWS_PER_HAND instead of MATRIX_ROWS to support split keyboards -static debounce_counter_t debounce_counters[MATRIX_ROWS_PER_HAND * MATRIX_COLS] = {DEBOUNCE_ELAPSED}; -static bool counters_need_update; -static bool matrix_need_update; -static bool cooked_changed; +#if DEBOUNCE > 0 +static debounce_counter_t *debounce_counters; +static fast_timer_t last_time; +static bool counters_need_update; +static bool matrix_need_update; +static bool cooked_changed; -static inline void update_debounce_counters_and_transfer_if_expired(matrix_row_t raw[], matrix_row_t cooked[], uint8_t elapsed_time); -static inline void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[]); +# define DEBOUNCE_ELAPSED 0 -void debounce_init(void) {} +static void update_debounce_counters_and_transfer_if_expired(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, uint8_t elapsed_time); +static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows); -bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { - static fast_timer_t last_time; - bool updated_last = false; - cooked_changed = false; +// we use num_rows rather than MATRIX_ROWS to support split keyboards +void debounce_init(uint8_t num_rows) { + debounce_counters = malloc(num_rows * MATRIX_COLS * sizeof(debounce_counter_t)); + int i = 0; + for (uint8_t r = 0; r < num_rows; r++) { + for (uint8_t c = 0; c < MATRIX_COLS; c++) { + debounce_counters[i++].time = DEBOUNCE_ELAPSED; + } + } +} + +void debounce_free(void) { + free(debounce_counters); + debounce_counters = NULL; +} + +bool debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed) { + bool updated_last = false; + cooked_changed = false; if (counters_need_update) { fast_timer_t now = timer_read_fast(); @@ -51,10 +88,12 @@ bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { last_time = now; updated_last = true; + if (elapsed_time > UINT8_MAX) { + elapsed_time = UINT8_MAX; + } if (elapsed_time > 0) { - // Update debounce counters with elapsed timer clamped to 127 (maximum debounce) - update_debounce_counters_and_transfer_if_expired(raw, cooked, MIN(elapsed_time, 127)); + update_debounce_counters_and_transfer_if_expired(raw, cooked, num_rows, elapsed_time); } } @@ -63,96 +102,74 @@ bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { last_time = timer_read_fast(); } - transfer_matrix_values(raw, cooked); + transfer_matrix_values(raw, cooked, num_rows); } return cooked_changed; } -/** - * @brief Processes per-key debounce counters and updates the debounced matrix state. - * - * This function iterates through each key in the matrix and updates its debounce counter - * based on the elapsed time. If the debounce period has expired, the debounced state is - * updated accordingly for key-down (eager) and key-up (defer) events. - * - * @param raw The current raw key state matrix. - * @param cooked The debounced key state matrix to be updated. - * @param elapsed_time The time elapsed since the last debounce update, in milliseconds. - */ -static inline void update_debounce_counters_and_transfer_if_expired(matrix_row_t raw[], matrix_row_t cooked[], uint8_t elapsed_time) { +static void update_debounce_counters_and_transfer_if_expired(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, uint8_t elapsed_time) { + debounce_counter_t *debounce_pointer = debounce_counters; + counters_need_update = false; matrix_need_update = false; - for (uint8_t row = 0; row < MATRIX_ROWS_PER_HAND; row++) { - uint16_t row_offset = row * MATRIX_COLS; - + for (uint8_t row = 0; row < num_rows; row++) { for (uint8_t col = 0; col < MATRIX_COLS; col++) { - uint16_t index = row_offset + col; + matrix_row_t col_mask = (ROW_SHIFTER << col); - if (debounce_counters[index].time != DEBOUNCE_ELAPSED) { - if (debounce_counters[index].time <= elapsed_time) { - debounce_counters[index].time = DEBOUNCE_ELAPSED; + if (debounce_pointer->time != DEBOUNCE_ELAPSED) { + if (debounce_pointer->time <= elapsed_time) { + debounce_pointer->time = DEBOUNCE_ELAPSED; - if (debounce_counters[index].pressed) { + if (debounce_pointer->pressed) { // key-down: eager matrix_need_update = true; } else { // key-up: defer - matrix_row_t col_mask = (MATRIX_ROW_SHIFTER << col); matrix_row_t cooked_next = (cooked[row] & ~col_mask) | (raw[row] & col_mask); cooked_changed |= cooked_next ^ cooked[row]; cooked[row] = cooked_next; } } else { - debounce_counters[index].time -= elapsed_time; + debounce_pointer->time -= elapsed_time; counters_need_update = true; } } + debounce_pointer++; } } } -/** - * @brief Applies debounced changes to the matrix state based on per-key counters. - * - * This function compares the raw and cooked key state matrices to detect changes. - * For each key, it updates the debounce counter and the debounced state according - * to the debounce algorithm. Key-down events are handled eagerly, while key-up - * events are deferred until the debounce period has elapsed. - * - * @param raw The current raw key state matrix. - * @param cooked The debounced key state matrix to be updated. - */ -static inline void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[]) { +static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows) { + debounce_counter_t *debounce_pointer = debounce_counters; + matrix_need_update = false; - for (uint8_t row = 0; row < MATRIX_ROWS_PER_HAND; row++) { - uint16_t row_offset = row * MATRIX_COLS; - matrix_row_t delta = raw[row] ^ cooked[row]; - + for (uint8_t row = 0; row < num_rows; row++) { + matrix_row_t delta = raw[row] ^ cooked[row]; for (uint8_t col = 0; col < MATRIX_COLS; col++) { - uint16_t index = row_offset + col; - matrix_row_t col_mask = (MATRIX_ROW_SHIFTER << col); + matrix_row_t col_mask = (ROW_SHIFTER << col); if (delta & col_mask) { - if (debounce_counters[index].time == DEBOUNCE_ELAPSED) { - debounce_counters[index].pressed = (raw[row] & col_mask); - debounce_counters[index].time = DEBOUNCE; - counters_need_update = true; + if (debounce_pointer->time == DEBOUNCE_ELAPSED) { + debounce_pointer->pressed = (raw[row] & col_mask); + debounce_pointer->time = DEBOUNCE; + counters_need_update = true; - if (debounce_counters[index].pressed) { + if (debounce_pointer->pressed) { // key-down: eager cooked[row] ^= col_mask; cooked_changed = true; } } - } else if (debounce_counters[index].time != DEBOUNCE_ELAPSED) { - if (!debounce_counters[index].pressed) { + } else if (debounce_pointer->time != DEBOUNCE_ELAPSED) { + if (!debounce_pointer->pressed) { // key-up: defer - debounce_counters[index].time = DEBOUNCE_ELAPSED; + debounce_pointer->time = DEBOUNCE_ELAPSED; } } + debounce_pointer++; } } } diff --git a/quantum/debounce/none.c b/quantum/debounce/none.c index e614f41a6b..0a8ccfc4ee 100644 --- a/quantum/debounce/none.c +++ b/quantum/debounce/none.c @@ -17,13 +17,13 @@ #include "debounce.h" #include -void debounce_init(void) {} +void debounce_init(uint8_t num_rows) {} -bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { +bool debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed) { bool cooked_changed = false; if (changed) { - size_t matrix_size = MATRIX_ROWS_PER_HAND * sizeof(matrix_row_t); + size_t matrix_size = num_rows * sizeof(matrix_row_t); if (memcmp(cooked, raw, matrix_size) != 0) { memcpy(cooked, raw, matrix_size); cooked_changed = true; @@ -32,3 +32,5 @@ bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { return cooked_changed; } + +void debounce_free(void) {} diff --git a/quantum/debounce/sym_defer_g.c b/quantum/debounce/sym_defer_g.c index a60a131072..d96758fab3 100644 --- a/quantum/debounce/sym_defer_g.c +++ b/quantum/debounce/sym_defer_g.c @@ -1,10 +1,22 @@ -// Copyright 2017 Alex Ong -// Copyright 2021 Simon Arlott -// SPDX-License-Identifier: GPL-2.0-or-later -// -// Basic global debounce algorithm. Used in 99% of keyboards at time of implementation -// When no state changes have occured for DEBOUNCE milliseconds, we push the state. +/* +Copyright 2017 Alex Ong +Copyright 2021 Simon Arlott +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 . +*/ +/* +Basic global debounce algorithm. Used in 99% of keyboards at time of implementation +When no state changes have occured for DEBOUNCE milliseconds, we push the state. +*/ #include "debounce.h" #include "timer.h" #include @@ -19,19 +31,19 @@ #endif #if DEBOUNCE > 0 +static bool debouncing = false; +static fast_timer_t debouncing_time; -void debounce_init(void) {} +void debounce_init(uint8_t num_rows) {} -bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { - static fast_timer_t debouncing_time; - static bool debouncing = false; - bool cooked_changed = false; +bool debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed) { + bool cooked_changed = false; if (changed) { debouncing = true; debouncing_time = timer_read_fast(); } else if (debouncing && timer_elapsed_fast(debouncing_time) >= DEBOUNCE) { - size_t matrix_size = MATRIX_ROWS_PER_HAND * sizeof(matrix_row_t); + size_t matrix_size = num_rows * sizeof(matrix_row_t); if (memcmp(cooked, raw, matrix_size) != 0) { memcpy(cooked, raw, matrix_size); cooked_changed = true; @@ -42,6 +54,7 @@ bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { return cooked_changed; } +void debounce_free(void) {} #else // no debouncing. # include "none.c" #endif diff --git a/quantum/debounce/sym_defer_pk.c b/quantum/debounce/sym_defer_pk.c index b910571219..156535a373 100644 --- a/quantum/debounce/sym_defer_pk.c +++ b/quantum/debounce/sym_defer_pk.c @@ -1,14 +1,33 @@ -// Copyright 2017 Alex Ong -// Copyright 2020 Andrei Purdea -// Copyright 2021 Simon Arlott -// SPDX-License-Identifier: GPL-2.0-or-later -// -// Basic symmetric per-key algorithm. Uses an 8-bit counter per key. -// When no state changes have occured for DEBOUNCE milliseconds, we push the state. +/* +Copyright 2017 Alex Ong +Copyright 2020 Andrei Purdea +Copyright 2021 Simon Arlott +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 . +*/ + +/* +Basic symmetric per-key algorithm. Uses an 8-bit counter per key. +When no state changes have occured for DEBOUNCE milliseconds, we push the state. +*/ #include "debounce.h" #include "timer.h" -#include "util.h" +#include + +#ifdef PROTOCOL_CHIBIOS +# if CH_CFG_USE_MEMCORE == FALSE +# error ChibiOS is configured without a memory allocator. Your keyboard may have set `#define CH_CFG_USE_MEMCORE FALSE`, which is incompatible with this debounce algorithm. +# endif +#endif #ifndef DEBOUNCE # define DEBOUNCE 5 @@ -20,24 +39,40 @@ # define DEBOUNCE UINT8_MAX #endif -#define DEBOUNCE_ELAPSED 0 +#define ROW_SHIFTER ((matrix_row_t)1) + +typedef uint8_t debounce_counter_t; #if DEBOUNCE > 0 -typedef uint8_t debounce_counter_t; -// Uses MATRIX_ROWS_PER_HAND instead of MATRIX_ROWS to support split keyboards -static debounce_counter_t debounce_counters[MATRIX_ROWS_PER_HAND * MATRIX_COLS] = {DEBOUNCE_ELAPSED}; -static bool counters_need_update; -static bool cooked_changed; +static debounce_counter_t *debounce_counters; +static fast_timer_t last_time; +static bool counters_need_update; +static bool cooked_changed; -static inline void update_debounce_counters_and_transfer_if_expired(matrix_row_t raw[], matrix_row_t cooked[], uint8_t elapsed_time); -static inline void start_debounce_counters(matrix_row_t raw[], matrix_row_t cooked[]); +# define DEBOUNCE_ELAPSED 0 -void debounce_init(void) {} +static void update_debounce_counters_and_transfer_if_expired(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, uint8_t elapsed_time); +static void start_debounce_counters(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows); -bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { - static fast_timer_t last_time; - bool updated_last = false; - cooked_changed = false; +// we use num_rows rather than MATRIX_ROWS to support split keyboards +void debounce_init(uint8_t num_rows) { + debounce_counters = (debounce_counter_t *)malloc(num_rows * MATRIX_COLS * sizeof(debounce_counter_t)); + int i = 0; + for (uint8_t r = 0; r < num_rows; r++) { + for (uint8_t c = 0; c < MATRIX_COLS; c++) { + debounce_counters[i++] = DEBOUNCE_ELAPSED; + } + } +} + +void debounce_free(void) { + free(debounce_counters); + debounce_counters = NULL; +} + +bool debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed) { + bool updated_last = false; + cooked_changed = false; if (counters_need_update) { fast_timer_t now = timer_read_fast(); @@ -45,10 +80,12 @@ bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { last_time = now; updated_last = true; + if (elapsed_time > UINT8_MAX) { + elapsed_time = UINT8_MAX; + } if (elapsed_time > 0) { - // Update debounce counters with elapsed timer clamped to UINT8_MAX - update_debounce_counters_and_transfer_if_expired(raw, cooked, MIN(elapsed_time, UINT8_MAX)); + update_debounce_counters_and_transfer_if_expired(raw, cooked, num_rows, elapsed_time); } } @@ -57,73 +94,47 @@ bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { last_time = timer_read_fast(); } - start_debounce_counters(raw, cooked); + start_debounce_counters(raw, cooked, num_rows); } return cooked_changed; } -/** - * @brief Updates debounce counters and transfers debounced key states if the debounce period has expired. - * - * Iterates through each key in the matrix and checks its debounce counter. If the debounce period has expired - * for a key, the debounced state is updated to match the raw state. Otherwise, the debounce counter is decremented - * by the elapsed time and marked for further updates. - * - * @param raw The current raw key state matrix. - * @param cooked The debounced key state matrix to be updated. - * @param elapsed_time The time elapsed since the last debounce update, in milliseconds. - */ -static inline void update_debounce_counters_and_transfer_if_expired(matrix_row_t raw[], matrix_row_t cooked[], uint8_t elapsed_time) { - counters_need_update = false; - for (uint8_t row = 0; row < MATRIX_ROWS_PER_HAND; row++) { - uint16_t row_offset = row * MATRIX_COLS; - +static void update_debounce_counters_and_transfer_if_expired(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, uint8_t elapsed_time) { + counters_need_update = false; + debounce_counter_t *debounce_pointer = debounce_counters; + for (uint8_t row = 0; row < num_rows; row++) { for (uint8_t col = 0; col < MATRIX_COLS; col++) { - uint16_t index = row_offset + col; - - if (debounce_counters[index] != DEBOUNCE_ELAPSED) { - if (debounce_counters[index] <= elapsed_time) { - debounce_counters[index] = DEBOUNCE_ELAPSED; - matrix_row_t col_mask = (MATRIX_ROW_SHIFTER << col); - matrix_row_t cooked_next = (cooked[row] & ~col_mask) | (raw[row] & col_mask); + if (*debounce_pointer != DEBOUNCE_ELAPSED) { + if (*debounce_pointer <= elapsed_time) { + *debounce_pointer = DEBOUNCE_ELAPSED; + matrix_row_t cooked_next = (cooked[row] & ~(ROW_SHIFTER << col)) | (raw[row] & (ROW_SHIFTER << col)); cooked_changed |= cooked[row] ^ cooked_next; cooked[row] = cooked_next; } else { - debounce_counters[index] -= elapsed_time; + *debounce_pointer -= elapsed_time; counters_need_update = true; } } + debounce_pointer++; } } } -/** - * @brief Initializes debounce counters for keys with changed states. - * - * For each key in the matrix, this function checks if the raw state differs from the debounced state. - * If a change is detected and the debounce counter has elapsed, the counter is set to the debounce period - * and marked for update. Otherwise, the counter is cleared. - * - * @param raw The current raw key state matrix. - * @param cooked The debounced key state matrix. - */ -static inline void start_debounce_counters(matrix_row_t raw[], matrix_row_t cooked[]) { - for (uint8_t row = 0; row < MATRIX_ROWS_PER_HAND; row++) { - uint16_t row_offset = row * MATRIX_COLS; - matrix_row_t delta = raw[row] ^ cooked[row]; - +static void start_debounce_counters(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows) { + debounce_counter_t *debounce_pointer = debounce_counters; + for (uint8_t row = 0; row < num_rows; row++) { + matrix_row_t delta = raw[row] ^ cooked[row]; for (uint8_t col = 0; col < MATRIX_COLS; col++) { - uint16_t index = row_offset + col; - - if (delta & (MATRIX_ROW_SHIFTER << col)) { - if (debounce_counters[index] == DEBOUNCE_ELAPSED) { - debounce_counters[index] = DEBOUNCE; - counters_need_update = true; + if (delta & (ROW_SHIFTER << col)) { + if (*debounce_pointer == DEBOUNCE_ELAPSED) { + *debounce_pointer = DEBOUNCE; + counters_need_update = true; } } else { - debounce_counters[index] = DEBOUNCE_ELAPSED; + *debounce_pointer = DEBOUNCE_ELAPSED; } + debounce_pointer++; } } } diff --git a/quantum/debounce/sym_defer_pr.c b/quantum/debounce/sym_defer_pr.c index feaf55b08a..d6222af5b2 100644 --- a/quantum/debounce/sym_defer_pr.c +++ b/quantum/debounce/sym_defer_pr.c @@ -1,117 +1,77 @@ -// Copyright 2017 Alex Ong -// Copyright 2020 Andrei Purdea -// Copyright 2021 Simon Arlott -// Copyright @filterpaper -// SPDX-License-Identifier: GPL-2.0-or-later -// -// Basic symmetric per-row algorithm. Uses an 8-bit counter per row. -// When no state changes have occured for DEBOUNCE milliseconds, we push the state. +/* +Copyright 2021 Chad Austin +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 . +*/ + +/* +Symmetric per-row debounce algorithm. Changes only apply when +DEBOUNCE milliseconds have elapsed since the last change. +*/ #include "debounce.h" #include "timer.h" -#include "util.h" +#include #ifndef DEBOUNCE # define DEBOUNCE 5 #endif -// Maximum debounce: 255ms -#if DEBOUNCE > UINT8_MAX -# undef DEBOUNCE -# define DEBOUNCE UINT8_MAX -#endif +static uint16_t last_time; +// [row] milliseconds until key's state is considered debounced. +static uint8_t* countdowns; +// [row] +static matrix_row_t* last_raw; -#define DEBOUNCE_ELAPSED 0 +void debounce_init(uint8_t num_rows) { + countdowns = (uint8_t*)calloc(num_rows, sizeof(uint8_t)); + last_raw = (matrix_row_t*)calloc(num_rows, sizeof(matrix_row_t)); -#if DEBOUNCE > 0 -typedef uint8_t debounce_counter_t; -// Uses MATRIX_ROWS_PER_HAND instead of MATRIX_ROWS to support split keyboards -static debounce_counter_t debounce_counters[MATRIX_ROWS_PER_HAND] = {DEBOUNCE_ELAPSED}; -static bool counters_need_update; -static bool cooked_changed; + last_time = timer_read(); +} -static inline void update_debounce_counters_and_transfer_if_expired(matrix_row_t raw[], matrix_row_t cooked[], uint8_t elapsed_time); -static inline void start_debounce_counters(matrix_row_t raw[], matrix_row_t cooked[]); +void debounce_free(void) { + free(countdowns); + countdowns = NULL; + free(last_raw); + last_raw = NULL; +} -void debounce_init(void) {} +bool debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed) { + uint16_t now = timer_read(); + uint16_t elapsed16 = TIMER_DIFF_16(now, last_time); + last_time = now; + uint8_t elapsed = (elapsed16 > 255) ? 255 : elapsed16; + bool cooked_changed = false; -bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { - static fast_timer_t last_time; - bool updated_last = false; - cooked_changed = false; + uint8_t* countdown = countdowns; - if (counters_need_update) { - fast_timer_t now = timer_read_fast(); - fast_timer_t elapsed_time = TIMER_DIFF_FAST(now, last_time); + for (uint8_t row = 0; row < num_rows; ++row, ++countdown) { + matrix_row_t raw_row = raw[row]; - last_time = now; - updated_last = true; - - if (elapsed_time > 0) { - // Update debounce counters with elapsed timer clamped to UINT8_MAX - update_debounce_counters_and_transfer_if_expired(raw, cooked, MIN(elapsed_time, UINT8_MAX)); + if (raw_row != last_raw[row]) { + *countdown = DEBOUNCE; + last_raw[row] = raw_row; + } else if (*countdown > elapsed) { + *countdown -= elapsed; + } else if (*countdown) { + cooked_changed |= cooked[row] ^ raw_row; + cooked[row] = raw_row; + *countdown = 0; } } - if (changed) { - if (!updated_last) { - last_time = timer_read_fast(); - } - - start_debounce_counters(raw, cooked); - } - return cooked_changed; } -/** - * @brief Updates debounce counters and transfers debounced row states if the debounce period has expired. - * - * Iterates through each row in the matrix and checks its debounce counter. If the debounce period has expired - * for a row, the debounced state is updated to match the raw state. Otherwise, the debounce counter is decremented - * by the elapsed time and marked for further updates. - * - * @param raw The current raw key state matrix. - * @param cooked The debounced key state matrix to be updated. - * @param elapsed_time The time elapsed since the last debounce update, in milliseconds. - */ -static inline void update_debounce_counters_and_transfer_if_expired(matrix_row_t raw[], matrix_row_t cooked[], uint8_t elapsed_time) { - counters_need_update = false; - for (uint8_t row = 0; row < MATRIX_ROWS_PER_HAND; row++) { - if (debounce_counters[row] != DEBOUNCE_ELAPSED) { - if (debounce_counters[row] <= elapsed_time) { - debounce_counters[row] = DEBOUNCE_ELAPSED; - cooked_changed |= cooked[row] ^ raw[row]; - cooked[row] = raw[row]; - } else { - debounce_counters[row] -= elapsed_time; - counters_need_update = true; - } - } - } +bool debounce_active(void) { + return true; } - -/** - * @brief Initializes debounce counters for rows with changed states. - * - * For each row in the matrix, this function checks if the raw state differs from the debounced state. - * If a change is detected and the debounce counter has elapsed, the counter is set to the debounce period - * and marked for update. Otherwise, the counter is cleared. - * - * @param raw The current raw key state matrix. - * @param cooked The debounced key state matrix. - */ -static inline void start_debounce_counters(matrix_row_t raw[], matrix_row_t cooked[]) { - for (uint8_t row = 0; row < MATRIX_ROWS_PER_HAND; row++) { - if (raw[row] != cooked[row]) { - debounce_counters[row] = DEBOUNCE; - counters_need_update = true; - } else { - debounce_counters[row] = DEBOUNCE_ELAPSED; - } - } -} - -#else -# include "none.c" -#endif diff --git a/quantum/debounce/sym_eager_pk.c b/quantum/debounce/sym_eager_pk.c index 1f53330e9c..b359e79287 100644 --- a/quantum/debounce/sym_eager_pk.c +++ b/quantum/debounce/sym_eager_pk.c @@ -21,7 +21,13 @@ No further inputs are accepted until DEBOUNCE milliseconds have occurred. #include "debounce.h" #include "timer.h" -#include "util.h" +#include + +#ifdef PROTOCOL_CHIBIOS +# if CH_CFG_USE_MEMCORE == FALSE +# error ChibiOS is configured without a memory allocator. Your keyboard may have set `#define CH_CFG_USE_MEMCORE FALSE`, which is incompatible with this debounce algorithm. +# endif +#endif #ifndef DEBOUNCE # define DEBOUNCE 5 @@ -33,25 +39,41 @@ No further inputs are accepted until DEBOUNCE milliseconds have occurred. # define DEBOUNCE UINT8_MAX #endif -#define DEBOUNCE_ELAPSED 0 +#define ROW_SHIFTER ((matrix_row_t)1) + +typedef uint8_t debounce_counter_t; #if DEBOUNCE > 0 -typedef uint8_t debounce_counter_t; -// Uses MATRIX_ROWS_PER_HAND instead of MATRIX_ROWS to support split keyboards -static debounce_counter_t debounce_counters[MATRIX_ROWS_PER_HAND * MATRIX_COLS] = {DEBOUNCE_ELAPSED}; -static bool counters_need_update; -static bool matrix_need_update; -static bool cooked_changed; +static debounce_counter_t *debounce_counters; +static fast_timer_t last_time; +static bool counters_need_update; +static bool matrix_need_update; +static bool cooked_changed; -static inline void update_debounce_counters(uint8_t elapsed_time); -static inline void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[]); +# define DEBOUNCE_ELAPSED 0 -void debounce_init(void) {} +static void update_debounce_counters(uint8_t num_rows, uint8_t elapsed_time); +static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows); -bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { - static fast_timer_t last_time; - bool updated_last = false; - cooked_changed = false; +// we use num_rows rather than MATRIX_ROWS to support split keyboards +void debounce_init(uint8_t num_rows) { + debounce_counters = (debounce_counter_t *)malloc(num_rows * MATRIX_COLS * sizeof(debounce_counter_t)); + int i = 0; + for (uint8_t r = 0; r < num_rows; r++) { + for (uint8_t c = 0; c < MATRIX_COLS; c++) { + debounce_counters[i++] = DEBOUNCE_ELAPSED; + } + } +} + +void debounce_free(void) { + free(debounce_counters); + debounce_counters = NULL; +} + +bool debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed) { + bool updated_last = false; + cooked_changed = false; if (counters_need_update) { fast_timer_t now = timer_read_fast(); @@ -59,10 +81,12 @@ bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { last_time = now; updated_last = true; + if (elapsed_time > UINT8_MAX) { + elapsed_time = UINT8_MAX; + } if (elapsed_time > 0) { - // Update debounce counters with elapsed timer clamped to UINT8_MAX - update_debounce_counters(MIN(elapsed_time, UINT8_MAX)); + update_debounce_counters(num_rows, elapsed_time); } } @@ -71,74 +95,51 @@ bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { last_time = timer_read_fast(); } - transfer_matrix_values(raw, cooked); + transfer_matrix_values(raw, cooked, num_rows); } return cooked_changed; } -/** - * @brief Updates per-key debounce counters and determines if matrix needs updating. - * - * Iterates through each key in the matrix and checks its debounce counter. If the debounce - * period has elapsed, the counter is reset and the matrix is marked for update. Otherwise, - * the counter is decremented by the elapsed time and marked for further updates if needed. - * - * @param elapsed_time The time elapsed since the last debounce update, in milliseconds. - */ -static inline void update_debounce_counters(uint8_t elapsed_time) { - counters_need_update = false; - matrix_need_update = false; - - for (uint8_t row = 0; row < MATRIX_ROWS_PER_HAND; row++) { - uint16_t row_offset = row * MATRIX_COLS; - +// If the current time is > debounce counter, set the counter to enable input. +static void update_debounce_counters(uint8_t num_rows, uint8_t elapsed_time) { + counters_need_update = false; + matrix_need_update = false; + debounce_counter_t *debounce_pointer = debounce_counters; + for (uint8_t row = 0; row < num_rows; row++) { for (uint8_t col = 0; col < MATRIX_COLS; col++) { - uint16_t index = row_offset + col; - - if (debounce_counters[index] != DEBOUNCE_ELAPSED) { - if (debounce_counters[index] <= elapsed_time) { - debounce_counters[index] = DEBOUNCE_ELAPSED; - matrix_need_update = true; + if (*debounce_pointer != DEBOUNCE_ELAPSED) { + if (*debounce_pointer <= elapsed_time) { + *debounce_pointer = DEBOUNCE_ELAPSED; + matrix_need_update = true; } else { - debounce_counters[index] -= elapsed_time; + *debounce_pointer -= elapsed_time; counters_need_update = true; } } + debounce_pointer++; } } } -/** - * @brief Transfers debounced key states from the raw matrix to the cooked matrix. - * - * For each key in the matrix, this function checks if its state has changed and if its - * debounce counter has elapsed. If so, the debounce counter is reset, the cooked matrix - * is updated to reflect the new state, and the matrix is marked for further updates. - * - * @param raw The current raw key state matrix. - * @param cooked The debounced key state matrix to be updated. - */ -static inline void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[]) { - matrix_need_update = false; - - for (uint8_t row = 0; row < MATRIX_ROWS_PER_HAND; row++) { - uint16_t row_offset = row * MATRIX_COLS; +// upload from raw_matrix to final matrix; +static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows) { + matrix_need_update = false; + debounce_counter_t *debounce_pointer = debounce_counters; + for (uint8_t row = 0; row < num_rows; row++) { matrix_row_t delta = raw[row] ^ cooked[row]; matrix_row_t existing_row = cooked[row]; - for (uint8_t col = 0; col < MATRIX_COLS; col++) { - uint16_t index = row_offset + col; - - matrix_row_t col_mask = (MATRIX_ROW_SHIFTER << col); + matrix_row_t col_mask = (ROW_SHIFTER << col); if (delta & col_mask) { - if (debounce_counters[index] == DEBOUNCE_ELAPSED) { - debounce_counters[index] = DEBOUNCE; - counters_need_update = true; + if (*debounce_pointer == DEBOUNCE_ELAPSED) { + *debounce_pointer = DEBOUNCE; + counters_need_update = true; existing_row ^= col_mask; // flip the bit. cooked_changed = true; } } + debounce_pointer++; } cooked[row] = existing_row; } diff --git a/quantum/debounce/sym_eager_pr.c b/quantum/debounce/sym_eager_pr.c index c929ff53dc..6cd9308aff 100644 --- a/quantum/debounce/sym_eager_pr.c +++ b/quantum/debounce/sym_eager_pr.c @@ -1,14 +1,33 @@ -// Copyright 2017 Alex Ong -// Copyright 2021 Simon Arlott -// SPDX-License-Identifier: GPL-2.0-or-later -// -// Basic per-row algorithm. Uses an 8-bit counter per key. -// After pressing a key, it immediately changes state, and sets a counter. -// No further inputs are accepted until DEBOUNCE milliseconds have occurred. +/* +Copyright 2019 Alex Ong +Copyright 2021 Simon Arlott +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 . +*/ + +/* +Basic per-row algorithm. Uses an 8-bit counter per row. +After pressing a key, it immediately changes state, and sets a counter. +No further inputs are accepted until DEBOUNCE milliseconds have occurred. +*/ #include "debounce.h" #include "timer.h" -#include "util.h" +#include + +#ifdef PROTOCOL_CHIBIOS +# if CH_CFG_USE_MEMCORE == FALSE +# error ChibiOS is configured without a memory allocator. Your keyboard may have set `#define CH_CFG_USE_MEMCORE FALSE`, which is incompatible with this debounce algorithm. +# endif +#endif #ifndef DEBOUNCE # define DEBOUNCE 5 @@ -20,25 +39,37 @@ # define DEBOUNCE UINT8_MAX #endif -#define DEBOUNCE_ELAPSED 0 +typedef uint8_t debounce_counter_t; #if DEBOUNCE > 0 -typedef uint8_t debounce_counter_t; -// Uses MATRIX_ROWS_PER_HAND instead of MATRIX_ROWS to support split keyboards -static debounce_counter_t debounce_counters[MATRIX_ROWS_PER_HAND] = {DEBOUNCE_ELAPSED}; -static bool counters_need_update; -static bool matrix_need_update; -static bool cooked_changed; +static bool matrix_need_update; -static inline void update_debounce_counters(uint8_t elapsed_time); -static inline void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[]); +static debounce_counter_t *debounce_counters; +static fast_timer_t last_time; +static bool counters_need_update; +static bool cooked_changed; -void debounce_init(void) {} +# define DEBOUNCE_ELAPSED 0 -bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { - static fast_timer_t last_time; - bool updated_last = false; - cooked_changed = false; +static void update_debounce_counters(uint8_t num_rows, uint8_t elapsed_time); +static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows); + +// we use num_rows rather than MATRIX_ROWS to support split keyboards +void debounce_init(uint8_t num_rows) { + debounce_counters = (debounce_counter_t *)malloc(num_rows * sizeof(debounce_counter_t)); + for (uint8_t r = 0; r < num_rows; r++) { + debounce_counters[r] = DEBOUNCE_ELAPSED; + } +} + +void debounce_free(void) { + free(debounce_counters); + debounce_counters = NULL; +} + +bool debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed) { + bool updated_last = false; + cooked_changed = false; if (counters_need_update) { fast_timer_t now = timer_read_fast(); @@ -46,10 +77,12 @@ bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { last_time = now; updated_last = true; + if (elapsed_time > UINT8_MAX) { + elapsed_time = UINT8_MAX; + } if (elapsed_time > 0) { - // Update debounce counters with elapsed timer clamped to UINT8_MAX - update_debounce_counters(MIN(elapsed_time, UINT8_MAX)); + update_debounce_counters(num_rows, elapsed_time); } } @@ -58,64 +91,49 @@ bool debounce(matrix_row_t raw[], matrix_row_t cooked[], bool changed) { last_time = timer_read_fast(); } - transfer_matrix_values(raw, cooked); + transfer_matrix_values(raw, cooked, num_rows); } return cooked_changed; } -/** - * @brief Updates per-row debounce counters and determines if matrix needs updating. - * - * Iterates through each row in the matrix and checks its debounce counter. If the debounce - * period has elapsed, the counter is reset and the matrix is marked for update. Otherwise, - * the counter is decremented by the elapsed time and marked for further updates if needed. - * - * @param elapsed_time The time elapsed since the last debounce update, in milliseconds. - */ -static inline void update_debounce_counters(uint8_t elapsed_time) { - counters_need_update = false; - matrix_need_update = false; - - for (uint8_t row = 0; row < MATRIX_ROWS_PER_HAND; row++) { - if (debounce_counters[row] != DEBOUNCE_ELAPSED) { - if (debounce_counters[row] <= elapsed_time) { - debounce_counters[row] = DEBOUNCE_ELAPSED; - matrix_need_update = true; +// If the current time is > debounce counter, set the counter to enable input. +static void update_debounce_counters(uint8_t num_rows, uint8_t elapsed_time) { + counters_need_update = false; + matrix_need_update = false; + debounce_counter_t *debounce_pointer = debounce_counters; + for (uint8_t row = 0; row < num_rows; row++) { + if (*debounce_pointer != DEBOUNCE_ELAPSED) { + if (*debounce_pointer <= elapsed_time) { + *debounce_pointer = DEBOUNCE_ELAPSED; + matrix_need_update = true; } else { - debounce_counters[row] -= elapsed_time; + *debounce_pointer -= elapsed_time; counters_need_update = true; } } + debounce_pointer++; } } -/** - * @brief Transfers debounced key states from the raw matrix to the cooked matrix. - * - * For each row in the matrix, this function checks if its state has changed and if its - * debounce counter has elapsed. If so, the debounce counter is reset, the cooked matrix - * is updated to reflect the new state, and the matrix is marked for further updates. - * - * @param raw The current raw key state matrix. - * @param cooked The debounced key state matrix - */ -static inline void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[]) { - matrix_need_update = false; - - for (uint8_t row = 0; row < MATRIX_ROWS_PER_HAND; row++) { +// upload from raw_matrix to final matrix; +static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows) { + matrix_need_update = false; + debounce_counter_t *debounce_pointer = debounce_counters; + for (uint8_t row = 0; row < num_rows; row++) { matrix_row_t existing_row = cooked[row]; matrix_row_t raw_row = raw[row]; // determine new value basd on debounce pointer + raw value if (existing_row != raw_row) { - if (debounce_counters[row] == DEBOUNCE_ELAPSED) { - debounce_counters[row] = DEBOUNCE; + if (*debounce_pointer == DEBOUNCE_ELAPSED) { + *debounce_pointer = DEBOUNCE; cooked_changed |= cooked[row] ^ raw_row; cooked[row] = raw_row; counters_need_update = true; } } + debounce_pointer++; } } diff --git a/quantum/debounce/tests/debounce_test_common.cpp b/quantum/debounce/tests/debounce_test_common.cpp index 84b91f85e1..fd4b6f01a6 100644 --- a/quantum/debounce/tests/debounce_test_common.cpp +++ b/quantum/debounce/tests/debounce_test_common.cpp @@ -60,7 +60,7 @@ void DebounceTest::runEventsInternal() { bool first = true; /* Initialise keyboard with start time (offset to avoid testing at 0) and all keys UP */ - debounce_init(); + debounce_init(MATRIX_ROWS); set_time(time_offset_); simulate_async_tick(async_time_jumps_); std::fill(std::begin(input_matrix_), std::end(input_matrix_), 0); @@ -121,6 +121,8 @@ void DebounceTest::runEventsInternal() { checkCookedMatrix(false, "debounce() modified cooked matrix"); advance_time(1); } + + debounce_free(); } void DebounceTest::runDebounce(bool changed) { @@ -129,7 +131,7 @@ void DebounceTest::runDebounce(bool changed) { reset_access_counter(); - bool cooked_changed = debounce(raw_matrix_, cooked_matrix_, changed); + bool cooked_changed = debounce(raw_matrix_, cooked_matrix_, MATRIX_ROWS, changed); if (!std::equal(std::begin(input_matrix_), std::end(input_matrix_), std::begin(raw_matrix_))) { FAIL() << "Fatal error: debounce() modified raw matrix at " << strTime() << "\ninput_matrix: changed=" << changed << "\n" << strMatrix(input_matrix_) << "\nraw_matrix:\n" << strMatrix(raw_matrix_); diff --git a/quantum/deferred_exec.c b/quantum/deferred_exec.c index 41a773140d..b3be3747d4 100644 --- a/quantum/deferred_exec.c +++ b/quantum/deferred_exec.c @@ -56,7 +56,7 @@ deferred_token defer_exec_advanced(deferred_executor_t *table, size_t table_coun // Work out the new token value, dropping out if none were available deferred_token token = allocate_token(table, table_count); if (token == INVALID_DEFERRED_TOKEN) { - return INVALID_DEFERRED_TOKEN; + return false; } // Set up the executor table entry diff --git a/quantum/deferred_exec.h b/quantum/deferred_exec.h index 27eecbe8ee..97ef0f6c0e 100644 --- a/quantum/deferred_exec.h +++ b/quantum/deferred_exec.h @@ -78,7 +78,7 @@ typedef struct deferred_executor_t { deferred_token token; uint32_t trigger_time; deferred_exec_callback callback; - void *cb_arg; + void * cb_arg; } deferred_executor_t; /** diff --git a/quantum/dip_switch.c b/quantum/dip_switch.c index f662a0e7fc..65ae21175b 100644 --- a/quantum/dip_switch.c +++ b/quantum/dip_switch.c @@ -21,7 +21,6 @@ #include "dip_switch.h" #ifdef SPLIT_KEYBOARD -# include "keyboard.h" # include "split_common/split_util.h" #endif @@ -88,7 +87,7 @@ static void dip_switch_exec_mapping(uint8_t index, bool on) { void dip_switch_init(void) { #ifdef DIP_SWITCH_PINS # if defined(SPLIT_KEYBOARD) && defined(DIP_SWITCH_PINS_RIGHT) - if (!is_keyboard_left()) { + if (!isLeftHand) { const pin_t dip_switch_pad_right[] = DIP_SWITCH_PINS_RIGHT; for (uint8_t i = 0; i < NUM_DIP_SWITCHES; i++) { dip_switch_pad[i] = dip_switch_pad_right[i]; diff --git a/quantum/dip_switch.h b/quantum/dip_switch.h index b1694f3e6f..7629859359 100644 --- a/quantum/dip_switch.h +++ b/quantum/dip_switch.h @@ -49,6 +49,7 @@ void dip_switch_task(void); #ifdef DIP_SWITCH_MAP_ENABLE # define NUM_DIP_STATES 2 -# define DIP_SWITCH_OFF_ON(off, on) {(off), (on)} +# define DIP_SWITCH_OFF_ON(off, on) \ + { (off), (on) } extern const uint16_t dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES]; #endif // DIP_SWITCH_MAP_ENABLE diff --git a/quantum/encoder.h b/quantum/encoder.h index fa43db52a6..1d2f1f46c7 100644 --- a/quantum/encoder.h +++ b/quantum/encoder.h @@ -111,7 +111,8 @@ void encoder_signal_queue_drain(void); # ifdef ENCODER_MAP_ENABLE # define NUM_DIRECTIONS 2 -# define ENCODER_CCW_CW(ccw, cw) {(cw), (ccw)} +# define ENCODER_CCW_CW(ccw, cw) \ + { (cw), (ccw) } extern const uint16_t encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS]; # endif // ENCODER_MAP_ENABLE diff --git a/quantum/encoder/tests/config_mock.h b/quantum/encoder/tests/config_mock.h index db1c1b106e..b5a1537d8a 100644 --- a/quantum/encoder/tests/config_mock.h +++ b/quantum/encoder/tests/config_mock.h @@ -7,8 +7,10 @@ #define MATRIX_COLS 1 /* Here, "pins" from 0 to 31 are allowed. */ -#define ENCODER_A_PINS {0} -#define ENCODER_B_PINS {1} +#define ENCODER_A_PINS \ + { 0 } +#define ENCODER_B_PINS \ + { 1 } #ifdef __cplusplus extern "C" { diff --git a/quantum/encoder/tests/config_mock_split_left_eq_right.h b/quantum/encoder/tests/config_mock_split_left_eq_right.h index 37ddafe904..a4aa051ef1 100644 --- a/quantum/encoder/tests/config_mock_split_left_eq_right.h +++ b/quantum/encoder/tests/config_mock_split_left_eq_right.h @@ -7,10 +7,14 @@ #define MATRIX_COLS 1 /* Here, "pins" from 0 to 31 are allowed. */ -#define ENCODER_A_PINS {0, 2} -#define ENCODER_B_PINS {1, 3} -#define ENCODER_A_PINS_RIGHT {4, 6} -#define ENCODER_B_PINS_RIGHT {5, 7} +#define ENCODER_A_PINS \ + { 0, 2 } +#define ENCODER_B_PINS \ + { 1, 3 } +#define ENCODER_A_PINS_RIGHT \ + { 4, 6 } +#define ENCODER_B_PINS_RIGHT \ + { 5, 7 } #ifdef __cplusplus extern "C" { diff --git a/quantum/encoder/tests/config_mock_split_left_gt_right.h b/quantum/encoder/tests/config_mock_split_left_gt_right.h index 8cb78c30ec..77190797ad 100644 --- a/quantum/encoder/tests/config_mock_split_left_gt_right.h +++ b/quantum/encoder/tests/config_mock_split_left_gt_right.h @@ -7,10 +7,14 @@ #define MATRIX_COLS 1 /* Here, "pins" from 0 to 31 are allowed. */ -#define ENCODER_A_PINS {0, 2, 4} -#define ENCODER_B_PINS {1, 3, 5} -#define ENCODER_A_PINS_RIGHT {6, 8} -#define ENCODER_B_PINS_RIGHT {7, 9} +#define ENCODER_A_PINS \ + { 0, 2, 4 } +#define ENCODER_B_PINS \ + { 1, 3, 5 } +#define ENCODER_A_PINS_RIGHT \ + { 6, 8 } +#define ENCODER_B_PINS_RIGHT \ + { 7, 9 } #ifdef __cplusplus extern "C" { diff --git a/quantum/encoder/tests/config_mock_split_left_lt_right.h b/quantum/encoder/tests/config_mock_split_left_lt_right.h index b10d9b9c0f..61808e866e 100644 --- a/quantum/encoder/tests/config_mock_split_left_lt_right.h +++ b/quantum/encoder/tests/config_mock_split_left_lt_right.h @@ -7,10 +7,14 @@ #define MATRIX_COLS 1 /* Here, "pins" from 0 to 31 are allowed. */ -#define ENCODER_A_PINS {0, 2} -#define ENCODER_B_PINS {1, 3} -#define ENCODER_A_PINS_RIGHT {4, 6, 8} -#define ENCODER_B_PINS_RIGHT {5, 7, 9} +#define ENCODER_A_PINS \ + { 0, 2 } +#define ENCODER_B_PINS \ + { 1, 3 } +#define ENCODER_A_PINS_RIGHT \ + { 4, 6, 8 } +#define ENCODER_B_PINS_RIGHT \ + { 5, 7, 9 } #ifdef __cplusplus extern "C" { diff --git a/quantum/encoder/tests/config_mock_split_no_left.h b/quantum/encoder/tests/config_mock_split_no_left.h index 1a6893a649..599e584ff1 100644 --- a/quantum/encoder/tests/config_mock_split_no_left.h +++ b/quantum/encoder/tests/config_mock_split_no_left.h @@ -8,13 +8,13 @@ /* Here, "pins" from 0 to 31 are allowed. */ #define ENCODER_A_PINS \ - { \ - } + {} #define ENCODER_B_PINS \ - { \ - } -#define ENCODER_A_PINS_RIGHT {0, 2} -#define ENCODER_B_PINS_RIGHT {1, 3} + {} +#define ENCODER_A_PINS_RIGHT \ + { 0, 2 } +#define ENCODER_B_PINS_RIGHT \ + { 1, 3 } #ifdef __cplusplus extern "C" { diff --git a/quantum/encoder/tests/config_mock_split_no_right.h b/quantum/encoder/tests/config_mock_split_no_right.h index 02719a0416..c3f753014c 100644 --- a/quantum/encoder/tests/config_mock_split_no_right.h +++ b/quantum/encoder/tests/config_mock_split_no_right.h @@ -7,14 +7,14 @@ #define MATRIX_COLS 1 /* Here, "pins" from 0 to 31 are allowed. */ -#define ENCODER_A_PINS {0, 2} -#define ENCODER_B_PINS {1, 3} +#define ENCODER_A_PINS \ + { 0, 2 } +#define ENCODER_B_PINS \ + { 1, 3 } #define ENCODER_A_PINS_RIGHT \ - { \ - } + {} #define ENCODER_B_PINS_RIGHT \ - { \ - } + {} #ifdef __cplusplus extern "C" { diff --git a/quantum/encoder/tests/config_mock_split_role.h b/quantum/encoder/tests/config_mock_split_role.h index 37ddafe904..a4aa051ef1 100644 --- a/quantum/encoder/tests/config_mock_split_role.h +++ b/quantum/encoder/tests/config_mock_split_role.h @@ -7,10 +7,14 @@ #define MATRIX_COLS 1 /* Here, "pins" from 0 to 31 are allowed. */ -#define ENCODER_A_PINS {0, 2} -#define ENCODER_B_PINS {1, 3} -#define ENCODER_A_PINS_RIGHT {4, 6} -#define ENCODER_B_PINS_RIGHT {5, 7} +#define ENCODER_A_PINS \ + { 0, 2 } +#define ENCODER_B_PINS \ + { 1, 3 } +#define ENCODER_A_PINS_RIGHT \ + { 4, 6 } +#define ENCODER_B_PINS_RIGHT \ + { 5, 7 } #ifdef __cplusplus extern "C" { diff --git a/quantum/encoder/tests/encoder_tests.cpp b/quantum/encoder/tests/encoder_tests.cpp index 10ae9139d9..499e413aed 100644 --- a/quantum/encoder/tests/encoder_tests.cpp +++ b/quantum/encoder/tests/encoder_tests.cpp @@ -26,8 +26,8 @@ extern "C" { } struct update { - uint8_t index; - bool clockwise; + int8_t index; + bool clockwise; }; uint8_t updates_array_idx = 0; diff --git a/quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp b/quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp index 4665e55614..7d6b3e30e6 100644 --- a/quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp +++ b/quantum/encoder/tests/encoder_tests_split_left_eq_right.cpp @@ -26,8 +26,8 @@ extern "C" { } struct update { - uint8_t index; - bool clockwise; + int8_t index; + bool clockwise; }; uint8_t updates_array_idx = 0; @@ -41,10 +41,6 @@ bool is_keyboard_master(void) { return isMaster; } -bool is_keyboard_left(void) { - return isLeftHand; -} - bool encoder_update_kb(uint8_t index, bool clockwise) { if (!is_keyboard_master()) { // this method has no effect on slave half diff --git a/quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp b/quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp index 49af689226..2beb4e3972 100644 --- a/quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp +++ b/quantum/encoder/tests/encoder_tests_split_left_gt_right.cpp @@ -26,8 +26,8 @@ extern "C" { } struct update { - uint8_t index; - bool clockwise; + int8_t index; + bool clockwise; }; uint8_t updates_array_idx = 0; @@ -41,10 +41,6 @@ bool is_keyboard_master(void) { return isMaster; } -bool is_keyboard_left(void) { - return isLeftHand; -} - bool encoder_update_kb(uint8_t index, bool clockwise) { if (!is_keyboard_master()) { // this method has no effect on slave half diff --git a/quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp b/quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp index 9df795b837..5612f8b658 100644 --- a/quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp +++ b/quantum/encoder/tests/encoder_tests_split_left_lt_right.cpp @@ -26,8 +26,8 @@ extern "C" { } struct update { - uint8_t index; - bool clockwise; + int8_t index; + bool clockwise; }; uint8_t updates_array_idx = 0; @@ -41,10 +41,6 @@ bool is_keyboard_master(void) { return isMaster; } -bool is_keyboard_left(void) { - return isLeftHand; -} - bool encoder_update_kb(uint8_t index, bool clockwise) { if (!is_keyboard_master()) { // this method has no effect on slave half diff --git a/quantum/encoder/tests/encoder_tests_split_no_left.cpp b/quantum/encoder/tests/encoder_tests_split_no_left.cpp index 17ae1bef2b..980e4074ff 100644 --- a/quantum/encoder/tests/encoder_tests_split_no_left.cpp +++ b/quantum/encoder/tests/encoder_tests_split_no_left.cpp @@ -26,8 +26,8 @@ extern "C" { } struct update { - uint8_t index; - bool clockwise; + int8_t index; + bool clockwise; }; uint8_t updates_array_idx = 0; @@ -41,10 +41,6 @@ bool is_keyboard_master(void) { return isMaster; } -bool is_keyboard_left(void) { - return isLeftHand; -} - bool encoder_update_kb(uint8_t index, bool clockwise) { if (!is_keyboard_master()) { // this method has no effect on slave half diff --git a/quantum/encoder/tests/encoder_tests_split_no_right.cpp b/quantum/encoder/tests/encoder_tests_split_no_right.cpp index cf340b7cdc..d39659853b 100644 --- a/quantum/encoder/tests/encoder_tests_split_no_right.cpp +++ b/quantum/encoder/tests/encoder_tests_split_no_right.cpp @@ -26,8 +26,8 @@ extern "C" { } struct update { - uint8_t index; - bool clockwise; + int8_t index; + bool clockwise; }; uint8_t updates_array_idx = 0; @@ -41,10 +41,6 @@ bool is_keyboard_master(void) { return isMaster; } -bool is_keyboard_left(void) { - return isLeftHand; -} - bool encoder_update_kb(uint8_t index, bool clockwise) { if (!is_keyboard_master()) { // this method has no effect on slave half diff --git a/quantum/encoder/tests/encoder_tests_split_role.cpp b/quantum/encoder/tests/encoder_tests_split_role.cpp index 3da6fd6edb..b588af8c70 100644 --- a/quantum/encoder/tests/encoder_tests_split_role.cpp +++ b/quantum/encoder/tests/encoder_tests_split_role.cpp @@ -40,10 +40,6 @@ bool is_keyboard_master(void) { return isMaster; } -bool is_keyboard_left(void) { - return isLeftHand; -} - bool encoder_update_kb(uint8_t index, bool clockwise) { if (!isMaster) { ADD_FAILURE() << "We shouldn't get here."; diff --git a/quantum/haptic.c b/quantum/haptic.c index 7fedccff99..8a743480ff 100644 --- a/quantum/haptic.c +++ b/quantum/haptic.c @@ -137,6 +137,7 @@ void haptic_toggle(void) { } else { haptic_enable(); } + eeconfig_update_haptic(&haptic_config); } void haptic_feedback_toggle(void) { diff --git a/quantum/joystick.h b/quantum/joystick.h index 4769cf28cb..24f80c1ad6 100644 --- a/quantum/joystick.h +++ b/quantum/joystick.h @@ -64,8 +64,10 @@ // configure on input_pin of the joystick_axes array entry to NO_PIN // to prevent it from being read from the ADC. This allows outputting forged axis value. -#define JOYSTICK_AXIS_VIRTUAL {NO_PIN, 0, JOYSTICK_MAX_VALUE / 2, JOYSTICK_MAX_VALUE} -#define JOYSTICK_AXIS_IN(INPUT_PIN, LOW, REST, HIGH) {INPUT_PIN, LOW, REST, HIGH} +#define JOYSTICK_AXIS_VIRTUAL \ + { NO_PIN, 0, JOYSTICK_MAX_VALUE / 2, JOYSTICK_MAX_VALUE } +#define JOYSTICK_AXIS_IN(INPUT_PIN, LOW, REST, HIGH) \ + { INPUT_PIN, LOW, REST, HIGH } typedef struct { pin_t input_pin; diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 5a80facf57..173c696e2d 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -32,7 +32,6 @@ along with this program. If not, see . #include "sendchar.h" #include "eeconfig.h" #include "action_layer.h" -#include "suspend.h" #ifdef BOOTMAGIC_ENABLE # include "bootmagic.h" #endif @@ -472,7 +471,6 @@ void keyboard_init(void) { #ifdef CONNECTION_ENABLE connection_init(); #endif - host_init(); led_init_ports(); #ifdef BACKLIGHT_ENABLE backlight_init_ports(); @@ -510,6 +508,11 @@ void keyboard_init(void) { #ifdef STENO_ENABLE_ALL steno_init(); #endif +#if defined(NKRO_ENABLE) && defined(FORCE_NKRO) +# pragma message "FORCE_NKRO option is now deprecated - Please migrate to NKRO_DEFAULT_ON instead." + keymap_config.nkro = 1; + eeconfig_update_keymap(&keymap_config); +#endif #ifdef DIP_SWITCH_ENABLE dip_switch_init(); #endif @@ -558,7 +561,6 @@ void switch_events(uint8_t row, uint8_t col, bool pressed) { #if defined(RGB_MATRIX_ENABLE) rgb_matrix_handle_key_event(row, col, pressed); #endif - wakeup_matrix_handle_key_event(row, col, pressed); } /** @@ -574,8 +576,6 @@ static inline void generate_tick_event(void) { } } -matrix_row_t matrix_previous[MATRIX_ROWS]; - /** * @brief This task scans the keyboards matrix and processes any key presses * that occur. @@ -589,6 +589,8 @@ static bool matrix_task(void) { return false; } + static matrix_row_t matrix_previous[MATRIX_ROWS]; + matrix_scan(); bool matrix_changed = false; for (uint8_t row = 0; row < MATRIX_ROWS && !matrix_changed; row++) { @@ -622,7 +624,7 @@ static bool matrix_task(void) { if (row_changes & col_mask) { const bool key_pressed = current_row & col_mask; - if (process_keypress && !keypress_is_wakeup_key(row, col)) { + if (process_keypress) { action_exec(MAKE_KEYEVENT(row, col, key_pressed)); } @@ -697,8 +699,6 @@ void quantum_task(void) { #ifdef LAYER_LOCK_ENABLE layer_lock_task(); #endif - - host_task(); } /** \brief Main task that is repeatedly called as fast as possible. */ diff --git a/quantum/keycode.h b/quantum/keycode.h index 6268b7f19b..4ff6894a01 100644 --- a/quantum/keycode.h +++ b/quantum/keycode.h @@ -34,7 +34,7 @@ along with this program. If not, see . #define IS_MOUSEKEY_WHEEL(code) (QK_MOUSE_WHEEL_UP <= (code) && (code) <= QK_MOUSE_WHEEL_RIGHT) #define IS_MOUSEKEY_ACCEL(code) (QK_MOUSE_ACCELERATION_0 <= (code) && (code) <= QK_MOUSE_ACCELERATION_2) -#define MOD_BIT(code) (1 << ((code) & 0x07)) +#define MOD_BIT(code) (1 << ((code)&0x07)) // clang-format off diff --git a/quantum/keycode_config.c b/quantum/keycode_config.c index 90b910e960..cbfbcc8140 100644 --- a/quantum/keycode_config.c +++ b/quantum/keycode_config.c @@ -24,7 +24,6 @@ keymap_config_t keymap_config; * and will return the corrected keycode, when appropriate. */ __attribute__((weak)) uint16_t keycode_config(uint16_t keycode) { -#ifdef MAGIC_ENABLE switch (keycode) { case KC_CAPS_LOCK: case KC_LOCKING_CAPS_LOCK: @@ -116,9 +115,6 @@ __attribute__((weak)) uint16_t keycode_config(uint16_t keycode) { default: return keycode; } -#else - return keycode; -#endif // MAGIC_ENABLE } /** \brief mod_config @@ -128,7 +124,6 @@ __attribute__((weak)) uint16_t keycode_config(uint16_t keycode) { */ __attribute__((weak)) uint8_t mod_config(uint8_t mod) { -#ifdef MAGIC_ENABLE /** * Note: This function is for the 5-bit packed mods, NOT the full 8-bit mods. * More info about the mods can be seen in modifiers.h. @@ -162,11 +157,9 @@ __attribute__((weak)) uint8_t mod_config(uint8_t mod) { } } if (keymap_config.no_gui) { - if (mod & MOD_LGUI) { - mod &= ~MOD_RGUI; - } + mod &= ~MOD_LGUI; + mod &= ~MOD_RGUI; } -#endif // MAGIC_ENABLE return mod; } diff --git a/quantum/keycodes.h b/quantum/keycodes.h index 132eb79c6e..6a59aa376d 100644 --- a/quantum/keycodes.h +++ b/quantum/keycodes.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* @@ -26,11 +26,11 @@ #pragma once // clang-format off -#define QMK_KEYCODES_VERSION "0.0.8" -#define QMK_KEYCODES_VERSION_BCD 0x00000008 +#define QMK_KEYCODES_VERSION "0.0.7" +#define QMK_KEYCODES_VERSION_BCD 0x00000007 #define QMK_KEYCODES_VERSION_MAJOR 0 #define QMK_KEYCODES_VERSION_MINOR 0 -#define QMK_KEYCODES_VERSION_PATCH 8 +#define QMK_KEYCODES_VERSION_PATCH 7 enum qk_keycode_ranges { // Ranges @@ -663,8 +663,6 @@ enum qk_keycode_defines { QK_LED_MATRIX_BRIGHTNESS_DOWN = 0x7816, QK_LED_MATRIX_SPEED_UP = 0x7817, QK_LED_MATRIX_SPEED_DOWN = 0x7818, - QK_LED_MATRIX_FLAG_NEXT = 0x7819, - QK_LED_MATRIX_FLAG_PREVIOUS = 0x781A, QK_UNDERGLOW_TOGGLE = 0x7820, QK_UNDERGLOW_MODE_NEXT = 0x7821, QK_UNDERGLOW_MODE_PREVIOUS = 0x7822, @@ -699,8 +697,6 @@ enum qk_keycode_defines { QK_RGB_MATRIX_VALUE_DOWN = 0x784A, QK_RGB_MATRIX_SPEED_UP = 0x784B, QK_RGB_MATRIX_SPEED_DOWN = 0x784C, - QK_RGB_MATRIX_FLAG_NEXT = 0x784D, - QK_RGB_MATRIX_FLAG_PREVIOUS = 0x784E, QK_BOOTLOADER = 0x7C00, QK_REBOOT = 0x7C01, QK_DEBUG_TOGGLE = 0x7C02, @@ -1356,8 +1352,6 @@ enum qk_keycode_defines { LM_BRID = QK_LED_MATRIX_BRIGHTNESS_DOWN, LM_SPDU = QK_LED_MATRIX_SPEED_UP, LM_SPDD = QK_LED_MATRIX_SPEED_DOWN, - LM_FLGN = QK_LED_MATRIX_FLAG_NEXT, - LM_FLGP = QK_LED_MATRIX_FLAG_PREVIOUS, UG_TOGG = QK_UNDERGLOW_TOGGLE, UG_NEXT = QK_UNDERGLOW_MODE_NEXT, UG_PREV = QK_UNDERGLOW_MODE_PREVIOUS, @@ -1392,8 +1386,6 @@ enum qk_keycode_defines { RM_VALD = QK_RGB_MATRIX_VALUE_DOWN, RM_SPDU = QK_RGB_MATRIX_SPEED_UP, RM_SPDD = QK_RGB_MATRIX_SPEED_DOWN, - RM_FLGN = QK_RGB_MATRIX_FLAG_NEXT, - RM_FLGP = QK_RGB_MATRIX_FLAG_PREVIOUS, QK_BOOT = QK_BOOTLOADER, QK_RBT = QK_REBOOT, DB_TOGG = QK_DEBUG_TOGGLE, @@ -1519,10 +1511,10 @@ enum qk_keycode_defines { #define IS_MACRO_KEYCODE(code) ((code) >= QK_MACRO_0 && (code) <= QK_MACRO_31) #define IS_CONNECTION_KEYCODE(code) ((code) >= QK_OUTPUT_AUTO && (code) <= QK_BLUETOOTH_PROFILE5) #define IS_BACKLIGHT_KEYCODE(code) ((code) >= QK_BACKLIGHT_ON && (code) <= QK_BACKLIGHT_TOGGLE_BREATHING) -#define IS_LED_MATRIX_KEYCODE(code) ((code) >= QK_LED_MATRIX_ON && (code) <= QK_LED_MATRIX_FLAG_PREVIOUS) +#define IS_LED_MATRIX_KEYCODE(code) ((code) >= QK_LED_MATRIX_ON && (code) <= QK_LED_MATRIX_SPEED_DOWN) #define IS_UNDERGLOW_KEYCODE(code) ((code) >= QK_UNDERGLOW_TOGGLE && (code) <= QK_UNDERGLOW_SPEED_DOWN) #define IS_RGB_KEYCODE(code) ((code) >= RGB_MODE_PLAIN && (code) <= RGB_MODE_TWINKLE) -#define IS_RGB_MATRIX_KEYCODE(code) ((code) >= QK_RGB_MATRIX_ON && (code) <= QK_RGB_MATRIX_FLAG_PREVIOUS) +#define IS_RGB_MATRIX_KEYCODE(code) ((code) >= QK_RGB_MATRIX_ON && (code) <= QK_RGB_MATRIX_SPEED_DOWN) #define IS_QUANTUM_KEYCODE(code) ((code) >= QK_BOOTLOADER && (code) <= QK_LAYER_LOCK) #define IS_KB_KEYCODE(code) ((code) >= QK_KB_0 && (code) <= QK_KB_31) #define IS_USER_KEYCODE(code) ((code) >= QK_USER_0 && (code) <= QK_USER_31) @@ -1545,10 +1537,10 @@ enum qk_keycode_defines { #define MACRO_KEYCODE_RANGE QK_MACRO_0 ... QK_MACRO_31 #define CONNECTION_KEYCODE_RANGE QK_OUTPUT_AUTO ... QK_BLUETOOTH_PROFILE5 #define BACKLIGHT_KEYCODE_RANGE QK_BACKLIGHT_ON ... QK_BACKLIGHT_TOGGLE_BREATHING -#define LED_MATRIX_KEYCODE_RANGE QK_LED_MATRIX_ON ... QK_LED_MATRIX_FLAG_PREVIOUS +#define LED_MATRIX_KEYCODE_RANGE QK_LED_MATRIX_ON ... QK_LED_MATRIX_SPEED_DOWN #define UNDERGLOW_KEYCODE_RANGE QK_UNDERGLOW_TOGGLE ... QK_UNDERGLOW_SPEED_DOWN #define RGB_KEYCODE_RANGE RGB_MODE_PLAIN ... RGB_MODE_TWINKLE -#define RGB_MATRIX_KEYCODE_RANGE QK_RGB_MATRIX_ON ... QK_RGB_MATRIX_FLAG_PREVIOUS +#define RGB_MATRIX_KEYCODE_RANGE QK_RGB_MATRIX_ON ... QK_RGB_MATRIX_SPEED_DOWN #define QUANTUM_KEYCODE_RANGE QK_BOOTLOADER ... QK_LAYER_LOCK #define KB_KEYCODE_RANGE QK_KB_0 ... QK_KB_31 #define USER_KEYCODE_RANGE QK_USER_0 ... QK_USER_31 diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 091ab491c8..9be9bae943 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -43,6 +43,8 @@ along with this program. If not, see . extern keymap_config_t keymap_config; +#include + /* converts key to action */ action_t action_for_key(uint8_t layer, keypos_t key) { // 16bit keycodes - important diff --git a/quantum/keymap_extras/keymap_belgian.h b/quantum/keymap_extras/keymap_belgian.h index 55f33a0bd3..b41ed9d20b 100644 --- a/quantum/keymap_extras/keymap_belgian.h +++ b/quantum/keymap_extras/keymap_belgian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_bepo.h b/quantum/keymap_extras/keymap_bepo.h index c664d0e6b1..c0bb703ecc 100644 --- a/quantum/keymap_extras/keymap_bepo.h +++ b/quantum/keymap_extras/keymap_bepo.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_brazilian_abnt2.h b/quantum/keymap_extras/keymap_brazilian_abnt2.h index aaff90adea..267b5490c9 100644 --- a/quantum/keymap_extras/keymap_brazilian_abnt2.h +++ b/quantum/keymap_extras/keymap_brazilian_abnt2.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_canadian_french.h b/quantum/keymap_extras/keymap_canadian_french.h index 8cec09af12..df9c73c016 100644 --- a/quantum/keymap_extras/keymap_canadian_french.h +++ b/quantum/keymap_extras/keymap_canadian_french.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_canadian_multilingual.h b/quantum/keymap_extras/keymap_canadian_multilingual.h index c2daed7e64..4b42457396 100644 --- a/quantum/keymap_extras/keymap_canadian_multilingual.h +++ b/quantum/keymap_extras/keymap_canadian_multilingual.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_colemak.h b/quantum/keymap_extras/keymap_colemak.h index e6ffa551b8..a4fc77e80f 100644 --- a/quantum/keymap_extras/keymap_colemak.h +++ b/quantum/keymap_extras/keymap_colemak.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_croatian.h b/quantum/keymap_extras/keymap_croatian.h index 33bcd590df..cdc032a9eb 100644 --- a/quantum/keymap_extras/keymap_croatian.h +++ b/quantum/keymap_extras/keymap_croatian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_czech.h b/quantum/keymap_extras/keymap_czech.h index f23a5728b5..cae16cdb9f 100644 --- a/quantum/keymap_extras/keymap_czech.h +++ b/quantum/keymap_extras/keymap_czech.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_czech_mac_ansi.h b/quantum/keymap_extras/keymap_czech_mac_ansi.h index 4b613c8827..bdfda933b0 100644 --- a/quantum/keymap_extras/keymap_czech_mac_ansi.h +++ b/quantum/keymap_extras/keymap_czech_mac_ansi.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_czech_mac_iso.h b/quantum/keymap_extras/keymap_czech_mac_iso.h index 97b5addb7e..9c05d8dae0 100644 --- a/quantum/keymap_extras/keymap_czech_mac_iso.h +++ b/quantum/keymap_extras/keymap_czech_mac_iso.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_danish.h b/quantum/keymap_extras/keymap_danish.h index 1907c34dd8..1f1ee90e23 100644 --- a/quantum/keymap_extras/keymap_danish.h +++ b/quantum/keymap_extras/keymap_danish.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_dvorak.h b/quantum/keymap_extras/keymap_dvorak.h index aa74064507..5cb2c4564a 100644 --- a/quantum/keymap_extras/keymap_dvorak.h +++ b/quantum/keymap_extras/keymap_dvorak.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_dvorak_fr.h b/quantum/keymap_extras/keymap_dvorak_fr.h index 55c568f6e5..d01bf7fec7 100644 --- a/quantum/keymap_extras/keymap_dvorak_fr.h +++ b/quantum/keymap_extras/keymap_dvorak_fr.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_dvorak_programmer.h b/quantum/keymap_extras/keymap_dvorak_programmer.h index 547c61676a..f17900105f 100644 --- a/quantum/keymap_extras/keymap_dvorak_programmer.h +++ b/quantum/keymap_extras/keymap_dvorak_programmer.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_estonian.h b/quantum/keymap_extras/keymap_estonian.h index 4cdc6085e1..5fbeedcbe9 100644 --- a/quantum/keymap_extras/keymap_estonian.h +++ b/quantum/keymap_extras/keymap_estonian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_eurkey.h b/quantum/keymap_extras/keymap_eurkey.h index 9e0a5a40f6..5a13d48163 100644 --- a/quantum/keymap_extras/keymap_eurkey.h +++ b/quantum/keymap_extras/keymap_eurkey.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_farsi.h b/quantum/keymap_extras/keymap_farsi.h index 1f47a95511..e115d9c1c0 100644 --- a/quantum/keymap_extras/keymap_farsi.h +++ b/quantum/keymap_extras/keymap_farsi.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_finnish.h b/quantum/keymap_extras/keymap_finnish.h index 332ce2641f..cb21da9962 100644 --- a/quantum/keymap_extras/keymap_finnish.h +++ b/quantum/keymap_extras/keymap_finnish.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_french.h b/quantum/keymap_extras/keymap_french.h index 5f26b3a338..d4352c6481 100644 --- a/quantum/keymap_extras/keymap_french.h +++ b/quantum/keymap_extras/keymap_french.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_french_afnor.h b/quantum/keymap_extras/keymap_french_afnor.h index 17c82197b8..8e6905cc01 100644 --- a/quantum/keymap_extras/keymap_french_afnor.h +++ b/quantum/keymap_extras/keymap_french_afnor.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_french_mac_iso.h b/quantum/keymap_extras/keymap_french_mac_iso.h index 4bbec33f13..ad9d280f2a 100644 --- a/quantum/keymap_extras/keymap_french_mac_iso.h +++ b/quantum/keymap_extras/keymap_french_mac_iso.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_german.h b/quantum/keymap_extras/keymap_german.h index df51038b66..bc98daa2fd 100644 --- a/quantum/keymap_extras/keymap_german.h +++ b/quantum/keymap_extras/keymap_german.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_german_mac_iso.h b/quantum/keymap_extras/keymap_german_mac_iso.h index 634a047548..ba3143c570 100644 --- a/quantum/keymap_extras/keymap_german_mac_iso.h +++ b/quantum/keymap_extras/keymap_german_mac_iso.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_greek.h b/quantum/keymap_extras/keymap_greek.h index 3ee958935c..fb2f02a04f 100644 --- a/quantum/keymap_extras/keymap_greek.h +++ b/quantum/keymap_extras/keymap_greek.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_hebrew.h b/quantum/keymap_extras/keymap_hebrew.h index e54aaf1116..5d1d4a29c6 100644 --- a/quantum/keymap_extras/keymap_hebrew.h +++ b/quantum/keymap_extras/keymap_hebrew.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_hungarian.h b/quantum/keymap_extras/keymap_hungarian.h index 5be7be5a94..27236553e8 100644 --- a/quantum/keymap_extras/keymap_hungarian.h +++ b/quantum/keymap_extras/keymap_hungarian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_icelandic.h b/quantum/keymap_extras/keymap_icelandic.h index 451819c283..409be27b77 100644 --- a/quantum/keymap_extras/keymap_icelandic.h +++ b/quantum/keymap_extras/keymap_icelandic.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_irish.h b/quantum/keymap_extras/keymap_irish.h index ff1bb0efa3..587467bcbe 100644 --- a/quantum/keymap_extras/keymap_irish.h +++ b/quantum/keymap_extras/keymap_irish.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_italian.h b/quantum/keymap_extras/keymap_italian.h index a7d05b3674..9fd7f1b15c 100644 --- a/quantum/keymap_extras/keymap_italian.h +++ b/quantum/keymap_extras/keymap_italian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_italian_mac_ansi.h b/quantum/keymap_extras/keymap_italian_mac_ansi.h index 5ef67a1485..9ef38c0d87 100644 --- a/quantum/keymap_extras/keymap_italian_mac_ansi.h +++ b/quantum/keymap_extras/keymap_italian_mac_ansi.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_italian_mac_iso.h b/quantum/keymap_extras/keymap_italian_mac_iso.h index 376c97684b..e80cfa450c 100644 --- a/quantum/keymap_extras/keymap_italian_mac_iso.h +++ b/quantum/keymap_extras/keymap_italian_mac_iso.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_japanese.h b/quantum/keymap_extras/keymap_japanese.h index 1839cb6b40..55df86e16d 100644 --- a/quantum/keymap_extras/keymap_japanese.h +++ b/quantum/keymap_extras/keymap_japanese.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_korean.h b/quantum/keymap_extras/keymap_korean.h index a2ea15dc48..7bf64c4841 100644 --- a/quantum/keymap_extras/keymap_korean.h +++ b/quantum/keymap_extras/keymap_korean.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_latvian.h b/quantum/keymap_extras/keymap_latvian.h index 590106bb3c..4d60c45163 100644 --- a/quantum/keymap_extras/keymap_latvian.h +++ b/quantum/keymap_extras/keymap_latvian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_lithuanian_azerty.h b/quantum/keymap_extras/keymap_lithuanian_azerty.h index 078dc87eb8..e88cc75e07 100644 --- a/quantum/keymap_extras/keymap_lithuanian_azerty.h +++ b/quantum/keymap_extras/keymap_lithuanian_azerty.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_lithuanian_qwerty.h b/quantum/keymap_extras/keymap_lithuanian_qwerty.h index 2a0b8696ab..3321615c1e 100644 --- a/quantum/keymap_extras/keymap_lithuanian_qwerty.h +++ b/quantum/keymap_extras/keymap_lithuanian_qwerty.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_neo2.h b/quantum/keymap_extras/keymap_neo2.h index 8c6e8a08d1..5d10f19fd5 100644 --- a/quantum/keymap_extras/keymap_neo2.h +++ b/quantum/keymap_extras/keymap_neo2.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_nordic.h b/quantum/keymap_extras/keymap_nordic.h index 8381e97e3e..3a11b29fc8 100644 --- a/quantum/keymap_extras/keymap_nordic.h +++ b/quantum/keymap_extras/keymap_nordic.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_norman.h b/quantum/keymap_extras/keymap_norman.h index 09329fa109..d47c2ff8a7 100644 --- a/quantum/keymap_extras/keymap_norman.h +++ b/quantum/keymap_extras/keymap_norman.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_norwegian.h b/quantum/keymap_extras/keymap_norwegian.h index 915a4edeec..021b8c3b9c 100644 --- a/quantum/keymap_extras/keymap_norwegian.h +++ b/quantum/keymap_extras/keymap_norwegian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_plover.h b/quantum/keymap_extras/keymap_plover.h index 3c501d7587..e7facfd623 100644 --- a/quantum/keymap_extras/keymap_plover.h +++ b/quantum/keymap_extras/keymap_plover.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_plover_dvorak.h b/quantum/keymap_extras/keymap_plover_dvorak.h index ef7a058203..5c8a4f9ada 100644 --- a/quantum/keymap_extras/keymap_plover_dvorak.h +++ b/quantum/keymap_extras/keymap_plover_dvorak.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_polish.h b/quantum/keymap_extras/keymap_polish.h index 59b1488c1f..e5e48097f7 100644 --- a/quantum/keymap_extras/keymap_polish.h +++ b/quantum/keymap_extras/keymap_polish.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_portuguese.h b/quantum/keymap_extras/keymap_portuguese.h index 1dbfc083ab..44abaf6537 100644 --- a/quantum/keymap_extras/keymap_portuguese.h +++ b/quantum/keymap_extras/keymap_portuguese.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_portuguese_mac_iso.h b/quantum/keymap_extras/keymap_portuguese_mac_iso.h index 44c27f6098..f2d04440fb 100644 --- a/quantum/keymap_extras/keymap_portuguese_mac_iso.h +++ b/quantum/keymap_extras/keymap_portuguese_mac_iso.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_romanian.h b/quantum/keymap_extras/keymap_romanian.h index 9e58129a4a..9a7239e032 100644 --- a/quantum/keymap_extras/keymap_romanian.h +++ b/quantum/keymap_extras/keymap_romanian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_russian.h b/quantum/keymap_extras/keymap_russian.h index 2591989e88..b756a657df 100644 --- a/quantum/keymap_extras/keymap_russian.h +++ b/quantum/keymap_extras/keymap_russian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_russian_typewriter.h b/quantum/keymap_extras/keymap_russian_typewriter.h index d0c15913ca..45fb1ede04 100644 --- a/quantum/keymap_extras/keymap_russian_typewriter.h +++ b/quantum/keymap_extras/keymap_russian_typewriter.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_serbian.h b/quantum/keymap_extras/keymap_serbian.h index 2770ca29a2..202322b591 100644 --- a/quantum/keymap_extras/keymap_serbian.h +++ b/quantum/keymap_extras/keymap_serbian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_serbian_latin.h b/quantum/keymap_extras/keymap_serbian_latin.h index 4f9749f452..e863aa4ed8 100644 --- a/quantum/keymap_extras/keymap_serbian_latin.h +++ b/quantum/keymap_extras/keymap_serbian_latin.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_slovak.h b/quantum/keymap_extras/keymap_slovak.h index 6bede22ba7..f5848a6aaf 100644 --- a/quantum/keymap_extras/keymap_slovak.h +++ b/quantum/keymap_extras/keymap_slovak.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_slovenian.h b/quantum/keymap_extras/keymap_slovenian.h index ad9ce22f33..502f06ad64 100644 --- a/quantum/keymap_extras/keymap_slovenian.h +++ b/quantum/keymap_extras/keymap_slovenian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_spanish.h b/quantum/keymap_extras/keymap_spanish.h index 1c84ba947d..dc23aea639 100644 --- a/quantum/keymap_extras/keymap_spanish.h +++ b/quantum/keymap_extras/keymap_spanish.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_spanish_dvorak.h b/quantum/keymap_extras/keymap_spanish_dvorak.h index c9c1a7066f..e19a84b7e5 100644 --- a/quantum/keymap_extras/keymap_spanish_dvorak.h +++ b/quantum/keymap_extras/keymap_spanish_dvorak.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_spanish_latin_america.h b/quantum/keymap_extras/keymap_spanish_latin_america.h index 404cbcbe19..57329d20cd 100644 --- a/quantum/keymap_extras/keymap_spanish_latin_america.h +++ b/quantum/keymap_extras/keymap_spanish_latin_america.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_swedish.h b/quantum/keymap_extras/keymap_swedish.h index ced83e0a7f..a50f8af30d 100644 --- a/quantum/keymap_extras/keymap_swedish.h +++ b/quantum/keymap_extras/keymap_swedish.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_swedish_mac_ansi.h b/quantum/keymap_extras/keymap_swedish_mac_ansi.h index a2d8a5437d..642c161dab 100644 --- a/quantum/keymap_extras/keymap_swedish_mac_ansi.h +++ b/quantum/keymap_extras/keymap_swedish_mac_ansi.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_swedish_mac_iso.h b/quantum/keymap_extras/keymap_swedish_mac_iso.h index 0338a9944f..50387364cf 100644 --- a/quantum/keymap_extras/keymap_swedish_mac_iso.h +++ b/quantum/keymap_extras/keymap_swedish_mac_iso.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h b/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h index 46187f4d17..be1581bb3d 100644 --- a/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h +++ b/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h b/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h index 29878371cb..d50213f987 100644 --- a/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h +++ b/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_swiss_de.h b/quantum/keymap_extras/keymap_swiss_de.h index 7f74b30432..4ebdb5c610 100644 --- a/quantum/keymap_extras/keymap_swiss_de.h +++ b/quantum/keymap_extras/keymap_swiss_de.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_swiss_fr.h b/quantum/keymap_extras/keymap_swiss_fr.h index ada1837c94..11fcc6536d 100644 --- a/quantum/keymap_extras/keymap_swiss_fr.h +++ b/quantum/keymap_extras/keymap_swiss_fr.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_turkish_f.h b/quantum/keymap_extras/keymap_turkish_f.h index f863c9036b..bbdaa3af25 100644 --- a/quantum/keymap_extras/keymap_turkish_f.h +++ b/quantum/keymap_extras/keymap_turkish_f.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_turkish_q.h b/quantum/keymap_extras/keymap_turkish_q.h index 7396fb3d20..d3fa00d7ae 100644 --- a/quantum/keymap_extras/keymap_turkish_q.h +++ b/quantum/keymap_extras/keymap_turkish_q.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_uk.h b/quantum/keymap_extras/keymap_uk.h index 6a43f4669f..7490af6cf6 100644 --- a/quantum/keymap_extras/keymap_uk.h +++ b/quantum/keymap_extras/keymap_uk.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_ukrainian.h b/quantum/keymap_extras/keymap_ukrainian.h index 3ceb4b8134..78e39f8c75 100644 --- a/quantum/keymap_extras/keymap_ukrainian.h +++ b/quantum/keymap_extras/keymap_ukrainian.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_us.h b/quantum/keymap_extras/keymap_us.h index 5357be038c..b6e380ab23 100644 --- a/quantum/keymap_extras/keymap_us.h +++ b/quantum/keymap_extras/keymap_us.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_us_extended.h b/quantum/keymap_extras/keymap_us_extended.h index 08dc45c5cd..4262a7c44e 100644 --- a/quantum/keymap_extras/keymap_us_extended.h +++ b/quantum/keymap_extras/keymap_us_extended.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_us_international.h b/quantum/keymap_extras/keymap_us_international.h index 247ab02778..adc7051fe4 100644 --- a/quantum/keymap_extras/keymap_us_international.h +++ b/quantum/keymap_extras/keymap_us_international.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_us_international_linux.h b/quantum/keymap_extras/keymap_us_international_linux.h index e9d5bde808..db315968d6 100644 --- a/quantum/keymap_extras/keymap_us_international_linux.h +++ b/quantum/keymap_extras/keymap_us_international_linux.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_workman.h b/quantum/keymap_extras/keymap_workman.h index 8a37a14265..727e44512c 100644 --- a/quantum/keymap_extras/keymap_workman.h +++ b/quantum/keymap_extras/keymap_workman.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/keymap_extras/keymap_workman_zxcvm.h b/quantum/keymap_extras/keymap_workman_zxcvm.h index 1ec111245e..4655af60d6 100644 --- a/quantum/keymap_extras/keymap_workman_zxcvm.h +++ b/quantum/keymap_extras/keymap_workman_zxcvm.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index a751f08c75..9c8004cc17 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c @@ -70,19 +70,12 @@ uint8_t g_led_frame_buffer[MATRIX_ROWS][MATRIX_COLS] = {{0}}; last_hit_t g_last_hit_tracker; #endif // LED_MATRIX_KEYREACTIVE_ENABLED -#ifndef LED_MATRIX_FLAG_STEPS -# define LED_MATRIX_FLAG_STEPS {LED_FLAG_ALL, LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER, LED_FLAG_NONE} -#endif -static const uint8_t led_matrix_flag_steps[] = LED_MATRIX_FLAG_STEPS; -#define LED_MATRIX_FLAG_STEPS_COUNT ARRAY_SIZE(led_matrix_flag_steps) - // internals -static bool suspend_state = false; -static uint8_t led_last_enable = UINT8_MAX; -static uint8_t led_last_effect = UINT8_MAX; -static uint8_t led_current_effect = 0; -static effect_params_t led_effect_params = {0, LED_FLAG_ALL, false}; -static led_task_states led_task_state = SYNCING; +static bool suspend_state = false; +static uint8_t led_last_enable = UINT8_MAX; +static uint8_t led_last_effect = UINT8_MAX; +static effect_params_t led_effect_params = {0, LED_FLAG_ALL, false}; +static led_task_states led_task_state = SYNCING; // double buffers static uint32_t led_timer_buffer; @@ -268,17 +261,6 @@ static void led_task_start(void) { g_last_hit_tracker = last_hit_buffer; #endif // LED_MATRIX_KEYREACTIVE_ENABLED - // Ideally we would also stop sending zeros to the LED driver PWM buffers - // while suspended and just do a software shutdown. This is a cheap hack for now. - bool suspend_backlight = suspend_state || -#if LED_MATRIX_TIMEOUT > 0 - (last_input_activity_elapsed() > (uint32_t)LED_MATRIX_TIMEOUT) || -#endif // LED_MATRIX_TIMEOUT > 0 - false; - - // Set effect to be renedered - led_current_effect = suspend_backlight || !led_matrix_eeconfig.enable ? 0 : led_matrix_eeconfig.mode; - // next task led_task_state = RENDERING; } @@ -360,7 +342,15 @@ static void led_task_flush(uint8_t effect) { void led_matrix_task(void) { led_task_timers(); - uint8_t effect = led_current_effect; + // Ideally we would also stop sending zeros to the LED driver PWM buffers + // while suspended and just do a software shutdown. This is a cheap hack for now. + bool suspend_backlight = suspend_state || +#if LED_MATRIX_TIMEOUT > 0 + (last_input_activity_elapsed() > (uint32_t)LED_MATRIX_TIMEOUT) || +#endif // LED_MATRIX_TIMEOUT > 0 + false; + + uint8_t effect = suspend_backlight || !led_matrix_eeconfig.enable ? 0 : led_matrix_eeconfig.mode; switch (led_task_state) { case STARTING: @@ -671,50 +661,6 @@ void led_matrix_set_flags_noeeprom(led_flags_t flags) { led_matrix_set_flags_eeprom_helper(flags, false); } -void led_matrix_flags_step_helper(bool write_to_eeprom) { - led_flags_t flags = led_matrix_get_flags(); - - uint8_t next = 0; - for (uint8_t i = 0; i < LED_MATRIX_FLAG_STEPS_COUNT; i++) { - if (led_matrix_flag_steps[i] == flags) { - next = i == LED_MATRIX_FLAG_STEPS_COUNT - 1 ? 0 : i + 1; - break; - } - } - - led_matrix_set_flags_eeprom_helper(led_matrix_flag_steps[next], write_to_eeprom); -} - -void led_matrix_flags_step_noeeprom(void) { - led_matrix_flags_step_helper(false); -} - -void led_matrix_flags_step(void) { - led_matrix_flags_step_helper(true); -} - -void led_matrix_flags_step_reverse_helper(bool write_to_eeprom) { - led_flags_t flags = led_matrix_get_flags(); - - uint8_t next = 0; - for (uint8_t i = 0; i < LED_MATRIX_FLAG_STEPS_COUNT; i++) { - if (led_matrix_flag_steps[i] == flags) { - next = i == 0 ? LED_MATRIX_FLAG_STEPS_COUNT - 1 : i - 1; - break; - } - } - - led_matrix_set_flags_eeprom_helper(led_matrix_flag_steps[next], write_to_eeprom); -} - -void led_matrix_flags_step_reverse_noeeprom(void) { - led_matrix_flags_step_reverse_helper(false); -} - -void led_matrix_flags_step_reverse(void) { - led_matrix_flags_step_reverse_helper(true); -} - // LED Matrix naming #undef LED_MATRIX_EFFECT #ifdef LED_MATRIX_MODE_NAME_ENABLE diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index f484c700f4..9a49515ab2 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -183,10 +183,6 @@ void led_matrix_decrease_speed_noeeprom(void); led_flags_t led_matrix_get_flags(void); void led_matrix_set_flags(led_flags_t flags); void led_matrix_set_flags_noeeprom(led_flags_t flags); -void led_matrix_flags_step_noeeprom(void); -void led_matrix_flags_step(void); -void led_matrix_flags_step_reverse_noeeprom(void); -void led_matrix_flags_step_reverse(void); #ifdef LED_MATRIX_MODE_NAME_ENABLE const char *led_matrix_get_mode_name(uint8_t mode); diff --git a/quantum/logging/print.h b/quantum/logging/print.h index ffb32a046e..984bc10758 100644 --- a/quantum/logging/print.h +++ b/quantum/logging/print.h @@ -30,26 +30,8 @@ #include "sendchar.h" #include "progmem.h" -/** - * @brief Configure the destination for routing all log data to. - */ void print_set_sendchar(sendchar_func_t func); -/** - * @def print_printf(fmt, ...) - * @brief Low-level logging entrypoint - should not be called directly - */ -#ifndef NO_PRINT -# if __has_include_next("_print.h") -# include_next "_print.h" // Include the platforms print.h - must export print_printf -# else -# include "printf.h" // Fall back to lib/printf/printf.h -# define print_printf printf -# endif -#else -# define print_printf(fmt, ...) // Remove ALL print defines -#endif - /** * @brief This macro suppress format warnings for the function that is passed * in. The main use-case is that `b` format specifier for printing binary @@ -66,10 +48,26 @@ void print_set_sendchar(sendchar_func_t func); _Pragma("GCC diagnostic pop"); \ } while (0) -#ifdef USER_PRINT -# define xprintf(fmt, ...) // Remove normal print defines +#ifndef NO_PRINT +# if __has_include_next("_print.h") +# include_next "_print.h" /* Include the platforms print.h */ +# else +# include "printf.h" // // Fall back to lib/printf/printf.h +# define xprintf printf +# endif #else -# define xprintf print_printf +// Remove print defines +# undef xprintf +# define xprintf(fmt, ...) +#endif + +// Resolve before USER_PRINT can remove +#define uprintf xprintf + +#ifdef USER_PRINT +// Remove normal print defines +# undef xprintf +# define xprintf(fmt, ...) #endif #define print(s) xprintf(s) @@ -110,8 +108,6 @@ void print_set_sendchar(sendchar_func_t func); // // !!! DO NOT USE USER PRINT CALLS IN THE BODY OF QMK/TMK !!! -#define uprintf print_printf - #define uprint(s) uprintf(s) #define uprintln(s) uprintf(s "\r\n") diff --git a/quantum/matrix.c b/quantum/matrix.c index ccedcc3f79..167a70e5b6 100644 --- a/quantum/matrix.c +++ b/quantum/matrix.c @@ -54,7 +54,7 @@ static SPLIT_MUTABLE pin_t direct_pins[MATRIX_ROWS_PER_HAND][MATRIX_COLS] = DIRE static SPLIT_MUTABLE_ROW pin_t row_pins[MATRIX_ROWS_PER_HAND] = MATRIX_ROW_PINS; # endif // MATRIX_ROW_PINS # ifdef MATRIX_COL_PINS -static SPLIT_MUTABLE_COL pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +static SPLIT_MUTABLE_COL pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; # endif // MATRIX_COL_PINS #endif @@ -269,7 +269,7 @@ __attribute__((weak)) void matrix_read_rows_on_col(matrix_row_t current_matrix[] void matrix_init(void) { #ifdef SPLIT_KEYBOARD // Set pinout for right half if pinout for that half is defined - if (!is_keyboard_left()) { + if (!isLeftHand) { # ifdef DIRECT_PINS_RIGHT const pin_t direct_pins_right[MATRIX_ROWS_PER_HAND][MATRIX_COLS] = DIRECT_PINS_RIGHT; for (uint8_t i = 0; i < MATRIX_ROWS_PER_HAND; i++) { @@ -292,7 +292,7 @@ void matrix_init(void) { # endif } - thisHand = is_keyboard_left() ? 0 : (MATRIX_ROWS_PER_HAND); + thisHand = isLeftHand ? 0 : (MATRIX_ROWS_PER_HAND); thatHand = MATRIX_ROWS_PER_HAND - thisHand; #endif @@ -303,7 +303,7 @@ void matrix_init(void) { memset(matrix, 0, sizeof(matrix)); memset(raw_matrix, 0, sizeof(raw_matrix)); - debounce_init(); + debounce_init(MATRIX_ROWS_PER_HAND); matrix_init_kb(); } @@ -336,9 +336,9 @@ uint8_t matrix_scan(void) { if (changed) memcpy(raw_matrix, curr_matrix, sizeof(curr_matrix)); #ifdef SPLIT_KEYBOARD - changed = debounce(raw_matrix, matrix + thisHand, changed) | matrix_post_scan(); + changed = debounce(raw_matrix, matrix + thisHand, MATRIX_ROWS_PER_HAND, changed) | matrix_post_scan(); #else - changed = debounce(raw_matrix, matrix, changed); + changed = debounce(raw_matrix, matrix, MATRIX_ROWS_PER_HAND, changed); matrix_scan_kb(); #endif return (uint8_t)changed; diff --git a/quantum/matrix_common.c b/quantum/matrix_common.c index 47669cb6f2..b4a86fc483 100644 --- a/quantum/matrix_common.c +++ b/quantum/matrix_common.c @@ -144,7 +144,7 @@ __attribute__((weak)) void matrix_slave_scan_user(void) {} __attribute__((weak)) void matrix_init(void) { #ifdef SPLIT_KEYBOARD - thisHand = is_keyboard_left() ? 0 : (MATRIX_ROWS_PER_HAND); + thisHand = isLeftHand ? 0 : (MATRIX_ROWS_PER_HAND); thatHand = MATRIX_ROWS_PER_HAND - thisHand; #endif @@ -156,7 +156,7 @@ __attribute__((weak)) void matrix_init(void) { matrix[i] = 0; } - debounce_init(); + debounce_init(MATRIX_ROWS_PER_HAND); matrix_init_kb(); } @@ -165,9 +165,9 @@ __attribute__((weak)) uint8_t matrix_scan(void) { bool changed = matrix_scan_custom(raw_matrix); #ifdef SPLIT_KEYBOARD - changed = debounce(raw_matrix, matrix + thisHand, changed) | matrix_post_scan(); + changed = debounce(raw_matrix, matrix + thisHand, MATRIX_ROWS_PER_HAND, changed) | matrix_post_scan(); #else - changed = debounce(raw_matrix, matrix, changed); + changed = debounce(raw_matrix, matrix, MATRIX_ROWS_PER_HAND, changed); matrix_scan_kb(); #endif diff --git a/quantum/mousekey.c b/quantum/mousekey.c index 7d376ecf8c..9649943a0d 100644 --- a/quantum/mousekey.c +++ b/quantum/mousekey.c @@ -386,8 +386,7 @@ void mousekey_task(void) { void mousekey_on(uint8_t code) { # ifdef MK_KINETIC_SPEED - // Start kinetic timer when movement keycodes are pressed - if (mouse_timer == 0 && (IS_MOUSEKEY_MOVE(code) || IS_MOUSEKEY_WHEEL(code))) { + if (mouse_timer == 0) { mouse_timer = timer_read(); } # endif @@ -502,7 +501,7 @@ void mousekey_off(uint8_t code) { enum { mkspd_unmod, mkspd_0, mkspd_1, mkspd_2, mkspd_COUNT }; # ifndef MK_MOMENTARY_ACCEL -static uint8_t mk_speed = mkspd_1; +static uint8_t mk_speed = mkspd_1; # else static uint8_t mk_speed = mkspd_unmod; static uint8_t mkspd_DEFAULT = mkspd_unmod; diff --git a/quantum/nvm/eeprom/nvm_dynamic_keymap.c b/quantum/nvm/eeprom/nvm_dynamic_keymap.c index affad8213d..5ff49795b2 100644 --- a/quantum/nvm/eeprom/nvm_dynamic_keymap.c +++ b/quantum/nvm/eeprom/nvm_dynamic_keymap.c @@ -124,7 +124,7 @@ void nvm_dynamic_keymap_update_encoder(uint8_t layer, uint8_t encoder_id, bool c void nvm_dynamic_keymap_read_buffer(uint32_t offset, uint32_t size, uint8_t *data) { uint32_t dynamic_keymap_eeprom_size = DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2; - void *source = (void *)(uintptr_t)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset); + void * source = (void *)(uintptr_t)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset); uint8_t *target = data; for (uint32_t i = 0; i < size; i++) { if (offset + i < dynamic_keymap_eeprom_size) { @@ -139,7 +139,7 @@ void nvm_dynamic_keymap_read_buffer(uint32_t offset, uint32_t size, uint8_t *dat void nvm_dynamic_keymap_update_buffer(uint32_t offset, uint32_t size, uint8_t *data) { uint32_t dynamic_keymap_eeprom_size = DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2; - void *target = (void *)(uintptr_t)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset); + void * target = (void *)(uintptr_t)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset); uint8_t *source = data; for (uint32_t i = 0; i < size; i++) { if (offset + i < dynamic_keymap_eeprom_size) { @@ -155,7 +155,7 @@ uint32_t nvm_dynamic_keymap_macro_size(void) { } void nvm_dynamic_keymap_macro_read_buffer(uint32_t offset, uint32_t size, uint8_t *data) { - void *source = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset); + void * source = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset); uint8_t *target = data; for (uint16_t i = 0; i < size; i++) { if (offset + i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE) { @@ -169,7 +169,7 @@ void nvm_dynamic_keymap_macro_read_buffer(uint32_t offset, uint32_t size, uint8_ } void nvm_dynamic_keymap_macro_update_buffer(uint32_t offset, uint32_t size, uint8_t *data) { - void *target = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset); + void * target = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset); uint8_t *source = data; for (uint16_t i = 0; i < size; i++) { if (offset + i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE) { @@ -181,8 +181,8 @@ void nvm_dynamic_keymap_macro_update_buffer(uint32_t offset, uint32_t size, uint } void nvm_dynamic_keymap_macro_reset(void) { - void *start = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR); - void *end = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE); + void * start = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR); + void * end = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE); long remaining = end - start; uint8_t dummy[16] = {0}; for (int i = 0; i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE; i += sizeof(dummy)) { diff --git a/quantum/nvm/eeprom/nvm_eeconfig.c b/quantum/nvm/eeprom/nvm_eeconfig.c index 247f623e97..d9495d2753 100644 --- a/quantum/nvm/eeprom/nvm_eeconfig.c +++ b/quantum/nvm/eeprom/nvm_eeconfig.c @@ -246,8 +246,8 @@ uint32_t nvm_eeconfig_update_kb_datablock(const void *data, uint32_t offset, uin void nvm_eeconfig_init_kb_datablock(void) { eeprom_update_dword(EECONFIG_KEYBOARD, (EECONFIG_KB_DATA_VERSION)); - void *start = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK); - void *end = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + EECONFIG_KB_DATA_SIZE); + void * start = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK); + void * end = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + EECONFIG_KB_DATA_SIZE); long remaining = end - start; uint8_t dummy[16] = {0}; for (int i = 0; i < EECONFIG_KB_DATA_SIZE; i += sizeof(dummy)) { @@ -290,8 +290,8 @@ uint32_t nvm_eeconfig_update_user_datablock(const void *data, uint32_t offset, u void nvm_eeconfig_init_user_datablock(void) { eeprom_update_dword(EECONFIG_USER, (EECONFIG_USER_DATA_VERSION)); - void *start = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK); - void *end = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + EECONFIG_USER_DATA_SIZE); + void * start = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK); + void * end = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + EECONFIG_USER_DATA_SIZE); long remaining = end - start; uint8_t dummy[16] = {0}; for (int i = 0; i < EECONFIG_USER_DATA_SIZE; i += sizeof(dummy)) { diff --git a/quantum/nvm/readme.md b/quantum/nvm/readme.md index 3f5a2a495e..0731695e92 100644 --- a/quantum/nvm/readme.md +++ b/quantum/nvm/readme.md @@ -27,4 +27,4 @@ At the base `nvm` level, for every QMK core system which requires persistence th Each `nvm` "provider" is a corresponding child directory consisting of its name, such as `eeprom`, and corresponding `nvm_<>.c` implementation files which provide the concrete implementation of the upper `nvm_<>.h`. -New systems requiring persistence can add the corresponding `nvm_<>.h` file, and in most circumstances must also implement equivalent `nvm_<>.c` files for every `nvm` provider. If persistence is not possible for that system, a `nvm_<>.c` file with simple stubs which ignore writes and provide sane defaults must be used instead. +New systems requiring persistence can add the corresponding `nvm_<>.h` file, and in most circumstances must also implement equivalent `nvm_<>.c` files for every `nvm` provider. If persistence is not possible for that system, a `nvm_<>.c` file with simple stubs which ignore writes and provide sane defaults must be used instead. \ No newline at end of file diff --git a/quantum/os_detection.c b/quantum/os_detection.c index 2a5237dfc3..552375f61c 100644 --- a/quantum/os_detection.c +++ b/quantum/os_detection.c @@ -23,7 +23,7 @@ #endif #ifdef OS_DETECTION_DEBUG_ENABLE -# include "nvm_eeprom_eeconfig_internal.h" +# include "eeconfig.h" # include "eeprom.h" # include "print.h" diff --git a/quantum/painter/lvgl/qp_lvgl.c b/quantum/painter/lvgl/qp_lvgl.c index dc639b5a36..877b2652c6 100644 --- a/quantum/painter/lvgl/qp_lvgl.c +++ b/quantum/painter/lvgl/qp_lvgl.c @@ -17,7 +17,7 @@ static deferred_executor_t lvgl_executors[2] = {0}; // For lv_tick_inc and lv_ta static lvgl_state_t lvgl_states[2] = {0}; // For lv_tick_inc and lv_task_handler painter_device_t selected_display = NULL; -void *color_buffer = NULL; +void * color_buffer = NULL; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Quantum Painter LVGL Integration Internal: qp_lvgl_flush @@ -33,7 +33,7 @@ void qp_lvgl_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color } static uint32_t tick_task_callback(uint32_t trigger_time, void *cb_arg) { - lvgl_state_t *state = (lvgl_state_t *)cb_arg; + lvgl_state_t * state = (lvgl_state_t *)cb_arg; static uint32_t last_tick = 0; switch (state->fnc_id) { case 0: { @@ -97,7 +97,7 @@ bool qp_lvgl_attach(painter_device_t device) { static lv_disp_draw_buf_t draw_buf; // Allocate a buffer for 1/10 screen size const size_t count_required = driver->panel_width * driver->panel_height / 10; - void *new_color_buffer = realloc(color_buffer, sizeof(lv_color_t) * count_required); + void * new_color_buffer = realloc(color_buffer, sizeof(lv_color_t) * count_required); if (!new_color_buffer) { qp_dprintf("qp_lvgl_attach: fail (could not set up memory buffer)\n"); qp_lvgl_detach(); diff --git a/quantum/painter/qff.h b/quantum/painter/qff.h index f5c59b315b..ed88508d73 100644 --- a/quantum/painter/qff.h +++ b/quantum/painter/qff.h @@ -22,7 +22,7 @@ #define QFF_FONT_DESCRIPTOR_TYPEID 0x00 -typedef struct PACKED qff_font_descriptor_v1_t { +typedef struct QP_PACKED qff_font_descriptor_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x00, .neg_type_id = (~0x00), .length = 20 } uint32_t magic : 24; // constant, equal to 0x464651 ("QFF") uint8_t qff_version; // constant, equal to 0x01 @@ -51,13 +51,13 @@ STATIC_ASSERT(sizeof(qff_font_descriptor_v1_t) == (sizeof(qgf_block_header_v1_t) #define QFF_GLYPH_OFFSET_BITS 18 #define QFF_GLYPH_OFFSET_MASK (((1 << QFF_GLYPH_OFFSET_BITS) - 1) << QFF_GLYPH_WIDTH_BITS) -typedef struct PACKED qff_ascii_glyph_v1_t { +typedef struct QP_PACKED qff_ascii_glyph_v1_t { uint32_t value : 24; // Uses QFF_GLYPH_*_(BITS|MASK) as bitfield ordering is compiler-defined } qff_ascii_glyph_v1_t; STATIC_ASSERT(sizeof(qff_ascii_glyph_v1_t) == 3, "qff_ascii_glyph_v1_t must be 3 bytes in v1 of QFF"); -typedef struct PACKED qff_ascii_glyph_table_v1_t { +typedef struct QP_PACKED qff_ascii_glyph_table_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x01, .neg_type_id = (~0x01), .length = 285 } qff_ascii_glyph_v1_t glyph[95]; // 95 glyphs, 0x20..0x7E } qff_ascii_glyph_table_v1_t; @@ -69,14 +69,14 @@ STATIC_ASSERT(sizeof(qff_ascii_glyph_table_v1_t) == (sizeof(qgf_block_header_v1_ #define QFF_UNICODE_GLYPH_DESCRIPTOR_TYPEID 0x02 -typedef struct PACKED qff_unicode_glyph_v1_t { +typedef struct QP_PACKED qff_unicode_glyph_v1_t { uint32_t code_point : 24; uint32_t value : 24; // Uses QFF_GLYPH_*_(BITS|MASK) as bitfield ordering is compiler-defined } qff_unicode_glyph_v1_t; STATIC_ASSERT(sizeof(qff_unicode_glyph_v1_t) == 6, "qff_unicode_glyph_v1_t must be 6 bytes in v1 of QFF"); -typedef struct PACKED qff_unicode_glyph_table_v1_t { +typedef struct QP_PACKED qff_unicode_glyph_table_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x02, .neg_type_id = (~0x02), .length = (N * 6) } qff_unicode_glyph_v1_t glyph[0]; // Extent of '0' signifies that this struct is immediately followed by the glyph data } qff_unicode_glyph_table_v1_t; diff --git a/quantum/painter/qgf.c b/quantum/painter/qgf.c index e5a1895b74..07c3f80314 100644 --- a/quantum/painter/qgf.c +++ b/quantum/painter/qgf.c @@ -26,7 +26,7 @@ bool qgf_validate_block_header(qgf_block_header_v1_t *desc, uint8_t expected_typ bool qgf_parse_format(qp_image_format_t format, uint8_t *bpp, bool *has_palette, bool *is_panel_native) { // clang-format off - static const struct PACKED { + static const struct QP_PACKED { uint8_t bpp; bool has_palette; bool is_panel_native; diff --git a/quantum/painter/qgf.h b/quantum/painter/qgf.h index 87a9124f27..a1e245f15d 100644 --- a/quantum/painter/qgf.h +++ b/quantum/painter/qgf.h @@ -19,7 +19,7 @@ ///////////////////////////////////////// // Common block header -typedef struct PACKED qgf_block_header_v1_t { +typedef struct QP_PACKED qgf_block_header_v1_t { uint8_t type_id; // See each respective block type below. uint8_t neg_type_id; // Negated type ID, used for detecting parsing errors. uint32_t length : 24; // 24-bit blob length, allowing for block sizes of a maximum of 16MB. @@ -32,7 +32,7 @@ STATIC_ASSERT(sizeof(qgf_block_header_v1_t) == 5, "qgf_block_header_v1_t must be #define QGF_GRAPHICS_DESCRIPTOR_TYPEID 0x00 -typedef struct PACKED qgf_graphics_descriptor_v1_t { +typedef struct QP_PACKED qgf_graphics_descriptor_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x00, .neg_type_id = (~0x00), .length = 18 } uint32_t magic : 24; // constant, equal to 0x464751 ("QGF") uint8_t qgf_version; // constant, equal to 0x01 @@ -52,7 +52,7 @@ STATIC_ASSERT(sizeof(qgf_graphics_descriptor_v1_t) == (sizeof(qgf_block_header_v #define QGF_FRAME_OFFSET_DESCRIPTOR_TYPEID 0x01 -typedef struct PACKED qgf_frame_offsets_v1_t { +typedef struct QP_PACKED qgf_frame_offsets_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x01, .neg_type_id = (~0x01), .length = (N * sizeof(uint32_t)) } uint32_t offset[0]; // '0' signifies that this struct is immediately followed by the frame offsets } qgf_frame_offsets_v1_t; @@ -64,7 +64,7 @@ STATIC_ASSERT(sizeof(qgf_frame_offsets_v1_t) == sizeof(qgf_block_header_v1_t), " #define QGF_FRAME_DESCRIPTOR_TYPEID 0x02 -typedef struct PACKED qgf_frame_v1_t { +typedef struct QP_PACKED qgf_frame_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x02, .neg_type_id = (~0x02), .length = 6 } qp_image_format_t format : 8; // Frame format, see qp_internal_formats.h. uint8_t flags; // Frame flags, see below. @@ -83,7 +83,7 @@ STATIC_ASSERT(sizeof(qgf_frame_v1_t) == (sizeof(qgf_block_header_v1_t) + 6), "qg #define QGF_FRAME_PALETTE_DESCRIPTOR_TYPEID 0x03 -typedef struct PACKED qgf_palette_entry_v1_t { +typedef struct QP_PACKED qgf_palette_entry_v1_t { uint8_t h; // hue component: `[0,360)` degrees is mapped to `[0,255]` uint8_t. uint8_t s; // saturation component: `[0,1]` is mapped to `[0,255]` uint8_t. uint8_t v; // value component: `[0,1]` is mapped to `[0,255]` uint8_t. @@ -91,7 +91,7 @@ typedef struct PACKED qgf_palette_entry_v1_t { STATIC_ASSERT(sizeof(qgf_palette_entry_v1_t) == 3, "Palette entry is not 3 bytes in size"); -typedef struct PACKED qgf_palette_v1_t { +typedef struct QP_PACKED qgf_palette_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x03, .neg_type_id = (~0x03), .length = (N * 3 * sizeof(uint8_t)) } qgf_palette_entry_v1_t hsv[0]; // N * hsv, where N is the number of palette entries depending on the frame format in the descriptor } qgf_palette_v1_t; @@ -103,7 +103,7 @@ STATIC_ASSERT(sizeof(qgf_palette_v1_t) == sizeof(qgf_block_header_v1_t), "qgf_pa #define QGF_FRAME_DELTA_DESCRIPTOR_TYPEID 0x04 -typedef struct PACKED qgf_delta_v1_t { +typedef struct QP_PACKED qgf_delta_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x04, .neg_type_id = (~0x04), .length = 8 } uint16_t left; // The left pixel location to draw the delta image uint16_t top; // The top pixel location to draw the delta image @@ -118,7 +118,7 @@ STATIC_ASSERT(sizeof(qgf_delta_v1_t) == (sizeof(qgf_block_header_v1_t) + 8), "qg #define QGF_FRAME_DATA_DESCRIPTOR_TYPEID 0x05 -typedef struct PACKED qgf_data_v1_t { +typedef struct QP_PACKED qgf_data_v1_t { qgf_block_header_v1_t header; // = { .type_id = 0x05, .neg_type_id = (~0x05), .length = N } uint8_t data[0]; // 0 signifies that this struct is immediately followed by the length of data specified in the header } qgf_data_v1_t; diff --git a/quantum/painter/qp_comms.c b/quantum/painter/qp_comms.c index d7f80266c5..402165b119 100644 --- a/quantum/painter/qp_comms.c +++ b/quantum/painter/qp_comms.c @@ -50,7 +50,7 @@ uint32_t qp_comms_send(painter_device_t device, const void *data, uint32_t byte_ // Comms APIs that use a D/C pin bool qp_comms_command(painter_device_t device, uint8_t cmd) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; painter_comms_with_command_vtable_t *comms_vtable = (painter_comms_with_command_vtable_t *)driver->comms_vtable; return comms_vtable->send_command(device, cmd); } @@ -66,7 +66,7 @@ uint32_t qp_comms_command_databuf(painter_device_t device, uint8_t cmd, const vo } bool qp_comms_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) { - painter_driver_t *driver = (painter_driver_t *)device; + painter_driver_t * driver = (painter_driver_t *)device; painter_comms_with_command_vtable_t *comms_vtable = (painter_comms_with_command_vtable_t *)driver->comms_vtable; return comms_vtable->bulk_command_sequence(device, sequence, sequence_len); } diff --git a/quantum/painter/qp_draw_core.c b/quantum/painter/qp_draw_core.c index 3958045943..852abb19e8 100644 --- a/quantum/painter/qp_draw_core.c +++ b/quantum/painter/qp_draw_core.c @@ -52,7 +52,7 @@ bool qp_internal_setpixel_impl(painter_device_t device, uint16_t x, uint16_t y) void qp_internal_fill_pixdata(painter_device_t device, uint32_t num_pixels, uint8_t hue, uint8_t sat, uint8_t val) { painter_driver_t *driver = (painter_driver_t *)device; uint32_t pixels_in_pixdata = qp_internal_num_pixels_in_buffer(device); - num_pixels = MIN(pixels_in_pixdata, num_pixels); + num_pixels = QP_MIN(pixels_in_pixdata, num_pixels); // Convert the color to native pixel format qp_pixel_t color = {.hsv888 = {.h = hue, .s = sat, .v = val}}; @@ -232,17 +232,17 @@ bool qp_internal_fillrect_helper_impl(painter_device_t device, uint16_t left, ui uint32_t pixels_in_pixdata = qp_internal_num_pixels_in_buffer(device); painter_driver_t *driver = (painter_driver_t *)device; - uint16_t l = MIN(left, right); - uint16_t r = MAX(left, right); - uint16_t t = MIN(top, bottom); - uint16_t b = MAX(top, bottom); + uint16_t l = QP_MIN(left, right); + uint16_t r = QP_MAX(left, right); + uint16_t t = QP_MIN(top, bottom); + uint16_t b = QP_MAX(top, bottom); uint16_t w = r - l + 1; uint16_t h = b - t + 1; uint32_t remaining = w * h; driver->driver_vtable->viewport(device, l, t, r, b); while (remaining > 0) { - uint32_t transmit = MIN(remaining, pixels_in_pixdata); + uint32_t transmit = QP_MIN(remaining, pixels_in_pixdata); if (!driver->driver_vtable->pixdata(device, qp_internal_global_pixdata_buffer, transmit)) { return false; } @@ -260,10 +260,10 @@ bool qp_rect(painter_device_t device, uint16_t left, uint16_t top, uint16_t righ } // Cater for cases where people have submitted the coordinates backwards - uint16_t l = MIN(left, right); - uint16_t r = MAX(left, right); - uint16_t t = MIN(top, bottom); - uint16_t b = MAX(top, bottom); + uint16_t l = QP_MIN(left, right); + uint16_t r = QP_MAX(left, right); + uint16_t t = QP_MIN(top, bottom); + uint16_t b = QP_MAX(top, bottom); uint16_t w = r - l + 1; uint16_t h = b - t + 1; @@ -281,7 +281,7 @@ bool qp_rect(painter_device_t device, uint16_t left, uint16_t top, uint16_t righ ret = qp_internal_fillrect_helper_impl(device, l, t, r, b); } else { // Fill up the pixdata buffer with the required number of native pixels - qp_internal_fill_pixdata(device, MAX(w, h), hue, sat, val); + qp_internal_fill_pixdata(device, QP_MAX(w, h), hue, sat, val); // Draw 4x filled single-width rects to create an outline if (!qp_internal_fillrect_helper_impl(device, l, t, r, t) || !qp_internal_fillrect_helper_impl(device, l, b, r, b) || !qp_internal_fillrect_helper_impl(device, l, t + 1, l, b - 1) || !qp_internal_fillrect_helper_impl(device, r, t + 1, r, b - 1)) { diff --git a/quantum/painter/qp_draw_ellipse.c b/quantum/painter/qp_draw_ellipse.c index 22f019d179..9e77bca8b0 100644 --- a/quantum/painter/qp_draw_ellipse.c +++ b/quantum/painter/qp_draw_ellipse.c @@ -75,7 +75,7 @@ bool qp_ellipse(painter_device_t device, uint16_t x, uint16_t y, uint16_t sizex, int16_t dx = 0; int16_t dy = ((int16_t)sizey); - qp_internal_fill_pixdata(device, MAX(sizex, sizey), hue, sat, val); + qp_internal_fill_pixdata(device, QP_MAX(sizex, sizey), hue, sat, val); if (!qp_comms_start(device)) { qp_dprintf("qp_ellipse: fail (could not start comms)\n"); diff --git a/quantum/painter/qp_draw_text.c b/quantum/painter/qp_draw_text.c index f5aa38ec1c..664c89c6e5 100644 --- a/quantum/painter/qp_draw_text.c +++ b/quantum/painter/qp_draw_text.c @@ -343,14 +343,14 @@ typedef struct code_point_iter_drawglyph_state_t { int16_t xpos; int16_t ypos; qp_internal_byte_input_callback input_callback; - qp_internal_byte_input_state_t *input_state; + qp_internal_byte_input_state_t * input_state; qp_internal_pixel_output_state_t *output_state; } code_point_iter_drawglyph_state_t; // Codepoint handler callback: drawing static inline bool qp_font_code_point_handler_drawglyph(qff_font_handle_t *qff_font, uint32_t code_point, uint8_t width, uint8_t height, void *cb_arg) { code_point_iter_drawglyph_state_t *state = (code_point_iter_drawglyph_state_t *)cb_arg; - painter_driver_t *driver = (painter_driver_t *)state->device; + painter_driver_t * driver = (painter_driver_t *)state->device; // Reset the input state's RLE mode -- the stream should already be correctly positioned by qp_iterate_code_points() state->input_state->rle.mode = MARKER_BYTE; // ignored if not using RLE diff --git a/quantum/painter/qp_internal.h b/quantum/painter/qp_internal.h index 52b1b5c69d..e7a6d113c5 100644 --- a/quantum/painter/qp_internal.h +++ b/quantum/painter/qp_internal.h @@ -5,11 +5,17 @@ #include "quantum.h" #include "qp.h" -#include "util.h" // PACKED/MIN/MAX //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Helpers +// Mark certain types that there should be no padding bytes between members. +#define QP_PACKED __attribute__((packed)) + +// Min/max defines +#define QP_MIN(X, Y) (((X) < (Y)) ? (X) : (Y)) +#define QP_MAX(X, Y) (((X) > (Y)) ? (X) : (Y)) + #ifdef QUANTUM_PAINTER_DEBUG # include # include diff --git a/quantum/painter/qp_internal_driver.h b/quantum/painter/qp_internal_driver.h index 4c59a31cc2..5b6efe2c83 100644 --- a/quantum/painter/qp_internal_driver.h +++ b/quantum/painter/qp_internal_driver.h @@ -60,7 +60,7 @@ typedef struct painter_comms_with_command_vtable_t { typedef struct painter_driver_t { const painter_driver_vtable_t *driver_vtable; - const painter_comms_vtable_t *comms_vtable; + const painter_comms_vtable_t * comms_vtable; // Flag signifying if validation was successful bool validate_ok; diff --git a/quantum/painter/qp_internal_formats.h b/quantum/painter/qp_internal_formats.h index 28cff0cd61..bd7105cab2 100644 --- a/quantum/painter/qp_internal_formats.h +++ b/quantum/painter/qp_internal_formats.h @@ -3,7 +3,6 @@ #pragma once -#include "color.h" #include "compiler_support.h" #include "qp_internal.h" @@ -11,13 +10,21 @@ // Quantum Painter pixel formats // Datatype containing a pixel's color. The internal member used is dependent on the external context. -typedef union PACKED qp_pixel_t { +typedef union QP_PACKED qp_pixel_t { uint8_t mono; uint8_t palette_idx; - hsv_t hsv888; + struct QP_PACKED { + uint8_t h; + uint8_t s; + uint8_t v; + } hsv888; - rgb_t rgb888; + struct QP_PACKED { + uint8_t r; + uint8_t g; + uint8_t b; + } rgb888; uint16_t rgb565; diff --git a/quantum/painter/qp_stream.h b/quantum/painter/qp_stream.h index 510b408d6e..4f2b612e43 100644 --- a/quantum/painter/qp_stream.h +++ b/quantum/painter/qp_stream.h @@ -62,7 +62,7 @@ typedef struct qp_stream_t { typedef struct qp_memory_stream_t { qp_stream_t base; - uint8_t *buffer; + uint8_t * buffer; int32_t length; int32_t position; bool is_eof; @@ -77,7 +77,7 @@ qp_memory_stream_t qp_make_memory_stream(void *buffer, int32_t length); typedef struct qp_file_stream_t { qp_stream_t base; - FILE *file; + FILE * file; } qp_file_stream_t; qp_file_stream_t qp_make_file_stream(FILE *f); diff --git a/quantum/painter/rules.mk b/quantum/painter/rules.mk index 2c5bc17eed..10c2698092 100644 --- a/quantum/painter/rules.mk +++ b/quantum/painter/rules.mk @@ -247,8 +247,7 @@ ifeq ($(strip $(QUANTUM_PAINTER_NEEDS_SURFACE)), yes) SRC += \ $(DRIVER_PATH)/painter/generic/qp_surface_common.c \ $(DRIVER_PATH)/painter/generic/qp_surface_mono1bpp.c \ - $(DRIVER_PATH)/painter/generic/qp_surface_rgb565.c \ - $(DRIVER_PATH)/painter/generic/qp_surface_rgb888.c + $(DRIVER_PATH)/painter/generic/qp_surface_rgb565.c endif # If dummy comms is needed, set up the required files diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c index 622b6ae5e8..fe88d5a1af 100644 --- a/quantum/pointing_device/pointing_device.c +++ b/quantum/pointing_device/pointing_device.c @@ -582,4 +582,4 @@ __attribute__((weak)) void pointing_device_keycode_handler(uint16_t keycode, boo uint16_t pointing_device_get_hires_scroll_resolution(void) { return hires_scroll_resolution; } -#endif +#endif \ No newline at end of file diff --git a/quantum/pointing_device/pointing_device.h b/quantum/pointing_device/pointing_device.h index 78c5f326de..5dfb9ce196 100644 --- a/quantum/pointing_device/pointing_device.h +++ b/quantum/pointing_device/pointing_device.h @@ -39,14 +39,6 @@ typedef struct { #elif defined(POINTING_DEVICE_DRIVER_pmw3320) # include "drivers/sensors/pmw3320.h" # define POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW -#elif defined(POINTING_DEVICE_DRIVER_paw3222) -# include "spi_master.h" -# include "drivers/sensors/paw3222.h" -# define POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW -#elif defined(POINTING_DEVICE_DRIVER_pmw3325) -# include "spi_master.h" -# include "drivers/sensors/pmw3325.h" -# define POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW #elif defined(POINTING_DEVICE_DRIVER_adns9800) # include "spi_master.h" # include "drivers/sensors/adns9800.h" diff --git a/quantum/process_keycode/process_autocorrect.c b/quantum/process_keycode/process_autocorrect.c index 6696ea25a8..0cde520778 100644 --- a/quantum/process_keycode/process_autocorrect.c +++ b/quantum/process_keycode/process_autocorrect.c @@ -309,7 +309,7 @@ bool process_autocorrect(uint16_t keycode, keyrecord_t *record) { if (code & 128) { // A typo was found! Apply autocorrect. const uint8_t backspaces = (code & 63) + !record->event.pressed; - const char *changes = (const char *)(autocorrect_data + state + 1); + const char * changes = (const char *)(autocorrect_data + state + 1); /* Gather info about the typo'd word * diff --git a/quantum/process_keycode/process_combo.c b/quantum/process_keycode/process_combo.c index 9485498ec1..c99a66a74b 100644 --- a/quantum/process_keycode/process_combo.c +++ b/quantum/process_keycode/process_combo.c @@ -200,8 +200,9 @@ static inline uint16_t _get_combo_term(uint16_t combo_index, combo_t *combo) { } void clear_combos(void) { - longest_term = 0; - for (uint16_t index = 0; index < combo_count(); ++index) { + uint16_t index = 0; + longest_term = 0; + for (index = 0; index < combo_count(); ++index) { combo_t *combo = combo_get(index); if (!COMBO_ACTIVE(combo)) { RESET_COMBO_STATE(combo); @@ -224,7 +225,7 @@ static inline void dump_key_buffer(void) { key_buffer_next = key_buffer_i + 1; queued_record_t *qrecord = &key_buffer[key_buffer_i]; - keyrecord_t *record = &qrecord->record; + keyrecord_t * record = &qrecord->record; if (IS_NOEVENT(record->event)) { continue; @@ -317,14 +318,14 @@ void apply_combo(uint16_t combo_index, combo_t *combo) { #if defined(EXTRA_EXTRA_LONG_COMBOS) uint32_t state = 0; #elif defined(EXTRA_LONG_COMBOS) - uint16_t state = 0; + uint16_t state = 0; #else uint8_t state = 0; #endif for (uint8_t key_buffer_i = 0; key_buffer_i < key_buffer_size; key_buffer_i++) { queued_record_t *qrecord = &key_buffer[key_buffer_i]; - keyrecord_t *record = &qrecord->record; + keyrecord_t * record = &qrecord->record; uint16_t keycode = qrecord->keycode; uint8_t key_count = 0; @@ -346,10 +347,6 @@ void apply_combo(uint16_t combo_index, combo_t *combo) { qrecord->combo_index = combo_index; ACTIVATE_COMBO(combo); - if (key_count == 1) { - release_combo(combo_index, combo); - } - break; } else { // key was part of the combo but not the last one, "disable" it @@ -364,7 +361,7 @@ static inline void apply_combos(void) { // Apply all buffered normal combos. for (uint8_t i = combo_buffer_read; i != combo_buffer_write; INCREMENT_MOD(i)) { queued_combo_t *buffered_combo = &combo_buffer[i]; - combo_t *combo = combo_get(buffered_combo->combo_index); + combo_t * combo = combo_get(buffered_combo->combo_index); #ifdef COMBO_MUST_TAP_PER_COMBO if (get_combo_must_tap(buffered_combo->combo_index, combo)) { @@ -392,9 +389,7 @@ combo_t *overlaps(combo_t *combo1, combo_t *combo2) { while ((key1 = pgm_read_word(&combo1->keys[idx1])) != COMBO_END) { idx2 = 0; while ((key2 = pgm_read_word(&combo2->keys[idx2])) != COMBO_END) { - if (key1 == key2) { - overlaps = true; - } + if (key1 == key2) overlaps = true; idx2 += 1; } idx1 += 1; @@ -471,7 +466,7 @@ static combo_key_action_t process_single_combo(combo_t *combo, uint16_t keycode, combo_t *drop = NULL; for (uint8_t combo_buffer_i = combo_buffer_read; combo_buffer_i != combo_buffer_write; INCREMENT_MOD(combo_buffer_i)) { queued_combo_t *qcombo = &combo_buffer[combo_buffer_i]; - combo_t *buffered_combo = combo_get(qcombo->combo_index); + combo_t * buffered_combo = combo_get(qcombo->combo_index); if ((drop = overlaps(buffered_combo, combo))) { DISABLE_COMBO(drop); @@ -557,7 +552,8 @@ static combo_key_action_t process_single_combo(combo_t *combo, uint16_t keycode, } bool process_combo(uint16_t keycode, keyrecord_t *record) { - uint8_t is_combo_key = COMBO_KEY_NOT_PRESSED; + uint8_t is_combo_key = COMBO_KEY_NOT_PRESSED; + bool no_combo_keys_pressed = true; if (keycode == QK_COMBO_ON && record->event.pressed) { combo_enable(); @@ -578,8 +574,8 @@ bool process_combo(uint16_t keycode, keyrecord_t *record) { /* Only check keycodes from one layer. */ keycode = keymap_key_to_keycode(COMBO_ONLY_FROM_LAYER, record->event.key); #else - uint8_t highest_layer = get_highest_layer(layer_state | default_layer_state); - uint8_t ref_layer = combo_ref_from_layer(highest_layer); + uint8_t highest_layer = get_highest_layer(layer_state | default_layer_state); + uint8_t ref_layer = combo_ref_from_layer(highest_layer); if (ref_layer != highest_layer) { keycode = keymap_key_to_keycode(ref_layer, record->event.key); } @@ -588,6 +584,7 @@ bool process_combo(uint16_t keycode, keyrecord_t *record) { for (uint16_t idx = 0; idx < combo_count(); ++idx) { combo_t *combo = combo_get(idx); is_combo_key |= process_single_combo(combo, keycode, record, idx); + no_combo_keys_pressed = no_combo_keys_pressed && (NO_COMBO_KEYS_ARE_DOWN || COMBO_ACTIVE(combo) || COMBO_DISABLED(combo)); } if (record->event.pressed && is_combo_key) { @@ -640,11 +637,12 @@ void combo_task(void) { if (combo_buffer_read != combo_buffer_write) { apply_combos(); longest_term = 0; + timer = 0; } else { dump_key_buffer(); + timer = 0; clear_combos(); } - timer = 0; } #endif } diff --git a/quantum/process_keycode/process_combo.h b/quantum/process_keycode/process_combo.h index 201a53e259..f1d534236e 100644 --- a/quantum/process_keycode/process_combo.h +++ b/quantum/process_keycode/process_combo.h @@ -45,8 +45,8 @@ typedef struct combo_t { #ifdef EXTRA_SHORT_COMBOS uint8_t state; #else - bool disabled; - bool active; + bool disabled; + bool active; # if defined(EXTRA_EXTRA_LONG_COMBOS) uint32_t state; # elif defined(EXTRA_LONG_COMBOS) @@ -57,8 +57,10 @@ typedef struct combo_t { #endif } combo_t; -#define COMBO(ck, ca) {.keys = &(ck)[0], .keycode = (ca)} -#define COMBO_ACTION(ck) {.keys = &(ck)[0]} +#define COMBO(ck, ca) \ + { .keys = &(ck)[0], .keycode = (ca) } +#define COMBO_ACTION(ck) \ + { .keys = &(ck)[0] } #define COMBO_END 0 #ifndef COMBO_TERM diff --git a/quantum/process_keycode/process_dynamic_macro.c b/quantum/process_keycode/process_dynamic_macro.c index 3195791849..f8e8256ac8 100644 --- a/quantum/process_keycode/process_dynamic_macro.c +++ b/quantum/process_keycode/process_dynamic_macro.c @@ -89,11 +89,6 @@ __attribute__((weak)) bool dynamic_macro_valid_key_user(uint16_t keycode, keyrec #define DYNAMIC_MACRO_CURRENT_LENGTH(BEGIN, POINTER) ((int)(direction * ((POINTER) - (BEGIN)))) #define DYNAMIC_MACRO_CURRENT_CAPACITY(BEGIN, END2) ((int)(direction * ((END2) - (BEGIN)) + 1)) -#ifdef DYNAMIC_MACRO_KEEP_ORIGINAL_LAYER_STATE -static layer_state_t dm1_layer_state; -static layer_state_t dm2_layer_state; -#endif - /** * Start recording of the dynamic macro. * @@ -105,16 +100,8 @@ void dynamic_macro_record_start(keyrecord_t **macro_pointer, keyrecord_t *macro_ dynamic_macro_record_start_kb(direction); -#ifdef DYNAMIC_MACRO_KEEP_ORIGINAL_LAYER_STATE - if (direction == 1) { - dm1_layer_state = layer_state; - } else if (direction == -1) { - dm2_layer_state = layer_state; - } -#else - layer_clear(); -#endif clear_keyboard(); + layer_clear(); *macro_pointer = macro_buffer; } @@ -131,15 +118,7 @@ void dynamic_macro_play(keyrecord_t *macro_buffer, keyrecord_t *macro_end, int8_ layer_state_t saved_layer_state = layer_state; clear_keyboard(); -#ifdef DYNAMIC_MACRO_KEEP_ORIGINAL_LAYER_STATE - if (direction == 1) { - layer_state_set(dm1_layer_state); - } else if (direction == -1) { - layer_state_set(dm2_layer_state); - } -#else layer_clear(); -#endif while (macro_buffer != macro_end) { process_record(macro_buffer); @@ -320,6 +299,7 @@ bool process_dynamic_macro(uint16_t keycode, keyrecord_t *record) { } } return true; + break; } } diff --git a/quantum/process_keycode/process_key_lock.c b/quantum/process_keycode/process_key_lock.c index 304a89c5cd..2542e32ec2 100644 --- a/quantum/process_keycode/process_key_lock.c +++ b/quantum/process_keycode/process_key_lock.c @@ -14,12 +14,13 @@ * along with this program. If not, see . */ +#include #include #include "process_key_lock.h" #define BV_64(shift) (((uint64_t)1) << (shift)) #define GET_KEY_ARRAY(code) (((code) < 0x40) ? key_state[0] : ((code) < 0x80) ? key_state[1] : ((code) < 0xC0) ? key_state[2] : key_state[3]) -#define GET_CODE_INDEX(code) (((code) < 0x40) ? (code) : ((code) < 0x80) ? (code) - 0x40 : ((code) < 0xC0) ? (code) - 0x80 : (code) - 0xC0) +#define GET_CODE_INDEX(code) (((code) < 0x40) ? (code) : ((code) < 0x80) ? (code)-0x40 : ((code) < 0xC0) ? (code)-0x80 : (code)-0xC0) #define KEY_STATE(code) (GET_KEY_ARRAY(code) & BV_64(GET_CODE_INDEX(code))) == BV_64(GET_CODE_INDEX(code)) #define SET_KEY_ARRAY_STATE(code, val) \ do { \ diff --git a/quantum/process_keycode/process_key_override.c b/quantum/process_keycode/process_key_override.c index 2b6e0dcf3d..ce30477ee8 100644 --- a/quantum/process_keycode/process_key_override.c +++ b/quantum/process_keycode/process_key_override.c @@ -39,8 +39,7 @@ # define key_override_printf dprintf #else # define key_override_printf(str, ...) \ - { \ - } + {} #endif // Helpers @@ -175,7 +174,7 @@ const key_override_t *clear_active_override(const bool allow_reregister) { const key_override_t *const old = active_override; - const uint16_t mod_free_replacement = clear_mods_from(active_override->replacement); + const uint8_t mod_free_replacement = clear_mods_from(active_override->replacement); bool unregister_replacement = mod_free_replacement != KC_NO && // KC_NO is never registered mod_free_replacement < SAFE_RANGE; // Custom keycodes are never registered @@ -250,7 +249,7 @@ static bool try_activating_override(const uint16_t keycode, const uint8_t layer, return true; } - for (uint16_t i = 0; i < key_override_count(); i++) { + for (uint8_t i = 0; i < key_override_count(); i++) { const key_override_t *const override = key_override_get(i); // End of array @@ -366,13 +365,13 @@ static bool try_activating_override(const uint16_t keycode, const uint8_t layer, schedule_deferred_register(mod_free_replacement); send_keyboard_report(); } else { - send_keyboard_report(); - // On macOS there seems to be a race condition when it comes to the keyboard report and consumer keycodes. It seems the OS may recognize a consumer keycode before an updated keyboard report, even if the keyboard report is actually sent before the consumer key. I assume it is some sort of race condition because it happens infrequently and very irregularly. Waiting for about at least 10ms between sending the keyboard report and sending the consumer code has shown to fix this. - wait_ms(10); if (IS_BASIC_KEYCODE(mod_free_replacement)) { add_key(mod_free_replacement); } else { key_override_printf("NOT KEY 2\n"); + send_keyboard_report(); + // On macOS there seems to be a race condition when it comes to the keyboard report and consumer keycodes. It seems the OS may recognize a consumer keycode before an updated keyboard report, even if the keyboard report is actually sent before the consumer key. I assume it is some sort of race condition because it happens infrequently and very irregularly. Waiting for about at least 10ms between sending the keyboard report and sending the consumer code has shown to fix this. + wait_ms(10); register_code(mod_free_replacement); } } diff --git a/quantum/process_keycode/process_led_matrix.c b/quantum/process_keycode/process_led_matrix.c index 3342b33b92..7f95bf1011 100644 --- a/quantum/process_keycode/process_led_matrix.c +++ b/quantum/process_keycode/process_led_matrix.c @@ -40,12 +40,6 @@ bool process_led_matrix(uint16_t keycode, keyrecord_t *record) { case QK_LED_MATRIX_SPEED_DOWN: led_matrix_decrease_speed(); return false; - case QK_LED_MATRIX_FLAG_NEXT: - led_matrix_flags_step(); - return false; - case QK_LED_MATRIX_FLAG_PREVIOUS: - led_matrix_flags_step_reverse(); - return false; } } diff --git a/quantum/process_keycode/process_rgb_matrix.c b/quantum/process_keycode/process_rgb_matrix.c index c18212294d..fd2aa1a0c7 100644 --- a/quantum/process_keycode/process_rgb_matrix.c +++ b/quantum/process_keycode/process_rgb_matrix.c @@ -94,20 +94,6 @@ bool process_rgb_matrix(uint16_t keycode, keyrecord_t *record) { rgb_matrix_decrease_speed(); } return false; - case QK_RGB_MATRIX_FLAG_NEXT: - if (shifted) { - rgb_matrix_flags_step_reverse(); - } else { - rgb_matrix_flags_step(); - } - return false; - case QK_RGB_MATRIX_FLAG_PREVIOUS: - if (shifted) { - rgb_matrix_flags_step(); - } else { - rgb_matrix_flags_step_reverse(); - } - return false; } } diff --git a/quantum/process_keycode/process_space_cadet.c b/quantum/process_keycode/process_space_cadet.c index f3a85785df..3e280d57d9 100644 --- a/quantum/process_keycode/process_space_cadet.c +++ b/quantum/process_keycode/process_space_cadet.c @@ -165,6 +165,6 @@ bool process_space_cadet(uint16_t keycode, keyrecord_t *record) { return true; } -void reset_space_cadet(void) { +void reset_space_cadet() { sc_last = 0; } diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c index 399f71a827..11df62763d 100644 --- a/quantum/process_keycode/process_tap_dance.c +++ b/quantum/process_keycode/process_tap_dance.c @@ -24,46 +24,8 @@ #include "keymap_introspection.h" static uint16_t active_td; - -#ifndef TAP_DANCE_MAX_SIMULTANEOUS -# define TAP_DANCE_MAX_SIMULTANEOUS 3 -#endif - -static tap_dance_state_t tap_dance_states[TAP_DANCE_MAX_SIMULTANEOUS]; - static uint16_t last_tap_time; -static tap_dance_state_t *tap_dance_get_or_allocate_state(uint8_t tap_dance_idx, bool allocate) { - uint8_t i; - if (tap_dance_idx >= tap_dance_count()) { - return NULL; - } - // Search for a state already used for this keycode - for (i = 0; i < TAP_DANCE_MAX_SIMULTANEOUS; i++) { - if (tap_dance_states[i].in_use && tap_dance_states[i].index == tap_dance_idx) { - return &tap_dance_states[i]; - } - } - // No existing state found; bail out if new state allocation is not allowed - if (!allocate) { - return NULL; - } - // Search for the first available state - for (i = 0; i < TAP_DANCE_MAX_SIMULTANEOUS; i++) { - if (!tap_dance_states[i].in_use) { - tap_dance_states[i].index = tap_dance_idx; - tap_dance_states[i].in_use = true; - return &tap_dance_states[i]; - } - } - // No states are available, tap dance won't happen - return NULL; -} - -tap_dance_state_t *tap_dance_get_state(uint8_t tap_dance_idx) { - return tap_dance_get_or_allocate_state(tap_dance_idx, false); -} - void tap_dance_pair_on_each_tap(tap_dance_state_t *state, void *user_data) { tap_dance_pair_t *pair = (tap_dance_pair_t *)user_data; @@ -124,64 +86,58 @@ static inline void _process_tap_dance_action_fn(tap_dance_state_t *state, void * } } -static inline void process_tap_dance_action_on_each_tap(tap_dance_action_t *action, tap_dance_state_t *state) { - state->count++; - state->weak_mods = get_mods(); - state->weak_mods |= get_weak_mods(); +static inline void process_tap_dance_action_on_each_tap(tap_dance_action_t *action) { + action->state.count++; + action->state.weak_mods = get_mods(); + action->state.weak_mods |= get_weak_mods(); #ifndef NO_ACTION_ONESHOT - state->oneshot_mods = get_oneshot_mods(); + action->state.oneshot_mods = get_oneshot_mods(); #endif - _process_tap_dance_action_fn(state, action->user_data, action->fn.on_each_tap); + _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_each_tap); } -static inline void process_tap_dance_action_on_each_release(tap_dance_action_t *action, tap_dance_state_t *state) { - _process_tap_dance_action_fn(state, action->user_data, action->fn.on_each_release); +static inline void process_tap_dance_action_on_each_release(tap_dance_action_t *action) { + _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_each_release); } -static inline void process_tap_dance_action_on_reset(tap_dance_action_t *action, tap_dance_state_t *state) { - _process_tap_dance_action_fn(state, action->user_data, action->fn.on_reset); - del_weak_mods(state->weak_mods); +static inline void process_tap_dance_action_on_reset(tap_dance_action_t *action) { + _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_reset); + del_weak_mods(action->state.weak_mods); #ifndef NO_ACTION_ONESHOT - del_mods(state->oneshot_mods); + del_mods(action->state.oneshot_mods); #endif send_keyboard_report(); - // Clear the tap dance state and mark it as unused - memset(state, 0, sizeof(tap_dance_state_t)); + action->state = (const tap_dance_state_t){0}; } -static inline void process_tap_dance_action_on_dance_finished(tap_dance_action_t *action, tap_dance_state_t *state) { - if (!state->finished) { - state->finished = true; - add_weak_mods(state->weak_mods); +static inline void process_tap_dance_action_on_dance_finished(tap_dance_action_t *action) { + if (!action->state.finished) { + action->state.finished = true; + add_weak_mods(action->state.weak_mods); #ifndef NO_ACTION_ONESHOT - add_mods(state->oneshot_mods); + add_mods(action->state.oneshot_mods); #endif send_keyboard_report(); - _process_tap_dance_action_fn(state, action->user_data, action->fn.on_dance_finished); + _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_dance_finished); } active_td = 0; - if (!state->pressed) { + if (!action->state.pressed) { // There will not be a key release event, so reset now. - process_tap_dance_action_on_reset(action, state); + process_tap_dance_action_on_reset(action); } } bool preprocess_tap_dance(uint16_t keycode, keyrecord_t *record) { tap_dance_action_t *action; - tap_dance_state_t *state; if (!record->event.pressed) return false; if (!active_td || keycode == active_td) return false; - action = tap_dance_get(QK_TAP_DANCE_GET_INDEX(active_td)); - state = tap_dance_get_state(QK_TAP_DANCE_GET_INDEX(active_td)); - if (state == NULL) { - return false; - } - state->interrupted = true; - state->interrupting_keycode = keycode; - process_tap_dance_action_on_dance_finished(action, state); + action = tap_dance_get(QK_TAP_DANCE_GET_INDEX(active_td)); + action->state.interrupted = true; + action->state.interrupting_keycode = keycode; + process_tap_dance_action_on_dance_finished(action); // Tap dance actions can leave some weak mods active (e.g., if the tap dance is mapped to a keycode with // modifiers), but these weak mods should not affect the keypress which interrupted the tap dance. @@ -195,9 +151,8 @@ bool preprocess_tap_dance(uint16_t keycode, keyrecord_t *record) { } bool process_tap_dance(uint16_t keycode, keyrecord_t *record) { - uint8_t td_index; + int td_index; tap_dance_action_t *action; - tap_dance_state_t *state; switch (keycode) { case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: @@ -206,19 +161,16 @@ bool process_tap_dance(uint16_t keycode, keyrecord_t *record) { return false; } action = tap_dance_get(td_index); - state = tap_dance_get_or_allocate_state(td_index, record->event.pressed); - if (state == NULL) { - return false; - } - state->pressed = record->event.pressed; + + action->state.pressed = record->event.pressed; if (record->event.pressed) { last_tap_time = timer_read(); - process_tap_dance_action_on_each_tap(action, state); - active_td = state->finished ? 0 : keycode; + process_tap_dance_action_on_each_tap(action); + active_td = action->state.finished ? 0 : keycode; } else { - process_tap_dance_action_on_each_release(action, state); - if (state->finished) { - process_tap_dance_action_on_reset(action, state); + process_tap_dance_action_on_each_release(action); + if (action->state.finished) { + process_tap_dance_action_on_reset(action); if (active_td == keycode) { active_td = 0; } @@ -233,18 +185,16 @@ bool process_tap_dance(uint16_t keycode, keyrecord_t *record) { void tap_dance_task(void) { tap_dance_action_t *action; - tap_dance_state_t *state; if (!active_td || timer_elapsed(last_tap_time) <= GET_TAPPING_TERM(active_td, &(keyrecord_t){})) return; action = tap_dance_get(QK_TAP_DANCE_GET_INDEX(active_td)); - state = tap_dance_get_state(QK_TAP_DANCE_GET_INDEX(active_td)); - if (state != NULL && !state->interrupted) { - process_tap_dance_action_on_dance_finished(action, state); + if (!action->state.interrupted) { + process_tap_dance_action_on_dance_finished(action); } } void reset_tap_dance(tap_dance_state_t *state) { active_td = 0; - process_tap_dance_action_on_reset(tap_dance_get(state->index), state); + process_tap_dance_action_on_reset((tap_dance_action_t *)state); } diff --git a/quantum/process_keycode/process_tap_dance.h b/quantum/process_keycode/process_tap_dance.h index bce93d611b..5cccbdf439 100644 --- a/quantum/process_keycode/process_tap_dance.h +++ b/quantum/process_keycode/process_tap_dance.h @@ -28,16 +28,15 @@ typedef struct { #ifndef NO_ACTION_ONESHOT uint8_t oneshot_mods; #endif - bool pressed : 1; - bool finished : 1; - bool interrupted : 1; - bool in_use : 1; - uint8_t index; + bool pressed : 1; + bool finished : 1; + bool interrupted : 1; } tap_dance_state_t; typedef void (*tap_dance_user_fn_t)(tap_dance_state_t *state, void *user_data); typedef struct tap_dance_action_t { + tap_dance_state_t state; struct { tap_dance_user_fn_t on_each_tap; tap_dance_user_fn_t on_dance_finished; @@ -58,49 +57,29 @@ typedef struct { void (*layer_function)(uint8_t); } tap_dance_dual_role_t; -#define ACTION_TAP_DANCE_DOUBLE(kc1, kc2) \ - { \ - .fn = {tap_dance_pair_on_each_tap, tap_dance_pair_finished, tap_dance_pair_reset, NULL}, \ - .user_data = (void *)&((tap_dance_pair_t){kc1, kc2}), \ - } +#define ACTION_TAP_DANCE_DOUBLE(kc1, kc2) \ + { .fn = {tap_dance_pair_on_each_tap, tap_dance_pair_finished, tap_dance_pair_reset, NULL}, .user_data = (void *)&((tap_dance_pair_t){kc1, kc2}), } -#define ACTION_TAP_DANCE_LAYER_MOVE(kc, layer) \ - { \ - .fn = {tap_dance_dual_role_on_each_tap, tap_dance_dual_role_finished, tap_dance_dual_role_reset, NULL}, \ - .user_data = (void *)&((tap_dance_dual_role_t){kc, layer, layer_move}), \ - } +#define ACTION_TAP_DANCE_LAYER_MOVE(kc, layer) \ + { .fn = {tap_dance_dual_role_on_each_tap, tap_dance_dual_role_finished, tap_dance_dual_role_reset, NULL}, .user_data = (void *)&((tap_dance_dual_role_t){kc, layer, layer_move}), } -#define ACTION_TAP_DANCE_LAYER_TOGGLE(kc, layer) \ - { \ - .fn = {NULL, tap_dance_dual_role_finished, tap_dance_dual_role_reset, NULL}, \ - .user_data = (void *)&((tap_dance_dual_role_t){kc, layer, layer_invert}), \ - } +#define ACTION_TAP_DANCE_LAYER_TOGGLE(kc, layer) \ + { .fn = {NULL, tap_dance_dual_role_finished, tap_dance_dual_role_reset, NULL}, .user_data = (void *)&((tap_dance_dual_role_t){kc, layer, layer_invert}), } -#define ACTION_TAP_DANCE_FN(user_fn) \ - { \ - .fn = {NULL, user_fn, NULL, NULL}, \ - .user_data = NULL, \ - } +#define ACTION_TAP_DANCE_FN(user_fn) \ + { .fn = {NULL, user_fn, NULL, NULL}, .user_data = NULL, } #define ACTION_TAP_DANCE_FN_ADVANCED(user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset) \ - { \ - .fn = {user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset, NULL}, \ - .user_data = NULL, \ - } + { .fn = {user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset, NULL}, .user_data = NULL, } #define ACTION_TAP_DANCE_FN_ADVANCED_WITH_RELEASE(user_fn_on_each_tap, user_fn_on_each_release, user_fn_on_dance_finished, user_fn_on_dance_reset) \ - { \ - .fn = {user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset, user_fn_on_each_release}, \ - .user_data = NULL, \ - } + { .fn = {user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset, user_fn_on_each_release}, .user_data = NULL, } #define TD_INDEX(code) QK_TAP_DANCE_GET_INDEX(code) #define TAP_DANCE_KEYCODE(state) TD(((tap_dance_action_t *)state) - tap_dance_actions) void reset_tap_dance(tap_dance_state_t *state); -tap_dance_state_t *tap_dance_get_state(uint8_t tap_dance_idx); - /* To be used internally */ bool preprocess_tap_dance(uint16_t keycode, keyrecord_t *record); diff --git a/quantum/quantum.c b/quantum/quantum.c index be2e84f6d5..09e5fe1dac 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -94,6 +94,10 @@ #endif #ifdef AUDIO_ENABLE +# ifndef GOODBYE_SONG +# define GOODBYE_SONG SONG(GOODBYE_SOUND) +# endif +float goodbye_song[][2] = GOODBYE_SONG; # ifdef DEFAULT_LAYER_SONGS float default_layer_songs[][16][2] = DEFAULT_LAYER_SONGS; # endif @@ -153,7 +157,9 @@ __attribute__((weak)) void unregister_code16(uint16_t code) { */ __attribute__((weak)) void tap_code16_delay(uint16_t code, uint16_t delay) { register_code16(code); - wait_ms(delay); + for (uint16_t i = delay; i > 0; i--) { + wait_ms(1); + } unregister_code16(code); } @@ -214,16 +220,18 @@ void shutdown_quantum(bool jump_to_bootloader) { # ifndef NO_MUSIC_MODE music_all_notes_off(); # endif - audio_shutdown(); -#endif - + uint16_t timer_start = timer_read(); + PLAY_SONG(goodbye_song); shutdown_modules(jump_to_bootloader); shutdown_kb(jump_to_bootloader); - -#if SHUTDOWN_DELAY > 0 - wait_ms(SHUTDOWN_DELAY); + while (timer_elapsed(timer_start) < 250) + wait_ms(1); + stop_all_notes(); +#else + shutdown_modules(jump_to_bootloader); + shutdown_kb(jump_to_bootloader); + wait_ms(250); #endif - #ifdef HAPTIC_ENABLE haptic_shutdown(); #endif @@ -389,12 +397,12 @@ bool process_record_quantum(keyrecord_t *record) { #ifdef TAP_DANCE_ENABLE process_tap_dance(keycode, record) && #endif -#ifdef LEADER_ENABLE - process_leader(keycode, record) && -#endif #if defined(UNICODE_COMMON_ENABLE) process_unicode_common(keycode, record) && #endif +#ifdef LEADER_ENABLE + process_leader(keycode, record) && +#endif #ifdef AUTO_SHIFT_ENABLE process_auto_shift(keycode, record) && #endif diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 911ec8e29f..a1ae7ed0be 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -39,7 +39,7 @@ // Generic decoding for the whole QK_MODS range #define QK_MODS_GET_MODS(kc) (((kc) >> 8) & 0x1F) -#define QK_MODS_GET_BASIC_KEYCODE(kc) ((kc) & 0xFF) +#define QK_MODS_GET_BASIC_KEYCODE(kc) ((kc)&0xFF) // Modified keycodes #define LCTL(kc) (QK_LCTL | (kc)) @@ -90,37 +90,37 @@ #define MEH(kc) (QK_LCTL | QK_LSFT | QK_LALT | (kc)) // GOTO layer - 32 layer max -#define TO(layer) (QK_TO | ((layer) & 0x1F)) -#define QK_TO_GET_LAYER(kc) ((kc) & 0x1F) +#define TO(layer) (QK_TO | ((layer)&0x1F)) +#define QK_TO_GET_LAYER(kc) ((kc)&0x1F) // Momentary switch layer - 32 layer max -#define MO(layer) (QK_MOMENTARY | ((layer) & 0x1F)) -#define QK_MOMENTARY_GET_LAYER(kc) ((kc) & 0x1F) +#define MO(layer) (QK_MOMENTARY | ((layer)&0x1F)) +#define QK_MOMENTARY_GET_LAYER(kc) ((kc)&0x1F) // Set default layer - 32 layer max -#define DF(layer) (QK_DEF_LAYER | ((layer) & 0x1F)) -#define QK_DEF_LAYER_GET_LAYER(kc) ((kc) & 0x1F) +#define DF(layer) (QK_DEF_LAYER | ((layer)&0x1F)) +#define QK_DEF_LAYER_GET_LAYER(kc) ((kc)&0x1F) // Set persistent default layer - 32 layer max -#define PDF(layer) (QK_PERSISTENT_DEF_LAYER | ((layer) & 0x1F)) -#define QK_PERSISTENT_DEF_LAYER_GET_LAYER(kc) ((kc) & 0x1F) +#define PDF(layer) (QK_PERSISTENT_DEF_LAYER | ((layer)&0x1F)) +#define QK_PERSISTENT_DEF_LAYER_GET_LAYER(kc) ((kc)&0x1F) // Toggle to layer - 32 layer max -#define TG(layer) (QK_TOGGLE_LAYER | ((layer) & 0x1F)) -#define QK_TOGGLE_LAYER_GET_LAYER(kc) ((kc) & 0x1F) +#define TG(layer) (QK_TOGGLE_LAYER | ((layer)&0x1F)) +#define QK_TOGGLE_LAYER_GET_LAYER(kc) ((kc)&0x1F) // One-shot layer - 32 layer max -#define OSL(layer) (QK_ONE_SHOT_LAYER | ((layer) & 0x1F)) -#define QK_ONE_SHOT_LAYER_GET_LAYER(kc) ((kc) & 0x1F) +#define OSL(layer) (QK_ONE_SHOT_LAYER | ((layer)&0x1F)) +#define QK_ONE_SHOT_LAYER_GET_LAYER(kc) ((kc)&0x1F) // L-ayer M-od: Momentary switch layer with modifiers active - 16 layer max -#define LM(layer, mod) (QK_LAYER_MOD | (((layer) & 0xF) << 5) | ((mod) & 0x1F)) +#define LM(layer, mod) (QK_LAYER_MOD | (((layer)&0xF) << 5) | ((mod)&0x1F)) #define QK_LAYER_MOD_GET_LAYER(kc) (((kc) >> 5) & 0xF) -#define QK_LAYER_MOD_GET_MODS(kc) ((kc) & 0x1F) +#define QK_LAYER_MOD_GET_MODS(kc) ((kc)&0x1F) // One-shot mod -#define OSM(mod) (QK_ONE_SHOT_MOD | ((mod) & 0x1F)) -#define QK_ONE_SHOT_MOD_GET_MODS(kc) ((kc) & 0x1F) +#define OSM(mod) (QK_ONE_SHOT_MOD | ((mod)&0x1F)) +#define QK_ONE_SHOT_MOD_GET_MODS(kc) ((kc)&0x1F) #define OS_LCTL OSM(MOD_LCTL) #define OS_LSFT OSM(MOD_LSFT) @@ -158,18 +158,18 @@ #define OS_HYPR OSM(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI) // Layer tap-toggle - 32 layer max -#define TT(layer) (QK_LAYER_TAP_TOGGLE | ((layer) & 0x1F)) -#define QK_LAYER_TAP_TOGGLE_GET_LAYER(kc) ((kc) & 0x1F) +#define TT(layer) (QK_LAYER_TAP_TOGGLE | ((layer)&0x1F)) +#define QK_LAYER_TAP_TOGGLE_GET_LAYER(kc) ((kc)&0x1F) // L-ayer, T-ap - 256 keycode max, 16 layer max -#define LT(layer, kc) (QK_LAYER_TAP | (((layer) & 0xF) << 8) | ((kc) & 0xFF)) +#define LT(layer, kc) (QK_LAYER_TAP | (((layer)&0xF) << 8) | ((kc)&0xFF)) #define QK_LAYER_TAP_GET_LAYER(kc) (((kc) >> 8) & 0xF) -#define QK_LAYER_TAP_GET_TAP_KEYCODE(kc) ((kc) & 0xFF) +#define QK_LAYER_TAP_GET_TAP_KEYCODE(kc) ((kc)&0xFF) // M-od, T-ap - 256 keycode max -#define MT(mod, kc) (QK_MOD_TAP | (((mod) & 0x1F) << 8) | ((kc) & 0xFF)) +#define MT(mod, kc) (QK_MOD_TAP | (((mod)&0x1F) << 8) | ((kc)&0xFF)) #define QK_MOD_TAP_GET_MODS(kc) (((kc) >> 8) & 0x1F) -#define QK_MOD_TAP_GET_TAP_KEYCODE(kc) ((kc) & 0xFF) +#define QK_MOD_TAP_GET_TAP_KEYCODE(kc) ((kc)&0xFF) // Mod-Tap shortcuts #define LCTL_T(kc) MT(MOD_LCTL, kc) @@ -230,23 +230,23 @@ // Unicode aliases // UNICODE_ENABLE - Allows Unicode input up to 0x7FFF #define UC(c) (QK_UNICODE | (c)) -#define QK_UNICODE_GET_CODE_POINT(kc) ((kc) & 0x7FFF) +#define QK_UNICODE_GET_CODE_POINT(kc) ((kc)&0x7FFF) // UNICODEMAP_ENABLE - Allows Unicode input up to 0x10FFFF, requires unicode_map -#define UM(i) (QK_UNICODEMAP | ((i) & 0x3FFF)) -#define QK_UNICODEMAP_GET_INDEX(kc) ((kc) & 0x3FFF) +#define UM(i) (QK_UNICODEMAP | ((i)&0x3FFF)) +#define QK_UNICODEMAP_GET_INDEX(kc) ((kc)&0x3FFF) -#define UP(i, j) (QK_UNICODEMAP_PAIR | ((i) & 0x7F) | (((j) & 0x7F) << 7)) // 127 max i and j -#define QK_UNICODEMAP_PAIR_GET_UNSHIFTED_INDEX(kc) ((kc) & 0x7F) +#define UP(i, j) (QK_UNICODEMAP_PAIR | ((i)&0x7F) | (((j)&0x7F) << 7)) // 127 max i and j +#define QK_UNICODEMAP_PAIR_GET_UNSHIFTED_INDEX(kc) ((kc)&0x7F) #define QK_UNICODEMAP_PAIR_GET_SHIFTED_INDEX(kc) (((kc) >> 7) & 0x7F) // Swap Hands -#define SH_T(kc) (QK_SWAP_HANDS | ((kc) & 0xFF)) -#define QK_SWAP_HANDS_GET_TAP_KEYCODE(kc) ((kc) & 0xFF) +#define SH_T(kc) (QK_SWAP_HANDS | ((kc)&0xFF)) +#define QK_SWAP_HANDS_GET_TAP_KEYCODE(kc) ((kc)&0xFF) // Tap dance -#define TD(i) (QK_TAP_DANCE | ((i) & 0xFF)) -#define QK_TAP_DANCE_GET_INDEX(kc) ((kc) & 0xFF) +#define TD(i) (QK_TAP_DANCE | ((i)&0xFF)) +#define QK_TAP_DANCE_GET_INDEX(kc) ((kc)&0xFF) // MIDI aliases #define MIDI_TONE_MIN QK_MIDI_NOTE_C_0 diff --git a/quantum/repeat_key.c b/quantum/repeat_key.c index bc385cb894..56f242f8b8 100644 --- a/quantum/repeat_key.c +++ b/quantum/repeat_key.c @@ -25,21 +25,6 @@ static int8_t last_repeat_count = 0; // The repeat_count, but set to 0 outside of repeat_key_invoke() so that it is // nonzero only while a repeated key is being processed. static int8_t processing_repeat_count = 0; -// It is possible (e.g. in rolled presses) that the last key changes while -// the Repeat Key is pressed. To prevent stuck keys, it is important to -// remember separately what key record was processed on press so that the -// the corresponding record is generated on release. -static keyrecord_t registered_record_repeat_key = {0}; -static int8_t registered_repeat_count_repeat_key = 0; - -void reset_repeat_key_state(void) { - last_record = (keyrecord_t){0}; - last_mods = 0; - last_repeat_count = 0; - processing_repeat_count = 0; - registered_record_repeat_key = (keyrecord_t){0}; - registered_repeat_count_repeat_key = 0; -} uint16_t get_last_keycode(void) { return last_record.keycode; @@ -82,6 +67,12 @@ int8_t get_repeat_key_count(void) { } void repeat_key_invoke(const keyevent_t* event) { + // It is possible (e.g. in rolled presses) that the last key changes while + // the Repeat Key is pressed. To prevent stuck keys, it is important to + // remember separately what key record was processed on press so that the + // the corresponding record is generated on release. + static keyrecord_t registered_record = {0}; + static int8_t registered_repeat_count = 0; // Since this function calls process_record(), it may recursively call // itself. We return early if `processing_repeat_count` is nonzero to // prevent infinite recursion. @@ -93,25 +84,19 @@ void repeat_key_invoke(const keyevent_t* event) { update_last_repeat_count(1); // On press, apply the last mods state, stacking on top of current mods. register_weak_mods(last_mods); - registered_record_repeat_key = last_record; - registered_repeat_count_repeat_key = last_repeat_count; + registered_record = last_record; + registered_repeat_count = last_repeat_count; } - // It is possible for this to be zero here in the case of pressing - // repeat key before any other after reset, pressing another key while - // holding repeat key, and then releasing repeat key. Must guard against - // this to prevent infinite recursion. - if (registered_repeat_count_repeat_key) { - // Generate a keyrecord and plumb it into the event pipeline. - registered_record_repeat_key.event = *event; - processing_repeat_count = registered_repeat_count_repeat_key; - process_record(®istered_record_repeat_key); - processing_repeat_count = 0; + // Generate a keyrecord and plumb it into the event pipeline. + registered_record.event = *event; + processing_repeat_count = registered_repeat_count; + process_record(®istered_record); + processing_repeat_count = 0; - // On release, restore the mods state. - if (!event->pressed) { - unregister_weak_mods(last_mods); - } + // On release, restore the mods state. + if (!event->pressed) { + unregister_weak_mods(last_mods); } } diff --git a/quantum/repeat_key.h b/quantum/repeat_key.h index 9bfb6caed4..8084be24ad 100644 --- a/quantum/repeat_key.h +++ b/quantum/repeat_key.h @@ -19,7 +19,6 @@ #include "action.h" #include "keyboard.h" -void reset_repeat_key_state(void); /**< Resets repeat key state. */ uint16_t get_last_keycode(void); /**< Keycode of the last key. */ uint8_t get_last_mods(void); /**< Mods active with the last key. */ void set_last_keycode(uint16_t keycode); /**< Sets the last key. */ diff --git a/quantum/rgb_matrix/animations/pixel_fractal_anim.h b/quantum/rgb_matrix/animations/pixel_fractal_anim.h index 05d899f6ec..bf5c22a64e 100644 --- a/quantum/rgb_matrix/animations/pixel_fractal_anim.h +++ b/quantum/rgb_matrix/animations/pixel_fractal_anim.h @@ -10,43 +10,50 @@ static bool PIXEL_FRACTAL(effect_params_t* params) { # if MATRIX_COLS < 2 # define MID_COL 1 # else -# define MID_COL (MATRIX_COLS / 2) +# define MID_COL MATRIX_COLS / 2 # endif static bool led[MATRIX_ROWS][MID_COL]; static uint32_t wait_timer = 0; + inline uint32_t interval(void) { + return 3000 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); + } + if (params->init) { rgb_matrix_set_color_all(0, 0, 0); - memset(led, 0, sizeof(led)); } RGB_MATRIX_USE_LIMITS(led_min, led_max); if (g_rgb_timer > wait_timer) { rgb_t rgb = rgb_matrix_hsv_to_rgb(rgb_matrix_config.hsv); - for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { - // Light columns outward from center, mirroring each side - for (uint8_t col = 0; col < MID_COL; ++col) { - rgb_t index_rgb = led[row][col] ? rgb : (rgb_t){0, 0, 0}; - uint8_t l_idx = g_led_config.matrix_co[row][col]; - uint8_t r_idx = g_led_config.matrix_co[row][MATRIX_COLS - 1 - col]; - if (l_idx >= led_min && l_idx < led_max && HAS_ANY_FLAGS(g_led_config.flags[l_idx], params->flags)) { - rgb_matrix_set_color(l_idx, index_rgb.r, index_rgb.g, index_rgb.b); + for (uint8_t h = 0; h < MATRIX_ROWS; ++h) { + // Light and copy columns outward + for (uint8_t l = 0; l < MID_COL - 1; ++l) { + rgb_t index_rgb = led[h][l] ? (rgb_t){rgb.r, rgb.g, rgb.b} : (rgb_t){0, 0, 0}; + if (HAS_ANY_FLAGS(g_led_config.flags[g_led_config.matrix_co[h][l]], params->flags)) { + rgb_matrix_set_color(g_led_config.matrix_co[h][l], index_rgb.r, index_rgb.g, index_rgb.b); } - if (r_idx >= led_min && r_idx < led_max && HAS_ANY_FLAGS(g_led_config.flags[r_idx], params->flags)) { - rgb_matrix_set_color(r_idx, index_rgb.r, index_rgb.g, index_rgb.b); + if (HAS_ANY_FLAGS(g_led_config.flags[g_led_config.matrix_co[h][MATRIX_COLS - 1 - l]], params->flags)) { + rgb_matrix_set_color(g_led_config.matrix_co[h][MATRIX_COLS - 1 - l], index_rgb.r, index_rgb.g, index_rgb.b); } + led[h][l] = led[h][l + 1]; } + + // Light both middle columns + rgb_t index_rgb = led[h][MID_COL - 1] ? (rgb_t){rgb.r, rgb.g, rgb.b} : (rgb_t){0, 0, 0}; + if (HAS_ANY_FLAGS(g_led_config.flags[g_led_config.matrix_co[h][MID_COL - 1]], params->flags)) { + rgb_matrix_set_color(g_led_config.matrix_co[h][MID_COL - 1], index_rgb.r, index_rgb.g, index_rgb.b); + } + if (HAS_ANY_FLAGS(g_led_config.flags[g_led_config.matrix_co[h][MATRIX_COLS - MID_COL]], params->flags)) { + rgb_matrix_set_color(g_led_config.matrix_co[h][MATRIX_COLS - MID_COL], index_rgb.r, index_rgb.g, index_rgb.b); + } + + // Generate new random fractal column + led[h][MID_COL - 1] = (random8() & 3) ? false : true; } - // Advance state and reset timer only on the final LED range iteration - if (!rgb_matrix_check_finished_leds(led_max)) { - for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { - memmove(led[row], led[row] + 1, (MID_COL - 1) * sizeof(bool)); - led[row][MID_COL - 1] = !(random8() & 3); - } - wait_timer = g_rgb_timer + 3000 / scale16by8(qadd8(rgb_matrix_config.speed, 16), 16); - } + wait_timer = g_rgb_timer + interval(); } return rgb_matrix_check_finished_leds(led_max); diff --git a/quantum/rgb_matrix/animations/pixel_rain_anim.h b/quantum/rgb_matrix/animations/pixel_rain_anim.h index f92a285b67..c0370831d8 100644 --- a/quantum/rgb_matrix/animations/pixel_rain_anim.h +++ b/quantum/rgb_matrix/animations/pixel_rain_anim.h @@ -6,27 +6,20 @@ RGB_MATRIX_EFFECT(PIXEL_RAIN) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS static bool PIXEL_RAIN(effect_params_t* params) { - static uint8_t index = 0; - static uint32_t timer = 0; + static fast_timer_t timer = 0; + static uint16_t index = RGB_MATRIX_LED_COUNT + 1; - if (params->iter == 0 && params->init) { + if ((params->iter == 0) && (timer_elapsed_fast(timer) > (320 - rgb_matrix_config.speed))) { index = random8_max(RGB_MATRIX_LED_COUNT); + timer = timer_read_fast(); } RGB_MATRIX_USE_LIMITS(led_min, led_max); - if (timer < g_rgb_timer) { // Execute when the delay period has elapsed - if (led_min <= index && index < led_max && HAS_ANY_FLAGS(g_led_config.flags[index], params->flags)) { - // Assign a random HSV color to hsv with 50% probability, otherwise assign zeroed hsv - hsv_t hsv = (random8() & 2) ? (hsv_t){0, 0, 0} : (hsv_t){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}; - rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); - rgb_matrix_set_color(index, rgb.r, rgb.g, rgb.b); - } - if (!rgb_matrix_check_finished_leds(led_max)) { - // In the final LED range, update the LED index and advance the timer for - // the next cycle, scaling the delay between 256–2048 ms based on speed. - index = random8_max(RGB_MATRIX_LED_COUNT); - timer = g_rgb_timer + (2048 - scale16by8(1792, rgb_matrix_config.speed)); - } + if (led_min <= index && index < led_max && HAS_ANY_FLAGS(g_led_config.flags[index], params->flags)) { + hsv_t hsv = (random8() & 2) ? (hsv_t){0, 0, 0} : (hsv_t){random8(), random8_min_max(127, 255), rgb_matrix_config.hsv.v}; + rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); + rgb_matrix_set_color(index, rgb.r, rgb.g, rgb.b); + index = RGB_MATRIX_LED_COUNT + 1; } return rgb_matrix_check_finished_leds(led_max); } diff --git a/quantum/rgb_matrix/animations/raindrops_anim.h b/quantum/rgb_matrix/animations/raindrops_anim.h index f3656a5c0d..d4f79adb56 100644 --- a/quantum/rgb_matrix/animations/raindrops_anim.h +++ b/quantum/rgb_matrix/animations/raindrops_anim.h @@ -7,9 +7,14 @@ static void raindrops_set_color(uint8_t i, effect_params_t* params) { hsv_t hsv = rgb_matrix_config.hsv; // Take the shortest path between hues - int8_t deltaH = (int8_t)((hsv.h + 128) - hsv.h) / 4; - hsv.h += (deltaH * random8_max(3)); + int16_t deltaH = ((hsv.h + 180) % 360 - hsv.h) / 4; + if (deltaH > 127) { + deltaH -= 256; + } else if (deltaH < -127) { + deltaH += 256; + } + hsv.h += (deltaH * random8_max(3)); rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/quantum/rgb_matrix/animations/typing_heatmap_anim.h b/quantum/rgb_matrix/animations/typing_heatmap_anim.h index 77d79cf1af..0606738891 100644 --- a/quantum/rgb_matrix/animations/typing_heatmap_anim.h +++ b/quantum/rgb_matrix/animations/typing_heatmap_anim.h @@ -32,7 +32,7 @@ void process_rgb_matrix_typing_heatmap(uint8_t row, uint8_t col) { if (i_row == row && i_col == col) { g_rgb_frame_buffer[row][col] = qadd8(g_rgb_frame_buffer[row][col], RGB_MATRIX_TYPING_HEATMAP_INCREASE_STEP); } else { -# define LED_DISTANCE(led_a, led_b) sqrt16(((int32_t)(led_a.x - led_b.x) * (int32_t)(led_a.x - led_b.x)) + ((int32_t)(led_a.y - led_b.y) * (int32_t)(led_a.y - led_b.y))) +# define LED_DISTANCE(led_a, led_b) sqrt16(((int16_t)(led_a.x - led_b.x) * (int16_t)(led_a.x - led_b.x)) + ((int16_t)(led_a.y - led_b.y) * (int16_t)(led_a.y - led_b.y))) uint8_t distance = LED_DISTANCE(g_led_config.point[g_led_config.matrix_co[row][col]], g_led_config.point[g_led_config.matrix_co[i_row][i_col]]); # undef LED_DISTANCE if (distance <= RGB_MATRIX_TYPING_HEATMAP_SPREAD) { diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index e2b268efa7..ab0aa17512 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -72,19 +72,12 @@ uint8_t g_rgb_frame_buffer[MATRIX_ROWS][MATRIX_COLS] = {{0}}; last_hit_t g_last_hit_tracker; #endif // RGB_MATRIX_KEYREACTIVE_ENABLED -#ifndef RGB_MATRIX_FLAG_STEPS -# define RGB_MATRIX_FLAG_STEPS {LED_FLAG_ALL, LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER, LED_FLAG_UNDERGLOW, LED_FLAG_NONE} -#endif -static const uint8_t rgb_matrix_flag_steps[] = RGB_MATRIX_FLAG_STEPS; -#define RGB_MATRIX_FLAG_STEPS_COUNT ARRAY_SIZE(rgb_matrix_flag_steps) - // internals -static bool suspend_state = false; -static uint8_t rgb_last_enable = UINT8_MAX; -static uint8_t rgb_last_effect = UINT8_MAX; -static uint8_t rgb_current_effect = 0; -static effect_params_t rgb_effect_params = {0, LED_FLAG_ALL, false}; -static rgb_task_states rgb_task_state = SYNCING; +static bool suspend_state = false; +static uint8_t rgb_last_enable = UINT8_MAX; +static uint8_t rgb_last_effect = UINT8_MAX; +static effect_params_t rgb_effect_params = {0, LED_FLAG_ALL, false}; +static rgb_task_states rgb_task_state = SYNCING; // double buffers static uint32_t rgb_timer_buffer; @@ -158,31 +151,15 @@ void rgb_matrix_update_pwm_buffers(void) { __attribute__((weak)) int rgb_matrix_led_index(int index) { #if defined(RGB_MATRIX_SPLIT) - const bool index_in_left_side = index < k_rgb_matrix_split[0]; - - if (is_keyboard_left()) { - if (index_in_left_side) { - return index; - } - return -1; + if (!is_keyboard_left() && index >= k_rgb_matrix_split[0]) { + return index - k_rgb_matrix_split[0]; } - - if (index_in_left_side) { - return -1; - } - - return index - k_rgb_matrix_split[0]; #endif return index; } void rgb_matrix_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - const int led_index = rgb_matrix_led_index(index); - if (led_index < 0) { - return; - } - - rgb_matrix_driver.set_color(led_index, red, green, blue); + rgb_matrix_driver.set_color(rgb_matrix_led_index(index), red, green, blue); } void rgb_matrix_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { @@ -312,17 +289,6 @@ static void rgb_task_start(void) { g_last_hit_tracker = last_hit_buffer; #endif // RGB_MATRIX_KEYREACTIVE_ENABLED - // Ideally we would also stop sending zeros to the LED driver PWM buffers - // while suspended and just do a software shutdown. This is a cheap hack for now. - bool suspend_backlight = suspend_state || -#if RGB_MATRIX_TIMEOUT > 0 - (last_input_activity_elapsed() > (uint32_t)RGB_MATRIX_TIMEOUT) || -#endif // RGB_MATRIX_TIMEOUT > 0 - false; - - // Set effect to be renedered - rgb_current_effect = suspend_backlight || !rgb_matrix_config.enable ? 0 : rgb_matrix_config.mode; - // next task rgb_task_state = RENDERING; } @@ -411,7 +377,15 @@ static void rgb_task_flush(uint8_t effect) { void rgb_matrix_task(void) { rgb_task_timers(); - uint8_t effect = rgb_current_effect; + // Ideally we would also stop sending zeros to the LED driver PWM buffers + // while suspended and just do a software shutdown. This is a cheap hack for now. + bool suspend_backlight = suspend_state || +#if RGB_MATRIX_TIMEOUT > 0 + (last_input_activity_elapsed() > (uint32_t)RGB_MATRIX_TIMEOUT) || +#endif // RGB_MATRIX_TIMEOUT > 0 + false; + + uint8_t effect = suspend_backlight || !rgb_matrix_config.enable ? 0 : rgb_matrix_config.mode; switch (rgb_task_state) { case STARTING: @@ -773,50 +747,6 @@ void rgb_matrix_set_flags_noeeprom(led_flags_t flags) { rgb_matrix_set_flags_eeprom_helper(flags, false); } -void rgb_matrix_flags_step_helper(bool write_to_eeprom) { - led_flags_t flags = rgb_matrix_get_flags(); - - uint8_t next = 0; - for (uint8_t i = 0; i < RGB_MATRIX_FLAG_STEPS_COUNT; i++) { - if (rgb_matrix_flag_steps[i] == flags) { - next = i == RGB_MATRIX_FLAG_STEPS_COUNT - 1 ? 0 : i + 1; - break; - } - } - - rgb_matrix_set_flags_eeprom_helper(rgb_matrix_flag_steps[next], write_to_eeprom); -} - -void rgb_matrix_flags_step_noeeprom(void) { - rgb_matrix_flags_step_helper(false); -} - -void rgb_matrix_flags_step(void) { - rgb_matrix_flags_step_helper(true); -} - -void rgb_matrix_flags_step_reverse_helper(bool write_to_eeprom) { - led_flags_t flags = rgb_matrix_get_flags(); - - uint8_t next = 0; - for (uint8_t i = 0; i < RGB_MATRIX_FLAG_STEPS_COUNT; i++) { - if (rgb_matrix_flag_steps[i] == flags) { - next = i == 0 ? RGB_MATRIX_FLAG_STEPS_COUNT - 1 : i - 1; - break; - } - } - - rgb_matrix_set_flags_eeprom_helper(rgb_matrix_flag_steps[next], write_to_eeprom); -} - -void rgb_matrix_flags_step_reverse_noeeprom(void) { - rgb_matrix_flags_step_reverse_helper(false); -} - -void rgb_matrix_flags_step_reverse(void) { - rgb_matrix_flags_step_reverse_helper(true); -} - //---------------------------------------------------------- // RGB Matrix naming #undef RGB_MATRIX_EFFECT diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index f49ad04ace..a91dded4a8 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -151,14 +151,6 @@ void eeconfig_force_flush_rgb_matrix(void); uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i); uint8_t rgb_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *led_i); -/** - * @brief Convert an index to the addressing used by underlying driver - * - * @param index Logical index of the LED we want to work on - * - * @return Resolved index to be used on the driver - * @retval < 0 Error (eg: trying to address a LED on the other half of a split board) - */ int rgb_matrix_led_index(int index); void rgb_matrix_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); @@ -226,10 +218,6 @@ void rgb_matrix_decrease_speed_noeeprom(void); led_flags_t rgb_matrix_get_flags(void); void rgb_matrix_set_flags(led_flags_t flags); void rgb_matrix_set_flags_noeeprom(led_flags_t flags); -void rgb_matrix_flags_step_noeeprom(void); -void rgb_matrix_flags_step(void); -void rgb_matrix_flags_step_reverse_noeeprom(void); -void rgb_matrix_flags_step_reverse(void); void rgb_matrix_update_pwm_buffers(void); #ifdef RGB_MATRIX_MODE_NAME_ENABLE diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index 3c4a05844d..bfccb472b5 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -1381,7 +1381,7 @@ void rgblight_effect_twinkle(animation_status_t *anim) { for (uint8_t i = 0; i < rgblight_ranges.effect_num_leds; i++) { TwinkleState *t = &(led_twinkle_state[i]); - hsv_t *c = &(t->hsv); + hsv_t * c = &(t->hsv); if (!random_color) { c->h = rgblight_config.hue; diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h index e70c081c2a..c061e71895 100644 --- a/quantum/rgblight/rgblight.h +++ b/quantum/rgblight/rgblight.h @@ -186,7 +186,8 @@ typedef struct { # define RGBLIGHT_USE_TIMER # define RGBLIGHT_END_SEGMENT_INDEX (255) -# define RGBLIGHT_END_SEGMENTS {RGBLIGHT_END_SEGMENT_INDEX, 0, 0, 0} +# define RGBLIGHT_END_SEGMENTS \ + { RGBLIGHT_END_SEGMENT_INDEX, 0, 0, 0 } # ifndef RGBLIGHT_MAX_LAYERS # define RGBLIGHT_MAX_LAYERS 8 # endif @@ -201,8 +202,10 @@ typedef uint32_t rgblight_layer_mask_t; # else # error invalid RGBLIGHT_MAX_LAYERS value (must be <= 32) # endif -# define RGBLIGHT_LAYER_SEGMENTS(...) {__VA_ARGS__, RGBLIGHT_END_SEGMENTS} -# define RGBLIGHT_LAYERS_LIST(...) {__VA_ARGS__, NULL} +# define RGBLIGHT_LAYER_SEGMENTS(...) \ + { __VA_ARGS__, RGBLIGHT_END_SEGMENTS } +# define RGBLIGHT_LAYERS_LIST(...) \ + { __VA_ARGS__, NULL } // Get/set enabled rgblight layers void rgblight_set_layer_state(uint8_t layer, bool enabled); diff --git a/quantum/rgblight/rgblight_breathe_table.h b/quantum/rgblight/rgblight_breathe_table.h index 648e1bbaec..5a8181c7d4 100644 --- a/quantum/rgblight/rgblight_breathe_table.h +++ b/quantum/rgblight/rgblight_breathe_table.h @@ -1,4 +1,4 @@ -// Copyright 2026 QMK +// Copyright 2025 QMK // SPDX-License-Identifier: GPL-2.0-or-later /******************************************************************************* diff --git a/quantum/secure.c b/quantum/secure.c index 2f589877b7..f2a567f31d 100644 --- a/quantum/secure.c +++ b/quantum/secure.c @@ -14,7 +14,10 @@ #endif #ifndef SECURE_UNLOCK_SEQUENCE -# define SECURE_UNLOCK_SEQUENCE {{0, 0}} +# define SECURE_UNLOCK_SEQUENCE \ + { \ + { 0, 0 } \ + } #endif static secure_status_t secure_status = SECURE_LOCKED; diff --git a/quantum/send_string/send_string.c b/quantum/send_string/send_string.c index 6471d5140c..602f24dabe 100644 --- a/quantum/send_string/send_string.c +++ b/quantum/send_string/send_string.c @@ -281,10 +281,6 @@ void send_nibble(uint8_t number) { } } -#if defined(__AVR_ATmega32U4__) -# include -#endif - void tap_random_base64(void) { #if defined(__AVR_ATmega32U4__) uint8_t key = (TCNT0 + TCNT1 + TCNT3 + TCNT4) % 64; diff --git a/quantum/split_common/split_util.c b/quantum/split_common/split_util.c index 93a4d3419f..59b6009ec4 100644 --- a/quantum/split_common/split_util.c +++ b/quantum/split_common/split_util.c @@ -56,6 +56,8 @@ static uint8_t connection_errors = 0; +volatile bool isLeftHand = true; + static struct { bool master; bool left; @@ -165,7 +167,7 @@ __attribute__((weak)) bool is_keyboard_left_impl(void) { # pragma message "Faking EE_HANDS for right hand" const bool should_be_left = false; # endif - bool is_left = eeconfig_read_handedness(); + bool is_left = eeconfig_read_handedness(); if (is_left != should_be_left) { eeconfig_update_handedness(should_be_left); } @@ -201,6 +203,8 @@ void split_pre_init(void) { split_config.master = is_keyboard_master_impl(); split_config.left = is_keyboard_left_impl(); + isLeftHand = is_keyboard_left(); // TODO: Remove isLeftHand + #if defined(RGBLIGHT_ENABLE) && defined(RGBLED_SPLIT) uint8_t num_rgb_leds_split[2] = RGBLED_SPLIT; if (is_keyboard_left()) { diff --git a/quantum/split_common/split_util.h b/quantum/split_common/split_util.h index 4eb8f8dc18..6f4c4dc660 100644 --- a/quantum/split_common/split_util.h +++ b/quantum/split_common/split_util.h @@ -5,6 +5,8 @@ #include "matrix.h" +extern volatile bool isLeftHand; + void split_pre_init(void); void split_post_init(void); diff --git a/quantum/split_common/transaction_id_define.h b/quantum/split_common/transaction_id_define.h index c383b26adb..694737868a 100644 --- a/quantum/split_common/transaction_id_define.h +++ b/quantum/split_common/transaction_id_define.h @@ -18,10 +18,6 @@ #include "compiler_support.h" -#if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) -# define SPLIT_TRANSACTION_RPC -#endif - enum serial_transaction_id { #ifdef USE_I2C I2C_EXECUTE_CALLBACK, @@ -103,12 +99,12 @@ enum serial_transaction_id { PUT_ACTIVITY, #endif // SPLIT_ACTIVITY_ENABLE -#if defined(SPLIT_TRANSACTION_RPC) +#if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) PUT_RPC_INFO, PUT_RPC_REQ_DATA, EXECUTE_RPC, GET_RPC_RESP_DATA, -#endif // defined(SPLIT_TRANSACTION_RPC) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) // keyboard-specific #ifdef SPLIT_TRANSACTION_IDS_KB @@ -120,11 +116,6 @@ enum serial_transaction_id { SPLIT_TRANSACTION_IDS_USER, #endif // SPLIT_TRANSACTION_IDS_USER -// community module specific -#ifdef COMMUNITY_MODULES_ENABLE -# include "split_transaction_id_community_modules.inc" -#endif // COMMUNITY_MODULES_ENABLE - #if defined(OS_DETECTION_ENABLE) && defined(SPLIT_DETECTED_OS_ENABLE) PUT_DETECTED_OS, #endif // defined(OS_DETECTION_ENABLE) && defined(SPLIT_DETECTED_OS_ENABLE) diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index ffc3e45c2c..f66b2ad89f 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -73,23 +73,26 @@ #define sizeof_member(type, member) sizeof(((type *)NULL)->member) -#define trans_initiator2target_initializer_cb(member, cb) {sizeof_member(split_shared_memory_t, member), offsetof(split_shared_memory_t, member), 0, 0, cb} +#define trans_initiator2target_initializer_cb(member, cb) \ + { sizeof_member(split_shared_memory_t, member), offsetof(split_shared_memory_t, member), 0, 0, cb } #define trans_initiator2target_initializer(member) trans_initiator2target_initializer_cb(member, NULL) -#define trans_target2initiator_initializer_cb(member, cb) {0, 0, sizeof_member(split_shared_memory_t, member), offsetof(split_shared_memory_t, member), cb} +#define trans_target2initiator_initializer_cb(member, cb) \ + { 0, 0, sizeof_member(split_shared_memory_t, member), offsetof(split_shared_memory_t, member), cb } #define trans_target2initiator_initializer(member) trans_target2initiator_initializer_cb(member, NULL) -#define trans_initiator2target_cb(cb) {0, 0, 0, 0, cb} +#define trans_initiator2target_cb(cb) \ + { 0, 0, 0, 0, cb } #define transport_write(id, data, length) transport_execute_transaction(id, data, length, NULL, 0) #define transport_read(id, data, length) transport_execute_transaction(id, NULL, 0, data, length) #define transport_exec(id) transport_execute_transaction(id, NULL, 0, NULL, 0) -#if defined(SPLIT_TRANSACTION_RPC) +#if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) // Forward-declare the RPC callback handlers void slave_rpc_info_callback(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer); void slave_rpc_exec_callback(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer); -#endif // defined(SPLIT_TRANSACTION_RPC) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) //////////////////////////////////////////////////// // Helpers @@ -943,12 +946,12 @@ split_transaction_desc_t split_transaction_table[NUM_TOTAL_TRANSACTIONS] = { TRANSACTIONS_DETECTED_OS_REGISTRATIONS // clang-format on -#if defined(SPLIT_TRANSACTION_RPC) +#if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) [PUT_RPC_INFO] = trans_initiator2target_initializer_cb(rpc_info, slave_rpc_info_callback), [PUT_RPC_REQ_DATA] = trans_initiator2target_initializer(rpc_m2s_buffer), [EXECUTE_RPC] = trans_initiator2target_initializer_cb(rpc_info.payload.transaction_id, slave_rpc_exec_callback), [GET_RPC_RESP_DATA] = trans_target2initiator_initializer(rpc_s2m_buffer), -#endif // defined(SPLIT_TRANSACTION_RPC) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) }; bool transactions_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { @@ -996,7 +999,7 @@ void transactions_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[ TRANSACTIONS_DETECTED_OS_SLAVE(); } -#if defined(SPLIT_TRANSACTION_RPC) +#if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) void transaction_register_rpc(int8_t transaction_id, slave_callback_t callback) { // Prevent invoking RPC on QMK core sync data @@ -1073,4 +1076,4 @@ void slave_rpc_exec_callback(uint8_t initiator2target_buffer_size, const void *i } } -#endif // defined(SPLIT_TRANSACTION_RPC) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) diff --git a/quantum/split_common/transport.h b/quantum/split_common/transport.h index e6caca4fa8..fbd87ca312 100644 --- a/quantum/split_common/transport.h +++ b/quantum/split_common/transport.h @@ -22,7 +22,6 @@ #include "progmem.h" #include "action_layer.h" #include "matrix.h" -#include "transaction_id_define.h" #ifndef RPC_M2S_BUFFER_SIZE # define RPC_M2S_BUFFER_SIZE 32 @@ -133,7 +132,7 @@ typedef struct _split_slave_activity_sync_t { } split_slave_activity_sync_t; #endif // defined(SPLIT_ACTIVITY_ENABLE) -#if defined(SPLIT_TRANSACTION_RPC) +#if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) typedef struct _rpc_sync_info_t { uint8_t checksum; struct { @@ -142,7 +141,7 @@ typedef struct _rpc_sync_info_t { uint8_t s2m_length; } payload; } rpc_sync_info_t; -#endif // defined(SPLIT_TRANSACTION_RPC) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) #if defined(OS_DETECTION_ENABLE) && defined(SPLIT_DETECTED_OS_ENABLE) # include "os_detection.h" @@ -223,11 +222,11 @@ typedef struct _split_shared_memory_t { split_slave_activity_sync_t activity_sync; #endif // defined(SPLIT_ACTIVITY_ENABLE) -#if defined(SPLIT_TRANSACTION_RPC) +#if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) rpc_sync_info_t rpc_info; uint8_t rpc_m2s_buffer[RPC_M2S_BUFFER_SIZE]; uint8_t rpc_s2m_buffer[RPC_S2M_BUFFER_SIZE]; -#endif // defined(SPLIT_TRANSACTION_RPC) +#endif // defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) #if defined(OS_DETECTION_ENABLE) && defined(SPLIT_DETECTED_OS_ENABLE) os_variant_t detected_os; diff --git a/quantum/unicode/unicode.c b/quantum/unicode/unicode.c index b84c130907..dff1d43fb4 100644 --- a/quantum/unicode/unicode.c +++ b/quantum/unicode/unicode.c @@ -46,6 +46,12 @@ # define UNICODE_KEY_WINC KC_RIGHT_ALT #endif +// Comma-delimited, ordered list of input modes selected for use (e.g. in cycle) +// Example: #define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_LINUX +#ifndef UNICODE_SELECTED_MODES +# define UNICODE_SELECTED_MODES -1 +#endif + // Whether input mode changes in cycle should be written to EEPROM #ifndef UNICODE_CYCLE_PERSIST # define UNICODE_CYCLE_PERSIST true @@ -60,7 +66,7 @@ unicode_config_t unicode_config; uint8_t unicode_saved_mods; led_t unicode_saved_led_state; -#ifdef UNICODE_SELECTED_MODES +#if UNICODE_SELECTED_MODES != -1 static uint8_t selected[] = {UNICODE_SELECTED_MODES}; static int8_t selected_count = ARRAY_SIZE(selected); static int8_t selected_index; @@ -130,7 +136,7 @@ static void unicode_play_song(uint8_t mode) { void unicode_input_mode_init(void) { eeconfig_read_unicode_mode(&unicode_config); -#ifdef UNICODE_SELECTED_MODES +#if UNICODE_SELECTED_MODES != -1 # if UNICODE_CYCLE_PERSIST // Find input_mode in selected modes int8_t i; @@ -172,7 +178,7 @@ void set_unicode_input_mode(uint8_t mode) { } static void cycle_unicode_input_mode(int8_t offset) { -#ifdef UNICODE_SELECTED_MODES +#if UNICODE_SELECTED_MODES != -1 selected_index = (selected_index + offset) % selected_count; if (selected_index < 0) { selected_index += selected_count; diff --git a/quantum/util.h b/quantum/util.h index 99a0c0f627..61ec7ac153 100644 --- a/quantum/util.h +++ b/quantum/util.h @@ -24,7 +24,7 @@ * @brief Computes the rounded up result of a division of two integers at * compile time. */ -# define CEILING(dividend, divisor) (((dividend) + (divisor) - 1) / (divisor)) +# define CEILING(dividend, divisor) (((dividend) + (divisor)-1) / (divisor)) #endif #if !defined(IS_ARRAY) diff --git a/quantum/via.c b/quantum/via.c index 9c10840ec5..130ff74794 100644 --- a/quantum/via.c +++ b/quantum/via.c @@ -68,7 +68,7 @@ // Can be called in an overriding via_init_kb() to test if keyboard level code usage of // EEPROM is invalid and use/save defaults. bool via_eeprom_is_valid(void) { - char *p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" + char * p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" uint8_t magic0 = ((p[2] & 0x0F) << 4) | (p[3] & 0x0F); uint8_t magic1 = ((p[5] & 0x0F) << 4) | (p[6] & 0x0F); uint8_t magic2 = ((p[8] & 0x0F) << 4) | (p[9] & 0x0F); @@ -85,7 +85,7 @@ bool via_eeprom_is_valid(void) { // Keyboard level code (eg. via_init_kb()) should not call this void via_eeprom_set_valid(bool valid) { if (valid) { - char *p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" + char * p = QMK_BUILDDATE; // e.g. "2019-11-05-11:29:54" uint8_t magic0 = ((p[2] & 0x0F) << 4) | (p[3] & 0x0F); uint8_t magic1 = ((p[5] & 0x0F) << 4) | (p[6] & 0x0F); uint8_t magic2 = ((p[8] & 0x0F) << 4) | (p[9] & 0x0F); @@ -357,14 +357,6 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { command_data[4] = value & 0xFF; break; } - case id_keycodes_version: { - uint32_t value = QMK_KEYCODES_VERSION_BCD; - command_data[1] = (value >> 24) & 0xFF; - command_data[2] = (value >> 16) & 0xFF; - command_data[3] = (value >> 8) & 0xFF; - command_data[4] = value & 0xFF; - break; - } default: { // The value ID is not known // Return the unhandled state diff --git a/quantum/via.h b/quantum/via.h index ef788ebfd8..9f0eef10f7 100644 --- a/quantum/via.h +++ b/quantum/via.h @@ -39,7 +39,7 @@ // This is changed only when the command IDs change, // so VIA Configurator can detect compatible firmware. -#define VIA_PROTOCOL_VERSION 0x000D +#define VIA_PROTOCOL_VERSION 0x000C // This is a version number for the firmware for the keyboard. // It can be used to ensure the VIA keyboard definition and the firmware @@ -82,7 +82,6 @@ enum via_keyboard_value_id { id_switch_matrix_state = 0x03, id_firmware_version = 0x04, id_device_indication = 0x05, - id_keycodes_version = 0x06, }; enum via_channel_id { diff --git a/quantum/wear_leveling/wear_leveling.c b/quantum/wear_leveling/wear_leveling.c index f65ff9c1ca..258f074a5c 100644 --- a/quantum/wear_leveling/wear_leveling.c +++ b/quantum/wear_leveling/wear_leveling.c @@ -358,7 +358,7 @@ static wear_leveling_status_t wear_leveling_append_raw(backing_store_int_t value * @return true if consolidation occurred */ static wear_leveling_status_t wear_leveling_write_raw_multibyte(uint32_t address, const void *value, size_t length) { - const uint8_t *p = value; + const uint8_t * p = value; write_log_entry_t log = LOG_ENTRY_MAKE_MULTIBYTE(address, length); for (size_t i = 0; i < length; ++i) { log.raw8[3 + i] = p[i]; @@ -415,7 +415,7 @@ static wear_leveling_status_t wear_leveling_write_raw_multibyte(uint32_t address * Handles the actual writing of logical data into the write log section of the backing store. */ static wear_leveling_status_t wear_leveling_write_raw(uint32_t address, const void *value, size_t length) { - const uint8_t *p = value; + const uint8_t * p = value; size_t remaining = length; wear_leveling_status_t status = WEAR_LEVELING_SUCCESS; while (remaining > 0) { @@ -555,7 +555,7 @@ static wear_leveling_status_t wear_leveling_playback_log(void) { if (!ok) { wl_dprintf("Failed to load from backing store, skipping playback of write log\n"); cancel_playback = true; - status = WEAR_LEVELING_FAILED; + status = WEAR_LEVELING_FAILED; break; } address += (BACKING_STORE_WRITE_SIZE); diff --git a/tests/combo/test_combo.cpp b/tests/combo/test_combo.cpp index cc6425a94c..d78ec55990 100644 --- a/tests/combo/test_combo.cpp +++ b/tests/combo/test_combo.cpp @@ -54,18 +54,3 @@ TEST_F(Combo, combo_osmshift_tapped) { tap_key(key_i); VERIFY_AND_CLEAR(driver); } - -TEST_F(Combo, combo_single_key_twice) { - TestDriver driver; - KeymapKey key_a(0, 0, 1, KC_A); - set_keymap({key_a}); - - EXPECT_REPORT(driver, (KC_B)); - tap_combo({key_a}); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - tap_combo({key_a}); - VERIFY_AND_CLEAR(driver); -} diff --git a/tests/combo/test_combos.c b/tests/combo/test_combos.c index a6f249833f..8dcb364c6e 100644 --- a/tests/combo/test_combos.c +++ b/tests/combo/test_combos.c @@ -4,16 +4,14 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "quantum.h" -enum combos { modtest, osmshift, single_key }; +enum combos { modtest, osmshift }; -uint16_t const modtest_combo[] = {KC_Y, KC_U, COMBO_END}; -uint16_t const osmshift_combo[] = {KC_Z, KC_X, COMBO_END}; -uint16_t const single_key_combo[] = {KC_A, COMBO_END}; +uint16_t const modtest_combo[] = {KC_Y, KC_U, COMBO_END}; +uint16_t const osmshift_combo[] = {KC_Z, KC_X, COMBO_END}; // clang-format off combo_t key_combos[] = { [modtest] = COMBO(modtest_combo, RSFT_T(KC_SPACE)), - [osmshift] = COMBO(osmshift_combo, OSM(MOD_LSFT)), - [single_key] = COMBO(single_key_combo, KC_B), + [osmshift] = COMBO(osmshift_combo, OSM(MOD_LSFT)) }; // clang-format on diff --git a/tests/repeat_key/test_repeat_key.cpp b/tests/repeat_key/test_repeat_key.cpp index 385ae884cc..ed5d618761 100644 --- a/tests/repeat_key/test_repeat_key.cpp +++ b/tests/repeat_key/test_repeat_key.cpp @@ -54,7 +54,6 @@ class RepeatKey : public TestFixture { bool process_record_user_was_called_; void SetUp() override { - reset_repeat_key_state(); autoshift_disable(); process_record_user_fun = process_record_user_default; remember_last_key_user_fun = remember_last_key_user_default; @@ -785,26 +784,4 @@ TEST_F(RepeatKey, IgnoredKeys) { testing::Mock::VerifyAndClearExpectations(&driver); } -// Check that on fresh boot, repeat press, another key, repeat release doesn't hang -TEST_F(RepeatKey, RepeatKeyHeldAfterBoot) { - TestDriver driver; - KeymapKey key_a(0, 1, 0, KC_A); - KeymapKey key_repeat(0, 2, 0, QK_REP); - set_keymap({key_a, key_repeat}); - - EXPECT_EMPTY_REPORT(driver).Times(AnyNumber()); - ExpectString(driver, "a"); - - // Press and hold repeat key, then press and release 'a' key, then release repeat key - key_repeat.press(); - run_one_scan_loop(); - key_a.press(); - run_one_scan_loop(); - key_a.release(); - run_one_scan_loop(); - key_repeat.release(); - run_one_scan_loop(); - testing::Mock::VerifyAndClearExpectations(&driver); -} - } // namespace diff --git a/tests/tap_dance/examples.c b/tests/tap_dance/examples.c index 6aaf008232..4b6bdb2090 100644 --- a/tests/tap_dance/examples.c +++ b/tests/tap_dance/examples.c @@ -81,13 +81,11 @@ typedef struct { bool process_record_user(uint16_t keycode, keyrecord_t *record) { tap_dance_action_t *action; - tap_dance_state_t* state; switch (keycode) { case TD(CT_CLN): action = tap_dance_get(QK_TAP_DANCE_GET_INDEX(keycode)); - state = tap_dance_get_state(QK_TAP_DANCE_GET_INDEX(keycode)); - if (!record->event.pressed && state != NULL && state->count && !state->finished) { + if (!record->event.pressed && action->state.count && !action->state.finished) { tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; tap_code16(tap_hold->tap); } diff --git a/tests/tap_hold_configurations/retro_tapping/config.h b/tests/tap_hold_configurations/retro_tapping/config.h index b776b7466e..cc9f162477 100644 --- a/tests/tap_hold_configurations/retro_tapping/config.h +++ b/tests/tap_hold_configurations/retro_tapping/config.h @@ -20,4 +20,5 @@ #define RETRO_TAPPING #define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_RIGHT_CTRL -#define MODS_TO_NEUTRALIZE {MOD_BIT(KC_LEFT_GUI)} +#define MODS_TO_NEUTRALIZE \ + { MOD_BIT(KC_LEFT_GUI) } diff --git a/tests/tap_hold_configurations/speculative_hold/all_mods/test.mk b/tests/tap_hold_configurations/speculative_hold/all_mods/test.mk deleted file mode 100644 index 1765122512..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/all_mods/test.mk +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2022 Vladislav Kucheriavykh -# Copyright 2025 Google LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -MAGIC_ENABLE = yes - diff --git a/tests/tap_hold_configurations/speculative_hold/all_mods/test_tap_hold.cpp b/tests/tap_hold_configurations/speculative_hold/all_mods/test_tap_hold.cpp deleted file mode 100644 index 764b97ddde..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/all_mods/test_tap_hold.cpp +++ /dev/null @@ -1,352 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::AnyNumber; -using testing::InSequence; - -namespace { - -// Gets the unpacked 8-bit mods corresponding to a given mod-tap keycode. -uint8_t unpack_mod_tap_mods(uint16_t keycode) { - const uint8_t mods5 = QK_MOD_TAP_GET_MODS(keycode); - return (mods5 & 0x10) != 0 ? (mods5 << 4) : mods5; -} - -bool get_speculative_hold_all_mods(uint16_t keycode, keyrecord_t *record) { - return true; // Enable Speculative Hold for all mod-tap keys. -} - -// Indirection so that get_speculative_hold() can be -// replaced with other functions in the test cases below. -std::function get_speculative_hold_fun = get_speculative_hold_all_mods; - -extern "C" bool get_speculative_hold(uint16_t keycode, keyrecord_t *record) { - return get_speculative_hold_fun(keycode, record); -} - -class SpeculativeHoldAllMods : public TestFixture { - public: - void SetUp() override { - get_speculative_hold_fun = get_speculative_hold_all_mods; - } -}; - -TEST_F(SpeculativeHoldAllMods, tap_mod_tap_neutralized) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, GUI_T(KC_P)); - - set_keymap({mod_tap_key}); - - // Press mod-tap-hold key. Mod is held speculatively. - EXPECT_REPORT(driver, (KC_LGUI)); - mod_tap_key.press(); - idle_for(10); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. Speculative mod is neutralized and canceled. - EXPECT_REPORT(driver, (KC_LGUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LGUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Idle for tapping term of mod tap hold key. - idle_for(TAPPING_TERM - 10); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldAllMods, hold_two_mod_taps) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, LCTL_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, RALT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press first mod-tap key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), MOD_BIT_LCTRL); - - // Press second mod-tap key. - EXPECT_REPORT(driver, (KC_LCTL, KC_RALT)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), MOD_BIT_LCTRL | MOD_BIT_RALT); - - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), MOD_BIT_LCTRL | MOD_BIT_RALT); - - // Release first mod-tap key. - EXPECT_REPORT(driver, (KC_RALT)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release second mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldAllMods, two_mod_taps_same_mods) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, GUI_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, GUI_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press first mod-tap key. - EXPECT_REPORT(driver, (KC_LGUI)); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap second mod-tap key. - EXPECT_NO_REPORT(driver); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release first mod-tap key. - EXPECT_REPORT(driver, (KC_LGUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LGUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldAllMods, respects_get_speculative_hold_callback) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 0, 0, LSFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 1, 0, LSFT_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 2, 0, LCTL_T(KC_C)); - auto mod_tap_key4 = KeymapKey(0, 3, 0, LCTL_T(KC_D)); - auto mod_tap_key5 = KeymapKey(0, 4, 0, RSFT_T(KC_E)); - auto mod_tap_key6 = KeymapKey(0, 5, 0, RSFT_T(KC_F)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3, mod_tap_key4, mod_tap_key5, mod_tap_key6}); - - // Enable Speculative Hold selectively for some of the keys. - get_speculative_hold_fun = [](uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LSFT_T(KC_B): - case LCTL_T(KC_D): - case RSFT_T(KC_F): - return true; - } - return false; - }; - - for (KeymapKey *mod_tap_key : {&mod_tap_key2, &mod_tap_key4, &mod_tap_key6}) { - SCOPED_TRACE(std::string("mod_tap_key = ") + mod_tap_key->name); - const uint8_t mods = unpack_mod_tap_mods(mod_tap_key->code); - - // Long press and release mod_tap_key. - // For these keys where Speculative Hold is enabled, then the mod should - // activate immediately on keydown. - EXPECT_REPORT(driver, (KC_LCTL + biton(mods))); - mod_tap_key->press(); - run_one_scan_loop(); - EXPECT_EQ(get_speculative_mods(), mods); - EXPECT_EQ(get_mods(), 0); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), mods); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key->release(); - idle_for(TAPPING_TERM + 1); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), 0); - VERIFY_AND_CLEAR(driver); - } - - for (KeymapKey *mod_tap_key : {&mod_tap_key1, &mod_tap_key3, &mod_tap_key5}) { - SCOPED_TRACE(std::string("mod_tap_key = ") + mod_tap_key->name); - const uint8_t mods = unpack_mod_tap_mods(mod_tap_key->code); - - // Long press and release mod_tap_key. - // For these keys where Speculative Hold is disabled, the mod should - // activate when the key has settled after the tapping term. - EXPECT_NO_REPORT(driver); - mod_tap_key->press(); - run_one_scan_loop(); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), 0); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LCTL + biton(mods))); - idle_for(TAPPING_TERM + 1); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), mods); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key->release(); - idle_for(TAPPING_TERM + 1); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), 0); - VERIFY_AND_CLEAR(driver); - } -} - -TEST_F(SpeculativeHoldAllMods, respects_magic_mod_config) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, CTL_T(KC_P)); - - set_keymap({mod_tap_key}); - - keymap_config.swap_lctl_lgui = true; - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LGUI)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LGUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LGUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - keymap_config.swap_lctl_lgui = false; - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldAllMods, tap_a_mod_tap_key_while_another_mod_tap_key_is_held) { - TestDriver driver; - InSequence s; - auto first_mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - auto second_mod_tap_key = KeymapKey(0, 2, 0, RSFT_T(KC_A)); - - set_keymap({first_mod_tap_key, second_mod_tap_key}); - - // Press first mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LSFT)); - first_mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press second tap-hold key. - EXPECT_REPORT(driver, (KC_LSFT, KC_RSFT)); - second_mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release second tap-hold key. - EXPECT_NO_REPORT(driver); - second_mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release first mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - first_mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldAllMods, tap_mod_tap_key_two_times) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap-hold key again. - EXPECT_REPORT(driver, (KC_P)); - mod_tap_key.press(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -} // namespace diff --git a/tests/tap_hold_configurations/speculative_hold/default/config.h b/tests/tap_hold_configurations/speculative_hold/default/config.h deleted file mode 100644 index 9891296f42..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/default/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2022 Vladislav Kucheriavykh - * Copyright 2025 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" - -#define SPECULATIVE_HOLD diff --git a/tests/tap_hold_configurations/speculative_hold/default/test.mk b/tests/tap_hold_configurations/speculative_hold/default/test.mk deleted file mode 100644 index f5decaeb78..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/default/test.mk +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 2022 Vladislav Kucheriavykh -# Copyright 2025 Google LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -KEY_OVERRIDE_ENABLE = yes - -INTROSPECTION_KEYMAP_C = test_keymap.c - diff --git a/tests/tap_hold_configurations/speculative_hold/default/test_keymap.c b/tests/tap_hold_configurations/speculative_hold/default/test_keymap.c deleted file mode 100644 index db65374618..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/default/test_keymap.c +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "quantum.h" - -// Shift + Esc = Home -const key_override_t home_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, KC_HOME); - -const key_override_t *key_overrides[] = {&home_esc_override}; diff --git a/tests/tap_hold_configurations/speculative_hold/default/test_tap_hold.cpp b/tests/tap_hold_configurations/speculative_hold/default/test_tap_hold.cpp deleted file mode 100644 index bfa022be11..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/default/test_tap_hold.cpp +++ /dev/null @@ -1,535 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::AnyNumber; -using testing::InSequence; - -namespace { - -bool process_record_user_default(uint16_t keycode, keyrecord_t *record) { - return true; -} - -// Indirection so that process_record_user() can be -// replaced with other functions in the test cases below. -std::function process_record_user_fun = process_record_user_default; - -extern "C" bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return process_record_user_fun(keycode, record); -} - -class SpeculativeHoldDefault : public TestFixture { - public: - void SetUp() override { - process_record_user_fun = process_record_user_default; - } -}; - -TEST_F(SpeculativeHoldDefault, get_speculative_hold) { - keyrecord_t record = {}; - - // With the default definition of get_speculative_hold(), Speculative Hold - // is enabled for Ctrl and Shift. - EXPECT_TRUE(get_speculative_hold(MT(MOD_LCTL, KC_NO), &record)); - EXPECT_TRUE(get_speculative_hold(MT(MOD_LSFT, KC_NO), &record)); - EXPECT_TRUE(get_speculative_hold(MT(MOD_LCTL | MOD_LSFT, KC_NO), &record)); - EXPECT_TRUE(get_speculative_hold(MT(MOD_RCTL, KC_NO), &record)); - EXPECT_TRUE(get_speculative_hold(MT(MOD_RSFT, KC_NO), &record)); - EXPECT_TRUE(get_speculative_hold(MT(MOD_RCTL | MOD_RSFT, KC_NO), &record)); - - EXPECT_FALSE(get_speculative_hold(MT(MOD_LALT, KC_NO), &record)); - EXPECT_FALSE(get_speculative_hold(MT(MOD_LGUI, KC_NO), &record)); - EXPECT_FALSE(get_speculative_hold(MT(MOD_RALT, KC_NO), &record)); - EXPECT_FALSE(get_speculative_hold(MT(MOD_RGUI, KC_NO), &record)); - EXPECT_FALSE(get_speculative_hold(MT(MOD_MEH, KC_NO), &record)); - EXPECT_FALSE(get_speculative_hold(MT(MOD_HYPR, KC_NO), &record)); -} - -TEST_F(SpeculativeHoldDefault, tap_mod_tap) { - TestDriver driver; - InSequence s; - static int process_record_user_calls = 0; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - process_record_user_fun = [](uint16_t keycode, keyrecord_t *record) { - ++process_record_user_calls; - return true; - }; - - // Press mod-tap-hold key. Mod is held speculatively. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - idle_for(10); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), MOD_BIT_LSHIFT); - // Speculative mod holds and releases are made directly, bypassing regular - // event processing. No calls have been made yet to process_record_user(). - EXPECT_EQ(process_record_user_calls, 0); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); // Speculative mod canceled. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), 0); - // Two calls have now been made, for pressing and releasing KC_P. - EXPECT_EQ(process_record_user_calls, 2); - - // Idle for tapping term of mod tap hold key. - idle_for(TAPPING_TERM - 10); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldDefault, key_overrides) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, LSFT_T(KC_A)); - auto esc_key = KeymapKey(0, 3, 0, KC_ESC); - - set_keymap({mod_tap_key, esc_key}); - - // Press mod-tap Shift key. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press Esc key. - EXPECT_EMPTY_REPORT(driver).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_HOME)); - esc_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release Esc key. - EXPECT_EMPTY_REPORT(driver).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LSFT)); - esc_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap Shift key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldDefault, tap_regular_key_while_mod_tap_key_is_held) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - auto regular_key = KeymapKey(0, 2, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap regular key. - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_P, KC_A)); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Idle for tapping term of mod tap hold key. - idle_for(TAPPING_TERM - 3); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldDefault, tap_mod_tap_key_two_times) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap-hold key again. - EXPECT_REPORT(driver, (KC_P)); - mod_tap_key.press(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldDefault, tap_mod_tap_key_twice_and_hold_on_second_time) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap-hold key again. - EXPECT_REPORT(driver, (KC_P)); - mod_tap_key.press(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldDefault, tap_and_hold_mod_tap_key) { - TestDriver driver; - InSequence s; - static int process_record_user_calls = 0; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - process_record_user_fun = [](uint16_t keycode, keyrecord_t *record) { - ++process_record_user_calls; - return true; - }; - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - idle_for(TAPPING_TERM - 1); - EXPECT_EQ(get_speculative_mods(), MOD_BIT_LSHIFT); - EXPECT_EQ(get_mods(), 0); - // Speculative mod holds and releases are made directly, bypassing regular - // event processing. No calls have been made yet to process_record_user(). - EXPECT_EQ(process_record_user_calls, 0); - idle_for(2); - // Now that the key has settled, one call has been made for the hold event. - EXPECT_EQ(process_record_user_calls, 1); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), MOD_BIT_LSHIFT); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - EXPECT_EQ(process_record_user_calls, 2); - VERIFY_AND_CLEAR(driver); -} - -// Test with layer tap and speculative mod tap keys on the same layer, -// rolling from LT to MT key: -// "LT down, MT down, (wait out tapping term), LT up, MT up." -TEST_F(SpeculativeHoldDefault, lt_mt_same_layer_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - // Press layer tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key, after flow tap term but within tapping term. The - // speculative mod activates. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Wait for the layer tap key to settle. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with layer tap and speculative mod tap keys on the same layer, trying a -// nested press: -// "LT down, MT down, (wait out tapping term), MT up, LT up." -TEST_F(SpeculativeHoldDefault, lt_mt_same_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - run_one_scan_loop(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys: MT first, LT second. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with layer tap and speculative mod tap keys on the same layer, trying a -// nested press with the MT first: -// "MT down, LT down, (wait out tapping term), LT up, MT up." -TEST_F(SpeculativeHoldDefault, mt_lt_same_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, rolling from -// LT to MT key: -// "LT down, MT down, (wait out tapping term), LT up, MT up." -TEST_F(SpeculativeHoldDefault, lt_mt_different_layer_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, SFT_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - // Press layer tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - // Press mod tap key. - mod_tap_key.press(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LSFT)); - layer_tap_key.release(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, slowly -// rolling from LT to MT key: -// "LT down, (wait), MT down, (wait), LT up, MT up." -TEST_F(SpeculativeHoldDefault, lt_mt_different_layer_slow_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, SFT_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, trying a -// nested press: -// "LT down, MT down, (wait out tapping term), MT up, LT up." -TEST_F(SpeculativeHoldDefault, lt_mt_different_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, SFT_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - mod_tap_key.press(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, trying a -// slow nested press: -// "LT down, (wait), MT down, MT up, LT up." -TEST_F(SpeculativeHoldDefault, lt_mt_different_layer_slow_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, SFT_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -} // namespace diff --git a/tests/tap_hold_configurations/speculative_hold/flow_tap/config.h b/tests/tap_hold_configurations/speculative_hold/flow_tap/config.h deleted file mode 100644 index 6988484226..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/flow_tap/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2022 Vladislav Kucheriavykh - * Copyright 2025 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" - -#define SPECULATIVE_HOLD -#define FLOW_TAP_TERM 150 -#define PERMISSIVE_HOLD -#define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_F24 diff --git a/tests/tap_hold_configurations/speculative_hold/flow_tap/test.mk b/tests/tap_hold_configurations/speculative_hold/flow_tap/test.mk deleted file mode 100644 index ad8675da9d..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/flow_tap/test.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 2022 Vladislav Kucheriavykh -# -# 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 . - diff --git a/tests/tap_hold_configurations/speculative_hold/flow_tap/test_tap_hold.cpp b/tests/tap_hold_configurations/speculative_hold/flow_tap/test_tap_hold.cpp deleted file mode 100644 index 0433a2548d..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/flow_tap/test_tap_hold.cpp +++ /dev/null @@ -1,1114 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::AnyNumber; -using testing::InSequence; - -extern "C" bool get_speculative_hold(uint16_t keycode, keyrecord_t *record) { - return true; -} - -class SpeculativeHoldFlowTapTest : public TestFixture {}; - -TEST_F(SpeculativeHoldFlowTapTest, tap_mod_tap) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); - - set_keymap({mod_tap_key}); - - // Press mod-tap-hold key. Mod is held speculatively. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - idle_for(10); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), MOD_BIT_LSHIFT); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); // Speculative mod canceled. - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), 0); - - // Idle for tapping term of mod tap hold key. - idle_for(TAPPING_TERM - 10); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldFlowTapTest, hold_two_mod_taps) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, LCTL_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, RALT_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press first mod-tap key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key1.press(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), MOD_BIT_LCTRL); - - // Press second mod-tap key. - EXPECT_REPORT(driver, (KC_LCTL, KC_RALT)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), MOD_BIT_LCTRL | MOD_BIT_RALT); - - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), MOD_BIT_LCTRL | MOD_BIT_RALT); - - // Release first mod-tap key. - EXPECT_REPORT(driver, (KC_RALT)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release second mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldFlowTapTest, two_mod_taps_same_mods) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, GUI_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, GUI_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press first mod-tap key. - EXPECT_REPORT(driver, (KC_LGUI)); - mod_tap_key1.press(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Tap second mod-tap key. - EXPECT_NO_REPORT(driver); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LGUI, KC_B)); - EXPECT_REPORT(driver, (KC_LGUI)); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release first mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test an input of quick distinct taps. All should be settled as tapped. -TEST_F(SpeculativeHoldFlowTapTest, distinct_taps) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_C)); - auto mod_tap_key3 = KeymapKey(0, 3, 0, ALT_T(KC_D)); - - set_keymap({regular_key, mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key, FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Tap mod-tap 1. - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap mod-tap 2. - EXPECT_REPORT(driver, (KC_C)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap mod-tap 3. - EXPECT_REPORT(driver, (KC_D)); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key3.release(); - idle_for(FLOW_TAP_TERM + 1); // Pause between taps. - VERIFY_AND_CLEAR(driver); - - // Tap mod-tap 1. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap mod-tap 2. - EXPECT_REPORT(driver, (KC_C)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - idle_for(TAPPING_TERM + 1); - mod_tap_key2.release(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// By default, Flow Tap is disabled when mods other than Shift and AltGr are on. -TEST_F(SpeculativeHoldFlowTapTest, hotkey_taps) { - TestDriver driver; - InSequence s; - auto ctrl_key = KeymapKey(0, 0, 0, KC_LCTL); - auto shft_key = KeymapKey(0, 1, 0, KC_LSFT); - auto alt_key = KeymapKey(0, 2, 0, KC_LALT); - auto gui_key = KeymapKey(0, 3, 0, KC_LGUI); - auto regular_key = KeymapKey(0, 4, 0, KC_A); - auto mod_tap_key = KeymapKey(0, 5, 0, RCTL_T(KC_B)); - - set_keymap({ctrl_key, shft_key, alt_key, gui_key, regular_key, mod_tap_key}); - - for (KeymapKey *mod_key : {&ctrl_key, &alt_key, &gui_key}) { - // Hold mod key. - EXPECT_REPORT(driver, (mod_key->code)); - mod_key->press(); - run_one_scan_loop(); - - // Tap regular key. - EXPECT_REPORT(driver, (mod_key->code, KC_A)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (mod_key->code)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap, where Flow Tap is disabled due to the held mod. - EXPECT_REPORT(driver, (mod_key->code, KC_RCTL)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap. - EXPECT_REPORT(driver, (mod_key->code)); - mod_tap_key.release(); - run_one_scan_loop(); - - // Release mod key. - EXPECT_EMPTY_REPORT(driver); - mod_key->release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - } - - // Hold Shift key. - EXPECT_REPORT(driver, (KC_LSFT)); - shft_key.press(); - run_one_scan_loop(); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_LSFT, KC_A)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap, where Flow Tap applies to settle as tapped. - EXPECT_REPORT(driver, (KC_LSFT, KC_B)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.release(); - run_one_scan_loop(); - - // Release Shift key. - EXPECT_EMPTY_REPORT(driver); - shft_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test input with two mod-taps in a rolled press quickly after a regular key. -TEST_F(SpeculativeHoldFlowTapTest, rolled_press) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_C)); - - set_keymap({regular_key, mod_tap_key1, mod_tap_key2}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key 1 quickly after regular key. The mod-tap should settle - // immediately as tapped, sending `KC_B`. - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key 2 quickly. - EXPECT_REPORT(driver, (KC_B, KC_C)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for longer than the tapping term. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, long_flow_tap_settled_as_held) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_B)); - - set_keymap({regular_key, mod_tap_key}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for the tapping term. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, holding_multiple_mod_taps) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_C)); - - set_keymap({regular_key, mod_tap_key1, mod_tap_key2}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap keys. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL)); - mod_tap_key2.press(); - idle_for(TAPPING_TERM - 5); // Hold almost until tapping term. - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL, KC_A)); - regular_key.press(); - idle_for(10); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL)); - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, holding_mod_tap_with_regular_mod) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_key = KeymapKey(0, 1, 0, KC_LSFT); - auto mod_tap_key = KeymapKey(0, 2, 0, CTL_T(KC_C)); - - set_keymap({regular_key, mod_key, mod_tap_key}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press mod and mod-tap keys. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL)); - mod_tap_key.press(); - idle_for(TAPPING_TERM - 5); // Hold almost until tapping term. - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL, KC_A)); - regular_key.press(); - idle_for(10); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL)); - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - mod_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, layer_tap_ignored_with_disabled_key) { - TestDriver driver; - InSequence s; - auto no_key = KeymapKey(0, 0, 0, KC_NO); - auto regular_key = KeymapKey(1, 0, 0, KC_ESC); - auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 2, 0, CTL_T(KC_B)); - - set_keymap({no_key, regular_key, layer_tap_key, mod_tap_key}); - - EXPECT_REPORT(driver, (KC_ESC)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - tap_key(regular_key); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, layer_tap_ignored_with_disabled_key_complex) { - TestDriver driver; - InSequence s; - auto regular_key1 = KeymapKey(0, 0, 0, KC_Q); - auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_SPC)); - auto mod_tap_key1 = KeymapKey(0, 2, 0, CTL_T(KC_T)); - // Place RALT_T(KC_I), where Flow Tap is enabled, in the same position on - // layer 0 as KC_RGHT, where Flow Tap is disabled. This tests that Flow Tap - // tracks the keycode from the correct layer. - auto mod_tap_key2 = KeymapKey(0, 3, 0, RALT_T(KC_I)); - auto regular_key2 = KeymapKey(1, 3, 0, KC_RGHT); - - set_keymap({regular_key1, layer_tap_key, mod_tap_key1, mod_tap_key2, regular_key2}); - - // Tap regular key 1. - EXPECT_REPORT(driver, (KC_Q)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key1); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Hold layer-tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Tap regular key 2. - EXPECT_REPORT(driver, (KC_RALT)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_RGHT)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key2); - VERIFY_AND_CLEAR(driver); - - // Release layer-tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Quickly hold mod-tap key 1. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LCTL, KC_Q)); - EXPECT_REPORT(driver, (KC_LCTL)); - tap_key(regular_key1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, layer_tap_ignored_with_enabled_key) { - TestDriver driver; - InSequence s; - auto no_key = KeymapKey(0, 0, 0, KC_NO); - auto regular_key = KeymapKey(1, 0, 0, KC_C); - auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 2, 0, CTL_T(KC_B)); - - set_keymap({no_key, regular_key, layer_tap_key, mod_tap_key}); - - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - tap_key(regular_key); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - idle_for(TAPPING_TERM + 1); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, quick_tap) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_A)); - - set_keymap({mod_tap_key}); - - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(mod_tap_key); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, rolling_mt_mt) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_B)); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - EXPECT_NO_REPORT(driver); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL)); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for longer than the tapping term. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, rolling_lt_mt_regular) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, CTL_T(KC_B)); - auto regular_key = KeymapKey(0, 2, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - EXPECT_REPORT(driver, (KC_LCTL)); - idle_for(FLOW_TAP_TERM + 1); - layer_tap_key.press(); - run_one_scan_loop(); - mod_tap_key.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_B, KC_C)); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for longer than the tapping term. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, rolling_lt_regular_mt) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto mod_tap_key = KeymapKey(0, 2, 0, CTL_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - idle_for(FLOW_TAP_TERM + 1); - layer_tap_key.press(); - run_one_scan_loop(); - regular_key.press(); - run_one_scan_loop(); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_B, KC_C)); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for longer than the tapping term. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, rolling_mt_mt_mt) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 0, 0, CTL_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 1, 0, GUI_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 2, 0, ALT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_REPORT(driver, (KC_LCTL, KC_LGUI)); - EXPECT_REPORT(driver, (KC_LCTL, KC_LGUI, KC_LALT)); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - run_one_scan_loop(); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release first mod-tap key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_A, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_B, KC_C)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Hold for longer than the tapping term. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release other mod-tap keys. - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - mod_tap_key3.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -TEST_F(SpeculativeHoldFlowTapTest, roll_release_132) { - TestDriver driver; - InSequence s; - auto mod_tap_key1 = KeymapKey(0, 0, 0, CTL_T(KC_A)); - auto mod_tap_key2 = KeymapKey(0, 1, 0, GUI_T(KC_B)); - auto mod_tap_key3 = KeymapKey(0, 2, 0, ALT_T(KC_C)); - - set_keymap({mod_tap_key1, mod_tap_key2, mod_tap_key3}); - - // Press mod-tap keys. - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_REPORT(driver, (KC_LCTL, KC_LGUI)); - EXPECT_REPORT(driver, (KC_LCTL, KC_LGUI, KC_LALT)); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key1.press(); - run_one_scan_loop(); - mod_tap_key2.press(); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key3.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release first mod-tap key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_REPORT(driver, (KC_A, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release other mod-tap keys. - EXPECT_REPORT(driver, (KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key3.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with layer tap and speculative mod tap keys on the same layer, rolling -// from LT to MT key: -// "LT down, MT down, (wait out tapping term), LT up, MT up." -TEST_F(SpeculativeHoldFlowTapTest, lt_mt_same_layer_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - // Press layer tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key, after flow tap term but within tapping term. The - // speculative mod activates. - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Wait for the layer tap key to settle. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - idle_for(TAPPING_TERM - FLOW_TAP_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with layer tap and speculative mod tap keys on the same layer, trying -// a nested press from LT to MT key: -// "LT down, MT down, (wait out tapping term), MT up, LT up." -TEST_F(SpeculativeHoldFlowTapTest, lt_mt_same_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - idle_for(TAPPING_TERM - FLOW_TAP_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys: MT first, LT second. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with layer tap and speculative mod tap keys on the same layer, trying -// a nested press with the MT first: -// "MT down, LT down, (wait out tapping term), LT up, MT up." -TEST_F(SpeculativeHoldFlowTapTest, mt_lt_same_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, rolling from -// LT to MT key: -// "LT down, MT down, (wait out tapping term), LT up, MT up." -TEST_F(SpeculativeHoldFlowTapTest, lt_mt_different_layer_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, SFT_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - // Press layer tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(FLOW_TAP_TERM + 1); - // Press mod tap key. - mod_tap_key.press(); - idle_for(TAPPING_TERM - FLOW_TAP_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_B)); - layer_tap_key.release(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, slowly -// rolling from LT to MT key: -// "LT down, (wait), MT down, (wait), LT up, MT up." -TEST_F(SpeculativeHoldFlowTapTest, lt_mt_different_layer_slow_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, SFT_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, trying a -// nested press: -// "LT down, MT down, (wait out tapping term), MT up, LT up." -TEST_F(SpeculativeHoldFlowTapTest, lt_mt_different_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, SFT_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(FLOW_TAP_TERM + 1); - mod_tap_key.press(); - idle_for(TAPPING_TERM - FLOW_TAP_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, trying a -// slow nested press: -// "LT down, (wait), MT down, MT up, LT up." -TEST_F(SpeculativeHoldFlowTapTest, lt_mt_different_layer_slow_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, SFT_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - idle_for(FLOW_TAP_TERM + 1); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} diff --git a/tests/tap_hold_configurations/speculative_hold/retro_shift_permissive_hold/config.h b/tests/tap_hold_configurations/speculative_hold/retro_shift_permissive_hold/config.h deleted file mode 100644 index 5b16a60687..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/retro_shift_permissive_hold/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2022 Isaac Elenbaas - * Copyright 2025 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" - -#define SPECULATIVE_HOLD -#define PERMISSIVE_HOLD - -#define RETRO_SHIFT 2 * TAPPING_TERM -// releases between AUTO_SHIFT_TIMEOUT and TAPPING_TERM are not tested -#define AUTO_SHIFT_TIMEOUT TAPPING_TERM -#define AUTO_SHIFT_MODIFIERS - -#define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_F24 diff --git a/tests/tap_hold_configurations/speculative_hold/retro_shift_permissive_hold/test.mk b/tests/tap_hold_configurations/speculative_hold/retro_shift_permissive_hold/test.mk deleted file mode 100644 index 7a19bcab59..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/retro_shift_permissive_hold/test.mk +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 2022 Isaac Elenbaas -# Copyright 2025 Google LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -AUTO_SHIFT_ENABLE = yes diff --git a/tests/tap_hold_configurations/speculative_hold/retro_shift_permissive_hold/test_retro_shift.cpp b/tests/tap_hold_configurations/speculative_hold/retro_shift_permissive_hold/test_retro_shift.cpp deleted file mode 100644 index b81485865b..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/retro_shift_permissive_hold/test_retro_shift.cpp +++ /dev/null @@ -1,689 +0,0 @@ -// Copyright 2022 Isaac Elenbaas -// Copyright 2025 Google LLC -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -extern "C" { -bool get_speculative_hold(uint16_t keycode, keyrecord_t *record) { - return true; -} - -bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { - return true; -} -} // extern "C" - -using testing::_; -using testing::AnyNumber; -using testing::AnyOf; -using testing::InSequence; - -class RetroShiftPermissiveHold : public TestFixture {}; - -TEST_F(RetroShiftPermissiveHold, tap_regular_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 0, 0, LCTL_T(KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LCTL))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LCTL, KC_A)); - EXPECT_REPORT(driver, (KC_LCTL)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroShiftPermissiveHold, tap_mod_tap_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 0, 0, LCTL_T(KC_P)); - auto mod_tap_regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, LALT_T(KC_A)); - - set_keymap({mod_tap_key, mod_tap_regular_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap-regular key. - EXPECT_REPORT(driver, (KC_LCTL, KC_LALT)); - mod_tap_regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-regular key. - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LCTL))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LCTL, KC_A)); - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroShiftPermissiveHold, tap_regular_key_while_mod_tap_key_is_held_over_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 0, 0, LCTL_T(KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LCTL))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LCTL, KC_A)); - EXPECT_REPORT(driver, (KC_LCTL)); - regular_key.release(); - run_one_scan_loop(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroShiftPermissiveHold, tap_mod_tap_key_while_mod_tap_key_is_held_over_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 0, 0, LCTL_T(KC_P)); - auto mod_tap_regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, LALT_T(KC_A)); - - set_keymap({mod_tap_key, mod_tap_regular_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap-regular key. - EXPECT_REPORT(driver, (KC_LCTL, KC_LALT)); - mod_tap_regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-regular key. - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LCTL))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LCTL, KC_A)); - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_regular_key.release(); - run_one_scan_loop(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroShiftPermissiveHold, hold_regular_key_while_mod_tap_key_is_held_over_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 0, 0, LCTL_T(KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - idle_for(AUTO_SHIFT_TIMEOUT); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - // clang-format off - EXPECT_CALL(driver, send_keyboard_mock(AnyOf( - KeyboardReport(KC_LCTL, KC_LSFT), - KeyboardReport(KC_LSFT), - KeyboardReport(KC_LCTL)))) - .Times(AnyNumber()); - // clang-format on - EXPECT_REPORT(driver, (KC_LCTL, KC_LSFT, KC_A)); - // clang-format off - EXPECT_CALL(driver, send_keyboard_mock(AnyOf( - KeyboardReport(KC_LCTL, KC_LSFT), - KeyboardReport(KC_LSFT)))) - .Times(AnyNumber()); - // clang-format on - EXPECT_REPORT(driver, (KC_LCTL)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroShiftPermissiveHold, hold_mod_tap_key_while_mod_tap_key_is_held_over_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 0, 0, LCTL_T(KC_P)); - auto mod_tap_regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, LALT_T(KC_A)); - - set_keymap({mod_tap_key, mod_tap_regular_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap-regular key. - EXPECT_REPORT(driver, (KC_LCTL, KC_LALT)); - mod_tap_regular_key.press(); - run_one_scan_loop(); - idle_for(AUTO_SHIFT_TIMEOUT); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-regular key. - // clang-format off - EXPECT_CALL(driver, send_keyboard_mock(AnyOf( - KeyboardReport(KC_LCTL, KC_LSFT), - KeyboardReport(KC_LSFT), - KeyboardReport(KC_LCTL)))) - .Times(AnyNumber()); - // clang-format on - EXPECT_REPORT(driver, (KC_LCTL, KC_LSFT, KC_A)); - // clang-format off - EXPECT_CALL(driver, send_keyboard_mock(AnyOf( - KeyboardReport(KC_LCTL, KC_LSFT), - KeyboardReport(KC_LSFT)))) - .Times(AnyNumber()); - // clang-format on - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_regular_key.release(); - run_one_scan_loop(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroShiftPermissiveHold, roll_tap_regular_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 0, 0, LCTL_T(KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroShiftPermissiveHold, roll_tap_mod_tap_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 0, 0, LCTL_T(KC_P)); - auto mod_tap_regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, LALT_T(KC_A)); - - set_keymap({mod_tap_key, mod_tap_regular_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap-regular key. - EXPECT_REPORT(driver, (KC_LCTL, KC_LALT)); - mod_tap_regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroShiftPermissiveHold, roll_hold_regular_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 0, 0, LCTL_T(KC_P)); - auto regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, KC_A); - - set_keymap({mod_tap_key, regular_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press regular key. - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LSFT, KC_A)); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber()); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - idle_for(AUTO_SHIFT_TIMEOUT); - VERIFY_AND_CLEAR(driver); - - // Release regular key. - EXPECT_NO_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(RetroShiftPermissiveHold, roll_hold_mod_tap_key_while_mod_tap_key_is_held_under_tapping_term) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 0, 0, LCTL_T(KC_P)); - auto mod_tap_regular_key = KeymapKey(0, MATRIX_COLS - 1, 0, LALT_T(KC_A)); - - set_keymap({mod_tap_key, mod_tap_regular_key}); - - // Press mod-tap-hold key. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap-regular key. - EXPECT_REPORT(driver, (KC_LCTL, KC_LALT)); - mod_tap_regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-hold key. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap-regular key. - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber()); - EXPECT_REPORT(driver, (KC_LSFT, KC_A)); - EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber()); - EXPECT_EMPTY_REPORT(driver); - idle_for(AUTO_SHIFT_TIMEOUT); - mod_tap_regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -// Test with layer tap and speculative mod tap keys on the same layer, rolling -// from LT to MT key: -// "LT down, MT down, (wait out tapping term), LT up, MT up." -TEST_F(RetroShiftPermissiveHold, lt_mt_same_layer_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, LCTL_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - // Press layer tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key, after flow tap term but within tapping term. The - // speculative mod activates. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Wait for the layer tap key to settle. - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_LSFT, KC_A)); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with layer tap and speculative mod tap keys on the same layer, trying -// a nested press from LT to MT key: -// "LT down, MT down, (wait out tapping term), MT up, LT up." -TEST_F(RetroShiftPermissiveHold, lt_mt_same_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, LCTL_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - run_one_scan_loop(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys: MT first, LT second. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_LSFT, KC_C)); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with layer tap and speculative mod tap keys on the same layer, trying -// a nested press with the MT first: -// "MT down, LT down, (wait out tapping term), LT up, MT up." -TEST_F(RetroShiftPermissiveHold, mt_lt_same_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, LCTL_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LCTL, KC_LSFT, KC_A)); - EXPECT_REPORT(driver, (KC_LCTL, KC_LSFT)); - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, rolling from -// LT to MT key: -// "LT down, MT down, (wait out tapping term), LT up, MT up." -TEST_F(RetroShiftPermissiveHold, lt_mt_different_layer_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, LCTL_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - // Press layer tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - // Press mod tap key. - mod_tap_key.press(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_B)); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, slowly -// rolling from LT to MT key: -// "LT down, (wait), MT down, (wait), LT up, MT up." -TEST_F(RetroShiftPermissiveHold, lt_mt_different_layer_slow_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, LCTL_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_A)); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, try a nested -// press: -// "LT down, MT down, (wait out tapping term), MT up, LT up." -TEST_F(RetroShiftPermissiveHold, lt_mt_different_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, LCTL_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - mod_tap_key.press(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LSFT, KC_C)); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, try a slow -// nested press: -// "LT down, (wait), MT down, MT up, LT up." -TEST_F(RetroShiftPermissiveHold, lt_mt_different_layer_slow_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, LCTL_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} diff --git a/tests/tap_hold_configurations/speculative_hold/retro_tapping/config.h b/tests/tap_hold_configurations/speculative_hold/retro_tapping/config.h deleted file mode 100644 index b20ddbdcad..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/retro_tapping/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2022 Vladislav Kucheriavykh - * Copyright 2025 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" - -#define SPECULATIVE_HOLD -#define RETRO_TAPPING -#define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_F24 diff --git a/tests/tap_hold_configurations/speculative_hold/retro_tapping/test.mk b/tests/tap_hold_configurations/speculative_hold/retro_tapping/test.mk deleted file mode 100644 index 9bc3366e14..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/retro_tapping/test.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 2022 Vladislav Kucheriavykh -# Copyright 2025 Google LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . diff --git a/tests/tap_hold_configurations/speculative_hold/retro_tapping/test_tap_hold.cpp b/tests/tap_hold_configurations/speculative_hold/retro_tapping/test_tap_hold.cpp deleted file mode 100644 index de70bf09fd..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/retro_tapping/test_tap_hold.cpp +++ /dev/null @@ -1,629 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::InSequence; - -extern "C" bool get_speculative_hold(uint16_t keycode, keyrecord_t *record) { - return true; -} - -class SpeculativeHoldRetroTappingTest : public TestFixture {}; - -TEST_F(SpeculativeHoldRetroTappingTest, roll_regular_to_lgui_mod) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto regular_key = KeymapKey(0, 2, 0, KC_B); - - set_keymap({mod_tap_key, regular_key}); - - EXPECT_REPORT(driver, (KC_B)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B, KC_LGUI)); - mod_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LGUI)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Neutralizer invoked by Speculative Hold. - EXPECT_REPORT(driver, (KC_LGUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LGUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldRetroTappingTest, regular_to_mod_under_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, LSFT_T(KC_A)); - auto regular_key = KeymapKey(0, 2, 0, KC_B); - - set_keymap({mod_tap_key, regular_key}); - - EXPECT_REPORT(driver, (KC_B)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B, KC_LSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT)); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldRetroTappingTest, mod_under_tap_term_to_regular) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto regular_key = KeymapKey(0, 2, 0, KC_B); - - set_keymap({mod_tap_key, regular_key}); - - EXPECT_REPORT(driver, (KC_LGUI)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Neutralizer invoked by Speculative Hold. - EXPECT_REPORT(driver, (KC_LGUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LGUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_REPORT(driver, (KC_B, KC_P)); - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldRetroTappingTest, mod_over_tap_term_to_regular) { - TestDriver driver; - InSequence s; - auto mod_tap_key = KeymapKey(0, 1, 0, LSFT_T(KC_A)); - auto regular_key = KeymapKey(0, 2, 0, KC_B); - - set_keymap({mod_tap_key, regular_key}); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_key.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_B)); - regular_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_B)); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - regular_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldRetroTappingTest, mod_under_tap_term_to_mod_under_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_lgui = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto mod_tap_lsft = KeymapKey(0, 2, 0, LSFT_T(KC_A)); - - set_keymap({mod_tap_lgui, mod_tap_lsft}); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_lsft.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_LGUI)); - mod_tap_lgui.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_lsft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_lgui.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldRetroTappingTest, mod_over_tap_term_to_mod_under_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_lgui = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto mod_tap_lsft = KeymapKey(0, 2, 0, LSFT_T(KC_A)); - - set_keymap({mod_tap_lgui, mod_tap_lsft}); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_lsft.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_LGUI)); - mod_tap_lgui.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_NO_REPORT(driver); - mod_tap_lsft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_REPORT(driver, (KC_LSFT, KC_P)); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_lgui.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldRetroTappingTest, mod_under_tap_term_to_mod_over_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_lgui = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto mod_tap_lsft = KeymapKey(0, 2, 0, LSFT_T(KC_A)); - - set_keymap({mod_tap_lgui, mod_tap_lsft}); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_lsft.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_LGUI)); - mod_tap_lgui.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LGUI)); - mod_tap_lsft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Neutralizer invoked by Retro Tapping. - EXPECT_REPORT(driver, (KC_LGUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LGUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_REPORT(driver, (KC_P, KC_LSFT)); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_lgui.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldRetroTappingTest, mod_under_tap_term_to_mod_over_tap_term_offset) { - TestDriver driver; - InSequence s; - auto mod_tap_lgui = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto mod_tap_lsft = KeymapKey(0, 2, 0, LSFT_T(KC_A)); - - set_keymap({mod_tap_lgui, mod_tap_lsft}); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_lsft.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_LGUI)); - mod_tap_lgui.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_lsft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LGUI)); - // Neutralizer invoked by Retro Tapping. - EXPECT_REPORT(driver, (KC_LGUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LGUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_P)); - EXPECT_EMPTY_REPORT(driver); - idle_for(TAPPING_TERM); - mod_tap_lgui.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldRetroTappingTest, mod_over_tap_term_to_mod_over_tap_term) { - TestDriver driver; - InSequence s; - auto mod_tap_lgui = KeymapKey(0, 1, 0, LGUI_T(KC_P)); - auto mod_tap_lsft = KeymapKey(0, 2, 0, LSFT_T(KC_A)); - - set_keymap({mod_tap_lgui, mod_tap_lsft}); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_lsft.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_LGUI)); - mod_tap_lgui.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LGUI)); - mod_tap_lsft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Neutralizer invoked by Retro Tapping. - EXPECT_REPORT(driver, (KC_LGUI, DUMMY_MOD_NEUTRALIZER_KEYCODE)); - EXPECT_REPORT(driver, (KC_LGUI)); - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_REPORT(driver, (KC_P, KC_LSFT)); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_lgui.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldRetroTappingTest, mod_to_mod_to_mod) { - TestDriver driver; - InSequence s; - auto mod_tap_lalt = KeymapKey(0, 1, 0, LALT_T(KC_R)); - auto mod_tap_lsft = KeymapKey(0, 2, 0, SFT_T(KC_A)); - auto mod_tap_lctl = KeymapKey(0, 3, 0, LCTL_T(KC_C)); - - set_keymap({mod_tap_lalt, mod_tap_lsft, mod_tap_lctl}); - - EXPECT_REPORT(driver, (KC_LALT)); - mod_tap_lalt.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT, KC_LALT)); - mod_tap_lsft.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LSFT)); - mod_tap_lalt.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LCTL, KC_LSFT)); - mod_tap_lctl.press(); - idle_for(TAPPING_TERM); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_lsft.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_REPORT(driver, (KC_C, KC_LSFT)); - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_lctl.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -// Test with layer tap and speculative mod tap keys on the same layer, rolling -// from LT to MT key: -// "LT down, MT down, (wait out tapping term), LT up, MT up." -TEST_F(SpeculativeHoldRetroTappingTest, lt_mt_same_layer_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, LCTL_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - // Press layer tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key, after flow tap term but within tapping term. The - // speculative mod activates. - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Wait for the layer tap key to settle. - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with layer tap and speculative mod tap keys on the same layer, trying a -// nested press: -// "LT down, MT down, (wait out tapping term), MT up, LT up." -TEST_F(SpeculativeHoldRetroTappingTest, lt_mt_same_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, LCTL_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys: MT first, LT second. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with layer tap and speculative mod tap keys on the same layer, trying a -// nested press with the MT first: -// "MT down, LT down, (wait out tapping term), LT up, MT up." -TEST_F(SpeculativeHoldRetroTappingTest, mt_lt_same_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto mod_tap_key = KeymapKey(0, 1, 0, LCTL_T(KC_B)); - auto regular_key = KeymapKey(1, 1, 0, KC_C); - - set_keymap({layer_tap_key, mod_tap_key, regular_key}); - - EXPECT_REPORT(driver, (KC_LCTL)); - mod_tap_key.press(); - run_one_scan_loop(); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - EXPECT_REPORT(driver, (KC_LCTL, KC_A)); - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, rolling from -// LT to MT key: -// "LT down, MT down, (wait out tapping term), LT up, MT up." -TEST_F(SpeculativeHoldRetroTappingTest, lt_mt_different_layer_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, LCTL_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - // Press layer tap key. - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - // Press mod tap key. - mod_tap_key.press(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LCTL)); - layer_tap_key.release(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, slowly -// rolling from LT to MT key: -// "LT down, (wait), MT down, (wait), LT up, MT up." -TEST_F(SpeculativeHoldRetroTappingTest, lt_mt_different_layer_slow_roll) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, LCTL_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_REPORT(driver, (KC_LCTL)); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); - layer_tap_key.release(); - run_one_scan_loop(); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, trying a -// nested press: -// "LT down, MT down, (wait out tapping term), MT up, LT up." -TEST_F(SpeculativeHoldRetroTappingTest, lt_mt_different_layer_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, LCTL_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_NO_REPORT(driver); - layer_tap_key.press(); - run_one_scan_loop(); - mod_tap_key.press(); - idle_for(TAPPING_TERM); - VERIFY_AND_CLEAR(driver); - - // Release keys. - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} - -// Test with a speculative mod tap key reached by a layer tap key, slowly making -// a nested press from LT to MT key: -// "LT down, (wait), MT down, MT up, LT up." -TEST_F(SpeculativeHoldRetroTappingTest, lt_mt_different_layer_slow_nested_press) { - TestDriver driver; - InSequence s; - auto layer_tap_key = KeymapKey(0, 0, 0, LT(1, KC_A)); - auto regular_key = KeymapKey(0, 1, 0, KC_B); - auto placeholder_key = KeymapKey(1, 0, 0, KC_NO); - auto mod_tap_key = KeymapKey(1, 1, 0, LCTL_T(KC_C)); - - set_keymap({layer_tap_key, regular_key, placeholder_key, mod_tap_key}); - - EXPECT_REPORT(driver, (KC_LCTL)); - layer_tap_key.press(); - idle_for(TAPPING_TERM + 1); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - EXPECT_EMPTY_REPORT(driver); - EXPECT_REPORT(driver, (KC_C)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - layer_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - // All mods are released. - EXPECT_EQ(get_mods() | get_speculative_mods(), 0); -} diff --git a/tests/tap_hold_configurations/speculative_hold/speculative_hold_flow_term/config.h b/tests/tap_hold_configurations/speculative_hold/speculative_hold_flow_term/config.h deleted file mode 100644 index 92b4e61b1d..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/speculative_hold_flow_term/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2022 Vladislav Kucheriavykh - * Copyright 2026 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" - -#define SPECULATIVE_HOLD -#define SPECULATIVE_HOLD_FLOW_TERM 200 diff --git a/tests/tap_hold_configurations/speculative_hold/speculative_hold_flow_term/test.mk b/tests/tap_hold_configurations/speculative_hold/speculative_hold_flow_term/test.mk deleted file mode 100644 index e716b59210..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/speculative_hold_flow_term/test.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2022 Vladislav Kucheriavykh -# Copyright 2026 Google LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - diff --git a/tests/tap_hold_configurations/speculative_hold/speculative_hold_flow_term/test_tap_hold.cpp b/tests/tap_hold_configurations/speculative_hold/speculative_hold_flow_term/test_tap_hold.cpp deleted file mode 100644 index 70a7713bb0..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/speculative_hold_flow_term/test_tap_hold.cpp +++ /dev/null @@ -1,195 +0,0 @@ -// Copyright 2026 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::AnyNumber; -using testing::InSequence; - -namespace { - -class SpeculativeHoldFlowTerm : public TestFixture {}; - -TEST_F(SpeculativeHoldFlowTerm, within_flow_term_one_modtap) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 1, 0, KC_SPC); - auto mod_tap_key = KeymapKey(0, 2, 0, RSFT_T(KC_B)); - set_keymap({regular_key, mod_tap_key}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_SPC)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), 0); // Don't speculate. - EXPECT_EQ(get_mods(), 0); - - EXPECT_REPORT(driver, (KC_RSFT)); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), MOD_BIT_RSHIFT); - - // Release mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldFlowTerm, within_flow_term_two_modtaps) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 0, 0, KC_A); - auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_B)); - auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_C)); - - set_keymap({regular_key, mod_tap_key1, mod_tap_key2}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_A)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key 1 quickly after regular key. The mod-tap should settle - // immediately as tapped, sending `KC_B`. - EXPECT_NO_REPORT(driver); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), 0); // Don't speculate. - - // Press mod-tap key 2 quickly. - EXPECT_NO_REPORT(driver); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), 0); // Don't speculate. - - // Hold for longer than the tapping term. - EXPECT_REPORT(driver, (KC_LSFT)); - EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL)); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_LCTL)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldFlowTerm, after_flow_term_one_modtap) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 1, 0, KC_SPC); - auto mod_tap_key = KeymapKey(0, 2, 0, RSFT_T(KC_B)); - set_keymap({regular_key, mod_tap_key}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_SPC)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - idle_for(SPECULATIVE_HOLD_FLOW_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key. - EXPECT_REPORT(driver, (KC_RSFT)); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), MOD_BIT_RSHIFT); - EXPECT_EQ(get_mods(), 0); - - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), MOD_BIT_RSHIFT); - - // Release mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldFlowTerm, after_flow_term_two_modtaps) { - TestDriver driver; - InSequence s; - auto regular_key = KeymapKey(0, 1, 0, KC_SPC); - auto mod_tap_key1 = KeymapKey(0, 2, 0, RSFT_T(KC_B)); - auto mod_tap_key2 = KeymapKey(0, 3, 0, RCTL_T(KC_C)); - set_keymap({regular_key, mod_tap_key1, mod_tap_key2}); - - // Tap regular key. - EXPECT_REPORT(driver, (KC_SPC)); - EXPECT_EMPTY_REPORT(driver); - tap_key(regular_key); - idle_for(SPECULATIVE_HOLD_FLOW_TERM + 1); - VERIFY_AND_CLEAR(driver); - - // Press mod-tap key 1. - EXPECT_REPORT(driver, (KC_RSFT)); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), MOD_BIT_RSHIFT); - EXPECT_EQ(get_mods(), 0); - - // Press mod-tap key 2. - EXPECT_REPORT(driver, (KC_RSFT, KC_RCTL)); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), MOD_BIT_RSHIFT | MOD_BIT_RCTRL); - EXPECT_EQ(get_mods(), 0); - - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), MOD_BIT_RSHIFT | MOD_BIT_RCTRL); - - // Release mod-tap keys. - EXPECT_REPORT(driver, (KC_RCTL)); - EXPECT_EMPTY_REPORT(driver); - mod_tap_key1.release(); - run_one_scan_loop(); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); -} - -} // namespace diff --git a/tests/tap_hold_configurations/speculative_hold/speculative_hold_one_key/config.h b/tests/tap_hold_configurations/speculative_hold/speculative_hold_one_key/config.h deleted file mode 100644 index 0ae84c2cac..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/speculative_hold_one_key/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2022 Vladislav Kucheriavykh - * Copyright 2026 Google LLC - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "test_common.h" - -#define SPECULATIVE_HOLD -#define SPECULATIVE_HOLD_ONE_KEY -#define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_F24 diff --git a/tests/tap_hold_configurations/speculative_hold/speculative_hold_one_key/test.mk b/tests/tap_hold_configurations/speculative_hold/speculative_hold_one_key/test.mk deleted file mode 100644 index e716b59210..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/speculative_hold_one_key/test.mk +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2022 Vladislav Kucheriavykh -# Copyright 2026 Google LLC -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - diff --git a/tests/tap_hold_configurations/speculative_hold/speculative_hold_one_key/test_tap_hold.cpp b/tests/tap_hold_configurations/speculative_hold/speculative_hold_one_key/test_tap_hold.cpp deleted file mode 100644 index 60f7574517..0000000000 --- a/tests/tap_hold_configurations/speculative_hold/speculative_hold_one_key/test_tap_hold.cpp +++ /dev/null @@ -1,189 +0,0 @@ -// Copyright 2026 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include - -#include "keyboard_report_util.hpp" -#include "keycode.h" -#include "test_common.hpp" -#include "action_tapping.h" -#include "test_fixture.hpp" -#include "test_keymap_key.hpp" - -using testing::_; -using testing::AnyNumber; -using testing::InSequence; - -namespace { - -// Gets the unpacked 8-bit mods corresponding to a given mod-tap keycode. -uint8_t unpack_mod_tap_mods(uint16_t keycode) { - const uint8_t mods5 = QK_MOD_TAP_GET_MODS(keycode); - return (mods5 & 0x10) != 0 ? (mods5 << 4) : mods5; -} - -std::vector mods_report(uint8_t mods) { - std::vector keycodes; - if ((mods & MOD_BIT_LCTRL)) { - keycodes.push_back(KC_LCTL); - } - if ((mods & MOD_BIT_LSHIFT)) { - keycodes.push_back(KC_LSFT); - } - if ((mods & MOD_BIT_LALT)) { - keycodes.push_back(KC_LALT); - } - if ((mods & MOD_BIT_LGUI)) { - keycodes.push_back(KC_LGUI); - } - if ((mods & MOD_BIT_RCTRL)) { - keycodes.push_back(KC_RCTL); - } - if ((mods & MOD_BIT_RSHIFT)) { - keycodes.push_back(KC_RSFT); - } - if ((mods & MOD_BIT_RALT)) { - keycodes.push_back(KC_RALT); - } - if ((mods & MOD_BIT_RGUI)) { - keycodes.push_back(KC_RGUI); - } - return keycodes; -} - -extern "C" bool get_speculative_hold(uint16_t keycode, keyrecord_t *record) { - return true; // Enable Speculative Hold for all mod-tap keys. -} - -class SpeculativeHoldOneKey : public TestFixture {}; - -TEST_F(SpeculativeHoldOneKey, modtap_dont_speculate) { - TestDriver driver; - InSequence s; - - struct Params { - uint8_t initial_mods; - uint16_t key; - }; - for (Params params : std::vector({ - {MOD_BIT_LSHIFT, LALT_T(KC_1)}, - {MOD_BIT_RCTRL, LGUI_T(KC_1)}, - {MOD_BIT_LALT, LSFT_T(KC_1)}, - {MOD_BIT_RALT, RCTL_T(KC_1)}, - {MOD_MASK_SHIFT, RGUI_T(KC_1)}, - })) { - std::string scope = "initial_mods="; - scope += testing::PrintToString(params.initial_mods); - scope += std::string(", key=") + get_keycode_string(params.key); - SCOPED_TRACE(scope); - - const uint8_t initial_mods = params.initial_mods; - auto mod_tap_key = KeymapKey(0, 1, 0, params.key); - const uint8_t mod_tap_mods = unpack_mod_tap_mods(params.key); - - set_keymap({mod_tap_key}); - - // Activate mods. - set_mods(initial_mods); - - // Press mod-tap key. - EXPECT_NO_REPORT(driver); - mod_tap_key.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_mods(), initial_mods); - EXPECT_EQ(get_speculative_mods(), 0); - - EXPECT_REPORT(driver, (mods_report(initial_mods | mod_tap_mods))); - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), initial_mods | mod_tap_mods); - - // Release mod-tap key. - EXPECT_REPORT(driver, (mods_report(initial_mods & ~mod_tap_mods))); - mod_tap_key.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - } - - EXPECT_EMPTY_REPORT(driver); - clear_mods(); - send_keyboard_report(); - VERIFY_AND_CLEAR(driver); -} - -TEST_F(SpeculativeHoldOneKey, two_modtaps_dont_speculate_second_key) { - TestDriver driver; - InSequence s; - - for (auto keys : std::vector>({ - {LSFT_T(KC_A), LCTL_T(KC_1)}, - {RSFT_T(KC_A), RCTL_T(KC_1)}, - {LGUI_T(KC_A), LSFT_T(KC_1)}, - {RALT_T(KC_A), RSFT_T(KC_1)}, - {MEH_T(KC_A), LGUI_T(KC_1)}, - {RCS_T(KC_A), RSG_T(KC_1)}, - {LCS_T(KC_A), HYPR_T(KC_1)}, - })) { - std::string scope = "keys = "; - scope += get_keycode_string(keys.first); - scope += std::string(", ") + get_keycode_string(keys.second); - SCOPED_TRACE(scope); - - auto mod_tap_key1 = KeymapKey(0, 1, 0, keys.first); - auto mod_tap_key2 = KeymapKey(0, 2, 0, keys.second); - const uint8_t mods1 = unpack_mod_tap_mods(keys.first); - const uint8_t mods2 = unpack_mod_tap_mods(keys.second); - - set_keymap({mod_tap_key1, mod_tap_key2}); - - // Press first mod-tap key. - EXPECT_REPORT(driver, (mods_report(mods1))); - mod_tap_key1.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), mods1); - - // Press second mod-tap key. - EXPECT_NO_REPORT(driver); - mod_tap_key2.press(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), mods1); - - EXPECT_REPORT(driver, (mods_report(mods1 | mods2))); - EXPECT_NO_REPORT(driver); - idle_for(TAPPING_TERM + 1); - VERIFY_AND_CLEAR(driver); - EXPECT_EQ(get_speculative_mods(), 0); - EXPECT_EQ(get_mods(), mods1 | mods2); - - // Release first mod-tap key. - EXPECT_REPORT(driver, (mods_report(mods2 & ~mods1))); - mod_tap_key1.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - - // Release second mod-tap key. - EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.release(); - run_one_scan_loop(); - VERIFY_AND_CLEAR(driver); - } -} - -} // namespace diff --git a/tests/test_common/keyboard_report_util.cpp b/tests/test_common/keyboard_report_util.cpp index dea61efcd1..5e40323669 100644 --- a/tests/test_common/keyboard_report_util.cpp +++ b/tests/test_common/keyboard_report_util.cpp @@ -18,7 +18,6 @@ #include #include #include -#include extern "C" { #include "keycode_string.h" diff --git a/tests/test_common/keyboard_report_util.hpp b/tests/test_common/keyboard_report_util.hpp index d4a4622c24..2c33f0412e 100644 --- a/tests/test_common/keyboard_report_util.hpp +++ b/tests/test_common/keyboard_report_util.hpp @@ -19,25 +19,21 @@ #include #include "gmock/gmock.h" -bool operator==(const report_keyboard_t& lhs, const report_keyboard_t& rhs); +bool operator==(const report_keyboard_t& lhs, const report_keyboard_t& rhs); std::ostream& operator<<(std::ostream& stream, const report_keyboard_t& value); class KeyboardReportMatcher : public testing::MatcherInterface { - public: + public: KeyboardReportMatcher(const std::vector& keys); virtual bool MatchAndExplain(report_keyboard_t& report, testing::MatchResultListener* listener) const override; virtual void DescribeTo(::std::ostream* os) const override; virtual void DescribeNegationTo(::std::ostream* os) const override; - - private: +private: report_keyboard_t m_report; }; -inline testing::Matcher KeyboardReport(const std::vector& keys) { - return testing::MakeMatcher(new KeyboardReportMatcher(keys)); -} -template +template inline testing::Matcher KeyboardReport(Ts... keys) { - return testing::MakeMatcher(new KeyboardReportMatcher({static_cast(keys)...})); + return testing::MakeMatcher(new KeyboardReportMatcher(std::vector({keys...}))); } diff --git a/tests/test_common/mouse_report_util.cpp b/tests/test_common/mouse_report_util.cpp index 948b3c1121..60cdeced24 100644 --- a/tests/test_common/mouse_report_util.cpp +++ b/tests/test_common/mouse_report_util.cpp @@ -18,7 +18,6 @@ #include #include #include -#include using namespace testing; diff --git a/tests/test_common/test_driver.cpp b/tests/test_common/test_driver.cpp index 2ab692256b..70b920ac86 100644 --- a/tests/test_common/test_driver.cpp +++ b/tests/test_common/test_driver.cpp @@ -15,7 +15,6 @@ */ #include "test_driver.hpp" -#include TestDriver* TestDriver::m_this = nullptr; diff --git a/tests/test_common/test_fixture.cpp b/tests/test_common/test_fixture.cpp index ed57d9e109..00084721d6 100644 --- a/tests/test_common/test_fixture.cpp +++ b/tests/test_common/test_fixture.cpp @@ -65,7 +65,7 @@ TestFixture::TestFixture() { TestFixture::~TestFixture() { test_logger.info() << "test fixture clean-up start." << std::endl; - ::testing::NiceMock driver; + TestDriver driver; /* Reset keyboard state. */ clear_all_keys(); diff --git a/tests/test_common/test_keymap_key.cpp b/tests/test_common/test_keymap_key.cpp index 3435382c04..63ae29975b 100644 --- a/tests/test_common/test_keymap_key.cpp +++ b/tests/test_common/test_keymap_key.cpp @@ -15,7 +15,6 @@ */ #include "test_keymap_key.hpp" -#include #include #include #include "matrix.h" diff --git a/tests/test_common/test_logger.hpp b/tests/test_common/test_logger.hpp index 010adc138e..4964583ded 100644 --- a/tests/test_common/test_logger.hpp +++ b/tests/test_common/test_logger.hpp @@ -21,7 +21,7 @@ class TestLogger : public std::ostream { public: - TestLogger() : std::ostream(&m_log) {}; + TestLogger() : std::ostream(&m_log){}; TestLogger& info(); TestLogger& trace(); TestLogger& error(); diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c index b8cded99fc..5720bc3c4c 100644 --- a/tmk_core/protocol/chibios/chibios.c +++ b/tmk_core/protocol/chibios/chibios.c @@ -191,9 +191,6 @@ void protocol_pre_task(void) { // // Pause for a while to let things settle... wait_ms(USB_SUSPEND_WAKEUP_DELAY); - // ...and then update the wakeup matrix again as the waking key - // might have been released during the delay - update_matrix_state_after_wakeup(); # endif } } diff --git a/tmk_core/protocol/chibios/usb_driver.c b/tmk_core/protocol/chibios/usb_driver.c index 8b471cba56..7c3ce44687 100644 --- a/tmk_core/protocol/chibios/usb_driver.c +++ b/tmk_core/protocol/chibios/usb_driver.c @@ -186,7 +186,7 @@ void usb_endpoint_out_configure_cb(usb_endpoint_out_t *endpoint) { void usb_endpoint_in_tx_complete_cb(USBDriver *usbp, usbep_t ep) { usb_endpoint_in_t *endpoint = usbp->in_params[ep - 1U]; size_t n; - uint8_t *buffer; + uint8_t * buffer; if (endpoint == NULL) { return; diff --git a/tmk_core/protocol/chibios/usb_endpoints.c b/tmk_core/protocol/chibios/usb_endpoints.c index 00536845b2..856df62426 100644 --- a/tmk_core/protocol/chibios/usb_endpoints.c +++ b/tmk_core/protocol/chibios/usb_endpoints.c @@ -68,7 +68,7 @@ usb_endpoint_in_t usb_endpoints_in[USB_ENDPOINT_IN_COUNT] = { # if defined(USB_ENDPOINTS_ARE_REORDERABLE) [USB_ENDPOINT_IN_CONSOLE] = QMK_USB_ENDPOINT_IN_SHARED(USB_EP_MODE_TYPE_INTR, CONSOLE_EPSIZE, CONSOLE_IN_EPNUM, CONSOLE_IN_CAPACITY, NULL, QMK_USB_REPORT_STORAGE_DEFAULT(CONSOLE_EPSIZE)), # else - [USB_ENDPOINT_IN_CONSOLE] = QMK_USB_ENDPOINT_IN(USB_EP_MODE_TYPE_INTR, CONSOLE_EPSIZE, CONSOLE_IN_EPNUM, CONSOLE_IN_CAPACITY, NULL, QMK_USB_REPORT_STORAGE_DEFAULT(CONSOLE_EPSIZE)), + [USB_ENDPOINT_IN_CONSOLE] = QMK_USB_ENDPOINT_IN(USB_EP_MODE_TYPE_INTR, CONSOLE_EPSIZE, CONSOLE_IN_EPNUM, CONSOLE_IN_CAPACITY, NULL, QMK_USB_REPORT_STORAGE_DEFAULT(CONSOLE_EPSIZE)), # endif #endif @@ -76,7 +76,7 @@ usb_endpoint_in_t usb_endpoints_in[USB_ENDPOINT_IN_COUNT] = { # if defined(USB_ENDPOINTS_ARE_REORDERABLE) [USB_ENDPOINT_IN_RAW] = QMK_USB_ENDPOINT_IN_SHARED(USB_EP_MODE_TYPE_INTR, RAW_EPSIZE, RAW_IN_EPNUM, RAW_IN_CAPACITY, NULL, QMK_USB_REPORT_STORAGE_DEFAULT(RAW_EPSIZE)), # else - [USB_ENDPOINT_IN_RAW] = QMK_USB_ENDPOINT_IN(USB_EP_MODE_TYPE_INTR, RAW_EPSIZE, RAW_IN_EPNUM, RAW_IN_CAPACITY, NULL, QMK_USB_REPORT_STORAGE_DEFAULT(RAW_EPSIZE)), + [USB_ENDPOINT_IN_RAW] = QMK_USB_ENDPOINT_IN(USB_EP_MODE_TYPE_INTR, RAW_EPSIZE, RAW_IN_EPNUM, RAW_IN_CAPACITY, NULL, QMK_USB_REPORT_STORAGE_DEFAULT(RAW_EPSIZE)), # endif #endif @@ -84,7 +84,7 @@ usb_endpoint_in_t usb_endpoints_in[USB_ENDPOINT_IN_COUNT] = { # if defined(USB_ENDPOINTS_ARE_REORDERABLE) [USB_ENDPOINT_IN_MIDI] = QMK_USB_ENDPOINT_IN_SHARED(USB_EP_MODE_TYPE_BULK, MIDI_STREAM_EPSIZE, MIDI_STREAM_IN_EPNUM, MIDI_STREAM_IN_CAPACITY, NULL, NULL), # else - [USB_ENDPOINT_IN_MIDI] = QMK_USB_ENDPOINT_IN(USB_EP_MODE_TYPE_BULK, MIDI_STREAM_EPSIZE, MIDI_STREAM_IN_EPNUM, MIDI_STREAM_IN_CAPACITY, NULL, NULL), + [USB_ENDPOINT_IN_MIDI] = QMK_USB_ENDPOINT_IN(USB_EP_MODE_TYPE_BULK, MIDI_STREAM_EPSIZE, MIDI_STREAM_IN_EPNUM, MIDI_STREAM_IN_CAPACITY, NULL, NULL), # endif #endif diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index b8497684d6..b798a8d1cb 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -80,7 +80,7 @@ static const USBDescriptor *usb_get_descriptor_cb(USBDriver *usbp, uint8_t dtype static USBDescriptor descriptor; descriptor.ud_string = NULL; - descriptor.ud_size = get_usb_descriptor(setup->wValue.word, setup->wIndex, setup->wLength, (const void **const)&descriptor.ud_string); + descriptor.ud_size = get_usb_descriptor(setup->wValue.word, setup->wIndex, setup->wLength, (const void **const) & descriptor.ud_string); if (descriptor.ud_string == NULL) { return NULL; diff --git a/tmk_core/protocol/host.c b/tmk_core/protocol/host.c index f4fa9064e0..4874d7c1d3 100644 --- a/tmk_core/protocol/host.c +++ b/tmk_core/protocol/host.c @@ -18,7 +18,6 @@ along with this program. If not, see . #include #include "keyboard.h" #include "keycode.h" -#include "action.h" #include "host.h" #include "util.h" #include "debug.h" @@ -79,48 +78,9 @@ host_driver_t *host_get_driver(void) { return driver; } -#ifdef CONNECTION_ENABLE -static connection_host_t active_host = CONNECTION_HOST_NONE; - -__attribute__((weak)) void host_disconnect_active_driver_user(connection_host_t host) {} -__attribute__((weak)) void host_disconnect_active_driver_kb(connection_host_t host) {} - -__attribute__((weak)) void host_connect_active_driver_user(connection_host_t host) {} -__attribute__((weak)) void host_connect_active_driver_kb(connection_host_t host) {} - -// TODO: Additionally have host_driver_t handle swap -static void host_update_active_driver(connection_host_t current, connection_host_t next) { - host_disconnect_active_driver_user(current); - host_disconnect_active_driver_kb(current); - - if (current != CONNECTION_HOST_NONE) { - clear_keyboard(); - } - - host_connect_active_driver_user(next); - host_connect_active_driver_kb(next); -} - -#endif - -void host_init(void) { - // currently do nothing -} - -void host_task(void) { -#ifdef CONNECTION_ENABLE - connection_host_t next_host = connection_get_host(); - if (next_host != active_host) { - host_update_active_driver(active_host, next_host); - - active_host = next_host; - } -#endif -} - static host_driver_t *host_get_active_driver(void) { #ifdef CONNECTION_ENABLE - switch (active_host) { + switch (connection_get_host()) { # ifdef BLUETOOTH_ENABLE case CONNECTION_HOST_BLUETOOTH: return &bt_driver; @@ -136,7 +96,7 @@ static host_driver_t *host_get_active_driver(void) { bool host_can_send_nkro(void) { #ifdef CONNECTION_ENABLE - switch (active_host) { + switch (connection_get_host()) { # ifdef BLUETOOTH_ENABLE case CONNECTION_HOST_BLUETOOTH: return bluetooth_can_send_nkro(); diff --git a/tmk_core/protocol/host.h b/tmk_core/protocol/host.h index 7ff6d0df08..a0b1e73dcc 100644 --- a/tmk_core/protocol/host.h +++ b/tmk_core/protocol/host.h @@ -27,9 +27,6 @@ along with this program. If not, see . extern "C" { #endif -void host_init(void); -void host_task(void); - /* host driver */ void host_set_driver(host_driver_t *driver); host_driver_t *host_get_driver(void); diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index 3e442ba033..e13f4b548e 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c @@ -826,9 +826,6 @@ void protocol_pre_task(void) { // // Pause for a while to let things settle... wait_ms(USB_SUSPEND_WAKEUP_DELAY); - // ...and then update the wakeup matrix again as the waking key - // might have been released during the delay - update_matrix_state_after_wakeup(); # endif } } diff --git a/tmk_core/protocol/report.h b/tmk_core/protocol/report.h index ec220c6938..9053b0bb3f 100644 --- a/tmk_core/protocol/report.h +++ b/tmk_core/protocol/report.h @@ -194,21 +194,21 @@ typedef struct { } PACKED report_programmable_button_t; #ifdef MOUSE_EXTENDED_REPORT -# define MOUSE_REPORT_XY_MIN (INT16_MIN + 1) +# define MOUSE_REPORT_XY_MIN INT16_MIN # define MOUSE_REPORT_XY_MAX INT16_MAX typedef int16_t mouse_xy_report_t; #else -# define MOUSE_REPORT_XY_MIN (INT8_MIN + 1) +# define MOUSE_REPORT_XY_MIN INT8_MIN # define MOUSE_REPORT_XY_MAX INT8_MAX typedef int8_t mouse_xy_report_t; #endif #ifdef WHEEL_EXTENDED_REPORT -# define MOUSE_REPORT_HV_MIN (INT16_MIN + 1) +# define MOUSE_REPORT_HV_MIN INT16_MIN # define MOUSE_REPORT_HV_MAX INT16_MAX typedef int16_t mouse_hv_report_t; #else -# define MOUSE_REPORT_HV_MIN (INT8_MIN + 1) +# define MOUSE_REPORT_HV_MIN INT8_MIN # define MOUSE_REPORT_HV_MAX INT8_MAX typedef int8_t mouse_hv_report_t; #endif diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index 38abb3781c..ceab9eef9a 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -153,13 +153,13 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { HID_RI_USAGE(8, 0x30), // X HID_RI_USAGE(8, 0x31), // Y # ifndef MOUSE_EXTENDED_REPORT - HID_RI_LOGICAL_MINIMUM(8, MOUSE_REPORT_XY_MIN), - HID_RI_LOGICAL_MAXIMUM(8, MOUSE_REPORT_XY_MAX), + HID_RI_LOGICAL_MINIMUM(8, -127), + HID_RI_LOGICAL_MAXIMUM(8, 127), HID_RI_REPORT_COUNT(8, 0x02), HID_RI_REPORT_SIZE(8, 0x08), # else - HID_RI_LOGICAL_MINIMUM(16, MOUSE_REPORT_XY_MIN), - HID_RI_LOGICAL_MAXIMUM(16, MOUSE_REPORT_XY_MAX), + HID_RI_LOGICAL_MINIMUM(16, -32767), + HID_RI_LOGICAL_MAXIMUM(16, 32767), HID_RI_REPORT_COUNT(8, 0x02), HID_RI_REPORT_SIZE(8, 0x10), # endif @@ -186,13 +186,13 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { // Vertical wheel (1 or 2 bytes) HID_RI_USAGE(8, 0x38), // Wheel # ifndef WHEEL_EXTENDED_REPORT - HID_RI_LOGICAL_MINIMUM(8, MOUSE_REPORT_HV_MIN), - HID_RI_LOGICAL_MAXIMUM(8, MOUSE_REPORT_HV_MAX), + HID_RI_LOGICAL_MINIMUM(8, -127), + HID_RI_LOGICAL_MAXIMUM(8, 127), HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x08), # else - HID_RI_LOGICAL_MINIMUM(16, MOUSE_REPORT_HV_MIN), - HID_RI_LOGICAL_MAXIMUM(16, MOUSE_REPORT_HV_MAX), + HID_RI_LOGICAL_MINIMUM(16, -32767), + HID_RI_LOGICAL_MAXIMUM(16, 32767), HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x10), # endif @@ -202,13 +202,13 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { HID_RI_USAGE_PAGE(8, 0x0C),// Consumer HID_RI_USAGE(16, 0x0238), // AC Pan # ifndef WHEEL_EXTENDED_REPORT - HID_RI_LOGICAL_MINIMUM(8, MOUSE_REPORT_HV_MIN), - HID_RI_LOGICAL_MAXIMUM(8, MOUSE_REPORT_HV_MAX), + HID_RI_LOGICAL_MINIMUM(8, -127), + HID_RI_LOGICAL_MAXIMUM(8, 127), HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x08), # else - HID_RI_LOGICAL_MINIMUM(16, MOUSE_REPORT_HV_MIN), - HID_RI_LOGICAL_MAXIMUM(16, MOUSE_REPORT_HV_MAX), + HID_RI_LOGICAL_MINIMUM(16, -32767), + HID_RI_LOGICAL_MAXIMUM(16, 32767), HID_RI_REPORT_COUNT(8, 0x01), HID_RI_REPORT_SIZE(8, 0x10), # endif @@ -332,11 +332,6 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { HID_RI_USAGE(8, 0x44), // Barrel Switch HID_RI_LOGICAL_MINIMUM(8, 0x00), HID_RI_LOGICAL_MAXIMUM(8, 0x01), - HID_RI_PHYSICAL_MINIMUM(8, 0), - // Semi-random value (actual claimed physical size is not important) - HID_RI_PHYSICAL_MAXIMUM(8, 0xCB), - HID_RI_UNIT(8, 0x13), // Inch, English Linear - HID_RI_UNIT_EXPONENT(8, 0x0E), // -2 HID_RI_REPORT_COUNT(8, 0x03), HID_RI_REPORT_SIZE(8, 0x01), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), diff --git a/tmk_core/protocol/usb_descriptor.h b/tmk_core/protocol/usb_descriptor.h index 366a380fdd..1de8c5ec88 100644 --- a/tmk_core/protocol/usb_descriptor.h +++ b/tmk_core/protocol/usb_descriptor.h @@ -223,7 +223,7 @@ enum usb_endpoints { # ifdef USB_ENDPOINTS_ARE_REORDERABLE # define RAW_OUT_EPNUM RAW_IN_EPNUM # else - RAW_OUT_EPNUM = NEXT_EPNUM, + RAW_OUT_EPNUM = NEXT_EPNUM, # endif #endif @@ -250,7 +250,7 @@ enum usb_endpoints { # ifdef USB_ENDPOINTS_ARE_REORDERABLE # define CDC_OUT_EPNUM CDC_IN_EPNUM # else - CDC_OUT_EPNUM = NEXT_EPNUM, + CDC_OUT_EPNUM = NEXT_EPNUM, # endif #endif diff --git a/tmk_core/protocol/usb_descriptor_common.h b/tmk_core/protocol/usb_descriptor_common.h index a1dba288ba..f782d83fbc 100644 --- a/tmk_core/protocol/usb_descriptor_common.h +++ b/tmk_core/protocol/usb_descriptor_common.h @@ -51,4 +51,4 @@ # else # define POINTING_DEVICE_HIRES_SCROLL_EXPONENT 0 # endif -#endif +#endif \ No newline at end of file diff --git a/tmk_core/protocol/usb_device_state.c b/tmk_core/protocol/usb_device_state.c index 46f83b4325..98ccfbc902 100644 --- a/tmk_core/protocol/usb_device_state.c +++ b/tmk_core/protocol/usb_device_state.c @@ -78,7 +78,7 @@ void usb_device_state_set_protocol(usb_hid_protocol_t protocol) { notify_usb_device_state_change(usb_device_state); } -inline usb_hid_protocol_t usb_device_state_get_protocol(void) { +inline usb_hid_protocol_t usb_device_state_get_protocol() { return usb_device_state.protocol; } diff --git a/tmk_core/protocol/vusb/protocol.c b/tmk_core/protocol/vusb/protocol.c index b95750306a..e2d0c4112e 100644 --- a/tmk_core/protocol/vusb/protocol.c +++ b/tmk_core/protocol/vusb/protocol.c @@ -125,9 +125,6 @@ void protocol_pre_task(void) { // // Pause for a while to let things settle... wait_ms(USB_SUSPEND_WAKEUP_DELAY); - // ...and then update the wakeup matrix again as the waking key - // might have been released during the delay - update_matrix_state_after_wakeup(); # endif } } diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index e2e28a2b10..1f0f82664b 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -515,15 +515,15 @@ const PROGMEM uchar shared_hid_report[] = { 0x09, 0x30, // Usage (X) 0x09, 0x31, // Usage (Y) # ifndef MOUSE_EXTENDED_REPORT - 0x15, MOUSE_REPORT_XY_MIN, // Logical Minimum (-127) - 0x25, MOUSE_REPORT_XY_MAX, // Logical Maximum (127) - 0x95, 0x02, // Report Count (2) - 0x75, 0x08, // Report Size (8) + 0x15, 0x81, // Logical Minimum (-127) + 0x25, 0x7F, // Logical Maximum (127) + 0x95, 0x02, // Report Count (2) + 0x75, 0x08, // Report Size (8) # else - 0x16, 0x01, HID_VALUE_16(MOUSE_REPORT_XY_MIN), // Logical Minimum (-32767) - 0x26, 0xFF, HID_VALUE_16(MOUSE_REPORT_XY_MAX), // Logical Maximum (32767) - 0x95, 0x02, // Report Count (2) - 0x75, 0x10, // Report Size (16) + 0x16, 0x01, 0x80, // Logical Minimum (-32767) + 0x26, 0xFF, 0x7F, // Logical Maximum (32767) + 0x95, 0x02, // Report Count (2) + 0x75, 0x10, // Report Size (16) # endif 0x81, 0x06, // Input (Data, Variable, Relative) @@ -548,15 +548,15 @@ const PROGMEM uchar shared_hid_report[] = { // Vertical wheel (1 or 2 bytes) 0x09, 0x38, // Usage (Wheel) # ifndef WHEEL_EXTENDED_REPORT - 0x15, MOUSE_REPORT_HV_MIN, // Logical Minimum (-127) - 0x25, MOUSE_REPORT_HV_MAX, // Logical Maximum (127) - 0x95, 0x01, // Report Count (1) - 0x75, 0x08, // Report Size (8) + 0x15, 0x81, // Logical Minimum (-127) + 0x25, 0x7F, // Logical Maximum (127) + 0x95, 0x01, // Report Count (1) + 0x75, 0x08, // Report Size (8) # else - 0x16, 0x01, HID_VALUE_16(MOUSE_REPORT_HV_MIN), // Logical Minimum (-32767) - 0x26, 0xFF, HID_VALUE_16(MOUSE_REPORT_HV_MAX), // Logical Maximum (32767) - 0x95, 0x01, // Report Count (1) - 0x75, 0x10, // Report Size (16) + 0x16, 0x01, 0x80, // Logical Minimum (-32767) + 0x26, 0xFF, 0x7F, // Logical Maximum (32767) + 0x95, 0x01, // Report Count (1) + 0x75, 0x10, // Report Size (16) # endif 0x81, 0x06, // Input (Data, Variable, Relative) @@ -564,15 +564,15 @@ const PROGMEM uchar shared_hid_report[] = { 0x05, 0x0C, // Usage Page (Consumer) 0x0A, 0x38, 0x02, // Usage (AC Pan) # ifndef WHEEL_EXTENDED_REPORT - 0x15, MOUSE_REPORT_HV_MIN, // Logical Minimum (-127) - 0x25, MOUSE_REPORT_HV_MAX, // Logical Maximum (127) - 0x95, 0x01, // Report Count (1) - 0x75, 0x08, // Report Size (8) + 0x15, 0x81, // Logical Minimum (-127) + 0x25, 0x7F, // Logical Maximum (127) + 0x95, 0x01, // Report Count (1) + 0x75, 0x08, // Report Size (8) # else - 0x16, 0x01, HID_VALUE_16(MOUSE_REPORT_HV_MIN), // Logical Minimum (-32767) - 0x26, 0xFF, HID_VALUE_16(MOUSE_REPORT_HV_MAX), // Logical Maximum (32767) - 0x95, 0x01, // Report Count (1) - 0x75, 0x10, // Report Size (16) + 0x16, 0x01, 0x80, // Logical Minimum (-32767) + 0x26, 0xFF, 0x7F, // Logical Maximum (32767) + 0x95, 0x01, // Report Count (1) + 0x75, 0x10, // Report Size (16) # endif 0x81, 0x06, // Input (Data, Variable, Relative) diff --git a/util/chibios_conf_updater.sh b/util/chibios_conf_updater.sh index 06f8e9104a..4c68c678c6 100755 --- a/util/chibios_conf_updater.sh +++ b/util/chibios_conf_updater.sh @@ -62,7 +62,7 @@ upgrade_conf_files_generic() { pushd "$qmk_firmware_dir/lib/chibios/tools/updater" >/dev/null 2>&1 for file in $(find_chibi_files "$qmk_firmware_dir" -name "$search_filename") ; do cp -f "$file" "$file.orig" - clang-format --style='{IndentPPDirectives: None, ColumnLimit: 0}' -i "$file" + clang-format --style='{IndentPPDirectives: None}' -i "$file" cp -f "$file" "$file.formatted" bash "$update_script" "$file" if ! diff "$file" "$file.formatted" >/dev/null 2>&1 ; then diff --git a/util/env-bootstrap.sh b/util/env-bootstrap.sh deleted file mode 100755 index 47238a78df..0000000000 --- a/util/env-bootstrap.sh +++ /dev/null @@ -1,636 +0,0 @@ -#!/usr/bin/env sh -# Copyright 2025 Nick Brassel (@tzarc) -# SPDX-License-Identifier: GPL-2.0-or-later - -################################################################################ -# This script will install the QMK CLI, toolchains, and flashing utilities. -################################################################################ -# Environment variables: -# CONFIRM: Skip the pre-install delay. (or: --confirm) -# QMK_DISTRIB_DIR: The directory to install the QMK distribution to. (or: --qmk-distrib-dir=...) -# UV_INSTALL_DIR: The directory to install `uv` to. (or: --uv-install-dir=...) -# UV_TOOL_DIR: The directory to install `uv` tools to. (or: --uv-tool-dir=...) -# SKIP_CLEAN: Skip cleaning the distribution directory. (or: --skip-clean) -# SKIP_PACKAGE_MANAGER: Skip installing the necessary packages for the package manager. (or: --skip-package-manager) -# SKIP_UV: Skip installing `uv`. (or: --skip-uv) -# SKIP_QMK_CLI: Skip installing the QMK CLI. (or: --skip-qmk-cli) -# SKIP_QMK_TOOLCHAINS: Skip installing the QMK toolchains. (or: --skip-qmk-toolchains) -# SKIP_QMK_FLASHUTILS: Skip installing the QMK flashing utilities. (or: --skip-qmk-flashutils) -# SKIP_UDEV_RULES: Skip installing the udev rules for Linux. (or: --skip-udev-rules) -# SKIP_WINDOWS_DRIVERS: Skip installing the Windows drivers for the flashing utilities. (or: --skip-windows-drivers) -# -# Arguments above may be negated by prefixing with `--no-` instead (e.g. `--no-skip-clean`). -################################################################################ -# Usage: -# curl -fsSL https://raw.githubusercontent.com/qmk/qmk_firmware/master/util/env-bootstrap.sh | sh -# -# Help: -# curl -fsSL https://raw.githubusercontent.com/qmk/qmk_firmware/master/util/env-bootstrap.sh | sh -s -- --help -# -# An example which skips installing `uv` using environment variables: -# curl -fsSL https://raw.githubusercontent.com/qmk/qmk_firmware/master/util/env-bootstrap.sh | SKIP_UV=1 sh -# -# ...or by using command line arguments: -# curl -fsSL https://raw.githubusercontent.com/qmk/qmk_firmware/master/util/env-bootstrap.sh | sh -s -- --skip-uv -# -# Any other configurable items listed above may be specified in the same way. -################################################################################ - -{ # this ensures the entire script is downloaded # - set -eu - - # Prevent user grep settings from injecting flags (e.g. --color=always) that - # corrupt captured output and break pattern matching throughout this script. - unset GREP_OPTIONS GREP_COLOR GREP_COLORS - - BOOTSTRAP_TMPDIR="$(mktemp -d /tmp/qmk-bootstrap-failure.XXXXXX)" - trap 'rm -rf "$BOOTSTRAP_TMPDIR" >/dev/null 2>&1 || true' EXIT - FAILURE_FILE="${BOOTSTRAP_TMPDIR}/fail" - - # Work out which `sed` to use - command -v gsed >/dev/null 2>&1 && SED=gsed || SED=sed - - script_args() { - cat <<__EOT__ - --help -- Shows this help text - --confirm -- Skips the delay before installation - --uv-install-dir={path} -- The directory to install \`uv\` into - --uv-tool-dir={path} -- The directory to install \`uv\` tools into - --qmk-distrib-dir={path} -- The directory to install the QMK distribution into - --skip-clean -- Skip cleaning the QMK distribution directory - --skip-package-manager -- Skip installing the necessary packages for the package manager - --skip-uv -- Skip installing \`uv\` - --skip-qmk-cli -- Skip installing the QMK CLI - --skip-qmk-toolchains -- Skip installing the QMK toolchains - --skip-qmk-flashutils -- Skip installing the QMK flashing utilities - --skip-udev-rules -- Skip installing the udev rules for Linux - --skip-windows-drivers -- Skip installing the Windows drivers for the flashing utilities -__EOT__ - # Hidden: - # --wsl-install -- Installs the WSL variant of qmk_flashutils - } - - signal_execution_failure() { - touch "$FAILURE_FILE" >/dev/null 2>&1 || true - } - - exit_if_execution_failed() { - if [ -e "$FAILURE_FILE" ]; then - exit 1 - fi - } - - script_help() { - echo "$(basename ${this_script:-qmk-install.sh}) $(script_args | sort | ${SED} -e 's@^\s*@@g' -e 's@\s\+--.*@@g' -e 's@^@[@' -e 's@$@]@' | tr '\n' ' ')" - echo - echo "Arguments:" - script_args - echo - echo "Switch arguments may be negated by prefixing with '--no-' (e.g. '--no-skip-clean')." - } - - script_parse_args() { - local N - local V - while [ ! -z "${1:-}" ]; do - case "$1" in - --help) - script_help - exit 0 - ;; - --*=*) - N=${1%%=*} - N=${N##--} - N=$(echo $N | tr '-' '_' | tr 'a-z' 'A-Z') - V=${1##*=} - export $N="$V" - ;; - --no-*) - N=${1##--no-} - N=$(echo $N | tr '-' '_' | tr 'a-z' 'A-Z') - unset $N - ;; - --*) - N=${1##--} - N=$(echo $N | tr '-' '_' | tr 'a-z' 'A-Z') - export $N=true - ;; - *) - echo "Unknown argument: '$1'" >&2 - echo - script_help >&2 - exit 1 - ;; - esac - shift - unset N - unset V - done - } - - nsudo() { - if [ "$(fn_os)" = "windows" ]; then - # No need for sudo under QMK MSYS - return - elif [ $(id -u) -ne 0 ]; then - if [ -n "$(command -v sudo 2>/dev/null || true)" ]; then - echo "sudo" - elif [ -n "$(command -v doas 2>/dev/null || true)" ]; then - echo "doas" - else - echo "Please install 'sudo' or 'doas' to continue." >&2 - exit 1 - fi - fi - true - } - - download_url() { - local url=$1 - local filename=${2:-$(basename "$url")} - local quiet='' - if [ -n "$(command -v curl 2>/dev/null || true)" ]; then - [ "$filename" = "-" ] && quiet='-s' || echo "Downloading '$url' => '$filename'" >&2 - curl -LSf $quiet -o "$filename" "$url" - elif [ -n "$(command -v wget 2>/dev/null || true)" ]; then - [ "$filename" = "-" ] && quiet='-q' || echo "Downloading '$url' => '$filename'" >&2 - wget $quiet "-O$filename" "$url" - else - echo "Please install 'curl' to continue." >&2 - exit 1 - fi - } - - github_api_call() { - local url="$1" - local token="${GITHUB_TOKEN:-${GH_TOKEN:-}}" - if [ -n "${token:-}" ]; then - if [ -n "$(command -v curl 2>/dev/null || true)" ]; then - curl -fsSL -H "Authorization: token $token" -H "Accept: application/vnd.github.v3+json" "https://api.github.com/$url" - elif [ -n "$(command -v wget 2>/dev/null || true)" ]; then - wget -q --header="Authorization: token $token" --header="Accept: application/vnd.github.v3+json" "https://api.github.com/$url" -O - - fi - else - download_url "https://api.github.com/$url" - - fi - } - - fn_os() { - local os_name=$(echo ${1:-} | tr 'A-Z' 'a-z') - if [ -z "$os_name" ]; then - os_name=$(uname -s | tr 'A-Z' 'a-z') - fi - case "$os_name" in - *darwin* | *macos* | *apple*) - echo macos - ;; - *windows* | *mingw* | *msys*) - echo windows - ;; - *linux*) - echo linux - ;; - *) - echo unknown - ;; - esac - } - - fn_arch() { - local arch_name=$(echo ${1:-} | tr 'A-Z' 'a-z') - if [ -z "$arch_name" ]; then - arch_name=$(uname -m | tr 'A-Z' 'a-z') - fi - case "$arch_name" in - *arm64* | *aarch64*) - echo ARM64 - ;; - *riscv64*) - echo RV64 - ;; - *x86_64* | *x64*) - echo X64 - ;; - *) - echo unknown - ;; - esac - } - - preinstall_delay() { - [ -z "${CONFIRM:-}" ] || return 0 - echo >&2 - echo "Waiting 10 seconds before proceeding. Press Ctrl+C to cancel installation." >&2 - sleep 10 - } - - get_package_manager_deps() { - case $(fn_os) in - macos) echo "zstd clang-format make hidapi libusb dos2unix git" ;; - windows) echo "base-devel: zstd:p toolchain:p clang:p hidapi:p dos2unix: git: unzip:" ;; - linux) - if ldd --version 2>&1 | grep -qi musl; then - echo >&2 - echo "Sorry, QMK's pre-built toolchains are compiled against glibc and will not run on musl-based Linux distributions." >&2 - echo >&2 - echo "Try using a glibc-based distribution, or use Docker instead:" >&2 - echo " - https://docs.qmk.fm/newbs_getting_started#set-up-your-environment" >&2 - echo " - https://docs.qmk.fm/#/getting_started_docker" >&2 - echo >&2 - echo "If you cannot use a compatible distro, you can try installing the \`qmk\` Python package manually using \`pip\`, most likely requiring a virtual environment:" >&2 - echo " % python3 -m pip install qmk" >&2 - echo >&2 - echo "All other dependencies will need to be installed manually, such as make, git, AVR and ARM toolchains, and associated flashing utilities." >&2 - echo >&2 - echo "**NOTE**: QMK does not provide official support for musl-based environments. Here be dragons, you are on your own." >&2 - signal_execution_failure - return - fi - case $(grep ID /etc/os-release) in - *arch* | *manjaro* | *cachyos*) echo "zstd base-devel clang diffutils wget unzip zip hidapi dos2unix git" ;; - *debian* | *ubuntu*) echo "zstd build-essential clang-format diffutils wget unzip zip libhidapi-hidraw0 dos2unix git" ;; - *fedora*) echo "zstd clang diffutils which gcc git wget unzip zip hidapi dos2unix libusb-devel libusb1-devel libusb-compat-0.1-devel libusb0-devel git epel-release" ;; - *suse*) echo "zstd make gcc binutils clang diffutils wget unzip zip libhidapi-hidraw0 dos2unix git libusb-1_0-devel gzip which" ;; - *gentoo*) echo "zstd sys-apps/diffutils wget unzip zip dev-libs/hidapi dos2unix dev-vcs/git dev-libs/libusb app-arch/gzip which" ;; - *) - echo >&2 - echo "Sorry, we don't recognize your distribution." >&2 - echo >&2 - echo "Proceeding with the installation, however you will need to install at least the following tools manually:" >&2 - echo " - make, git, curl, zstd, unzip, [lib]hidapi" >&2 - echo "Other tools may be required depending on your distribution." >&2 - echo >&2 - echo "Alternatively, if you prefer Docker, try using the docker image instead:" >&2 - echo " - https://docs.qmk.fm/#/getting_started_docker" >&2 - ;; - esac - ;; - *) - # We can only really support macOS, Windows, and Linux at this time due to `uv` requirements. - echo >&2 - echo "Sorry, we don't recognize your OS. Try using a compatible OS instead:" >&2 - echo " - https://docs.qmk.fm/newbs_getting_started#set-up-your-environment" >&2 - echo >&2 - echo "If you cannot use a compatible OS, you can try installing the \`qmk\` Python package manually using \`pip\`, most likely requiring a virtual environment:" >&2 - echo " % python3 -m pip install qmk" >&2 - echo >&2 - echo "All other dependencies will need to be installed manually, such as make, git, AVR and ARM toolchains, and associated flashing utilities." >&2 - echo >&2 - echo "**NOTE**: QMK does not provide official support for your environment. Here be dragons, you are on your own." >&2 - signal_execution_failure - ;; - esac - } - - print_package_manager_deps_and_delay() { - get_package_manager_deps | tr ' ' '\n' | sort | xargs -I'{}' echo " - {}" >&2 - exit_if_execution_failed - preinstall_delay || exit 1 - } - - install_package_manager_deps() { - # Install the necessary packages for the package manager - case $(fn_os) in - macos) - if [ -n "$(command -v brew 2>/dev/null || true)" ]; then - echo "It will also install the following system packages using 'brew':" >&2 - print_package_manager_deps_and_delay - - brew update - - local existing="" - local new="" - for dep in $(get_package_manager_deps); do - if brew list --formula | grep -q "^${dep}\$"; then - existing="${existing:-} $dep" - else - new="${new:-} $dep" - fi - done - - if [ -n "${existing:-}" ]; then - brew upgrade $existing - fi - if [ -n "${new:-}" ]; then - brew install $new - fi - else - echo "Please install 'brew' to continue. See https://brew.sh/ for more information." >&2 - exit 1 - fi - ;; - windows) - echo "It will also install the following packages using 'pacman'/'pacboy':" >&2 - print_package_manager_deps_and_delay - $(nsudo) pacman --needed --noconfirm --disable-download-timeout -S pactoys - $(nsudo) pacboy sync --needed --noconfirm --disable-download-timeout $(get_package_manager_deps) - ;; - linux) - case $(grep ID /etc/os-release) in - *arch* | *manjaro* | *cachyos*) - echo "It will also install the following system packages using 'pacman':" >&2 - print_package_manager_deps_and_delay - $(nsudo) pacman --needed --noconfirm -S $(get_package_manager_deps) - ;; - *debian* | *ubuntu*) - echo "It will also install the following system packages using 'apt':" >&2 - print_package_manager_deps_and_delay - $(nsudo) apt-get update - DEBIAN_FRONTEND=noninteractive \ - $(nsudo) apt-get --quiet --yes install $(get_package_manager_deps) - ;; - *fedora*) - echo "It will also install the following system packages using 'dnf':" >&2 - print_package_manager_deps_and_delay - # Some RHEL-likes need EPEL for hidapi and libusb packages - $(nsudo) dnf -y install epel-release 2>/dev/null || true - # RHEL-likes have naming differences in libusb/hidapi packages; try each individually - $(nsudo) dnf -y install $(get_package_manager_deps | tr ' ' '\n' | grep -v 'epel-release' | grep -v libusb | grep -v hidapi | tr '\n' ' ') - for pkg in $(get_package_manager_deps | tr ' ' '\n' | grep -E 'libusb|hidapi'); do - $(nsudo) dnf -y install "$pkg" 2>/dev/null || true - done - ;; - *opensuse* | *suse*) - echo "It will also install the following system packages using 'zypper':" >&2 - print_package_manager_deps_and_delay - $(nsudo) zypper --non-interactive refresh - $(nsudo) zypper --non-interactive install $(get_package_manager_deps) - ;; - *gentoo*) - echo "It will also install the following system packages using 'emerge':" >&2 - print_package_manager_deps_and_delay - $(nsudo) emaint sync - $(nsudo) emerge --noreplace --ask=n $(get_package_manager_deps | tr ' ' '\n') || signal_execution_failure - exit_if_execution_failed - ;; - *) - print_package_manager_deps_and_delay - echo "Proceeding with the installation, you will need to ensure prerequisites are installed." >&2 - ;; - esac - ;; - *) - print_package_manager_deps_and_delay - ;; - esac - } - - install_uv() { - # Install `uv` (or update as necessary) - download_url https://astral.sh/uv/install.sh - | TMPDIR="$(posix_ish_path "${TMPDIR:-}")" UV_INSTALL_DIR="$(windows_ish_path "${UV_INSTALL_DIR:-}")" sh - } - - setup_paths() { - # Set up the paths for any of the locations `uv` expects - if [ -n "${XDG_BIN_HOME:-}" ]; then - export PATH="$XDG_BIN_HOME:$PATH" - fi - if [ -n "${XDG_DATA_HOME:-}" ]; then - export PATH="$XDG_DATA_HOME/../bin:$PATH" - fi - [ ! -d "$HOME/.local/bin" ] || export PATH="$HOME/.local/bin:$PATH" - - if [ -n "${UV_INSTALL_DIR:-}" ]; then - export PATH="$UV_INSTALL_DIR/bin:$UV_INSTALL_DIR:$PATH" # cater for both "flat" and "hierarchical" installs of `uv` - fi - - if [ -n "${UV_TOOL_BIN_DIR:-}" ]; then - export PATH="$UV_TOOL_BIN_DIR:$PATH" - fi - } - - uv_command() { - if [ "$(fn_os)" = "windows" ]; then - UV_TOOL_DIR="$(windows_ish_path "${UV_TOOL_DIR:-}")" \ - UV_TOOL_BIN_DIR="$(windows_ish_path "${UV_TOOL_BIN_DIR:-}")" \ - uv "$@" - else - uv "$@" - fi - } - - install_qmk_cli() { - # Install the QMK CLI - uv_command tool install --force --with pip --upgrade --python $PYTHON_TARGET_VERSION qmk - - # QMK is installed to... - local qmk_tooldir="$(posix_ish_path "$(uv_command tool dir)/qmk")" - - # Activate the environment - if [ -e "$qmk_tooldir/bin" ]; then - . "$qmk_tooldir/bin/activate" - elif [ -e "$qmk_tooldir/Scripts" ]; then - . "$qmk_tooldir/Scripts/activate" - else - echo "Could not find the QMK environment to activate." >&2 - exit 1 - fi - - # Install the QMK dependencies - uv_command pip install --upgrade -r https://raw.githubusercontent.com/qmk/qmk_firmware/refs/heads/master/requirements.txt - uv_command pip install --upgrade -r https://raw.githubusercontent.com/qmk/qmk_firmware/refs/heads/master/requirements-dev.txt - - # Deactivate the environment - deactivate - } - - install_toolchains() { - # Get the latest toolchain release from https://github.com/qmk/qmk_toolchains - local latest_toolchains_release=$(github_api_call repos/qmk/qmk_toolchains/releases/latest - | grep -oE '"tag_name": "[^"]+' | grep -oE '[^"]+$') - # Download the specific release asset with a matching keyword - local toolchain_url=$(github_api_call repos/qmk/qmk_toolchains/releases/tags/$latest_toolchains_release - | grep -oE '"browser_download_url": "[^"]+"' | grep -oE 'https://[^"]+' | grep -E "qmk_toolchains-.*$(fn_os)$(fn_arch)") - if [ -z "$toolchain_url" ]; then - echo "No toolchain found for this OS/Arch combination." >&2 - exit 1 - fi - - # Download the toolchain release to the toolchains location - echo "Downloading compiler toolchains..." >&2 - local target_file="$QMK_DISTRIB_DIR/$(basename "$toolchain_url")" - download_url "$toolchain_url" "$target_file" - - # Extract the toolchain - echo "Extracting compiler toolchains to '$QMK_DISTRIB_DIR'..." >&2 - zstdcat "$target_file" | tar xf - -C "$QMK_DISTRIB_DIR" --strip-components=1 - } - - install_flashing_tools() { - local osarchvariant="$(fn_os)$(fn_arch)" - - # Special case for WSL - if [ -n "${WSL_INSTALL:-}" ] || [ -n "${WSL_DISTRO_NAME:-}" ] || [ -f /proc/sys/fs/binfmt_misc/WSLInterop ]; then - osarchvariant="windowsWSL" - fi - - # Get the latest flashing tools release from https://github.com/qmk/qmk_flashutils - local latest_flashutils_release=$(github_api_call repos/qmk/qmk_flashutils/releases/latest - | grep -oE '"tag_name": "[^"]+' | grep -oE '[^"]+$') - # Download the specific release asset with a matching keyword - local flashutils_url=$(github_api_call repos/qmk/qmk_flashutils/releases/tags/$latest_flashutils_release - | grep -oE '"browser_download_url": "[^"]+"' | grep -oE 'https://[^"]+' | grep -E "qmk_flashutils-.*$osarchvariant") - if [ -z "$flashutils_url" ]; then - echo "No flashing tools found for this OS/Arch combination." >&2 - exit 1 - fi - - # Download the flashing tools release to the toolchains location - echo "Downloading flashing tools..." >&2 - local target_file="$QMK_DISTRIB_DIR/$(basename "$flashutils_url")" - download_url "$flashutils_url" "$target_file" - - # Extract the flashing tools - echo "Extracting flashing tools to '$QMK_DISTRIB_DIR'..." >&2 - zstdcat "$target_file" | tar xf - -C "$QMK_DISTRIB_DIR/bin" - # Move the release file to etc - mv "$QMK_DISTRIB_DIR/bin/flashutils_release"* "$QMK_DISTRIB_DIR/etc" - } - - install_linux_udev_rules() { - # Get the latest qmk_udev release - local latest_udev_release=$(github_api_call repos/qmk/qmk_udev/releases/latest - | grep -oE '"tag_name": "[^"]+' | grep -oE '[^"]+$') - if [ -z "$latest_udev_release" ]; then - echo "Could not determine latest qmk_udev release." >&2 - exit 1 - fi - echo "Using qmk_udev release: $latest_udev_release" >&2 - - # Download the udev rules file - local qmk_rules_file="$QMK_DISTRIB_DIR/50-qmk.rules" - local release_base="https://github.com/qmk/qmk_udev/releases/download/$latest_udev_release" - download_url "$release_base/50-qmk.rules" "$qmk_rules_file" - - # Download the architecture-appropriate qmk_id binary - local arch="$(fn_arch)" - local qmk_id_file="$QMK_DISTRIB_DIR/qmk_id" - download_url "$release_base/qmk_id-linux${arch}" "$qmk_id_file" - - # Remove existing QMK udev rules and qmk_id helpers from all standard locations - echo "Removing existing QMK udev rules and helpers..." >&2 - for dir in /etc/udev/rules.d /run/udev/rules.d /usr/lib/udev/rules.d /usr/local/lib/udev/rules.d /lib/udev/rules.d; do - if [ -d "$dir" ]; then - for f in "$dir"/*-qmk.rules; do - [ -e "$f" ] && echo "Removing $f" >&2 && $(nsudo) rm -f "$f" - done - fi - done - for dir in /usr/lib/udev /usr/local/lib/udev /lib/udev; do - [ -e "$dir/qmk_id" ] && echo "Removing $dir/qmk_id" >&2 && $(nsudo) rm -f "$dir/qmk_id" - done - - # Install qmk_id binary - echo "Installing /usr/lib/udev/qmk_id ..." >&2 - $(nsudo) install -d -m 0755 /usr/lib/udev - $(nsudo) install -m 0755 "$qmk_id_file" /usr/lib/udev/qmk_id - - # Install udev rules - echo "Installing /etc/udev/rules.d/50-qmk.rules ..." >&2 - $(nsudo) install -d -m 0755 /etc/udev/rules.d - $(nsudo) install -m 0644 "$qmk_rules_file" /etc/udev/rules.d/50-qmk.rules - - # Clean up downloaded files - rm -f "$qmk_rules_file" "$qmk_id_file" || true - - # Reload udev rules - if command -v udevadm >/dev/null 2>&1; then - echo "Reloading udev rules..." >&2 - $(nsudo) udevadm control --reload-rules || true - $(nsudo) udevadm trigger || true - else - echo "udevadm not found, skipping udev rules reload." >&2 - fi - } - - install_windows_drivers() { - # Get the latest driver installer release from https://github.com/qmk/qmk_driver_installer - local latest_driver_installer_release=$(github_api_call repos/qmk/qmk_driver_installer/releases/latest - | grep -oE '"tag_name": "[^"]+' | grep -oE '[^"]+$') - # Download the specific release asset - local driver_installer_url=$(github_api_call repos/qmk/qmk_driver_installer/releases/tags/$latest_driver_installer_release - | grep -oE '"browser_download_url": "[^"]+"' | grep -oE 'https://[^"]+' | grep '\.exe') - if [ -z "$driver_installer_url" ]; then - echo "No driver installer found." >&2 - exit 1 - fi - # Download the driver installer release to the toolchains location - echo "Downloading driver installer..." >&2 - local target_file="$QMK_DISTRIB_DIR/$(basename "$driver_installer_url")" - download_url "$driver_installer_url" "$target_file" - # Download the drivers list - download_url "https://raw.githubusercontent.com/qmk/qmk_firmware/refs/heads/master/util/drivers.txt" "$QMK_DISTRIB_DIR/drivers.txt" - # Execute the driver installer - cd "$QMK_DISTRIB_DIR" - cmd.exe //c "qmk_driver_installer.exe --all --force drivers.txt" - cd - - # Remove the temporary files - rm -f "$QMK_DISTRIB_DIR/qmk_driver_installer.exe" "$QMK_DISTRIB_DIR/drivers.txt" || true - } - - clean_tarballs() { - # Clean up the tarballs - rm -f "$QMK_DISTRIB_DIR"/*.tar.zst || true - } - - windows_ish_path() { - [ -n "$1" ] || return 0 - [ "$(uname -o 2>/dev/null || true)" = "Msys" ] && cygpath -w "$1" || echo "$1" - } - - posix_ish_path() { - [ -n "$1" ] || return 0 - [ "$(uname -o 2>/dev/null || true)" = "Msys" ] && cygpath -u "$1" || echo "$1" - } - - # Set the Python version we want to use with the QMK CLI - export PYTHON_TARGET_VERSION=${PYTHON_TARGET_VERSION:-3.14} - - # Windows/MSYS doesn't like `/tmp` so we need to set a different temporary directory. - # Also set the default `UV_INSTALL_DIR` and `QMK_DISTRIB_DIR` to locations which don't pollute the user's home directory, keeping the installation internal to MSYS. - if [ "$(uname -o 2>/dev/null || true)" = "Msys" ]; then - export TMPDIR="$(posix_ish_path "$TMP")" - export UV_INSTALL_DIR="$(posix_ish_path "${UV_INSTALL_DIR:-/opt/uv}")" - export QMK_DISTRIB_DIR="$(posix_ish_path "${QMK_DISTRIB_DIR:-/opt/qmk}")" - export UV_TOOL_DIR="$(posix_ish_path "${UV_TOOL_DIR:-"$UV_INSTALL_DIR/tools"}")" - export UV_TOOL_BIN_DIR="$(posix_ish_path "$UV_TOOL_DIR/bin")" - fi - - script_parse_args "$@" - - echo "This QMK CLI installation script will install \`uv\`, the QMK CLI, as well as QMK-supplied toolchains and flashing utilities." >&2 - [ -z "${SKIP_PACKAGE_MANAGER:-}" ] || { preinstall_delay || exit 1; } - [ -n "${SKIP_PACKAGE_MANAGER:-}" ] || install_package_manager_deps - [ -n "${SKIP_UV:-}" ] || install_uv - - # Make sure the usual `uv` and other associated directories are on the $PATH - setup_paths - - # Work out where we want to install the distribution and tools now that `uv` is installed - export QMK_DISTRIB_DIR="$(posix_ish_path "${QMK_DISTRIB_DIR:-$(printf 'import platformdirs\nprint(platformdirs.user_data_dir("qmk"))' | uv_command run --quiet --python $PYTHON_TARGET_VERSION --with platformdirs -)}")" - - # Clear out the distrib directory if necessary - if [ -z "${SKIP_CLEAN:-}" ] || [ -z "${SKIP_QMK_TOOLCHAINS:-}" -a -z "${SKIP_QMK_FLASHUTILS:-}" ]; then - if [ -d "$QMK_DISTRIB_DIR" ]; then - echo "Removing old QMK distribution..." >&2 - rm -rf "$QMK_DISTRIB_DIR" - fi - fi - mkdir -p "$QMK_DISTRIB_DIR" - - [ -n "${SKIP_QMK_CLI:-}" ] || install_qmk_cli - [ -n "${SKIP_QMK_TOOLCHAINS:-}" ] || install_toolchains - [ -n "${SKIP_QMK_FLASHUTILS:-}" ] || install_flashing_tools - if [ "$(uname -s 2>/dev/null || true)" = "Linux" ]; then - [ -n "${SKIP_UDEV_RULES:-}" ] || install_linux_udev_rules - fi - if [ "$(uname -o 2>/dev/null || true)" = "Msys" ]; then - [ -n "${SKIP_WINDOWS_DRIVERS:-}" ] || install_windows_drivers - fi - clean_tarballs - - # Notify the user that they may need to restart their shell to get the `qmk` command - echo >&2 - echo "QMK CLI installation complete." >&2 - echo "The QMK CLI has been installed to '$(posix_ish_path "$(dirname "$(command -v qmk)")")'." >&2 - echo "The QMK CLI venv has been created at '$(posix_ish_path "$(uv_command tool dir)/qmk")'." >&2 - echo "Toolchains and flashing utilities have been installed to '$QMK_DISTRIB_DIR'." >&2 - echo >&2 - echo "You may need to restart your shell to gain access to the 'qmk' command." >&2 - echo "Alternatively, add "$(posix_ish_path "$(dirname "$(command -v qmk)")")" to your \$PATH:" >&2 - echo " export PATH=\"$(posix_ish_path "$(dirname "$(command -v qmk)")"):\$PATH\"" >&2 - -} # this ensures the entire script is downloaded # diff --git a/util/install_udev.sh b/util/install_udev.sh deleted file mode 100755 index f79678b5f1..0000000000 --- a/util/install_udev.sh +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/env sh -# Copyright 2025 Nick Brassel (@tzarc) -# SPDX-License-Identifier: GPL-2.0-or-later - -################################################################################ -# Installs the latest QMK udev rules and qmk_id helper from -# https://github.com/qmk/qmk_udev -################################################################################ - -set -e - -nsudo() { - if [ "$(id -u)" -ne 0 ]; then - if [ -n "$(command -v sudo 2>/dev/null || true)" ]; then - echo "sudo" - elif [ -n "$(command -v doas 2>/dev/null || true)" ]; then - echo "doas" - else - echo "Please install 'sudo' or 'doas' to continue." >&2 - exit 1 - fi - fi - true -} - -download_url() { - local url=$1 - local filename=${2:-$(basename "$url")} - if [ -n "$(command -v curl 2>/dev/null || true)" ]; then - curl -LSf -o "$filename" "$url" - elif [ -n "$(command -v wget 2>/dev/null || true)" ]; then - wget "-O$filename" "$url" - else - echo "Please install 'curl' or 'wget' to continue." >&2 - exit 1 - fi -} - -github_api_call() { - local url="$1" - local token="${GITHUB_TOKEN:-${GH_TOKEN:-}}" - if [ -n "${token:-}" ]; then - if [ -n "$(command -v curl 2>/dev/null || true)" ]; then - curl -fsSL -H "Authorization: token $token" -H "Accept: application/vnd.github.v3+json" "https://api.github.com/$url" - elif [ -n "$(command -v wget 2>/dev/null || true)" ]; then - wget -q --header="Authorization: token $token" --header="Accept: application/vnd.github.v3+json" "https://api.github.com/$url" -O - - fi - else - download_url "https://api.github.com/$url" - - fi -} - -fn_arch() { - local arch_name=$(uname -m | tr 'A-Z' 'a-z') - case "$arch_name" in - *arm64* | *aarch64*) - echo ARM64 - ;; - *riscv64*) - echo RV64 - ;; - *x86_64* | *x64*) - echo X64 - ;; - *) - echo "Unsupported architecture: $arch_name" >&2 - exit 1 - ;; - esac -} - -if [ "$(uname -s 2>/dev/null || true)" != "Linux" ]; then - echo "This script is only intended for Linux." >&2 - exit 1 -fi - -# Create a temporary directory for downloads -tmpdir=$(mktemp -d) -trap 'rm -rf "$tmpdir"' EXIT - -# Get the latest qmk_udev release -echo "Fetching latest qmk_udev release..." >&2 -latest_release=$(github_api_call repos/qmk/qmk_udev/releases/latest | grep -oE '"tag_name": "[^"]+' | grep -oE '[^"]+$') -if [ -z "$latest_release" ]; then - echo "Could not determine latest qmk_udev release." >&2 - exit 1 -fi -echo "Using qmk_udev release: $latest_release" >&2 - -release_base="https://github.com/qmk/qmk_udev/releases/download/$latest_release" - -# Download the udev rules file and architecture-appropriate qmk_id binary -download_url "$release_base/50-qmk.rules" "$tmpdir/50-qmk.rules" -download_url "$release_base/qmk_id-linux$(fn_arch)" "$tmpdir/qmk_id" - -# Remove existing QMK udev rules and qmk_id helpers from all standard locations -echo "Removing existing QMK udev rules and helpers..." >&2 -for dir in /etc/udev/rules.d /run/udev/rules.d /usr/lib/udev/rules.d /usr/local/lib/udev/rules.d /lib/udev/rules.d; do - if [ -d "$dir" ]; then - for f in "$dir"/*-qmk.rules; do - [ -e "$f" ] && echo "Removing $f" >&2 && $(nsudo) rm -f "$f" - done - fi -done -for dir in /usr/lib/udev /usr/local/lib/udev /lib/udev; do - [ -e "$dir/qmk_id" ] && echo "Removing $dir/qmk_id" >&2 && $(nsudo) rm -f "$dir/qmk_id" -done - -# Install qmk_id binary and udev rules -echo "Installing /usr/lib/udev/qmk_id ..." >&2 -$(nsudo) install -d -m 0755 /usr/lib/udev -$(nsudo) install -m 0755 "$tmpdir/qmk_id" /usr/lib/udev/qmk_id -echo "Installing /etc/udev/rules.d/50-qmk.rules ..." >&2 -$(nsudo) install -d -m 0755 /etc/udev/rules.d -$(nsudo) install -m 0644 "$tmpdir/50-qmk.rules" /etc/udev/rules.d/50-qmk.rules - -# Reload udev rules -if command -v udevadm >/dev/null 2>&1; then - echo "Reloading udev rules..." >&2 - $(nsudo) udevadm control --reload-rules || true - $(nsudo) udevadm trigger || true -else - echo "udevadm not found, skipping udev rules reload." >&2 -fi - -echo "Done." >&2 diff --git a/util/udev/50-qmk.rules b/util/udev/50-qmk.rules new file mode 100644 index 0000000000..338b4fdbe0 --- /dev/null +++ b/util/udev/50-qmk.rules @@ -0,0 +1,89 @@ +# Atmel DFU +### ATmega16U2 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2fef", TAG+="uaccess" +### ATmega32U2 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", TAG+="uaccess" +### ATmega16U4 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff3", TAG+="uaccess" +### ATmega32U4 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", TAG+="uaccess" +### AT90USB64 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff9", TAG+="uaccess" +### AT90USB162 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffa", TAG+="uaccess" +### AT90USB128 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", TAG+="uaccess" + +# Input Club +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", ATTRS{idProduct}=="b007", TAG+="uaccess" + +# STM32duino +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", TAG+="uaccess" +# STM32 DFU +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess" + +# BootloadHID +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", TAG+="uaccess" + +# USBAspLoader +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", TAG+="uaccess" + +# USBtinyISP +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1782", ATTRS{idProduct}=="0c9f", TAG+="uaccess" + +# ModemManager should ignore the following devices +# Atmel SAM-BA (Massdrop) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" + +# Caterina (Pro Micro) +## pid.codes shared PID +### Keyboardio Atreus 2 Bootloader +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="2302", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" +## Spark Fun Electronics +### Pro Micro 3V3/8MHz +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" +### Pro Micro 5V/16MHz +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" +### LilyPad 3V3/8MHz (and some Pro Micro clones) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9207", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" +## Pololu Electronics +### A-Star 32U4 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1ffb", ATTRS{idProduct}=="0101", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" +## Arduino SA +### Leonardo +SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" +### Micro +SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" +## Adafruit Industries LLC +### Feather 32U4 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000c", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" +### ItsyBitsy 32U4 3V3/8MHz +SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000d", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" +### ItsyBitsy 32U4 5V/16MHz +SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000e", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" +## dog hunter AG +### Leonardo +SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" +### Micro +SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" + +# hid_listen +KERNEL=="hidraw*", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl" + +# hid bootloaders +## QMK HID +SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2067", TAG+="uaccess" +## PJRC's HalfKay +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0478", TAG+="uaccess" + +# APM32 DFU +SUBSYSTEMS=="usb", ATTRS{idVendor}=="314b", ATTRS{idProduct}=="0106", TAG+="uaccess" + +# GD32V DFU +SUBSYSTEMS=="usb", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="0189", TAG+="uaccess" + +# WB32 DFU +SUBSYSTEMS=="usb", ATTRS{idVendor}=="342d", ATTRS{idProduct}=="dfa0", TAG+="uaccess" + +# AT32 DFU +SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="df11", TAG+="uaccess" diff --git a/util/uf2conv.py b/util/uf2conv.py index a0507b00b9..67cf92f169 100755 --- a/util/uf2conv.py +++ b/util/uf2conv.py @@ -142,9 +142,9 @@ def convert_to_uf2(file_content): return b"".join(outp) class Block: - def __init__(self, addr, default_data=0xFF): + def __init__(self, addr): self.addr = addr - self.bytes = bytearray([default_data] * 256) + self.bytes = bytearray(256) def encode(self, blockno, numblocks): global familyid @@ -210,26 +210,24 @@ def to_str(b): def get_drives(): drives = [] if sys.platform == "win32": - r = subprocess.check_output([ - "powershell", - "-Command", - '(Get-WmiObject Win32_LogicalDisk -Filter "FileSystem=\'FAT\'").DeviceID' - ]) - drives = [drive.strip() for drive in to_str(r).splitlines()] + r = subprocess.check_output(["wmic", "PATH", "Win32_LogicalDisk", + "get", "DeviceID,", "VolumeName,", + "FileSystem,", "DriveType"]) + for line in to_str(r).split('\n'): + words = re.split(r'\s+', line) + if len(words) >= 3 and words[1] == "2" and words[2] == "FAT": + drives.append(words[0]) else: - searchpaths = ["/mnt", "/media"] + searchpaths = ["/media"] if sys.platform == "darwin": searchpaths = ["/Volumes"] elif sys.platform == "linux": - searchpaths += ["/media/" + os.environ["USER"], "/run/media/" + os.environ["USER"]] - if "SUDO_USER" in os.environ.keys(): - searchpaths += ["/media/" + os.environ["SUDO_USER"]] - searchpaths += ["/run/media/" + os.environ["SUDO_USER"]] + searchpaths += ["/media/" + os.environ["USER"], '/run/media/' + os.environ["USER"]] for rootpath in searchpaths: if os.path.isdir(rootpath): for d in os.listdir(rootpath): - if os.path.isdir(os.path.join(rootpath, d)): + if os.path.isdir(rootpath): drives.append(os.path.join(rootpath, d)) diff --git a/util/uf2families.json b/util/uf2families.json index cd21783fe3..e35bf8d428 100644 --- a/util/uf2families.json +++ b/util/uf2families.json @@ -34,11 +34,6 @@ "short_name": "STM32WL", "description": "ST STM32WLxx" }, - { - "id": "0x22e0d6fc", - "short_name": "RTL8710B", - "description": "Realtek AmebaZ RTL8710B" - }, { "id": "0x2abc77ec", "short_name": "LPC55", @@ -54,11 +49,6 @@ "short_name": "GD32F350", "description": "GD32F350" }, - { - "id": "0x3379CFE2", - "short_name": "RTL8720D", - "description": "Realtek AmebaD RTL8720D" - }, { "id": "0x04240bdf", "short_name": "STM32L5", @@ -74,11 +64,6 @@ "short_name": "MIMXRT10XX", "description": "NXP i.MX RT10XX" }, - { - "id": "0x51e903a8", - "short_name": "XR809", - "description": "Xradiotech 809" - }, { "id": "0x53b80f00", "short_name": "STM32F7", @@ -119,21 +104,11 @@ "short_name": "STM32F0", "description": "ST STM32F0xx" }, - { - "id": "0x675a40b0", - "short_name": "BK7231U", - "description": "Beken 7231U/7231T" - }, { "id": "0x68ed2b88", "short_name": "SAMD21", "description": "Microchip (Atmel) SAMD21" }, - { - "id": "0x6a82cc42", - "short_name": "BK7251", - "description": "Beken 7251/7252" - }, { "id": "0x6b846188", "short_name": "STM32F3", @@ -144,11 +119,6 @@ "short_name": "STM32F407", "description": "ST STM32F407" }, - { - "id": "0x4e8f1c5d", - "short_name": "STM32H5", - "description": "ST STM32H5xx" - }, { "id": "0x6db66082", "short_name": "STM32H7", @@ -159,11 +129,6 @@ "short_name": "STM32WB", "description": "ST STM32WBxx" }, - { - "id": "0x7b3ef230", - "short_name": "BK7231N", - "description": "Beken 7231N" - }, { "id": "0x7eab61ed", "short_name": "ESP8266", @@ -179,21 +144,11 @@ "short_name": "STM32F407VG", "description": "ST STM32F407VG" }, - { - "id": "0x9fffd543", - "short_name": "RTL8710A", - "description": "Realtek Ameba1 RTL8710A" - }, { "id": "0xada52840", "short_name": "NRF52840", "description": "Nordic NRF52840" }, - { - "id": "0x820d9a5f", - "short_name": "NRF52820", - "description": "Nordic NRF52820_xxAA" - }, { "id": "0xbfdd4eee", "short_name": "ESP32S2", @@ -239,26 +194,6 @@ "short_name": "ESP32C61", "description": "ESP32-C61" }, - { - "id": "0xb6dd00af", - "short_name": "ESP32H21", - "description": "ESP32-H21" - }, - { - "id": "0x9e0baa8a", - "short_name": "ESP32H4", - "description": "ESP32-H4" - }, - { - "id": "0xde1270b7", - "short_name": "BL602", - "description": "Boufallo 602" - }, - { - "id": "0xe08f7564", - "short_name": "RTL8720C", - "description": "Realtek AmebaZ2 RTL8720C" - }, { "id": "0xe48bff56", "short_name": "RP2040", @@ -358,25 +293,5 @@ "id": "0x7be8976d", "short_name": "RA4M1", "description": "Renesas RA4M1" - }, - { - "id": "0x7410520a", - "short_name": "MAX32690", - "description": "Analog Devices MAX32690" - }, - { - "id": "0xd63f8632", - "short_name": "MAX32650", - "description": "Analog Devices MAX32650/1/2" - }, - { - "id": "0xf0c30d71", - "short_name": "MAX32666", - "description": "Analog Devices MAX32665/6" - }, - { - "id": "0x91d3fd18", - "short_name": "MAX78002", - "description": "Analog Devices MAX78002" } ]