mirror of
https://github.com/mfulz/qmk_firmware.git
synced 2025-11-04 15:22:41 +01:00
Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
936c341ef8 | ||
|
|
da6d6ce2e1 | ||
|
|
82dd84e257 | ||
|
|
0be7345640 | ||
|
|
c0185116d7 | ||
|
|
34ba7f1c18 | ||
|
|
d412854e37 | ||
|
|
aab2ac22c5 | ||
|
|
61ba8efa3e | ||
|
|
e01307f265 |
No files matched your search
@@ -18,19 +18,18 @@ assignees: ''
|
||||
|
||||
## System Information
|
||||
|
||||
- Keyboard:
|
||||
- Revision (if applicable):
|
||||
- Operating system:
|
||||
- AVR GCC version:
|
||||
<!-- Run `avr-gcc --version` to find this out. -->
|
||||
- ARM GCC version:
|
||||
<!-- Run `arm-none-eabi-gcc --version` to find this out. -->
|
||||
- QMK Firmware version:
|
||||
<!-- Run `git describe --abbrev=0 --tags` to find this out. -->
|
||||
- Any keyboard related software installed?
|
||||
- [ ] AutoHotKey
|
||||
- [ ] Karabiner
|
||||
- [ ] Other:
|
||||
**Keyboard:**
|
||||
**Revision (if applicable):**
|
||||
**Operating system:**
|
||||
**`qmk doctor` output:**
|
||||
```
|
||||
(Paste output here)
|
||||
```
|
||||
|
||||
**Any keyboard related software installed?**
|
||||
- [ ] AutoHotKey (Windows)
|
||||
- [ ] Karabiner (macOS)
|
||||
- [ ] Other:
|
||||
|
||||
## Additional Context
|
||||
|
||||
|
||||
@@ -33,7 +33,33 @@
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"enum": ["LAYOUT", "LAYOUT_planck_1x2uC"]
|
||||
"enum": [
|
||||
"LAYOUT",
|
||||
"LAYOUT_1x2uC",
|
||||
"LAYOUT_1x2uL",
|
||||
"LAYOUT_1x2uR",
|
||||
"LAYOUT_2x2uC",
|
||||
"LAYOUT_2x3uC",
|
||||
"LAYOUT_625uC",
|
||||
"LAYOUT_ANSI_DEFAULT",
|
||||
"LAYOUT_JP",
|
||||
"LAYOUT_ortho_3x12_1x2uC",
|
||||
"LAYOUT_ortho_4x12_1x2uC",
|
||||
"LAYOUT_ortho_4x12_1x2uL",
|
||||
"LAYOUT_ortho_4x12_1x2uR",
|
||||
"LAYOUT_ortho_5x12_1x2uC",
|
||||
"LAYOUT_ortho_5x12_2x2uC",
|
||||
"LAYOUT_ortho_5x14_1x2uC",
|
||||
"LAYOUT_ortho_5x14_1x2uL",
|
||||
"LAYOUT_ortho_5x14_1x2uR",
|
||||
"LAYOUT_planck_1x2uC",
|
||||
"LAYOUT_planck_1x2uL",
|
||||
"LAYOUT_planck_1x2uR",
|
||||
"LAYOUT_preonic_1x2uC",
|
||||
"LAYOUT_preonic_1x2uL",
|
||||
"LAYOUT_preonic_1x2uR",
|
||||
"LAYOUT_reviung34_2uL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
},
|
||||
"layouts": {
|
||||
"type": "object",
|
||||
"propertyNames": {"$ref": "qmk.definitions.v1#/layout_macro"},
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"features": {
|
||||
"bootmagic_lite": true,
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -188,7 +188,7 @@ cli.log.info('Reading from %s and writing to %s', cli.args.filename, cli.args.ou
|
||||
|
||||
# Testing, and Linting, and Formatting (oh my!)
|
||||
|
||||
We use nose2, flake8, and yapf to test, lint, and format code. You can use the `pytest` and `format-py` subcommands to run these tests:
|
||||
We use nose2, flake8, and yapf to test, lint, and format code. You can use the `pytest` and `format-python` subcommands to run these tests:
|
||||
|
||||
### Testing and Linting
|
||||
|
||||
@@ -196,7 +196,7 @@ We use nose2, flake8, and yapf to test, lint, and format code. You can use the `
|
||||
|
||||
### Formatting
|
||||
|
||||
qmk format-py
|
||||
qmk format-python
|
||||
|
||||
## Formatting Details
|
||||
|
||||
|
||||
@@ -275,14 +275,14 @@ $ qmk kle2json -f kle.txt -f
|
||||
Ψ Wrote out to info.json
|
||||
```
|
||||
|
||||
## `qmk format-py`
|
||||
## `qmk format-python`
|
||||
|
||||
このコマンドは `qmk_firmware` 内の python コードを整形します。
|
||||
|
||||
**使用法**:
|
||||
|
||||
```
|
||||
qmk format-py
|
||||
qmk format-python
|
||||
```
|
||||
|
||||
## `qmk pytest`
|
||||
|
||||
@@ -192,7 +192,7 @@ cli.log.info('Reading from %s and writing to %s', cli.args.filename, cli.args.ou
|
||||
|
||||
# テスト、リントおよびフォーマット
|
||||
|
||||
nose2、flake8 および yapf を使ってコードをテスト、リントおよびフォーマットします。これらのテストを実行するために `pytest` と `format-py` サブコマンドを使うことができます。
|
||||
nose2、flake8 および yapf を使ってコードをテスト、リントおよびフォーマットします。これらのテストを実行するために `pytest` と `format-python` サブコマンドを使うことができます。
|
||||
|
||||
### テストとリント
|
||||
|
||||
@@ -200,7 +200,7 @@ nose2、flake8 および yapf を使ってコードをテスト、リントお
|
||||
|
||||
### フォーマット
|
||||
|
||||
qmk format-py
|
||||
qmk format-python
|
||||
|
||||
## フォーマットの詳細
|
||||
|
||||
|
||||
+4
-2
@@ -132,7 +132,7 @@ The main part of this file is the `keymaps[]` definition. This is where you list
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
After this you'll find a list of LAYOUT() macros. A LAYOUT() is simply a list of keys to define a single layer. Typically you'll have one or more "base layers" (such as QWERTY, Dvorak, or Colemak) and then you'll layer on top of that one or more "function" layers. Due to the way layers are processed you can't overlay a "lower" layer on top of a "higher" layer.
|
||||
After this you'll find the layer definitions. Typically you'll have one or more "base layers" (such as QWERTY, Dvorak, or Colemak) and then you'll layer on top of that one or more "function" layers. Due to the way layers are processed you can't overlay a "lower" layer on top of a "higher" layer.
|
||||
|
||||
`keymaps[][MATRIX_ROWS][MATRIX_COLS]` in QMK holds the 16 bit action code (sometimes referred as the quantum keycode) in it. For the keycode representing typical keys, its high byte is 0 and its low byte is the USB HID usage ID for keyboard.
|
||||
|
||||
@@ -153,7 +153,9 @@ Here is an example of the Clueboard's base layer:
|
||||
|
||||
Some interesting things to note about this:
|
||||
|
||||
* From a C source point of view it's only a single array, but we have embedded whitespace to more easily visualize where each key is on the physical device.
|
||||
* The layer is defined using the LAYOUT macro, traditionally defined in the keyboard's `.h` file.
|
||||
* The LAYOUT macro takes a single list of keycodes, but we have written it in the C source using embedded whitespace and newlines to visualize where each key is on the physical device.
|
||||
* The LAYOUT macro hides and handles the mapping to the hardware's key scan matrix.
|
||||
* Plain keyboard scancodes are prefixed with KC_, while "special" keys are not.
|
||||
* The upper left key activates custom function 0 (`F(0)`)
|
||||
* The "Fn" key is defined with `MO(_FL)`, which moves to the `_FL` layer while that key is being held down.
|
||||
|
||||
@@ -50,7 +50,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
|
||||
- valid maintainer
|
||||
- displays correctly in Configurator (press Ctrl+Shift+I to preview local file, turn on fast input to verify ordering)
|
||||
- `readme.md`
|
||||
- standard template should be present -- [link to template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/avr/readme.md)
|
||||
- standard template should be present -- [link to template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md)
|
||||
- flash command is present, and has `:flash` at end
|
||||
- valid hardware availability link (unless handwired) -- private groupbuys are okay, but one-off prototypes will be questioned. If open-source, a link to files should be provided.
|
||||
- clear instructions on how to reset the board into bootloader mode
|
||||
|
||||
@@ -34,7 +34,7 @@ Largest in size is "magic" -- the QMK magic keycodes -- which control things lik
|
||||
|
||||
If you've done all of that, and you don't want to disable features like RGB, Audio, OLEDs, etc, there are some additional options that you can add to your config.h that can help.
|
||||
|
||||
Starting with Lock Key support. If you have an Cherry MX Lock switch (lucky you!), you don't want to do this. But chances are, you don't. In that case, add this to your `config.h`:
|
||||
Starting with Lock Key support. If you have a Cherry MX Lock switch (lucky you!), you don't want to do this. But chances are, you don't. In that case, add this to your `config.h`:
|
||||
```c
|
||||
#undef LOCKING_SUPPORT_ENABLE
|
||||
#undef LOCKING_RESYNC_ENABLE
|
||||
|
||||
@@ -8,27 +8,22 @@ This document attempts to explain how the QMK firmware works from a very high le
|
||||
|
||||
## Startup
|
||||
|
||||
You can think of QMK as no different from any other computer program. It is started, performs its tasks, and then ends. The entry point for the program is the `main()` function, just like it is on any other C program. However, for a newcomer to QMK it can be confusing because the `main()` function appears in multiple places, and it can be hard to tell which one to look at.
|
||||
You can think of QMK as no different from any other computer program. It is started and performs its tasks, but this program never finishes. Like other C programs, the entry point is the `main()` function. For QMK, the `main()` function is found in [`quantum/main.c`](https://github.com/qmk/qmk_firmware/blob/0.15.13/quantum/main.c#L55).
|
||||
|
||||
The reason for this is the different platforms that QMK supports. The most common platform is `lufa`, which runs on AVR processors such at the atmega32u4. We also support `chibios` and `vusb`.
|
||||
If you browse through the `main()` function you'll find that it starts by initializing any hardware that has been configured (including USB to the host). The most common platform for QMK is `lufa`, which runs on AVR processors such as the atmega32u4. When compiled for that platform, it will invoke for example `platform_setup()` in [`platforms/avr/platform.c`](https://github.com/qmk/qmk_firmware/blob/0.15.13/platforms/avr/platform.c#L19) and `protocol_setup()` in [`tmk_core/protocol/lufa/lufa.c`](https://github.com/qmk/qmk_firmware/blob/0.15.13/tmk_core/protocol/lufa/lufa.c#L1066). It will use other implementations when compiled for other platforms like `chibios` and `vusb`. At first glance, it can look like a lot of functionality but most of the time the code will be disabled by `#define`s.
|
||||
|
||||
We'll focus on AVR processors for the moment, which use the `lufa` platform. You can find the `main()` function in [tmk_core/protocol/lufa/lufa.c](https://github.com/qmk/qmk_firmware/blob/e1203a222bb12ab9733916164a000ef3ac48da93/tmk_core/protocol/lufa/lufa.c#L1028). If you browse through that function you'll find that it initializes any hardware that has been configured (including USB to the host) and then it starts the core part of the program with a [`while(1)`](https://github.com/qmk/qmk_firmware/blob/e1203a222bb12ab9733916164a000ef3ac48da93/tmk_core/protocol/lufa/lufa.c#L1069). This is [The Main Loop](#the-main-loop).
|
||||
The `main()` function will then start the core part of the program with a [`while (true)`](https://github.com/qmk/qmk_firmware/blob/0.15.13/quantum/main.c#L63). This is [The Main Loop](#the-main-loop).
|
||||
|
||||
## The Main Loop
|
||||
|
||||
This section of code is called "The Main Loop" because it's responsible for looping over the same set of instructions forever. This is where QMK dispatches out to the functions responsible for making the keyboard do everything it is supposed to do. At first glance it can look like a lot of functionality but most of the time the code will be disabled by `#define`'s.
|
||||
This section of code is called "The Main Loop" because it's responsible for looping over the same set of instructions forever, without ever reaching the end. This is where QMK dispatches out to the functions responsible for making the keyboard do everything it is supposed to do.
|
||||
|
||||
```
|
||||
keyboard_task();
|
||||
```
|
||||
|
||||
This is where all the keyboard specific functionality is dispatched. The source code for `keyboard_task()` can be found in [tmk_core/common/keyboard.c](https://github.com/qmk/qmk_firmware/blob/e1203a222bb12ab9733916164a000ef3ac48da93/tmk_core/common/keyboard.c#L216), and it is responsible for detecting changes in the matrix and turning status LEDs on and off.
|
||||
The main loop will call [`protocol_task()`](https://github.com/qmk/qmk_firmware/blob/0.15.13/quantum/main.c#L38), which in turn will call `keyboard_task()` in [`quantum/keyboard.c`](https://github.com/qmk/qmk_firmware/blob/0.15.13/quantum/keyboard.c#L377). This is where all the keyboard specific functionality is dispatched, and it is responsible for detecting changes in the matrix and turning status LEDs on and off.
|
||||
|
||||
Within `keyboard_task()` you'll find code to handle:
|
||||
|
||||
* [Matrix Scanning](#matrix-scanning)
|
||||
* Mouse Handling
|
||||
* Serial Link(s)
|
||||
* Keyboard status LEDs (Caps Lock, Num Lock, Scroll Lock)
|
||||
|
||||
#### Matrix Scanning
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
#include "analog.h"
|
||||
#include "gpio.h"
|
||||
#include "wait.h"
|
||||
#include "timer.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
// Set Parameters
|
||||
uint16_t minAxisValue = ANALOG_JOYSTICK_AXIS_MIN;
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2022 Kyle McCreery
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "bde.h"
|
||||
@@ -0,0 +1,26 @@
|
||||
/* Copyright 2022 Kyle McCreery
|
||||
*
|
||||
* 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 "quantum.h"
|
||||
|
||||
#ifdef KEYBOARD_mechwild_bde_rev2
|
||||
#include "rev2.h"
|
||||
#elif KEYBOARD_mechwild_bde_lefty
|
||||
#include "lefty.h"
|
||||
#elif KEYBOARD_mechwild_bde_righty
|
||||
#include "righty.h"
|
||||
#endif
|
||||
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
Copyright 2022 Kyle McCreery
|
||||
|
||||
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 "config_common.h"
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"keyboard_name": "MechWild BDE Righty",
|
||||
"keyboard_name": "MechWild BDE Rev2",
|
||||
"url": "mechwild.com",
|
||||
"maintainer": "kylemccreery",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0}, {"label":"0", "x":10, "y":0}, {"label":"7", "x":11, "y":0}, {"label":"8", "x":12, "y":0}, {"label":"9", "x":13, "y":0},
|
||||
{"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"H", "x":5, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"K", "x":7, "y":1}, {"label":"L", "x":8, "y":1}, {"label":"ESC", "x":9, "y":1}, {"label":"Enter", "x":10, "y":1, "h":2}, {"label":"4", "x":11, "y":1}, {"label":"5", "x":12, "y":1}, {"label":"6", "x":13, "y":1},
|
||||
{"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"BS", "x":4, "y":2}, {"label":"", "x":5, "y":2}, {"label":"B", "x":6, "y":2}, {"label":"N", "x":7, "y":2}, {"label":"M", "x":8, "y":2}, {"label":"ENT", "x":9, "y":2}, {"label":"1", "x":11, "y":2}, {"label":"2", "x":12, "y":2}, {"label":"3", "x":13, "y":2}
|
||||
{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0}, {"label":"7", "x":10, "y":0}, {"label":"8", "x":11, "y":0}, {"label":"9", "x":12, "y":0}, {"label":"Mute", "x":13, "y":0},
|
||||
{"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"H", "x":5, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"K", "x":7, "y":1}, {"label":"L", "x":8, "y":1}, {"label":"ESC", "x":9, "y":1}, {"label":"4", "x":10, "y":1}, {"label":"5", "x":11, "y":1}, {"label":"6", "x":12, "y":1}, {"label":"0", "x":13, "y":1,},
|
||||
{"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"BS", "x":4, "y":2}, {"label":"", "x":5, "y":2}, {"label":"B", "x":6, "y":2}, {"label":"N", "x":7, "y":2}, {"label":"M", "x":8, "y":2}, {"label":"ENT", "x":9, "y":2}, {"label":"1", "x":10, "y":2}, {"label":"2", "x":11, "y":2}, {"label":"3", "x":12, "y":2}, {"label":"EQL", "x":13, "y":2,}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
/* Copyright 2022 Kyle McCreery
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define FN1_BSPC LT(1, KC_BSPC)
|
||||
#define FN2_SPC LT(2, KC_SPC)
|
||||
#define FN3_B LT(3, KC_B)
|
||||
#define CTL_Z CTL_T(KC_Z)
|
||||
#define ALT_X ALT_T(KC_X)
|
||||
#define ALT_N ALGR_T(KC_N)
|
||||
#define CTL_M RCTL_T(KC_M)
|
||||
#define SFT_ENT RSFT_T(KC_ENT)
|
||||
#define WIN_C LGUI_T(KC_C)
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN1,
|
||||
_FN2,
|
||||
_FN3
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_P7, KC_P8, KC_P9, KC_MUTE,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_P4, KC_P5, KC_P6, KC_P0,
|
||||
CTL_Z, ALT_X, WIN_C, KC_V, FN1_BSPC, FN2_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT, KC_P1, KC_P2, KC_P3, KC_MINS
|
||||
),
|
||||
[_FN1] = LAYOUT(
|
||||
_______, _______, _______, RESET, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_SCLN, KC_QUOT, KC_4, KC_5, KC_6, KC_0,
|
||||
_______, _______, _______, _______, _______, KC_TAB, KC_LGUI, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_2, KC_3, KC_EQL
|
||||
),
|
||||
[_FN2] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_PIPE, KC_AMPR, KC_ASTR, KC_LPRN, KC_CLCK,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_TILD, KC_COLN, KC_DQUO, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN,
|
||||
_______, _______, _______, _______, KC_DEL, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_EXLM, KC_AT, KC_HASH, KC_PLUS
|
||||
),
|
||||
[_FN3] = LAYOUT(
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
};
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,22 @@
|
||||
/* Copyright 2022 Kyle McCreery
|
||||
*
|
||||
* 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
|
||||
/* Making it so you need to hold the modifier and other key for the time together, helps not accidentally hit activate the hold functions of bottom row*/
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
|
||||
/* Setting tap term, helps not accidentally hit activate the hold functions of bottom row*/
|
||||
#define TAPPING_TERM 250
|
||||
@@ -0,0 +1,59 @@
|
||||
/* Copyright 2022 Kyle McCreery
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define FN1_BSPC LT(1, KC_BSPC)
|
||||
#define FN2_SPC LT(2, KC_SPC)
|
||||
#define FN3_B LT(3, KC_B)
|
||||
#define CTL_Z CTL_T(KC_Z)
|
||||
#define ALT_X ALT_T(KC_X)
|
||||
#define ALT_N ALGR_T(KC_N)
|
||||
#define CTL_M RCTL_T(KC_M)
|
||||
#define SFT_ENT RSFT_T(KC_ENT)
|
||||
#define WIN_C LGUI_T(KC_C)
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN1,
|
||||
_FN2,
|
||||
_FN3
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_P7, KC_P8, KC_P9, KC_MUTE,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC, KC_P4, KC_P5, KC_P6, KC_P0,
|
||||
CTL_Z, ALT_X, WIN_C, KC_V, FN1_BSPC, FN2_SPC, FN3_B, ALT_N, CTL_M, SFT_ENT, KC_P1, KC_P2, KC_P3, KC_MINS
|
||||
),
|
||||
[_FN1] = LAYOUT(
|
||||
_______, _______, _______, RESET, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7, KC_8, KC_9, KC_NLCK,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_SCLN, KC_QUOT, KC_4, KC_5, KC_6, KC_0,
|
||||
_______, _______, _______, _______, _______, KC_TAB, KC_LGUI, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_2, KC_3, KC_EQL
|
||||
),
|
||||
[_FN2] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_PIPE, KC_AMPR, KC_ASTR, KC_LPRN, KC_CLCK,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_TILD, KC_COLN, KC_DQUO, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN,
|
||||
_______, _______, _______, _______, KC_DEL, _______, _______, KC_LABK, KC_RABK, KC_QUES, KC_EXLM, KC_AT, KC_HASH, KC_PLUS
|
||||
),
|
||||
[_FN3] = LAYOUT(
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD
|
||||
)
|
||||
|
||||
};
|
||||
@@ -0,0 +1,3 @@
|
||||
RGBLIGHT_ENABLE = yes
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = no
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"keyboard_name": "MechWild BDE Lefty",
|
||||
"url": "mechwild.com",
|
||||
"maintainer": "kylemccreery",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"7", "x":0, "y":0}, {"label":"8", "x":1, "y":0}, {"label":"9", "x":2, "y":0}, {"label":"0", "x":3, "y":0}, {"label":"Q", "x":4, "y":0}, {"label":"W", "x":5, "y":0}, {"label":"E", "x":6, "y":0}, {"label":"R", "x":7, "y":0}, {"label":"T", "x":8, "y":0}, {"label":"Y", "x":9, "y":0}, {"label":"U", "x":10, "y":0}, {"label":"I", "x":11, "y":0}, {"label":"O", "x":12, "y":0}, {"label":"P", "x":13, "y":0},
|
||||
{"label":"4", "x":0, "y":1}, {"label":"5", "x":1, "y":1}, {"label":"6", "x":2, "y":1}, {"label":"Enter", "x":3, "y":1, "h":2}, {"label":"A", "x":4, "y":1}, {"label":"S", "x":5, "y":1}, {"label":"D", "x":6, "y":1}, {"label":"F", "x":7, "y":1}, {"label":"G", "x":8, "y":1}, {"label":"H", "x":9, "y":1}, {"label":"J", "x":10, "y":1}, {"label":"K", "x":11, "y":1}, {"label":"L", "x":12, "y":1}, {"label":"ESC", "x":13, "y":1},
|
||||
{"label":"1", "x":0, "y":2}, {"label":"2", "x":1, "y":2}, {"label":"3", "x":2, "y":2}, {"label":"Z", "x":4, "y":2}, {"label":"X", "x":5, "y":2}, {"label":"C", "x":6, "y":2}, {"label":"V", "x":7, "y":2}, {"label":"BS", "x":8, "y":2}, {"label":"", "x":9, "y":2}, {"label":"B", "x":10, "y":2}, {"label":"N", "x":11, "y":2}, {"label":"M", "x":12, "y":2}, {"label":"ENT", "x":13, "y":2}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,5 +14,4 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#include "lefty.h"
|
||||
#include "bde.h"
|
||||
@@ -0,0 +1,244 @@
|
||||
/* Copyright 2020 Kyle McCreery
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "progmem.h"
|
||||
|
||||
const unsigned char font[] PROGMEM = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
|
||||
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
|
||||
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
|
||||
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
|
||||
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
|
||||
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
|
||||
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
|
||||
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
|
||||
0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
|
||||
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
|
||||
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
|
||||
0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
|
||||
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
|
||||
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
|
||||
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
|
||||
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
|
||||
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
|
||||
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
|
||||
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
|
||||
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
|
||||
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
|
||||
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
|
||||
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
|
||||
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
|
||||
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
|
||||
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
|
||||
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
|
||||
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
|
||||
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
|
||||
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
|
||||
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
|
||||
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
|
||||
0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
|
||||
0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
|
||||
0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
|
||||
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
|
||||
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
|
||||
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
|
||||
0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
|
||||
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
|
||||
0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
|
||||
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
|
||||
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
|
||||
0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
|
||||
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
|
||||
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
|
||||
0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
|
||||
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
|
||||
0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
|
||||
0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
|
||||
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
|
||||
0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
|
||||
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
|
||||
0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
|
||||
0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
|
||||
0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
|
||||
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
|
||||
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
|
||||
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
|
||||
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
|
||||
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
|
||||
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
|
||||
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
|
||||
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
|
||||
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
|
||||
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
|
||||
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
|
||||
0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
|
||||
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
|
||||
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
|
||||
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
|
||||
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
|
||||
0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
|
||||
0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
|
||||
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
|
||||
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
|
||||
0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
|
||||
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
|
||||
0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
|
||||
0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||
0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
|
||||
0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
|
||||
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
|
||||
0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
|
||||
0x38, 0x44, 0x44, 0x28, 0x7E, 0x00,
|
||||
0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
|
||||
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
|
||||
0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
|
||||
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
|
||||
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
|
||||
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
|
||||
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
|
||||
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
|
||||
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
|
||||
0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
|
||||
0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
|
||||
0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
|
||||
0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
|
||||
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
|
||||
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
|
||||
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
|
||||
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
|
||||
0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
|
||||
0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
|
||||
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
|
||||
0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
|
||||
0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
|
||||
0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
|
||||
0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
|
||||
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
|
||||
0x00, 0x00, 0x00, 0xE0, 0xFE, 0xFF,
|
||||
0xFE, 0xF8, 0xC0, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFE,
|
||||
0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x3E,
|
||||
0xE0, 0x80, 0x70, 0x0E, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x07, 0x3C, 0xE0,
|
||||
0x80, 0x78, 0x07, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xE0, 0xFE, 0xFF,
|
||||
0xFE, 0xF8, 0xC0, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFE,
|
||||
0xF0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x3E, 0xE0, 0x80, 0x70, 0x0E,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x07,
|
||||
0x3C, 0xE0, 0x80, 0x78, 0x07, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x1F,
|
||||
0x07, 0x1F, 0xFF, 0xFE, 0xF0, 0xC0,
|
||||
0xF8, 0xFF, 0xF7, 0x07, 0x07, 0x7F,
|
||||
0xFF, 0xFF, 0xF8, 0x00, 0xC0, 0x38,
|
||||
0x0C, 0x18, 0x60, 0x80, 0x00, 0x00,
|
||||
0x00, 0xF0, 0x0C, 0x04, 0xF4, 0x1C,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0xC0, 0xFC, 0xE6, 0xC3, 0xC1,
|
||||
0xC1, 0xC3, 0xE6, 0xFC, 0xC0, 0x80,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xF8, 0xFF, 0xF7, 0x07,
|
||||
0x07, 0x1F, 0xFF, 0xFE, 0xF0, 0xC0,
|
||||
0xF8, 0x3F, 0x8F, 0x0F, 0x3F, 0xFF,
|
||||
0xFF, 0xFE, 0x80, 0xF0, 0x0C, 0x04,
|
||||
0xF4, 0x1C, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x1F, 0x1F, 0x1F, 0x07, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x1F, 0x1F,
|
||||
0x0F, 0x01, 0x03, 0x06, 0xF8, 0x00,
|
||||
0x07, 0x7F, 0x3F, 0x0E, 0xC1, 0x38,
|
||||
0x07, 0x0E, 0x70, 0x83, 0x1C, 0x60,
|
||||
0x1E, 0x03, 0xC0, 0x3E, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3F, 0x7F, 0xFF, 0xFF, 0xF9, 0xC0,
|
||||
0xC0, 0xF9, 0xFF, 0xFF, 0x7F, 0x3F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x1F, 0x1F, 0x1F, 0x07, 0x06,
|
||||
0xF8, 0x00, 0x00, 0x73, 0x3F, 0x0F,
|
||||
0xC1, 0x38, 0x07, 0x0F, 0x70, 0x83,
|
||||
0x07, 0x7F, 0x1F, 0x03, 0xC0, 0x3E,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
@@ -1,15 +1,15 @@
|
||||
# BIG DILL EXTENDED
|
||||
|
||||

|
||||

|
||||
|
||||
A 41 key keyboard.
|
||||
A 42 key keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery)
|
||||
* Hardware Supported: BDE v2.3 Lefty
|
||||
* Hardware Supported: BDE Rev1 v2.3, BDE Rev2 v1.1
|
||||
* Hardware Availability: [BIG DILL EXTENDED on MechWild](https://mechwild.com/product/big-dill-extended-bde/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mechwild/bde/lefty:default
|
||||
make mechwild/bde:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
Copyright 2022 Kyle McCreery
|
||||
|
||||
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 "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x6D77 // mw = "MechWild"
|
||||
#define PRODUCT_ID 0x170A
|
||||
#define DEVICE_VER 0x0101
|
||||
#define MANUFACTURER MechWild
|
||||
#define PRODUCT BDE Rev2
|
||||
|
||||
/* Key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 7
|
||||
|
||||
/* Key matrix pins */
|
||||
#define MATRIX_ROW_PINS { C6, D7, B4, D4, E6, B2 }
|
||||
#define MATRIX_COL_PINS { B3, B1, F7, F6, F5, F4, B5 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* Encoder pins */
|
||||
#define ENCODERS_PAD_A { D3 }
|
||||
#define ENCODERS_PAD_B { D2 }
|
||||
|
||||
/* Encoder resolution */
|
||||
#define ENCODER_RESOLUTION 4
|
||||
#define TAP_CODE_DELAY 10
|
||||
|
||||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define OLED_FONT_H "keyboards/mechwild/bde/lib/rev2.c"
|
||||
|
||||
#define RGB_DI_PIN B6
|
||||
#ifdef RGB_DI_PIN
|
||||
# define RGBLED_NUM 8
|
||||
# define RGBLIGHT_HUE_STEP 8
|
||||
# define RGBLIGHT_SAT_STEP 8
|
||||
# define RGBLIGHT_VAL_STEP 8
|
||||
# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||
# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== Chosen enabled animations ==*/
|
||||
# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#endif
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* disable these deprecated features by default */
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
@@ -0,0 +1,88 @@
|
||||
/* Copyright 2022 Kyle McCreery
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#include "bde.h"
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||
if (!encoder_update_user(index, clockwise)) { return false; }
|
||||
switch (index) {
|
||||
case 0:
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
return OLED_ROTATION_270; // flips the display 270 degrees
|
||||
}
|
||||
|
||||
static void render_logo(void) { // Render MechWild "MW" Logo
|
||||
static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00};
|
||||
static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00};
|
||||
static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00};
|
||||
static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00};
|
||||
oled_set_cursor(0,0);
|
||||
oled_write_P(logo_1, false);
|
||||
oled_set_cursor(0,1);
|
||||
oled_write_P(logo_2, false);
|
||||
oled_set_cursor(0,2);
|
||||
oled_write_P(logo_3, false);
|
||||
oled_set_cursor(0,3);
|
||||
oled_write_P(logo_4, false);
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
render_logo();
|
||||
oled_set_cursor(0,6);
|
||||
|
||||
oled_write_ln_P(PSTR("Layer"), false);
|
||||
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case 0:
|
||||
oled_write_ln_P(PSTR("Base"), false);
|
||||
break;
|
||||
case 1:
|
||||
oled_write_ln_P(PSTR("FN 1"), false);
|
||||
break;
|
||||
case 2:
|
||||
oled_write_ln_P(PSTR("FN 2"), false);
|
||||
break;
|
||||
case 3:
|
||||
oled_write_ln_P(PSTR("FN 3"), false);
|
||||
break;
|
||||
default:
|
||||
oled_write_ln_P(PSTR("Undef"), false);
|
||||
}
|
||||
oled_write_ln_P(PSTR(""), false);
|
||||
// Host Keyboard LED Status
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||
oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||
oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,31 @@
|
||||
/* Copyright 2022 Kyle McCreery
|
||||
*
|
||||
* 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 "quantum.h"
|
||||
|
||||
#define LAYOUT( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,\
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,\
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06 }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16 }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26 }, \
|
||||
{ K0D, K0C, K0B, K0A, K09, K08, K07 }, \
|
||||
{ K1D, K1C, K1B, K1A, K19, K18, K17 }, \
|
||||
{ K2D, K2C, K2B, K2A, K29, K28, K27 } \
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
ENCODER_ENABLE = yes # Enable encoder
|
||||
OLED_ENABLE = yes # Enable OLED Screen
|
||||
OLED_DRIVER = SSD1306 # Set OLED Driver
|
||||
@@ -1,15 +0,0 @@
|
||||
# BIG DILL EXTENDED
|
||||
|
||||

|
||||
|
||||
A 41 key keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery)
|
||||
* Hardware Supported: BDE v2.3 Righty
|
||||
* Hardware Availability: [BIG DILL EXTENDED on MechWild](https://mechwild.com/product/big-dill-extended-bde/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mechwild/bde/righty:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
@@ -14,5 +14,4 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#include "righty.h"
|
||||
#include "bde.h"
|
||||
@@ -1,19 +0,0 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = caterina
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
@@ -17,3 +17,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
DEFAULT_FOLDER = mechwild/bde/rev2
|
||||
@@ -1,16 +1,884 @@
|
||||
{
|
||||
"keyboard_name": "melody96",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"keyboard_name": "melody96",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all",
|
||||
"LAYOUT_hotswap": "LAYOUT_96_ansi"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Scroll Lock", "x":14, "y":0}, {"label":"Pause", "x":15, "y":0}, {"label":"Insert", "x":16, "y":0}, {"label":"Home", "x":17, "y":0}, {"label":"PgUp", "x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"label":"Num Lock", "x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"+", "x":18, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"x":18, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Enter", "x":18, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Win", "x":11, "y":5}, {"x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}, {"label":"0", "x":16, "y":5}, {"label":".", "x":17, "y":5}, {"x":18, "y":5}]
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
{"x": 12, "y": 0},
|
||||
{"x": 13, "y": 0},
|
||||
{"x": 14, "y": 0},
|
||||
{"x": 15, "y": 0},
|
||||
{"x": 16, "y": 0},
|
||||
{"x": 17, "y": 0},
|
||||
{"x": 18, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
{"x": 12, "y": 1},
|
||||
{"x": 13, "y": 1},
|
||||
{"x": 14, "y": 1},
|
||||
{"x": 15, "y": 1},
|
||||
{"x": 16, "y": 1},
|
||||
{"x": 17, "y": 1},
|
||||
{"x": 18, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2, "w": 1.5},
|
||||
{"x": 1.5, "y": 2},
|
||||
{"x": 2.5, "y": 2},
|
||||
{"x": 3.5, "y": 2},
|
||||
{"x": 4.5, "y": 2},
|
||||
{"x": 5.5, "y": 2},
|
||||
{"x": 6.5, "y": 2},
|
||||
{"x": 7.5, "y": 2},
|
||||
{"x": 8.5, "y": 2},
|
||||
{"x": 9.5, "y": 2},
|
||||
{"x": 10.5, "y": 2},
|
||||
{"x": 11.5, "y": 2},
|
||||
{"x": 12.5, "y": 2},
|
||||
{"x": 13.5, "y": 2, "w": 1.5},
|
||||
{"x": 15, "y": 2},
|
||||
{"x": 16, "y": 2},
|
||||
{"x": 17, "y": 2},
|
||||
{"x": 18, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3, "w": 1.75},
|
||||
{"x": 1.75, "y": 3},
|
||||
{"x": 2.75, "y": 3},
|
||||
{"x": 3.75, "y": 3},
|
||||
{"x": 4.75, "y": 3},
|
||||
{"x": 5.75, "y": 3},
|
||||
{"x": 6.75, "y": 3},
|
||||
{"x": 7.75, "y": 3},
|
||||
{"x": 8.75, "y": 3},
|
||||
{"x": 9.75, "y": 3},
|
||||
{"x": 10.75, "y": 3},
|
||||
{"x": 11.75, "y": 3},
|
||||
{"x": 12.75, "y": 3, "w": 2.25},
|
||||
{"x": 15, "y": 3},
|
||||
{"x": 16, "y": 3},
|
||||
{"x": 17, "y": 3},
|
||||
{"x": 18, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4, "w": 1.25},
|
||||
{"x": 1.25, "y": 4},
|
||||
{"x": 2.25, "y": 4},
|
||||
{"x": 3.25, "y": 4},
|
||||
{"x": 4.25, "y": 4},
|
||||
{"x": 5.25, "y": 4},
|
||||
{"x": 6.25, "y": 4},
|
||||
{"x": 7.25, "y": 4},
|
||||
{"x": 8.25, "y": 4},
|
||||
{"x": 9.25, "y": 4},
|
||||
{"x": 10.25, "y": 4},
|
||||
{"x": 11.25, "y": 4},
|
||||
{"x": 12.25, "y": 4, "w": 1.75},
|
||||
{"x": 14, "y": 4},
|
||||
{"x": 15, "y": 4},
|
||||
{"x": 16, "y": 4},
|
||||
{"x": 17, "y": 4},
|
||||
{"x": 18, "y": 4},
|
||||
|
||||
{"x": 0, "y": 5, "w": 1.25},
|
||||
{"x": 1.25, "y": 5, "w": 1.25},
|
||||
{"x": 2.5, "y": 5, "w": 1.25},
|
||||
{"x": 3.75, "y": 5, "w": 6.25},
|
||||
{"x": 10, "y": 5},
|
||||
{"x": 11, "y": 5},
|
||||
{"x": 12, "y": 5},
|
||||
{"x": 13, "y": 5},
|
||||
{"x": 14, "y": 5},
|
||||
{"x": 15, "y": 5},
|
||||
{"x": 16, "y": 5},
|
||||
{"x": 17, "y": 5},
|
||||
{"x": 18, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_hotswap": {
|
||||
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"Home", "x":13, "y":0}, {"label":"End", "x":14, "y":0}, {"label":"PgUp", "x":15, "y":0}, {"label":"PgDn", "x":16, "y":0}, {"label":"Media Play", "x":17, "y":0}, {"label":"Pause", "x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Num Lock", "x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"label":"+", "x":18, "y":2, "h":2}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"Up", "x":14, "y":4}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"GUI", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"label":"Space", "x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"Left", "x":13, "y":5}, {"label":"Down", "x":14, "y":5}, {"label":"Right", "x":15, "y":5}, {"label":"0", "x":16, "y":5}, {"label":".", "x":17, "y":5}, {"label":"Enter", "x":18, "y":4, "h":2}]
|
||||
"LAYOUT_96_ansi": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
{"x": 12, "y": 0},
|
||||
{"x": 13, "y": 0},
|
||||
{"x": 14, "y": 0},
|
||||
{"x": 15, "y": 0},
|
||||
{"x": 16, "y": 0},
|
||||
{"x": 17, "y": 0},
|
||||
{"x": 18, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
{"x": 12, "y": 1},
|
||||
{"x": 13, "y": 1, "w": 2},
|
||||
{"x": 15, "y": 1},
|
||||
{"x": 16, "y": 1},
|
||||
{"x": 17, "y": 1},
|
||||
{"x": 18, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2, "w": 1.5},
|
||||
{"x": 1.5, "y": 2},
|
||||
{"x": 2.5, "y": 2},
|
||||
{"x": 3.5, "y": 2},
|
||||
{"x": 4.5, "y": 2},
|
||||
{"x": 5.5, "y": 2},
|
||||
{"x": 6.5, "y": 2},
|
||||
{"x": 7.5, "y": 2},
|
||||
{"x": 8.5, "y": 2},
|
||||
{"x": 9.5, "y": 2},
|
||||
{"x": 10.5, "y": 2},
|
||||
{"x": 11.5, "y": 2},
|
||||
{"x": 12.5, "y": 2},
|
||||
{"x": 13.5, "y": 2, "w": 1.5},
|
||||
{"x": 15, "y": 2},
|
||||
{"x": 16, "y": 2},
|
||||
{"x": 17, "y": 2},
|
||||
{"x": 18, "y": 2, "h": 2},
|
||||
|
||||
{"x": 0, "y": 3, "w": 1.75},
|
||||
{"x": 1.75, "y": 3},
|
||||
{"x": 2.75, "y": 3},
|
||||
{"x": 3.75, "y": 3},
|
||||
{"x": 4.75, "y": 3},
|
||||
{"x": 5.75, "y": 3},
|
||||
{"x": 6.75, "y": 3},
|
||||
{"x": 7.75, "y": 3},
|
||||
{"x": 8.75, "y": 3},
|
||||
{"x": 9.75, "y": 3},
|
||||
{"x": 10.75, "y": 3},
|
||||
{"x": 11.75, "y": 3},
|
||||
{"x": 12.75, "y": 3, "w": 2.25},
|
||||
{"x": 15, "y": 3},
|
||||
{"x": 16, "y": 3},
|
||||
{"x": 17, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4, "w": 2.25},
|
||||
{"x": 2.25, "y": 4},
|
||||
{"x": 3.25, "y": 4},
|
||||
{"x": 4.25, "y": 4},
|
||||
{"x": 5.25, "y": 4},
|
||||
{"x": 6.25, "y": 4},
|
||||
{"x": 7.25, "y": 4},
|
||||
{"x": 8.25, "y": 4},
|
||||
{"x": 9.25, "y": 4},
|
||||
{"x": 10.25, "y": 4},
|
||||
{"x": 11.25, "y": 4},
|
||||
{"x": 12.25, "y": 4, "w": 1.75},
|
||||
{"x": 14, "y": 4},
|
||||
{"x": 15, "y": 4},
|
||||
{"x": 16, "y": 4},
|
||||
{"x": 17, "y": 4},
|
||||
{"x": 18, "y": 4, "h": 2},
|
||||
|
||||
{"x": 0, "y": 5, "w": 1.25},
|
||||
{"x": 1.25, "y": 5, "w": 1.25},
|
||||
{"x": 2.5, "y": 5, "w": 1.25},
|
||||
{"x": 3.75, "y": 5, "w": 6.25},
|
||||
{"x": 10, "y": 5},
|
||||
{"x": 11, "y": 5},
|
||||
{"x": 12, "y": 5},
|
||||
{"x": 13, "y": 5},
|
||||
{"x": 14, "y": 5},
|
||||
{"x": 15, "y": 5},
|
||||
{"x": 16, "y": 5},
|
||||
{"x": 17, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_std60_split_num0": {
|
||||
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Home", "x":14, "y":0}, {"label":"End", "x":15, "y":0}, {"label":"PgUp", "x":16, "y":0}, {"label":"PgDn", "x":17, "y":0}, {"label":"Delete", "x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Num Lock", "x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"label":"+", "x":18, "y":2, "h":2}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":2.75}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"GUI", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"label":"Space", "x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5, "w":1.25}, {"label":"Fn", "x":11.25, "y":5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5, "w":1.25}, {"label":"0", "x":15, "y":5}, {"label":"00", "x":16, "y":5}, {"label":".", "x":17, "y":5}, {"label":"Enter", "x":18, "y":4, "h":2}]
|
||||
"LAYOUT_96_ansi_splitbs": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
{"x": 12, "y": 0},
|
||||
{"x": 13, "y": 0},
|
||||
{"x": 14, "y": 0},
|
||||
{"x": 15, "y": 0},
|
||||
{"x": 16, "y": 0},
|
||||
{"x": 17, "y": 0},
|
||||
{"x": 18, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
{"x": 12, "y": 1},
|
||||
{"x": 13, "y": 1},
|
||||
{"x": 14, "y": 1},
|
||||
{"x": 15, "y": 1},
|
||||
{"x": 16, "y": 1},
|
||||
{"x": 17, "y": 1},
|
||||
{"x": 18, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2, "w": 1.5},
|
||||
{"x": 1.5, "y": 2},
|
||||
{"x": 2.5, "y": 2},
|
||||
{"x": 3.5, "y": 2},
|
||||
{"x": 4.5, "y": 2},
|
||||
{"x": 5.5, "y": 2},
|
||||
{"x": 6.5, "y": 2},
|
||||
{"x": 7.5, "y": 2},
|
||||
{"x": 8.5, "y": 2},
|
||||
{"x": 9.5, "y": 2},
|
||||
{"x": 10.5, "y": 2},
|
||||
{"x": 11.5, "y": 2},
|
||||
{"x": 12.5, "y": 2},
|
||||
{"x": 13.5, "y": 2, "w": 1.5},
|
||||
{"x": 15, "y": 2},
|
||||
{"x": 16, "y": 2},
|
||||
{"x": 17, "y": 2},
|
||||
{"x": 18, "y": 2, "h": 2},
|
||||
|
||||
{"x": 0, "y": 3, "w": 1.75},
|
||||
{"x": 1.75, "y": 3},
|
||||
{"x": 2.75, "y": 3},
|
||||
{"x": 3.75, "y": 3},
|
||||
{"x": 4.75, "y": 3},
|
||||
{"x": 5.75, "y": 3},
|
||||
{"x": 6.75, "y": 3},
|
||||
{"x": 7.75, "y": 3},
|
||||
{"x": 8.75, "y": 3},
|
||||
{"x": 9.75, "y": 3},
|
||||
{"x": 10.75, "y": 3},
|
||||
{"x": 11.75, "y": 3},
|
||||
{"x": 12.75, "y": 3, "w": 2.25},
|
||||
{"x": 15, "y": 3},
|
||||
{"x": 16, "y": 3},
|
||||
{"x": 17, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4, "w": 2.25},
|
||||
{"x": 2.25, "y": 4},
|
||||
{"x": 3.25, "y": 4},
|
||||
{"x": 4.25, "y": 4},
|
||||
{"x": 5.25, "y": 4},
|
||||
{"x": 6.25, "y": 4},
|
||||
{"x": 7.25, "y": 4},
|
||||
{"x": 8.25, "y": 4},
|
||||
{"x": 9.25, "y": 4},
|
||||
{"x": 10.25, "y": 4},
|
||||
{"x": 11.25, "y": 4},
|
||||
{"x": 12.25, "y": 4, "w": 1.75},
|
||||
{"x": 14, "y": 4},
|
||||
{"x": 15, "y": 4},
|
||||
{"x": 16, "y": 4},
|
||||
{"x": 17, "y": 4},
|
||||
{"x": 18, "y": 4, "h": 2},
|
||||
|
||||
{"x": 0, "y": 5, "w": 1.25},
|
||||
{"x": 1.25, "y": 5, "w": 1.25},
|
||||
{"x": 2.5, "y": 5, "w": 1.25},
|
||||
{"x": 3.75, "y": 5, "w": 6.25},
|
||||
{"x": 10, "y": 5},
|
||||
{"x": 11, "y": 5},
|
||||
{"x": 12, "y": 5},
|
||||
{"x": 13, "y": 5},
|
||||
{"x": 14, "y": 5},
|
||||
{"x": 15, "y": 5},
|
||||
{"x": 16, "y": 5},
|
||||
{"x": 17, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_96_iso": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
{"x": 12, "y": 0},
|
||||
{"x": 13, "y": 0},
|
||||
{"x": 14, "y": 0},
|
||||
{"x": 15, "y": 0},
|
||||
{"x": 16, "y": 0},
|
||||
{"x": 17, "y": 0},
|
||||
{"x": 18, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
{"x": 12, "y": 1},
|
||||
{"x": 13, "y": 1, "w": 2},
|
||||
{"x": 15, "y": 1},
|
||||
{"x": 16, "y": 1},
|
||||
{"x": 17, "y": 1},
|
||||
{"x": 18, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2, "w": 1.5},
|
||||
{"x": 1.5, "y": 2},
|
||||
{"x": 2.5, "y": 2},
|
||||
{"x": 3.5, "y": 2},
|
||||
{"x": 4.5, "y": 2},
|
||||
{"x": 5.5, "y": 2},
|
||||
{"x": 6.5, "y": 2},
|
||||
{"x": 7.5, "y": 2},
|
||||
{"x": 8.5, "y": 2},
|
||||
{"x": 9.5, "y": 2},
|
||||
{"x": 10.5, "y": 2},
|
||||
{"x": 11.5, "y": 2},
|
||||
{"x": 12.5, "y": 2},
|
||||
{"x": 15, "y": 2},
|
||||
{"x": 16, "y": 2},
|
||||
{"x": 17, "y": 2},
|
||||
{"x": 18, "y": 2, "h": 2},
|
||||
|
||||
{"x": 0, "y": 3, "w": 1.75},
|
||||
{"x": 1.75, "y": 3},
|
||||
{"x": 2.75, "y": 3},
|
||||
{"x": 3.75, "y": 3},
|
||||
{"x": 4.75, "y": 3},
|
||||
{"x": 5.75, "y": 3},
|
||||
{"x": 6.75, "y": 3},
|
||||
{"x": 7.75, "y": 3},
|
||||
{"x": 8.75, "y": 3},
|
||||
{"x": 9.75, "y": 3},
|
||||
{"x": 10.75, "y": 3},
|
||||
{"x": 11.75, "y": 3},
|
||||
{"x": 12.75, "y": 3},
|
||||
{"x": 13.75, "y": 2, "w": 1.25, "h": 2},
|
||||
{"x": 15, "y": 3},
|
||||
{"x": 16, "y": 3},
|
||||
{"x": 17, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4, "w": 1.25},
|
||||
{"x": 1.25, "y": 4},
|
||||
{"x": 2.25, "y": 4},
|
||||
{"x": 3.25, "y": 4},
|
||||
{"x": 4.25, "y": 4},
|
||||
{"x": 5.25, "y": 4},
|
||||
{"x": 6.25, "y": 4},
|
||||
{"x": 7.25, "y": 4},
|
||||
{"x": 8.25, "y": 4},
|
||||
{"x": 9.25, "y": 4},
|
||||
{"x": 10.25, "y": 4},
|
||||
{"x": 11.25, "y": 4},
|
||||
{"x": 12.25, "y": 4, "w": 1.75},
|
||||
{"x": 14, "y": 4},
|
||||
{"x": 15, "y": 4},
|
||||
{"x": 16, "y": 4},
|
||||
{"x": 17, "y": 4},
|
||||
{"x": 18, "y": 4, "h": 2},
|
||||
|
||||
{"x": 0, "y": 5, "w": 1.25},
|
||||
{"x": 1.25, "y": 5, "w": 1.25},
|
||||
{"x": 2.5, "y": 5, "w": 1.25},
|
||||
{"x": 3.75, "y": 5, "w": 6.25},
|
||||
{"x": 10, "y": 5},
|
||||
{"x": 11, "y": 5},
|
||||
{"x": 12, "y": 5},
|
||||
{"x": 13, "y": 5},
|
||||
{"x": 14, "y": 5},
|
||||
{"x": 15, "y": 5},
|
||||
{"x": 16, "y": 5},
|
||||
{"x": 17, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_96_iso_splitbs": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
{"x": 12, "y": 0},
|
||||
{"x": 13, "y": 0},
|
||||
{"x": 14, "y": 0},
|
||||
{"x": 15, "y": 0},
|
||||
{"x": 16, "y": 0},
|
||||
{"x": 17, "y": 0},
|
||||
{"x": 18, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
{"x": 12, "y": 1},
|
||||
{"x": 13, "y": 1},
|
||||
{"x": 14, "y": 1},
|
||||
{"x": 15, "y": 1},
|
||||
{"x": 16, "y": 1},
|
||||
{"x": 17, "y": 1},
|
||||
{"x": 18, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2, "w": 1.5},
|
||||
{"x": 1.5, "y": 2},
|
||||
{"x": 2.5, "y": 2},
|
||||
{"x": 3.5, "y": 2},
|
||||
{"x": 4.5, "y": 2},
|
||||
{"x": 5.5, "y": 2},
|
||||
{"x": 6.5, "y": 2},
|
||||
{"x": 7.5, "y": 2},
|
||||
{"x": 8.5, "y": 2},
|
||||
{"x": 9.5, "y": 2},
|
||||
{"x": 10.5, "y": 2},
|
||||
{"x": 11.5, "y": 2},
|
||||
{"x": 12.5, "y": 2},
|
||||
{"x": 15, "y": 2},
|
||||
{"x": 16, "y": 2},
|
||||
{"x": 17, "y": 2},
|
||||
{"x": 18, "y": 2, "h": 2},
|
||||
|
||||
{"x": 0, "y": 3, "w": 1.75},
|
||||
{"x": 1.75, "y": 3},
|
||||
{"x": 2.75, "y": 3},
|
||||
{"x": 3.75, "y": 3},
|
||||
{"x": 4.75, "y": 3},
|
||||
{"x": 5.75, "y": 3},
|
||||
{"x": 6.75, "y": 3},
|
||||
{"x": 7.75, "y": 3},
|
||||
{"x": 8.75, "y": 3},
|
||||
{"x": 9.75, "y": 3},
|
||||
{"x": 10.75, "y": 3},
|
||||
{"x": 11.75, "y": 3},
|
||||
{"x": 12.75, "y": 3},
|
||||
{"x": 13.75, "y": 2, "w": 1.25, "h": 2},
|
||||
{"x": 15, "y": 3},
|
||||
{"x": 16, "y": 3},
|
||||
{"x": 17, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4, "w": 1.25},
|
||||
{"x": 1.25, "y": 4},
|
||||
{"x": 2.25, "y": 4},
|
||||
{"x": 3.25, "y": 4},
|
||||
{"x": 4.25, "y": 4},
|
||||
{"x": 5.25, "y": 4},
|
||||
{"x": 6.25, "y": 4},
|
||||
{"x": 7.25, "y": 4},
|
||||
{"x": 8.25, "y": 4},
|
||||
{"x": 9.25, "y": 4},
|
||||
{"x": 10.25, "y": 4},
|
||||
{"x": 11.25, "y": 4},
|
||||
{"x": 12.25, "y": 4, "w": 1.75},
|
||||
{"x": 14, "y": 4},
|
||||
{"x": 15, "y": 4},
|
||||
{"x": 16, "y": 4},
|
||||
{"x": 17, "y": 4},
|
||||
{"x": 18, "y": 4, "h": 2},
|
||||
|
||||
{"x": 0, "y": 5, "w": 1.25},
|
||||
{"x": 1.25, "y": 5, "w": 1.25},
|
||||
{"x": 2.5, "y": 5, "w": 1.25},
|
||||
{"x": 3.75, "y": 5, "w": 6.25},
|
||||
{"x": 10, "y": 5},
|
||||
{"x": 11, "y": 5},
|
||||
{"x": 12, "y": 5},
|
||||
{"x": 13, "y": 5},
|
||||
{"x": 14, "y": 5},
|
||||
{"x": 15, "y": 5},
|
||||
{"x": 16, "y": 5},
|
||||
{"x": 17, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_96_with60": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
{"x": 12, "y": 0},
|
||||
{"x": 13, "y": 0},
|
||||
{"x": 14, "y": 0},
|
||||
{"x": 15, "y": 0},
|
||||
{"x": 16, "y": 0},
|
||||
{"x": 17, "y": 0},
|
||||
{"x": 18, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
{"x": 12, "y": 1},
|
||||
{"x": 13, "y": 1, "w": 2},
|
||||
{"x": 15, "y": 1},
|
||||
{"x": 16, "y": 1},
|
||||
{"x": 17, "y": 1},
|
||||
{"x": 18, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2, "w": 1.5},
|
||||
{"x": 1.5, "y": 2},
|
||||
{"x": 2.5, "y": 2},
|
||||
{"x": 3.5, "y": 2},
|
||||
{"x": 4.5, "y": 2},
|
||||
{"x": 5.5, "y": 2},
|
||||
{"x": 6.5, "y": 2},
|
||||
{"x": 7.5, "y": 2},
|
||||
{"x": 8.5, "y": 2},
|
||||
{"x": 9.5, "y": 2},
|
||||
{"x": 10.5, "y": 2},
|
||||
{"x": 11.5, "y": 2},
|
||||
{"x": 12.5, "y": 2},
|
||||
{"x": 13.5, "y": 2, "w": 1.5},
|
||||
{"x": 15, "y": 2},
|
||||
{"x": 16, "y": 2},
|
||||
{"x": 17, "y": 2},
|
||||
{"x": 18, "y": 2, "h": 2},
|
||||
|
||||
{"x": 0, "y": 3, "w": 1.75},
|
||||
{"x": 1.75, "y": 3},
|
||||
{"x": 2.75, "y": 3},
|
||||
{"x": 3.75, "y": 3},
|
||||
{"x": 4.75, "y": 3},
|
||||
{"x": 5.75, "y": 3},
|
||||
{"x": 6.75, "y": 3},
|
||||
{"x": 7.75, "y": 3},
|
||||
{"x": 8.75, "y": 3},
|
||||
{"x": 9.75, "y": 3},
|
||||
{"x": 10.75, "y": 3},
|
||||
{"x": 11.75, "y": 3},
|
||||
{"x": 12.75, "y": 3, "w": 2.25},
|
||||
{"x": 15, "y": 3},
|
||||
{"x": 16, "y": 3},
|
||||
{"x": 17, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4, "w": 2.25},
|
||||
{"x": 2.25, "y": 4},
|
||||
{"x": 3.25, "y": 4},
|
||||
{"x": 4.25, "y": 4},
|
||||
{"x": 5.25, "y": 4},
|
||||
{"x": 6.25, "y": 4},
|
||||
{"x": 7.25, "y": 4},
|
||||
{"x": 8.25, "y": 4},
|
||||
{"x": 9.25, "y": 4},
|
||||
{"x": 10.25, "y": 4},
|
||||
{"x": 11.25, "y": 4},
|
||||
{"x": 12.25, "y": 4, "w": 2.75},
|
||||
{"x": 15, "y": 4},
|
||||
{"x": 16, "y": 4},
|
||||
{"x": 17, "y": 4},
|
||||
{"x": 18, "y": 4, "h": 2}
|
||||
|
||||
{"x": 0, "y": 5, "w": 1.25},
|
||||
{"x": 1.25, "y": 5, "w": 1.25},
|
||||
{"x": 2.5, "y": 5, "w": 1.25},
|
||||
{"x": 3.75, "y": 5, "w": 6.25},
|
||||
{"x": 10, "y": 5, "w": 1.25},
|
||||
{"x": 11.25, "y": 5, "w": 1.25},
|
||||
{"x": 12.5, "y": 5, "w": 1.25},
|
||||
{"x": 13.75, "y": 5, "w": 1.25},
|
||||
{"x": 15, "y": 5, "w": 2},
|
||||
{"x": 17, "y": 5},
|
||||
]
|
||||
},
|
||||
"LAYOUT_96_with60_splitbs": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
{"x": 12, "y": 0},
|
||||
{"x": 13, "y": 0},
|
||||
{"x": 14, "y": 0},
|
||||
{"x": 15, "y": 0},
|
||||
{"x": 16, "y": 0},
|
||||
{"x": 17, "y": 0},
|
||||
{"x": 18, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
{"x": 12, "y": 1},
|
||||
{"x": 13, "y": 1},
|
||||
{"x": 14, "y": 1},
|
||||
{"x": 15, "y": 1},
|
||||
{"x": 16, "y": 1},
|
||||
{"x": 17, "y": 1},
|
||||
{"x": 18, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2, "w": 1.5},
|
||||
{"x": 1.5, "y": 2},
|
||||
{"x": 2.5, "y": 2},
|
||||
{"x": 3.5, "y": 2},
|
||||
{"x": 4.5, "y": 2},
|
||||
{"x": 5.5, "y": 2},
|
||||
{"x": 6.5, "y": 2},
|
||||
{"x": 7.5, "y": 2},
|
||||
{"x": 8.5, "y": 2},
|
||||
{"x": 9.5, "y": 2},
|
||||
{"x": 10.5, "y": 2},
|
||||
{"x": 11.5, "y": 2},
|
||||
{"x": 12.5, "y": 2},
|
||||
{"x": 13.5, "y": 2, "w": 1.5},
|
||||
{"x": 15, "y": 2},
|
||||
{"x": 16, "y": 2},
|
||||
{"x": 17, "y": 2},
|
||||
{"x": 18, "y": 2, "h": 2},
|
||||
|
||||
{"x": 0, "y": 3, "w": 1.75},
|
||||
{"x": 1.75, "y": 3},
|
||||
{"x": 2.75, "y": 3},
|
||||
{"x": 3.75, "y": 3},
|
||||
{"x": 4.75, "y": 3},
|
||||
{"x": 5.75, "y": 3},
|
||||
{"x": 6.75, "y": 3},
|
||||
{"x": 7.75, "y": 3},
|
||||
{"x": 8.75, "y": 3},
|
||||
{"x": 9.75, "y": 3},
|
||||
{"x": 10.75, "y": 3},
|
||||
{"x": 11.75, "y": 3},
|
||||
{"x": 12.75, "y": 3, "w": 2.25},
|
||||
{"x": 15, "y": 3},
|
||||
{"x": 16, "y": 3},
|
||||
{"x": 17, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4, "w": 2.25},
|
||||
{"x": 2.25, "y": 4},
|
||||
{"x": 3.25, "y": 4},
|
||||
{"x": 4.25, "y": 4},
|
||||
{"x": 5.25, "y": 4},
|
||||
{"x": 6.25, "y": 4},
|
||||
{"x": 7.25, "y": 4},
|
||||
{"x": 8.25, "y": 4},
|
||||
{"x": 9.25, "y": 4},
|
||||
{"x": 10.25, "y": 4},
|
||||
{"x": 11.25, "y": 4},
|
||||
{"x": 12.25, "y": 4, "w": 2.75},
|
||||
{"x": 15, "y": 4},
|
||||
{"x": 16, "y": 4},
|
||||
{"x": 17, "y": 4},
|
||||
{"x": 18, "y": 4, "h": 2}
|
||||
|
||||
{"x": 0, "y": 5, "w": 1.25},
|
||||
{"x": 1.25, "y": 5, "w": 1.25},
|
||||
{"x": 2.5, "y": 5, "w": 1.25},
|
||||
{"x": 3.75, "y": 5, "w": 6.25},
|
||||
{"x": 10, "y": 5, "w": 1.25},
|
||||
{"x": 11.25, "y": 5, "w": 1.25},
|
||||
{"x": 12.5, "y": 5, "w": 1.25},
|
||||
{"x": 13.75, "y": 5, "w": 1.25},
|
||||
{"x": 15, "y": 5, "w": 2},
|
||||
{"x": 17, "y": 5},
|
||||
]
|
||||
},
|
||||
"LAYOUT_96_with60_split_num0": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
{"x": 12, "y": 0},
|
||||
{"x": 13, "y": 0},
|
||||
{"x": 14, "y": 0},
|
||||
{"x": 15, "y": 0},
|
||||
{"x": 16, "y": 0},
|
||||
{"x": 17, "y": 0},
|
||||
{"x": 18, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
{"x": 12, "y": 1},
|
||||
{"x": 13, "y": 1, "w": 2},
|
||||
{"x": 15, "y": 1},
|
||||
{"x": 16, "y": 1},
|
||||
{"x": 17, "y": 1},
|
||||
{"x": 18, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2, "w": 1.5},
|
||||
{"x": 1.5, "y": 2},
|
||||
{"x": 2.5, "y": 2},
|
||||
{"x": 3.5, "y": 2},
|
||||
{"x": 4.5, "y": 2},
|
||||
{"x": 5.5, "y": 2},
|
||||
{"x": 6.5, "y": 2},
|
||||
{"x": 7.5, "y": 2},
|
||||
{"x": 8.5, "y": 2},
|
||||
{"x": 9.5, "y": 2},
|
||||
{"x": 10.5, "y": 2},
|
||||
{"x": 11.5, "y": 2},
|
||||
{"x": 12.5, "y": 2},
|
||||
{"x": 13.5, "y": 2, "w": 1.5},
|
||||
{"x": 15, "y": 2},
|
||||
{"x": 16, "y": 2},
|
||||
{"x": 17, "y": 2},
|
||||
{"x": 18, "y": 2, "h": 2},
|
||||
|
||||
{"x": 0, "y": 3, "w": 1.75},
|
||||
{"x": 1.75, "y": 3},
|
||||
{"x": 2.75, "y": 3},
|
||||
{"x": 3.75, "y": 3},
|
||||
{"x": 4.75, "y": 3},
|
||||
{"x": 5.75, "y": 3},
|
||||
{"x": 6.75, "y": 3},
|
||||
{"x": 7.75, "y": 3},
|
||||
{"x": 8.75, "y": 3},
|
||||
{"x": 9.75, "y": 3},
|
||||
{"x": 10.75, "y": 3},
|
||||
{"x": 11.75, "y": 3},
|
||||
{"x": 12.75, "y": 3, "w": 2.25},
|
||||
{"x": 15, "y": 3},
|
||||
{"x": 16, "y": 3},
|
||||
{"x": 17, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4, "w": 2.25},
|
||||
{"x": 2.25, "y": 4},
|
||||
{"x": 3.25, "y": 4},
|
||||
{"x": 4.25, "y": 4},
|
||||
{"x": 5.25, "y": 4},
|
||||
{"x": 6.25, "y": 4},
|
||||
{"x": 7.25, "y": 4},
|
||||
{"x": 8.25, "y": 4},
|
||||
{"x": 9.25, "y": 4},
|
||||
{"x": 10.25, "y": 4},
|
||||
{"x": 11.25, "y": 4},
|
||||
{"x": 12.25, "y": 4, "w": 2.75},
|
||||
{"x": 15, "y": 4},
|
||||
{"x": 16, "y": 4},
|
||||
{"x": 17, "y": 4},
|
||||
{"x": 18, "y": 4, "h": 2},
|
||||
|
||||
{"x": 0, "y": 5, "w": 1.25},
|
||||
{"x": 1.25, "y": 5, "w": 1.25},
|
||||
{"x": 2.5, "y": 5, "w": 1.25},
|
||||
{"x": 3.75, "y": 5, "w": 6.25},
|
||||
{"x": 10, "y": 5, "w": 1.25},
|
||||
{"x": 11.25, "y": 5, "w": 1.25},
|
||||
{"x": 12.5, "y": 5, "w": 1.25},
|
||||
{"x": 13.75, "y": 5, "w": 1.25},
|
||||
{"x": 15, "y": 5},
|
||||
{"x": 16, "y": 5},
|
||||
{"x": 17, "y": 5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,74 +1,20 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Layer 0, default layer
|
||||
____________________________________________________________________________________________________________________________________________________________________________
|
||||
| | | | | | | | | | | | | | | | | | | |
|
||||
| ESC* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | P SCN | HOME | END | P UP | P DOWN | DEL |
|
||||
|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
|
||||
| | | | | | | | | | | | | | | BACK | NUM | | | |
|
||||
| ~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | _ - | = + | \ | SPACE | LOCK | / | * | - |
|
||||
|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
|
||||
| | | | | | | | | | | | [ | ] | | | | | |
|
||||
| TAB | Q | W | E | R | T | Y | U | I | O | P | { | } | | \ | 7 | 8 | 9 | - |
|
||||
|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|________|
|
||||
| | | | | | | | | | | ; | ' | | | | | |
|
||||
| CAPS LOCK | A | S | D | F | G | H | J | K | L | : | " | ENTER | 4 | 5 | 6 | + |
|
||||
|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
|
||||
| | | | | | | | | | , | . | / | | | | | | |
|
||||
| SHIFT | NUBS | Z | X | C | V | B | N | M | < | > | ? | SHIFT | UP | 1 | 2 | 3 | ENTER |
|
||||
|_________|________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|________|
|
||||
| | | | | | MO | MO | | | | | | |
|
||||
| CTRL | LGUI | L ALT | SPACE | R ALT | _FN | _FN | LEFT | DOWN | RIGHT | 0 | . | ENTER |
|
||||
|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
|
||||
*/
|
||||
|
||||
|
||||
|
||||
LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_NLCK, 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_PMNS,
|
||||
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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
|
||||
|
||||
|
||||
|
||||
/* Layer 1, function layer
|
||||
____________________________________________________________________________________________________________________________________________________________________________
|
||||
| | | | | | | | | | | | | | | VOL | VOL | | | |
|
||||
| RESET | | | | | | | | | | | | | MUTE | DOWN | UP | | | |
|
||||
|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
|
||||
| | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | |
|
||||
|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
|
||||
| | RGB | | RGB | HUE | HUE | SATUR. | SATUR. | VALUE | VALUE | | | | | | | | |
|
||||
| | TOGGLE | | MODE |INCREASE| DCRSE |INCREASE| DCRSE |INCREASE| DCRSE | | | | | | | | |
|
||||
|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|________|
|
||||
| BACKLIGHT | | | | | | | | | | | | | | | | |
|
||||
| TOGGLE | | | | | | | | | | | | | | | | |
|
||||
|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
|
||||
| | | | |BACKLHT |BACKLHT |BACKLHT | | | | | | | | | | | |
|
||||
| | | | | DCRSE |TOGGLE |INCREASE| | | | | | | | | | | |
|
||||
|_________|________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|________|
|
||||
| | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | |
|
||||
|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
|
||||
BL_TOGG, BL_DEC, BL_INC changes the in-switch LEDs
|
||||
*/
|
||||
|
||||
|
||||
LAYOUT(
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_NLCK, 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_PMNS,
|
||||
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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
return true;
|
||||
}
|
||||
+14
-18
@@ -1,40 +1,36 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Defines the keycodes used by our macros in process_record_user
|
||||
enum custom_keycodes {
|
||||
KC_P00 = SAFE_RANGE
|
||||
};
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_std60_split_num0(
|
||||
[0] = LAYOUT_96_with60_split_num0(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL,
|
||||
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_NLCK, 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_P1, KC_P2, KC_P3,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_P0, KC_P00, KC_PDOT, KC_PENT
|
||||
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_PPLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
|
||||
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_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_P0, KC_P00, KC_PDOT
|
||||
),
|
||||
|
||||
[0] = LAYOUT_std60_split_num0(
|
||||
[1] = LAYOUT_96_with60_split_num0(
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
_______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_P00:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("00");
|
||||
tap_code(KC_P0);
|
||||
tap_code(KC_P0);
|
||||
}
|
||||
break;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
# default_std60_split_num0
|
||||
|
||||
A modified default keymap for use with the LAYOUT_std60_split_num0 macro.
|
||||
|
||||
## Base Layer
|
||||
|
||||
```
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
│Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Prt│Hm │End│PUp│PDn│Del│
|
||||
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤
|
||||
│` ~│1 !│2 @│3 #│4 $│5 %│6 ^│7 &│8 *│9 (│0 )│- _│= +│ Bksp │NLk│ / │ * │ - │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤
|
||||
│ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │[ {│] }│ \ | │7 │8 │9 │ + │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤ │
|
||||
│CapsLk│ A │ S │ D │ F │ G │ H │ J │ K │ L │; :│' "│ Enter │4 │5 │6 │ │
|
||||
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┼───┼───┼───┼───┤
|
||||
│ Shift │ Z │ X │ C │ V │ B │ N │ M │, <│. >│/ ?│ Shift │1 │2 │3 │Ent│
|
||||
├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┼───┼───┼───┤ │
|
||||
│Ctrl│GUI │Alt │Space │Alt │Fn │Menu│Ctrl│0 │00 │ . │ │
|
||||
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┴───┴───┴───┴───┘
|
||||
```
|
||||
|
||||
## Function Layer
|
||||
|
||||
```
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
│RST│ │ │ │ │ │ │ │ │ │ │ │ │Mut│VDn│VUp│ │ │ │
|
||||
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤
|
||||
│ │RTg│ │RMd│RH+│RH-│RS+│RS-│RV+│RV-│ │ │ │ │ │ │ │ │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤ │
|
||||
│BLTogg│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┼───┼───┼───┼───┤
|
||||
│ │ │ │BL-│BTg│BL+│ │ │ │ │ │ │ │ │ │ │
|
||||
├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┼───┼───┼───┤ │
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┴───┴───┴───┴───┘
|
||||
```
|
||||
@@ -1,36 +1,36 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_NLCK, 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_PMNS,
|
||||
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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
|
||||
|
||||
[1] = LAYOUT(
|
||||
RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, RGB_TOG, KC_TRNS, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[2] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[3] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_NLCK, 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_PMNS,
|
||||
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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[3] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
@@ -1,5 +0,0 @@
|
||||
# The via keymap for YMDK Melody 96
|
||||
|
||||
This folder contains the [VIA](https://caniusevia.com/) configuration for the YMDK Melody 96
|
||||
|
||||
Maintained by: [vlee489](https://github.com/vlee489)
|
||||
@@ -1,2 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes # reduce firmware size
|
||||
LTO_ENABLE = yes
|
||||
+221
-89
@@ -2,100 +2,232 @@
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT( \
|
||||
K050, K051, K052, K053, K054, K055, K056, K057, K058, K118, K117, K115, K114, K113, K116, K112, K111, K110, K063, \
|
||||
K040, K041, K042, K043, K044, K045, K046, K047, K048, K108, K107, K105, K104, K103, K106, K102, K101, K100, K064, \
|
||||
K030, K031, K032, K033, K034, K035, K036, K037, K038, K098, K097, K095, K094, K084, K096, K092, K091, K090, \
|
||||
K020, K021, K022, K023, K024, K025, K026, K027, K028, K088, K087, K085, K093, K086, K082, K081, K080, \
|
||||
K010, K011, K012, K013, K014, K015, K016, K017, K018, K078, K077, K075, K074, K073, K076, K072, K071, K070, \
|
||||
K000, K001, K002, K006, K008, K007, K005, K004, K003, K066, K062, K061, K060 \
|
||||
) { \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
|
||||
{ K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
|
||||
{ K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
|
||||
{ K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
|
||||
{ K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
|
||||
{ K050, K051, K052, K053, K054, K055, K056, K057, K058 }, \
|
||||
{ K060, K061, K062, K063, K064, KC_NO, K066, KC_NO, KC_NO }, \
|
||||
{ K070, K071, K072, K073, K074, K075, K076, K077, K078 }, \
|
||||
{ K080, K081, K082, KC_NO, K084, K085, K086, K087, K088 }, \
|
||||
{ K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \
|
||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108 }, \
|
||||
{ K110, K111, K112, K113, K114, K115, K116, K117, K118 } \
|
||||
}
|
||||
#define XXX KC_NO
|
||||
|
||||
/*
|
||||
* The layout macro for the layout of hotswap keyboards, with illustrative grid of a typical
|
||||
* assignment.
|
||||
* ,---------------------------------------------------------------------------
|
||||
* |ESC|F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|PSC|HOM|END|PGU|PGD|DEL|
|
||||
* ,--------------------------------------------------------------------------|
|
||||
* | ` |1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | BKSPC |NLK| / | * | - |
|
||||
* |--------------------------------------------------------------------------|
|
||||
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | 7 | 8 | 9 | |
|
||||
* |----------------------------------------------------------------------| + |
|
||||
* | CTRL | A | S | D | F | G | H | J | K | L | ; | ' | RET | 4 | 5 | 6 | |
|
||||
* |----------------------------------------------------------------------|---|
|
||||
* | LSHIFT | Z | X | C | V | B | N | M | , | . | / |RSHFT| ↑ | 1 | 2 | 3 | |
|
||||
* |----------------------------------------------------------------------|ENT|
|
||||
* |LCTL|LWIN|LALT| SPACE |CTL|ALT|FN | ← | ↓ | → | 0 | . | |
|
||||
* `---------------------------------------------------------------------------
|
||||
* ┌────┬───┐ ┌───┬───┐
|
||||
* │10 │11 │ │A3 │A6 │
|
||||
* └────┴───┘ └───┴───┘
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │50 │51 │52 │53 │54 │55 │56 │57 │58 │B8 │B7 │B5 │B4 │B3 │B6 │B2 │B1 │B0 │63 │
|
||||
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤
|
||||
* │40 │41 │42 │43 │44 │45 │46 │47 │48 │A8 │A7 │A5 │A4 │A6 │A2 │A1 │A0 │64 │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤ ┌─────┐ ┌───┐
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │98 │97 │95 │94 │93 │96 │92 │91 │80 │ │93 │ │90 │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤ │ ┌──┴┐ │ ├───┤
|
||||
* │20 │21 │22 │23 │24 │25 │26 │27 │28 │88 │87 │85 │84 │86 │82 │81 │ │ │84 │ │ │80 │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ ├───┼────┘ └───┘
|
||||
* │10 │12 │13 │14 │15 │16 │17 │18 │78 │77 │75 │74 │73 │76 │72 │71 │60 │ │70 │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┴───┼───┤ │ ├───┤
|
||||
* │00 │01 │02 │06 │08 │07 │05 │04 │03 │62 │61 │ │ │60 │
|
||||
* └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───────┴───┴───┘ └───┘
|
||||
* ┌──────────┬───┬───┐
|
||||
* │74 │66 │62 │
|
||||
* └──────────┴───┴───┘
|
||||
* ┌────┬────┬────┬────────────────────────┬─────┬─────┬───┬───┐
|
||||
* │00 │01 │02 │06 │08 │05 │04 │03 │
|
||||
* └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┘
|
||||
* ┌────┬────┬────┬─────────────────────────────┬────┬────┬────┐
|
||||
* │00 │01 │02 │06 │08 │07 │04 │03 │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
* ┌─────┬─────┬───────────────────────────┬─────┬─────┬───┬───┐
|
||||
* │00 │01 │06 │08 │05 │04 │03 │
|
||||
* └─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┘
|
||||
* ┌─────┬─────┬───────────────────────────┬────┬────┬────┬────┐
|
||||
* │00 │01 │06 │08 │07 │04 │03 │
|
||||
* └─────┴─────┴───────────────────────────┴────┴────┴────┴────┘
|
||||
* ┌─────┬─────┬───────────────────────────┬───┬───┬───┬───┬───┐
|
||||
* │00 │01 │06 │08 │07 │05 │04 │03 │
|
||||
* └─────┴─────┴───────────────────────────┴───┴───┴───┴───┴───┘
|
||||
* ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
|
||||
* │00 │01 │02 │06 │07 │04 │03 │
|
||||
* └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
|
||||
* ┌─────┬───┬─────┬───────────────────────────┬───┬───┬───┬───┐
|
||||
* │00 │01 │02 │06 │07 │05 │04 │03 │
|
||||
* └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
|
||||
* ┌─────┬───┬─────┬───────────────────────┬─────┬─────┬───┬───┐
|
||||
* │00 │01 │02 │06 │08 │05 │04 │03 │
|
||||
* └─────┴───┴─────┴───────────────────────┴─────┴─────┴───┴───┘
|
||||
* ┌─────┬───┬─────┬───────────────────────┬───┬───┬───┬───┬───┐
|
||||
* │00 │01 │02 │06 │08 │07 │05 │04 │03 │
|
||||
* └─────┴───┴─────┴───────────────────────┴───┴───┴───┴───┴───┘
|
||||
* ┌─────┬───┬─────┬───────────────────────┬────┬────┬────┬────┐
|
||||
* │00 │01 │02 │06 │08 │07 │04 │03 │
|
||||
* └─────┴───┴─────┴───────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
#define LAYOUT_hotswap( \
|
||||
K050, K051, K052, K053, K054, K055, K056, K057, K058, K118, K117, K115, K114, K113, K116, K112, K111, K110, K063, \
|
||||
K040, K041, K042, K043, K044, K045, K046, K047, K048, K108, K107, K105, K104, K106, K102, K101, K100, K064, \
|
||||
K030, K031, K032, K033, K034, K035, K036, K037, K038, K098, K097, K095, K094, K093, K096, K092, K091, \
|
||||
K020, K021, K022, K023, K024, K025, K026, K027, K028, K088, K087, K085, K084, K086, K082, K081, K080, \
|
||||
K010, K012, K013, K014, K015, K016, K017, K018, K078, K077, K075, K074, K073, K076, K072, K071, \
|
||||
K000, K001, K002, K006, K008, K007, K005, K004, K003, K066, K062, K061, K060 \
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k93, k96, k92, k91, k90, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k86, k82, k81, k80, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k70, \
|
||||
k00, k01, k02, k06, k08, k07, k05, k04, k03, k66, k62, k61, k60 \
|
||||
) { \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
|
||||
{ K010, KC_NO, K012, K013, K014, K015, K016, K017, K018 }, \
|
||||
{ K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
|
||||
{ K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
|
||||
{ K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
|
||||
{ K050, K051, K052, K053, K054, K055, K056, K057, K058 }, \
|
||||
{ K060, K061, K062, K063, K064, KC_NO, K066, KC_NO, KC_NO }, \
|
||||
{ KC_NO, K071, K072, K073, K074, K075, K076, K077, K078 }, \
|
||||
{ K080, K081, K082, KC_NO, K084, K085, K086, K087, K088 }, \
|
||||
{ KC_NO, K091, K092, K093, K094, K095, K096, K097, K098 }, \
|
||||
{ K100, K101, K102, KC_NO, K104, K105, K106, K107, K108 }, \
|
||||
{ K110, K111, K112, K113, K114, K115, K116, K117, K118 } \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
|
||||
{ k70, k71, k72, k73, k74, k75, k76, k77, k78 }, \
|
||||
{ k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
|
||||
{ k90, k91, k92, k93, k94, k95, k96, k97, k98 }, \
|
||||
{ kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
|
||||
}
|
||||
|
||||
/* LAYOUT_std60_split_num0
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Prt│Pau│Hm │End│PUp│PDn│
|
||||
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┤
|
||||
* │` ~│1 !│2 @│3 #│4 $│5 %│6 ^│7 &│8 *│9 (│0 )│- _│= +│ Bksp │NLk│ / │ * │ - │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┼───┼───┼───┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │[ {│] }│ \ | │7 │8 │9 │ + │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤ │
|
||||
* │CapsLk│ A │ S │ D │ F │ G │ H │ J │ K │ L │; :│' "│ Enter │4 │5 │6 │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┼───┼───┼───┼───┤
|
||||
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │, <│. >│/ ?│ Shift │1 │2 │3 │Ent│
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┼───┼───┼───┤ │
|
||||
* │Ctrl│GUI │Alt │Space │Alt │GUI │Menu│Ctrl│0 │00 │ . │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┴───┴───┴───┴───┘
|
||||
*/
|
||||
#define LAYOUT_std60_split_num0( \
|
||||
K50, K51, K52, K53, K54, K55, K56, K57, K58, KB8, KB7, KB5, KB4, KB3, KB6, KB2, KB1, KB0, K63, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4, KA6, KA2, KA1, KA0, K64, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K94, K84, K96, K92, K91, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K93, K86, K82, K81, K80, \
|
||||
K10, K12, K13, K14, K15, K16, K17, K18, K78, K77, K75, K74, K76, K72, K71, \
|
||||
K00, K01, K02, K06, K08, K07, K04, K03, K66, K62, K61, K60 \
|
||||
#define LAYOUT_96_ansi( \
|
||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k93, k96, k92, k91, k80, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k86, k82, k81, \
|
||||
k10, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \
|
||||
k00, k01, k02, k06, k08, k07, k05, k04, k03, k66, k62, k61 \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, KC_NO, K06, K07, K08 }, \
|
||||
{ K10, KC_NO, K12, K13, K14, K15, K16, K17, K18 }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38 }, \
|
||||
{ K40, K41, K42, K43, K44, K45, K46, K47, K48 }, \
|
||||
{ K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \
|
||||
{ K60, K61, K62, K63, K64, KC_NO, K66, KC_NO, KC_NO }, \
|
||||
{ KC_NO, K71, K72, KC_NO, K74, K75, K76, K77, K78 }, \
|
||||
{ K80, K81, K82, KC_NO, K84, K85, K86, K87, K88 }, \
|
||||
{ KC_NO, K91, K92, K93, K94, K95, K96, K97, K98 }, \
|
||||
{ KA0, KA1, KA2, KC_NO, KA4, KA5, KA6, KA7, KA8 }, \
|
||||
{ KB0, KB1, KB2, KB3, KB4, KB5, KB6, KB7, KB8 } \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
|
||||
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
|
||||
{ XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \
|
||||
{ k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
|
||||
{ XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
|
||||
{ kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_96_ansi_splitbs( \
|
||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k93, k96, k92, k91, k80, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k86, k82, k81, \
|
||||
k10, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \
|
||||
k00, k01, k02, k06, k08, k07, k05, k04, k03, k66, k62, k61 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
|
||||
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
|
||||
{ XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \
|
||||
{ k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
|
||||
{ XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
|
||||
{ kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_96_iso( \
|
||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k96, k92, k91, k80, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k93, k86, k82, k81, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \
|
||||
k00, k01, k02, k06, k08, k07, k05, k04, k03, k66, k62, k61 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
|
||||
{ XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \
|
||||
{ k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
|
||||
{ XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
|
||||
{ kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_96_iso_splitbs( \
|
||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k96, k92, k91, k80, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k84, k93, k86, k82, k81, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k73, k76, k72, k71, k60, \
|
||||
k00, k01, k02, k06, k08, k07, k05, k04, k03, k66, k62, k61 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
|
||||
{ XXX, k71, k72, k73, k74, k75, k76, k77, k78 }, \
|
||||
{ k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
|
||||
{ XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
|
||||
{ kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_96_with60( \
|
||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k84, k96, k92, k91, k80, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k93, k86, k82, k81, \
|
||||
k10, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k76, k72, k71, k60,\
|
||||
k00, k01, k02, k06, k08, k07, k04, k03, k62, k61 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, XXX, k06, k07, k08 }, \
|
||||
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, XXX, XXX, XXX, XXX }, \
|
||||
{ XXX, k71, k72, XXX, k74, k75, k76, k77, k78 }, \
|
||||
{ k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
|
||||
{ XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
|
||||
{ kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_96_with60_splitbs( \
|
||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA3, kA6, kA2, kA1, kA0, k64, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k84, k96, k92, k91, k80, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k93, k86, k82, k81, \
|
||||
k10, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k76, k72, k71, k60, \
|
||||
k00, k01, k02, k06, k08, k07, k04, k03, k62, k61 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, XXX, k06, k07, k08 }, \
|
||||
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, XXX, XXX, XXX, XXX }, \
|
||||
{ XXX, k71, k72, XXX, k74, k75, k76, k77, k78 }, \
|
||||
{ k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
|
||||
{ XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
|
||||
{ kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_96_with60_split_num0( \
|
||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, kB8, kB7, kB5, kB4, kB3, kB6, kB2, kB1, kB0, k63, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, kA8, kA7, kA5, kA4, kA6, kA2, kA1, kA0, k64, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k98, k97, k95, k94, k84, k96, k92, k91, k80,\
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k88, k87, k85, k93, k86, k82, k81, \
|
||||
k10, k12, k13, k14, k15, k16, k17, k18, k78, k77, k75, k74, k76, k72, k71, k60, \
|
||||
k00, k01, k02, k06, k08, k07, k04, k03, k66, k62, k61 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, XXX, k06, k07, k08 }, \
|
||||
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, XXX, k66, XXX, XXX }, \
|
||||
{ XXX, k71, k72, XXX, k74, k75, k76, k77, k78 }, \
|
||||
{ k80, k81, k82, XXX, k84, k85, k86, k87, k88 }, \
|
||||
{ XXX, k91, k92, k93, k94, k95, k96, k97, k98 }, \
|
||||
{ kA0, kA1, kA2, XXX, kA4, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8 } \
|
||||
}
|
||||
@@ -1,15 +1,19 @@
|
||||
# YMDK Melody96
|
||||
|
||||

|
||||

|
||||
|
||||
96-key Keyboard from YMDK. The PCB for this board is also commonly used in the NYM96.
|
||||
96-key Keyboard from YMDK. The PCB for this board is also commonly used in the NYM96.
|
||||
|
||||
Keyboard Maintainer: [superuser41](https://github.com/kaylanm)
|
||||
Hardware Supported: melody96
|
||||
Hardware Availability: [YMDK on Geekhack, group buy closed](https://geekhack.org/index.php?topic=93614.0), [NYM96 on Massdrop](https://www.massdrop.com/buy/nym96-aluminum-mechanical-keyboard?mode=guest_open)
|
||||
* Keyboard Maintainer: [superuser41](https://github.com/kaylanm)
|
||||
* Hardware Supported: melody96
|
||||
* Hardware Availability: [YMDK on Geekhack, group buy closed](https://geekhack.org/index.php?topic=93614.0), [NYM96 on Massdrop](https://www.massdrop.com/buy/nym96-aluminum-mechanical-keyboard?mode=guest_open)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make melody96:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make melody96: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).
|
||||
@@ -8,11 +8,11 @@ BOOTLOADER = atmel-dfu
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
AUDIO_ENABLE = no
|
||||
RGBLIGHT_ENABLE = yes
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
@@ -50,17 +50,20 @@
|
||||
//#define NO_PRINT
|
||||
|
||||
|
||||
#define DRIVER_1_LED_TOTAL 32
|
||||
#define DRIVER_2_LED_TOTAL 32
|
||||
#define DRIVER_ADDR_1 0b1110100
|
||||
#define DRIVER_ADDR_2 0b1110111
|
||||
#define DRIVER_COUNT 2
|
||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)
|
||||
|
||||
#define LED_CAPS_LOCK_PIN F5
|
||||
|
||||
//rgb light setting
|
||||
//#define RGBLIGHT_LIMIT_VAL 128
|
||||
#define RGBLED_NUM 33
|
||||
#define RGBLED_NUM 65
|
||||
#define RGB_DI_PIN B3
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
|
||||
#define DRIVER_ADDR_1 0b1110100
|
||||
#define DRIVER_COUNT 1
|
||||
#define DRIVER_LED_TOTAL 32
|
||||
|
||||
#define CAPS_PIN F5
|
||||
#define RGBLIGHT_LIMIT_VAL 192
|
||||
@@ -19,16 +19,16 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_65_ansi_blocker_split_bs(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_DEL, KC_BSPC, KC_PSCR,
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_DEL, KC_BSPC, KC_DEL,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, KC_HOME,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, KC_END,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, KC_UP, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_LEFT,KC_DOWN, KC_RIGHT),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT),
|
||||
|
||||
[1] = LAYOUT_65_ansi_blocker_split_bs(
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,_______,
|
||||
RESET, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______, _______,
|
||||
RESET, RGB_TOG,RGB_MOD,RGB_RMOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_MUTE,KC_VOLU,KC_VOLD,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,
|
||||
_______,_______,_______, _______, _______,_______, _______,_______,_______),
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ enum {
|
||||
};
|
||||
|
||||
// alert state update interval
|
||||
#define ALERT_INTERVAL 600
|
||||
#define ALERT_INTERVAL 500
|
||||
// self testing state update interval
|
||||
#define ST_INTERVAL 100
|
||||
// self testing start index
|
||||
@@ -46,6 +46,26 @@ enum {
|
||||
// self testing stage end duration
|
||||
#define ST_END_DURATION 10
|
||||
|
||||
// led index
|
||||
#define ST_LEFT_BEGIN 0
|
||||
#ifdef DRIVER_ADDR_2
|
||||
#define ST_LEFT_SIZE 4
|
||||
#else
|
||||
#define ST_LEFT_SIZE 2
|
||||
#endif
|
||||
#define ST_LEFT_END (ST_LEFT_BEGIN+ST_LEFT_SIZE-1)
|
||||
#ifdef DRIVER_ADDR_2
|
||||
#define ST_RIGHT_BEGIN 60
|
||||
#else
|
||||
#define ST_RIGHT_BEGIN 30
|
||||
#endif
|
||||
#ifdef DRIVER_ADDR_2
|
||||
#define ST_RIGHT_SIZE 4
|
||||
#else
|
||||
#define ST_RIGHT_SIZE 2
|
||||
#endif
|
||||
#define ST_RIGHT_END (ST_RIGHT_BEGIN+ST_RIGHT_SIZE-1)
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
extern rgblight_config_t rgblight_config;
|
||||
|
||||
@@ -94,21 +114,21 @@ static void self_testing(void)
|
||||
IS31FL3731_set_color_all(0, 0, 0);
|
||||
}
|
||||
|
||||
if (rgb_state.index >= 1) {
|
||||
for (int i = rgb_state.index-1; i < 32-rgb_state.index+1; i++) {
|
||||
if (rgb_state.index >= ST_LEFT_END) {
|
||||
for (int i = rgb_state.index - 1; i < DRIVER_LED_TOTAL - rgb_state.index + 1; i++) {
|
||||
IS31FL3731_set_color(i, led.r, led.g, led.b);
|
||||
}
|
||||
if (rgb_state.index==1) {
|
||||
rgb_state.index=0;
|
||||
if (rgb_state.index == ST_LEFT_END) {
|
||||
rgb_state.index = ST_LEFT_BEGIN;
|
||||
} else {
|
||||
rgb_state.index -= 2;
|
||||
rgb_state.index -= ST_LEFT_SIZE;
|
||||
}
|
||||
} else{
|
||||
if (rgb_state.delay > 0) {
|
||||
rgb_state.delay--;
|
||||
} else {
|
||||
// move to stage 2
|
||||
rgb_state.index = 2;
|
||||
rgb_state.index = ST_LEFT_BEGIN+ST_LEFT_SIZE;
|
||||
rgb_state.testing = ST_STAGE_2;
|
||||
}
|
||||
}
|
||||
@@ -116,28 +136,32 @@ static void self_testing(void)
|
||||
case ST_STAGE_2: {
|
||||
// clear all
|
||||
IS31FL3731_set_color_all(0, 0, 0);
|
||||
int i = 0;
|
||||
// light left and right
|
||||
IS31FL3731_set_color(0, led.r, led.g, led.b);
|
||||
IS31FL3731_set_color(1, led.r, led.g, led.b);
|
||||
IS31FL3731_set_color(30, led.r, led.g, led.b);
|
||||
IS31FL3731_set_color(31, led.r, led.g, led.b);
|
||||
for (i = 0; i < ST_LEFT_SIZE; i++) {
|
||||
IS31FL3731_set_color(ST_LEFT_BEGIN+i, led.r, led.g, led.b);
|
||||
}
|
||||
for (i = 0; i < ST_RIGHT_SIZE; i++) {
|
||||
IS31FL3731_set_color(ST_RIGHT_BEGIN+i, led.r, led.g, led.b);
|
||||
|
||||
}
|
||||
if (rgb_state.dir) {
|
||||
// left to right
|
||||
for (int i = rgb_state.index; i < rgb_state.index+4; i++) {
|
||||
for (int i = rgb_state.index; i < rgb_state.index+ST_LEFT_SIZE+ST_RIGHT_SIZE; i++) {
|
||||
IS31FL3731_set_color(i, led.r, led.g, led.b);
|
||||
}
|
||||
rgb_state.index += 4;
|
||||
if (rgb_state.index == 30) {
|
||||
rgb_state.index += ST_LEFT_SIZE+ST_RIGHT_SIZE;
|
||||
if (rgb_state.index == ST_RIGHT_BEGIN) {
|
||||
rgb_state.dir = !rgb_state.dir;
|
||||
rgb_state.count--;
|
||||
}
|
||||
} else {
|
||||
// right to left
|
||||
for (int i = rgb_state.index-4; i < rgb_state.index; i++) {
|
||||
for (int i = rgb_state.index - ST_RIGHT_SIZE; i < rgb_state.index; i++) {
|
||||
IS31FL3731_set_color(i, led.r, led.g, led.b);
|
||||
}
|
||||
rgb_state.index -= 4;
|
||||
if (rgb_state.index == 2) {
|
||||
rgb_state.index -= ST_LEFT_SIZE + ST_RIGHT_SIZE;
|
||||
if (rgb_state.index == ST_LEFT_BEGIN+ST_LEFT_SIZE) {
|
||||
rgb_state.dir = !rgb_state.dir;
|
||||
rgb_state.count--;
|
||||
}
|
||||
@@ -153,13 +177,13 @@ static void self_testing(void)
|
||||
}
|
||||
break;
|
||||
case ST_STAGE_3:
|
||||
if (rgb_state.index != 16) {
|
||||
if (rgb_state.index != DRIVER_LED_TOTAL/2) {
|
||||
IS31FL3731_set_color_all(0, 0, 0);
|
||||
}
|
||||
|
||||
// light left and right
|
||||
|
||||
if (rgb_state.index == 16) {
|
||||
if (rgb_state.index == DRIVER_LED_TOTAL/2) {
|
||||
if (rgb_state.duration) {
|
||||
rgb_state.duration--;
|
||||
} else {
|
||||
@@ -176,7 +200,7 @@ static void self_testing(void)
|
||||
IS31FL3731_set_color(i, led.r, led.g, led.b);
|
||||
}
|
||||
// right
|
||||
for (int i = 31; i > 31-rgb_state.index-1; i--) {
|
||||
for (int i = ST_RIGHT_END; i > ST_RIGHT_END - rgb_state.index - 1; i--) {
|
||||
IS31FL3731_set_color(i, led.r, led.g, led.b);
|
||||
}
|
||||
rgb_state.index ++;
|
||||
@@ -230,27 +254,66 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
|
||||
{0, C9_14, C8_14, C7_14},
|
||||
{0, C9_15, C8_15, C6_14},
|
||||
{0, C9_16, C7_15, C6_15},
|
||||
|
||||
// right CA
|
||||
{1, C1_1, C3_2, C4_2},
|
||||
{1, C1_2, C2_2, C4_3},
|
||||
{1, C1_3, C2_3, C3_3},
|
||||
{1, C1_4, C2_4, C3_4},
|
||||
{1, C1_5, C2_5, C3_5},
|
||||
{1, C1_6, C2_6, C3_6},
|
||||
{1, C1_7, C2_7, C3_7},
|
||||
{1, C1_8, C2_8, C3_8},
|
||||
|
||||
{1, C9_1, C8_1, C7_1},
|
||||
{1, C9_2, C8_2, C7_2},
|
||||
{1, C9_3, C8_3, C7_3},
|
||||
{1, C9_4, C8_4, C7_4},
|
||||
{1, C9_5, C8_5, C7_5},
|
||||
{1, C9_6, C8_6, C7_6},
|
||||
{1, C9_7, C8_7, C6_6},
|
||||
{1, C9_8, C7_7, C6_7},
|
||||
// right CB
|
||||
{1, C1_9, C3_10, C4_10},
|
||||
{1, C1_10, C2_10, C4_11},
|
||||
{1, C1_11, C2_11, C3_11},
|
||||
{1, C1_12, C2_12, C3_12},
|
||||
{1, C1_13, C2_13, C3_13},
|
||||
{1, C1_14, C2_14, C3_14},
|
||||
{1, C1_15, C2_15, C3_15},
|
||||
{1, C1_16, C2_16, C3_16},
|
||||
|
||||
{1, C9_9, C8_9, C7_9},
|
||||
{1, C9_10, C8_10, C7_10},
|
||||
{1, C9_11, C8_11, C7_11},
|
||||
{1, C9_12, C8_12, C7_12},
|
||||
{1, C9_13, C8_13, C7_13},
|
||||
{1, C9_14, C8_14, C7_14},
|
||||
{1, C9_15, C8_15, C6_14},
|
||||
{1, C9_16, C7_15, C6_15},
|
||||
};
|
||||
#endif
|
||||
|
||||
void matrix_init_kb(void)
|
||||
{
|
||||
// clear caps led
|
||||
setPinOutput(CAPS_PIN);
|
||||
writePinLow(CAPS_PIN);
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
setPinOutput(LED_CAPS_LOCK_PIN);
|
||||
writePinLow(LED_CAPS_LOCK_PIN);
|
||||
|
||||
i2c_init();
|
||||
IS31FL3731_init(DRIVER_ADDR_1);
|
||||
#ifdef DRIVER_ADDR_2
|
||||
IS31FL3731_init(DRIVER_ADDR_2);
|
||||
#endif
|
||||
for (int index = 0; index < DRIVER_LED_TOTAL; index++) {
|
||||
IS31FL3731_set_led_control_register(index, true, true, true);
|
||||
}
|
||||
IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0);
|
||||
update_ticks();
|
||||
#ifdef DRIVER_ADDR_2
|
||||
IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1);
|
||||
#endif
|
||||
update_ticks();
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
void housekeeping_task_kb(void)
|
||||
{
|
||||
if (rgb_state.state == SELF_TESTING) {
|
||||
@@ -259,7 +322,8 @@ void housekeeping_task_kb(void)
|
||||
//gold 0xFF, 0xD9, 0x00
|
||||
LED_TYPE led = {
|
||||
.r = 0xFF,
|
||||
.g = 0xD9,
|
||||
//.g = 0xD9,
|
||||
.g = 0xA5,
|
||||
.b = 0x00,
|
||||
};
|
||||
if (rgb_state.alert) {
|
||||
@@ -279,7 +343,10 @@ void housekeeping_task_kb(void)
|
||||
}
|
||||
}
|
||||
|
||||
IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1,0);
|
||||
IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0);
|
||||
#ifdef DRIVER_ADDR_2
|
||||
IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1);
|
||||
#endif
|
||||
|
||||
housekeeping_task_user();
|
||||
}
|
||||
@@ -293,15 +360,13 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds)
|
||||
}
|
||||
ws2812_setleds(start_led+DRIVER_LED_TOTAL, 1);
|
||||
}
|
||||
#endif
|
||||
|
||||
bool led_update_kb(led_t led_state)
|
||||
{
|
||||
bool res = led_update_user(led_state);
|
||||
if (res) {
|
||||
writePin(CAPS_PIN, led_state.caps_lock);
|
||||
writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock);
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
if (rgb_state.state != SELF_TESTING) {
|
||||
if (led_state.caps_lock) {
|
||||
rgb_state.state = CAPS_ALERT;
|
||||
@@ -311,7 +376,8 @@ bool led_update_kb(led_t led_state)
|
||||
rgblight_set();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -14,9 +14,6 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <avr/io.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#include <stdint.h>
|
||||
#include "analog.h"
|
||||
|
||||
static uint8_t aref = ADC_REF_POWER;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "quantum.h"
|
||||
#include "gpio.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
#include "analog.h"
|
||||
#include <ch.h>
|
||||
#include <hal.h>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include "quantum.h"
|
||||
#include "gpio.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
||||
Reference in new issue
Block a user