mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-22 03:19:24 +00:00
Merge branch 'nuphy-air75' of https://github.com/nuphy-src/qmk_firmware into nuphy-air75
This commit is contained in:
commit
47553feb28
5
.gitignore
vendored
5
.gitignore
vendored
@ -18,6 +18,11 @@
|
|||||||
*.lst
|
*.lst
|
||||||
*.map
|
*.map
|
||||||
*.o
|
*.o
|
||||||
|
*.a
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
*.dll
|
||||||
|
*.la
|
||||||
*.stackdump
|
*.stackdump
|
||||||
*.sym
|
*.sym
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ To send data to the keyboard, you must first find a library for communicating wi
|
|||||||
* **Node.js:** [node-hid](https://github.com/node-hid/node-hid)
|
* **Node.js:** [node-hid](https://github.com/node-hid/node-hid)
|
||||||
* **C/C++:** [hidapi](https://github.com/libusb/hidapi)
|
* **C/C++:** [hidapi](https://github.com/libusb/hidapi)
|
||||||
* **Java:** [purejavahidapi](https://github.com/nyholku/purejavahidapi) and [hid4java](https://github.com/gary-rowe/hid4java)
|
* **Java:** [purejavahidapi](https://github.com/nyholku/purejavahidapi) and [hid4java](https://github.com/gary-rowe/hid4java)
|
||||||
* **Python:** [pyhidapi](https://pypi.org/project/hid/)
|
* **Python:** [pyhidapi](https://pypi.org/project/hid/) and [pywinusb](https://pypi.org/project/pywinusb)
|
||||||
|
|
||||||
Please refer to these libraries' own documentation for instructions on usage. Remember to close the device once you are finished with it!
|
Please refer to these libraries' own documentation for instructions on usage. Remember to close the device once you are finished with it!
|
||||||
|
|
||||||
|
258
keyboards/1upkeyboards/pi60_rgb_v2/info.json
Normal file
258
keyboards/1upkeyboards/pi60_rgb_v2/info.json
Normal file
@ -0,0 +1,258 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "1upkeyboards",
|
||||||
|
"keyboard_name": "pi60_rgb_v2",
|
||||||
|
"maintainer": "ziptyze",
|
||||||
|
"processor": "RP2040",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x5612",
|
||||||
|
"vid": "0x6F75"
|
||||||
|
},
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"dynamic_keymap": {
|
||||||
|
"layer_count": 10
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"rgb_matrix": true,
|
||||||
|
},
|
||||||
|
"qmk": {
|
||||||
|
"locking": {
|
||||||
|
"enabled": true,
|
||||||
|
"resync": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["GP25", "GP1", "GP15", "GP4", "GP5", "GP14", "GP6", "GP7", "GP8", "GP13", "GP12", "GP9", "GP11", "GP10"],
|
||||||
|
"rows": ["GP29", "GP27", "GP26", "GP17", "GP16"]
|
||||||
|
},
|
||||||
|
"rgb_matrix": {
|
||||||
|
"max_brightness": 125,
|
||||||
|
"sleep": true,
|
||||||
|
"animations": {
|
||||||
|
"alphas_mods": true,
|
||||||
|
"band_pinwheel_sat": true,
|
||||||
|
"band_pinwheel_val": true,
|
||||||
|
"band_sat": true,
|
||||||
|
"band_spiral_sat": true,
|
||||||
|
"band_spiral_val": true,
|
||||||
|
"band_val": true,
|
||||||
|
"breathing": true,
|
||||||
|
"cycle_all": true,
|
||||||
|
"cycle_left_right": true,
|
||||||
|
"cycle_out_in": true,
|
||||||
|
"cycle_out_in_dual": true,
|
||||||
|
"cycle_pinwheel": true,
|
||||||
|
"cycle_spiral": true,
|
||||||
|
"cycle_up_down": true,
|
||||||
|
"digital_rain": true,
|
||||||
|
"dual_beacon": true,
|
||||||
|
"gradient_left_right": true,
|
||||||
|
"gradient_up_down": true,
|
||||||
|
"hue_breathing": true,
|
||||||
|
"hue_pendulum": true,
|
||||||
|
"hue_wave": true,
|
||||||
|
"jellybean_raindrops": true,
|
||||||
|
"multisplash": true,
|
||||||
|
"pixel_flow": true,
|
||||||
|
"pixel_rain": true,
|
||||||
|
"rainbow_beacon": true,
|
||||||
|
"rainbow_moving_chevron": true,
|
||||||
|
"rainbow_pinwheels": true,
|
||||||
|
"raindrops": true,
|
||||||
|
"solid_multisplash": true,
|
||||||
|
"solid_reactive": true,
|
||||||
|
"solid_reactive_cross": true,
|
||||||
|
"solid_reactive_multicross": true,
|
||||||
|
"solid_reactive_multinexus": true,
|
||||||
|
"solid_reactive_multiwide": true,
|
||||||
|
"solid_reactive_nexus": true,
|
||||||
|
"solid_reactive_simple": true,
|
||||||
|
"solid_reactive_wide": true,
|
||||||
|
"solid_splash": true,
|
||||||
|
"splash": true,
|
||||||
|
"typing_heatmap": true
|
||||||
|
},
|
||||||
|
"driver": "ws2812",
|
||||||
|
"layout": [
|
||||||
|
{"x": 4, "y": 5, "flags": 2},
|
||||||
|
{"matrix": [0, 0], "x": 8, "y": 7, "flags": 1},
|
||||||
|
{"matrix": [0, 1], "x": 23, "y": 7, "flags": 4},
|
||||||
|
{"x": 30, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 2], "x": 37, "y": 7, "flags": 4},
|
||||||
|
{"x": 45, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 3], "x": 52, "y": 7, "flags": 4},
|
||||||
|
{"x": 60, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 4], "x": 67, "y": 7, "flags": 4},
|
||||||
|
{"x": 75, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 5], "x": 82, "y": 7, "flags": 4},
|
||||||
|
{"x": 90, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 6], "x": 97, "y": 7, "flags": 4},
|
||||||
|
{"x": 105, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 7], "x": 112, "y": 7, "flags": 4},
|
||||||
|
{"x": 120, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 8], "x": 127, "y": 7, "flags": 4},
|
||||||
|
{"x": 135, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 9], "x": 142, "y": 7, "flags": 4},
|
||||||
|
{"x": 149, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 10], "x": 157, "y": 7, "flags": 4},
|
||||||
|
{"x": 164, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 11], "x": 172, "y": 7, "flags": 4},
|
||||||
|
{"x": 179, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 12], "x": 187, "y": 7, "flags": 4},
|
||||||
|
{"x": 198, "y": 7, "flags": 2},
|
||||||
|
{"matrix": [0, 13], "x": 209, "y": 7, "flags": 1},
|
||||||
|
{"x": 220, "y": 7, "flags": 2},
|
||||||
|
{"x": 220, "y": 19, "flags": 2},
|
||||||
|
{"matrix": [1, 13], "x": 213, "y": 19, "flags": 1},
|
||||||
|
{"matrix": [1, 12], "x": 194, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 11], "x": 179, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 10], "x": 164, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 9], "x": 149, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 8], "x": 134, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 7], "x": 119, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 6], "x": 105, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 5], "x": 90, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 75, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 60, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 45, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 1], "x": 30, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 0], "x": 11, "y": 19, "flags": 1},
|
||||||
|
{"x": 4, "y": 19, "flags": 2},
|
||||||
|
{"x": 4, "y": 32, "flags": 2},
|
||||||
|
{"matrix": [2, 0], "x": 13, "y": 32, "flags": 1},
|
||||||
|
{"matrix": [2, 1], "x": 34, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 49, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 64, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 4], "x": 79, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 5], "x": 94, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 6], "x": 108, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 7], "x": 123, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 8], "x": 138, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 9], "x": 153, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 10], "x": 168, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 11], "x": 183, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 13], "x": 207, "y": 32, "flags": 1},
|
||||||
|
{"x": 220, "y": 32, "flags": 2},
|
||||||
|
{"x": 220, "y": 45, "flags": 2},
|
||||||
|
{"matrix": [3, 13], "x": 203, "y": 45, "flags": 1},
|
||||||
|
{"matrix": [3, 10], "x": 175, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 9], "x": 161, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 8], "x": 146, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 7], "x": 135, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 6], "x": 116, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 5], "x": 101, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 4], "x": 86, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 3], "x": 71, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 2], "x": 56, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 1], "x": 41, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 0], "x": 17, "y": 45, "flags": 1},
|
||||||
|
{"x": 4, "y": 45, "flags": 2},
|
||||||
|
{"x": 4, "y": 57, "flags": 2},
|
||||||
|
{"matrix": [4, 0], "x": 9, "y": 57, "flags": 1},
|
||||||
|
{"x": 15, "y": 57, "flags": 2},
|
||||||
|
{"x": 23, "y": 57, "flags": 2},
|
||||||
|
{"matrix": [4, 1], "x": 28, "y": 57, "flags": 1},
|
||||||
|
{"x": 34, "y": 57, "flags": 2},
|
||||||
|
{"x": 41, "y": 57, "flags": 2},
|
||||||
|
{"matrix": [4, 2], "x": 47, "y": 57, "flags": 1},
|
||||||
|
{"x": 53, "y": 57, "flags": 2},
|
||||||
|
{"x": 67, "y": 57, "flags": 2},
|
||||||
|
{"x": 71, "y": 57, "flags": 1},
|
||||||
|
{"x": 81, "y": 57, "flags": 2},
|
||||||
|
{"x": 95, "y": 57, "flags": 2},
|
||||||
|
{"matrix": [4, 5], "x": 103, "y": 57, "flags": 1},
|
||||||
|
{"x": 110, "y": 57, "flags": 2},
|
||||||
|
{"x": 125, "y": 57, "flags": 2},
|
||||||
|
{"x": 134, "y": 57, "flags": 1},
|
||||||
|
{"x": 139, "y": 57, "flags": 2},
|
||||||
|
{"x": 153, "y": 57, "flags": 2},
|
||||||
|
{"matrix": [4, 9], "x": 159, "y": 57, "flags": 1},
|
||||||
|
{"x": 165, "y": 57, "flags": 2},
|
||||||
|
{"x": 172, "y": 57, "flags": 2},
|
||||||
|
{"matrix": [4, 10], "x": 177, "y": 57, "flags": 1},
|
||||||
|
{"x": 183, "y": 57, "flags": 2},
|
||||||
|
{"x": 190, "y": 57, "flags": 2},
|
||||||
|
{"matrix": [4, 12], "x": 196, "y": 57, "flags": 1},
|
||||||
|
{"x": 202, "y": 57, "flags": 2},
|
||||||
|
{"x": 209, "y": 57, "flags": 2},
|
||||||
|
{"matrix": [4, 13], "x": 215, "y": 57, "flags": 1},
|
||||||
|
{"x": 220, "y": 57, "flags": 2}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"driver": "vendor",
|
||||||
|
"pin": "GP28"
|
||||||
|
},
|
||||||
|
"community_layouts" : ["60_ansi"],
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_60_ansi": {
|
||||||
|
"layout": [
|
||||||
|
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"label": "BS", "matrix": [0, 13], "w": 2, "x": 13, "y": 0},
|
||||||
|
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||||
|
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||||
|
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||||
|
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||||
|
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||||
|
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||||
|
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||||
|
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||||
|
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||||
|
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||||
|
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||||
|
{"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||||
|
{"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||||
|
{"label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1},
|
||||||
|
{"label": "Caps", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||||
|
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||||
|
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||||
|
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||||
|
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||||
|
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||||
|
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||||
|
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||||
|
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||||
|
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||||
|
{"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||||
|
{"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||||
|
{"label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2},
|
||||||
|
{"label": "LShift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3},
|
||||||
|
{"label": "Z", "matrix": [3, 1], "x": 2.25, "y": 3},
|
||||||
|
{"label": "X", "matrix": [3, 2], "x": 3.25, "y": 3},
|
||||||
|
{"label": "C", "matrix": [3, 3], "x": 4.25, "y": 3},
|
||||||
|
{"label": "V", "matrix": [3, 4], "x": 5.25, "y": 3},
|
||||||
|
{"label": "B", "matrix": [3, 5], "x": 6.25, "y": 3},
|
||||||
|
{"label": "N", "matrix": [3, 6], "x": 7.25, "y": 3},
|
||||||
|
{"label": "M", "matrix": [3, 7], "x": 8.25, "y": 3},
|
||||||
|
{"label": ",", "matrix": [3, 8], "x": 9.25, "y": 3},
|
||||||
|
{"label": ".", "matrix": [3, 9], "x": 10.25, "y": 3},
|
||||||
|
{"label": "/", "matrix": [3, 10], "x": 11.25, "y": 3},
|
||||||
|
{"label": "RShift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3},
|
||||||
|
{"label": "LCtrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||||
|
{"label": "LGui", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||||
|
{"label": "LAlt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||||
|
{"label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4},
|
||||||
|
{"label": "RAlt", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4},
|
||||||
|
{"label": "RGui", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4},
|
||||||
|
{"label": "FN", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4},
|
||||||
|
{"label": "RCtrl", "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
28
keyboards/1upkeyboards/pi60_rgb_v2/keymaps/default/keymap.c
Normal file
28
keyboards/1upkeyboards/pi60_rgb_v2/keymaps/default/keymap.c
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
/* Copyright 2022 ziptyze
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT_60_ansi(
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
|
||||||
|
)
|
||||||
|
};
|
44
keyboards/1upkeyboards/pi60_rgb_v2/keymaps/via/keymap.c
Normal file
44
keyboards/1upkeyboards/pi60_rgb_v2/keymaps/via/keymap.c
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
/* Copyright 2022 ziptyze
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT_60_ansi(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT_60_ansi(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||||
|
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
|
||||||
|
KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[2] = LAYOUT_60_ansi(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
2
keyboards/1upkeyboards/pi60_rgb_v2/keymaps/via/rules.mk
Normal file
2
keyboards/1upkeyboards/pi60_rgb_v2/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
24
keyboards/1upkeyboards/pi60_rgb_v2/readme.md
Normal file
24
keyboards/1upkeyboards/pi60_rgb_v2/readme.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# 1up pi60 rgb v2
|
||||||
|
|
||||||
|
![1up pi60 rgb v2](https://i.imgur.com/H1tRGZh.png)
|
||||||
|
|
||||||
|
The pi60 RGB v2 is a 60% pcb from 1upkeyboards. This keyboard features an ANSI layout hot swap PCB with per-key in-switch RGB lighting as well as RGB underglow. The controller is a Raspberry Pi rp2040 microcontroller.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make 1upkeyboards/pi60_rgb_v2:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make 1upkeyboards/pi60_rgb_v2:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 2 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Bootloader button**: Hold the button on the back of the PCB and plug in the keyboard
|
0
keyboards/1upkeyboards/pi60_rgb_v2/rules.mk
Normal file
0
keyboards/1upkeyboards/pi60_rgb_v2/rules.mk
Normal file
@ -15,7 +15,6 @@
|
|||||||
"diode_direction": "COL2ROW",
|
"diode_direction": "COL2ROW",
|
||||||
"processor": "STM32F072",
|
"processor": "STM32F072",
|
||||||
"bootloader": "stm32-dfu",
|
"bootloader": "stm32-dfu",
|
||||||
"community_layouts": ["tkl_ansi"],
|
|
||||||
"layout_aliases": {
|
"layout_aliases": {
|
||||||
"LAYOUT_eighty_m80h": "LAYOUT_tkl_ansi"
|
"LAYOUT_eighty_m80h": "LAYOUT_tkl_ansi"
|
||||||
},
|
},
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
},
|
},
|
||||||
"processor": "STM32F072",
|
"processor": "STM32F072",
|
||||||
"bootloader": "stm32-dfu",
|
"bootloader": "stm32-dfu",
|
||||||
"community_layouts": ["tkl_ansi"],
|
|
||||||
"layout_aliases": {
|
"layout_aliases": {
|
||||||
"LAYOUT_m80v2h": "LAYOUT_tkl_ansi"
|
"LAYOUT_m80v2h": "LAYOUT_tkl_ansi"
|
||||||
},
|
},
|
||||||
|
7
keyboards/proteus67/config.h
Normal file
7
keyboards/proteus67/config.h
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
// Copyright 2023 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define RGBLIGHT_MAX_LAYERS 3
|
||||||
|
#define ENCODER_MAP_KEY_DELAY 10
|
||||||
|
#define ENCODER_DEFAULT_POS 0x3
|
129
keyboards/proteus67/info.json
Normal file
129
keyboards/proteus67/info.json
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "gzowski",
|
||||||
|
"keyboard_name": "Proteus67",
|
||||||
|
"maintainer": "gzowski",
|
||||||
|
"development_board": "elite_pi",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"encoder": {
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "GP21", "pin_b": "GP9"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"encoder": true,
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"rgblight": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP23", "GP20", "GP22", "GP26", "GP27", "GP28", "GP29"],
|
||||||
|
"rows": ["GP12", "GP13", "GP14", "GP15", "GP16"]
|
||||||
|
},
|
||||||
|
"rgblight": {
|
||||||
|
"animations": {
|
||||||
|
"alternating": true,
|
||||||
|
"breathing": true,
|
||||||
|
"christmas": true,
|
||||||
|
"knight": true,
|
||||||
|
"rainbow_mood": true,
|
||||||
|
"rainbow_swirl": true,
|
||||||
|
"rgb_test": false,
|
||||||
|
"snake": true,
|
||||||
|
"static_gradient": true,
|
||||||
|
"twinkle": true
|
||||||
|
},
|
||||||
|
"brightness_steps": 5,
|
||||||
|
"led_count": 21,
|
||||||
|
"saturation_steps": 5,
|
||||||
|
"sleep": true,
|
||||||
|
"layers": {
|
||||||
|
"enabled": true,
|
||||||
|
"override_rgb": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"url": "https://github.com/gzowski",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x6F64",
|
||||||
|
"vid": "0x7072"
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "GP0",
|
||||||
|
"driver": "vendor"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_ortho_5x14": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 6, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 7, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 8, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 9, "y": 2},
|
||||||
|
{"matrix": [2, 10], "x": 10, "y": 2},
|
||||||
|
{"matrix": [2, 11], "x": 11, "y": 2},
|
||||||
|
{"matrix": [2, 12], "x": 12, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||||
|
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||||
|
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 4, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 5, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 6, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 7, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 8, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 9, "y": 3},
|
||||||
|
{"matrix": [3, 10], "x": 10, "y": 3},
|
||||||
|
{"matrix": [3, 11], "x": 11, "y": 3},
|
||||||
|
{"matrix": [3, 12], "x": 12, "y": 3},
|
||||||
|
{"matrix": [3, 13], "x": 13, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 4},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 4},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 4},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 4},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 4},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 4},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 4},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
42
keyboards/proteus67/keymaps/colemak/keymap.c
Normal file
42
keyboards/proteus67/keymaps/colemak/keymap.c
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
// Copyright 2023 James Gzowski
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
enum custom_layer {
|
||||||
|
_LAYERA,
|
||||||
|
_LAYERB,
|
||||||
|
_LAYERC,
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_LAYERA] = LAYOUT_ortho_5x14(
|
||||||
|
KC_ESC , KC_1 ,KC_2 ,KC_3 , KC_4 , KC_5 , KC_PSCR , KC_EQL , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_GRV ,
|
||||||
|
KC_TAB , KC_Q ,KC_W ,KC_F , KC_P , KC_G , KC_END , KC_HOME , KC_J , KC_L , KC_U , KC_Y , KC_SCLN ,KC_MINUS,
|
||||||
|
KC_LCTL, KC_A ,KC_R ,KC_S , KC_T , KC_D , KC_PGDN , KC_PGUP , KC_H , KC_N , KC_E , KC_I , KC_O ,KC_QUOT ,
|
||||||
|
KC_LSFT, KC_Z ,KC_X ,KC_C , KC_V , KC_B , KC_LBRC, KC_RBRC, KC_K , KC_M , KC_COMM , KC_DOT , KC_SLSH, KC_RSFT,
|
||||||
|
KC_NO , MO(_LAYERB) ,KC_LGUI,KC_LALT, KC_SPC , KC_MUTE, KC_ENT , KC_BSPC , MO(_LAYERC) , KC_INS , KC_DEL
|
||||||
|
),
|
||||||
|
[_LAYERB] = LAYOUT_ortho_5x14(
|
||||||
|
RGB_TOG , RGB_HUD ,RGB_HUI ,RGB_SAD , RGB_SAI , RGB_VAD , RGB_VAI , RGB_M_P , RGB_M_B , RGB_M_R , RGB_M_SW , RGB_M_K , RGB_M_TW , RGB_M_G ,
|
||||||
|
KC_TRNS , KC_TRNS, KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_TRNS ,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_MS_L , KC_MS_D , KC_MS_R , KC_SCLN,KC_QUOT ,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_NUBS, KC_TRNS,
|
||||||
|
KC_TRNS , KC_TRNS ,KC_TRNS,KC_TRNS, KC_TRNS , RGB_RMOD, KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
|
||||||
|
),
|
||||||
|
[_LAYERC] = LAYOUT_ortho_5x14(
|
||||||
|
KC_TRNS , KC_F1 ,KC_F2 ,KC_F3 , KC_F4 , KC_F5 , KC_TRNS , KC_TRNS , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_GRV ,
|
||||||
|
KC_TRNS , KC_TRNS, KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS, KC_TRNS , KC_TRNS ,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT,KC_QUOT ,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_NUBS, KC_TRNS,
|
||||||
|
KC_TRNS , KC_TRNS ,KC_TRNS,KC_TRNS, KC_TRNS , RGB_MOD, KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
[_LAYERA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||||
|
[_LAYERB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
|
||||||
|
[_LAYERC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
2
keyboards/proteus67/keymaps/colemak/rules.mk
Normal file
2
keyboards/proteus67/keymaps/colemak/rules.mk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
41
keyboards/proteus67/keymaps/default/keymap.c
Normal file
41
keyboards/proteus67/keymaps/default/keymap.c
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
// Copyright 2023 James Gzowski
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
enum custom_layer {
|
||||||
|
_LAYERA,
|
||||||
|
_LAYERB,
|
||||||
|
_LAYERC,
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_LAYERA] = LAYOUT_ortho_5x14(
|
||||||
|
KC_ESC , KC_1 ,KC_2 ,KC_3 , KC_4 , KC_5 , KC_MINUS , KC_EQL , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_GRV ,
|
||||||
|
KC_TAB , KC_Q ,KC_W ,KC_E , KC_R , KC_T , KC_END , KC_HOME , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINUS,
|
||||||
|
KC_LCTL, KC_A ,KC_S ,KC_D , KC_F , KC_G , KC_PGDN , KC_PGUP , KC_H , KC_J , KC_K , KC_L , KC_SCLN,KC_QUOT ,
|
||||||
|
KC_LSFT, KC_Z ,KC_X ,KC_C , KC_V , KC_B , KC_LBRC, KC_RBRC, KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH, KC_RSFT,
|
||||||
|
KC_NO , MO(_LAYERB) ,KC_LGUI,KC_LALT, KC_SPC , KC_MUTE, KC_ENT , KC_BSPC , MO(_LAYERC) , KC_INS , KC_DEL
|
||||||
|
),
|
||||||
|
[_LAYERB] = LAYOUT_ortho_5x14(
|
||||||
|
RGB_TOG , RGB_HUI ,RGB_HUD ,RGB_SAI , RGB_SAD , RGB_VAI , RGB_VAD , RGB_M_P , RGB_M_B , RGB_M_R , RGB_M_SW , RGB_M_K , RGB_M_X , RGB_M_G ,
|
||||||
|
KC_TRNS , KC_TRNS, KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_TRNS ,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_MS_L , KC_MS_D , KC_MS_R , KC_SCLN,KC_QUOT ,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_NUBS, KC_TRNS,
|
||||||
|
KC_TRNS , KC_TRNS ,KC_TRNS,KC_TRNS, KC_TRNS , RGB_RMOD, KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
|
||||||
|
),
|
||||||
|
[_LAYERC] = LAYOUT_ortho_5x14(
|
||||||
|
KC_TRNS , KC_F1 ,KC_F2 ,KC_F3 , KC_F4 , KC_F5 , KC_TRNS , KC_TRNS , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_GRV ,
|
||||||
|
KC_TRNS , KC_TRNS, KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_UP , KC_TRNS , KC_TRNS ,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_LEFT , KC_DOWN , KC_RIGHT , KC_SCLN,KC_QUOT ,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_NUBS, KC_TRNS,
|
||||||
|
KC_TRNS , KC_TRNS ,KC_TRNS,KC_TRNS, KC_TRNS , RGB_MOD, KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
[_LAYERA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||||
|
[_LAYERB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
|
||||||
|
[_LAYERC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}
|
||||||
|
};
|
||||||
|
#endif
|
1
keyboards/proteus67/keymaps/default/rules.mk
Normal file
1
keyboards/proteus67/keymaps/default/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
ENCODER_MAP_ENABLE = yes
|
41
keyboards/proteus67/keymaps/via/keymap.c
Normal file
41
keyboards/proteus67/keymaps/via/keymap.c
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
// Copyright 2023 James Gzowski
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
enum custom_layer {
|
||||||
|
_LAYERA,
|
||||||
|
_LAYERB,
|
||||||
|
_LAYERC,
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_LAYERA] = LAYOUT_ortho_5x14(
|
||||||
|
KC_ESC , KC_1 ,KC_2 ,KC_3 , KC_4 , KC_5 , KC_MINUS , KC_EQL , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_GRV ,
|
||||||
|
KC_TAB , KC_Q ,KC_W ,KC_E , KC_R , KC_T , KC_END , KC_HOME , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINUS,
|
||||||
|
KC_LCTL, KC_A ,KC_S ,KC_D , KC_F , KC_G , KC_PGDN , KC_PGUP , KC_H , KC_J , KC_K , KC_L , KC_SCLN,KC_QUOT ,
|
||||||
|
KC_LSFT, KC_Z ,KC_X ,KC_C , KC_V , KC_B , KC_LBRC, KC_RBRC, KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH, KC_RSFT,
|
||||||
|
KC_NO , MO(_LAYERB) ,KC_LGUI,KC_LALT, KC_SPC , KC_MUTE, KC_ENT , KC_BSPC , MO(_LAYERC) , KC_INS , KC_DEL
|
||||||
|
),
|
||||||
|
[_LAYERB] = LAYOUT_ortho_5x14(
|
||||||
|
RGB_TOG , RGB_HUD ,RGB_HUI ,RGB_SAD , RGB_SAI , RGB_VAD , RGB_VAI , RGB_M_P , RGB_M_B , RGB_M_R , RGB_M_SW , RGB_M_K , RGB_M_TW , RGB_M_G ,
|
||||||
|
KC_TRNS , KC_TRNS, KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_TRNS ,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_MS_L , KC_MS_D , KC_MS_R , KC_SCLN,KC_QUOT ,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_NUBS, KC_TRNS,
|
||||||
|
KC_TRNS , KC_TRNS ,KC_TRNS,KC_TRNS, KC_TRNS , RGB_RMOD, KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
|
||||||
|
),
|
||||||
|
[_LAYERC] = LAYOUT_ortho_5x14(
|
||||||
|
KC_TRNS , KC_F1 ,KC_F2 ,KC_F3 , KC_F4 , KC_F5 , KC_TRNS , KC_TRNS , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_GRV ,
|
||||||
|
KC_TRNS , KC_TRNS, KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_UP , KC_TRNS , KC_TRNS ,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_LEFT , KC_DOWN , KC_RIGHT , KC_SCLN,KC_QUOT ,
|
||||||
|
KC_TRNS, KC_TRNS ,KC_TRNS ,KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_NUBS, KC_TRNS,
|
||||||
|
KC_TRNS , KC_TRNS ,KC_TRNS,KC_TRNS, KC_TRNS , RGB_MOD, KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
[_LAYERA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||||
|
[_LAYERB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
|
||||||
|
[_LAYERC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}
|
||||||
|
};
|
||||||
|
#endif
|
2
keyboards/proteus67/keymaps/via/rules.mk
Normal file
2
keyboards/proteus67/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
42
keyboards/proteus67/proteus67.c
Normal file
42
keyboards/proteus67/proteus67.c
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
// Copyright 2023 James Gzowski
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
enum custom_layer {
|
||||||
|
_LAYERA,
|
||||||
|
_LAYERB,
|
||||||
|
_LAYERC,
|
||||||
|
};
|
||||||
|
|
||||||
|
// MO(_LAYERB)
|
||||||
|
const rgblight_segment_t PROGMEM backlight_layer_layerb[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||||
|
{0, 4, HSV_GOLD}
|
||||||
|
);
|
||||||
|
// MO(_LAYERC)
|
||||||
|
const rgblight_segment_t PROGMEM backlight_layer_layerc[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||||
|
{0, 4, HSV_CYAN}
|
||||||
|
);
|
||||||
|
const rgblight_segment_t PROGMEM backlight_layer_layera[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||||
|
{0, 4, HSV_BLACK}
|
||||||
|
);
|
||||||
|
const rgblight_segment_t* const PROGMEM set_backlight_mode[] = RGBLIGHT_LAYERS_LIST(
|
||||||
|
backlight_layer_layerb,
|
||||||
|
backlight_layer_layerc,
|
||||||
|
backlight_layer_layera
|
||||||
|
);
|
||||||
|
|
||||||
|
layer_state_t layer_state_set_kb(layer_state_t state) {
|
||||||
|
rgblight_set_layer_state(0, layer_state_cmp(state, _LAYERB));
|
||||||
|
rgblight_set_layer_state(1, layer_state_cmp(state, _LAYERC));
|
||||||
|
rgblight_set_layer_state(2, layer_state_cmp(state, _LAYERA));
|
||||||
|
|
||||||
|
return layer_state_set_user(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
void keyboard_post_init_kb(void) {
|
||||||
|
rgblight_set_effect_range(4, 17);
|
||||||
|
rgblight_sethsv_range(HSV_BLACK, 0, 4);
|
||||||
|
rgblight_layers = set_backlight_mode;
|
||||||
|
|
||||||
|
keyboard_post_init_user();
|
||||||
|
}
|
25
keyboards/proteus67/readme.md
Normal file
25
keyboards/proteus67/readme.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# proteus67
|
||||||
|
|
||||||
|
![proteus67](https://i.imgur.com/mYhl7Jah.png)
|
||||||
|
|
||||||
|
67 key ortholinear layout with rotary encoder.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [James Gzowski](https://github.com/gzowski)
|
||||||
|
* Hardware Supported: Elite-Pi or equivilent RP2040 controller with additional I/O along bottom.
|
||||||
|
* Build Guide: [Proteus67](https://github.com/gzowski/Proteus67)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make proteus67:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make proteus67:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB, if using a RP2040 press repeatidly to enter boot mode.
|
||||||
|
* **Hold down boot loader button on MCU** Hold down the boot loader button on the MCU while plugging in the keyboard
|
1
keyboards/proteus67/rules.mk
Normal file
1
keyboards/proteus67/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file intentionally left blank
|
18
keyboards/sharkoon/skiller_sgk50_s3/config.h
Normal file
18
keyboards/sharkoon/skiller_sgk50_s3/config.h
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// Copyright 2023 JoyLee (@itarze)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
/* RGB Matrix */
|
||||||
|
#define RGB_MATRIX_LED_COUNT 88
|
||||||
|
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||||
|
#define RGB_MATRIX_DEFAULT_VAL 80
|
||||||
|
|
||||||
|
/* SPI Config for spi flash*/
|
||||||
|
#define SPI_DRIVER SPIDQ
|
||||||
|
#define SPI_SCK_PIN B3
|
||||||
|
#define SPI_MOSI_PIN B5
|
||||||
|
#define SPI_MISO_PIN B4
|
||||||
|
#define SPI_MOSI_PAL_MODE 5
|
||||||
|
|
||||||
|
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
|
10
keyboards/sharkoon/skiller_sgk50_s3/halconf.h
Normal file
10
keyboards/sharkoon/skiller_sgk50_s3/halconf.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// Copyright 2023 JoyLee (@itarze)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define HAL_USE_SPI TRUE
|
||||||
|
#define SPI_USE_WAIT TRUE
|
||||||
|
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||||
|
|
||||||
|
#include_next <halconf.h>
|
452
keyboards/sharkoon/skiller_sgk50_s3/info.json
Normal file
452
keyboards/sharkoon/skiller_sgk50_s3/info.json
Normal file
@ -0,0 +1,452 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "Sharkoon Technologies GmbH",
|
||||||
|
"keyboard_name": "SKILLER SGK50 S3",
|
||||||
|
"maintainer": "JoyLee",
|
||||||
|
"bootloader": "wb32-dfu",
|
||||||
|
"diode_direction": "ROW2COL",
|
||||||
|
"eeprom": {
|
||||||
|
"driver": "wear_leveling",
|
||||||
|
"wear_leveling": {
|
||||||
|
"driver": "spi_flash",
|
||||||
|
"backing_size": 4096
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"rgb_matrix": true,
|
||||||
|
"rgblight": false
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["C0", "C1", "C2", "C3", "A6", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "C6", "C7", "C8", "C9"],
|
||||||
|
"rows": ["A0", "A1", "A2", "A3", "A4", "C13"]
|
||||||
|
},
|
||||||
|
"processor": "WB32FQ95",
|
||||||
|
"rgb_matrix": {
|
||||||
|
"animations": {
|
||||||
|
"alphas_mods": true,
|
||||||
|
"band_pinwheel_sat": true,
|
||||||
|
"band_pinwheel_val": true,
|
||||||
|
"band_sat": true,
|
||||||
|
"band_spiral_sat": true,
|
||||||
|
"band_spiral_val": true,
|
||||||
|
"band_val": true,
|
||||||
|
"breathing": true,
|
||||||
|
"cycle_all": true,
|
||||||
|
"cycle_left_right": true,
|
||||||
|
"cycle_out_in": true,
|
||||||
|
"cycle_out_in_dual": true,
|
||||||
|
"cycle_pinwheel": true,
|
||||||
|
"cycle_spiral": true,
|
||||||
|
"cycle_up_down": true,
|
||||||
|
"digital_rain": true,
|
||||||
|
"dual_beacon": true,
|
||||||
|
"gradient_left_right": true,
|
||||||
|
"gradient_up_down": true,
|
||||||
|
"hue_breathing": true,
|
||||||
|
"hue_pendulum": true,
|
||||||
|
"hue_wave": true,
|
||||||
|
"jellybean_raindrops": true,
|
||||||
|
"multisplash": true,
|
||||||
|
"pixel_flow": true,
|
||||||
|
"pixel_fractal": true,
|
||||||
|
"pixel_rain": true,
|
||||||
|
"rainbow_beacon": true,
|
||||||
|
"rainbow_moving_chevron": true,
|
||||||
|
"rainbow_pinwheels": true,
|
||||||
|
"raindrops": true,
|
||||||
|
"solid_color": true,
|
||||||
|
"solid_multisplash": true,
|
||||||
|
"solid_reactive": true,
|
||||||
|
"solid_reactive_cross": true,
|
||||||
|
"solid_reactive_multicross": true,
|
||||||
|
"solid_reactive_multinexus": true,
|
||||||
|
"solid_reactive_multiwide": true,
|
||||||
|
"solid_reactive_nexus": true,
|
||||||
|
"solid_reactive_simple": true,
|
||||||
|
"solid_reactive_wide": true,
|
||||||
|
"solid_splash": true,
|
||||||
|
"splash": true,
|
||||||
|
"typing_heatmap": true
|
||||||
|
},
|
||||||
|
"driver": "ws2812",
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [5, 6], "x": 90, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 10], "x": 149, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [5, 11], "x": 164, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [5, 12], "x": 179, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 13], "x": 194, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [5, 14], "x": 209, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [5, 15], "x": 224, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 15], "x": 224, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 14], "x": 209, "y": 51, "flags": 1},
|
||||||
|
{"matrix": [4, 12], "x": 179, "y": 51, "flags": 1},
|
||||||
|
{"matrix": [4, 11], "x": 164, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 10], "x": 149, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 9], "x": 134, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 8], "x": 119, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 7], "x": 105, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 6], "x": 90, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 5], "x": 75, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 4], "x": 60, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 3], "x": 45, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 2], "x": 30, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [3, 2], "x": 30, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 3], "x": 45, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 4], "x": 60, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 5], "x": 75, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 6], "x": 90, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 7], "x": 105, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 8], "x": 119, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 9], "x": 134, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 10], "x": 149, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 11], "x": 164, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 12], "x": 179, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [2, 13], "x": 194, "y": 38, "flags": 4},
|
||||||
|
{"x": 194, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 15], "x": 224, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [2, 15], "x": 224, "y": 26, "flags": 4},
|
||||||
|
{"x": 194, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [3, 13], "x": 194, "y": 26, "flags": 1},
|
||||||
|
{"matrix": [2, 12], "x": 179, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 11], "x": 164, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 10], "x": 149, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 9], "x": 134, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 8], "x": 119, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 7], "x": 105, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 6], "x": 90, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 5], "x": 75, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 4], "x": 60, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 45, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 30, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 1], "x": 15, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [1, 1], "x": 15, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 30, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 45, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 60, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 5], "x": 75, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 6], "x": 90, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 7], "x": 105, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 8], "x": 119, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 9], "x": 134, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 10], "x": 149, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 11], "x": 164, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 12], "x": 179, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 13], "x": 194, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 15], "x": 224, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [0, 15], "x": 224, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 14], "x": 209, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 13], "x": 194, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 12], "x": 179, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 11], "x": 164, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 10], "x": 149, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 9], "x": 134, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 8], "x": 119, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 7], "x": 105, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 6], "x": 90, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 5], "x": 75, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 4], "x": 60, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 3], "x": 45, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 30, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 38, "flags": 1},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 51, "flags": 1},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 51, "flags": 1},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [5, 1], "x": 15, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [5, 2], "x": 30, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 1], "x": 15, "y": 51, "flags": 4}
|
||||||
|
],
|
||||||
|
"max_brightness": 110,
|
||||||
|
"val_steps": 28
|
||||||
|
},
|
||||||
|
"url": "",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x3663",
|
||||||
|
"suspend_wakeup_delay": 1000,
|
||||||
|
"vid": "0x6332"
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "A8"
|
||||||
|
},
|
||||||
|
"community_layouts": [
|
||||||
|
"75_ansi",
|
||||||
|
"75_iso"
|
||||||
|
],
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
|
||||||
|
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5.5, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 6.5, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 7.5, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 8.5, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 9.5, "y": 2},
|
||||||
|
{"matrix": [2, 10], "x": 10.5, "y": 2},
|
||||||
|
{"matrix": [2, 11], "x": 11.5, "y": 2},
|
||||||
|
{"matrix": [2, 12], "x": 12.5, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
|
||||||
|
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [3, 2], "x": 1.75, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 2.75, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 3.75, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 4.75, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 5.75, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 6.75, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 7.75, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 8.75, "y": 3},
|
||||||
|
{"matrix": [3, 10], "x": 9.75, "y": 3},
|
||||||
|
{"matrix": [3, 11], "x": 10.75, "y": 3},
|
||||||
|
{"matrix": [3, 12], "x": 11.75, "y": 3},
|
||||||
|
{"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 1], "x": 1.25, "y": 4},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4},
|
||||||
|
{"matrix": [4, 3], "x": 3.25, "y": 4},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 4},
|
||||||
|
{"matrix": [4, 5], "x": 5.25, "y": 4},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4},
|
||||||
|
{"matrix": [4, 7], "x": 7.25, "y": 4},
|
||||||
|
{"matrix": [4, 8], "x": 8.25, "y": 4},
|
||||||
|
{"matrix": [4, 9], "x": 9.25, "y": 4},
|
||||||
|
{"matrix": [4, 10], "x": 10.25, "y": 4},
|
||||||
|
{"matrix": [4, 11], "x": 11.25, "y": 4},
|
||||||
|
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||||
|
{"matrix": [4, 15], "x": 15, "y": 4},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25},
|
||||||
|
{"matrix": [5, 10], "x": 10, "y": 5},
|
||||||
|
{"matrix": [5, 11], "x": 11, "y": 5},
|
||||||
|
{"matrix": [5, 12], "x": 12, "y": 5},
|
||||||
|
{"matrix": [5, 13], "x": 13, "y": 5},
|
||||||
|
{"matrix": [5, 14], "x": 14, "y": 5},
|
||||||
|
{"matrix": [5, 15], "x": 15, "y": 5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_75_ansi": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
|
||||||
|
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5.5, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 6.5, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 7.5, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 8.5, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 9.5, "y": 2},
|
||||||
|
{"matrix": [2, 10], "x": 10.5, "y": 2},
|
||||||
|
{"matrix": [2, 11], "x": 11.5, "y": 2},
|
||||||
|
{"matrix": [2, 12], "x": 12.5, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
|
||||||
|
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [3, 2], "x": 1.75, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 2.75, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 3.75, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 4.75, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 5.75, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 6.75, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 7.75, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 8.75, "y": 3},
|
||||||
|
{"matrix": [3, 10], "x": 9.75, "y": 3},
|
||||||
|
{"matrix": [3, 11], "x": 10.75, "y": 3},
|
||||||
|
{"matrix": [3, 12], "x": 11.75, "y": 3},
|
||||||
|
{"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4},
|
||||||
|
{"matrix": [4, 3], "x": 3.25, "y": 4},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 4},
|
||||||
|
{"matrix": [4, 5], "x": 5.25, "y": 4},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4},
|
||||||
|
{"matrix": [4, 7], "x": 7.25, "y": 4},
|
||||||
|
{"matrix": [4, 8], "x": 8.25, "y": 4},
|
||||||
|
{"matrix": [4, 9], "x": 9.25, "y": 4},
|
||||||
|
{"matrix": [4, 10], "x": 10.25, "y": 4},
|
||||||
|
{"matrix": [4, 11], "x": 11.25, "y": 4},
|
||||||
|
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||||
|
{"matrix": [4, 15], "x": 15, "y": 4},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25},
|
||||||
|
{"matrix": [5, 10], "x": 10, "y": 5},
|
||||||
|
{"matrix": [5, 11], "x": 11, "y": 5},
|
||||||
|
{"matrix": [5, 12], "x": 12, "y": 5},
|
||||||
|
{"matrix": [5, 13], "x": 13, "y": 5},
|
||||||
|
{"matrix": [5, 14], "x": 14, "y": 5},
|
||||||
|
{"matrix": [5, 15], "x": 15, "y": 5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_75_iso": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
|
||||||
|
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5.5, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 6.5, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 7.5, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 8.5, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 9.5, "y": 2},
|
||||||
|
{"matrix": [2, 10], "x": 10.5, "y": 2},
|
||||||
|
{"matrix": [2, 11], "x": 11.5, "y": 2},
|
||||||
|
{"matrix": [2, 12], "x": 12.5, "y": 2},
|
||||||
|
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [3, 2], "x": 1.75, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 2.75, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 3.75, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 4.75, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 5.75, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 6.75, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 7.75, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 8.75, "y": 3},
|
||||||
|
{"matrix": [3, 10], "x": 9.75, "y": 3},
|
||||||
|
{"matrix": [3, 11], "x": 10.75, "y": 3},
|
||||||
|
{"matrix": [3, 12], "x": 11.75, "y": 3},
|
||||||
|
{"matrix": [2, 13], "x": 12.75, "y": 3},
|
||||||
|
{"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
|
||||||
|
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 1], "x": 1.25, "y": 4},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4},
|
||||||
|
{"matrix": [4, 3], "x": 3.25, "y": 4},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 4},
|
||||||
|
{"matrix": [4, 5], "x": 5.25, "y": 4},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4},
|
||||||
|
{"matrix": [4, 7], "x": 7.25, "y": 4},
|
||||||
|
{"matrix": [4, 8], "x": 8.25, "y": 4},
|
||||||
|
{"matrix": [4, 9], "x": 9.25, "y": 4},
|
||||||
|
{"matrix": [4, 10], "x": 10.25, "y": 4},
|
||||||
|
{"matrix": [4, 11], "x": 11.25, "y": 4},
|
||||||
|
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||||
|
{"matrix": [4, 15], "x": 15, "y": 4},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25},
|
||||||
|
{"matrix": [5, 10], "x": 10, "y": 5},
|
||||||
|
{"matrix": [5, 11], "x": 11, "y": 5},
|
||||||
|
{"matrix": [5, 12], "x": 12, "y": 5},
|
||||||
|
{"matrix": [5, 13], "x": 13, "y": 5},
|
||||||
|
{"matrix": [5, 14], "x": 14, "y": 5},
|
||||||
|
{"matrix": [5, 15], "x": 15, "y": 5}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
24
keyboards/sharkoon/skiller_sgk50_s3/keymaps/default/keymap.c
Normal file
24
keyboards/sharkoon/skiller_sgk50_s3/keymaps/default/keymap.c
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// Copyright 2023 JoyLee (@itarze)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_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_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_WHOM,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
EE_CLR, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_SAI,
|
||||||
|
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD,
|
||||||
|
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
|
||||||
|
_______, GU_TOGG, _______, _______, _______, _______, _______, RGB_HUI, RGB_VAD, RGB_MOD
|
||||||
|
),
|
||||||
|
};
|
24
keyboards/sharkoon/skiller_sgk50_s3/keymaps/via/keymap.c
Normal file
24
keyboards/sharkoon/skiller_sgk50_s3/keymaps/via/keymap.c
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// Copyright 2023 JoyLee (@itarze)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_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_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_WHOM,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
EE_CLR, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_SAI,
|
||||||
|
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD,
|
||||||
|
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
|
||||||
|
_______, GU_TOGG, _______, _______, _______, _______, _______, RGB_HUI, RGB_VAD, RGB_MOD
|
||||||
|
),
|
||||||
|
};
|
1
keyboards/sharkoon/skiller_sgk50_s3/keymaps/via/rules.mk
Normal file
1
keyboards/sharkoon/skiller_sgk50_s3/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
9
keyboards/sharkoon/skiller_sgk50_s3/mcuconf.h
Normal file
9
keyboards/sharkoon/skiller_sgk50_s3/mcuconf.h
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// Copyright 2023 JoyLee (@itarze)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include_next <mcuconf.h>
|
||||||
|
|
||||||
|
#undef WB32_SPI_USE_QSPI
|
||||||
|
#define WB32_SPI_USE_QSPI TRUE
|
24
keyboards/sharkoon/skiller_sgk50_s3/readme.md
Normal file
24
keyboards/sharkoon/skiller_sgk50_s3/readme.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# SHARKOON SKILLER SGK50 S3
|
||||||
|
|
||||||
|
![ISO](https://i.imgur.com/q35h8v0h.png)
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [JoyLee](https://github.com/itarze)
|
||||||
|
* Hardware Supported: SHARKOON SKILLER SGK50 S3 PCB
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make sharkoon/skiller_sgk50_s3:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make sharkoon/skiller_sgk50_s3:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/sharkoon/skiller_sgk50_s3/rules.mk
Normal file
1
keyboards/sharkoon/skiller_sgk50_s3/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file intentionally left blank
|
13
keyboards/tacworks/tac_k1/config.h
Normal file
13
keyboards/tacworks/tac_k1/config.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// Copyright 2023 JoyLee (@itarze)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
/* SPI Config for spi flash*/
|
||||||
|
#define SPI_DRIVER SPIDQ
|
||||||
|
#define SPI_SCK_PIN B3
|
||||||
|
#define SPI_MOSI_PIN B5
|
||||||
|
#define SPI_MISO_PIN B4
|
||||||
|
#define SPI_MOSI_PAL_MODE 5
|
||||||
|
|
||||||
|
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
|
10
keyboards/tacworks/tac_k1/halconf.h
Normal file
10
keyboards/tacworks/tac_k1/halconf.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// Copyright 2023 JoyLee (@itarze)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define HAL_USE_SPI TRUE
|
||||||
|
#define SPI_USE_WAIT TRUE
|
||||||
|
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||||
|
|
||||||
|
#include_next <halconf.h>
|
411
keyboards/tacworks/tac_k1/info.json
Normal file
411
keyboards/tacworks/tac_k1/info.json
Normal file
@ -0,0 +1,411 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "TACWORKS",
|
||||||
|
"keyboard_name": "TAC-K1",
|
||||||
|
"maintainer": "JoyLee",
|
||||||
|
"bootloader": "wb32-dfu",
|
||||||
|
"diode_direction": "ROW2COL",
|
||||||
|
"eeprom": {
|
||||||
|
"driver": "wear_leveling",
|
||||||
|
"wear_leveling": {
|
||||||
|
"driver": "spi_flash",
|
||||||
|
"backing_size": 4096
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"indicators": {
|
||||||
|
"caps_lock": "A5",
|
||||||
|
"on_state": 0
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["C0", "C1", "C2", "C3", "A6", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "C6", "C7", "C8", "C9"],
|
||||||
|
"rows": ["A1", "A2", "A3", "A4", "C13"]
|
||||||
|
},
|
||||||
|
"processor": "WB32FQ95",
|
||||||
|
"url": "https://tacworks.store",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"force_nkro": true,
|
||||||
|
"pid": "0xE431",
|
||||||
|
"suspend_wakeup_delay": 1000,
|
||||||
|
"vid": "0x342D"
|
||||||
|
},
|
||||||
|
"community_layouts": [
|
||||||
|
"65_ansi_blocker",
|
||||||
|
"65_ansi_blocker_split_bs",
|
||||||
|
"65_iso_blocker",
|
||||||
|
"65_iso_blocker_split_bs"
|
||||||
|
],
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||||
|
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||||
|
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||||
|
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||||
|
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25},
|
||||||
|
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||||
|
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||||
|
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 5], "x": 3.75, "y": 4, "w": 2.5},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 7], "x": 7.5, "y": 4, "w": 2.5},
|
||||||
|
{"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||||
|
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_65_ansi_blocker": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||||
|
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||||
|
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||||
|
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||||
|
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||||
|
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||||
|
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||||
|
{"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||||
|
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_65_ansi_blocker_split_bs": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||||
|
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||||
|
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||||
|
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||||
|
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||||
|
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||||
|
{"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||||
|
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_65_iso_blocker": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||||
|
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||||
|
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||||
|
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||||
|
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||||
|
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||||
|
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||||
|
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||||
|
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||||
|
{"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||||
|
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_65_iso_blocker_split_bs": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||||
|
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||||
|
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||||
|
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||||
|
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||||
|
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||||
|
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||||
|
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||||
|
{"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||||
|
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
22
keyboards/tacworks/tac_k1/keymaps/default/keymap.c
Normal file
22
keyboards/tacworks/tac_k1/keymaps/default/keymap.c
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// Copyright 2023 JoyLee (@itarze)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, _______, KC_DEL,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, KC_ENT, KC_PGDN,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, _______, KC_SPC, _______, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, EE_CLR, _______, KC_HOME,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_INS,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
|
||||||
|
)
|
||||||
|
};
|
22
keyboards/tacworks/tac_k1/keymaps/via/keymap.c
Normal file
22
keyboards/tacworks/tac_k1/keymaps/via/keymap.c
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// Copyright 2023 JoyLee (@itarze)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, _______, KC_DEL,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, KC_ENT, KC_PGDN,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, _______, KC_SPC, _______, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, EE_CLR, _______, KC_HOME,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_INS,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
|
||||||
|
)
|
||||||
|
};
|
1
keyboards/tacworks/tac_k1/keymaps/via/rules.mk
Normal file
1
keyboards/tacworks/tac_k1/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
9
keyboards/tacworks/tac_k1/mcuconf.h
Normal file
9
keyboards/tacworks/tac_k1/mcuconf.h
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// Copyright 2023 JoyLee (@itarze)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include_next <mcuconf.h>
|
||||||
|
|
||||||
|
#undef WB32_SPI_USE_QSPI
|
||||||
|
#define WB32_SPI_USE_QSPI TRUE
|
25
keyboards/tacworks/tac_k1/readme.md
Normal file
25
keyboards/tacworks/tac_k1/readme.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
# TAC-K1
|
||||||
|
|
||||||
|
![tac-k1](https://i.imgur.com/3YGvrSZh.jpg)
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [JoyLee](https://github.com/itarze)
|
||||||
|
* Hardware Supported: TAC-K1 PCB
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make tacworks/tac_k1:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make tacworks/tac_k1:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/tacworks/tac_k1/rules.mk
Normal file
1
keyboards/tacworks/tac_k1/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file intentionally left blank
|
6
keyboards/themadnoodle/udon13/config.h
Normal file
6
keyboards/themadnoodle/udon13/config.h
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
// Copyright 2023 Jesse Leventhal (@The=Mad-Noodle)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5
|
75
keyboards/themadnoodle/udon13/info.json
Normal file
75
keyboards/themadnoodle/udon13/info.json
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "The Mad Noodle",
|
||||||
|
"keyboard_name": "Udon13",
|
||||||
|
"maintainer": "The-Mad-Noodle",
|
||||||
|
"url": "https://www.madnoodleprototypes.com/",
|
||||||
|
"bootloader": "atmel-dfu",
|
||||||
|
"diode_direction": "ROW2COL",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"encoder": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"rgblight": true,
|
||||||
|
"oled": true
|
||||||
|
},
|
||||||
|
"rgblight": {
|
||||||
|
"hue_steps": 10,
|
||||||
|
"led_count": 6,
|
||||||
|
"sleep": true,
|
||||||
|
"animations": {
|
||||||
|
"breathing": true,
|
||||||
|
"rainbow_mood": true,
|
||||||
|
"rainbow_swirl": true,
|
||||||
|
"snake": true,
|
||||||
|
"knight": true,
|
||||||
|
"christmas": true,
|
||||||
|
"static_gradient": true,
|
||||||
|
"rgb_test": true,
|
||||||
|
"alternating": true,
|
||||||
|
"twinkle": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "B7"
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F0", "F5", "F4", "F6"],
|
||||||
|
"rows": ["F7", "F1", "D6", "D7"]
|
||||||
|
},
|
||||||
|
"processor": "atmega32u4",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x0012",
|
||||||
|
"vid": "0x6A6C"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"Encoder", "x":3, "y":0, "matrix": [0,3]},
|
||||||
|
{"x":0, "y":1, "matrix": [1,0]},
|
||||||
|
{"x":1, "y":1, "matrix": [1,1]},
|
||||||
|
{"x":2, "y":1, "matrix": [1,2]},
|
||||||
|
{"x":3, "y":1, "matrix": [1,3]},
|
||||||
|
{"x":0, "y":2, "matrix": [2,0]},
|
||||||
|
{"x":1, "y":2, "matrix": [2,1]},
|
||||||
|
{"x":2, "y":2, "matrix": [2,2]},
|
||||||
|
{"x":3, "y":2, "matrix": [2,3]},
|
||||||
|
{"x":0, "y":3, "matrix": [3,0]},
|
||||||
|
{"x":1, "y":3, "matrix": [3,1]},
|
||||||
|
{"x":2, "y":3, "matrix": [3,2]},
|
||||||
|
{"x":3, "y":3, "matrix": [3,3]}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"encoder": {
|
||||||
|
"rotary": [
|
||||||
|
{ "pin_a": "B6", "pin_b": "B5" }
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
52
keyboards/themadnoodle/udon13/keymaps/default/keymap.c
Normal file
52
keyboards/themadnoodle/udon13/keymaps/default/keymap.c
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
// Copyright 2023 The Mad Noodle(@the_mad_noodle)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/*Layer 0*/
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_MUTE,
|
||||||
|
KC_MPLY, KC_MPRV, KC_MNXT, KC_MSEL,
|
||||||
|
KC_UNDO, KC_CALC, KC_MAIL, KC_MYCM,
|
||||||
|
KC_COPY, KC_CUT, KC_PSTE, TO(3)
|
||||||
|
),
|
||||||
|
|
||||||
|
/*Layer 1*/
|
||||||
|
[1] = LAYOUT(
|
||||||
|
RGB_TOG,
|
||||||
|
RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI,
|
||||||
|
RGB_MOD, RGB_RMOD, RGB_M_P, RGB_M_B,
|
||||||
|
RGB_M_SW, RGB_SPD, RGB_SPI, TO(0)
|
||||||
|
),
|
||||||
|
|
||||||
|
/*Layer 2*/
|
||||||
|
[2] = LAYOUT(
|
||||||
|
KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, TO(0)
|
||||||
|
),
|
||||||
|
|
||||||
|
/*Layer 3*/
|
||||||
|
[3] = LAYOUT(
|
||||||
|
KC_NO,
|
||||||
|
TO(1), TO(2), KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, TO(0)
|
||||||
|
),
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/*Encoder Mapping*/
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||||
|
[1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
|
||||||
|
[2] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT)},
|
||||||
|
[3] = { ENCODER_CCW_CW(KC_DOWN, KC_UP)},
|
||||||
|
|
||||||
|
};
|
||||||
|
#endif
|
2
keyboards/themadnoodle/udon13/keymaps/default/rules.mk
Normal file
2
keyboards/themadnoodle/udon13/keymaps/default/rules.mk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
ENCODER_MAP_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
52
keyboards/themadnoodle/udon13/keymaps/via/keymap.c
Normal file
52
keyboards/themadnoodle/udon13/keymaps/via/keymap.c
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
// Copyright 2023 The Mad Noodle(@the_mad_noodle)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/*Layer 0*/
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_MUTE,
|
||||||
|
KC_MPLY, KC_MPRV, KC_MNXT, KC_MSEL,
|
||||||
|
KC_UNDO, KC_CALC, KC_MAIL, KC_MYCM,
|
||||||
|
KC_COPY, KC_CUT, KC_PSTE, TO(3)
|
||||||
|
),
|
||||||
|
|
||||||
|
/*Layer 1*/
|
||||||
|
[1] = LAYOUT(
|
||||||
|
RGB_TOG,
|
||||||
|
RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI,
|
||||||
|
RGB_MOD, RGB_RMOD, RGB_M_P, RGB_M_B,
|
||||||
|
RGB_M_SW, RGB_SPD, RGB_SPI, TO(0)
|
||||||
|
),
|
||||||
|
|
||||||
|
/*Layer 2*/
|
||||||
|
[2] = LAYOUT(
|
||||||
|
KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, TO(0)
|
||||||
|
),
|
||||||
|
|
||||||
|
/*Layer 3*/
|
||||||
|
[3] = LAYOUT(
|
||||||
|
KC_NO,
|
||||||
|
TO(1), TO(2), KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, TO(0)
|
||||||
|
),
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/*Encoder Mapping*/
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||||
|
[1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
|
||||||
|
[2] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT)},
|
||||||
|
[3] = { ENCODER_CCW_CW(KC_DOWN, KC_UP)},
|
||||||
|
|
||||||
|
};
|
||||||
|
#endif
|
3
keyboards/themadnoodle/udon13/keymaps/via/rules.mk
Normal file
3
keyboards/themadnoodle/udon13/keymaps/via/rules.mk
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
ENCODER_MAP_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
||||||
|
VIA_ENABLE = yes
|
27
keyboards/themadnoodle/udon13/readme.md
Normal file
27
keyboards/themadnoodle/udon13/readme.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# Udon:13
|
||||||
|
|
||||||
|
![Udon13](https://i.imgur.com/DppYeTCh.jpg)
|
||||||
|
|
||||||
|
*The Udon:13 is a 12 hotswap key macro keypad with a push button encoder knob and 128x32 OLED display*
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [The Mad Noodle](https://github.com/The-Mad-Noodle)
|
||||||
|
* Hardware Supported: Udon:13 PCB
|
||||||
|
* Hardware Availability: https://www.madnoodleprototypes.com/shop
|
||||||
|
|
||||||
|
|
||||||
|
Compile example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
qmk compile -kb themadnoodle/udon13 -km default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
qmk flash -kb themadnoodle/udon13 -km default
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader & Flashing
|
||||||
|
|
||||||
|
|
||||||
|
**Physical reset button**:
|
||||||
|
|
||||||
|
* Press the physical button located on the top left of the back of the PCB (Labeled RST) to enter Bootloader Mode
|
1
keyboards/themadnoodle/udon13/rules.mk
Normal file
1
keyboards/themadnoodle/udon13/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file intentionally left blank
|
76
keyboards/themadnoodle/udon13/udon13.c
Normal file
76
keyboards/themadnoodle/udon13/udon13.c
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
// Copyright 2023 The Mad Noodle(@the_mad_noodle)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#ifdef OLED_ENABLE
|
||||||
|
|
||||||
|
/* OLED Settings */
|
||||||
|
//------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
static void render_logo(void) { // Render Mad Noodle logo
|
||||||
|
static const char PROGMEM logo_1[] = {0x00, 0x00, 0x80, 0xc0, 0x60, 0x30, 0x18, 0x0c, 0x04, 0x06, 0x82, 0xc3, 0x43, 0x61, 0xa1, 0xa1, 0xa1, 0xa1, 0x61, 0x43, 0xc3, 0x82, 0x06, 0x04, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00};
|
||||||
|
static const char PROGMEM logo_2[] = {0xf8, 0x1e, 0xc3, 0xf8, 0x5c, 0x76, 0x7b, 0x6d, 0x75, 0x55, 0x55, 0x75, 0x6d, 0x7b, 0x76, 0x5e, 0x7e, 0x77, 0x5b, 0x6d, 0x75, 0x55, 0x55, 0x75, 0x4d, 0x7b, 0x66, 0x5c, 0xf0, 0xc3, 0x3e, 0xf0};
|
||||||
|
static const char PROGMEM logo_3[] = {0x1f, 0x78, 0xc1, 0x0f, 0x38, 0xe0, 0xc0, 0x00, 0x00, 0x02, 0x0e, 0x0e, 0x8e, 0xc6, 0xc0, 0x40, 0x40, 0xc0, 0xc6, 0x8e, 0x0e, 0x0e, 0x02, 0x00, 0x80, 0xc0, 0x60, 0x38, 0x0f, 0xc0, 0x7c, 0x0f};
|
||||||
|
static const char PROGMEM logo_4[] = {0x00, 0x00, 0x01, 0x03, 0x06, 0x0c, 0x18, 0x31, 0x23, 0x66, 0x44, 0x44, 0xc4, 0xc4, 0x84, 0x84, 0x84, 0x84, 0xc4, 0xc4, 0x44, 0x46, 0x66, 0x23, 0x11, 0x18, 0x0c, 0x06, 0x03, 0x00, 0x00, 0x00};
|
||||||
|
oled_set_cursor(0, 0);
|
||||||
|
oled_write_raw_P(logo_1, sizeof(logo_1));
|
||||||
|
oled_set_cursor(0, 1);
|
||||||
|
oled_write_raw_P(logo_2, sizeof(logo_2));
|
||||||
|
oled_set_cursor(0, 2);
|
||||||
|
oled_write_raw_P(logo_3, sizeof(logo_3));
|
||||||
|
oled_set_cursor(0, 3);
|
||||||
|
oled_write_raw_P(logo_4, sizeof(logo_4));
|
||||||
|
}
|
||||||
|
//-----------
|
||||||
|
|
||||||
|
bool oled_task_kb(void) {
|
||||||
|
if (!oled_task_user()) { return false; }
|
||||||
|
render_logo();
|
||||||
|
oled_set_cursor(7, 0);
|
||||||
|
oled_write_P(PSTR("The Mad Noodle"), false);
|
||||||
|
|
||||||
|
oled_set_cursor(7, 1);
|
||||||
|
oled_write_P(PSTR("Layer: "), false);
|
||||||
|
|
||||||
|
/*
|
||||||
|
To change LAYER NAMES displayed on the OLED ensure they are a total of 6 characters, including spaces.
|
||||||
|
Example:
|
||||||
|
---------------------------------------------------
|
||||||
|
case 0:
|
||||||
|
oled_write_P(PSTR("Base "), false);
|
||||||
|
break;
|
||||||
|
---------------------------------------------------
|
||||||
|
"B A S E *SPACE* *SPACE*" = 6 characters
|
||||||
|
This would change layer 0 to Base on the OLED
|
||||||
|
*/
|
||||||
|
|
||||||
|
switch (get_highest_layer(layer_state)) {
|
||||||
|
case 0:
|
||||||
|
oled_write_P(PSTR("Zero "), false);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
oled_write_P(PSTR("One "), false);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
oled_write_P(PSTR("Two "), false);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
oled_write_P(PSTR("Three "), false);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
oled_write_P(PSTR("N/A "), false);
|
||||||
|
}
|
||||||
|
oled_set_cursor(7, 2);
|
||||||
|
oled_write_P(PSTR("Status: "), false);
|
||||||
|
oled_set_cursor(7, 3);
|
||||||
|
led_t led_state = host_keyboard_led_state();
|
||||||
|
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||||
|
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||||
|
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
@ -16,11 +16,11 @@
|
|||||||
"bootmagic": true,
|
"bootmagic": true,
|
||||||
"command": false,
|
"command": false,
|
||||||
"console": false,
|
"console": false,
|
||||||
|
"encoder": true,
|
||||||
"extrakey": true,
|
"extrakey": true,
|
||||||
"mousekey": true,
|
"mousekey": true,
|
||||||
"nkro": true,
|
"nkro": true,
|
||||||
"oled": true,
|
"oled": true,
|
||||||
"encoder": true,
|
|
||||||
"rgblight": true,
|
"rgblight": true,
|
||||||
"split": true,
|
"split": true,
|
||||||
"tri_layer": true
|
"tri_layer": true
|
||||||
@ -33,13 +33,10 @@
|
|||||||
"processor": "atmega32u4",
|
"processor": "atmega32u4",
|
||||||
"rgblight": {
|
"rgblight": {
|
||||||
"led_count": 70,
|
"led_count": 70,
|
||||||
"split": true,
|
"max_brightness": 175,
|
||||||
"split_count": [35, 35],
|
|
||||||
"sleep": true,
|
"sleep": true,
|
||||||
"max_brightness": 175
|
"split": true,
|
||||||
},
|
"split_count": [35, 35]
|
||||||
"ws2812": {
|
|
||||||
"pin": "D3"
|
|
||||||
},
|
},
|
||||||
"split": {
|
"split": {
|
||||||
"bootmagic": {
|
"bootmagic": {
|
||||||
@ -70,10 +67,13 @@
|
|||||||
},
|
},
|
||||||
"url": "https://lectronz.com/stores/tweetys-wild-thinking",
|
"url": "https://lectronz.com/stores/tweetys-wild-thinking",
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0xFEED",
|
|
||||||
"pid": "0x23B0",
|
|
||||||
"device_version": "1.2.3",
|
"device_version": "1.2.3",
|
||||||
"force_nkro": true
|
"force_nkro": true,
|
||||||
|
"pid": "0x23B0",
|
||||||
|
"vid": "0xFEED"
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "D3"
|
||||||
},
|
},
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
@ -141,4 +141,4 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,10 +4,10 @@
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[0] = LAYOUT(
|
[0] = LAYOUT(
|
||||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY, KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT),
|
LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_UP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_RGHT),
|
||||||
KC_LGUI, TG(2), KC_LALT, LSFT_T(KC_SPC), RSFT_T(KC_ENT), KC_RALT, TG(1), RGUI_T(KC_BSPC)
|
KC_LGUI, TG(2), KC_LALT, LSFT_T(KC_SPC), RSFT_T(KC_ENT), KC_RALT, TG(1), RGUI_T(KC_BSPC)
|
||||||
),
|
),
|
||||||
|
|
||||||
@ -28,8 +28,8 @@ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC
|
|||||||
),
|
),
|
||||||
|
|
||||||
[3] = LAYOUT(
|
[3] = LAYOUT(
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG,
|
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, AC_TOGG, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAI, RGB_TOG,
|
||||||
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD,RGB_SAD, RGB_M_P,
|
QK_RBT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD,RGB_SAD, RGB_M_P,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_VAI, RGB_M_B,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_VAD, RGB_M_R,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______
|
||||||
@ -39,9 +39,9 @@ LCTL_T(KC_LEFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC
|
|||||||
#if defined(ENCODER_MAP_ENABLE)
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
[1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
[2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
[3] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
|
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -76,6 +76,16 @@ static void print_status_narrow(void) {
|
|||||||
led_t led_usb_state = host_keyboard_led_state();
|
led_t led_usb_state = host_keyboard_led_state();
|
||||||
oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock);
|
oled_write_ln_P(PSTR("Caps- lock"), led_usb_state.caps_lock);
|
||||||
|
|
||||||
|
#ifdef AUTO_SHIFT_ENABLE
|
||||||
|
|
||||||
|
bool autoshift = get_autoshift_state();
|
||||||
|
oled_advance_page(true);
|
||||||
|
oled_write_P(PSTR("Auto-Shift"), autoshift);
|
||||||
|
oled_advance_page(true);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool oled_task_user(void) {
|
bool oled_task_user(void) {
|
||||||
@ -83,4 +93,5 @@ bool oled_task_user(void) {
|
|||||||
print_status_narrow();
|
print_status_narrow();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -6,7 +6,7 @@
|
|||||||
#ifdef OLED_ENABLE
|
#ifdef OLED_ENABLE
|
||||||
|
|
||||||
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||||
return OLED_ROTATION_90;
|
return OLED_ROTATION_270;
|
||||||
}
|
}
|
||||||
|
|
||||||
void render_logo(void) {
|
void render_logo(void) {
|
||||||
|
1
keyboards/tweetydabird/lotus58/rules.mk
Normal file
1
keyboards/tweetydabird/lotus58/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
DEFAULT_FOLDER = tweetydabird/lotus58/promicro
|
6
keyboards/vertex/cycle8/config.h
Normal file
6
keyboards/vertex/cycle8/config.h
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
// Copyright 2022 Eason
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define WS2812_SPI_DRIVER SPID2
|
8
keyboards/vertex/cycle8/halconf.h
Normal file
8
keyboards/vertex/cycle8/halconf.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// Copyright 2022 Eason
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define HAL_USE_SPI TRUE
|
||||||
|
|
||||||
|
#include_next <halconf.h>
|
523
keyboards/vertex/cycle8/info.json
Normal file
523
keyboards/vertex/cycle8/info.json
Normal file
@ -0,0 +1,523 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Cycle8",
|
||||||
|
"manufacturer": "vertex",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "Eason",
|
||||||
|
"usb": {
|
||||||
|
"vid": "0x8A94",
|
||||||
|
"pid": "0x8F70",
|
||||||
|
"device_version": "0.0.1",
|
||||||
|
"force_nkro": true
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"rgblight": true
|
||||||
|
},
|
||||||
|
"rgblight": {
|
||||||
|
"led_count": 7,
|
||||||
|
"animations": {
|
||||||
|
"breathing": true,
|
||||||
|
"rainbow_mood": true,
|
||||||
|
"rainbow_swirl": true,
|
||||||
|
"snake": true,
|
||||||
|
"knight": true,
|
||||||
|
"christmas": true,
|
||||||
|
"static_gradient": true,
|
||||||
|
"rgb_test": true,
|
||||||
|
"alternating": true,
|
||||||
|
"twinkle": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "B15",
|
||||||
|
"driver": "spi"
|
||||||
|
},
|
||||||
|
"indicators": {
|
||||||
|
"caps_lock": "C13",
|
||||||
|
"scroll_lock": "A10"
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"rows": ["B7", "B6", "B5", "B4", "B3","A15"],
|
||||||
|
"cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "A8", "A9"]
|
||||||
|
},
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"processor": "STM32F103",
|
||||||
|
"bootloader": "uf2boot",
|
||||||
|
"community_layouts": [
|
||||||
|
"tkl_ansi",
|
||||||
|
"tkl_ansi_split_bs_rshift",
|
||||||
|
"tkl_iso",
|
||||||
|
"tkl_iso_split_bs_rshift",
|
||||||
|
],
|
||||||
|
"layouts":{
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 6.5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 7.5, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 8.5, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 9.5, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 15.25, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 16.25, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 17.25, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1.5},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1.5},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1.5},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1.5},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1.5},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1.5},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1.5},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1.5},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1.5},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1.5},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1.5},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1.5},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1.5},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1.5},
|
||||||
|
{"matrix": [1, 14], "x": 14, "y": 1.5},
|
||||||
|
{"matrix": [1, 15], "x": 15.25, "y": 1.5},
|
||||||
|
{"matrix": [3, 13], "x": 16.25, "y": 1.5},
|
||||||
|
{"matrix": [3, 14], "x": 17.25, "y": 1.5},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 5], "x": 5.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 6], "x": 6.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 7], "x": 7.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 8], "x": 8.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 9], "x": 9.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 10], "x": 10.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 11], "x": 11.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 12], "x": 12.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5},
|
||||||
|
{"matrix": [2, 14], "x": 15.25, "y": 2.5},
|
||||||
|
{"matrix": [2, 15], "x": 16.25, "y": 2.5},
|
||||||
|
{"matrix": [3, 15], "x": 17.25, "y": 2.5},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
|
||||||
|
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 2], "x": 2.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 3], "x": 3.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 4], "x": 4.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 5], "x": 5.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 6], "x": 6.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 7], "x": 7.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 8], "x": 8.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 9], "x": 9.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 10], "x": 10.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 11], "x": 11.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
|
||||||
|
{"matrix": [4, 1], "x": 1.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 3], "x": 3.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 5], "x": 5.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 7], "x": 7.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 8], "x": 8.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 9], "x": 9.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 10], "x": 10.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 11], "x": 11.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75},
|
||||||
|
{"matrix": [4, 13], "x": 14, "y": 4.5},
|
||||||
|
{"matrix": [4, 14], "x": 16.25, "y": 4.5},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
|
||||||
|
{"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 13], "x": 15.25, "y": 5.5},
|
||||||
|
{"matrix": [5, 14], "x": 16.25, "y": 5.5},
|
||||||
|
{"matrix": [5, 15], "x": 17.25, "y": 5.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_tkl_ansi_split_bs_rshift": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 6.5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 7.5, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 8.5, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 9.5, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 15.25, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 16.25, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 17.25, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1.5},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1.5},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1.5},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1.5},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1.5},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1.5},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1.5},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1.5},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1.5},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1.5},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1.5},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1.5},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1.5},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1.5},
|
||||||
|
{"matrix": [1, 14], "x": 14, "y": 1.5},
|
||||||
|
{"matrix": [1, 15], "x": 15.25, "y": 1.5},
|
||||||
|
{"matrix": [3, 13], "x": 16.25, "y": 1.5},
|
||||||
|
{"matrix": [3, 14], "x": 17.25, "y": 1.5},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 5], "x": 5.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 6], "x": 6.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 7], "x": 7.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 8], "x": 8.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 9], "x": 9.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 10], "x": 10.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 11], "x": 11.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 12], "x": 12.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5},
|
||||||
|
{"matrix": [2, 14], "x": 15.25, "y": 2.5},
|
||||||
|
{"matrix": [2, 15], "x": 16.25, "y": 2.5},
|
||||||
|
{"matrix": [3, 15], "x": 17.25, "y": 2.5},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
|
||||||
|
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 2], "x": 2.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 3], "x": 3.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 4], "x": 4.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 5], "x": 5.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 6], "x": 6.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 7], "x": 7.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 8], "x": 8.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 9], "x": 9.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 10], "x": 10.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 11], "x": 11.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 3], "x": 3.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 5], "x": 5.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 7], "x": 7.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 8], "x": 8.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 9], "x": 9.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 10], "x": 10.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 11], "x": 11.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75},
|
||||||
|
{"matrix": [4, 13], "x": 14, "y": 4.5},
|
||||||
|
{"matrix": [4, 14], "x": 16.25, "y": 4.5},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
|
||||||
|
{"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 13], "x": 15.25, "y": 5.5},
|
||||||
|
{"matrix": [5, 14], "x": 16.25, "y": 5.5},
|
||||||
|
{"matrix": [5, 15], "x": 17.25, "y": 5.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_tkl_ansi": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 6.5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 7.5, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 8.5, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 9.5, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 15.25, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 16.25, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 17.25, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1.5},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1.5},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1.5},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1.5},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1.5},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1.5},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1.5},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1.5},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1.5},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1.5},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1.5},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1.5},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1.5},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2},
|
||||||
|
{"matrix": [1, 15], "x": 15.25, "y": 1.5},
|
||||||
|
{"matrix": [3, 13], "x": 16.25, "y": 1.5},
|
||||||
|
{"matrix": [3, 14], "x": 17.25, "y": 1.5},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 5], "x": 5.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 6], "x": 6.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 7], "x": 7.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 8], "x": 8.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 9], "x": 9.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 10], "x": 10.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 11], "x": 11.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 12], "x": 12.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5},
|
||||||
|
{"matrix": [2, 14], "x": 15.25, "y": 2.5},
|
||||||
|
{"matrix": [2, 15], "x": 16.25, "y": 2.5},
|
||||||
|
{"matrix": [3, 15], "x": 17.25, "y": 2.5},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
|
||||||
|
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 2], "x": 2.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 3], "x": 3.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 4], "x": 4.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 5], "x": 5.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 6], "x": 6.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 7], "x": 7.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 8], "x": 8.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 9], "x": 9.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 10], "x": 10.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 11], "x": 11.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 3], "x": 3.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 5], "x": 5.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 7], "x": 7.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 8], "x": 8.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 9], "x": 9.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 10], "x": 10.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 11], "x": 11.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75},
|
||||||
|
{"matrix": [4, 14], "x": 16.25, "y": 4.5},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
|
||||||
|
{"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 13], "x": 15.25, "y": 5.5},
|
||||||
|
{"matrix": [5, 14], "x": 16.25, "y": 5.5},
|
||||||
|
{"matrix": [5, 15], "x": 17.25, "y": 5.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_tkl_iso_split_bs_rshift": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 6.5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 7.5, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 8.5, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 9.5, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 15.25, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 16.25, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 17.25, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1.5},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1.5},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1.5},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1.5},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1.5},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1.5},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1.5},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1.5},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1.5},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1.5},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1.5},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1.5},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1.5},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1.5},
|
||||||
|
{"matrix": [1, 14], "x": 14, "y": 1.5},
|
||||||
|
{"matrix": [1, 15], "x": 15.25, "y": 1.5},
|
||||||
|
{"matrix": [3, 13], "x": 16.25, "y": 1.5},
|
||||||
|
{"matrix": [3, 14], "x": 17.25, "y": 1.5},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 5], "x": 5.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 6], "x": 6.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 7], "x": 7.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 8], "x": 8.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 9], "x": 9.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 10], "x": 10.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 11], "x": 11.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 12], "x": 12.5, "y": 2.5},
|
||||||
|
{"matrix": [3, 12], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
|
||||||
|
{"matrix": [2, 14], "x": 15.25, "y": 2.5},
|
||||||
|
{"matrix": [2, 15], "x": 16.25, "y": 2.5},
|
||||||
|
{"matrix": [3, 15], "x": 17.25, "y": 2.5},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
|
||||||
|
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 2], "x": 2.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 3], "x": 3.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 4], "x": 4.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 5], "x": 5.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 6], "x": 6.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 7], "x": 7.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 8], "x": 8.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 9], "x": 9.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 10], "x": 10.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 11], "x": 11.75, "y": 3.5},
|
||||||
|
{"matrix": [2, 13], "x": 12.75, "y": 3.5},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
|
||||||
|
{"matrix": [4, 1], "x": 1.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 3], "x": 3.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 5], "x": 5.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 7], "x": 7.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 8], "x": 8.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 9], "x": 9.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 10], "x": 10.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 11], "x": 11.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75},
|
||||||
|
{"matrix": [4, 13], "x": 14, "y": 4.5},
|
||||||
|
{"matrix": [4, 14], "x": 16.25, "y": 4.5},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
|
||||||
|
{"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 13], "x": 15.25, "y": 5.5},
|
||||||
|
{"matrix": [5, 14], "x": 16.25, "y": 5.5},
|
||||||
|
{"matrix": [5, 15], "x": 17.25, "y": 5.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_tkl_iso": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 6.5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 7.5, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 8.5, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 9.5, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 15.25, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 16.25, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 17.25, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1.5},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1.5},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1.5},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1.5},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1.5},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1.5},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 1.5},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 1.5},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 1.5},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 1.5},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 1.5},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 1.5},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 1.5},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2},
|
||||||
|
{"matrix": [1, 15], "x": 15.25, "y": 1.5},
|
||||||
|
{"matrix": [3, 13], "x": 16.25, "y": 1.5},
|
||||||
|
{"matrix": [3, 14], "x": 17.25, "y": 1.5},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
|
||||||
|
{"matrix": [2, 1], "x": 1.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 2], "x": 2.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 3], "x": 3.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 4], "x": 4.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 5], "x": 5.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 6], "x": 6.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 7], "x": 7.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 8], "x": 8.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 9], "x": 9.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 10], "x": 10.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 11], "x": 11.5, "y": 2.5},
|
||||||
|
{"matrix": [2, 12], "x": 12.5, "y": 2.5},
|
||||||
|
{"matrix": [3, 12], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
|
||||||
|
{"matrix": [2, 14], "x": 15.25, "y": 2.5},
|
||||||
|
{"matrix": [2, 15], "x": 16.25, "y": 2.5},
|
||||||
|
{"matrix": [3, 15], "x": 17.25, "y": 2.5},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
|
||||||
|
{"matrix": [3, 1], "x": 1.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 2], "x": 2.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 3], "x": 3.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 4], "x": 4.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 5], "x": 5.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 6], "x": 6.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 7], "x": 7.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 8], "x": 8.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 9], "x": 9.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 10], "x": 10.75, "y": 3.5},
|
||||||
|
{"matrix": [3, 11], "x": 11.75, "y": 3.5},
|
||||||
|
{"matrix": [2, 13], "x": 12.75, "y": 3.5},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25},
|
||||||
|
{"matrix": [4, 1], "x": 1.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 2], "x": 2.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 3], "x": 3.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 4], "x": 4.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 5], "x": 5.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 6], "x": 6.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 7], "x": 7.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 8], "x": 8.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 9], "x": 9.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 10], "x": 10.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 11], "x": 11.25, "y": 4.5},
|
||||||
|
{"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75},
|
||||||
|
{"matrix": [4, 14], "x": 16.25, "y": 4.5},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25},
|
||||||
|
{"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25},
|
||||||
|
{"matrix": [5, 13], "x": 15.25, "y": 5.5},
|
||||||
|
{"matrix": [5, 14], "x": 16.25, "y": 5.5},
|
||||||
|
{"matrix": [5, 15], "x": 17.25, "y": 5.5}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
16
keyboards/vertex/cycle8/keymaps/default/keymap.c
Normal file
16
keyboards/vertex/cycle8/keymaps/default/keymap.c
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
// Copyright 2022 Eason
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
)
|
||||||
|
};
|
16
keyboards/vertex/cycle8/keymaps/via/keymap.c
Normal file
16
keyboards/vertex/cycle8/keymaps/via/keymap.c
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
// Copyright 2022 Eason
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_1, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
)
|
||||||
|
};
|
2
keyboards/vertex/cycle8/keymaps/via/rules.mk
Normal file
2
keyboards/vertex/cycle8/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
9
keyboards/vertex/cycle8/mcuconf.h
Normal file
9
keyboards/vertex/cycle8/mcuconf.h
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// Copyright 2022 Eason
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include_next <mcuconf.h>
|
||||||
|
|
||||||
|
#undef STM32_SPI_USE_SPI2
|
||||||
|
#define STM32_SPI_USE_SPI2 TRUE
|
27
keyboards/vertex/cycle8/readme.md
Normal file
27
keyboards/vertex/cycle8/readme.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# cycle8
|
||||||
|
|
||||||
|
![Cycle8](https://i.imgur.com/gCExreih.png)
|
||||||
|
|
||||||
|
A customizable soldered TKL/80% keyboard.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [EASON](https://github.com/EasonQian1)
|
||||||
|
* Hardware Supported: Cycle8 PCB
|
||||||
|
* Hardware Availability: [EASON](https://github.com/EasonQian1)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make vertex/cycle8:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make vertex/cycle8:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down Esc in the keyboard then replug
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT`
|
1
keyboards/vertex/cycle8/rules.mk
Normal file
1
keyboards/vertex/cycle8/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file intentionally left blank
|
80
keyboards/wilba_tech/wt20_h1/info.json
Normal file
80
keyboards/wilba_tech/wt20_h1/info.json
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "wilba.tech",
|
||||||
|
"keyboard_name": "WT20-H1",
|
||||||
|
"maintainer": "Wilba",
|
||||||
|
"bootloader": "atmel-dfu",
|
||||||
|
"build": {
|
||||||
|
"lto": true
|
||||||
|
},
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F4", "F0", "B2", "B1"],
|
||||||
|
"rows": ["B3", "F1", "F5", "F6", "F7"]
|
||||||
|
},
|
||||||
|
"processor": "atmega32u4",
|
||||||
|
"qmk": {
|
||||||
|
"locking": {
|
||||||
|
"enabled": true,
|
||||||
|
"resync": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.0.1",
|
||||||
|
"pid": "0x0041",
|
||||||
|
"vid": "0x6582"
|
||||||
|
},
|
||||||
|
"community_layouts": ["ortho_5x4", "numpad_5x4"],
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_numpad_5x4": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1, "h": 2},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||||
|
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||||
|
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 4}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_ortho_5x4": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||||
|
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||||
|
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
14
keyboards/wilba_tech/wt20_h1/keymaps/default/keymap.c
Normal file
14
keyboards/wilba_tech/wt20_h1/keymaps/default/keymap.c
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Copyright 2024 Jason Williams (@wilba)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_ortho_5x4(
|
||||||
|
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||||
|
KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_P0, KC_P0, KC_PDOT, KC_PENT
|
||||||
|
),
|
||||||
|
};
|
4
keyboards/wilba_tech/wt20_h1/keymaps/via/keymap.c
Normal file
4
keyboards/wilba_tech/wt20_h1/keymaps/via/keymap.c
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
// Copyright 2024 Jason Williams (@wilba)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include "../default/keymap.c"
|
1
keyboards/wilba_tech/wt20_h1/keymaps/via/rules.mk
Normal file
1
keyboards/wilba_tech/wt20_h1/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
19
keyboards/wilba_tech/wt20_h1/readme.md
Normal file
19
keyboards/wilba_tech/wt20_h1/readme.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# wilba.tech WT20-H1
|
||||||
|
|
||||||
|
WT20-H1 is a hotswap numpad PCB supporting split plus, enter and zero keys (i.e. 5x4 ortho).
|
||||||
|
|
||||||
|
Initially designed for the [HIBI JUNIOR](https://hibi.mx/products/junior-r1)
|
||||||
|
|
||||||
|
- Keyboard Maintainer: [wilba](https://github.com/wilba)
|
||||||
|
- Hardware Supported: wilba.tech WT20-H1-HIBI
|
||||||
|
- Hardware Availability: [HIBI](https://hibi.mx/products/junior-r1)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make wilba_tech/wt20_h1:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make wilba_tech/wt20_h1: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).
|
1
keyboards/wilba_tech/wt20_h1/rules.mk
Normal file
1
keyboards/wilba_tech/wt20_h1/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file is intentionally blank
|
24
keyboards/ziptyze/lets_split_v3/config.h
Normal file
24
keyboards/ziptyze/lets_split_v3/config.h
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2023 ziptyze
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define SERIAL_USART_FULL_DUPLEX
|
||||||
|
#define SERIAL_USART_TX_PIN GP16
|
||||||
|
#define SERIAL_USART_RX_PIN GP17
|
||||||
|
#define SERIAL_USART_PIN_SWAP
|
||||||
|
|
305
keyboards/ziptyze/lets_split_v3/info.json
Normal file
305
keyboards/ziptyze/lets_split_v3/info.json
Normal file
@ -0,0 +1,305 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "ziptyze",
|
||||||
|
"keyboard_name": "Let's Split v3",
|
||||||
|
"maintainer": "ziptyze",
|
||||||
|
"board": "GENERIC_RP_RP2040",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"processor": "RP2040",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"rgb_matrix": true
|
||||||
|
},
|
||||||
|
"dynamic_keymap": {
|
||||||
|
"layer_count": 10
|
||||||
|
},
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x6900",
|
||||||
|
"vid": "0x6F75"
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"transport": {
|
||||||
|
"sync": {
|
||||||
|
"matrix_state": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"direct": [
|
||||||
|
["GP25", "GP27", "GP28", "GP4", "GP5", "GP8"],
|
||||||
|
["GP24", "GP26", "GP29", "GP3", "GP6", "GP9"],
|
||||||
|
["GP23", "GP21", "GP18", "GP15", "GP12", "GP10"],
|
||||||
|
["GP22", "GP20", "GP19", "GP14", "GP13", "GP11"]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"driver": "vendor",
|
||||||
|
"pin": "GP1"
|
||||||
|
},
|
||||||
|
"community_layouts": ["ortho_4x12"],
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_ortho_4x12": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [4, 0], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 12, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||||
|
|
||||||
|
{"matrix": [5, 0], "x": 7, "y": 1},
|
||||||
|
{"matrix": [5, 1], "x": 8, "y": 1},
|
||||||
|
{"matrix": [5, 2], "x": 9, "y": 1},
|
||||||
|
{"matrix": [5, 3], "x": 10, "y": 1},
|
||||||
|
{"matrix": [5, 4], "x": 11, "y": 1},
|
||||||
|
{"matrix": [5, 5], "x": 12, "y": 1},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5, "y": 2},
|
||||||
|
|
||||||
|
{"matrix": [6, 0], "x": 7, "y": 2},
|
||||||
|
{"matrix": [6, 1], "x": 8, "y": 2},
|
||||||
|
{"matrix": [6, 2], "x": 9, "y": 2},
|
||||||
|
{"matrix": [6, 3], "x": 10, "y": 2},
|
||||||
|
{"matrix": [6, 4], "x": 11, "y": 2},
|
||||||
|
{"matrix": [6, 5], "x": 12, "y": 2},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||||
|
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||||
|
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 4, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 5, "y": 3},
|
||||||
|
|
||||||
|
{"matrix": [7, 0], "x": 7, "y": 3},
|
||||||
|
{"matrix": [7, 1], "x": 8, "y": 3},
|
||||||
|
{"matrix": [7, 2], "x": 9, "y": 3},
|
||||||
|
{"matrix": [7, 3], "x": 10, "y": 3},
|
||||||
|
{"matrix": [7, 4], "x": 11, "y": 3},
|
||||||
|
{"matrix": [7, 5], "x": 12, "y": 3}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rgb_matrix": {
|
||||||
|
"driver": "ws2812",
|
||||||
|
"split_count": [63, 63],
|
||||||
|
"max_brightness": 200,
|
||||||
|
"sleep": true,
|
||||||
|
"animations": {
|
||||||
|
"alphas_mods": true,
|
||||||
|
"gradient_up_down": true,
|
||||||
|
"gradient_left_right": true,
|
||||||
|
"breathing": true,
|
||||||
|
"band_sat": true,
|
||||||
|
"band_val": true,
|
||||||
|
"band_pinwheel_sat": true,
|
||||||
|
"band_pinwheel_val": true,
|
||||||
|
"band_spiral_sat": true,
|
||||||
|
"band_spiral_val": true,
|
||||||
|
"cycle_all": true,
|
||||||
|
"cycle_left_right": true,
|
||||||
|
"cycle_up_down": true,
|
||||||
|
"cycle_out_in": true,
|
||||||
|
"cycle_out_in_dual": true,
|
||||||
|
"rainbow_moving_chevron": true,
|
||||||
|
"cycle_pinwheel": true,
|
||||||
|
"cycle_spiral": true,
|
||||||
|
"dual_beacon": true,
|
||||||
|
"rainbow_beacon": true,
|
||||||
|
"rainbow_pinwheels": true,
|
||||||
|
"raindrops": true,
|
||||||
|
"jellybean_raindrops": true,
|
||||||
|
"hue_breathing": true,
|
||||||
|
"hue_pendulum": true,
|
||||||
|
"hue_wave": true,
|
||||||
|
"pixel_fractal": true,
|
||||||
|
"pixel_flow": true,
|
||||||
|
"pixel_rain": true,
|
||||||
|
"typing_heatmap": true,
|
||||||
|
"digital_rain": true,
|
||||||
|
"solid_reactive_simple": true,
|
||||||
|
"solid_reactive": true,
|
||||||
|
"solid_reactive_wide": true,
|
||||||
|
"solid_reactive_multiwide": true,
|
||||||
|
"solid_reactive_cross": true,
|
||||||
|
"solid_reactive_multicross": true,
|
||||||
|
"solid_reactive_nexus": true,
|
||||||
|
"solid_reactive_multinexus": true,
|
||||||
|
"splash": true,
|
||||||
|
"multisplash": true,
|
||||||
|
"solid_splash": true,
|
||||||
|
"solid_multisplash": true
|
||||||
|
},
|
||||||
|
"layout": [
|
||||||
|
{ "flags": 2, "x": 62, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 70, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 79, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 88, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 98, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 107, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 111, "y": 4 },
|
||||||
|
{ "flags": 2, "x": 111, "y": 12 },
|
||||||
|
|
||||||
|
{ "flags": 4, "matrix": [0, 5], "x": 103, "y": 8 },
|
||||||
|
{ "flags": 4, "matrix": [0, 4], "x": 84, "y": 8 },
|
||||||
|
{ "flags": 4, "matrix": [0, 3], "x": 65, "y": 8 },
|
||||||
|
{ "flags": 4, "matrix": [1, 3], "x": 65, "y": 24 },
|
||||||
|
{ "flags": 4, "matrix": [1, 4], "x": 84, "y": 24 },
|
||||||
|
{ "flags": 4, "matrix": [1, 5], "x": 103, "y": 24 },
|
||||||
|
|
||||||
|
{ "flags": 2, "x": 111, "y": 20 },
|
||||||
|
{ "flags": 2, "x": 111, "y": 28 },
|
||||||
|
{ "flags": 2, "x": 111, "y": 36 },
|
||||||
|
{ "flags": 2, "x": 111, "y": 44 },
|
||||||
|
|
||||||
|
{ "flags": 4, "matrix": [2, 5], "x": 103, "y": 40 },
|
||||||
|
{ "flags": 4, "matrix": [2, 4], "x": 84, "y": 40 },
|
||||||
|
{ "flags": 4, "matrix": [2, 3], "x": 65, "y": 40 },
|
||||||
|
{ "flags": 1, "matrix": [3, 3], "x": 65, "y": 56 },
|
||||||
|
{ "flags": 1, "matrix": [3, 4], "x": 84, "y": 56 },
|
||||||
|
{ "flags": 1, "matrix": [3, 5], "x": 103, "y": 56 },
|
||||||
|
|
||||||
|
{ "flags": 2, "x": 111, "y": 52 },
|
||||||
|
{ "flags": 2, "x": 111, "y": 60 },
|
||||||
|
{ "flags": 2, "x": 107, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 98, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 88, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 79, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 70, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 61, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 51, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 42, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 33, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 23, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 14, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 5, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 1, "y": 60 },
|
||||||
|
{ "flags": 2, "x": 1, "y": 52 },
|
||||||
|
|
||||||
|
{ "flags": 1, "matrix": [3, 0], "x": 9, "y": 56 },
|
||||||
|
{ "flags": 1, "matrix": [3, 1], "x": 28, "y": 56 },
|
||||||
|
{ "flags": 1, "matrix": [3, 2], "x": 47, "y": 56 },
|
||||||
|
{ "flags": 4, "matrix": [2, 2], "x": 47, "y": 40 },
|
||||||
|
{ "flags": 4, "matrix": [2, 1], "x": 28, "y": 40 },
|
||||||
|
{ "flags": 1, "matrix": [2, 0], "x": 9, "y": 40 },
|
||||||
|
|
||||||
|
{ "flags": 2, "x": 1, "y": 44 },
|
||||||
|
{ "flags": 2, "x": 1, "y": 36 },
|
||||||
|
{ "flags": 2, "x": 1, "y": 28 },
|
||||||
|
{ "flags": 2, "x": 1, "y": 20 },
|
||||||
|
|
||||||
|
{ "flags": 1, "matrix": [1, 0], "x": 9, "y": 24 },
|
||||||
|
{ "flags": 4, "matrix": [1, 1], "x": 28, "y": 24 },
|
||||||
|
{ "flags": 4, "matrix": [1, 2], "x": 47, "y": 24 },
|
||||||
|
{ "flags": 4, "matrix": [0, 2], "x": 47, "y": 8 },
|
||||||
|
{ "flags": 4, "matrix": [0, 1], "x": 28, "y": 8 },
|
||||||
|
{ "flags": 1, "matrix": [0, 0], "x": 9, "y": 8 },
|
||||||
|
|
||||||
|
{ "flags": 2, "x": 1, "y": 12 },
|
||||||
|
{ "flags": 2, "x": 1, "y": 4 },
|
||||||
|
{ "flags": 2, "x": 5, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 13, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 28, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 37, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 47, "y": 1 },
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ "flags": 2, "x": 174, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 182, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 191, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 200, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 210, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 219, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 223, "y": 4 },
|
||||||
|
{ "flags": 2, "x": 223, "y": 12 },
|
||||||
|
|
||||||
|
{ "flags": 1, "matrix": [4, 5], "x": 215, "y": 8 },
|
||||||
|
{ "flags": 4, "matrix": [4, 4], "x": 196, "y": 8 },
|
||||||
|
{ "flags": 4, "matrix": [4, 3], "x": 177, "y": 8 },
|
||||||
|
{ "flags": 4, "matrix": [5, 3], "x": 177, "y": 24 },
|
||||||
|
{ "flags": 4, "matrix": [5, 4], "x": 196, "y": 24 },
|
||||||
|
{ "flags": 1, "matrix": [5, 5], "x": 215, "y": 24 },
|
||||||
|
|
||||||
|
{ "flags": 2, "x": 223, "y": 20 },
|
||||||
|
{ "flags": 2, "x": 223, "y": 28 },
|
||||||
|
{ "flags": 2, "x": 223, "y": 36 },
|
||||||
|
{ "flags": 2, "x": 223, "y": 44 },
|
||||||
|
|
||||||
|
{ "flags": 1, "matrix": [6, 5], "x": 215, "y": 40 },
|
||||||
|
{ "flags": 4, "matrix": [6, 4], "x": 196, "y": 40 },
|
||||||
|
{ "flags": 4, "matrix": [6, 3], "x": 177, "y": 40 },
|
||||||
|
{ "flags": 1, "matrix": [7, 3], "x": 177, "y": 56 },
|
||||||
|
{ "flags": 1, "matrix": [7, 4], "x": 196, "y": 56 },
|
||||||
|
{ "flags": 1, "matrix": [7, 5], "x": 215, "y": 56 },
|
||||||
|
|
||||||
|
{ "flags": 2, "x": 223, "y": 52 },
|
||||||
|
{ "flags": 2, "x": 223, "y": 60 },
|
||||||
|
{ "flags": 2, "x": 219, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 210, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 200, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 191, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 182, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 173, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 163, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 154, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 145, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 135, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 126, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 117, "y": 63 },
|
||||||
|
{ "flags": 2, "x": 113, "y": 60 },
|
||||||
|
{ "flags": 2, "x": 113, "y": 52 },
|
||||||
|
|
||||||
|
{ "flags": 1, "matrix": [7, 0], "x": 121, "y": 56 },
|
||||||
|
{ "flags": 1, "matrix": [7, 1], "x": 140, "y": 56 },
|
||||||
|
{ "flags": 1, "matrix": [7, 2], "x": 159, "y": 56 },
|
||||||
|
{ "flags": 4, "matrix": [6, 2], "x": 159, "y": 40 },
|
||||||
|
{ "flags": 4, "matrix": [6, 1], "x": 140, "y": 40 },
|
||||||
|
{ "flags": 4, "matrix": [6, 0], "x": 121, "y": 40 },
|
||||||
|
|
||||||
|
{ "flags": 2, "x": 113, "y": 44 },
|
||||||
|
{ "flags": 2, "x": 113, "y": 36 },
|
||||||
|
{ "flags": 2, "x": 113, "y": 28 },
|
||||||
|
{ "flags": 2, "x": 113, "y": 20 },
|
||||||
|
|
||||||
|
{ "flags": 4, "matrix": [5, 0], "x": 121, "y": 24 },
|
||||||
|
{ "flags": 4, "matrix": [5, 1], "x": 148, "y": 24 },
|
||||||
|
{ "flags": 4, "matrix": [5, 2], "x": 159, "y": 24 },
|
||||||
|
{ "flags": 4, "matrix": [4, 2], "x": 159, "y": 8 },
|
||||||
|
{ "flags": 4, "matrix": [4, 1], "x": 148, "y": 8 },
|
||||||
|
{ "flags": 4, "matrix": [4, 0], "x": 121, "y": 8 },
|
||||||
|
|
||||||
|
{ "flags": 2, "x": 113, "y": 12 },
|
||||||
|
{ "flags": 2, "x": 113, "y": 4 },
|
||||||
|
{ "flags": 2, "x": 117, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 140, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 149, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 159, "y": 1 },
|
||||||
|
{ "flags": 2, "x": 169, "y": 1 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
45
keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c
Normal file
45
keyboards/ziptyze/lets_split_v3/keymaps/default/keymap.c
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 Danny Nguyen <danny@keeb.io>
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_ortho_4x12(
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
|
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
|
||||||
|
KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT_ortho_4x12(
|
||||||
|
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||||
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||||
|
BL_STEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||||
|
),
|
||||||
|
|
||||||
|
[2] = LAYOUT_ortho_4x12(
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||||
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||||
|
),
|
||||||
|
|
||||||
|
[3] = LAYOUT_ortho_4x12(
|
||||||
|
_______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
|
||||||
|
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
};
|
45
keyboards/ziptyze/lets_split_v3/keymaps/via/keymap.c
Normal file
45
keyboards/ziptyze/lets_split_v3/keymaps/via/keymap.c
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 Danny Nguyen <danny@keeb.io>
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_ortho_4x12(
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
|
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
|
||||||
|
KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT_ortho_4x12(
|
||||||
|
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||||
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||||
|
BL_STEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||||
|
),
|
||||||
|
|
||||||
|
[2] = LAYOUT_ortho_4x12(
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||||
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||||
|
),
|
||||||
|
|
||||||
|
[3] = LAYOUT_ortho_4x12(
|
||||||
|
_______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
|
||||||
|
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
};
|
1
keyboards/ziptyze/lets_split_v3/keymaps/via/rules.mk
Normal file
1
keyboards/ziptyze/lets_split_v3/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
26
keyboards/ziptyze/lets_split_v3/readme.md
Normal file
26
keyboards/ziptyze/lets_split_v3/readme.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# Let's Split v3
|
||||||
|
|
||||||
|
![Let's Split v3](https://i.imgur.com/ksZ64dKh.jpg)
|
||||||
|
|
||||||
|
Version 3 of the Let's Split keyboard, originally designed by Wootapatoot. This version features identical PCBs for both halves powered by an RP2040 controller. Each half features full hot swap capability as well as in-switch addressable LEDs and 39 1mm underglow LEDs.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze)
|
||||||
|
* Hardware Supported: Let's Split v3 PCB
|
||||||
|
* Hardware Availability: [1upkeyboards](https://1upkeyboards.com/shop/keyboard-kits/diy-40-kits/lets-split-v3/#choose-your-kit)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make ziptyze/lets_split_v3:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make ziptyze/lets_split_v3:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 2 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix, the top left key, and plug in the keyboard
|
||||||
|
* **BOOTSEL button**: Hold down the reset button on the PCB, and plug in the keyboard
|
1
keyboards/ziptyze/lets_split_v3/rules.mk
Normal file
1
keyboards/ziptyze/lets_split_v3/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
SERIAL_DRIVER = vendor
|
@ -56,7 +56,7 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
|
|||||||
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
|
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
|
||||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0),
|
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0),
|
||||||
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
|
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
|
||||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
@ -108,7 +108,7 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
|||||||
// P Q R S T U V W
|
// P Q R S T U V W
|
||||||
FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W,
|
FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W,
|
||||||
// X Y Z [ \ ] ^ _
|
// X Y Z [ \ ] ^ _
|
||||||
FR_X, FR_Y, FR_Z, FR_LPRN, FR_UNDS, FR_RPRN, FR_CCED, FR_UNDS,
|
FR_X, FR_Y, FR_Z, FR_LPRN, FR_UNDS, FR_RPRN, FR_CIRC, FR_UNDS,
|
||||||
// ` a b c d e f g
|
// ` a b c d e f g
|
||||||
FR_EGRV, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G,
|
FR_EGRV, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G,
|
||||||
// h i j k l m n o
|
// h i j k l m n o
|
||||||
|
@ -133,9 +133,8 @@ void dynamic_macro_record_key(keyrecord_t *macro_buffer, keyrecord_t **macro_poi
|
|||||||
if (*macro_pointer - direction != macro2_end) {
|
if (*macro_pointer - direction != macro2_end) {
|
||||||
**macro_pointer = *record;
|
**macro_pointer = *record;
|
||||||
*macro_pointer += direction;
|
*macro_pointer += direction;
|
||||||
} else {
|
|
||||||
dynamic_macro_record_key_user(direction, record);
|
|
||||||
}
|
}
|
||||||
|
dynamic_macro_record_key_user(direction, record);
|
||||||
|
|
||||||
dprintf("dynamic macro: slot %d length: %d/%d\n", DYNAMIC_MACRO_CURRENT_SLOT(), DYNAMIC_MACRO_CURRENT_LENGTH(macro_buffer, *macro_pointer), DYNAMIC_MACRO_CURRENT_CAPACITY(macro_buffer, macro2_end));
|
dprintf("dynamic macro: slot %d length: %d/%d\n", DYNAMIC_MACRO_CURRENT_SLOT(), DYNAMIC_MACRO_CURRENT_LENGTH(macro_buffer, *macro_pointer), DYNAMIC_MACRO_CURRENT_CAPACITY(macro_buffer, macro2_end));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user