Merge branch 'qmk:master' into master

This commit is contained in:
Jacky 2024-07-31 13:59:01 +08:00 committed by GitHub
commit 3582988566
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
55 changed files with 800 additions and 259 deletions

72
.github/labeler.yml vendored
View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
# 'serial' Driver # 'serial' Driver
The Serial driver powers the [Split Keyboard](../features/split_keyboard) feature. Several implementations are available that cater to the platform and capabilites of MCU in use. Note that none of the drivers support split keyboards with more than two halves. The Serial driver powers the [Split Keyboard](../features/split_keyboard) feature. Several implementations are available that cater to the platform and capabilities of MCU in use. Note that none of the drivers support split keyboards with more than two halves.
| Driver | AVR | ARM | Connection between halves | | Driver | AVR | ARM | Connection between halves |
| --------------------------------------- | ------------------ | ------------------ | --------------------------------------------------------------------------------------------- | | --------------------------------------- | ------------------ | ------------------ | --------------------------------------------------------------------------------------------- |

View File

@ -120,7 +120,6 @@
"matrix": [4, 7] "matrix": [4, 7]
}, },
"enabled": true, "enabled": true,
"main": "matrix_grid",
"matrix_pins": { "matrix_pins": {
"right": { "right": {
"cols": ["GP7", "GP8", "GP9", "GP11", "GP12", "GP13", "GP14", "GP15"], "cols": ["GP7", "GP8", "GP9", "GP11", "GP12", "GP13", "GP14", "GP15"],

View File

@ -0,0 +1,192 @@
{
"manufacturer": "archerkeyboard",
"keyboard_name": "desire65",
"maintainer": "akyp",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true
},
"indicators": {
"caps_lock": "GP18"
},
"matrix_pins": {
"cols": ["GP21", "GP29", "GP1", "GP0", "GP15", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP8", "GP2", "GP5", "GP4", "GP3"],
"rows": ["GP24", "GP25", "GP19", "GP16", "GP17"]
},
"processor": "RP2040",
"rgblight": {
"animations": {
"breathing": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"static_gradient": true,
"twinkle": true
},
"default": {
"animation": "rainbow_mood",
"val": 128
},
"driver": "ws2812",
"led_count": 17,
"sleep": true
},
"url": "https://archerkeyboard.com",
"usb": {
"device_version": "0.0.1",
"pid": "0x0002",
"vid": "0x0361"
},
"ws2812": {
"driver": "vendor",
"pin": "GP26"
},
"community_layouts": ["65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs"],
"layouts": {
"LAYOUT_65_ansi_blocker_tsangan": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
{"label": "Backspace", "matrix": [0, 14], "x": 13, "y": 0, "w": 2},
{"label": "Home", "matrix": [0, 15], "x": 15, "y": 0},
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
{"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
{"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
{"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
{"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
{"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
{"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
{"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
{"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
{"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
{"label": "{", "matrix": [1, 12], "x": 11.5, "y": 1},
{"label": "}", "matrix": [1, 13], "x": 12.5, "y": 1},
{"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
{"label": "End", "matrix": [1, 15], "x": 15, "y": 1},
{"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.25},
{"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
{"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
{"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
{"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
{"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
{"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
{"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
{"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
{"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
{"label": ":", "matrix": [2, 11], "x": 10.75, "y": 2},
{"label": "\"", "matrix": [2, 12], "x": 11.75, "y": 2},
{"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
{"label": "PgUp", "matrix": [2, 15], "x": 15, "y": 2},
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
{"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
{"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
{"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
{"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"label": "Up", "matrix": [3, 14], "x": 14, "y": 3},
{"label": "PgDn", "matrix": [3, 15], "x": 15, "y": 3},
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"label": "Win", "matrix": [4, 2], "x": 1.5, "y": 4},
{"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
{"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
{"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
{"label": "Left", "matrix": [4, 13], "x": 13, "y": 4},
{"label": "Down", "matrix": [4, 14], "x": 14, "y": 4},
{"label": "Right", "matrix": [4, 15], "x": 15, "y": 4}
]
},
"LAYOUT_65_ansi_blocker_tsangan_split_bs": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [0, 14], "x": 14, "y": 0},
{"label": "Home", "matrix": [0, 15], "x": 15, "y": 0},
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
{"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
{"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
{"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
{"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
{"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
{"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
{"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
{"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
{"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
{"label": "{", "matrix": [1, 12], "x": 11.5, "y": 1},
{"label": "}", "matrix": [1, 13], "x": 12.5, "y": 1},
{"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
{"label": "End", "matrix": [1, 15], "x": 15, "y": 1},
{"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.25},
{"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
{"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
{"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
{"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
{"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
{"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
{"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
{"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
{"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
{"label": ":", "matrix": [2, 11], "x": 10.75, "y": 2},
{"label": "\"", "matrix": [2, 12], "x": 11.75, "y": 2},
{"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
{"label": "PgUp", "matrix": [2, 15], "x": 15, "y": 2},
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
{"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
{"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
{"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
{"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"label": "Up", "matrix": [3, 14], "x": 14, "y": 3},
{"label": "PgDn", "matrix": [3, 15], "x": 15, "y": 3},
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"label": "Win", "matrix": [4, 2], "x": 1.5, "y": 4},
{"label": "Alt", "matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
{"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
{"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
{"label": "Left", "matrix": [4, 13], "x": 13, "y": 4},
{"label": "Down", "matrix": [4, 14], "x": 14, "y": 4},
{"label": "Right", "matrix": [4, 15], "x": 15, "y": 4}
]
}
}
}

View File

@ -0,0 +1,24 @@
// Copyright 2024 ArcherKeyboard (archerkeyboard2022@gmail.com)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_65_ansi_blocker_tsangan_split_bs(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
),
[1] = LAYOUT_65_ansi_blocker_tsangan_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, _______,
_______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
),
};

View File

@ -0,0 +1,24 @@
// Copyright 2024 ArcherKeyboard (archerkeyboard2022@gmail.com)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_65_ansi_blocker_tsangan_split_bs(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
),
[1] = LAYOUT_65_ansi_blocker_tsangan_split_bs(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, _______,
_______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
),
};

View File

@ -0,0 +1 @@
VIA_ENABLE = yes

View File

@ -0,0 +1,27 @@
# desire65
![desire65](https://i.imgur.com/bTjvGzC.jpg)
A desirable 65% keyboard
* Keyboard Maintainer: [ArcherKeyboard](https://github.com/akyp)
* Hardware Supported: Desire65 PCB
* Hardware Availability: [Open source on GitHub](https://github.com/akyp/desire65-pcb)
Make example for this keyboard (after setting up your build environment):
make archerkeyboard/desire65:default
Flashing example for this keyboard:
make archerkeyboard/desire65:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Hold the "USB_BOOT" button on the back of the PCB (the one closest to the MCU) and briefly press the "RESET" button on the back of the PCB
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

View File

@ -0,0 +1,19 @@
/* Copyright 2024 Cipulot
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2

View File

@ -9,7 +9,7 @@
"backlight": true, "backlight": true,
"bootmagic": false, "bootmagic": false,
"command": false, "command": false,
"console": true, "console": false,
"extrakey": true, "extrakey": true,
"mousekey": true, "mousekey": true,
"nkro": true, "nkro": true,
@ -30,7 +30,6 @@
"knight": true, "knight": true,
"rainbow_mood": true, "rainbow_mood": true,
"rainbow_swirl": true, "rainbow_swirl": true,
"rgb_test": true,
"snake": true, "snake": true,
"static_gradient": true, "static_gradient": true,
"twinkle": true "twinkle": true

View File

@ -19,4 +19,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once #pragma once
#define MASTER_LEFT #define MASTER_LEFT
#define OLED_FONT_H "keyboards/claw44/lib/glcdfont.c" #define OLED_FONT_H "claw44/lib/glcdfont.c"

View File

@ -9,6 +9,7 @@
#include <math.h> #include <math.h>
static painter_image_handle_t reverb_logo; static painter_image_handle_t reverb_logo;
static painter_image_handle_t splash_image;
static deferred_token display_task_token; static deferred_token display_task_token;
static uint32_t key_pressed_count = 0; static uint32_t key_pressed_count = 0;
@ -32,7 +33,6 @@ void display_init_kb(void) {
if (!display_init_user()) { if (!display_init_user()) {
return; return;
} }
painter_image_handle_t splash_image;
splash_image = qp_load_image_mem(gfx_splash); splash_image = qp_load_image_mem(gfx_splash);
reverb_logo = qp_load_image_mem(gfx_reverb); reverb_logo = qp_load_image_mem(gfx_reverb);
qp_drawimage(reverb_display, 0, 0, splash_image); qp_drawimage(reverb_display, 0, 0, splash_image);

View File

@ -39,8 +39,6 @@
"pixel_rain": true, "pixel_rain": true,
"pixel_flow": true, "pixel_flow": true,
"pixel_fractal": true, "pixel_fractal": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true, "solid_reactive_simple": true,
"solid_reactive": true, "solid_reactive": true,
"solid_reactive_wide": true, "solid_reactive_wide": true,

View File

@ -11,6 +11,8 @@ INDICATOR_LIGHTS = yes # Enable indicator lights for caps lock, etc.
# KEY_OVERRIDE_ENABLE = yes # Override key combos # KEY_OVERRIDE_ENABLE = yes # Override key combos
# COMBO_ENABLE = yes # Custom key combos # COMBO_ENABLE = yes # Custom key combos
RGB_MATRIX_ENABLE = yes
LTO_ENABLE = yes LTO_ENABLE = yes
RGBLIGHT_SUPPORTED = yes RGBLIGHT_SUPPORTED = yes
RGB_MATRIX_SUPPORTED = yes RGB_MATRIX_SUPPORTED = yes

View File

@ -39,8 +39,6 @@
"pixel_rain": true, "pixel_rain": true,
"pixel_flow": true, "pixel_flow": true,
"pixel_fractal": true, "pixel_fractal": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true, "solid_reactive_simple": true,
"solid_reactive": true, "solid_reactive": true,
"solid_reactive_wide": true, "solid_reactive_wide": true,

View File

@ -15,5 +15,8 @@
} }
}, },
"processor": "atmega32u4", "processor": "atmega32u4",
"bootloader": "caterina" "bootloader": "caterina",
"build": {
"lto": true
}
} }

View File

@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, LGUI_T(KC_GRV), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_T, KC_R, KC_E, KC_W, KC_Q, LGUI_T(KC_GRV), KC_LSFT, KC_LSFT, LGUI_T(KC_GRV), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_T, KC_R, KC_E, KC_W, KC_Q, LGUI_T(KC_GRV), KC_LSFT,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_G, KC_F, KC_D, KC_S, KC_A, KC_LCTL, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_G, KC_F, KC_D, KC_S, KC_A, KC_LCTL,
KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_V, KC_C, KC_X, KC_Z, KC_LALT, KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_V, KC_C, KC_X, KC_Z, KC_LALT,
LT(_RAIS_L, KC_BSPC), LT(_DFLT_R, KC_SPC), LT(_LOWR_L, KC_ENT), LT(_LOWR_L, KC_ENT), LT(_DFLT_R, KC_SPC), LT(_RAIS_L, KC_BSPC), LT(_RAIS_L, KC_BSPC), LT(_DFLT_R, KC_SPC), LT(_LOWR_L, KC_ENT), LT(_LOWR_L, KC_ENT), LT(_DFLT_R, KC_SPC), LT(_RAIS_L, KC_BSPC)
), ),
[_DFLT_R] = LAYOUT( [_DFLT_R] = LAYOUT(
KC_RBRC, KC_LBRC, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_RBRC, KC_LBRC, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,

View File

@ -16,9 +16,6 @@
#pragma once #pragma once
/* RGB Matrix Configuration */
#define RGB_MATRIX_LED_COUNT 71
#define SNLED27351_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D } #define SNLED27351_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D }
/* Enable caps-lock LED */ /* Enable caps-lock LED */

View File

@ -13,13 +13,13 @@
{"matrix": [0, 5], "x": 73, "y": 4, "flags": 4}, {"matrix": [0, 5], "x": 73, "y": 4, "flags": 4},
{"matrix": [0, 6], "x": 88, "y": 4, "flags": 4}, {"matrix": [0, 6], "x": 88, "y": 4, "flags": 4},
{"matrix": [0, 7], "x": 103, "y": 4, "flags": 4}, {"matrix": [0, 7], "x": 103, "y": 4, "flags": 4},
{"matrix": [0, 8], "x": 117, "y": 4, "flags": 4}, {"matrix": [0, 8], "x": 118, "y": 4, "flags": 4},
{"matrix": [0, 9], "x": 132, "y": 4, "flags": 4}, {"matrix": [0, 9], "x": 132, "y": 4, "flags": 4},
{"matrix": [0, 10], "x": 146, "y": 4, "flags": 4}, {"matrix": [0, 10], "x": 147, "y": 4, "flags": 4},
{"matrix": [0, 11], "x": 161, "y": 4, "flags": 4}, {"matrix": [0, 11], "x": 162, "y": 4, "flags": 4},
{"matrix": [0, 12], "x": 176, "y": 4, "flags": 4}, {"matrix": [0, 12], "x": 176, "y": 4, "flags": 4},
{"matrix": [0, 13], "x": 190, "y": 4, "flags": 4}, {"matrix": [0, 13], "x": 191, "y": 4, "flags": 4},
{"matrix": [3, 1], "x": 205, "y": 4, "flags": 1}, {"matrix": [3, 1], "x": 206, "y": 4, "flags": 1},
{"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
{"matrix": [1, 0], "x": 4, "y": 19, "flags": 1}, {"matrix": [1, 0], "x": 4, "y": 19, "flags": 1},
@ -31,10 +31,10 @@
{"matrix": [1, 6], "x": 95, "y": 19, "flags": 4}, {"matrix": [1, 6], "x": 95, "y": 19, "flags": 4},
{"matrix": [1, 7], "x": 110, "y": 19, "flags": 4}, {"matrix": [1, 7], "x": 110, "y": 19, "flags": 4},
{"matrix": [1, 8], "x": 125, "y": 19, "flags": 4}, {"matrix": [1, 8], "x": 125, "y": 19, "flags": 4},
{"matrix": [1, 9], "x": 139, "y": 19, "flags": 4}, {"matrix": [1, 9], "x": 140, "y": 19, "flags": 4},
{"matrix": [1, 10], "x": 154, "y": 19, "flags": 4}, {"matrix": [1, 10], "x": 154, "y": 19, "flags": 4},
{"matrix": [1, 11], "x": 168, "y": 19, "flags": 4}, {"matrix": [1, 11], "x": 169, "y": 19, "flags": 4},
{"matrix": [1, 12], "x": 183, "y": 19, "flags": 4}, {"matrix": [1, 12], "x": 184, "y": 19, "flags": 4},
{"matrix": [1, 14], "x": 224, "y": 19, "flags": 1}, {"matrix": [1, 14], "x": 224, "y": 19, "flags": 1},
{"matrix": [2, 0], "x": 6, "y": 34, "flags": 1}, {"matrix": [2, 0], "x": 6, "y": 34, "flags": 1},
@ -45,12 +45,12 @@
{"matrix": [2, 5], "x": 84, "y": 34, "flags": 4}, {"matrix": [2, 5], "x": 84, "y": 34, "flags": 4},
{"matrix": [2, 6], "x": 99, "y": 34, "flags": 4}, {"matrix": [2, 6], "x": 99, "y": 34, "flags": 4},
{"matrix": [2, 7], "x": 114, "y": 34, "flags": 4}, {"matrix": [2, 7], "x": 114, "y": 34, "flags": 4},
{"matrix": [2, 8], "x": 128, "y": 34, "flags": 4}, {"matrix": [2, 8], "x": 129, "y": 34, "flags": 4},
{"matrix": [2, 9], "x": 143, "y": 34, "flags": 4}, {"matrix": [2, 9], "x": 143, "y": 34, "flags": 4},
{"matrix": [2, 10], "x": 158, "y": 34, "flags": 4}, {"matrix": [2, 10], "x": 158, "y": 34, "flags": 4},
{"matrix": [2, 11], "x": 172, "y": 34, "flags": 4}, {"matrix": [2, 11], "x": 173, "y": 34, "flags": 4},
{"matrix": [2, 13], "x": 187, "y": 34, "flags": 4}, {"matrix": [2, 13], "x": 187, "y": 34, "flags": 4},
{"matrix": [1, 13], "x": 207, "y": 29, "flags": 1}, {"matrix": [1, 13], "x": 204, "y": 26, "flags": 1},
{"matrix": [2, 14], "x": 224, "y": 34, "flags": 1}, {"matrix": [2, 14], "x": 224, "y": 34, "flags": 1},
{"matrix": [3, 0], "x": 9, "y": 49, "flags": 1}, {"matrix": [3, 0], "x": 9, "y": 49, "flags": 1},
@ -62,9 +62,10 @@
{"matrix": [3, 7], "x": 106, "y": 49, "flags": 4}, {"matrix": [3, 7], "x": 106, "y": 49, "flags": 4},
{"matrix": [3, 8], "x": 121, "y": 49, "flags": 4}, {"matrix": [3, 8], "x": 121, "y": 49, "flags": 4},
{"matrix": [3, 9], "x": 136, "y": 49, "flags": 4}, {"matrix": [3, 9], "x": 136, "y": 49, "flags": 4},
{"matrix": [3, 10], "x": 150, "y": 49, "flags": 4}, {"matrix": [3, 10], "x": 151, "y": 49, "flags": 4},
{"matrix": [3, 11], "x": 179, "y": 49, "flags": 4}, {"matrix": [3, 11], "x": 165, "y": 49, "flags": 4},
{"matrix": [3, 13], "x": 194, "y": 49, "flags": 1}, {"matrix": [3, 12], "x": 180, "y": 49, "flags": 4},
{"matrix": [3, 13], "x": 195, "y": 49, "flags": 1},
{"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1},
{"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
@ -73,12 +74,12 @@
{"matrix": [4, 3], "x": 51, "y": 64, "flags": 1}, {"matrix": [4, 3], "x": 51, "y": 64, "flags": 1},
{"matrix": [4, 6], "x": 92, "y": 64, "flags": 4}, {"matrix": [4, 6], "x": 92, "y": 64, "flags": 4},
{"matrix": [4, 9], "x": 134, "y": 64, "flags": 1}, {"matrix": [4, 9], "x": 134, "y": 64, "flags": 1},
{"matrix": [4, 10], "x": 150, "y": 64, "flags": 1}, {"matrix": [4, 10], "x": 151, "y": 64, "flags": 1},
{"matrix": [4, 11], "x": 165, "y": 64, "flags": 1}, {"matrix": [4, 11], "x": 165, "y": 64, "flags": 1},
{"matrix": [4, 12], "x": 179, "y": 64, "flags": 1}, {"matrix": [4, 12], "x": 180, "y": 64, "flags": 1},
{"matrix": [4, 13], "x": 194, "y": 64, "flags": 1}, {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1},
{"matrix": [2, 12], "x": 209, "y": 64, "flags": 1}, {"matrix": [2, 12], "x": 209, "y": 64, "flags": 1},
{"matrix": [4, 14], "x": 223, "y": 64, "flags": 1} {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
] ]
}, },
"layouts": { "layouts": {

View File

@ -16,9 +16,6 @@
#pragma once #pragma once
/* RGB Matrix Configuration */
#define RGB_MATRIX_LED_COUNT 71
#define SNLED27351_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D } #define SNLED27351_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D }
/* Enable caps-lock LED */ /* Enable caps-lock LED */

View File

@ -19,13 +19,13 @@
{"matrix": [0, 5], "x": 73, "y": 4, "flags": 4}, {"matrix": [0, 5], "x": 73, "y": 4, "flags": 4},
{"matrix": [0, 6], "x": 88, "y": 4, "flags": 4}, {"matrix": [0, 6], "x": 88, "y": 4, "flags": 4},
{"matrix": [0, 7], "x": 103, "y": 4, "flags": 4}, {"matrix": [0, 7], "x": 103, "y": 4, "flags": 4},
{"matrix": [0, 8], "x": 117, "y": 4, "flags": 4}, {"matrix": [0, 8], "x": 118, "y": 4, "flags": 4},
{"matrix": [0, 9], "x": 132, "y": 4, "flags": 4}, {"matrix": [0, 9], "x": 132, "y": 4, "flags": 4},
{"matrix": [0, 10], "x": 146, "y": 4, "flags": 4}, {"matrix": [0, 10], "x": 147, "y": 4, "flags": 4},
{"matrix": [0, 11], "x": 161, "y": 4, "flags": 4}, {"matrix": [0, 11], "x": 162, "y": 4, "flags": 4},
{"matrix": [0, 12], "x": 176, "y": 4, "flags": 4}, {"matrix": [0, 12], "x": 176, "y": 4, "flags": 4},
{"matrix": [0, 13], "x": 190, "y": 4, "flags": 4}, {"matrix": [0, 13], "x": 191, "y": 4, "flags": 4},
{"matrix": [3, 1], "x": 205, "y": 4, "flags": 1}, {"matrix": [3, 1], "x": 206, "y": 4, "flags": 1},
{"matrix": [0, 14], "x": 224, "y": 0, "flags": 1}, {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
{"matrix": [1, 0], "x": 4, "y": 19, "flags": 1}, {"matrix": [1, 0], "x": 4, "y": 19, "flags": 1},
@ -37,10 +37,10 @@
{"matrix": [1, 6], "x": 95, "y": 19, "flags": 4}, {"matrix": [1, 6], "x": 95, "y": 19, "flags": 4},
{"matrix": [1, 7], "x": 110, "y": 19, "flags": 4}, {"matrix": [1, 7], "x": 110, "y": 19, "flags": 4},
{"matrix": [1, 8], "x": 125, "y": 19, "flags": 4}, {"matrix": [1, 8], "x": 125, "y": 19, "flags": 4},
{"matrix": [1, 9], "x": 139, "y": 19, "flags": 4}, {"matrix": [1, 9], "x": 140, "y": 19, "flags": 4},
{"matrix": [1, 10], "x": 154, "y": 19, "flags": 4}, {"matrix": [1, 10], "x": 154, "y": 19, "flags": 4},
{"matrix": [1, 11], "x": 168, "y": 19, "flags": 4}, {"matrix": [1, 11], "x": 169, "y": 19, "flags": 4},
{"matrix": [1, 12], "x": 183, "y": 19, "flags": 4}, {"matrix": [1, 12], "x": 184, "y": 19, "flags": 4},
{"matrix": [1, 14], "x": 224, "y": 19, "flags": 1}, {"matrix": [1, 14], "x": 224, "y": 19, "flags": 1},
{"matrix": [2, 0], "x": 6, "y": 34, "flags": 1}, {"matrix": [2, 0], "x": 6, "y": 34, "flags": 1},
@ -51,12 +51,12 @@
{"matrix": [2, 5], "x": 84, "y": 34, "flags": 4}, {"matrix": [2, 5], "x": 84, "y": 34, "flags": 4},
{"matrix": [2, 6], "x": 99, "y": 34, "flags": 4}, {"matrix": [2, 6], "x": 99, "y": 34, "flags": 4},
{"matrix": [2, 7], "x": 114, "y": 34, "flags": 4}, {"matrix": [2, 7], "x": 114, "y": 34, "flags": 4},
{"matrix": [2, 8], "x": 128, "y": 34, "flags": 4}, {"matrix": [2, 8], "x": 129, "y": 34, "flags": 4},
{"matrix": [2, 9], "x": 143, "y": 34, "flags": 4}, {"matrix": [2, 9], "x": 143, "y": 34, "flags": 4},
{"matrix": [2, 10], "x": 158, "y": 34, "flags": 4}, {"matrix": [2, 10], "x": 158, "y": 34, "flags": 4},
{"matrix": [2, 11], "x": 172, "y": 34, "flags": 4}, {"matrix": [2, 11], "x": 173, "y": 34, "flags": 4},
{"matrix": [2, 13], "x": 187, "y": 34, "flags": 4}, {"matrix": [2, 13], "x": 187, "y": 34, "flags": 4},
{"matrix": [1, 13], "x": 207, "y": 29, "flags": 1}, {"matrix": [1, 13], "x": 204, "y": 26, "flags": 1},
{"matrix": [2, 14], "x": 224, "y": 34, "flags": 1}, {"matrix": [2, 14], "x": 224, "y": 34, "flags": 1},
{"matrix": [3, 0], "x": 9, "y": 49, "flags": 1}, {"matrix": [3, 0], "x": 9, "y": 49, "flags": 1},
@ -68,9 +68,10 @@
{"matrix": [3, 7], "x": 106, "y": 49, "flags": 4}, {"matrix": [3, 7], "x": 106, "y": 49, "flags": 4},
{"matrix": [3, 8], "x": 121, "y": 49, "flags": 4}, {"matrix": [3, 8], "x": 121, "y": 49, "flags": 4},
{"matrix": [3, 9], "x": 136, "y": 49, "flags": 4}, {"matrix": [3, 9], "x": 136, "y": 49, "flags": 4},
{"matrix": [3, 10], "x": 150, "y": 49, "flags": 4}, {"matrix": [3, 10], "x": 151, "y": 49, "flags": 4},
{"matrix": [3, 11], "x": 179, "y": 49, "flags": 4}, {"matrix": [3, 11], "x": 165, "y": 49, "flags": 4},
{"matrix": [3, 13], "x": 194, "y": 49, "flags": 1}, {"matrix": [3, 12], "x": 180, "y": 49, "flags": 4},
{"matrix": [3, 13], "x": 195, "y": 49, "flags": 1},
{"matrix": [3, 14], "x": 209, "y": 49, "flags": 1}, {"matrix": [3, 14], "x": 209, "y": 49, "flags": 1},
{"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
@ -79,12 +80,12 @@
{"matrix": [4, 3], "x": 51, "y": 64, "flags": 1}, {"matrix": [4, 3], "x": 51, "y": 64, "flags": 1},
{"matrix": [4, 6], "x": 92, "y": 64, "flags": 4}, {"matrix": [4, 6], "x": 92, "y": 64, "flags": 4},
{"matrix": [4, 9], "x": 134, "y": 64, "flags": 1}, {"matrix": [4, 9], "x": 134, "y": 64, "flags": 1},
{"matrix": [4, 10], "x": 150, "y": 64, "flags": 1}, {"matrix": [4, 10], "x": 151, "y": 64, "flags": 1},
{"matrix": [4, 11], "x": 165, "y": 64, "flags": 1}, {"matrix": [4, 11], "x": 165, "y": 64, "flags": 1},
{"matrix": [4, 12], "x": 179, "y": 64, "flags": 1}, {"matrix": [4, 12], "x": 180, "y": 64, "flags": 1},
{"matrix": [4, 13], "x": 194, "y": 64, "flags": 1}, {"matrix": [4, 13], "x": 195, "y": 64, "flags": 1},
{"matrix": [2, 12], "x": 209, "y": 64, "flags": 1}, {"matrix": [2, 12], "x": 209, "y": 64, "flags": 1},
{"matrix": [4, 14], "x": 223, "y": 64, "flags": 1} {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
] ]
}, },
"layouts": { "layouts": {

View File

@ -0,0 +1,208 @@
{
"manufacturer": "Yiancar-Designs",
"keyboard_name": "Keycult TKL",
"maintainer": "Yiancar-Designs",
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["B12", "B13", "B14", "B15", "A8", "A10", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "A0", "A1"],
"rows": ["B11", "B10", "B2", "B1", "A9", "A5"]
},
"processor": "STM32F072",
"url": "https://yiancar-designs.com",
"usb": {
"device_version": "0.0.1",
"pid": "0x6336",
"vid": "0x8968"
},
"community_layouts": ["tkl_ansi", "tkl_ansi_tsangan"],
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 2, "y": 0},
{"matrix": [0, 2], "x": 3, "y": 0},
{"matrix": [0, 3], "x": 4, "y": 0},
{"matrix": [0, 4], "x": 5, "y": 0},
{"matrix": [0, 5], "x": 6.5, "y": 0},
{"matrix": [0, 6], "x": 7.5, "y": 0},
{"matrix": [0, 7], "x": 8.5, "y": 0},
{"matrix": [0, 8], "x": 9.5, "y": 0},
{"matrix": [0, 9], "x": 11, "y": 0},
{"matrix": [0, 10], "x": 12, "y": 0},
{"matrix": [0, 11], "x": 13, "y": 0},
{"matrix": [0, 12], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15.25, "y": 0},
{"matrix": [0, 15], "x": 16.25, "y": 0},
{"matrix": [0, 16], "x": 17.25, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1.25},
{"matrix": [1, 1], "x": 1, "y": 1.25},
{"matrix": [1, 2], "x": 2, "y": 1.25},
{"matrix": [1, 3], "x": 3, "y": 1.25},
{"matrix": [1, 4], "x": 4, "y": 1.25},
{"matrix": [1, 5], "x": 5, "y": 1.25},
{"matrix": [1, 6], "x": 6, "y": 1.25},
{"matrix": [1, 7], "x": 7, "y": 1.25},
{"matrix": [1, 8], "x": 8, "y": 1.25},
{"matrix": [1, 9], "x": 9, "y": 1.25},
{"matrix": [1, 10], "x": 10, "y": 1.25},
{"matrix": [1, 11], "x": 11, "y": 1.25},
{"matrix": [1, 12], "x": 12, "y": 1.25},
{"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
{"matrix": [1, 14], "x": 15.25, "y": 1.25},
{"matrix": [1, 15], "x": 16.25, "y": 1.25},
{"matrix": [1, 16], "x": 17.25, "y": 1.25},
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
{"matrix": [2, 6], "x": 6.5, "y": 2.25},
{"matrix": [2, 7], "x": 7.5, "y": 2.25},
{"matrix": [2, 8], "x": 8.5, "y": 2.25},
{"matrix": [2, 9], "x": 9.5, "y": 2.25},
{"matrix": [2, 10], "x": 10.5, "y": 2.25},
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
{"matrix": [3, 12], "x": 13.5, "y": 2.25, "w": 1.5},
{"matrix": [2, 14], "x": 15.25, "y": 2.25},
{"matrix": [2, 15], "x": 16.25, "y": 2.25},
{"matrix": [2, 16], "x": 17.25, "y": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
{"matrix": [3, 6], "x": 6.75, "y": 3.25},
{"matrix": [3, 7], "x": 7.75, "y": 3.25},
{"matrix": [3, 8], "x": 8.75, "y": 3.25},
{"matrix": [3, 9], "x": 9.75, "y": 3.25},
{"matrix": [3, 10], "x": 10.75, "y": 3.25},
{"matrix": [3, 11], "x": 11.75, "y": 3.25},
{"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
{"matrix": [4, 7], "x": 7.25, "y": 4.25},
{"matrix": [4, 8], "x": 8.25, "y": 4.25},
{"matrix": [4, 9], "x": 9.25, "y": 4.25},
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
{"matrix": [4, 15], "x": 16.25, "y": 4.25},
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
{"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
{"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25},
{"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25},
{"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25},
{"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25},
{"matrix": [5, 14], "x": 15.25, "y": 5.25},
{"matrix": [5, 15], "x": 16.25, "y": 5.25},
{"matrix": [5, 16], "x": 17.25, "y": 5.25}
]
},
"LAYOUT_tkl_ansi_tsangan": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 2, "y": 0},
{"matrix": [0, 2], "x": 3, "y": 0},
{"matrix": [0, 3], "x": 4, "y": 0},
{"matrix": [0, 4], "x": 5, "y": 0},
{"matrix": [0, 5], "x": 6.5, "y": 0},
{"matrix": [0, 6], "x": 7.5, "y": 0},
{"matrix": [0, 7], "x": 8.5, "y": 0},
{"matrix": [0, 8], "x": 9.5, "y": 0},
{"matrix": [0, 9], "x": 11, "y": 0},
{"matrix": [0, 10], "x": 12, "y": 0},
{"matrix": [0, 11], "x": 13, "y": 0},
{"matrix": [0, 12], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15.25, "y": 0},
{"matrix": [0, 15], "x": 16.25, "y": 0},
{"matrix": [0, 16], "x": 17.25, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1.25},
{"matrix": [1, 1], "x": 1, "y": 1.25},
{"matrix": [1, 2], "x": 2, "y": 1.25},
{"matrix": [1, 3], "x": 3, "y": 1.25},
{"matrix": [1, 4], "x": 4, "y": 1.25},
{"matrix": [1, 5], "x": 5, "y": 1.25},
{"matrix": [1, 6], "x": 6, "y": 1.25},
{"matrix": [1, 7], "x": 7, "y": 1.25},
{"matrix": [1, 8], "x": 8, "y": 1.25},
{"matrix": [1, 9], "x": 9, "y": 1.25},
{"matrix": [1, 10], "x": 10, "y": 1.25},
{"matrix": [1, 11], "x": 11, "y": 1.25},
{"matrix": [1, 12], "x": 12, "y": 1.25},
{"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
{"matrix": [1, 14], "x": 15.25, "y": 1.25},
{"matrix": [1, 15], "x": 16.25, "y": 1.25},
{"matrix": [1, 16], "x": 17.25, "y": 1.25},
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
{"matrix": [2, 6], "x": 6.5, "y": 2.25},
{"matrix": [2, 7], "x": 7.5, "y": 2.25},
{"matrix": [2, 8], "x": 8.5, "y": 2.25},
{"matrix": [2, 9], "x": 9.5, "y": 2.25},
{"matrix": [2, 10], "x": 10.5, "y": 2.25},
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
{"matrix": [3, 12], "x": 13.5, "y": 2.25, "w": 1.5},
{"matrix": [2, 14], "x": 15.25, "y": 2.25},
{"matrix": [2, 15], "x": 16.25, "y": 2.25},
{"matrix": [2, 16], "x": 17.25, "y": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
{"matrix": [3, 6], "x": 6.75, "y": 3.25},
{"matrix": [3, 7], "x": 7.75, "y": 3.25},
{"matrix": [3, 8], "x": 8.75, "y": 3.25},
{"matrix": [3, 9], "x": 9.75, "y": 3.25},
{"matrix": [3, 10], "x": 10.75, "y": 3.25},
{"matrix": [3, 11], "x": 11.75, "y": 3.25},
{"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
{"matrix": [4, 7], "x": 7.25, "y": 4.25},
{"matrix": [4, 8], "x": 8.25, "y": 4.25},
{"matrix": [4, 9], "x": 9.25, "y": 4.25},
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
{"matrix": [4, 15], "x": 16.25, "y": 4.25},
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
{"matrix": [5, 1], "x": 1.5, "y": 5.25},
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
{"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
{"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
{"matrix": [5, 12], "x": 12.5, "y": 5.25},
{"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
{"matrix": [5, 14], "x": 15.25, "y": 5.25},
{"matrix": [5, 15], "x": 16.25, "y": 5.25},
{"matrix": [5, 16], "x": 17.25, "y": 5.25}
]
}
}
}

View File

@ -0,0 +1,35 @@
/* Copyright 2024 Yiancar-Designs
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_tkl_ansi( /* Base */
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_tkl_ansi( /* FN */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};

View File

@ -0,0 +1,35 @@
/* Copyright 2024 Yiancar-Designs
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_tkl_ansi( /* Base */
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_tkl_ansi( /* FN */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};

View File

@ -0,0 +1 @@
VIA_ENABLE = yes

View File

@ -0,0 +1,32 @@
# Keycult TKL
This is a TKL layout PCB. It supports VIA.
* Keyboard Maintainer: [Yiancar](https://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
* Hardware Supported: A TKL keyboard with STM32F072CB or APM compatible
* Hardware Availability: https://keycult.com/
## Instructions
### Build
Make example for this keyboard (after setting up your build environment):
make keycult/keycult_tkl:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
### Reset
- Unplug
- Hold Escape
- Plug In
- Unplug
- Release Escape
### Flash
- Unplug
- Hold Escape
- Plug In
- Flash using QMK Toolbox or dfu-util (`make keycult/keycult_tkl:<keymap>:dfu-util`)

View File

@ -0,0 +1,2 @@
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -v FFFF -p FFFF

View File

@ -45,8 +45,13 @@
}, },
"processor": "atmega32u4", "processor": "atmega32u4",
"bootloader": "atmel-dfu", "bootloader": "atmel-dfu",
"layout_aliases": {
"LAYOUT_ortho_all": "LAYOUT_all",
"LAYOUT_ortho_2x2u": "LAYOUT_2x2u_space",
"LAYOUT_ortho_big_boy": "LAYOUT_7u_space"
},
"layouts": { "layouts": {
"LAYOUT_ortho_all": { "LAYOUT_all": {
"layout": [ "layout": [
{"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.5, "y": 0}, {"matrix": [0, 1], "x": 1.5, "y": 0},
@ -111,7 +116,7 @@
{"matrix": [4, 12], "x": 12.5, "y": 4.5} {"matrix": [4, 12], "x": 12.5, "y": 4.5}
] ]
}, },
"LAYOUT_ortho_2x2u": { "LAYOUT_2x2u_space": {
"layout": [ "layout": [
{"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.5, "y": 0}, {"matrix": [0, 1], "x": 1.5, "y": 0},
@ -174,7 +179,7 @@
{"matrix": [4, 12], "x": 12.5, "y": 4.5} {"matrix": [4, 12], "x": 12.5, "y": 4.5}
] ]
}, },
"LAYOUT_ortho_big_boy": { "LAYOUT_7u_space": {
"layout": [ "layout": [
{"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.5, "y": 0}, {"matrix": [0, 1], "x": 1.5, "y": 0},

View File

@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* End CTL GUI ALT FUNCLOWR RISELeftDown Up Rght * End CTL GUI ALT FUNCLOWR RISELeftDown Up Rght
* *
*/ */
[_QWERTY] = LAYOUT_ortho_all( [_QWERTY] = LAYOUT_all(
KC_MUTE, KC_ESC, KC_BSLS, KC_MINUS, KC_EQUAL, KC_MUTE, KC_ESC, KC_BSLS, KC_MINUS, KC_EQUAL,
KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_PGUP, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_PGUP, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* STOP * STOP
* *
*/ */
[_LOWER] = LAYOUT_ortho_all( [_LOWER] = LAYOUT_all(
_______, _______, KC_LBRC, KC_RBRC, KC_GRAVE, _______, _______, KC_LBRC, KC_RBRC, KC_GRAVE,
KC_MPLY, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_MPLY, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
KC_MNXT, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DQT, KC_MNXT, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DQT,
@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* *
* *
*/ */
[_RAISE] = LAYOUT_ortho_all( [_RAISE] = LAYOUT_all(
KC_PSCR, _______, KC_LCBR, KC_RCBR, KC_TILD, KC_PSCR, _______, KC_LCBR, KC_RCBR, KC_TILD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@ -147,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* *
* *
*/ */
[_FUNCTION] = LAYOUT_ortho_all( [_FUNCTION] = LAYOUT_all(
TD(TD_RST), RGB_TOG, KC_F11, KC_F12, KC_F13, TD(TD_RST), RGB_TOG, KC_F11, KC_F12, KC_F13,
_______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ // * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
// * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ // * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘
// */ // */
// [<LAYER>] = LAYOUT_ortho_all( // [<LAYER>] = LAYOUT_all(
// _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,

View File

@ -45,8 +45,12 @@
}, },
"processor": "atmega32u4", "processor": "atmega32u4",
"bootloader": "atmel-dfu", "bootloader": "atmel-dfu",
"layout_aliases": {
"LAYOUT_staggered": "LAYOUT_all",
"LAYOUT_staggered_big_boy": "LAYOUT_6u25_space"
},
"layouts": { "layouts": {
"LAYOUT_staggered": { "LAYOUT_all": {
"layout": [ "layout": [
{"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 0], "x": 0, "y": 0},
@ -111,7 +115,7 @@
{"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.25} {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.25}
] ]
}, },
"LAYOUT_staggered_big_boy": { "LAYOUT_6u25_space": {
"layout": [ "layout": [
{"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 0], "x": 0, "y": 0},

View File

@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* End LCtrlGUI ALT LOWR RAlt RCTLFUNC * End LCtrlGUI ALT LOWR RAlt RCTLFUNC
* *
*/ */
[_QWERTY] = LAYOUT_staggered( [_QWERTY] = LAYOUT_all(
KC_MUTE, KC_ESC, KC_LPRN, KC_RPRN, KC_SCLN, KC_MUTE, KC_ESC, KC_LPRN, KC_RPRN, KC_SCLN,
KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_PGUP, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, KC_PGUP, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* _ * _
* *
*/ */
[_LOWER] = LAYOUT_staggered( [_LOWER] = LAYOUT_all(
_______, _______, KC_LBRC, KC_RBRC, KC_COLON, _______, _______, KC_LBRC, KC_RBRC, KC_COLON,
KC_MINUS, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_MINUS, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
KC_BSLS, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, TD(TD_DBQT), KC_BSLS, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, TD(TD_DBQT),
@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ? * ?
* *
*/ */
[_RAISE] = LAYOUT_staggered( [_RAISE] = LAYOUT_all(
KC_PSCR, _______, KC_LCBR, KC_RCBR, KC_PLUS, KC_PSCR, _______, KC_LCBR, KC_RCBR, KC_PLUS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______,
_______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______,
@ -147,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* *
* *
*/ */
[_FUNCTION] = LAYOUT_staggered( [_FUNCTION] = LAYOUT_all(
TD(TD_RST), RGB_TOG, KC_F11, KC_F12, KC_F13, TD(TD_RST), RGB_TOG, KC_F11, KC_F12, KC_F13,
_______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_EQUAL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_EQUAL,
@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// * │ │ │ │ │ │ │ │ │ │ │ // * │ │ │ │ │ │ │ │ │ │ │
// * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘ // * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘
// */ // */
// [<_LAYER>] = LAYOUT_staggered( // [<_LAYER>] = LAYOUT_all(
// _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,

View File

@ -17,8 +17,7 @@
"breathing": true, "breathing": true,
"rainbow_mood": true, "rainbow_mood": true,
"rainbow_swirl": true, "rainbow_swirl": true,
"static_gradient": true, "static_gradient": true
"rgb_test": true
} }
}, },
"ws2812": { "ws2812": {
@ -26,8 +25,8 @@
}, },
"features": { "features": {
"bootmagic": true, "bootmagic": true,
"command": true, "command": false,
"console": true, "console": false,
"extrakey": true, "extrakey": true,
"mousekey": true, "mousekey": true,
"nkro": true, "nkro": true,

View File

@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
), ),
// Fn3 Layer
[3] = LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
}; };

View File

@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
), ),
// Fn3 Layer
[3] = LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
}; };

View File

@ -17,8 +17,7 @@
"breathing": true, "breathing": true,
"rainbow_mood": true, "rainbow_mood": true,
"rainbow_swirl": true, "rainbow_swirl": true,
"static_gradient": true, "static_gradient": true
"rgb_test": true
} }
}, },
"ws2812": { "ws2812": {
@ -26,8 +25,8 @@
}, },
"features": { "features": {
"bootmagic": true, "bootmagic": true,
"command": true, "command": false,
"console": true, "console": false,
"extrakey": true, "extrakey": true,
"mousekey": true, "mousekey": true,
"nkro": true, "nkro": true,

View File

@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
), ),
// Fn3 Layer
[3] = LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
}; };

View File

@ -44,14 +44,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
), ),
// Fn3 Layer
[3] = LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
}; };

View File

@ -14,6 +14,9 @@
"command": false, "command": false,
"nkro": false "nkro": false
}, },
"build": {
"lto": true
},
"usb": { "usb": {
"vid": "0x4B50", "vid": "0x4B50",
"pid": "0x3430", "pid": "0x3430",

View File

@ -23,7 +23,6 @@
"knight": true, "knight": true,
"christmas": true, "christmas": true,
"static_gradient": true, "static_gradient": true,
"rgb_test": true,
"alternating": true, "alternating": true,
"twinkle": true "twinkle": true
} }
@ -62,8 +61,6 @@
"pixel_rain": true, "pixel_rain": true,
"pixel_flow": true, "pixel_flow": true,
"pixel_fractal": true, "pixel_fractal": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true, "solid_reactive_simple": true,
"solid_reactive": true, "solid_reactive": true,
"solid_reactive_wide": true, "solid_reactive_wide": true,

View File

@ -45,8 +45,6 @@
"hue_breathing": true, "hue_breathing": true,
"hue_pendulum": true, "hue_pendulum": true,
"hue_wave": true, "hue_wave": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true, "solid_reactive_simple": true,
"solid_reactive": true, "solid_reactive": true,
"solid_reactive_wide": true, "solid_reactive_wide": true,

View File

@ -33,8 +33,15 @@
}, },
"processor": "atmega32u2", "processor": "atmega32u2",
"bootloader": "atmel-dfu", "bootloader": "atmel-dfu",
"community_layouts": ["65_ansi", "65_ansi_split_bs", "65_ansi_blocker", "65_ansi_blocker_split_bs"],
"layout_aliases": {
"LAYOUT_normie": "LAYOUT_65_ansi",
"LAYOUT_spicy": "LAYOUT_65_ansi_split_bs",
"LAYOUT_dank": "LAYOUT_65_ansi_blocker",
"LAYOUT_meme": "LAYOUT_65_ansi_blocker_split_bs",
},
"layouts": { "layouts": {
"LAYOUT_spicy": { "LAYOUT_65_ansi_split_bs": {
"layout": [ "layout": [
{"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [1, 0], "x": 1, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0},
@ -111,7 +118,7 @@
{"matrix": [9, 7], "x": 15, "y": 4} {"matrix": [9, 7], "x": 15, "y": 4}
] ]
}, },
"LAYOUT_normie": { "LAYOUT_65_ansi": {
"layout": [ "layout": [
{"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [1, 0], "x": 1, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0},
@ -187,7 +194,7 @@
{"matrix": [9, 7], "x": 15, "y": 4} {"matrix": [9, 7], "x": 15, "y": 4}
] ]
}, },
"LAYOUT_dank": { "LAYOUT_65_ansi_blocker": {
"layout": [ "layout": [
{"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [1, 0], "x": 1, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0},
@ -262,7 +269,7 @@
{"matrix": [9, 7], "x": 15, "y": 4} {"matrix": [9, 7], "x": 15, "y": 4}
] ]
}, },
"LAYOUT_meme": { "LAYOUT_65_ansi_blocker_split_bs": {
"layout": [ "layout": [
{"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [1, 0], "x": 1, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0},

View File

@ -17,7 +17,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_spicy( [0] = LAYOUT_65_ansi_split_bs(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,

View File

@ -42,6 +42,9 @@
"sleep": true, "sleep": true,
"split_count": [48, 52] "split_count": [48, 52]
}, },
"build": {
"lto": true
},
"processor": "atmega32u4", "processor": "atmega32u4",
"bootloader": "atmel-dfu", "bootloader": "atmel-dfu",
"layouts": { "layouts": {

View File

@ -38,8 +38,6 @@
"hue_wave": true, "hue_wave": true,
"pixel_fractal": true, "pixel_fractal": true,
"pixel_rain": true, "pixel_rain": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true, "solid_reactive_simple": true,
"solid_reactive": true, "solid_reactive": true,
"solid_reactive_wide": true, "solid_reactive_wide": true,

View File

@ -36,23 +36,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD,
_______, _______, _______, _______, RGB_MOD, _______, RGB_SPD, RGB_VAD, RGB_SPI _______, _______, _______, _______, RGB_MOD, _______, RGB_SPD, RGB_VAD, RGB_SPI
), ),
[2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
[3] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
}; };

View File

@ -36,23 +36,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD,
_______, _______, _______, _______, RGB_MOD, _______, RGB_SPD, RGB_VAD, RGB_SPI _______, _______, _______, _______, RGB_MOD, _______, RGB_SPD, RGB_VAD, RGB_SPI
), ),
[2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
[3] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
}; };

View File

@ -10,8 +10,8 @@
}, },
"features": { "features": {
"bootmagic": true, "bootmagic": true,
"command": true, "command": false,
"console": true, "console": false,
"extrakey": true, "extrakey": true,
"mousekey": true, "mousekey": true,
"nkro": false, "nkro": false,
@ -37,7 +37,6 @@
"knight": true, "knight": true,
"christmas": true, "christmas": true,
"static_gradient": true, "static_gradient": true,
"rgb_test": true,
"alternating": true, "alternating": true,
"twinkle": true "twinkle": true
} }

View File

@ -22,6 +22,9 @@
"resync": true "resync": true
} }
}, },
"build": {
"lto": true
},
"matrix_pins": { "matrix_pins": {
"cols": ["B3", "B2", "B1", "F7"], "cols": ["B3", "B2", "B1", "F7"],
"rows": ["F0", "F1", "F4", "F5", "F6"] "rows": ["F0", "F1", "F4", "F5", "F6"]

View File

@ -69,10 +69,11 @@
//#define RGBLIGHT_EFFECT_TWINKLE //#define RGBLIGHT_EFFECT_TWINKLE
#define RGBLIGHT_LED_COUNT 70 #define RGBLIGHT_LED_COUNT 70
//#define RGBLED_SPLIT #undef RGBLED_SPLIT
#define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet #define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet
//#define RGBLIGHT_LED_COUNT 30 //#define RGBLIGHT_LED_COUNT 30
#undef RGBLIGHT_LIMIT_VAL
#define RGBLIGHT_LIMIT_VAL 120 #define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17 #define RGBLIGHT_SAT_STEP 17

View File

@ -45,8 +45,7 @@
"diode_direction": "COL2ROW", "diode_direction": "COL2ROW",
"split": { "split": {
"enabled": true, "enabled": true,
"soft_serial_pin": "D2", "soft_serial_pin": "D2"
"main": "eeprom"
}, },
"development_board": "promicro", "development_board": "promicro",
"layouts": { "layouts": {

View File

@ -10,8 +10,8 @@
}, },
"features": { "features": {
"bootmagic": true, "bootmagic": true,
"command": true, "command": false,
"console": true, "console": false,
"extrakey": true, "extrakey": true,
"mousekey": true, "mousekey": true,
"nkro": false, "nkro": false,
@ -42,7 +42,6 @@
"knight": true, "knight": true,
"christmas": true, "christmas": true,
"static_gradient": true, "static_gradient": true,
"rgb_test": true,
"alternating": true, "alternating": true,
"twinkle": true "twinkle": true
} }

View File

@ -53,11 +53,6 @@ def _check_avr_gcc_version():
version_number = ESSENTIAL_BINARIES['avr-gcc']['output'].strip() version_number = ESSENTIAL_BINARIES['avr-gcc']['output'].strip()
cli.log.info('Found avr-gcc version %s', version_number) cli.log.info('Found avr-gcc version %s', version_number)
parsed_version = _parse_gcc_version(version_number)
if parsed_version['major'] > 8:
cli.log.warning('{fg_yellow}We do not recommend avr-gcc newer than 8. Downgrading to 8.x is recommended.')
return CheckStatus.WARNING
return CheckStatus.OK return CheckStatus.OK

View File

@ -101,6 +101,12 @@ def dump_lines(output_file, lines, quiet=True):
if output_file and output_file.name != '-': if output_file and output_file.name != '-':
output_file.parent.mkdir(parents=True, exist_ok=True) output_file.parent.mkdir(parents=True, exist_ok=True)
if output_file.exists(): if output_file.exists():
with open(output_file, 'r', encoding='utf-8', newline='\n') as f:
existing = f.read()
if existing == generated:
if not quiet:
cli.log.info(f'No changes to {output_file.name}.')
return
output_file.replace(output_file.parent / (output_file.name + '.bak')) output_file.replace(output_file.parent / (output_file.name + '.bak'))
output_file.write_text(generated, encoding='utf-8') output_file.write_text(generated, encoding='utf-8')