1
0

Compare commits

..

1 Commits

Author SHA1 Message Date
Nick Brassel
b43f6cb7ef Branch point for 2024q2 Breaking Change 2024-02-28 21:52:10 +11:00
65 changed files with 744 additions and 2579 deletions

View File

@@ -4,39 +4,39 @@
root = true
[*]
end_of_line = lf
indent_style = space
indent_size = 4
# We recommend you to keep these unchanged
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[{*.yaml,*.yml}] # To match GitHub Actions formatting
indent_size = 2
[*.md]
trim_trailing_whitespace = false
indent_size = 4
[{Makefile,*.mk}]
[{qmk,*.py}]
charset = utf-8
max_line_length = 200
# Make these match what we have in .gitattributes
[*.mk]
end_of_line = lf
indent_style = tab
# Don't override anything in `lib/`...
[lib/**]
indent_style = unset
indent_size = unset
tab_width = unset
end_of_line = unset
charset = unset
spelling_language = unset
trim_trailing_whitespace = unset
insert_final_newline = unset
# ...except QMK's `lib/python`.
[{*.py,lib/python/**.py}]
[Makefile]
end_of_line = lf
indent_style = space
indent_size = 4
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 200
indent_style = tab
[*.sh]
end_of_line = lf
# The gitattributes file will handle the line endings conversion properly according to the operating system settings for other files
# We don't have gitattributes properly for these
# So if the user have for example core.autocrlf set to true
# the line endings would be wrong.
[lib/**]
end_of_line = unset

View File

@@ -36,8 +36,6 @@ jobs:
- name: Get changed files
id: file_changes
uses: tj-actions/changed-files@v42
with:
use_rest_api: true
- name: Run qmk formatters
shell: 'bash {0}'

View File

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

View File

@@ -28,8 +28,6 @@ jobs:
- name: Get changed files
id: file_changes
uses: tj-actions/changed-files@v42
with:
use_rest_api: true
- name: Print info
run: |
@@ -64,12 +62,10 @@ jobs:
qmk format-text ${{ steps.file_changes.outputs.all_changed_files}} || true
for file in ${{ steps.file_changes.outputs.all_changed_files}}; do
if [[ -f $file ]]; then
if ! git diff --quiet $file; then
echo "File '${file}' Requires Formatting"
echo "::error file=${file}::Requires Formatting"
exit_code=$(($exit_code + 1))
fi
if ! git diff --quiet $file; then
echo "File '${file}' Requires Formatting"
echo "::error file=${file}::Requires Formatting"
exit_code=$(($exit_code + 1))
fi
done

View File

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

View File

@@ -117,77 +117,3 @@ Using the [standard `compile_commands.json` database](https://clang.llvm.org/doc
1. Start typing `clangd: Restart Language Server` and select it when it appears.
Now you're ready to code QMK Firmware in VS Code!
# Debugging ARM MCUs with Visual Studio Code
**...and a Black Magic Probe.**
Visual Studio Code has the ability to debug applications, but requires some configuration in order to get it to be able to do so for ARM targets.
This documentation describes a known-working configuration for setting up the use of a Black Magic Probe to debug using VS Code.
It is assumed that you've correctly set up the electrical connectivity of the Black Magic Probe with your MCU. Wiring up `NRST`, `SWDIO`, `SWCLK`, and `GND` should be enough.
Install the following plugin into VS Code:
* [Cortex-Debug](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug) -
This adds debugger support for ARM Cortex targets to VS Code.
A debugging target for the MCU for your board needs to be defined, and can be done so by adding the following to a `.vscode/launch.json` file:
```json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Black Magic Probe (OneKey Proton-C)",
"type": "cortex-debug",
"request": "launch",
"cwd": "${workspaceRoot}",
"executable": "${workspaceRoot}/.build/handwired_onekey_proton_c_default.elf",
"servertype": "bmp",
"BMPGDBSerialPort": "COM4",
"svdFile": "Q:\\svd\\STM32F303.svd",
"device": "STM32F303",
"v1": false,
"windows": {
"armToolchainPath": "C:\\QMK_MSYS\\mingw64\\bin"
}
}
]
}
```
You'll need to perform some modifications to the file above in order to target your specific device:
* `"name"`: Can be anything, but if you're debugging multiple targets you'll want something descriptive here.
* `"cwd"`: The path to the QMK Firmware repository root directory -- _if using the `.vscode` directory existing in the `qmk_firmware` git repository, the default above should be correct_
* `"executable"`: The path to the `elf` file generated as part of the build for your keyboard -- _exists in `<qmk_firmware>/.build`_
* `"BMPGDBSerialPort"`: The `COM` port under Windows, or the `/dev/...` path for Linux/macOS. Two serial port devices will be created -- the Black Magic Probe debug port is *usually* the first. If it doesn't work, try the second.
* `"svdFile"`: _[Optional]_ The path to the SVD file that defines the register layout for the MCU -- the appropriate file can be downloaded from the [cmsis-svd repository](https://github.com/posborne/cmsis-svd/tree/master/data/STMicro)
* `"device"`: The name of the MCU, which matches the `<name>` tag at the top of the downloaded `svd` file.
* `"armToolchainPath"`: _[Optional]_ The path to the ARM toolchain installation location on Windows -- under normal circumstances Linux/macOS will auto-detect this correctly and will not need to be specified.
!> Windows builds of QMK Firmware are generally compiled using QMK MSYS, and the path to gdb's location (`C:\\QMK_MSYS\\mingw64\\bin`) needs to be specified under `armToolchainPath` for it to be detected. You may also need to change the GDB path to point at `C:\\QMK_MSYS\\mingw64\\bin\\gdb-multiarch.exe` in the VSCode Cortex-Debug user settings: ![VSCode Settings](https://i.imgur.com/EGrPM1L.png)
Optionally, the following modifications should also be made to the keyboard's `rules.mk` file to disable optimisations -- not strictly required but will ensure breakpoints and variable viewing works correctly:
```makefile
# Disable optimisations for debugging purposes
LTO_ENABLE = no
OPT = g
DEBUG = 3
```
At this point, you should build and flash your firmware through normal methods (`qmk compile ...` and `qmk flash ...`).
Once completed, you can:
* Switch to the debug view in VS Code (in the sidebar, the Play button with a bug next to it)
* Select the newly-created debug target in the dropdown at the top of the sidebar
* Click the green play button next to the dropdown
VS Code's debugger will then start executing the compiled firmware on the MCU.
At this stage, you should have full debugging set up, with breakpoints and variable listings working!

View File

@@ -1,118 +0,0 @@
{
"manufacturer": "Cipulot",
"keyboard_name": "60XT",
"maintainer": "Cipulot",
"bootloader": "stm32-dfu",
"build": {
"lto": true
},
"qmk": {
"locking": {
"enabled": true,
"resync": true
}
},
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"indicators": {
"caps_lock": "A1"
},
"matrix_pins": {
"cols": ["A5", "A2", "A0", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15"],
"rows": ["B1", "B2", "A6", "A7", "B0"]
},
"processor": "STM32F072",
"usb": {
"device_version": "0.0.1",
"pid": "0x6BC2",
"shared_endpoint": {
"keyboard": true
},
"vid": "0x6369"
},
"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": [0, 8], "x": 8.25, "y": 0},
{"matrix": [0, 9], "x": 9.25, "y": 0},
{"matrix": [0, 10], "x": 10.25, "y": 0},
{"matrix": [0, 11], "x": 11.25, "y": 0},
{"matrix": [0, 12], "x": 12.25, "y": 0},
{"matrix": [0, 13], "x": 13.25, "y": 0},
{"matrix": [0, 14], "x": 14.25, "y": 0},
{"matrix": [0, 15], "x": 15.25, "y": 0},
{"matrix": [1, 15], "x": 16.5, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 2.75, "y": 1},
{"matrix": [1, 3], "x": 3.75, "y": 1},
{"matrix": [1, 4], "x": 4.75, "y": 1},
{"matrix": [1, 5], "x": 5.75, "y": 1},
{"matrix": [1, 6], "x": 6.75, "y": 1},
{"matrix": [1, 7], "x": 7.75, "y": 1},
{"matrix": [1, 8], "x": 8.75, "y": 1},
{"matrix": [1, 9], "x": 9.75, "y": 1},
{"matrix": [1, 10], "x": 10.75, "y": 1},
{"matrix": [1, 11], "x": 11.75, "y": 1},
{"matrix": [1, 12], "x": 12.75, "y": 1},
{"matrix": [1, 13], "x": 13.75, "y": 1},
{"matrix": [1, 14], "x": 14.75, "y": 1, "w": 1.5},
{"matrix": [2, 15], "x": 16.5, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3, "y": 2},
{"matrix": [2, 3], "x": 4, "y": 2},
{"matrix": [2, 4], "x": 5, "y": 2},
{"matrix": [2, 5], "x": 6, "y": 2},
{"matrix": [2, 6], "x": 7, "y": 2},
{"matrix": [2, 7], "x": 8, "y": 2},
{"matrix": [2, 8], "x": 9, "y": 2},
{"matrix": [2, 9], "x": 10, "y": 2},
{"matrix": [2, 10], "x": 11, "y": 2},
{"matrix": [2, 11], "x": 12, "y": 2},
{"matrix": [2, 12], "x": 13, "y": 2},
{"matrix": [2, 13], "x": 14, "y": 2},
{"matrix": [2, 14], "x": 15, "y": 2, "w": 1.25},
{"matrix": [3, 15], "x": 16.5, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25},
{"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.75},
{"matrix": [3, 14], "x": 15.25, "y": 3},
{"matrix": [4, 14], "x": 16.5, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5},
{"matrix": [4, 2], "x": 2.75, "y": 4},
{"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.5},
{"matrix": [4, 8], "x": 5.25, "y": 4, "w": 7},
{"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.5},
{"matrix": [4, 12], "x": 13.75, "y": 4},
{"matrix": [4, 13], "x": 14.75, "y": 4, "w": 1.5},
{"matrix": [4, 15], "x": 16.5, "y": 4}
]
}
}
}

View File

@@ -1,43 +0,0 @@
/* Copyright 2023 Cipulot
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* 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/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format off
[0] = LAYOUT(
KC_F1, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_F6,
KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_F7,
KC_F3, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_F8,
KC_F4, 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_F9,
KC_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_F10
),
[1] = LAYOUT(
_______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
_______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, MO(2), _______
),
[2] = LAYOUT(
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
)
// clang-format on
};

View File

@@ -1,43 +0,0 @@
/* Copyright 2023 Cipulot
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* 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/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format off
[0] = LAYOUT(
KC_F1, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_F6,
KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_F7,
KC_F3, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_F8,
KC_F4, 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_F9,
KC_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_F10
),
[1] = LAYOUT(
_______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
_______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, MO(2), _______
),
[2] = LAYOUT(
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
)
// clang-format on
};

View File

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

View File

@@ -1,27 +0,0 @@
# 60XT
![60XT](https://i.imgur.com/7lAvjpmh.png)
A 60% XT solder and hot swap PCB.
* Keyboard Maintainer: [cipulot](https://github.com/cipulot)
* Hardware Supported: 60XT
* Hardware Availability: [Eloquent Clicks](https://eloquentclicks.com/)
Make example for this keyboard (after setting up your build environment):
make cipulot/60xt:default
Flashing example for this keyboard:
make cipulot/60xt:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 3 ways:
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured.
* **Physical reset button**: Long press the reset button soldered on the PCB.
* **Bootmagic reset**: Hold down the top left key and plug in the controller.

View File

@@ -1,29 +0,0 @@
// Copyright 2024 customMK
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
// FRAM configuration
#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN B7
#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 4 // 48MHz / 4 = 12MHz; max supported by MB85R64 is 20MHz
// SPI configuration
#define SPI_DRIVER SPID1
#define SPI_SCK_PIN B3
#define SPI_MOSI_PIN B5
#define SPI_MISO_PIN B4
// Audio configuration
#define AUDIO_PIN B8
#define AUDIO_PWM_DRIVER PWMD4
#define AUDIO_PWM_CHANNEL 3
#define AUDIO_PWM_PAL_MODE 2
#define AUDIO_STATE_TIMER GPTD5
#define AUDIO_INIT_DELAY
// WS2812 configuration
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
#define WS2812_PWM_PAL_MODE 1
#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
#define WS2812_DMA_CHANNEL 6

View File

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

View File

@@ -1,121 +0,0 @@
{
"manufacturer": "customMK",
"keyboard_name": "CMK11",
"maintainer": "customMK",
"bootloader": "stm32-dfu",
"diode_direction": "ROW2COL",
"dynamic_keymap": {
"layer_count": 32
},
"eeprom": {
"driver": "spi"
},
"features": {
"audio": true,
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
"matrix_pins": {
"cols": ["B0", "A1", "A2", "A3", "A6", "B10"],
"rows": ["A5", "A4"]
},
"processor": "STM32F411",
"qmk": {
"tap_keycode_delay": 10
},
"rgb_matrix": {
"animations": {
"alphas_mods": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_sat": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"band_val": true,
"breathing": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"cycle_up_down": true,
"digital_rain": true,
"dual_beacon": true,
"gradient_left_right": true,
"gradient_up_down": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
"jellybean_raindrops": true,
"multisplash": true,
"pixel_flow": true,
"pixel_fractal": true,
"pixel_rain": true,
"rainbow_beacon": true,
"rainbow_moving_chevron": true,
"rainbow_pinwheels": true,
"raindrops": true,
"solid_multisplash": true,
"solid_reactive": true,
"solid_reactive_cross": true,
"solid_reactive_multicross": true,
"solid_reactive_multinexus": true,
"solid_reactive_multiwide": true,
"solid_reactive_nexus": true,
"solid_reactive_simple": true,
"solid_reactive_wide": true,
"solid_splash": true,
"splash": true,
"typing_heatmap": true
},
"driver": "ws2812",
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
{"matrix": [0, 1], "x": 45, "y": 0, "flags": 4},
{"matrix": [0, 2], "x": 90, "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},
{"matrix": [1, 0], "x": 23, "y": 64, "flags": 4},
{"matrix": [1, 1], "x": 68, "y": 64, "flags": 4},
{"matrix": [1, 2], "x": 112, "y": 64, "flags": 4},
{"matrix": [1, 3], "x": 157, "y": 64, "flags": 4},
{"matrix": [1, 4], "x": 202, "y": 64, "flags": 4}
],
"max_brightness": 120,
"sat_steps": 8,
"speed_steps": 10,
"val_steps": 8
},
"url": "https://shop.custommk.com/collections/cmk11/products/ckm11",
"usb": {
"device_version": "1.0.0",
"pid": "0xFABA",
"vid": "0xF35B"
},
"ws2812": {
"driver": "pwm",
"pin": "A10"
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [1, 0], "x": 0.5, "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}
]
}
}
}

View File

@@ -1,11 +0,0 @@
// Copyright 2024 customMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_C, KC_V, KC_VOLU, KC_VOLD, KC_DEL,
KC_LCTL, KC_PGUP, KC_SPC, KC_PGDN, KC_ENT
)
};

View File

@@ -1,6 +0,0 @@
// Copyright 2024 customMK
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define DYNAMIC_KEYMAP_MACRO_COUNT 128

View File

@@ -1,11 +0,0 @@
// Copyright 2024 customMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_C, KC_V, KC_VOLU, KC_VOLD, KC_DEL,
KC_LCTL, KC_PGUP, KC_SPC, KC_PGDN, MO(1)
)
};

View File

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

View File

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

View File

@@ -1,27 +0,0 @@
# CMK11
![cmk11](https://i.imgur.com/y8MEwXYh.jpeg)
CMK11 supports eleven 1u keys (or eight 1u keys and one 3u key). The PCB is fully compatible with the Cary Works C11 macropad.
* Keyboard Maintainer: [customMK](https://github.com/customMK)
* Hardware Supported: CMK11
* Hardware Availability: [customMK](https://shop.custommk.com/products/cmk11)
Make example for this keyboard (after setting up your build environment):
make custommk/cmk11:default
Flashing example for this keyboard:
make custommk/cmk11: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 key in the top left corner) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

View File

@@ -1 +0,0 @@
AUDIO_DRIVER = pwm_hardware

View File

@@ -9,7 +9,7 @@
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"mousekey": false,
"nkro": true,
"encoder": true
},

View File

@@ -19,14 +19,14 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
LT(2, KC_MUTE), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL,
LT(2, KC_MUTE), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TRNS, 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_ENT, KC_PGUP,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_all(
KC_MPLY, 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_DEL, KC_INS,
KC_MPLY, 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_TRNS, KC_INS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR,
KC_TRNS, KC_TRNS, KC_TRNS, KC_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, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END,

View File

@@ -19,14 +19,14 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
LT(2, KC_MUTE), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL,
LT(2, KC_MUTE), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TRNS, 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_ENT, KC_PGUP,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_all(
KC_MPLY, 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_DEL, KC_INS,
KC_MPLY, 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_TRNS, KC_INS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR,
KC_TRNS, KC_TRNS, KC_TRNS, KC_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, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END,

View File

@@ -46,130 +46,6 @@
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layouts": {
"LAYOUT_all": {
"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": [6, 0], "x": 5.5, "y": 0},
{"matrix": [6, 1], "x": 6.5, "y": 0},
{"matrix": [6, 2], "x": 7.5, "y": 0},
{"matrix": [6, 3], "x": 8.5, "y": 0},
{"matrix": [0, 5], "x": 9.75, "y": 0},
{"matrix": [0, 6], "x": 10.75, "y": 0},
{"matrix": [0, 7], "x": 11.75, "y": 0},
{"matrix": [0, 8], "x": 12.75, "y": 0},
{"matrix": [7, 2], "x": 14, "y": 0},
{"matrix": [0, 9], "x": 15.5, "y": 0},
{"matrix": [0, 10], "x": 16.5, "y": 0},
{"matrix": [0, 11], "x": 17.5, "y": 0},
{"matrix": [0, 12], "x": 18.5, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1.5},
{"matrix": [1, 1], "x": 1, "y": 1.5},
{"matrix": [1, 2], "x": 2, "y": 1.5},
{"matrix": [1, 3], "x": 3, "y": 1.5},
{"matrix": [1, 4], "x": 4, "y": 1.5},
{"matrix": [6, 4], "x": 5, "y": 1.5},
{"matrix": [6, 5], "x": 6, "y": 1.5},
{"matrix": [6, 6], "x": 7, "y": 1.5},
{"matrix": [6, 7], "x": 8, "y": 1.5},
{"matrix": [1, 5], "x": 9, "y": 1.5},
{"matrix": [1, 6], "x": 10, "y": 1.5},
{"matrix": [1, 7], "x": 11, "y": 1.5},
{"matrix": [1, 8], "x": 12, "y": 1.5},
{"matrix": [7, 0], "x": 13, "y": 1.5},
{"matrix": [7, 1], "x": 14, "y": 1.5},
{"matrix": [1, 9], "x": 15.5, "y": 1.5},
{"matrix": [1, 10], "x": 16.5, "y": 1.5},
{"matrix": [1, 11], "x": 17.5, "y": 1.5},
{"matrix": [1, 12], "x": 18.5, "y": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.5},
{"matrix": [2, 2], "x": 2.5, "y": 2.5},
{"matrix": [2, 3], "x": 3.5, "y": 2.5},
{"matrix": [2, 4], "x": 4.5, "y": 2.5},
{"matrix": [6, 8], "x": 5.5, "y": 2.5},
{"matrix": [6, 9], "x": 6.5, "y": 2.5},
{"matrix": [6, 10], "x": 7.5, "y": 2.5},
{"matrix": [6, 11], "x": 8.5, "y": 2.5},
{"matrix": [2, 5], "x": 9.5, "y": 2.5},
{"matrix": [2, 6], "x": 10.5, "y": 2.5},
{"matrix": [2, 7], "x": 11.5, "y": 2.5},
{"matrix": [2, 8], "x": 12.5, "y": 2.5},
{"matrix": [7, 3], "x": 13.5, "y": 2.5, "w": 1.5},
{"matrix": [2, 9], "x": 15.5, "y": 2.5},
{"matrix": [2, 10], "x": 16.5, "y": 2.5},
{"matrix": [2, 11], "x": 17.5, "y": 2.5},
{"matrix": [2, 12], "x": 18.5, "y": 2.5},
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
{"matrix": [3, 2], "x": 2.75, "y": 3.5},
{"matrix": [3, 3], "x": 3.75, "y": 3.5},
{"matrix": [3, 4], "x": 4.75, "y": 3.5},
{"matrix": [6, 12], "x": 5.75, "y": 3.5},
{"matrix": [7, 5], "x": 6.75, "y": 3.5},
{"matrix": [7, 6], "x": 7.75, "y": 3.5},
{"matrix": [7, 7], "x": 8.75, "y": 3.5},
{"matrix": [3, 5], "x": 9.75, "y": 3.5},
{"matrix": [3, 6], "x": 10.75, "y": 3.5},
{"matrix": [3, 7], "x": 11.75, "y": 3.5},
{"matrix": [3, 8], "x": 12.75, "y": 3.5, "w": 2.25},
{"matrix": [3, 9], "x": 15.5, "y": 3.5},
{"matrix": [3, 10], "x": 16.5, "y": 3.5},
{"matrix": [3, 11], "x": 17.5, "y": 3.5},
{"matrix": [3, 12], "x": 18.5, "y": 3.5},
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4.5},
{"matrix": [4, 2], "x": 2.25, "y": 4.5},
{"matrix": [4, 3], "x": 3.25, "y": 4.5},
{"matrix": [4, 4], "x": 4.25, "y": 4.5},
{"matrix": [7, 8], "x": 5.25, "y": 4.5},
{"matrix": [7, 9], "x": 6.25, "y": 4.5},
{"matrix": [7, 10], "x": 7.25, "y": 4.5},
{"matrix": [7, 11], "x": 8.25, "y": 4.5},
{"matrix": [4, 5], "x": 9.25, "y": 4.5},
{"matrix": [4, 6], "x": 10.25, "y": 4.5},
{"matrix": [4, 7], "x": 11.25, "y": 4.5},
{"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75},
{"matrix": [7, 4], "x": 14.25, "y": 4.75},
{"matrix": [4, 9], "x": 15.5, "y": 4.5},
{"matrix": [4, 10], "x": 16.5, "y": 4.5},
{"matrix": [4, 11], "x": 17.5, "y": 4.5},
{"matrix": [4, 12], "x": 18.5, "y": 4.5},
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5.5},
{"matrix": [5, 2], "x": 2.25, "y": 5.5, "w": 1.25},
{"matrix": [5, 9], "x": 3.5, "y": 5.5, "w": 6.25},
{"matrix": [5, 5], "x": 9.75, "y": 5.5},
{"matrix": [5, 6], "x": 10.75, "y": 5.5},
{"matrix": [5, 7], "x": 11.75, "y": 5.5, "w": 1.25},
{"matrix": [5, 8], "x": 13.25, "y": 5.75},
{"matrix": [5, 3], "x": 14.25, "y": 5.75},
{"matrix": [5, 4], "x": 15.25, "y": 5.75},
{"matrix": [5, 10], "x": 16.5, "y": 5.5},
{"matrix": [5, 11], "x": 17.5, "y": 5.5},
{"matrix": [5, 12], "x": 18.5, "y": 5.5}
]
},
"LAYOUT_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
@@ -290,364 +166,6 @@
{"matrix": [5, 11], "x": 17.5, "y": 5.5}
]
},
"LAYOUT_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": [6, 0], "x": 5.5, "y": 0},
{"matrix": [6, 1], "x": 6.5, "y": 0},
{"matrix": [6, 2], "x": 7.5, "y": 0},
{"matrix": [6, 3], "x": 8.5, "y": 0},
{"matrix": [0, 5], "x": 9.75, "y": 0},
{"matrix": [0, 6], "x": 10.75, "y": 0},
{"matrix": [0, 7], "x": 11.75, "y": 0},
{"matrix": [0, 8], "x": 12.75, "y": 0},
{"matrix": [7, 2], "x": 14, "y": 0},
{"matrix": [0, 9], "x": 15.5, "y": 0},
{"matrix": [0, 10], "x": 16.5, "y": 0},
{"matrix": [0, 11], "x": 17.5, "y": 0},
{"matrix": [0, 12], "x": 18.5, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1.5},
{"matrix": [1, 1], "x": 1, "y": 1.5},
{"matrix": [1, 2], "x": 2, "y": 1.5},
{"matrix": [1, 3], "x": 3, "y": 1.5},
{"matrix": [1, 4], "x": 4, "y": 1.5},
{"matrix": [6, 4], "x": 5, "y": 1.5},
{"matrix": [6, 5], "x": 6, "y": 1.5},
{"matrix": [6, 6], "x": 7, "y": 1.5},
{"matrix": [6, 7], "x": 8, "y": 1.5},
{"matrix": [1, 5], "x": 9, "y": 1.5},
{"matrix": [1, 6], "x": 10, "y": 1.5},
{"matrix": [1, 7], "x": 11, "y": 1.5},
{"matrix": [1, 8], "x": 12, "y": 1.5},
{"matrix": [7, 0], "x": 13, "y": 1.5},
{"matrix": [7, 1], "x": 14, "y": 1.5},
{"matrix": [1, 9], "x": 15.5, "y": 1.5},
{"matrix": [1, 10], "x": 16.5, "y": 1.5},
{"matrix": [1, 11], "x": 17.5, "y": 1.5},
{"matrix": [1, 12], "x": 18.5, "y": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.5},
{"matrix": [2, 2], "x": 2.5, "y": 2.5},
{"matrix": [2, 3], "x": 3.5, "y": 2.5},
{"matrix": [2, 4], "x": 4.5, "y": 2.5},
{"matrix": [6, 8], "x": 5.5, "y": 2.5},
{"matrix": [6, 9], "x": 6.5, "y": 2.5},
{"matrix": [6, 10], "x": 7.5, "y": 2.5},
{"matrix": [6, 11], "x": 8.5, "y": 2.5},
{"matrix": [2, 5], "x": 9.5, "y": 2.5},
{"matrix": [2, 6], "x": 10.5, "y": 2.5},
{"matrix": [2, 7], "x": 11.5, "y": 2.5},
{"matrix": [2, 8], "x": 12.5, "y": 2.5},
{"matrix": [7, 3], "x": 13.5, "y": 2.5, "w": 1.5},
{"matrix": [2, 9], "x": 15.5, "y": 2.5},
{"matrix": [2, 10], "x": 16.5, "y": 2.5},
{"matrix": [2, 11], "x": 17.5, "y": 2.5},
{"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
{"matrix": [3, 2], "x": 2.75, "y": 3.5},
{"matrix": [3, 3], "x": 3.75, "y": 3.5},
{"matrix": [3, 4], "x": 4.75, "y": 3.5},
{"matrix": [6, 12], "x": 5.75, "y": 3.5},
{"matrix": [7, 5], "x": 6.75, "y": 3.5},
{"matrix": [7, 6], "x": 7.75, "y": 3.5},
{"matrix": [7, 7], "x": 8.75, "y": 3.5},
{"matrix": [3, 5], "x": 9.75, "y": 3.5},
{"matrix": [3, 6], "x": 10.75, "y": 3.5},
{"matrix": [3, 7], "x": 11.75, "y": 3.5},
{"matrix": [3, 8], "x": 12.75, "y": 3.5, "w": 2.25},
{"matrix": [3, 9], "x": 15.5, "y": 3.5},
{"matrix": [3, 10], "x": 16.5, "y": 3.5},
{"matrix": [3, 11], "x": 17.5, "y": 3.5},
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.5},
{"matrix": [4, 3], "x": 3.25, "y": 4.5},
{"matrix": [4, 4], "x": 4.25, "y": 4.5},
{"matrix": [7, 8], "x": 5.25, "y": 4.5},
{"matrix": [7, 9], "x": 6.25, "y": 4.5},
{"matrix": [7, 10], "x": 7.25, "y": 4.5},
{"matrix": [7, 11], "x": 8.25, "y": 4.5},
{"matrix": [4, 5], "x": 9.25, "y": 4.5},
{"matrix": [4, 6], "x": 10.25, "y": 4.5},
{"matrix": [4, 7], "x": 11.25, "y": 4.5},
{"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75},
{"matrix": [7, 4], "x": 14.25, "y": 4.75},
{"matrix": [4, 9], "x": 15.5, "y": 4.5},
{"matrix": [4, 10], "x": 16.5, "y": 4.5},
{"matrix": [4, 11], "x": 17.5, "y": 4.5},
{"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2},
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5.5},
{"matrix": [5, 2], "x": 2.25, "y": 5.5, "w": 1.25},
{"matrix": [5, 9], "x": 3.5, "y": 5.5, "w": 6.25},
{"matrix": [5, 5], "x": 9.75, "y": 5.5},
{"matrix": [5, 6], "x": 10.75, "y": 5.5},
{"matrix": [5, 7], "x": 11.75, "y": 5.5, "w": 1.25},
{"matrix": [5, 8], "x": 13.25, "y": 5.75},
{"matrix": [5, 3], "x": 14.25, "y": 5.75},
{"matrix": [5, 4], "x": 15.25, "y": 5.75},
{"matrix": [5, 10], "x": 16.5, "y": 5.5},
{"matrix": [5, 11], "x": 17.5, "y": 5.5}
]
},
"LAYOUT_ansi_wkl": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.25, "y": 0},
{"matrix": [0, 2], "x": 2.25, "y": 0},
{"matrix": [0, 3], "x": 3.25, "y": 0},
{"matrix": [0, 4], "x": 4.25, "y": 0},
{"matrix": [6, 0], "x": 5.5, "y": 0},
{"matrix": [6, 1], "x": 6.5, "y": 0},
{"matrix": [6, 2], "x": 7.5, "y": 0},
{"matrix": [6, 3], "x": 8.5, "y": 0},
{"matrix": [0, 5], "x": 9.75, "y": 0},
{"matrix": [0, 6], "x": 10.75, "y": 0},
{"matrix": [0, 7], "x": 11.75, "y": 0},
{"matrix": [0, 8], "x": 12.75, "y": 0},
{"matrix": [7, 2], "x": 14, "y": 0},
{"matrix": [0, 9], "x": 15.5, "y": 0},
{"matrix": [0, 10], "x": 16.5, "y": 0},
{"matrix": [0, 11], "x": 17.5, "y": 0},
{"matrix": [0, 12], "x": 18.5, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1.5},
{"matrix": [1, 1], "x": 1, "y": 1.5},
{"matrix": [1, 2], "x": 2, "y": 1.5},
{"matrix": [1, 3], "x": 3, "y": 1.5},
{"matrix": [1, 4], "x": 4, "y": 1.5},
{"matrix": [6, 4], "x": 5, "y": 1.5},
{"matrix": [6, 5], "x": 6, "y": 1.5},
{"matrix": [6, 6], "x": 7, "y": 1.5},
{"matrix": [6, 7], "x": 8, "y": 1.5},
{"matrix": [1, 5], "x": 9, "y": 1.5},
{"matrix": [1, 6], "x": 10, "y": 1.5},
{"matrix": [1, 7], "x": 11, "y": 1.5},
{"matrix": [1, 8], "x": 12, "y": 1.5},
{"matrix": [7, 1], "x": 13, "y": 1.5, "w": 2},
{"matrix": [1, 9], "x": 15.5, "y": 1.5},
{"matrix": [1, 10], "x": 16.5, "y": 1.5},
{"matrix": [1, 11], "x": 17.5, "y": 1.5},
{"matrix": [1, 12], "x": 18.5, "y": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.5},
{"matrix": [2, 2], "x": 2.5, "y": 2.5},
{"matrix": [2, 3], "x": 3.5, "y": 2.5},
{"matrix": [2, 4], "x": 4.5, "y": 2.5},
{"matrix": [6, 8], "x": 5.5, "y": 2.5},
{"matrix": [6, 9], "x": 6.5, "y": 2.5},
{"matrix": [6, 10], "x": 7.5, "y": 2.5},
{"matrix": [6, 11], "x": 8.5, "y": 2.5},
{"matrix": [2, 5], "x": 9.5, "y": 2.5},
{"matrix": [2, 6], "x": 10.5, "y": 2.5},
{"matrix": [2, 7], "x": 11.5, "y": 2.5},
{"matrix": [2, 8], "x": 12.5, "y": 2.5},
{"matrix": [7, 3], "x": 13.5, "y": 2.5, "w": 1.5},
{"matrix": [2, 9], "x": 15.5, "y": 2.5},
{"matrix": [2, 10], "x": 16.5, "y": 2.5},
{"matrix": [2, 11], "x": 17.5, "y": 2.5},
{"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
{"matrix": [3, 2], "x": 2.75, "y": 3.5},
{"matrix": [3, 3], "x": 3.75, "y": 3.5},
{"matrix": [3, 4], "x": 4.75, "y": 3.5},
{"matrix": [6, 12], "x": 5.75, "y": 3.5},
{"matrix": [7, 5], "x": 6.75, "y": 3.5},
{"matrix": [7, 6], "x": 7.75, "y": 3.5},
{"matrix": [7, 7], "x": 8.75, "y": 3.5},
{"matrix": [3, 5], "x": 9.75, "y": 3.5},
{"matrix": [3, 6], "x": 10.75, "y": 3.5},
{"matrix": [3, 7], "x": 11.75, "y": 3.5},
{"matrix": [3, 8], "x": 12.75, "y": 3.5, "w": 2.25},
{"matrix": [3, 9], "x": 15.5, "y": 3.5},
{"matrix": [3, 10], "x": 16.5, "y": 3.5},
{"matrix": [3, 11], "x": 17.5, "y": 3.5},
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.5},
{"matrix": [4, 3], "x": 3.25, "y": 4.5},
{"matrix": [4, 4], "x": 4.25, "y": 4.5},
{"matrix": [7, 8], "x": 5.25, "y": 4.5},
{"matrix": [7, 9], "x": 6.25, "y": 4.5},
{"matrix": [7, 10], "x": 7.25, "y": 4.5},
{"matrix": [7, 11], "x": 8.25, "y": 4.5},
{"matrix": [4, 5], "x": 9.25, "y": 4.5},
{"matrix": [4, 6], "x": 10.25, "y": 4.5},
{"matrix": [4, 7], "x": 11.25, "y": 4.5},
{"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75},
{"matrix": [7, 4], "x": 14.25, "y": 4.75},
{"matrix": [4, 9], "x": 15.5, "y": 4.5},
{"matrix": [4, 10], "x": 16.5, "y": 4.5},
{"matrix": [4, 11], "x": 17.5, "y": 4.5},
{"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2},
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5},
{"matrix": [5, 2], "x": 1.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 9], "x": 3, "y": 5.5, "w": 7},
{"matrix": [5, 5], "x": 10, "y": 5.5, "w": 1.5},
{"matrix": [5, 7], "x": 11.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 8], "x": 13.25, "y": 5.75},
{"matrix": [5, 3], "x": 14.25, "y": 5.75},
{"matrix": [5, 4], "x": 15.25, "y": 5.75},
{"matrix": [5, 10], "x": 16.5, "y": 5.5},
{"matrix": [5, 11], "x": 17.5, "y": 5.5}
]
},
"LAYOUT_ansi_wkl_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": [6, 0], "x": 5.5, "y": 0},
{"matrix": [6, 1], "x": 6.5, "y": 0},
{"matrix": [6, 2], "x": 7.5, "y": 0},
{"matrix": [6, 3], "x": 8.5, "y": 0},
{"matrix": [0, 5], "x": 9.75, "y": 0},
{"matrix": [0, 6], "x": 10.75, "y": 0},
{"matrix": [0, 7], "x": 11.75, "y": 0},
{"matrix": [0, 8], "x": 12.75, "y": 0},
{"matrix": [7, 2], "x": 14, "y": 0},
{"matrix": [0, 9], "x": 15.5, "y": 0},
{"matrix": [0, 10], "x": 16.5, "y": 0},
{"matrix": [0, 11], "x": 17.5, "y": 0},
{"matrix": [0, 12], "x": 18.5, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1.5},
{"matrix": [1, 1], "x": 1, "y": 1.5},
{"matrix": [1, 2], "x": 2, "y": 1.5},
{"matrix": [1, 3], "x": 3, "y": 1.5},
{"matrix": [1, 4], "x": 4, "y": 1.5},
{"matrix": [6, 4], "x": 5, "y": 1.5},
{"matrix": [6, 5], "x": 6, "y": 1.5},
{"matrix": [6, 6], "x": 7, "y": 1.5},
{"matrix": [6, 7], "x": 8, "y": 1.5},
{"matrix": [1, 5], "x": 9, "y": 1.5},
{"matrix": [1, 6], "x": 10, "y": 1.5},
{"matrix": [1, 7], "x": 11, "y": 1.5},
{"matrix": [1, 8], "x": 12, "y": 1.5},
{"matrix": [7, 0], "x": 13, "y": 1.5},
{"matrix": [7, 1], "x": 14, "y": 1.5},
{"matrix": [1, 9], "x": 15.5, "y": 1.5},
{"matrix": [1, 10], "x": 16.5, "y": 1.5},
{"matrix": [1, 11], "x": 17.5, "y": 1.5},
{"matrix": [1, 12], "x": 18.5, "y": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.5},
{"matrix": [2, 2], "x": 2.5, "y": 2.5},
{"matrix": [2, 3], "x": 3.5, "y": 2.5},
{"matrix": [2, 4], "x": 4.5, "y": 2.5},
{"matrix": [6, 8], "x": 5.5, "y": 2.5},
{"matrix": [6, 9], "x": 6.5, "y": 2.5},
{"matrix": [6, 10], "x": 7.5, "y": 2.5},
{"matrix": [6, 11], "x": 8.5, "y": 2.5},
{"matrix": [2, 5], "x": 9.5, "y": 2.5},
{"matrix": [2, 6], "x": 10.5, "y": 2.5},
{"matrix": [2, 7], "x": 11.5, "y": 2.5},
{"matrix": [2, 8], "x": 12.5, "y": 2.5},
{"matrix": [7, 3], "x": 13.5, "y": 2.5, "w": 1.5},
{"matrix": [2, 9], "x": 15.5, "y": 2.5},
{"matrix": [2, 10], "x": 16.5, "y": 2.5},
{"matrix": [2, 11], "x": 17.5, "y": 2.5},
{"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
{"matrix": [3, 2], "x": 2.75, "y": 3.5},
{"matrix": [3, 3], "x": 3.75, "y": 3.5},
{"matrix": [3, 4], "x": 4.75, "y": 3.5},
{"matrix": [6, 12], "x": 5.75, "y": 3.5},
{"matrix": [7, 5], "x": 6.75, "y": 3.5},
{"matrix": [7, 6], "x": 7.75, "y": 3.5},
{"matrix": [7, 7], "x": 8.75, "y": 3.5},
{"matrix": [3, 5], "x": 9.75, "y": 3.5},
{"matrix": [3, 6], "x": 10.75, "y": 3.5},
{"matrix": [3, 7], "x": 11.75, "y": 3.5},
{"matrix": [3, 8], "x": 12.75, "y": 3.5, "w": 2.25},
{"matrix": [3, 9], "x": 15.5, "y": 3.5},
{"matrix": [3, 10], "x": 16.5, "y": 3.5},
{"matrix": [3, 11], "x": 17.5, "y": 3.5},
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4.5},
{"matrix": [4, 3], "x": 3.25, "y": 4.5},
{"matrix": [4, 4], "x": 4.25, "y": 4.5},
{"matrix": [7, 8], "x": 5.25, "y": 4.5},
{"matrix": [7, 9], "x": 6.25, "y": 4.5},
{"matrix": [7, 10], "x": 7.25, "y": 4.5},
{"matrix": [7, 11], "x": 8.25, "y": 4.5},
{"matrix": [4, 5], "x": 9.25, "y": 4.5},
{"matrix": [4, 6], "x": 10.25, "y": 4.5},
{"matrix": [4, 7], "x": 11.25, "y": 4.5},
{"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75},
{"matrix": [7, 4], "x": 14.25, "y": 4.75},
{"matrix": [4, 9], "x": 15.5, "y": 4.5},
{"matrix": [4, 10], "x": 16.5, "y": 4.5},
{"matrix": [4, 11], "x": 17.5, "y": 4.5},
{"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2},
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5},
{"matrix": [5, 2], "x": 1.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 9], "x": 3, "y": 5.5, "w": 7},
{"matrix": [5, 5], "x": 10, "y": 5.5, "w": 1.5},
{"matrix": [5, 7], "x": 11.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 8], "x": 13.25, "y": 5.75},
{"matrix": [5, 3], "x": 14.25, "y": 5.75},
{"matrix": [5, 4], "x": 15.25, "y": 5.75},
{"matrix": [5, 10], "x": 16.5, "y": 5.5},
{"matrix": [5, 11], "x": 17.5, "y": 5.5}
]
},
"LAYOUT_iso": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
@@ -768,7 +286,7 @@
{"matrix": [5, 11], "x": 17.5, "y": 5.5}
]
},
"LAYOUT_iso_split_bs": {
"LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
@@ -828,10 +346,12 @@
{"matrix": [2, 6], "x": 10.5, "y": 2.5},
{"matrix": [2, 7], "x": 11.5, "y": 2.5},
{"matrix": [2, 8], "x": 12.5, "y": 2.5},
{"matrix": [7, 3], "x": 13.5, "y": 2.5, "w": 1.5},
{"matrix": [2, 9], "x": 15.5, "y": 2.5},
{"matrix": [2, 10], "x": 16.5, "y": 2.5},
{"matrix": [2, 11], "x": 17.5, "y": 2.5},
{"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2},
{"matrix": [2, 12], "x": 18.5, "y": 2.5},
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
@@ -845,12 +365,12 @@
{"matrix": [3, 5], "x": 9.75, "y": 3.5},
{"matrix": [3, 6], "x": 10.75, "y": 3.5},
{"matrix": [3, 7], "x": 11.75, "y": 3.5},
{"matrix": [7, 3], "x": 12.75, "y": 3.5},
{"matrix": [3, 8], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
{"matrix": [3, 8], "x": 12.75, "y": 3.5, "w": 2.25},
{"matrix": [3, 9], "x": 15.5, "y": 3.5},
{"matrix": [3, 10], "x": 16.5, "y": 3.5},
{"matrix": [3, 11], "x": 17.5, "y": 3.5},
{"matrix": [3, 12], "x": 18.5, "y": 3.5},
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4.5},
@@ -871,7 +391,7 @@
{"matrix": [4, 9], "x": 15.5, "y": 4.5},
{"matrix": [4, 10], "x": 16.5, "y": 4.5},
{"matrix": [4, 11], "x": 17.5, "y": 4.5},
{"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2},
{"matrix": [4, 12], "x": 18.5, "y": 4.5},
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5.5},
@@ -886,244 +406,8 @@
{"matrix": [5, 4], "x": 15.25, "y": 5.75},
{"matrix": [5, 10], "x": 16.5, "y": 5.5},
{"matrix": [5, 11], "x": 17.5, "y": 5.5}
]
},
"LAYOUT_iso_wkl": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.25, "y": 0},
{"matrix": [0, 2], "x": 2.25, "y": 0},
{"matrix": [0, 3], "x": 3.25, "y": 0},
{"matrix": [0, 4], "x": 4.25, "y": 0},
{"matrix": [6, 0], "x": 5.5, "y": 0},
{"matrix": [6, 1], "x": 6.5, "y": 0},
{"matrix": [6, 2], "x": 7.5, "y": 0},
{"matrix": [6, 3], "x": 8.5, "y": 0},
{"matrix": [0, 5], "x": 9.75, "y": 0},
{"matrix": [0, 6], "x": 10.75, "y": 0},
{"matrix": [0, 7], "x": 11.75, "y": 0},
{"matrix": [0, 8], "x": 12.75, "y": 0},
{"matrix": [7, 2], "x": 14, "y": 0},
{"matrix": [0, 9], "x": 15.5, "y": 0},
{"matrix": [0, 10], "x": 16.5, "y": 0},
{"matrix": [0, 11], "x": 17.5, "y": 0},
{"matrix": [0, 12], "x": 18.5, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1.5},
{"matrix": [1, 1], "x": 1, "y": 1.5},
{"matrix": [1, 2], "x": 2, "y": 1.5},
{"matrix": [1, 3], "x": 3, "y": 1.5},
{"matrix": [1, 4], "x": 4, "y": 1.5},
{"matrix": [6, 4], "x": 5, "y": 1.5},
{"matrix": [6, 5], "x": 6, "y": 1.5},
{"matrix": [6, 6], "x": 7, "y": 1.5},
{"matrix": [6, 7], "x": 8, "y": 1.5},
{"matrix": [1, 5], "x": 9, "y": 1.5},
{"matrix": [1, 6], "x": 10, "y": 1.5},
{"matrix": [1, 7], "x": 11, "y": 1.5},
{"matrix": [1, 8], "x": 12, "y": 1.5},
{"matrix": [7, 1], "x": 13, "y": 1.5, "w": 2},
{"matrix": [1, 9], "x": 15.5, "y": 1.5},
{"matrix": [1, 10], "x": 16.5, "y": 1.5},
{"matrix": [1, 11], "x": 17.5, "y": 1.5},
{"matrix": [1, 12], "x": 18.5, "y": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.5},
{"matrix": [2, 2], "x": 2.5, "y": 2.5},
{"matrix": [2, 3], "x": 3.5, "y": 2.5},
{"matrix": [2, 4], "x": 4.5, "y": 2.5},
{"matrix": [6, 8], "x": 5.5, "y": 2.5},
{"matrix": [6, 9], "x": 6.5, "y": 2.5},
{"matrix": [6, 10], "x": 7.5, "y": 2.5},
{"matrix": [6, 11], "x": 8.5, "y": 2.5},
{"matrix": [2, 5], "x": 9.5, "y": 2.5},
{"matrix": [2, 6], "x": 10.5, "y": 2.5},
{"matrix": [2, 7], "x": 11.5, "y": 2.5},
{"matrix": [2, 8], "x": 12.5, "y": 2.5},
{"matrix": [2, 9], "x": 15.5, "y": 2.5},
{"matrix": [2, 10], "x": 16.5, "y": 2.5},
{"matrix": [2, 11], "x": 17.5, "y": 2.5},
{"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
{"matrix": [3, 2], "x": 2.75, "y": 3.5},
{"matrix": [3, 3], "x": 3.75, "y": 3.5},
{"matrix": [3, 4], "x": 4.75, "y": 3.5},
{"matrix": [6, 12], "x": 5.75, "y": 3.5},
{"matrix": [7, 5], "x": 6.75, "y": 3.5},
{"matrix": [7, 6], "x": 7.75, "y": 3.5},
{"matrix": [7, 7], "x": 8.75, "y": 3.5},
{"matrix": [3, 5], "x": 9.75, "y": 3.5},
{"matrix": [3, 6], "x": 10.75, "y": 3.5},
{"matrix": [3, 7], "x": 11.75, "y": 3.5},
{"matrix": [7, 3], "x": 12.75, "y": 3.5},
{"matrix": [3, 8], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
{"matrix": [3, 9], "x": 15.5, "y": 3.5},
{"matrix": [3, 10], "x": 16.5, "y": 3.5},
{"matrix": [3, 11], "x": 17.5, "y": 3.5},
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4.5},
{"matrix": [4, 2], "x": 2.25, "y": 4.5},
{"matrix": [4, 3], "x": 3.25, "y": 4.5},
{"matrix": [4, 4], "x": 4.25, "y": 4.5},
{"matrix": [7, 8], "x": 5.25, "y": 4.5},
{"matrix": [7, 9], "x": 6.25, "y": 4.5},
{"matrix": [7, 10], "x": 7.25, "y": 4.5},
{"matrix": [7, 11], "x": 8.25, "y": 4.5},
{"matrix": [4, 5], "x": 9.25, "y": 4.5},
{"matrix": [4, 6], "x": 10.25, "y": 4.5},
{"matrix": [4, 7], "x": 11.25, "y": 4.5},
{"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75},
{"matrix": [7, 4], "x": 14.25, "y": 4.75},
{"matrix": [4, 9], "x": 15.5, "y": 4.5},
{"matrix": [4, 10], "x": 16.5, "y": 4.5},
{"matrix": [4, 11], "x": 17.5, "y": 4.5},
{"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2},
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5},
{"matrix": [5, 2], "x": 1.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 9], "x": 3, "y": 5.5, "w": 7},
{"matrix": [5, 5], "x": 10, "y": 5.5, "w": 1.5},
{"matrix": [5, 7], "x": 11.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 8], "x": 13.25, "y": 5.75},
{"matrix": [5, 3], "x": 14.25, "y": 5.75},
{"matrix": [5, 4], "x": 15.25, "y": 5.75},
{"matrix": [5, 10], "x": 16.5, "y": 5.5},
{"matrix": [5, 11], "x": 17.5, "y": 5.5}
]
},
"LAYOUT_iso_wkl_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": [6, 0], "x": 5.5, "y": 0},
{"matrix": [6, 1], "x": 6.5, "y": 0},
{"matrix": [6, 2], "x": 7.5, "y": 0},
{"matrix": [6, 3], "x": 8.5, "y": 0},
{"matrix": [0, 5], "x": 9.75, "y": 0},
{"matrix": [0, 6], "x": 10.75, "y": 0},
{"matrix": [0, 7], "x": 11.75, "y": 0},
{"matrix": [0, 8], "x": 12.75, "y": 0},
{"matrix": [7, 2], "x": 14, "y": 0},
{"matrix": [0, 9], "x": 15.5, "y": 0},
{"matrix": [0, 10], "x": 16.5, "y": 0},
{"matrix": [0, 11], "x": 17.5, "y": 0},
{"matrix": [0, 12], "x": 18.5, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1.5},
{"matrix": [1, 1], "x": 1, "y": 1.5},
{"matrix": [1, 2], "x": 2, "y": 1.5},
{"matrix": [1, 3], "x": 3, "y": 1.5},
{"matrix": [1, 4], "x": 4, "y": 1.5},
{"matrix": [6, 4], "x": 5, "y": 1.5},
{"matrix": [6, 5], "x": 6, "y": 1.5},
{"matrix": [6, 6], "x": 7, "y": 1.5},
{"matrix": [6, 7], "x": 8, "y": 1.5},
{"matrix": [1, 5], "x": 9, "y": 1.5},
{"matrix": [1, 6], "x": 10, "y": 1.5},
{"matrix": [1, 7], "x": 11, "y": 1.5},
{"matrix": [1, 8], "x": 12, "y": 1.5},
{"matrix": [7, 0], "x": 13, "y": 1.5},
{"matrix": [7, 1], "x": 14, "y": 1.5},
{"matrix": [1, 9], "x": 15.5, "y": 1.5},
{"matrix": [1, 10], "x": 16.5, "y": 1.5},
{"matrix": [1, 11], "x": 17.5, "y": 1.5},
{"matrix": [1, 12], "x": 18.5, "y": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2.5},
{"matrix": [2, 2], "x": 2.5, "y": 2.5},
{"matrix": [2, 3], "x": 3.5, "y": 2.5},
{"matrix": [2, 4], "x": 4.5, "y": 2.5},
{"matrix": [6, 8], "x": 5.5, "y": 2.5},
{"matrix": [6, 9], "x": 6.5, "y": 2.5},
{"matrix": [6, 10], "x": 7.5, "y": 2.5},
{"matrix": [6, 11], "x": 8.5, "y": 2.5},
{"matrix": [2, 5], "x": 9.5, "y": 2.5},
{"matrix": [2, 6], "x": 10.5, "y": 2.5},
{"matrix": [2, 7], "x": 11.5, "y": 2.5},
{"matrix": [2, 8], "x": 12.5, "y": 2.5},
{"matrix": [2, 9], "x": 15.5, "y": 2.5},
{"matrix": [2, 10], "x": 16.5, "y": 2.5},
{"matrix": [2, 11], "x": 17.5, "y": 2.5},
{"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
{"matrix": [3, 2], "x": 2.75, "y": 3.5},
{"matrix": [3, 3], "x": 3.75, "y": 3.5},
{"matrix": [3, 4], "x": 4.75, "y": 3.5},
{"matrix": [6, 12], "x": 5.75, "y": 3.5},
{"matrix": [7, 5], "x": 6.75, "y": 3.5},
{"matrix": [7, 6], "x": 7.75, "y": 3.5},
{"matrix": [7, 7], "x": 8.75, "y": 3.5},
{"matrix": [3, 5], "x": 9.75, "y": 3.5},
{"matrix": [3, 6], "x": 10.75, "y": 3.5},
{"matrix": [3, 7], "x": 11.75, "y": 3.5},
{"matrix": [7, 3], "x": 12.75, "y": 3.5},
{"matrix": [3, 8], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
{"matrix": [3, 9], "x": 15.5, "y": 3.5},
{"matrix": [3, 10], "x": 16.5, "y": 3.5},
{"matrix": [3, 11], "x": 17.5, "y": 3.5},
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4.5},
{"matrix": [4, 2], "x": 2.25, "y": 4.5},
{"matrix": [4, 3], "x": 3.25, "y": 4.5},
{"matrix": [4, 4], "x": 4.25, "y": 4.5},
{"matrix": [7, 8], "x": 5.25, "y": 4.5},
{"matrix": [7, 9], "x": 6.25, "y": 4.5},
{"matrix": [7, 10], "x": 7.25, "y": 4.5},
{"matrix": [7, 11], "x": 8.25, "y": 4.5},
{"matrix": [4, 5], "x": 9.25, "y": 4.5},
{"matrix": [4, 6], "x": 10.25, "y": 4.5},
{"matrix": [4, 7], "x": 11.25, "y": 4.5},
{"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75},
{"matrix": [7, 4], "x": 14.25, "y": 4.75},
{"matrix": [4, 9], "x": 15.5, "y": 4.5},
{"matrix": [4, 10], "x": 16.5, "y": 4.5},
{"matrix": [4, 11], "x": 17.5, "y": 4.5},
{"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2},
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5},
{"matrix": [5, 2], "x": 1.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 9], "x": 3, "y": 5.5, "w": 7},
{"matrix": [5, 5], "x": 10, "y": 5.5, "w": 1.5},
{"matrix": [5, 7], "x": 11.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 8], "x": 13.25, "y": 5.75},
{"matrix": [5, 3], "x": 14.25, "y": 5.75},
{"matrix": [5, 4], "x": 15.25, "y": 5.75},
{"matrix": [5, 10], "x": 16.5, "y": 5.5},
{"matrix": [5, 11], "x": 17.5, "y": 5.5}
{"matrix": [5, 11], "x": 17.5, "y": 5.5},
{"matrix": [5, 12], "x": 18.5, "y": 5.5}
]
}
}

View File

@@ -1,28 +0,0 @@
# Matrix Diagram for KBDfans KBD19x
```
┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┬───┐
│00 ││01 │02 │03 │04 ││60 │61 │62 │63 ││05 │06 │07 │08 ││72 │ │09 │0A │0B │0C │
└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┴───┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───────┐
│10 │11 │12 │13 │14 │64 │65 │66 │67 │15 │16 │17 │18 │70 │71 │ │19 │1A │1B │1C │ │71 │ 2u Backspace
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┼───┤ └─┬─────┤ ┌───┐
│20 │21 │22 │23 │24 │68 │69 │6A │6B │25 │26 │27 │28 │73 │ │29 │2A │2B │2C │ │ │ │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┼───┤ ┌──┴┐38 │ ISO Enter │2C │ 2u Numpad Plus
│30 │31 │32 │33 │34 │6C │75 │76 │77 │35 │36 │37 │38 │ │39 │3A │3B │3C │ │73 │ │ │ │
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┼───┼───┼───┤ └───┴────┘ ├───┤
│40 │41 │42 │43 │44 │78 │79 │7A │7B │45 │46 │47 │48 │┌───┐│49 │4A │4B │4C │ │ │
├────┼───┼───┴┬──┴───┴───┴───┴───┴───┴─┬─┴─┬─┴─┬─┴──┬───┘│74 │└───┼───┼───┼───┤ │4C │ 2u Numpad Enter
│50 │51 │52 │59 │55 │56 │57 │┌───┼───┼───┐│5A │5B │5C │ │ │
└────┴───┴────┴────────────────────────┴───┴───┴────┘│58 │53 │54 │└───┴───┴───┘ └───┘
└───┴───┴───┘
┌────────┐
│40 │ 2.25u LShift
└────────┘
┌────┬───┬────┬───────────────────────┬────┬───┬────┐
│50 │51 │52 │59 │55 │56 │57 │ 6u Space
└────┴───┴────┴───────────────────────┴────┴───┴────┘
┌─────┬─────┬───────────────────────────┬─────┬─────┐
│50 │52 │59 │55 │57 │ WKL (7u Space)
└─────┴─────┴───────────────────────────┴─────┴─────┘
```

View File

@@ -75,45 +75,45 @@
{"matrix": [2, 13], "x": 13.5, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3},
{"matrix": [3, 2], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [3, 4], "x": 4.75, "y": 3},
{"matrix": [3, 5], "x": 5.75, "y": 3},
{"matrix": [3, 6], "x": 6.75, "y": 3},
{"matrix": [3, 7], "x": 7.75, "y": 3},
{"matrix": [3, 8], "x": 8.75, "y": 3},
{"matrix": [3, 9], "x": 9.75, "y": 3},
{"matrix": [3, 10], "x": 10.75, "y": 3},
{"matrix": [3, 11], "x": 11.75, "y": 3},
{"matrix": [3, 12], "x": 12.75, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3},
{"matrix": [3, 4], "x": 4, "y": 3},
{"matrix": [3, 5], "x": 5, "y": 3},
{"matrix": [3, 6], "x": 6, "y": 3},
{"matrix": [3, 7], "x": 7, "y": 3},
{"matrix": [3, 8], "x": 8, "y": 3},
{"matrix": [3, 9], "x": 9, "y": 3},
{"matrix": [3, 10], "x": 10, "y": 3},
{"matrix": [3, 11], "x": 11, "y": 3},
{"matrix": [3, 12], "x": 12, "y": 3, "w": 1.75},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4},
{"matrix": [4, 2], "x": 2.25, "y": 4},
{"matrix": [4, 3], "x": 3.25, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4},
{"matrix": [4, 5], "x": 5.25, "y": 4},
{"matrix": [4, 6], "x": 6.25, "y": 4},
{"matrix": [4, 7], "x": 7.25, "y": 4},
{"matrix": [4, 8], "x": 8.25, "y": 4},
{"matrix": [4, 9], "x": 9.25, "y": 4},
{"matrix": [4, 10], "x": 10.25, "y": 4},
{"matrix": [4, 11], "x": 11.25, "y": 4},
{"matrix": [4, 12], "x": 12.25, "y": 4},
{"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.25},
{"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.25},
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.5},
{"matrix": [5, 2], "x": 2.75, "y": 5, "w": 1.5},
{"matrix": [5, 3], "x": 4.25, "y": 5, "w": 1.5},
{"matrix": [5, 4], "x": 5.75, "y": 5,"w": 2},
{"matrix": [5, 5], "x": 7.75, "y": 5,"w": 1.5},
{"matrix": [5, 6], "x": 9.25, "y": 5},
{"matrix": [5, 7], "x": 10.25, "y": 5},
{"matrix": [5, 8], "x": 11.25, "y": 5},
{"matrix": [5, 9], "x": 12.25, "y": 5},
{"matrix": [5, 10], "x": 13.25, "y": 5,"w": 1.25}
{"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5},
{"matrix": [5, 2], "x": 3, "y": 5, "w": 1.5},
{"matrix": [5, 3], "x": 4.5, "y": 5, "w": 1.5},
{"matrix": [5, 4], "x": 6, "y": 5,"w": 2},
{"matrix": [5, 5], "x": 7, "y": 5,"w": 1.5},
{"matrix": [5, 6], "x": 8, "y": 5},
{"matrix": [5, 7], "x": 9.5, "y": 5},
{"matrix": [5, 8], "x": 10.5, "y": 5},
{"matrix": [5, 9], "x": 11.5, "y": 5},
{"matrix": [5, 10], "x": 12.5, "y": 5,"w": 1.25}
]
}
}

View File

@@ -140,100 +140,90 @@
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0, "w": 1.5},
{"matrix": [0, 1], "label": "F1", "x": 1.5, "y": 0},
{"matrix": [0, 2], "label": "F2", "x": 2.5, "y": 0},
{"matrix": [0, 3], "label": "F3", "x": 3.5, "y": 0},
{"matrix": [0, 4], "label": "F4", "x": 4.5, "y": 0},
{"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0},
{"matrix": [0, 0], "label":"Esc", "x":0.75, "y":0, "w":1.5},
{"matrix": [0, 1], "label":"F1", "x":2.25, "y":0},
{"matrix": [0, 2], "label":"F2", "x":3.25, "y":0},
{"matrix": [0, 3], "label":"F3", "x":4.25, "y":0},
{"matrix": [0, 4], "label":"F4", "x":5.25, "y":0},
{"matrix": [0, 5], "label":"F5", "x":6.25, "y":0},
{"matrix": [6, 0], "label":"F6", "x":12.5, "y":0},
{"matrix": [6, 1], "label":"F7", "x":13.5, "y":0},
{"matrix": [6, 2], "label":"F8", "x":14.5, "y":0},
{"matrix": [6, 3], "label":"F9", "x":15.5, "y":0},
{"matrix": [6, 4], "label":"F10", "x":16.5, "y":0},
{"matrix": [6, 5], "label":"F11", "x":17.5, "y":0},
{"matrix": [6, 6], "label":"F12", "x":18.5, "y":0},
{"matrix": [1, 0], "label":"~", "x":0.75, "y":1, "w":1.5},
{"matrix": [1, 1], "label":"1", "x":2.25, "y":1},
{"matrix": [1, 2], "label":"2", "x":3.25, "y":1},
{"matrix": [1, 3], "label":"3", "x":4.25, "y":1},
{"matrix": [1, 4], "label":"4", "x":5.25, "y":1},
{"matrix": [1, 5], "label":"5", "x":6.25, "y":1},
{"matrix": [7, 0], "label":"^", "x":12.5, "y":1},
{"matrix": [7, 1], "label":"&", "x":13.5, "y":1},
{"matrix": [7, 2], "label":"*", "x":14.5, "y":1},
{"matrix": [7, 3], "label":"(", "x":15.5, "y":1},
{"matrix": [7, 4], "label":")", "x":16.5, "y":1},
{"matrix": [7, 5], "label":"_", "x":17.5, "y":1},
{"matrix": [7, 6], "label":"+", "x":18.5, "y":1},
{"matrix": [7, 7], "label":"Backspace", "x":19.5, "y":1, "w":1.5},
{"matrix": [2, 0], "label":"Tab", "x":0.75, "y":2, "w":1.5},
{"matrix": [2, 1], "label":"Q", "x":2.25, "y":2},
{"matrix": [2, 2], "label":"W", "x":3.25, "y":2},
{"matrix": [2, 3], "label":"E", "x":4.25, "y":2},
{"matrix": [2, 4], "label":"R", "x":5.25, "y":2},
{"matrix": [2, 5], "label":"T", "x":6.25, "y":2},
{"matrix": [8, 0], "label":"Y", "x":12.5, "y":2},
{"matrix": [8, 1], "label":"U", "x":13.5, "y":2},
{"matrix": [8, 2], "label":"I", "x":14.5, "y":2},
{"matrix": [8, 3], "label":"O", "x":15.5, "y":2},
{"matrix": [8, 4], "label":"P", "x":16.5, "y":2},
{"matrix": [8, 5], "label":"{", "x":17.5, "y":2},
{"matrix": [8, 6], "label":"}", "x":18.5, "y":2},
{"matrix": [8, 7], "label":"|", "x":19.5, "y":2, "w":1.5},
{"matrix": [3, 0], "label":"Caps", "x":0.75, "y":3, "w":1.5},
{"matrix": [3, 1], "label":"A", "x":2.25, "y":3},
{"matrix": [3, 2], "label":"S", "x":3.25, "y":3},
{"matrix": [3, 3], "label":"D", "x":4.25, "y":3},
{"matrix": [3, 4], "label":"F", "x":5.25, "y":3},
{"matrix": [3, 5], "label":"G", "x":6.25, "y":3},
{"matrix": [9, 0], "label":"H", "x":12.5, "y":3},
{"matrix": [9, 1], "label":"J", "x":13.5, "y":3},
{"matrix": [9, 2], "label":"K", "x":14.5, "y":3},
{"matrix": [9, 3], "label":"L", "x":15.5, "y":3},
{"matrix": [9, 4], "label":":", "x":16.5, "y":3},
{"matrix": [9, 5], "label":"\"", "x":17.5, "y":3},
{"matrix": [9, 6], "label":"Enter", "x":18.5, "y":3, "w":2.25},
{"matrix": [4, 0], "label":"Shift", "x":0.75, "y":4, "w":1.5},
{"matrix": [4, 1], "label":"Z", "x":2.25, "y":4},
{"matrix": [4, 2], "label":"X", "x":3.25, "y":4},
{"matrix": [4, 3], "label":"C", "x":4.25, "y":4},
{"matrix": [4, 4], "label":"V", "x":5.25, "y":4},
{"matrix": [4, 5], "label":"B", "x":6.25, "y":4},
{"matrix": [10, 0], "label":"N", "x":12.5, "y":4},
{"matrix": [10, 1], "label":"M", "x":13.5, "y":4},
{"matrix": [10, 2], "label":"<", "x":14.5, "y":4},
{"matrix": [10, 3], "label":">", "x":15.5, "y":4},
{"matrix": [10, 4], "label":"?", "x":16.5, "y":4},
{"matrix": [10, 5], "label":"Shift", "x":17.5, "y":4, "w":1.5},
{"matrix": [10, 6], "label":"\u2191", "x":19, "y":4},
{"matrix": [10, 7], "label":"mx", "x":20, "y":4},
{"matrix": [5, 0], "label":"Ctrl", "x":1, "y":5, "w":1.25},
{"matrix": [5, 1], "label":"Win", "x":2.25, "y":5, "w":1.25},
{"matrix": [5, 2], "label":"Alt", "x":3.5, "y":5, "w":1.25},
{"matrix": [5, 3], "label":"Menu", "x":4.75, "y":5, "w":1.25},
{"matrix": [5, 4], "label":"space", "x":0, "y":4.75, "h":2},
{"matrix": [5, 5], "label":"fn", "x":1, "y":4.75, "h":2},
{"matrix": [11, 0], "label":"space2", "x":-2, "y":4.5, "h":2},
{"matrix": [11, 1], "label":"fn", "x":-1.0, "y":4.5, "h":2},
{"matrix": [11, 2], "label":"Alt", "x":14.25, "y":5, "w":1.25},
{"matrix": [11, 3], "label":"Win", "x":15.5, "y":5, "w":1.25},
{"matrix": [11, 4], "label":"Ctrl", "x":16.75, "y":5, "w":1.25},
{"matrix": [11, 5], "label":"\u2190", "x":18, "y":5},
{"matrix": [11, 6], "label":"\u2193", "x":19, "y":5},
{"matrix": [11, 7], "label":"\u2192", "x":20, "y":5}
{"matrix": [6, 0], "label": "F6", "x": 11.75, "y": 0},
{"matrix": [6, 1], "label": "F7", "x": 12.75, "y": 0},
{"matrix": [6, 2], "label": "F8", "x": 13.75, "y": 0},
{"matrix": [6, 3], "label": "F9", "x": 14.75, "y": 0},
{"matrix": [6, 4], "label": "F10", "x": 15.75, "y": 0},
{"matrix": [6, 5], "label": "F11", "x": 16.75, "y": 0},
{"matrix": [6, 6], "label": "F12", "x": 17.75, "y": 0},
{"matrix": [1, 0], "label": "~", "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "label": "1", "x": 1.5, "y": 1},
{"matrix": [1, 2], "label": "2", "x": 2.5, "y": 1},
{"matrix": [1, 3], "label": "3", "x": 3.5, "y": 1},
{"matrix": [1, 4], "label": "4", "x": 4.5, "y": 1},
{"matrix": [1, 5], "label": "5", "x": 5.5, "y": 1},
{"matrix": [7, 0], "label": "^", "x": 11.75, "y": 1},
{"matrix": [7, 1], "label": "&", "x": 12.75, "y": 1},
{"matrix": [7, 2], "label": "*", "x": 13.75, "y": 1},
{"matrix": [7, 3], "label": "(", "x": 14.75, "y": 1},
{"matrix": [7, 4], "label": ")", "x": 15.75, "y": 1},
{"matrix": [7, 5], "label": "_", "x": 16.75, "y": 1},
{"matrix": [7, 6], "label": "+", "x": 17.75, "y": 1},
{"matrix": [7, 7], "label": "Backspace", "x": 18.75, "y": 1, "w": 1.5},
{"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2},
{"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2},
{"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2},
{"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2},
{"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2},
{"matrix": [8, 0], "label": "Y", "x": 11.75, "y": 2},
{"matrix": [8, 1], "label": "U", "x": 12.75, "y": 2},
{"matrix": [8, 2], "label": "I", "x": 13.75, "y": 2},
{"matrix": [8, 3], "label": "O", "x": 14.75, "y": 2},
{"matrix": [8, 4], "label": "P", "x": 15.75, "y": 2},
{"matrix": [8, 5], "label": "{", "x": 16.75, "y": 2},
{"matrix": [8, 6], "label": "}", "x": 17.75, "y": 2},
{"matrix": [8, 7], "label": "|", "x": 18.75, "y": 2, "w": 1.5},
{"matrix": [3, 0], "label": "Caps", "x": 0, "y": 3, "w": 1.5},
{"matrix": [3, 1], "label": "A", "x": 1.5, "y": 3},
{"matrix": [3, 2], "label": "S", "x": 2.5, "y": 3},
{"matrix": [3, 3], "label": "D", "x": 3.5, "y": 3},
{"matrix": [3, 4], "label": "F", "x": 4.5, "y": 3},
{"matrix": [3, 5], "label": "G", "x": 5.5, "y": 3},
{"matrix": [9, 0], "label": "H", "x": 11.75, "y": 3},
{"matrix": [9, 1], "label": "J", "x": 12.75, "y": 3},
{"matrix": [9, 2], "label": "K", "x": 13.75, "y": 3},
{"matrix": [9, 3], "label": "L", "x": 14.75, "y": 3},
{"matrix": [9, 4], "label": ":", "x": 15.75, "y": 3},
{"matrix": [9, 5], "label": "\"", "x": 16.75, "y": 3},
{"matrix": [9, 6], "label": "Enter", "x": 17.75, "y": 3, "w": 2.25},
{"matrix": [4, 0], "label": "Shift", "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 1], "label": "Z", "x": 1.5, "y": 4},
{"matrix": [4, 2], "label": "X", "x": 2.5, "y": 4},
{"matrix": [4, 3], "label": "C", "x": 3.5, "y": 4},
{"matrix": [4, 4], "label": "V", "x": 4.5, "y": 4},
{"matrix": [4, 5], "label": "B", "x": 5.5, "y": 4},
{"matrix": [10, 0], "label": "N", "x": 11.75, "y": 4},
{"matrix": [10, 1], "label": "M", "x": 12.75, "y": 4},
{"matrix": [10, 2], "label": "<", "x": 13.75, "y": 4},
{"matrix": [10, 3], "label": ">", "x": 14.75, "y": 4},
{"matrix": [10, 4], "label": "?", "x": 15.75, "y": 4},
{"matrix": [10, 5], "label": "Shift", "x": 16.75, "y": 4, "w": 1.5},
{"matrix": [10, 6], "label": "\u2191", "x": 18.25, "y": 4},
{"matrix": [10, 7], "label": "mx", "x": 19.25, "y": 4},
{"matrix": [5, 0], "label": "Ctrl", "x": 0.25, "y": 5, "w": 1.25},
{"matrix": [5, 1], "label": "Win", "x": 1.5, "y": 5, "w": 1.25},
{"matrix": [5, 2], "label": "Alt", "x": 2.75, "y": 5, "w": 1.25},
{"matrix": [5, 3], "label": "Menu", "x": 4, "y": 5, "w": 1.25},
{"matrix": [5, 4], "label": "space", "x": 5.5, "y": 5.25, "h": 2},
{"matrix": [5, 5], "label": "fn", "x": 6.5, "y": 5.25, "h": 2},
{"matrix": [11, 0], "label": "space2", "x": 11.25, "y": 5.25, "h": 2},
{"matrix": [11, 1], "label": "fn", "x": 12.25, "y": 5.25, "h": 2},
{"matrix": [11, 2], "label": "Alt", "x": 13.5, "y": 5, "w": 1.25},
{"matrix": [11, 3], "label": "Win", "x": 14.75, "y": 5, "w": 1.25},
{"matrix": [11, 4], "label": "Ctrl", "x": 16, "y": 5, "w": 1.25},
{"matrix": [11, 5], "label": "\u2190", "x": 17.25, "y": 5},
{"matrix": [11, 6], "label": "\u2193", "x": 18.25, "y": 5},
{"matrix": [11, 7], "label": "\u2192", "x": 19.25, "y": 5}
]
}
}
}
}

View File

@@ -1,105 +0,0 @@
{
"manufacturer": "Strayfade",
"keyboard_name": "sf2040",
"maintainer": "Strayfade",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true,
},
"matrix_pins": {
"cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18", "GP19", "GP20"],
"rows": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5"]
},
"processor": "RP2040",
"url": "https://strayfade.com/sf2040",
"usb": {
"device_version": "1.0.1",
"pid": "0x0001",
"vid": "0x5346"
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [0, 14], "x": 14, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [1, 6], "x": 6, "y": 1},
{"matrix": [1, 7], "x": 7, "y": 1},
{"matrix": [1, 8], "x": 8, "y": 1},
{"matrix": [1, 9], "x": 9, "y": 1},
{"matrix": [1, 10], "x": 10, "y": 1},
{"matrix": [1, 11], "x": 11, "y": 1},
{"matrix": [1, 12], "x": 12, "y": 1},
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [2, 10], "x": 10.5, "y": 2},
{"matrix": [2, 11], "x": 11.5, "y": 2},
{"matrix": [2, 12], "x": 12.5, "y": 2},
{"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3},
{"matrix": [3, 2], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [3, 4], "x": 4.75, "y": 3},
{"matrix": [3, 5], "x": 5.75, "y": 3},
{"matrix": [3, 6], "x": 6.75, "y": 3},
{"matrix": [3, 7], "x": 7.75, "y": 3},
{"matrix": [3, 8], "x": 8.75, "y": 3},
{"matrix": [3, 9], "x": 9.75, "y": 3},
{"matrix": [3, 10], "x": 10.75, "y": 3},
{"matrix": [3, 11], "x": 11.75, "y": 3},
{"matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
{"matrix": [4, 1], "x": 2.25, "y": 4},
{"matrix": [4, 2], "x": 3.25, "y": 4},
{"matrix": [4, 3], "x": 4.25, "y": 4},
{"matrix": [4, 4], "x": 5.25, "y": 4},
{"matrix": [4, 5], "x": 6.25, "y": 4},
{"matrix": [4, 6], "x": 7.25, "y": 4},
{"matrix": [4, 7], "x": 8.25, "y": 4},
{"matrix": [4, 8], "x": 9.25, "y": 4},
{"matrix": [4, 9], "x": 10.25, "y": 4},
{"matrix": [4, 10], "x": 11.25, "y": 4},
{"matrix": [4, 11], "x": 12.25, "y": 4, "w": 2.75},
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5},
{"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.25},
{"matrix": [5, 2], "x": 2.75, "y": 5, "w": 1.25},
{"matrix": [5, 3], "x": 4, "y": 5, "w": 6.25},
{"matrix": [5, 4], "x": 10.25, "y": 5, "w": 1.25},
{"matrix": [5, 5], "x": 11.5, "y": 5},
{"matrix": [5, 6], "x": 12.5, "y": 5},
{"matrix": [5, 7], "x": 13.5, "y": 5, "w": 1.5}
]
}
}
}

View File

@@ -1,25 +0,0 @@
// Copyright 2024 Strayfade
// SPDX-License-Identifier: GPL-3.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESCAPE, 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_AUDIO_VOL_UP, KC_AUDIO_VOL_DOWN,
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_BACKSLASH,
KC_CAPS_LOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SEMICOLON, KC_QUOTE, KC_ENTER,
KC_LEFT_SHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RIGHT_SHIFT,
KC_LEFT_CTRL, KC_LEFT_GUI, KC_LEFT_ALT, KC_SPACE, MO(1), KC_HOME, KC_END, KC_RIGHT_CTRL
),
[1] = LAYOUT(
KC_TILDE, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DELETE,
_______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_ENTER,
KC_LEFT_SHIFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RIGHT_SHIFT,
KC_LEFT_CTRL, KC_LEFT_GUI, KC_LEFT_ALT, KC_SPACE, _______, KC_HOME, KC_END, KC_RIGHT_CTRL
)
};

View File

@@ -1,25 +0,0 @@
// Copyright 2024 Strayfade
// SPDX-License-Identifier: GPL-3.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESCAPE, 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_AUDIO_VOL_UP, KC_AUDIO_VOL_DOWN,
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_BACKSLASH,
KC_CAPS_LOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SEMICOLON, KC_QUOTE, KC_ENTER,
KC_LEFT_SHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RIGHT_SHIFT,
KC_LEFT_CTRL, KC_LEFT_GUI, KC_LEFT_ALT, KC_SPACE, MO(1), KC_HOME, KC_END, KC_RIGHT_CTRL
),
[1] = LAYOUT(
KC_TILDE, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DELETE,
_______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_ENTER,
KC_LEFT_SHIFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RIGHT_SHIFT,
KC_LEFT_CTRL, KC_LEFT_GUI, KC_LEFT_ALT, KC_SPACE, _______, KC_HOME, KC_END, KC_RIGHT_CTRL
)
};

View File

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

View File

@@ -1,22 +0,0 @@
# sf2040
![sf2040 Image](https://i.imgur.com/DZ9N17ph.png)
The sf2040 is a mechanical 76-key keyboard based on the [RP2040](https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf) microcontroller from Raspberry Pi.
* Keyboard Maintainer: [strayfade](https://github.com/strayfade)
* Hardware Availability: https://github.com/strayfade/sf2040
Make example for this keyboard (after setting up your build environment):
make sf2040:default
Flashing example for this keyboard:
make sf2040:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
**Bootmagic reset**: To enter the bootloader, hold down the key at (0,0) in the matrix (the top left key or Escape) and plug in the keyboard.

View File

@@ -1 +0,0 @@
# This file intentionally left blank

View File

@@ -111,7 +111,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -218,7 +218,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -325,7 +325,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -431,7 +431,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -537,7 +537,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -641,7 +641,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},

View File

@@ -229,7 +229,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -336,7 +336,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -443,7 +443,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -549,7 +549,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -655,7 +655,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
@@ -759,7 +759,7 @@
{"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
{"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
{"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
{"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
{"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
{"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},

View File

@@ -1,90 +0,0 @@
{
"manufacturer": "takashicompany",
"keyboard_name": "Ejectix",
"maintainer": "takashicompany",
"development_board": "promicro",
"diode_direction": "COL2ROW",
"dynamic_keymap": {
"layer_count": 11
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true
},
"matrix_pins": {
"cols": ["D4", "C6", "D7", "E6", "B4", "B5"],
"rows": ["F4", "F5", "F6", "F7", "B1", "B3"]
},
"rgblight": {
"animations": {
"alternating": true,
"breathing": true,
"christmas": true,
"knight": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"rgb_test": true,
"snake": true,
"static_gradient": true,
"twinkle": true
},
"led_count": 11,
"sleep": true
},
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0049",
"vid": "0x7463"
},
"ws2812": {
"pin": "D3"
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 3], "x": 1, "y": 0},
{"matrix": [1, 0], "x": 2, "y": 0},
{"matrix": [1, 3], "x": 3, "y": 0},
{"matrix": [2, 0], "x": 4, "y": 0},
{"matrix": [2, 3], "x": 5, "y": 0},
{"matrix": [3, 0], "x": 6, "y": 0},
{"matrix": [3, 3], "x": 7, "y": 0},
{"matrix": [4, 0], "x": 8, "y": 0},
{"matrix": [4, 3], "x": 9, "y": 0},
{"matrix": [4, 5], "x": 10, "y": 0},
{"matrix": [0, 1], "x": 0.5, "y": 1},
{"matrix": [0, 4], "x": 1.5, "y": 1},
{"matrix": [1, 1], "x": 2.5, "y": 1},
{"matrix": [1, 4], "x": 3.5, "y": 1},
{"matrix": [2, 1], "x": 4.5, "y": 1},
{"matrix": [2, 4], "x": 5.5, "y": 1},
{"matrix": [3, 1], "x": 6.5, "y": 1},
{"matrix": [3, 4], "x": 7.5, "y": 1},
{"matrix": [4, 1], "x": 8.5, "y": 1},
{"matrix": [4, 4], "x": 9.5, "y": 1},
{"matrix": [0, 2], "x": 1, "y": 2},
{"matrix": [0, 5], "x": 2, "y": 2},
{"matrix": [1, 2], "x": 3, "y": 2},
{"matrix": [1, 5], "x": 4, "y": 2},
{"matrix": [2, 2], "x": 5, "y": 2},
{"matrix": [2, 5], "x": 6, "y": 2},
{"matrix": [3, 2], "x": 7, "y": 2},
{"matrix": [3, 5], "x": 8, "y": 2},
{"matrix": [4, 2], "x": 9, "y": 2},
{"matrix": [5, 0], "x": 1.75, "y": 3},
{"matrix": [5, 1], "x": 3, "y": 3},
{"matrix": [5, 2], "x": 4.25, "y": 3},
{"matrix": [5, 3], "x": 5.5, "y": 3},
{"matrix": [5, 4], "x": 6.75, "y": 3},
{"matrix": [5, 5], "x": 8, "y": 3}
]
}
}
}

View File

@@ -1,69 +0,0 @@
// Copyright 2024 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT),
KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_BSPC
),
[1] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3,
LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT(
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), KC_TRNS,
KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT(
LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS,
KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT),
KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(4, KC_SPC), LT(4, KC_LNG1), KC_BSPC
),
[4] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3,
LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[5] = LAYOUT(
KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS,
KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[6] = LAYOUT(
KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS,
KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[7] = LAYOUT(
KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS,
KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[8] = LAYOUT(
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3), KC_TRNS,
RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};

View File

@@ -1,69 +0,0 @@
// Copyright 2024 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT),
KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_BSPC
),
[1] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3,
LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT(
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), KC_TRNS,
KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3),
KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT(
LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS,
KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT,
LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT),
KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(4, KC_SPC), LT(4, KC_LNG1), KC_BSPC
),
[4] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3,
LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[5] = LAYOUT(
KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS,
KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE,
KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[6] = LAYOUT(
KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS,
KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[7] = LAYOUT(
KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS,
KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[8] = LAYOUT(
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3), KC_TRNS,
RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};

View File

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

View File

@@ -1,33 +0,0 @@
# Ejectix
![takashicompany/ejectix](https://i.imgur.com/gGk5UVdh.jpg)
Ejectix is a 36-key, low-staggered keyboard.
Its layout is similar to that of a conventional keyboard, making it suitable for an introductory keyboard of 30% size.
Its relatively simple structure makes it easy to assemble, and it is recommended for those who are just starting to build their own keyboards.
Since the firmware is VIA-compatible, it is possible to write the firmware and change the keymap from a web browser by using Remap.
The MX socket is also supported, making it easy to replace the keyswitch for long-lasting use.
Underglow LEDs can also be used to decorate your desk.
* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany)
* Hardware Supported: Ejectix PCB, Pro Micro
* Hardware Availability: https://github.com/takashicompany/ejectix
Make example for this keyboard (after setting up your build environment):
make takashicompany/ejectix:default
Flashing example for this keyboard:
make takashicompany/ejectix: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

View File

@@ -1 +0,0 @@
# This file intentionally left blank

View File

@@ -18,7 +18,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_split_normal_split(
KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
KC_DEL, KC_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_TILD,
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_BSPC,
KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),

View File

@@ -18,7 +18,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_split_normal_split(
KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
KC_DEL, KC_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_TILD,
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_BSPC,
KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),

View File

@@ -151,16 +151,16 @@ bool ec_matrix_scan(matrix_row_t current_matrix[]) {
switch(row) {
case 0:
switch(col) {
case 14: // lower threshold for split backspace: left 1U
case 15: // lower threshold for 2U backspace: 2U
reset_pt = 48;
actuation_pt = 53;
case 14: // lower threshold for split backspace: left 1U( rest, btm)
case 15: // lower threshold for 2U backspace: 2U(38 rest, 60 btm)
reset_pt = 44;
actuation_pt = 48;
break;
}
break;
case 3:
switch(col) {
case 14: // Lower threshold for right shift: 1.75U
case 14: // Lower threshold for right shift: 1.75U(40 rest, 70 btm)
reset_pt = 48;
actuation_pt = 53;
break;
@@ -168,17 +168,17 @@ bool ec_matrix_scan(matrix_row_t current_matrix[]) {
break;
case 4:
switch(col) {
case 3: // Lower threshold for left space: col3
case 4: // Lower threshold for left space: col4
case 3: // Lower threshold for left space: col3( rest, btm)
case 4: // Lower threshold for left space: col4(38 rest, 88 btm)
reset_pt = 50;
actuation_pt = 60;
break;
case 5: // Lower threshold for left space: col5
case 6: // Lower threshold for left space: col6
case 5: // Lower threshold for left space: col5( rest, btm)
case 6: // Lower threshold for left space: col6(40 rest, 80 btm)
reset_pt = 48;
actuation_pt = 58;
break;
case 14: // Lower threshold for right shift: 2.75U
case 14: // Lower threshold for right shift: 2.75U( rest, btm)
reset_pt = 48;
actuation_pt = 53;
break;

View File

@@ -18,7 +18,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_split_back_175u_shift(
KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
KC_DEL, KC_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_TILDE,
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_BSPC,
KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),

View File

@@ -18,7 +18,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_split_back_175u_shift(
KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
KC_DEL, KC_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_TILDE,
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_BSPC,
KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),

View File

@@ -1,373 +1,373 @@
{
"keyboard_name": "XD96",
"manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7844",
"pid": "0x9696",
"device_version": "0.0.1"
},
"backlight": {
"pin": "B5",
"levels": 10
},
"rgblight": {
"led_count": 16,
"max_brightness": 50,
"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
}
},
"indicators": {
"caps_lock": "B6",
"num_lock": "C6",
"on_state": 0
},
"ws2812": {
"pin": "C7"
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layouts": {
"LAYOUT_96_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [5, 6], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15, "y": 0},
{"matrix": [0, 15], "x": 16, "y": 0},
{"matrix": [0, 16], "x": 17, "y": 0},
{"matrix": [0, 17], "x": 18, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [1, 6], "x": 6, "y": 1},
{"matrix": [1, 7], "x": 7, "y": 1},
{"matrix": [1, 8], "x": 8, "y": 1},
{"matrix": [1, 9], "x": 9, "y": 1},
{"matrix": [1, 10], "x": 10, "y": 1},
{"matrix": [1, 11], "x": 11, "y": 1},
{"matrix": [1, 12], "x": 12, "y": 1},
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
{"matrix": [1, 14], "x": 15, "y": 1},
{"matrix": [1, 15], "x": 16, "y": 1},
{"matrix": [1, 16], "x": 17, "y": 1},
{"matrix": [1, 17], "x": 18, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [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": [2, 14], "x": 15, "y": 2},
{"matrix": [2, 15], "x": 16, "y": 2},
{"matrix": [2, 16], "x": 17, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3},
{"matrix": [3, 2], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [3, 4], "x": 4.75, "y": 3},
{"matrix": [3, 5], "x": 5.75, "y": 3},
{"matrix": [3, 6], "x": 6.75, "y": 3},
{"matrix": [3, 7], "x": 7.75, "y": 3},
{"matrix": [3, 8], "x": 8.75, "y": 3},
{"matrix": [3, 9], "x": 9.75, "y": 3},
{"matrix": [3, 10], "x": 10.75, "y": 3},
{"matrix": [3, 11], "x": 11.75, "y": 3},
{"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
{"matrix": [3, 14], "x": 15, "y": 3},
{"matrix": [3, 15], "x": 16, "y": 3},
{"matrix": [3, 16], "x": 17, "y": 3},
{"matrix": [2, 17], "x": 18, "y": 2, "h": 2},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4},
{"matrix": [4, 3], "x": 3.25, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4},
{"matrix": [4, 5], "x": 5.25, "y": 4},
{"matrix": [4, 6], "x": 6.25, "y": 4},
{"matrix": [4, 7], "x": 7.25, "y": 4},
{"matrix": [4, 8], "x": 8.25, "y": 4},
{"matrix": [4, 9], "x": 9.25, "y": 4},
{"matrix": [4, 10], "x": 10.25, "y": 4},
{"matrix": [4, 11], "x": 11.25, "y": 4},
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [4, 13], "x": 14, "y": 4},
{"matrix": [4, 14], "x": 15, "y": 4},
{"matrix": [4, 15], "x": 16, "y": 4},
{"matrix": [4, 16], "x": 17, "y": 4},
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
{"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5},
{"matrix": [5, 12], "x": 13, "y": 5},
{"matrix": [5, 13], "x": 14, "y": 5},
{"matrix": [5, 14], "x": 15, "y": 5},
{"matrix": [5, 15], "x": 16, "y": 5},
{"matrix": [5, 16], "x": 17, "y": 5},
{"matrix": [4, 17], "x": 18, "y": 4, "h": 2}
]
},
"LAYOUT_96_iso": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [5, 6], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15, "y": 0},
{"matrix": [0, 15], "x": 16, "y": 0},
{"matrix": [0, 16], "x": 17, "y": 0},
{"matrix": [0, 17], "x": 18, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [1, 6], "x": 6, "y": 1},
{"matrix": [1, 7], "x": 7, "y": 1},
{"matrix": [1, 8], "x": 8, "y": 1},
{"matrix": [1, 9], "x": 9, "y": 1},
{"matrix": [1, 10], "x": 10, "y": 1},
{"matrix": [1, 11], "x": 11, "y": 1},
{"matrix": [1, 12], "x": 12, "y": 1},
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
{"matrix": [1, 14], "x": 15, "y": 1},
{"matrix": [1, 15], "x": 16, "y": 1},
{"matrix": [1, 16], "x": 17, "y": 1},
{"matrix": [1, 17], "x": 18, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [2, 10], "x": 10.5, "y": 2},
{"matrix": [2, 11], "x": 11.5, "y": 2},
{"matrix": [2, 12], "x": 12.5, "y": 2},
{"matrix": [2, 14], "x": 15, "y": 2},
{"matrix": [2, 15], "x": 16, "y": 2},
{"matrix": [2, 16], "x": 17, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3},
{"matrix": [3, 2], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [3, 4], "x": 4.75, "y": 3},
{"matrix": [3, 5], "x": 5.75, "y": 3},
{"matrix": [3, 6], "x": 6.75, "y": 3},
{"matrix": [3, 7], "x": 7.75, "y": 3},
{"matrix": [3, 8], "x": 8.75, "y": 3},
{"matrix": [3, 9], "x": 9.75, "y": 3},
{"matrix": [3, 10], "x": 10.75, "y": 3},
{"matrix": [3, 11], "x": 11.75, "y": 3},
{"matrix": [3, 12], "x": 12.75, "y": 3},
{"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
{"matrix": [3, 14], "x": 15, "y": 3},
{"matrix": [3, 15], "x": 16, "y": 3},
{"matrix": [3, 16], "x": 17, "y": 3},
{"matrix": [2, 17], "x": 18, "y": 2, "h": 2},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4},
{"matrix": [4, 2], "x": 2.25, "y": 4},
{"matrix": [4, 3], "x": 3.25, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4},
{"matrix": [4, 5], "x": 5.25, "y": 4},
{"matrix": [4, 6], "x": 6.25, "y": 4},
{"matrix": [4, 7], "x": 7.25, "y": 4},
{"matrix": [4, 8], "x": 8.25, "y": 4},
{"matrix": [4, 9], "x": 9.25, "y": 4},
{"matrix": [4, 10], "x": 10.25, "y": 4},
{"matrix": [4, 11], "x": 11.25, "y": 4},
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [4, 13], "x": 14, "y": 4},
{"matrix": [4, 14], "x": 15, "y": 4},
{"matrix": [4, 15], "x": 16, "y": 4},
{"matrix": [4, 16], "x": 17, "y": 4},
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
{"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5},
{"matrix": [5, 12], "x": 13, "y": 5},
{"matrix": [5, 13], "x": 14, "y": 5},
{"matrix": [5, 14], "x": 15, "y": 5},
{"matrix": [5, 15], "x": 16, "y": 5},
{"matrix": [5, 16], "x": 17, "y": 5},
{"matrix": [4, 17], "x": 18, "y": 4, "h": 2}
]
},
"LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [5, 6], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15, "y": 0},
{"matrix": [0, 15], "x": 16, "y": 0},
{"matrix": [0, 16], "x": 17, "y": 0},
{"matrix": [0, 17], "x": 18, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [1, 6], "x": 6, "y": 1},
{"matrix": [1, 7], "x": 7, "y": 1},
{"matrix": [1, 8], "x": 8, "y": 1},
{"matrix": [1, 9], "x": 9, "y": 1},
{"matrix": [1, 10], "x": 10, "y": 1},
{"matrix": [1, 11], "x": 11, "y": 1},
{"matrix": [1, 12], "x": 12, "y": 1},
{"matrix": [1, 13], "x": 13, "y": 1},
{"matrix": [5, 9], "x": 14, "y": 1},
{"matrix": [1, 14], "x": 15, "y": 1},
{"matrix": [1, 15], "x": 16, "y": 1},
{"matrix": [1, 16], "x": 17, "y": 1},
{"matrix": [1, 17], "x": 18, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [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": [2, 14], "x": 15, "y": 2},
{"matrix": [2, 15], "x": 16, "y": 2},
{"matrix": [2, 16], "x": 17, "y": 2},
{"matrix": [2, 17], "x": 18, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3},
{"matrix": [3, 2], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [3, 4], "x": 4.75, "y": 3},
{"matrix": [3, 5], "x": 5.75, "y": 3},
{"matrix": [3, 6], "x": 6.75, "y": 3},
{"matrix": [3, 7], "x": 7.75, "y": 3},
{"matrix": [3, 8], "x": 8.75, "y": 3},
{"matrix": [3, 9], "x": 9.75, "y": 3},
{"matrix": [3, 10], "x": 10.75, "y": 3},
{"matrix": [3, 11], "x": 11.75, "y": 3},
{"matrix": [3, 12], "x": 12.75, "y": 3},
{"matrix": [3, 13], "x": 13.75, "y": 3, "w": 1.25},
{"matrix": [3, 14], "x": 15, "y": 3},
{"matrix": [3, 15], "x": 16, "y": 3},
{"matrix": [3, 16], "x": 17, "y": 3},
{"matrix": [3, 17], "x": 18, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4},
{"matrix": [4, 2], "x": 2.25, "y": 4},
{"matrix": [4, 3], "x": 3.25, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4},
{"matrix": [4, 5], "x": 5.25, "y": 4},
{"matrix": [4, 6], "x": 6.25, "y": 4},
{"matrix": [4, 7], "x": 7.25, "y": 4},
{"matrix": [4, 8], "x": 8.25, "y": 4},
{"matrix": [4, 9], "x": 9.25, "y": 4},
{"matrix": [4, 10], "x": 10.25, "y": 4},
{"matrix": [4, 11], "x": 11.25, "y": 4},
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [4, 13], "x": 14, "y": 4},
{"matrix": [4, 14], "x": 15, "y": 4},
{"matrix": [4, 15], "x": 16, "y": 4},
{"matrix": [4, 16], "x": 17, "y": 4},
{"matrix": [4, 17], "x": 18, "y": 4},
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
{"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5},
{"matrix": [5, 12], "x": 13, "y": 5},
{"matrix": [5, 13], "x": 14, "y": 5},
{"matrix": [5, 14], "x": 15, "y": 5},
{"matrix": [5, 15], "x": 16, "y": 5},
{"matrix": [5, 16], "x": 17, "y": 5},
{"matrix": [5, 17], "x": 18, "y": 5}
]
}
"keyboard_name": "XD96",
"manufacturer": "KPrepublic",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7844",
"pid": "0x9696",
"device_version": "0.0.1"
},
"backlight": {
"pin": "B5",
"levels": 10
},
"rgblight": {
"led_count": 16,
"max_brightness": 50,
"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
}
},
"indicators": {
"caps_lock": "B6",
"num_lock": "C6",
"on_state": 0
},
"ws2812": {
"pin": "C7"
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layouts": {
"LAYOUT_96_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [5, 6], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15, "y": 0},
{"matrix": [0, 15], "x": 16, "y": 0},
{"matrix": [0, 16], "x": 17, "y": 0},
{"matrix": [0, 17], "x": 18, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [1, 6], "x": 6, "y": 1},
{"matrix": [1, 7], "x": 7, "y": 1},
{"matrix": [1, 8], "x": 8, "y": 1},
{"matrix": [1, 9], "x": 9, "y": 1},
{"matrix": [1, 10], "x": 10, "y": 1},
{"matrix": [1, 11], "x": 11, "y": 1},
{"matrix": [1, 12], "x": 12, "y": 1},
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
{"matrix": [1, 14], "x": 15, "y": 1},
{"matrix": [1, 15], "x": 16, "y": 1},
{"matrix": [1, 16], "x": 17, "y": 1},
{"matrix": [1, 17], "x": 18, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [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": [2, 14], "x": 15, "y": 2},
{"matrix": [2, 15], "x": 16, "y": 2},
{"matrix": [2, 16], "x": 17, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3},
{"matrix": [3, 2], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [3, 4], "x": 4.75, "y": 3},
{"matrix": [3, 5], "x": 5.75, "y": 3},
{"matrix": [3, 6], "x": 6.75, "y": 3},
{"matrix": [3, 7], "x": 7.75, "y": 3},
{"matrix": [3, 8], "x": 8.75, "y": 3},
{"matrix": [3, 9], "x": 9.75, "y": 3},
{"matrix": [3, 10], "x": 10.75, "y": 3},
{"matrix": [3, 11], "x": 11.75, "y": 3},
{"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
{"matrix": [3, 14], "x": 15, "y": 3},
{"matrix": [3, 15], "x": 16, "y": 3},
{"matrix": [3, 16], "x": 17, "y": 3},
{"matrix": [2, 17], "x": 18, "y": 2, "h": 2},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4},
{"matrix": [4, 3], "x": 3.25, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4},
{"matrix": [4, 5], "x": 5.25, "y": 4},
{"matrix": [4, 6], "x": 6.25, "y": 4},
{"matrix": [4, 7], "x": 7.25, "y": 4},
{"matrix": [4, 8], "x": 8.25, "y": 4},
{"matrix": [4, 9], "x": 9.25, "y": 4},
{"matrix": [4, 10], "x": 10.25, "y": 4},
{"matrix": [4, 11], "x": 11.25, "y": 4},
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [4, 13], "x": 14, "y": 4},
{"matrix": [4, 14], "x": 15, "y": 4},
{"matrix": [4, 15], "x": 16, "y": 4},
{"matrix": [4, 16], "x": 17, "y": 4},
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
{"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5},
{"matrix": [5, 12], "x": 13, "y": 5},
{"matrix": [5, 13], "x": 14, "y": 5},
{"matrix": [5, 14], "x": 15, "y": 5},
{"matrix": [5, 15], "x": 16, "y": 5},
{"matrix": [5, 16], "x": 17, "y": 5},
{"matrix": [4, 17], "x": 18, "y": 4, "h": 2}
]
},
"LAYOUT_96_iso": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [5, 6], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15, "y": 0},
{"matrix": [0, 15], "x": 16, "y": 0},
{"matrix": [0, 16], "x": 17, "y": 0},
{"matrix": [0, 17], "x": 18, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [1, 6], "x": 6, "y": 1},
{"matrix": [1, 7], "x": 7, "y": 1},
{"matrix": [1, 8], "x": 8, "y": 1},
{"matrix": [1, 9], "x": 9, "y": 1},
{"matrix": [1, 10], "x": 10, "y": 1},
{"matrix": [1, 11], "x": 11, "y": 1},
{"matrix": [1, 12], "x": 12, "y": 1},
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
{"matrix": [1, 14], "x": 15, "y": 1},
{"matrix": [1, 15], "x": 16, "y": 1},
{"matrix": [1, 16], "x": 17, "y": 1},
{"matrix": [1, 17], "x": 18, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [2, 10], "x": 10.5, "y": 2},
{"matrix": [2, 11], "x": 11.5, "y": 2},
{"matrix": [2, 12], "x": 12.5, "y": 2},
{"matrix": [2, 14], "x": 15, "y": 2},
{"matrix": [2, 15], "x": 16, "y": 2},
{"matrix": [2, 16], "x": 17, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3},
{"matrix": [3, 2], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [3, 4], "x": 4.75, "y": 3},
{"matrix": [3, 5], "x": 5.75, "y": 3},
{"matrix": [3, 6], "x": 6.75, "y": 3},
{"matrix": [3, 7], "x": 7.75, "y": 3},
{"matrix": [3, 8], "x": 8.75, "y": 3},
{"matrix": [3, 9], "x": 9.75, "y": 3},
{"matrix": [3, 10], "x": 10.75, "y": 3},
{"matrix": [3, 11], "x": 11.75, "y": 3},
{"matrix": [3, 13], "x": 12.75, "y": 3},
{"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
{"matrix": [3, 14], "x": 15, "y": 3},
{"matrix": [3, 15], "x": 16, "y": 3},
{"matrix": [3, 16], "x": 17, "y": 3},
{"matrix": [2, 17], "x": 18, "y": 2, "h": 2},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4},
{"matrix": [4, 2], "x": 2.25, "y": 4},
{"matrix": [4, 3], "x": 3.25, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4},
{"matrix": [4, 5], "x": 5.25, "y": 4},
{"matrix": [4, 6], "x": 6.25, "y": 4},
{"matrix": [4, 7], "x": 7.25, "y": 4},
{"matrix": [4, 8], "x": 8.25, "y": 4},
{"matrix": [4, 9], "x": 9.25, "y": 4},
{"matrix": [4, 10], "x": 10.25, "y": 4},
{"matrix": [4, 11], "x": 11.25, "y": 4},
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [4, 13], "x": 14, "y": 4},
{"matrix": [4, 14], "x": 15, "y": 4},
{"matrix": [4, 15], "x": 16, "y": 4},
{"matrix": [4, 16], "x": 17, "y": 4},
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
{"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5},
{"matrix": [5, 12], "x": 13, "y": 5},
{"matrix": [5, 13], "x": 14, "y": 5},
{"matrix": [5, 14], "x": 15, "y": 5},
{"matrix": [5, 15], "x": 16, "y": 5},
{"matrix": [5, 16], "x": 17, "y": 5},
{"matrix": [4, 17], "x": 18, "y": 4, "h": 2}
]
},
"LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [5, 6], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15, "y": 0},
{"matrix": [0, 15], "x": 16, "y": 0},
{"matrix": [0, 16], "x": 17, "y": 0},
{"matrix": [0, 17], "x": 18, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [1, 6], "x": 6, "y": 1},
{"matrix": [1, 7], "x": 7, "y": 1},
{"matrix": [1, 8], "x": 8, "y": 1},
{"matrix": [1, 9], "x": 9, "y": 1},
{"matrix": [1, 10], "x": 10, "y": 1},
{"matrix": [1, 11], "x": 11, "y": 1},
{"matrix": [1, 12], "x": 12, "y": 1},
{"matrix": [1, 13], "x": 13, "y": 1},
{"matrix": [5, 3], "x": 14, "y": 1},
{"matrix": [1, 14], "x": 15, "y": 1},
{"matrix": [1, 15], "x": 16, "y": 1},
{"matrix": [1, 16], "x": 17, "y": 1},
{"matrix": [1, 17], "x": 18, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [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": [2, 14], "x": 15, "y": 2},
{"matrix": [2, 15], "x": 16, "y": 2},
{"matrix": [2, 16], "x": 17, "y": 2},
{"matrix": [2, 17], "x": 18, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3},
{"matrix": [3, 2], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [3, 4], "x": 4.75, "y": 3},
{"matrix": [3, 5], "x": 5.75, "y": 3},
{"matrix": [3, 6], "x": 6.75, "y": 3},
{"matrix": [3, 7], "x": 7.75, "y": 3},
{"matrix": [3, 8], "x": 8.75, "y": 3},
{"matrix": [3, 9], "x": 9.75, "y": 3},
{"matrix": [3, 10], "x": 10.75, "y": 3},
{"matrix": [3, 11], "x": 11.75, "y": 3},
{"matrix": [3, 12], "x": 12.75, "y": 3},
{"matrix": [3, 13], "x": 13.75, "y": 3, "w": 1.25},
{"matrix": [3, 14], "x": 15, "y": 3},
{"matrix": [3, 15], "x": 16, "y": 3},
{"matrix": [3, 16], "x": 17, "y": 3},
{"matrix": [3, 17], "x": 18, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4},
{"matrix": [4, 2], "x": 2.25, "y": 4},
{"matrix": [4, 3], "x": 3.25, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4},
{"matrix": [4, 5], "x": 5.25, "y": 4},
{"matrix": [4, 6], "x": 6.25, "y": 4},
{"matrix": [4, 7], "x": 7.25, "y": 4},
{"matrix": [4, 8], "x": 8.25, "y": 4},
{"matrix": [4, 9], "x": 9.25, "y": 4},
{"matrix": [4, 10], "x": 10.25, "y": 4},
{"matrix": [4, 11], "x": 11.25, "y": 4},
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [4, 13], "x": 14, "y": 4},
{"matrix": [4, 14], "x": 15, "y": 4},
{"matrix": [4, 15], "x": 16, "y": 4},
{"matrix": [4, 16], "x": 17, "y": 4},
{"matrix": [4, 17], "x": 18, "y": 4},
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
{"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5},
{"matrix": [5, 12], "x": 13, "y": 5},
{"matrix": [5, 13], "x": 14, "y": 5},
{"matrix": [5, 14], "x": 15, "y": 5},
{"matrix": [5, 15], "x": 16, "y": 5},
{"matrix": [5, 16], "x": 17, "y": 5},
{"matrix": [5, 17], "x": 18, "y": 5}
]
}
}
}

View File

@@ -4,22 +4,35 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_96_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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9,
KC_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, L1_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
),
[1] = LAYOUT_96_ansi(
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
[0] = LAYOUT_96_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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN,
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9,
/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──────────────├─────────├─────────├─────────├ ┤ */
KC_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, L1_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
),
[1] = LAYOUT_96_ansi(
/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──────────────├─────────├─────────├─────────┼ ┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───────────┬─────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
)
};

