Merge remote-tracking branch 'origin/master' into develop
commit
3d72be0637
@ -0,0 +1,23 @@
|
||||
/* Copyright 2022 Joah Nelson (Jels)
|
||||
*
|
||||
* 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
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
@ -0,0 +1,97 @@
|
||||
{
|
||||
"keyboard_name": "Boaty",
|
||||
"manufacurer": "Jels",
|
||||
"usb": {
|
||||
"vid": "0x6A6B",
|
||||
"pid": "0x000B",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"url": "",
|
||||
"maintainer": "Jels",
|
||||
"processor":"atmega328p",
|
||||
"bootloader":"usbasploader",
|
||||
"features":
|
||||
{
|
||||
"bootmagic": true,
|
||||
"nkro": false,
|
||||
"mousekey": false,
|
||||
"extrakey": true,
|
||||
"console": false,
|
||||
"command": false,
|
||||
"backlight": false
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": [ "B1", "C0", "C1", "C2", "D4", "D1", "D0", "C5", "C4", "C3", "D5" ],
|
||||
"rows": ["D6", "B0", "D7", "B5", "B3", "B4", "B2"]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{ "label": "Num Lock", "matrix": [2, 10], "x":6.75, "y": 0 },
|
||||
{ "label": "-", "matrix": [1, 10], "x":6.75, "y": 1 },
|
||||
{ "label": "*", "matrix": [1, 9], "x":7.75, "y": 1 },
|
||||
{ "label": "7", "matrix": [0, 8], "x":6.75, "y": 2 },
|
||||
{ "label": "8", "matrix": [0, 9], "x":7.75, "y": 2 },
|
||||
{ "label": "9", "matrix": [0, 10], "x":8.75, "y": 2 },
|
||||
{ "label": "4", "matrix": [0, 4], "x":6.75, "y": 3 },
|
||||
{ "label": "5", "matrix": [0, 5], "x":7.75, "y": 3 },
|
||||
{ "label": "6", "matrix": [0, 6], "x":8.75, "y": 3 },
|
||||
{ "label": "+", "matrix": [0, 7], "x":9.75, "y": 3 },
|
||||
{ "label": "1", "matrix": [1, 4], "x":6.75, "y": 4 },
|
||||
{ "label": "2", "matrix": [1, 5], "x":7.75, "y": 4 },
|
||||
{ "label": "3", "matrix": [1, 6], "x":8.75, "y": 4 },
|
||||
{ "label": "Ent", "matrix": [1, 7], "x":9.75, "y": 4 },
|
||||
{ "label": "/", "matrix": [1, 8], "x":10.75, "y": 4 },
|
||||
{ "label": "0", "matrix": [2, 4], "x":6.75, "y": 5 },
|
||||
{ "label": "00", "matrix": [2, 5], "x":7.75, "y": 5 },
|
||||
{ "label": ".", "matrix": [2, 6], "x":8.75, "y": 5 },
|
||||
{ "label": "Ent", "matrix": [2, 7], "x":9.75, "y": 5 },
|
||||
{ "label": "=", "matrix": [2, 8], "x":10.75, "y": 5 },
|
||||
{ "label": "Back", "matrix": [2, 9], "x":11.75, "y": 5 },
|
||||
{ "label": "Esc", "matrix": [6, 0], "x":0, "y": 7.25 },
|
||||
{ "label": "Tab", "matrix": [4, 0], "x":1, "y": 7.25 },
|
||||
{ "label": "Q", "matrix": [5, 0], "x":2, "y": 7.25 },
|
||||
{ "label": "W", "matrix": [5, 1], "x":3, "y": 7.25 },
|
||||
{ "label": "E", "matrix": [5, 2], "x":4, "y": 7.25 },
|
||||
{ "label": "R", "matrix": [5, 3], "x":5, "y": 7.25 },
|
||||
{ "label": "T", "matrix": [5, 4], "x":6, "y": 7.25 },
|
||||
{ "label": "Y", "matrix": [3, 5], "x":7, "y": 7.25 },
|
||||
{ "label": "U", "matrix": [3, 6], "x":8, "y": 7.25 },
|
||||
{ "label": "I", "matrix": [3, 7], "x":9, "y": 7.25 },
|
||||
{ "label": "O", "matrix": [3, 8], "x":10, "y": 7.25 },
|
||||
{ "label": "P", "matrix": [3, 9], "x":11, "y": 7.25 },
|
||||
{ "label": "Back", "matrix": [3, 10], "x":12, "y": 7.25 },
|
||||
{ "label": "Del", "matrix": [5, 10], "x":13, "y": 7.25 },
|
||||
{ "label": "Caps", "matrix": [6, 1], "x":1, "y": 8.25 },
|
||||
{ "label": "A", "matrix": [3, 0], "x":2, "y": 8.25 },
|
||||
{ "label": "S", "matrix": [3, 1], "x":3, "y": 8.25 },
|
||||
{ "label": "D", "matrix": [3, 2], "x":4, "y": 8.25 },
|
||||
{ "label": "F", "matrix": [3, 3], "x":5, "y": 8.25 },
|
||||
{ "label": "G", "matrix": [3, 4], "x":6, "y": 8.25 },
|
||||
{ "label": "H", "matrix": [4, 5], "x":7, "y": 8.25 },
|
||||
{ "label": "J", "matrix": [4, 6], "x":8, "y": 8.25 },
|
||||
{ "label": "K", "matrix": [4, 7], "x":9, "y": 8.25 },
|
||||
{ "label": "L", "matrix": [4, 8], "x":10, "y": 8.25 },
|
||||
{ "label": ":", "matrix": [4, 9], "x":11, "y": 8.25 },
|
||||
{ "label": "Enter", "matrix": [4, 10], "x":12, "y": 8.25 },
|
||||
{ "label": "Shift", "matrix": [6, 2], "x":2, "y": 9.25 },
|
||||
{ "label": "Z", "matrix": [4, 1], "x":3, "y": 9.25 },
|
||||
{ "label": "X", "matrix": [4, 2], "x":4, "y": 9.25 },
|
||||
{ "label": "C", "matrix": [4, 3], "x":5, "y": 9.25 },
|
||||
{ "label": "V", "matrix": [4, 4], "x":6, "y": 9.25 },
|
||||
{ "label": "B", "matrix": [5, 5], "x":7, "y": 9.25 },
|
||||
{ "label": "N", "matrix": [5, 6], "x":8, "y": 9.25 },
|
||||
{ "label": "M", "matrix": [5, 7], "x":9, "y": 9.25 },
|
||||
{ "label": "<", "matrix": [5, 8], "x":10, "y": 9.25 },
|
||||
{ "label": "Shift", "matrix": [5, 9], "x":11, "y": 9.25 },
|
||||
{ "label": "Ctl", "matrix": [6, 3], "x":4, "y": 10.25 },
|
||||
{ "label": "Alt", "matrix": [6, 4], "x":5, "y": 10.25 },
|
||||
{ "matrix": [6, 6], "x":6, "y": 10.25 },
|
||||
{ "matrix": [6, 7], "x":7, "y": 10.25 },
|
||||
{ "label": "Alt", "matrix": [6, 8], "x":8, "y": 10.25 },
|
||||
{ "label": "Ctl", "matrix": [6, 9], "x":9, "y": 10.25 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,47 @@
|
||||
/* Copyright 2022 Joah Nelson (jels)
|
||||
*
|
||||
* 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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
//base layer
|
||||
[0] = LAYOUT_all(
|
||||
KC_NUM,
|
||||
KC_PAST, KC_PSLS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3, KC_PENT, KC_PPLS,
|
||||
KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_PMNS, KC_F1,
|
||||
|
||||
KC_1, 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_DEL,
|
||||
KC_1, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||
KC_1, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_RSFT,
|
||||
KC_LCTL, KC_LALT, KC_SPC, KC_1, KC_RALT, KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
KC_F2,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
@ -0,0 +1,47 @@
|
||||
/* Copyright 2022 Joah Nelson (jels)
|
||||
*
|
||||
* 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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
//base layer
|
||||
[0] = LAYOUT_all(
|
||||
KC_NUM,
|
||||
KC_PAST, KC_PSLS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3, KC_PENT, KC_PPLS,
|
||||
KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_PMNS, KC_F1,
|
||||
|
||||
KC_ESC, 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_DEL,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_RSFT,
|
||||
KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
KC_F2,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
@ -0,0 +1,27 @@
|
||||
# Boaty
|
||||
|
||||

|
||||
|
||||
* Keyboard Maintainer: [jels](https://github.com/JoahNelson)
|
||||
* Hardware Supported: Boaty
|
||||
* Hardware Availabililty: Limited Group buy from: [jels](https://jels.au)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make jels/boaty:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make jels/boaty: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 leftmost key (ESC) and plug in the keyboard
|
||||
* **USBASPLoader**: Press down the BOOT switch and plug in the keyboard
|
||||
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
|
||||
|
||||
* **Exit Bootloader**: To exit the bootloader, press the RESET switch (Left of BOOT).
|
||||
@ -0,0 +1 @@
|
||||
# This file is intentionally left blank
|
||||
@ -0,0 +1,463 @@
|
||||
{
|
||||
"manufacturer": "KeebsForAll",
|
||||
"keyboard_name": "freebird75",
|
||||
"maintainer": "Elliot Powell",
|
||||
"bootloader": "atmel-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["D0", "D1", "D2", "F7", "F6", "F5", "F4", "F1", "F0", "E6", "B0", "B1", "B2", "B3", "B7"],
|
||||
"rows": ["C7", "C6", "B6", "B5", "B4", "D7"]
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x7575",
|
||||
"vid": "0x6B66"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{
|
||||
"matrix": [0,0],
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,1],
|
||||
"x": 1.25,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,2],
|
||||
"x": 2.25,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,3],
|
||||
"x": 3.25,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,4],
|
||||
"x": 4.25,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,5],
|
||||
"x": 5.5,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,6],
|
||||
"x": 6.5,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,7],
|
||||
"x": 7.5,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,8],
|
||||
"x": 8.5,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,9],
|
||||
"x": 9.75,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,10],
|
||||
"x": 10.75,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,11],
|
||||
"x": 11.75,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,12],
|
||||
"x": 12.75,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,13],
|
||||
"x": 14,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [0,14],
|
||||
"x": 15.25,
|
||||
"y": 0
|
||||
},
|
||||
{
|
||||
"matrix": [1,0],
|
||||
"x": 0,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,1],
|
||||
"x": 1,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,2],
|
||||
"x": 2,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,3],
|
||||
"x": 3,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,4],
|
||||
"x": 4,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,5],
|
||||
"x": 5,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,6],
|
||||
"x": 6,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,7],
|
||||
"x": 7,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,8],
|
||||
"x": 8,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,9],
|
||||
"x": 9,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,10],
|
||||
"x": 10,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,11],
|
||||
"x": 11,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,12],
|
||||
"x": 12,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,13],
|
||||
"x": 13,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,14],
|
||||
"x": 14,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [1,14],
|
||||
"x": 15.25,
|
||||
"y": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,0],
|
||||
"x": 0,
|
||||
"y": 2.25,
|
||||
"w": 1.5
|
||||
},
|
||||
{
|
||||
"matrix": [2,1],
|
||||
"x": 1.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,2],
|
||||
"x": 2.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,3],
|
||||
"x": 3.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,4],
|
||||
"x": 4.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,5],
|
||||
"x": 5.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,6],
|
||||
"x": 6.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,7],
|
||||
"x": 7.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,8],
|
||||
"x": 8.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,9],
|
||||
"x": 9.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,10],
|
||||
"x": 10.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,11],
|
||||
"x": 11.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,12],
|
||||
"x": 12.5,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [2,13],
|
||||
"x": 13.5,
|
||||
"y": 2.25,
|
||||
"w": 1.5
|
||||
},
|
||||
{
|
||||
"matrix": [2,14],
|
||||
"x": 15.25,
|
||||
"y": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,0],
|
||||
"x": 0,
|
||||
"y": 3.25,
|
||||
"w": 1.75
|
||||
},
|
||||
{
|
||||
"matrix": [3,1],
|
||||
"x": 1.75,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,2],
|
||||
"x": 2.75,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,3],
|
||||
"x": 3.75,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,4],
|
||||
"x": 4.75,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,5],
|
||||
"x": 5.75,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,6],
|
||||
"x": 6.75,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,7],
|
||||
"x": 7.75,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,8],
|
||||
"x": 8.75,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,9],
|
||||
"x": 9.75,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,10],
|
||||
"x": 10.75,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,11],
|
||||
"x": 11.75,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,13],
|
||||
"x": 12.75,
|
||||
"y": 3.25,
|
||||
"w": 2.25
|
||||
},
|
||||
{
|
||||
"matrix": [3,14],
|
||||
"x": 15.25,
|
||||
"y": 3.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,0],
|
||||
"x": 0,
|
||||
"y": 4.25,
|
||||
"w": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,1],
|
||||
"x": 1.25,
|
||||
"y": 4.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,2],
|
||||
"x": 2.25,
|
||||
"y": 4.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,3],
|
||||
"x": 3.25,
|
||||
"y": 4.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,4],
|
||||
"x": 4.25,
|
||||
"y": 4.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,5],
|
||||
"x": 5.25,
|
||||
"y": 4.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,6],
|
||||
"x": 6.25,
|
||||
"y": 4.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,7],
|
||||
"x": 7.25,
|
||||
"y": 4.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,8],
|
||||
"x": 8.25,
|
||||
"y": 4.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,9],
|
||||
"x": 9.25,
|
||||
"y": 4.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,10],
|
||||
"x": 10.25,
|
||||
"y": 4.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,11],
|
||||
"x": 11.25,
|
||||
"y": 4.25
|
||||
},
|
||||
{
|
||||
"matrix": [4,12],
|
||||
"x": 12.25,
|
||||
"y": 4.25,
|
||||
"w": 1.75
|
||||
},
|
||||
{
|
||||
"matrix": [4,13],
|
||||
"x": 14.25,
|
||||
"y": 4.5
|
||||
},
|
||||
{
|
||||
"matrix": [5,0],
|
||||
"x": 0,
|
||||
"y": 5.25,
|
||||
"w": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [5,1],
|
||||
"x": 1.25,
|
||||
"y": 5.25,
|
||||
"w": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [5,2],
|
||||
"x": 2.5,
|
||||
"y": 5.25,
|
||||
"w": 1.25
|
||||
},
|
||||
{
|
||||
"matrix": [5,6],
|
||||
"x": 3.75,
|
||||
"y": 5.25,
|
||||
"w": 6.25
|
||||
},
|
||||
{
|
||||
"matrix": [5,9],
|
||||
"x": 10,
|
||||
"y": 5.25
|
||||
},
|
||||
{
|
||||
"matrix": [5,10],
|
||||
"x": 11,
|
||||
"y": 5.25
|
||||
},
|
||||
{
|
||||
"matrix": [5,11],
|
||||
"x": 12,
|
||||
"y": 5.25
|
||||
},
|
||||
{
|
||||
"matrix": [5,12],
|
||||
"x": 13.25,
|
||||
"y": 5.5
|
||||
},
|
||||
{
|
||||
"matrix": [5,13],
|
||||
"x": 14.25,
|
||||
"y": 5.5
|
||||
},
|
||||
{
|
||||
"matrix": [5,14],
|
||||
"x": 15.25,
|
||||
"y": 5.5
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
// Copyright 2022 Elliot Powell (@Elliot Powell)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
*/
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL,
|
||||
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||
KC_LSFT, KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
|
||||
};
|
||||
@ -0,0 +1,44 @@
|
||||
// Copyright 2022 Elliot Powell (@Elliot Powell)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
*/
|
||||
[0] = LAYOUT( /* Base */
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL,
|
||||
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||
KC_LSFT, KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[1] = LAYOUT( /* Empty for dynamic keymaps */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[2] = LAYOUT( /* Empty for dynamic keymaps */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[3] = LAYOUT( /* Empty for dynamic keymaps */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||
};
|
||||
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
@ -0,0 +1,27 @@
|
||||
# Freebird 75
|
||||
|
||||

|
||||
|
||||
The Freebird75 is the latest addition to the Freebird line at KeebsForAll, a series aiming to provide a set of good quality keyboards at an affordable price
|
||||
|
||||
* Keyboard Maintainer: [Elliot Powell](https://github.com/e11i0t23)
|
||||
* Hardware Supported: Freebird75
|
||||
* Hardware Availability: [KeebsForAll](https://keebsforall.com/products/freebird75)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
qmk compile -kb keebsforall/freebird75 -km via
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
qmk flash -kb keebsforall/freebird75 -km via
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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
|
||||
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
||||
@ -1,46 +0,0 @@
|
||||
/* Copyright 2021 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_rh_any(
|
||||
|
||||
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_INS ,KC_DEL ,KC_HOME,KC_END ,KC_PGUP,KC_PGDN,
|
||||
KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,KC_EQL ,KC_INT3,KC_BSPC, KC_NUM ,KC_PSLS,KC_PAST,KC_PAUS,
|
||||
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC,KC_RBRC,KC_BSLS, KC_P7 ,KC_P8 ,KC_P9 ,KC_PMNS,
|
||||
KC_CAPS,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,KC_NUHS,KC_ENT , KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS,
|
||||
KC_LSFT,KC_NUBS,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,MO(1), MO(1), KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_INT1,KC_RSFT,KC_UP , KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT,
|
||||
KC_LCTL,KC_LGUI, KC_LALT,KC_MENU,KC_SPC , KC_SPC , KC_ALGR, KC_RGUI,KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT, KC_P0 ,KC_P0 ,KC_PDOT,KC_PENT),
|
||||
|
||||
|
||||
[1] = LAYOUT_rh_any(
|
||||
QK_BOOT ,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______,_______,_______,QK_BOOT ,_______, _______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______, _______,_______,_______,_______),
|
||||
|
||||
[2] = LAYOUT_rh_any(
|
||||
_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______, _______,_______,_______,_______),
|
||||
};
|
||||
@ -0,0 +1,50 @@
|
||||
/* Copyright 2021 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define LSA_DEL LSA_T(KC_DEL)
|
||||
#define RALTHOM RALT_T(KC_HOME)
|
||||
#define RWINEND RGUI_T(KC_END)
|
||||
#define RCTLEND RCTL_T(KC_END)
|
||||
#define LSHNUBS LSFT_T(KC_NUBS)
|
||||
#define RSHF_RO RSFT_T(KC_INT1)
|
||||
#define FN_CALC LT(1,KC_CALC)
|
||||
#define FN_MENU LT(1,KC_MENU)
|
||||
#define FN_PENT LT(1,KC_PENT)
|
||||
#define CTALDEL LCA(KC_DEL)
|
||||
#define JPYEN KC_INT3
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_rh(
|
||||
|
||||
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_HOME,KC_END ,KC_PGUP,KC_PGDN,KC_DEL ,KC_INS ,KC_PSCR,KC_BSPC,
|
||||
KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,KC_EQL ,KC_BSPC,KC_BSPC, KC_EQL ,KC_PSLS,KC_PAST,KC_PMNS,
|
||||
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC,KC_RBRC,KC_BSLS, KC_P7 ,KC_P8 ,KC_P9 ,KC_PPLS,
|
||||
KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,KC_ENT ,KC_ENT , KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS,
|
||||
KC_LSFT,KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSA_DEL,FN_CALC,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSFT,KC_RSFT,KC_UP , KC_P1 ,KC_P2 ,KC_P3 ,FN_PENT,
|
||||
KC_LCTL,KC_LGUI, KC_LALT,FN_MENU,KC_SPC , RALTHOM, RALTHOM, RWINEND,RCTLEND,KC_LEFT,KC_DOWN,KC_RGHT, KC_P0 ,KC_P0 ,KC_PDOT,FN_PENT),
|
||||
|
||||
|
||||
[1] = LAYOUT_rh(
|
||||
QK_BOOT,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_F13 ,KC_F14 ,KC_F15 ,KC_F16 ,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
|
||||
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_NUM ,XXXXXXX,XXXXXXX,XXXXXXX,
|
||||
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,QK_BOOT,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,JPYEN , XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
|
||||
KC_CAPS,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,KC_SCRL,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
|
||||
LSHNUBS,LSHNUBS,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_BRK ,CTALDEL,_______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,RSHF_RO,RSHF_RO,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,_______,
|
||||
_______,_______, _______,_______,XXXXXXX, _______, _______, _______,_______,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,KC_PCMM,_______)
|
||||
};
|
||||
@ -0,0 +1,46 @@
|
||||
/* Copyright 2021 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_lh(
|
||||
|
||||
KC_HOME,KC_END ,KC_PGUP,KC_PGDN,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_INS ,KC_DEL ,
|
||||
KC_NUM ,KC_PSLS,KC_PAST,KC_PMNS, KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,KC_EQL ,KC_BSPC,KC_BSPC,
|
||||
KC_P7 ,KC_P8 ,KC_P9 ,KC_PPLS, 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_P4 ,KC_P5 ,KC_P6 ,KC_PPLS, KC_CAPS,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,KC_ENT ,KC_ENT ,
|
||||
KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT,KC_LSFT,KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,MO(1), MO(1), KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSFT,KC_RSFT,KC_UP ,
|
||||
KC_P0 ,KC_P0 ,KC_PDOT,KC_PENT, KC_LCTL,KC_LGUI, KC_LALT,KC_MENU,KC_SPC , KC_SPC , KC_ALGR, KC_RGUI,KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT) ,
|
||||
|
||||
|
||||
[1] = LAYOUT_lh(
|
||||
_______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,QK_BOOT,_______, _______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______) ,
|
||||
|
||||
[2] = LAYOUT_lh(
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______)
|
||||
};
|
||||
@ -0,0 +1,50 @@
|
||||
/* Copyright 2022 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 12
|
||||
#define MATRIX_COLS 10
|
||||
|
||||
/* key matrix pins */
|
||||
#define MATRIX_ROW_PINS { B2, B3, B1, D4, B4, D1, E6, B0, F0, F1, F4, F5 }
|
||||
#define MATRIX_COL_PINS { D0, D2, D3, D5, B5, D7, F6, F7, C7, B6 }
|
||||
|
||||
/* LED Configuration */
|
||||
#define BACKLIGHT_PINS {D6}
|
||||
// To have all lights shine uniformly, add C6 and B7 to the list above, then undefine the constants below.
|
||||
#define LED_NUM_LOCK_PIN C6
|
||||
#define LED_CAPS_LOCK_PIN B7
|
||||
|
||||
#define BACKLIGHT_LEVELS 6
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* Reducing layer count to 3 for via support */
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||
@ -0,0 +1,257 @@
|
||||
{
|
||||
"keyboard_name": "Jabberwocky",
|
||||
"manufacturer": "NoPunIn10Did",
|
||||
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/jabberwocky/v2",
|
||||
"maintainer": "NoPunIn10Did",
|
||||
"usb": {
|
||||
"vid": "0x4E50",
|
||||
"pid": "0x4A57",
|
||||
"device_version": "0.2.0"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_lh": {
|
||||
"layout": [
|
||||
{"x":0, "y":0.25, "label":"Home"},
|
||||
{"x":1, "y":0.25, "label":"End"},
|
||||
{"x":2, "y":0.25, "label":"PgUp"},
|
||||
{"x":3, "y":0.25, "label":"PgDn"},
|
||||
{"x":5, "y":0.25, "label":"Esc"},
|
||||
{"x":6.5, "y":0.25, "label":"F1"},
|
||||
{"x":7.5, "y":0.25, "label":"F2"},
|
||||
{"x":8.5, "y":0.25, "label":"F3"},
|
||||
{"x":9.5, "y":0.125, "label":"F4"},
|
||||
{"x":10.5, "y":0.25, "label":"F5"},
|
||||
{"x":11.5, "y":0.375, "label":"F6"},
|
||||
{"x":14.75, "y":0.375, "label":"F7"},
|
||||
{"x":15.75, "y":0.25, "label":"F8"},
|
||||
{"x":16.75, "y":0.125, "label":"F9"},
|
||||
{"x":17.75, "y":0.25, "label":"F10"},
|
||||
{"x":18.75, "y":0.25, "label":"F11"},
|
||||
{"x":19.75, "y":0.25, "label":"F12"},
|
||||
{"x":21, "y":0.25, "label":"Print"},
|
||||
{"x":22, "y":0.25, "label":"Scroll"},
|
||||
{"x":23, "y":0.25, "label":"Ins"},
|
||||
{"x":24, "y":0.25, "label":"Del"},
|
||||
|
||||
{"x":0, "y":1.5, "label":"NumLock"},
|
||||
{"x":1, "y":1.5, "label":"P-Div"},
|
||||
{"x":2, "y":1.5, "label":"P-Mult"},
|
||||
{"x":3, "y":1.5, "label":"P-Minus"},
|
||||
{"x":6.25, "y":1.5, "label":"Grave"},
|
||||
{"x":7.25, "y":1.5, "label":"1"},
|
||||
{"x":8.5, "y":1.5, "label":"2"},
|
||||
{"x":9.5, "y":1.375, "label":"3"},
|
||||
{"x":10.5, "y":1.5, "label":"4"},
|
||||
{"x":11.5, "y":1.625, "label":"5"},
|
||||
{"x":14.75, "y":1.625, "label":"6"},
|
||||
{"x":15.75, "y":1.5, "label":"7"},
|
||||
{"x":16.75, "y":1.375, "label":"8"},
|
||||
{"x":17.75, "y":1.5, "label":"9"},
|
||||
{"x":19, "y":1.5, "label":"0"},
|
||||
{"x":20, "y":1.5, "label":"Dash"},
|
||||
{"x":21, "y":1.5, "label":"Equals"},
|
||||
{"x":22, "y":1.5, "label":"Backspace"},
|
||||
{"x":23, "y":1.5, "label":"Backspace"},
|
||||
|
||||
{"x":0, "y":2.5, "label":"P-7"},
|
||||
{"x":1, "y":2.5, "label":"P-8"},
|
||||
{"x":2, "y":2.5, "label":"P-9"},
|
||||
{"x":3, "y":2.5, "label":"P-Plus"},
|
||||
{"x":5.5, "y":2.5, "w":1.5, "label":"Tab"},
|
||||
{"x":7, "y":2.5, "label":"Q"},
|
||||
{"x":8.5, "y":2.5, "label":"W"},
|
||||
{"x":9.5, "y":2.375, "label":"E"},
|
||||
{"x":10.5, "y":2.5, "label":"R"},
|
||||
{"x":11.5, "y":2.625, "label":"T"},
|
||||
{"x":14.75, "y":2.625, "label":"Y"},
|
||||
{"x":15.75, "y":2.5, "label":"U"},
|
||||
{"x":16.75, "y":2.375, "label":"I"},
|
||||
{"x":17.75, "y":2.5, "label":"O"},
|
||||
{"x":19.25, "y":2.5, "label":"P"},
|
||||
{"x":20.25, "y":2.5, "label":"L bracket"},
|
||||
{"x":21.25, "y":2.5, "label":"R bracket"},
|
||||
{"x":22.25, "y":2.5, "w":1.5, "label":"ANSI Backslash"},
|
||||
|
||||
{"x":0, "y":3.5, "label":"P-4"},
|
||||
{"x":1, "y":3.5, "label":"P-5"},
|
||||
{"x":2, "y":3.5, "label":"P-6"},
|
||||
{"x":3, "y":3.5, "label":"P-Plus"},
|
||||
{"x":5, "y":3.5, "w":1.75, "label":"Caps Lock"},
|
||||
{"x":6.75, "y":3.5, "label":"A"},
|
||||
{"x":8.5, "y":3.5, "label":"S"},
|
||||
{"x":9.5, "y":3.375, "label":"D"},
|
||||
{"x":10.5, "y":3.5, "label":"F"},
|
||||
{"x":11.5, "y":3.625, "label":"G"},
|
||||
{"x":14.75, "y":3.625, "label":"H"},
|
||||
{"x":15.75, "y":3.5, "label":"J"},
|
||||
{"x":16.75, "y":3.375, "label":"K"},
|
||||
{"x":17.75, "y":3.5, "label":"L"},
|
||||
{"x":19.5, "y":3.5, "label":"Semicolon"},
|
||||
{"x":20.5, "y":3.5, "label":"Quote"},
|
||||
{"x":21.5, "y":3.5, "label":"Non-US Hash"},
|
||||
{"x":22.5, "y":3.5, "w":1.25, "label":"Enter"},
|
||||
|
||||
{"x":0, "y":4.5, "label":"P-1"},
|
||||
{"x":1, "y":4.5, "label":"P-2"},
|
||||
{"x":2, "y":4.5, "label":"P-3"},
|
||||
{"x":3, "y":4.5, "label":"P-Enter"},
|
||||
{"x":4.25, "y":4.5, "w":1.25, "label":"Left Shift"},
|
||||
{"x":5.25, "y":4.5, "label":"Non-US Backslash"},
|
||||
{"x":6.25, "y":4.5, "label":"Z"},
|
||||
{"x":8.5, "y":4.5, "label":"X"},
|
||||
{"x":9.5, "y":4.375, "label":"C"},
|
||||
{"x":10.5, "y":4.5, "label":"V"},
|
||||
{"x":11.5, "y":4.625, "label":"B"},
|
||||
{"x":12.5, "y":4.625, "label":"Layer"},
|
||||
{"x":13.75, "y":4.625, "label":"Layer"},
|
||||
{"x":14.75, "y":4.625, "label":"N"},
|
||||
{"x":15.75, "y":4.5, "label":"M"},
|
||||
{"x":16.75, "y":4.375, "label":"Comma"},
|
||||
{"x":17.75, "y":4.5, "label":"Period"},
|
||||
{"x":19.75, "y":4.5, "label":"Slash"},
|
||||
{"x":20.75, "y":4.5, "label":"JIS Ro"},
|
||||
{"x":21.75, "y":4.5, "w":1.25, "label":"Right Shift"},
|
||||
{"x":23, "y":4.5, "label":"Up"},
|
||||
|
||||
{"x":0, "y":5.5, "label":"P-0"},
|
||||
{"x":1, "y":5.5, "label":"P-00"},
|
||||
{"x":2, "y":5.5, "label":"P-Decimal"},
|
||||
{"x":3, "y":5.5, "label":"P-Enter"},
|
||||
{"x":4.75, "y":5.5, "w":1.25, "label":"Left Ctrl"},
|
||||
{"x":6, "y":5.5, "w":1.25, "label":"Left GUI"},
|
||||
{"x":9, "y":5.5, "w":1.25, "label":"Left Alt"},
|
||||
{"x":10.25, "y":5.5, "w":1.25, "label":"Menu"},
|
||||
{"x":11.5, "y":5.625, "w":2, "label":"Space"},
|
||||
{"x":13.75, "y":5.625, "w":2.75, "label":"Space"},
|
||||
{"x":16.5, "y":5.5, "w":1.25, "label":"Right Alt"},
|
||||
{"x":19.5, "y":5.5, "w":1.25, "label":"Right GUI"},
|
||||
{"x":20.75, "y":5.5, "w":1.25, "label":"Right Ctrl"},
|
||||
{"x":22, "y":5.5, "label":"Left"},
|
||||
{"x":23, "y":5.5, "label":"Down"},
|
||||
{"x":24, "y":5.5, "label":"Right"}
|
||||
]
|
||||
},
|
||||
"LAYOUT_rh": {
|
||||
"layout": [
|
||||
{"x":0.75, "y":0.25, "label":"Esc"},
|
||||
{"x":2.25, "y":0.25, "label":"F1"},
|
||||
{"x":3.25, "y":0.25, "label":"F2"},
|
||||
{"x":4.25, "y":0.25, "label":"F3"},
|
||||
{"x":5.25, "y":0.125, "label":"F4"},
|
||||
{"x":6.25, "y":0.25, "label":"F5"},
|
||||
{"x":7.25, "y":0.375, "label":"F6"},
|
||||
{"x":10.5, "y":0.375, "label":"F7"},
|
||||
{"x":11.5, "y":0.25, "label":"F8"},
|
||||
{"x":12.5, "y":0.125, "label":"F9"},
|
||||
{"x":13.5, "y":0.25, "label":"F10"},
|
||||
{"x":14.5, "y":0.25, "label":"F11"},
|
||||
{"x":15.5, "y":0.25, "label":"F12"},
|
||||
{"x":16.75, "y":0.25, "label":"Print"},
|
||||
{"x":17.75, "y":0.25, "label":"Scroll"},
|
||||
{"x":18.75, "y":0.25, "label":"Ins"},
|
||||
{"x":19.75, "y":0.25, "label":"Del"},
|
||||
{"x":21, "y":0.25, "label":"Home"},
|
||||
{"x":22, "y":0.25, "label":"End"},
|
||||
{"x":23, "y":0.25, "label":"PgUp"},
|
||||
{"x":24, "y":0.25, "label":"PgDn"},
|
||||
|
||||
{"x":2, "y":1.5, "label":"Grave"},
|
||||
{"x":3, "y":1.5, "label":"1"},
|
||||
{"x":4.25, "y":1.5, "label":"2"},
|
||||
{"x":5.25, "y":1.375, "label":"3"},
|
||||
{"x":6.25, "y":1.5, "label":"4"},
|
||||
{"x":7.25, "y":1.625, "label":"5"},
|
||||
{"x":10.5, "y":1.625, "label":"6"},
|
||||
{"x":11.5, "y":1.5, "label":"7"},
|
||||
{"x":12.5, "y":1.375, "label":"8"},
|
||||
{"x":13.5, "y":1.5, "label":"9"},
|
||||
{"x":14.75, "y":1.5, "label":"0"},
|
||||
{"x":15.75, "y":1.5, "label":"Dash"},
|
||||
{"x":16.75, "y":1.5, "label":"Equals"},
|
||||
{"x":17.75, "y":1.5, "label":"Backspace"},
|
||||
{"x":18.75, "y":1.5, "label":"Backspace"},
|
||||
{"x":21, "y":1.5, "label":"NumLock"},
|
||||
{"x":22, "y":1.5, "label":"P-Div"},
|
||||
{"x":23, "y":1.5, "label":"P-Mult"},
|
||||
{"x":24, "y":1.5, "label":"P-Minus"},
|
||||
|
||||
{"x":1.25, "y":2.5, "w":1.5, "label":"Tab"},
|
||||
{"x":2.75, "y":2.5, "label":"Q"},
|
||||
{"x":4.25, "y":2.5, "label":"W"},
|
||||
{"x":5.25, "y":2.375, "label":"E"},
|
||||
{"x":6.25, "y":2.5, "label":"R"},
|
||||
{"x":7.25, "y":2.625, "label":"T"},
|
||||
{"x":10.5, "y":2.625, "label":"Y"},
|
||||
{"x":11.5, "y":2.5, "label":"U"},
|
||||
{"x":12.5, "y":2.375, "label":"I"},
|
||||
{"x":13.5, "y":2.5, "label":"O"},
|
||||
{"x":15, "y":2.5, "label":"P"},
|
||||
{"x":16, "y":2.5, "label":"L bracket"},
|
||||
{"x":17, "y":2.5, "label":"R bracket"},
|
||||
{"x":18, "y":2.5, "w":1.5, "label":"ANSI Backslash"},
|
||||
{"x":21, "y":2.5, "label":"P-7"},
|
||||
{"x":22, "y":2.5, "label":"P-8"},
|
||||
{"x":23, "y":2.5, "label":"P-9"},
|
||||
{"x":24, "y":2.5, "label":"P-Plus"},
|
||||
|
||||
{"x":0.75, "y":3.5, "w":1.75, "label":"Caps Lock"},
|
||||
{"x":2.5, "y":3.5, "label":"A"},
|
||||
{"x":4.25, "y":3.5, "label":"S"},
|
||||
{"x":5.25, "y":3.375, "label":"D"},
|
||||
{"x":6.25, "y":3.5, "label":"F"},
|
||||
{"x":7.25, "y":3.625, "label":"G"},
|
||||
{"x":10.5, "y":3.625, "label":"H"},
|
||||
{"x":11.5, "y":3.5, "label":"J"},
|
||||
{"x":12.5, "y":3.375, "label":"K"},
|
||||
{"x":13.5, "y":3.5, "label":"L"},
|
||||
{"x":15.25, "y":3.5, "label":"Semicolon"},
|
||||
{"x":16.25, "y":3.5, "label":"Quote"},
|
||||
{"x":17.25, "y":3.5, "label":"Non-US Hash"},
|
||||
{"x":18.25, "y":3.5, "w":1.25, "label":"Enter"},
|
||||
{"x":21, "y":3.5, "label":"P-4"},
|
||||
{"x":22, "y":3.5, "label":"P-5"},
|
||||
{"x":23, "y":3.5, "label":"P-6"},
|
||||
{"x":24, "y":3.5, "label":"P-Plus"},
|
||||
|
||||
{"x":0, "y":4.5, "w":1.25, "label":"Left Shift"},
|
||||
{"x":1.25, "y":4.5, "label":"Non-US Backslash"},
|
||||
{"x":2.25, "y":4.5, "label":"Z"},
|
||||
{"x":4.25, "y":4.5, "label":"X"},
|
||||
{"x":5.25, "y":4.375, "label":"C"},
|
||||
{"x":6.25, "y":4.5, "label":"V"},
|
||||
{"x":7.25, "y":4.625, "label":"B"},
|
||||
{"x":8.25, "y":4.625, "label":"Layer"},
|
||||
{"x":9.5, "y":4.625, "label":"Layer"},
|
||||
{"x":10.5, "y":4.625, "label":"N"},
|
||||
{"x":11.5, "y":4.5, "label":"M"},
|
||||
{"x":12.5, "y":4.375, "label":"Comma"},
|
||||
{"x":13.5, "y":4.5, "label":"Period"},
|
||||
{"x":15.5, "y":4.5, "label":"Slash"},
|
||||
{"x":16.5, "y":4.5, "label":"JIS Ro"},
|
||||
{"x":17.5, "y":4.5, "w":1.25, "label":"Right Shift"},
|
||||
{"x":18.75, "y":4.5, "label":"Up"},
|
||||
{"x":21, "y":4.5, "label":"P-1"},
|
||||
{"x":22, "y":4.5, "label":"P-2"},
|
||||
{"x":23, "y":4.5, "label":"P-3"},
|
||||
{"x":24, "y":4.5, "label":"P-Enter"},
|
||||
|
||||
{"x":0.5, "y":5.5, "w":1.25, "label":"Left Ctrl"},
|
||||
{"x":1.75, "y":5.5, "w":1.25, "label":"Left GUI"},
|
||||
{"x":4.75, "y":5.5, "w":1.25, "label":"Left Alt"},
|
||||
{"x":6, "y":5.5, "w":1.25, "label":"Menu"},
|
||||
{"x":7.25, "y":5.625, "w":2, "label":"Space"},
|
||||
{"x":9.5, "y":5.625, "w":2.75, "label":"Space"},
|
||||
{"x":12.25, "y":5.5, "w":1.25, "label":"Right Alt"},
|
||||
{"x":15.25, "y":5.5, "w":1.25, "label":"Right GUI"},
|
||||
{"x":16.5, "y":5.5, "w":1.25, "label":"Right Ctrl"},
|
||||
{"x":17.75, "y":5.5, "label":"Left"},
|
||||
{"x":18.75, "y":5.5, "label":"Down"},
|
||||
{"x":19.75, "y":5.5, "label":"Right"},
|
||||
{"x":21, "y":5.5, "label":"P-0"},
|
||||
{"x":22, "y":5.5, "label":"P-00"},
|
||||
{"x":23, "y":5.5, "label":"P-Decimal"},
|
||||
{"x":24, "y":5.5, "label":"P-Enter"}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
/* Copyright 2021 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_lh(
|
||||
|
||||
KC_HOME,KC_END ,KC_PGUP,KC_PGDN, 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_INS ,KC_DEL ,
|
||||
KC_NUM ,KC_PSLS,KC_PAST,KC_PMNS, KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,KC_EQL ,KC_BSPC,KC_BSPC,
|
||||
KC_P7 ,KC_P8 ,KC_P9 ,KC_PPLS, 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_P4 ,KC_P5 ,KC_P6 ,KC_PPLS, KC_CAPS,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,KC_ENT ,KC_ENT ,
|
||||
KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT, KC_LSFT,KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,MO(1), MO(1), KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSFT,KC_RSFT,KC_UP ,
|
||||
KC_P0 ,KC_P0 ,KC_PDOT,KC_PENT, KC_LCTL,KC_LGUI, KC_LALT,KC_APP ,KC_SPC , KC_SPC ,KC_ALGR, KC_RGUI,KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
|
||||
|
||||
[1] = LAYOUT_lh(
|
||||
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,QK_BOOT,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
|
||||
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
|
||||
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,QK_BOOT,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
|
||||
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
|
||||
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______,_______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_PAUS,_______,_______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______,_______,XXXXXXX,
|
||||
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, _______,_______, _______,XXXXXXX,XXXXXXX, XXXXXXX,_______, _______,_______,XXXXXXX,XXXXXXX,XXXXXXX)
|
||||
};
|
||||
@ -0,0 +1,46 @@
|
||||
/* Copyright 2021 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_lh(
|
||||
|
||||
KC_HOME,KC_END ,KC_PGUP,KC_PGDN,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_INS ,KC_DEL ,
|
||||
KC_NUM ,KC_PSLS,KC_PAST,KC_PMNS, KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,KC_EQL ,KC_BSPC,KC_BSPC,
|
||||
KC_P7 ,KC_P8 ,KC_P9 ,KC_PPLS, 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_P4 ,KC_P5 ,KC_P6 ,KC_PPLS, KC_CAPS,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,KC_ENT ,KC_ENT ,
|
||||
KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT,KC_LSFT,KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,MO(1), MO(1), KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSFT,KC_RSFT,KC_UP ,
|
||||
KC_P0 ,KC_P0 ,KC_PDOT,KC_PENT, KC_LCTL,KC_LGUI, KC_LALT,KC_APP ,KC_SPC , KC_SPC , KC_ALGR, KC_RGUI,KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT) ,
|
||||
|
||||
|
||||
[1] = LAYOUT_lh(
|
||||
_______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,QK_BOOT,_______, _______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______) ,
|
||||
|
||||
[2] = LAYOUT_lh(
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______, _______,_______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______)
|
||||
};
|
||||
@ -0,0 +1,35 @@
|
||||
# Jabberwocky Gen. 2
|
||||
|
||||

|
||||
|
||||
A full-size, columnar-staggered, Alice-style keyboard. Specifically, this firmware is for the second generation (v2) of Jabberwocky PCBs, all of which use the same MCU (Atmega 32u4) and firmware.
|
||||
|
||||
| PCB Variant | Numpad Side | Daughterboard | Soldered / Hotswap | In-switch LEDs |
|
||||
| ------------- | ----------------- | ------------- | ------------------------- | --------------------- |
|
||||
| Blue | Left (Sinister) | Elite C | Soldered (SMD DIY kit) | Caps & Num Indicators |
|
||||
| Red | Right (Dexterous) | Elite C | Soldered (SMD DIY kit) | Caps & Num Indicators |
|
||||
| Green\* | Left (Sinister) | Unified DB | Soldered (switches only) | Backlit + Indicators |
|
||||
| Yellow | Right (Dexterous) | Unified DB | Soldered (switches only) | Backlit + Indicators |
|
||||
| Black\* | Left (Sinister) | Unified DB | Hotswap Hybrid | None |
|
||||
| White | Right (Dexterous) | Unified DB | Hotswap Hybrid | None |
|
||||
|
||||
\* *Only the Green and Black PCBs will be compatible with the upcoming Sinister Jabberwocky CNC case.*
|
||||
|
||||
|
||||
For more information, join the [NoPunIn10Key Discord](https://discord.gg/sku2Y6w).
|
||||
|
||||
- Keyboard Maintainer: [Alex Ronke](https://nopunin10did.com/), also known as [NoPunIn10Did](https://github.com/NoPunIn10Did)
|
||||
- Hardware Supported: Jabberwocky 2nd Generation PCBs
|
||||
- Hardware Availability: Currently by request only
|
||||
|
||||
To reset the board into bootloader mode, do one of the following:
|
||||
|
||||
- If loaded with the default layout, use Function-Escape or Function-R *(the function buttons are the 1u keys next to B and N)*
|
||||
- If using the Blue or Red PCBs, use the onboard Reset button on your Elite C
|
||||
- If using any of the other PCBs, use the onboard Reset button on the PCB itself
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make nopunin10did/jabberwocky/v2:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
@ -0,0 +1,19 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
BACKLIGHT_DRIVER = software # Software-driven backlight driver
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
@ -0,0 +1,17 @@
|
||||
/* Copyright 2022 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "v2.h"
|
||||
@ -0,0 +1,65 @@
|
||||
/* Copyright 2022 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_lh( \
|
||||
K0000, K0001, K0100, K0101, K0200, K0201, K0300, K0301, K0400, K0401, K0500, K0501, K0600, K0601, K0700, K0701, K0800, K0801, K0900, K0901, K0905, \
|
||||
K0002, K0003, K0102, K0103, K0203, K0302, K0303, K0402, K0403, K0502, K0503, K0602, K0603, K0702, K0703, K0802, K0803, K0902, K0903, \
|
||||
K0004, K0005, K0104, K0105, K0205, K0304, K0305, K0404, K0405, K0504, K0505, K0604, K0605, K0704, K0705, K0804, K0805, K0904, \
|
||||
K0006, K0007, K0106, K0107, K0207, K0306, K0307, K0406, K0407, K0506, K0507, K0606, K0607, K0706, K0707, K0806, K0807, K0907, \
|
||||
K0008, K0009, K0108, K0109, K0208, K0209, K0308, K0309, K0408, K0409, K0508, K0510, K0511, K0509, K0608, K0609, K0708, K0709, K0808, K0809, K0908, \
|
||||
K0010, K0011, K0110, K0111, K0211, K0310, K0311, K0410, K0411, K0610, K0611, K0711, K0810, K0811, K0910, K0911 \
|
||||
) \
|
||||
{ \
|
||||
{ K0000, K0100, K0200, K0300, K0400, K0500, K0600, K0700, K0800, K0900 }, \
|
||||
{ K0001, K0101, K0201, K0301, K0401, K0501, K0601, K0701, K0801, K0901 }, \
|
||||
{ K0002, K0102, KC_NO, K0302, K0402, K0502, K0602, K0702, K0802, K0902 }, \
|
||||
{ K0003, K0103, K0203, K0303, K0403, K0503, K0603, K0703, K0803, K0903 }, \
|
||||
{ K0004, K0104, KC_NO, K0304, K0404, K0504, K0604, K0704, K0804, K0904 }, \
|
||||
{ K0005, K0105, K0205, K0305, K0405, K0505, K0605, K0705, K0805, K0905 }, \
|
||||
{ K0006, K0106, KC_NO, K0306, K0406, K0506, K0606, K0706, K0806, KC_NO }, \
|
||||
{ K0007, K0107, K0207, K0307, K0407, K0507, K0607, K0707, K0807, K0907 }, \
|
||||
{ K0008, K0108, K0208, K0308, K0408, K0508, K0608, K0708, K0808, K0908 }, \
|
||||
{ K0009, K0109, K0209, K0309, K0409, K0509, K0609, K0709, K0809, KC_NO }, \
|
||||
{ K0010, K0110, KC_NO, K0310, K0410, K0510, K0610, KC_NO, K0810, K0910 }, \
|
||||
{ K0011, K0111, K0211, K0311, K0411, K0511, K0611, K0711, K0811, K0911 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_rh( \
|
||||
K0200, K0201, K0300, K0301, K0400, K0401, K0500, K0501, K0600, K0601, K0700, K0701, K0800, K0801, K0900, K0901, K0905, K0000, K0001, K0100, K0101, \
|
||||
K0203, K0302, K0303, K0402, K0403, K0502, K0503, K0602, K0603, K0702, K0703, K0802, K0803, K0902, K0903, K0002, K0003, K0102, K0103, \
|
||||
K0205, K0304, K0305, K0404, K0405, K0504, K0505, K0604, K0605, K0704, K0705, K0804, K0805, K0904, K0004, K0005, K0104, K0105, \
|
||||
K0207, K0306, K0307, K0406, K0407, K0506, K0507, K0606, K0607, K0706, K0707, K0806, K0807, K0907, K0006, K0007, K0106, K0107, \
|
||||
K0208, K0209, K0308, K0309, K0408, K0409, K0508, K0510, K0511, K0509, K0608, K0609, K0708, K0709, K0808, K0809, K0908, K0008, K0009, K0108, K0109, \
|
||||
K0211, K0310, K0311, K0410, K0411, K0610, K0611, K0711, K0810, K0811, K0910, K0911, K0010, K0011, K0110, K0111 \
|
||||
) \
|
||||
{ \
|
||||
{ K0000, K0100, K0200, K0300, K0400, K0500, K0600, K0700, K0800, K0900 }, \
|
||||
{ K0001, K0101, K0201, K0301, K0401, K0501, K0601, K0701, K0801, K0901 }, \
|
||||
{ K0002, K0102, KC_NO, K0302, K0402, K0502, K0602, K0702, K0802, K0902 }, \
|
||||
{ K0003, K0103, K0203, K0303, K0403, K0503, K0603, K0703, K0803, K0903 }, \
|
||||
{ K0004, K0104, KC_NO, K0304, K0404, K0504, K0604, K0704, K0804, K0904 }, \
|
||||
{ K0005, K0105, K0205, K0305, K0405, K0505, K0605, K0705, K0805, K0905 }, \
|
||||
{ K0006, K0106, KC_NO, K0306, K0406, K0506, K0606, K0706, K0806, KC_NO }, \
|
||||
{ K0007, K0107, K0207, K0307, K0407, K0507, K0607, K0707, K0807, K0907 }, \
|
||||
{ K0008, K0108, K0208, K0308, K0408, K0508, K0608, K0708, K0808, K0908 }, \
|
||||
{ K0009, K0109, K0209, K0309, K0409, K0509, K0609, K0709, K0809, KC_NO }, \
|
||||
{ K0010, K0110, KC_NO, K0310, K0410, K0510, K0610, KC_NO, K0810, K0910 }, \
|
||||
{ K0011, K0111, K0211, K0311, K0411, K0511, K0611, K0711, K0811, K0911 } \
|
||||
}
|
||||
Loading…
Reference in New Issue