Merge remote-tracking branch 'origin/master' into develop

This commit is contained in:
Drashna Jael're 2022-11-19 13:44:25 -08:00
commit 3d72be0637
No known key found for this signature in database
GPG Key ID: DBA1FD3A860D1B11
34 changed files with 1442 additions and 65 deletions

View File

@ -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

View File

@ -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 }
]
}
}
}

View File

@ -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
)
};

View File

@ -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
)
};

View File

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

View File

@ -0,0 +1,27 @@
# Boaty
![Boaty](https://i.imgur.com/6LEaYxSh.jpg)
* 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).

View File

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

View File

@ -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
}
]
}
}
}

View File

@ -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)
};

View File

@ -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)
};

View File

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

View File

@ -0,0 +1,27 @@
# Freebird 75
![fb75](https://i.imgur.com/fGRQZ2gh.jpg)
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

View File

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

View File

@ -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(
_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
_______,_______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______, _______,_______,_______,_______),
};

View File

@ -1,7 +1,7 @@
{
"keyboard_name": "Jabberwocky",
"manufacturer": "NoPunIn10Did",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/railroad",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/jabberwocky/v1",
"maintainer": "NoPunIn10Did",
"usb": {
"vid": "0x4E50",
@ -9,7 +9,7 @@
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT_rh_any": {
"LAYOUT_rh": {
"layout": [
{"x":0.75, "y":0.25, "label":"Esc"},
{"x":2.25, "y":0.25, "label":"F1"},

View File

@ -18,7 +18,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_rh_any(
[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_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_BSPC,KC_BSPC, KC_NUM ,KC_PSLS,KC_PAST,KC_PMNS,
@ -28,7 +28,7 @@ KC_LSFT,KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,MO(1), MO(1), KC_N ,
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(
[1] = LAYOUT_rh(
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,

View File

@ -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,_______)
};

View File

@ -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(
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______, _______,_______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______)
};

View File

@ -6,14 +6,16 @@ A full-size, columnar-staggered, Alice-style keyboard. The Jabberwocky comes in
* Dexterous (with numpad on the right side, pictured above)
* Sinister (with numpad on the left side)
Both the Dexterous and Sinister use the same firmware. The numpad and the four keys above it are simply transposed from the right to the left side of the board.
Both the v1 Dexterous and v1 Sinister use the same firmware. The numpad and the four keys above it are simply transposed from the right to the left side of the board.
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: Dexterous Jabberwocky and Sinister Jabberwocky (2021 March)
* Hardware Supported: Dexterous Jabberwocky and Sinister Jabberwocky v1 (2021 March)
* Hardware Availability: Currently by request only
**The v1 firmware is not compatible with any of the second-generation v2 Jabberwocky PCBs. Please use the [v2 firmware](../v2/readme.md) instead.**
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)*
@ -23,6 +25,6 @@ To reset the board into bootloader mode, do one of the following:
Make example for this keyboard (after setting up your build environment):
make nopunin10did/jabberwocky:default
make nopunin10did/jabberwocky/v1: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).

View File

@ -1,4 +1,4 @@
/* Copyright 2021 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com)
/* 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
@ -14,4 +14,4 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "jabberwocky.h"
#include "v1.h"

View File

@ -1,4 +1,4 @@
/* Copyright 2021 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com)
/* 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
@ -18,7 +18,7 @@
#include "quantum.h"
#define LAYOUT_rh_any( \
#define LAYOUT_rh( \
K0007, K0101, K0100, K0201, K0200, K0301, K0300, K0400, K0401, K0500, K0501, K0600, K0601, K0700, K0701, K0000, K0001, K0800, K0801, K0900, K0901, \
K0004, K0102, K0103, K0202, K0203, K0302, K0402, K0403, K0502, K0503, K0602, K0603, K0702, K0703, K0002, K0802, K0803, K0902, K0903, \
K0006, K0104, K0105, K0204, K0205, K0304, K0404, K0405, K0504, K0505, K0604, K0605, K0704, K0705, K0804, K0805, K0904, K0905, \
@ -41,7 +41,7 @@
{ KC_NO, KC_NO, KC_NO, K0311, K0411, K0511, K0611, K0711, K0811, K0911 } \
}
#define LAYOUT_lh_any( \
#define LAYOUT_lh( \
K0800, K0801, K0900, K0901, K0007, K0101, K0100, K0201, K0200, K0301, K0300, K0400, K0401, K0500, K0501, K0600, K0601, K0700, K0701, K0000, K0001, \
K0802, K0803, K0902, K0903, K0004, K0102, K0103, K0202, K0203, K0302, K0402, K0403, K0502, K0503, K0602, K0603, K0702, K0703, K0002, \
K0804, K0805, K0904, K0905, K0006, K0104, K0105, K0204, K0205, K0304, K0404, K0405, K0504, K0505, K0604, K0605, K0704, K0705, \

View File

@ -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

View File

@ -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"}
]
}
}
}

View File

@ -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)
};

View File

@ -18,32 +18,34 @@
#define LSA_DEL LSA_T(KC_DEL)
#define RALTHOM RALT_T(KC_HOME)
#define SHAGHOM SAGR_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_MUTE LT(1,KC_F16)
#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_any(
[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),
KC_LCTL,KC_LGUI, KC_LALT,FN_MUTE,KC_SPC , SHAGHOM, RALTHOM, RWINEND,RCTLEND,KC_LEFT,KC_DOWN,KC_RGHT, KC_P0 ,KC_P0 ,KC_PDOT,FN_PENT),
[1] = LAYOUT_rh_any(
[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,KC_INT3, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
KC_CAPS,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,KC_SCRL,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_NLCK,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_SLCK,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,_______)
};

View File

@ -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(
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______, _______,_______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______)
};

View File

@ -0,0 +1,35 @@
# Jabberwocky Gen. 2
![Jabberwocky v2 CNC Edition](https://i.imgur.com/xfpl9H2h.jpg)
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).

View File

@ -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

View File

@ -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"

View File

@ -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 } \
}