View File

@@ -4,22 +4,35 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_96_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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_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_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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, L1_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
),
[1] = LAYOUT_96_iso(
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
[0] = LAYOUT_96_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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN,
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_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_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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
/* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┼─────────┼─────────┼─────────┼─────────┤ */
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
/* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, L1_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
),
[1] = LAYOUT_96_iso(
/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ├─────────├─────────├─────────┼ ┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
)
};

View File

@@ -2,40 +2,67 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_96_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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9,
KC_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
),
[0] = LAYOUT_96_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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN,
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9,
/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──────────────├─────────├─────────├─────────├ ┤ */
KC_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
),
[1] = LAYOUT_96_ansi(
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[1] = LAYOUT_96_ansi(
/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──────────────├─────────├─────────├─────────┼ ┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───────────┬─────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
),
[2] = LAYOUT_96_ansi(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[3] = LAYOUT_96_ansi(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT_96_ansi(
/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──────────────├─────────├─────────├─────────┼ ┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───────────┬─────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
),
[3] = LAYOUT_96_ansi(
/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──────────────├─────────├─────────├─────────┼ ┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├─────────────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───────────┬─────────┼─────────┼─────────┼─────────┼─────────┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
),
};

View File

@@ -1,42 +0,0 @@
# Matrix Diagram for KPrepublic XD96
```
Spaced Function Row ────────────────────────────────────────┐
┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐
│00 │ │01 │02 │03 │04 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │
└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘
┌───────┐ ┌───────┐
2u Function Row Backspace │0D │ │0G │
└───────┘ └───────┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │56 │0E │0F │0G │0H │
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ ┌───┐
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │59 │1E │1F │1G │1H │ │1D │ 2u Backspace │ │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ └─┬─────┤ ┌─────┐ │1H │ ┌───┐
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │2G │2H │ │2D │ │ │ │ │ │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┼───┼───┼───┼───┤ ┌──┴─────┤ ┌──┴┐3D │ ├───┤ │2H │ 2u Numpad Plus
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │3F │3G │3H │ │3D │ │3C │ │ │ │ │ │
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┼───┼───┼───┤ └────────┘ └───┴────┘ ┌───────┐ │3H │ ├───┤
│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4E │4F │4G │4H │ ANSI ISO │4E │ │ │ │ │
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┼───┼───┼───┤ Enter Enter └───────┘ └───┘ │4H │ 2u Numpad Enter
│50 │51 │52 │55 │5A │58 │5C │5D │5E │5F │5G │5H │ 2u Zero │ │
└────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┴───┴───┴───┘ on Shift Row └───┘
┌────────┐ ┌───┬──────────┬───────┐
│40 │ 2.25u LShift 1u/2.75u RShift │4B │4D │5E │ 2u Numpad Zero
└────────┘ └───┴──────────┴───────┘
┌────┬────┬────┐
3x 1.25u RShift │4B │4C │4D │
└────┴────┴────┘
┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐
│50 │51 │52 │55 │5A │58 │5C │5D │ ANSI
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
┌─────┬───┬─────┬───────────────────────┬─────┬─────┬───┬───┐
│50 │51 │52 │55 │5A │58 │5C │5D │ Tsangan
└─────┴───┴─────┴───────────────────────┴─────┴─────┴───┴───┘
┌─────┬─────┬───────────────────────────┬─────┬─────┬───┬───┐
│50 │51 │55 │5A │58 │5C │5D │ WKL
└─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┘
┌───┬─────┬───────────────────────────┬─────┬───┐
│51 │52 │55 │58 │5C │ HHKB
└───┴─────┴───────────────────────────┴─────┴───┘
```

View File

@@ -9,7 +9,7 @@ Keyboard with 96 Keys & RGB LED Underglow
* Keyboard Maintainer: QMK Community
* Hardware Supported: XD96
* Hardware Availability: [KPrepublic](https://kprepublic.com/products/xd96-pcb-90-custom-mechanical-keyboard-supports-tkg-tools-underglow-rgb-programmed); [AliExpress](https://www.aliexpress.com/i/2251832661406145.html)
* Hardware Availability: [KPrepublic](https://kprepublic.com/products/xd96-pcb-90-custom-mechanical-keyboard-supports-tkg-tools-underglow-rgb-programmed); [AliExpress](https://aliexpress.com/item/cospad-Custom-Mechanical-Keyboard-Kit-up-tp-24-keys-Supports-TKG-TOOLS-Underglow-RGB-PCB-20/32818383873.html)
Make example for this keyboard (after setting up your build environment):

View File

@@ -15,7 +15,7 @@ from qmk.json_schema import load_jsonschema
from qmk.path import keyboard
from qmk.json_encoders import InfoJSONEncoder
from qmk.json_schema import deep_update, json_load
from qmk.constants import MCU2BOOTLOADER, QMK_FIRMWARE
from qmk.constants import MCU2BOOTLOADER
COMMUNITY = Path('layouts/default/')
TEMPLATE = Path('data/templates/keyboard/')
@@ -254,6 +254,6 @@ def new_keyboard(cli):
augment_community_info(community_info, keyboard(kb_name) / community_info.name)
cli.log.info(f'{{fg_green}}Created a new keyboard called {{fg_cyan}}{kb_name}{{fg_green}}.{{fg_reset}}')
cli.log.info(f"Build Command: {{fg_yellow}}qmk compile -kb {kb_name} -km default{{fg_reset}}.")
cli.log.info(f'Project Location: {{fg_cyan}}{QMK_FIRMWARE}/{keyboard(kb_name)}{{fg_reset}},')
cli.log.info("{{fg_yellow}}Now update the config files to match the hardware!{{fg_reset}}")
cli.log.info(f'To start working on things, `cd` into {{fg_cyan}}keyboards/{kb_name}{{fg_reset}},')
cli.log.info('or open the directory in your preferred text editor.')
cli.log.info(f"And build with {{fg_yellow}}qmk compile -kb {kb_name} -km default{{fg_reset}}.")

View File

@@ -7,7 +7,6 @@ from collections.abc import Mapping
from functools import lru_cache
from typing import OrderedDict
from pathlib import Path
from copy import deepcopy
from milc import cli
@@ -23,8 +22,7 @@ def _dict_raise_on_duplicates(ordered_pairs):
return d
@lru_cache(maxsize=20)
def _json_load_impl(json_file, strict=True):
def json_load(json_file, strict=True):
"""Load a json file from disk.
Note: file must be a Path object.
@@ -44,11 +42,7 @@ def _json_load_impl(json_file, strict=True):
exit(1)
def json_load(json_file, strict=True):
return deepcopy(_json_load_impl(json_file=json_file, strict=strict))
@lru_cache(maxsize=20)
@lru_cache(maxsize=0)
def load_jsonschema(schema_name):
"""Read a jsonschema file from disk.
"""
@@ -63,7 +57,7 @@ def load_jsonschema(schema_name):
return json_load(schema_path)
@lru_cache(maxsize=1)
@lru_cache(maxsize=0)
def compile_schema_store():
"""Compile all our schemas into a schema store.
"""
@@ -79,7 +73,7 @@ def compile_schema_store():
return schema_store
@lru_cache(maxsize=20)
@lru_cache(maxsize=0)
def create_validator(schema):
"""Creates a validator for the given schema id.
"""

View File

@@ -201,17 +201,17 @@ else ifeq ($(strip $(BOOTLOADER)), qmk-hid)
QMK_BOOTLOADER_TYPE = HID
endif
bootloader: cpfirmware
bootloader:
ifeq ($(strip $(QMK_BOOTLOADER_TYPE)),)
$(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,Please set BOOTLOADER to "qmk-dfu" or "qmk-hid" first!)
else
make -C lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/ clean TARGET=Bootloader$(QMK_BOOTLOADER_TYPE)
make -C lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/ clean
$(QMK_BIN) generate-dfu-header --quiet --keyboard $(KEYBOARD) --output lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/Keyboard.h
$(eval MAX_SIZE=$(shell n=`$(CC) -E -mmcu=$(MCU) -D__ASSEMBLER__ $(CFLAGS) $(OPT_DEFS) platforms/avr/bootloader_size.c 2> /dev/null | sed -ne 's/\r//;/^#/n;/^AVR_SIZE:/,$${s/^AVR_SIZE: //;p;}'` && echo $$(($$n)) || echo 0))
$(eval PROGRAM_SIZE_KB=$(shell n=`expr $(MAX_SIZE) / 1024` && echo $$(($$n)) || echo 0))
$(eval BOOT_SECTION_SIZE_KB=$(shell n=`expr $(BOOTLOADER_SIZE) / 1024` && echo $$(($$n)) || echo 0))
$(eval FLASH_SIZE_KB=$(shell n=`expr $(PROGRAM_SIZE_KB) + $(BOOT_SECTION_SIZE_KB)` && echo $$(($$n)) || echo 0))
make -C lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/ MCU=$(MCU) ARCH=$(ARCH) F_CPU=$(F_CPU) FLASH_SIZE_KB=$(FLASH_SIZE_KB) BOOT_SECTION_SIZE_KB=$(BOOT_SECTION_SIZE_KB) TARGET=Bootloader$(QMK_BOOTLOADER_TYPE)
make -C lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/ MCU=$(MCU) ARCH=$(ARCH) F_CPU=$(F_CPU) FLASH_SIZE_KB=$(FLASH_SIZE_KB) BOOT_SECTION_SIZE_KB=$(BOOT_SECTION_SIZE_KB)
printf "Bootloader$(QMK_BOOTLOADER_TYPE).hex copied to $(TARGET)_bootloader.hex\n"
cp lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/Bootloader$(QMK_BOOTLOADER_TYPE).hex $(TARGET)_bootloader.hex
endif

View File

@@ -108,11 +108,6 @@
# if defined(STM32F1XX) || defined(STM32F2XX) || defined(STM32F4XX) || defined(STM32L1XX)
# define USE_I2CV1
# endif
# if defined(STM32G0XX) || defined(STM32G4XX) || defined(STM32L5XX) || defined(STM32H7XX)
# define USE_USARTV3
# endif
#endif
// GD32 compatibility

View File

@@ -16,7 +16,7 @@ static SIOConfig sioConfig = {
#else
static SIOConfig sioConfig = {
.baud = SIO_DEFAULT_BITRATE,
# if defined(MCU_STM32) && defined(USE_USARTV3)
# if defined(MCU_STM32) && defined(CHIBIOS_HAL_USARTv3)
.presc = USART_PRESC1,
# endif
.cr1 = UART_CR1,

View File

@@ -329,6 +329,17 @@ ifeq ($(strip $(USE_CHIBIOS_CONTRIB)),yes)
EXTRAINCDIRS += $(PLATFORMINC_CONTRIB) $(HALINC_CONTRIB) $(CHIBIOS_CONTRIB)/os/various
endif
#
# Extract supported HAL drivers
##############################################################################
define add_lld_driver_define
$(eval driver := $(word 2,$(subst /LLD/, ,$(1))))
$(eval OPT_DEFS += -DCHIBIOS_HAL_$(driver))
endef
$(foreach dir,$(EXTRAINCDIRS),$(if $(findstring /LLD/,$(dir)),$(call add_lld_driver_define,$(dir))))
#
# Project, sources and paths
##############################################################################
@@ -402,17 +413,6 @@ ifeq ($(strip $(MCU)), risc-v)
-mabi=$(MCU_ABI) \
-mcmodel=$(MCU_CMODEL) \
-mstrict-align
# Deal with different arch revisions and gcc renaming them
ifneq ($(shell echo 'int main() { asm("csrc 0x300,8"); return 0; }' | $(TOOLCHAIN)gcc $(MCUFLAGS) $(TOOLCHAIN_CFLAGS) -x c -o /dev/null - 2>/dev/null >/dev/null; echo $$?),0)
MCUFLAGS = -march=$(MCU_ARCH)_zicsr \
-mabi=$(MCU_ABI) \
-mcmodel=$(MCU_CMODEL) \
-mstrict-align
ifneq ($(shell echo 'int main() { asm("csrc 0x300,8"); return 0; }' | $(TOOLCHAIN)gcc $(MCUFLAGS) $(TOOLCHAIN_CFLAGS) -x c -o /dev/null - 2>/dev/null >/dev/null; echo $$?),0)
$(call CATASTROPHIC_ERROR,Incompatible toolchain,No compatible RISC-V toolchain found. Can't work out correct architecture.)
endif
endif
else
# ARM toolchain specific configuration
TOOLCHAIN ?= arm-none-eabi-

View File

@@ -15,39 +15,34 @@ __attribute__((weak)) bool should_process_encoder(void) {
}
static encoder_events_t encoder_events;
static bool signal_queue_drain = false;
void encoder_init(void) {
memset(&encoder_events, 0, sizeof(encoder_events));
encoder_driver_init();
}
static void encoder_queue_drain(void) {
encoder_events.tail = encoder_events.head;
encoder_events.dequeued = encoder_events.enqueued;
}
static bool encoder_handle_queue(void) {
bool changed = false;
uint8_t index;
bool clockwise;
while (encoder_dequeue_event(&index, &clockwise)) {
bool changed = false;
while (encoder_events.tail != encoder_events.head) {
encoder_event_t event = encoder_events.queue[encoder_events.tail];
encoder_events.tail = (encoder_events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
#ifdef ENCODER_MAP_ENABLE
// The delays below cater for Windows and its wonderful requirements.
action_exec(clockwise ? MAKE_ENCODER_CW_EVENT(index, true) : MAKE_ENCODER_CCW_EVENT(index, true));
action_exec(event.clockwise ? MAKE_ENCODER_CW_EVENT(event.index, true) : MAKE_ENCODER_CCW_EVENT(event.index, true));
# if ENCODER_MAP_KEY_DELAY > 0
wait_ms(ENCODER_MAP_KEY_DELAY);
# endif // ENCODER_MAP_KEY_DELAY > 0
action_exec(clockwise ? MAKE_ENCODER_CW_EVENT(index, false) : MAKE_ENCODER_CCW_EVENT(index, false));
action_exec(event.clockwise ? MAKE_ENCODER_CW_EVENT(event.index, false) : MAKE_ENCODER_CCW_EVENT(event.index, false));
# if ENCODER_MAP_KEY_DELAY > 0
wait_ms(ENCODER_MAP_KEY_DELAY);
# endif // ENCODER_MAP_KEY_DELAY > 0
#else // ENCODER_MAP_ENABLE
encoder_update_kb(index, clockwise);
encoder_update_kb(event.index, event.clockwise ? true : false);
#endif // ENCODER_MAP_ENABLE
@@ -66,11 +61,6 @@ bool encoder_task(void) {
}
#endif // SPLIT_KEYBOARD
if (signal_queue_drain) {
signal_queue_drain = false;
encoder_queue_drain();
}
// Let the encoder driver produce events
encoder_driver_task();
@@ -82,72 +72,40 @@ bool encoder_task(void) {
return changed;
}
bool encoder_queue_full_advanced(encoder_events_t *events) {
return events->head == (events->tail - 1) % MAX_QUEUED_ENCODER_EVENTS;
}
bool encoder_queue_full(void) {
return encoder_queue_full_advanced(&encoder_events);
}
bool encoder_queue_empty_advanced(encoder_events_t *events) {
return events->head == events->tail;
}
bool encoder_queue_empty(void) {
return encoder_queue_empty_advanced(&encoder_events);
}
bool encoder_queue_event_advanced(encoder_events_t *events, uint8_t index, bool clockwise) {
bool encoder_queue_event(uint8_t index, bool clockwise) {
// Drop out if we're full
if (encoder_queue_full_advanced(events)) {
if ((encoder_events.head + 1) % MAX_QUEUED_ENCODER_EVENTS == encoder_events.tail) {
return false;
}
// Append the event
encoder_event_t new_event = {.index = index, .clockwise = clockwise ? 1 : 0};
events->queue[events->head] = new_event;
encoder_event_t new_event = {.index = index, .clockwise = clockwise ? 1 : 0};
encoder_events.queue[encoder_events.head] = new_event;
// Increment the head index
events->head = (events->head + 1) % MAX_QUEUED_ENCODER_EVENTS;
events->enqueued++;
encoder_events.head = (encoder_events.head + 1) % MAX_QUEUED_ENCODER_EVENTS;
return true;
}
bool encoder_dequeue_event_advanced(encoder_events_t *events, uint8_t *index, bool *clockwise) {
if (encoder_queue_empty_advanced(events)) {
return false;
}
// Retrieve the event
encoder_event_t event = events->queue[events->tail];
*index = event.index;
*clockwise = event.clockwise;
// Increment the tail index
events->tail = (events->tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
events->dequeued++;
return true;
}
bool encoder_queue_event(uint8_t index, bool clockwise) {
return encoder_queue_event_advanced(&encoder_events, index, clockwise);
}
bool encoder_dequeue_event(uint8_t *index, bool *clockwise) {
return encoder_dequeue_event_advanced(&encoder_events, index, clockwise);
}
void encoder_retrieve_events(encoder_events_t *events) {
memcpy(events, &encoder_events, sizeof(encoder_events));
}
void encoder_signal_queue_drain(void) {
signal_queue_drain = true;
#ifdef SPLIT_KEYBOARD
void encoder_set_tail_index(uint8_t tail_index) {
encoder_events.tail = tail_index;
}
void encoder_handle_slave_events(encoder_events_t *events) {
while (events->tail != events->head) {
encoder_event_t event = events->queue[events->tail];
events->tail = (events->tail + 1) % MAX_QUEUED_ENCODER_EVENTS;
encoder_queue_event(event.index, event.clockwise ? true : false);
}
}
#endif // SPLIT_KEYBOARD
__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}

View File

@@ -29,7 +29,6 @@ __attribute__((weak)) bool should_process_encoder(void);
void encoder_init(void);
bool encoder_task(void);
bool encoder_queue_event(uint8_t index, bool clockwise);
bool encoder_dequeue_event(uint8_t *index, bool *clockwise);
bool encoder_update_kb(uint8_t index, bool clockwise);
bool encoder_update_user(uint8_t index, bool clockwise);
@@ -83,8 +82,6 @@ typedef struct encoder_event_t {
} encoder_event_t;
typedef struct encoder_events_t {
uint8_t enqueued;
uint8_t dequeued;
uint8_t head;
uint8_t tail;
encoder_event_t queue[MAX_QUEUED_ENCODER_EVENTS];
@@ -93,12 +90,10 @@ typedef struct encoder_events_t {
// Get the current queued events
void encoder_retrieve_events(encoder_events_t *events);
// Encoder event queue management
bool encoder_queue_event_advanced(encoder_events_t *events, uint8_t index, bool clockwise);
bool encoder_dequeue_event_advanced(encoder_events_t *events, uint8_t *index, bool *clockwise);
// Reset the queue to be empty
void encoder_signal_queue_drain(void);
# ifdef SPLIT_KEYBOARD
void encoder_set_tail_index(uint8_t tail_index);
void encoder_handle_slave_events(encoder_events_t *events);
# endif // SPLIT_KEYBOARD
# ifdef ENCODER_MAP_ENABLE
# define NUM_DIRECTIONS 2

View File

@@ -31,7 +31,7 @@ enum serial_transaction_id {
#ifdef ENCODER_ENABLE
GET_ENCODERS_CHECKSUM,
GET_ENCODERS_DATA,
CMD_ENCODER_DRAIN,
PUT_ENCODER_TAIL,
#endif // ENCODER_ENABLE
#ifndef DISABLE_SYNC_TIMER

View File

@@ -14,7 +14,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdint.h>
#include <string.h>
#include <stddef.h>
@@ -81,12 +80,8 @@
{ 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 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_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER)
// Forward-declare the RPC callback handlers
@@ -239,26 +234,14 @@ static void master_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_ro
#ifdef ENCODER_ENABLE
static bool encoder_handlers_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) {
static uint32_t last_update = 0;
static uint8_t last_checksum = 0;
static uint32_t last_update = 0;
encoder_events_t temp_events;
bool okay = read_if_checksum_mismatch(GET_ENCODERS_CHECKSUM, GET_ENCODERS_DATA, &last_update, &temp_events, &split_shmem->encoders.events, sizeof(temp_events));
if (okay) {
if (last_checksum != split_shmem->encoders.checksum) {
bool actioned = false;
uint8_t index;
bool clockwise;
while (okay && encoder_dequeue_event_advanced(&split_shmem->encoders.events, &index, &clockwise)) {
okay &= encoder_queue_event(index, clockwise);
actioned = true;
}
if (actioned) {
okay &= transport_exec(CMD_ENCODER_DRAIN);
}
last_checksum = split_shmem->encoders.checksum;
}
encoder_handle_slave_events(&split_shmem->encoders.events);
transport_write(PUT_ENCODER_TAIL, &split_shmem->encoders.events.tail, sizeof(split_shmem->encoders.events.tail));
split_shmem->encoders.checksum = crc8(&split_shmem->encoders.events, sizeof(split_shmem->encoders.events));
}
return okay;
}
@@ -270,8 +253,9 @@ static void encoder_handlers_slave(matrix_row_t master_matrix[], matrix_row_t sl
split_shmem->encoders.checksum = crc8(&split_shmem->encoders.events, sizeof(split_shmem->encoders.events));
}
static void encoder_handlers_slave_drain(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) {
encoder_signal_queue_drain();
static void encoder_handlers_slave_reset(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) {
uint8_t tail_index = *(uint8_t *)initiator2target_buffer;
encoder_set_tail_index(tail_index);
}
// clang-format off
@@ -280,7 +264,7 @@ static void encoder_handlers_slave_drain(uint8_t initiator2target_buffer_size, c
# define TRANSACTIONS_ENCODERS_REGISTRATIONS \
[GET_ENCODERS_CHECKSUM] = trans_target2initiator_initializer(encoders.checksum), \
[GET_ENCODERS_DATA] = trans_target2initiator_initializer(encoders.events), \
[CMD_ENCODER_DRAIN] = trans_initiator2target_cb(encoder_handlers_slave_drain),
[PUT_ENCODER_TAIL] = trans_initiator2target_initializer_cb(encoders.events.tail, encoder_handlers_slave_reset),
// clang-format on
#else // ENCODER_ENABLE

View File

@@ -1,3 +1,7 @@
# THIS IS THE DEVELOP BRANCH
Warning- This is the `develop` branch of QMK Firmware. You may encounter broken code here. Please see [Breaking Changes](https://docs.qmk.fm/#/breaking_changes) for more information.
# Quantum Mechanical Keyboard Firmware
[![Current Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)