Skip to content

Commit

Permalink
[Keyboard] Add Jabberwocky Keyboard (qmk#12500)
Browse files Browse the repository at this point in the history
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Rossman360 <rmontsinger@gmail.com>
  • Loading branch information
4 people authored and HokieGeek committed Jul 11, 2021
1 parent aa9f615 commit eab125f
Show file tree
Hide file tree
Showing 8 changed files with 396 additions and 0 deletions.
52 changes: 52 additions & 0 deletions keyboards/nopunin10did/jabberwocky/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/* 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/>.
*/

#pragma once

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID 0x4E50 // "NP"
#define PRODUCT_ID 0x4A57 // "JW"
#define DEVICE_VER 0x0001
#define MANUFACTURER NoPunIn10Did
#define PRODUCT Jabberwocky

/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 10

/* key matrix pins */
#define MATRIX_ROW_PINS { E6, B4, B5, B7, D5, C7, F1, F0, B1, B3, B2, B6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, D7, C6, D4, D0, D2, D3 }
#define UNUSED_PINS

/* Indicator LEDs */
#define LED_NUM_LOCK_PIN D1
#define LED_CAPS_LOCK_PIN B0

/* 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

127 changes: 127 additions & 0 deletions keyboards/nopunin10did/jabberwocky/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
{
"keyboard_name": "Jabberwocky",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/railroad",
"maintainer": "NoPunIn10Did",
"manufacturer": "NoPunIn10Did",
"width": 23.5,
"height": 7.75,
"layouts": {
"LAYOUT_rh_any": {
"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, "y":0.25, "r":14, "rx":4, "ry":2.5, "label":"F3"},
{"x":5, "y":0.125, "r":14, "rx":4, "ry":2.5, "label":"F4"},
{"x":6, "y":0.25, "r":14, "rx":4, "ry":2.5, "label":"F5"},
{"x":7, "y":0.375, "r":14, "rx":4, "ry":2.5, "label":"F6"},
{"x":9.25, "y":0.375, "r":-14, "rx":13.25, "ry":2.5, "label":"F7"},
{"x":10.25, "y":0.25, "r":-14, "rx":13.25, "ry":2.5, "label":"F8"},
{"x":11.25, "y":0.125, "r":-14, "rx":13.25, "ry":2.5, "label":"F9"},
{"x":12.25, "y":0.25, "r":-14, "rx":13.25, "ry":2.5, "label":"F10"},
{"x":13, "y":0.25, "label":"F11"},
{"x":14, "y":0.25, "label":"F12"},
{"x":15.125,"y":0.25, "label":"Print"},
{"x":16.125,"y":0.25, "label":"Scroll"},
{"x":17.25, "y":0.25, "label":"Ins"},
{"x":18.25, "y":0.25, "label":"Del"},
{"x":19.5, "y":0.25, "label":"Home"},
{"x":20.5, "y":0.25, "label":"End"},
{"x":21.5, "y":0.25, "label":"PgUp"},
{"x":22.5, "y":0.25, "label":"PgDn"},
{"x":2, "y":1.5, "label":"Grave"},
{"x":3, "y":1.5, "label":"1"},
{"x":4, "y":1.5, "r":14, "rx":4, "ry":2.5, "label":"2"},
{"x":5, "y":1.375, "r":14, "rx":4, "ry":2.5, "label":"3"},
{"x":6, "y":1.5, "r":14, "rx":4, "ry":2.5, "label":"4"},
{"x":7, "y":1.625, "r":14, "rx":4, "ry":2.5, "label":"5"},
{"x":9.25, "y":1.625, "r":-14, "rx":13.25, "ry":2.5, "label":"6"},
{"x":10.25, "y":1.5, "r":-14, "rx":13.25, "ry":2.5, "label":"7"},
{"x":11.25, "y":1.375, "r":-14, "rx":13.25, "ry":2.5, "label":"8"},
{"x":12.25, "y":1.5, "r":-14, "rx":13.25, "ry":2.5, "label":"9"},
{"x":13.25, "y":1.5, "label":"0"},
{"x":14.25, "y":1.5, "label":"Dash"},
{"x":15.25, "y":1.5, "label":"Equals"},
{"x":16.25, "y":1.5, "label":"Backspace"},
{"x":17.25, "y":1.5, "label":"Split BS"},
{"x":19.5, "y":1.5, "label":"NumLock"},
{"x":20.5, "y":1.5, "label":"P-Div"},
{"x":21.5, "y":1.5, "label":"P-Mult"},
{"x":22.5, "y":1.5, "label":"Pause"},
{"x":1.25, "y":2.5, "w":1.5, "label":"Tab"},
{"x":2.75, "y":2.5, "label":"Q"},
{"x":4, "y":2.5, "r":14, "rx":4, "ry":2.5, "label":"W"},
{"x":5, "y":2.375, "r":14, "rx":4, "ry":2.5, "label":"E"},
{"x":6, "y":2.5, "r":14, "rx":4, "ry":2.5, "label":"R"},
{"x":7, "y":2.625, "r":14, "rx":4, "ry":2.5, "label":"T"},
{"x":9.25, "y":2.625, "r":-14, "rx":13.25, "ry":2.5, "label":"Y"},
{"x":10.25, "y":2.5, "r":-14, "rx":13.25, "ry":2.5, "label":"U"},
{"x":11.25, "y":2.375, "r":-14, "rx":13.25, "ry":2.5, "label":"I"},
{"x":12.25, "y":2.5, "r":-14, "rx":13.25, "ry":2.5, "label":"O"},
{"x":13.5, "y":2.5, "label":"P"},
{"x":14.5, "y":2.5, "label":"L bracket"},
{"x":15.5, "y":2.5, "label":"R bracket"},
{"x":16.5, "y":2.5, "w":1.5, "label":"ANSI Backslash"},
{"x":19.5, "y":2.5, "label":"P-7"},
{"x":20.5, "y":2.5, "label":"P-8"},
{"x":21.5, "y":2.5, "label":"P-9"},
{"x":22.5, "y":2.5, "label":"P-Minus"},
{"x":0.75, "y":3.5, "w":1.75, "label":"Caps Lock"},
{"x":2.5, "y":3.5, "label":"A"},
{"x":4, "y":3.5, "r":14, "rx":4, "ry":2.5, "label":"S"},
{"x":5, "y":3.375, "r":14, "rx":4, "ry":2.5, "label":"D"},
{"x":6, "y":3.5, "r":14, "rx":4, "ry":2.5, "label":"F"},
{"x":7, "y":3.625, "r":14, "rx":4, "ry":2.5, "label":"G"},
{"x":9.25, "y":3.625, "r":-14, "rx":13.25, "ry":2.5, "label":"H"},
{"x":10.25, "y":3.5, "r":-14, "rx":13.25, "ry":2.5, "label":"J"},
{"x":11.25, "y":3.375, "r":-14, "rx":13.25, "ry":2.5, "label":"K"},
{"x":12.25, "y":3.5, "r":-14, "rx":13.25, "ry":2.5, "label":"L"},
{"x":13.75, "y":3.5, "label":"Semicolon"},
{"x":14.75, "y":3.5, "label":"Quote"},
{"x":15.75, "y":3.5, "label":"Non-US Hash"},
{"x":16.75, "y":3.5, "w":1.25, "label":"Enter"},
{"x":19.5, "y":3.5, "label":"P-4"},
{"x":20.5, "y":3.5, "label":"P-5"},
{"x":21.5, "y":3.5, "label":"P-6"},
{"x":22.5, "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, "y":4.5, "r":14, "rx":4, "ry":2.5, "label":"X"},
{"x":5, "y":4.375, "r":14, "rx":4, "ry":2.5, "label":"C"},
{"x":6, "y":4.5, "r":14, "rx":4, "ry":2.5, "label":"V"},
{"x":7, "y":4.625, "r":14, "rx":4, "ry":2.5, "label":"B"},
{"x":8, "y":4.625, "r":14, "rx":4, "ry":2.5, "label":"Layer"},
{"x":8.25, "y":4.625, "r":-14, "rx":13.25, "ry":2.5, "label":"Layer"},
{"x":9.25, "y":4.625, "r":-14, "rx":13.25, "ry":2.5, "label":"N"},
{"x":10.25, "y":4.5, "r":-14, "rx":13.25, "ry":2.5, "label":"M"},
{"x":11.25, "y":4.375, "r":-14, "rx":13.25, "ry":2.5, "label":"Comma"},
{"x":12.25, "y":4.5, "r":-14, "rx":13.25, "ry":2.5, "label":"Period"},
{"x":14, "y":4.5, "label":"Slash"},
{"x":15, "y":4.5, "label":"JIS Backslash"},
{"x":16, "y":4.5, "w":1.25, "label":"Right Shift"},
{"x":17.25, "y":4.5, "label":"Up"},
{"x":19.5, "y":4.5, "label":"P-1"},
{"x":20.5, "y":4.5, "label":"P-2"},
{"x":21.5, "y":4.5, "label":"P-3"},
{"x":22.5, "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.5, "y":5.5, "w":1.25, "r":14, "rx":4, "ry":2.5, "label":"Left Alt"},
{"x":5.75, "y":5.5, "w":1.25, "r":14, "rx":4, "ry":2.5, "label":"Menu"},
{"x":7, "y":5.625, "w":2, "r":14, "rx":4, "ry":2.5, "label":"Space"},
{"x":8.25, "y":5.625, "w":2.75, "r":-14, "rx":13.25, "ry":2.5, "label":"Space"},
{"x":11, "y":5.5, "w":1.25, "r":-14, "rx":13.25, "ry":2.5, "label":"Right Alt"},
{"x":13.75, "y":5.5, "w":1.25, "label":"Right GUI"},
{"x":15, "y":5.5, "w":1.25, "label":"Right Ctrl"},
{"x":16.25, "y":5.5, "label":"Left"},
{"x":17.25, "y":5.5, "label":"Down"},
{"x":18.25, "y":5.5, "label":"Right"},
{"x":19.5, "y":5.5, "label":"P-0"},
{"x":20.5, "y":5.5, "label":"P-00"},
{"x":21.5, "y":5.5, "label":"P-Decimal"},
{"x":22.5, "y":5.5, "label":"P-Enter"}
]
}
}
}
17 changes: 17 additions & 0 deletions keyboards/nopunin10did/jabberwocky/jabberwocky.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/* 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 "jabberwocky.h"
65 changes: 65 additions & 0 deletions keyboards/nopunin10did/jabberwocky/jabberwocky.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
/* 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/>.
*/

#pragma once

#include "quantum.h"

#define LAYOUT_rh_any( \
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, \
K0107, K0106, K0207, K0206, K0307, K0306, K0406, K0407, K0506, K0507, K0606, K0607, K0706, K0707, K0806, K0807, K0906, K0907, \
K0008, K0009, K0108, K0109, K0208, K0209, K0308, K0309, K0410, K0408, K0409, K0508, K0509, K0608, K0609, K0708, K0709, K0808, K0809, K0908, K0909, \
K0010, K0110, K0210, K0310, K0311, K0411, K0510, K0511, K0610, K0611, K0710, 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, K0202, K0302, K0402, K0502, K0602, K0702, K0802, K0902 }, \
{ KC_NO, K0103, K0203, KC_NO, K0403, K0503, K0603, K0703, K0803, K0903 }, \
{ K0004, K0104, K0204, K0304, K0404, K0504, K0604, K0704, K0804, K0904 }, \
{ KC_NO, K0105, K0205, KC_NO, K0405, K0505, K0605, K0705, K0805, K0905 }, \
{ K0006, K0106, K0206, K0306, K0406, K0506, K0606, K0706, K0806, K0906 }, \
{ 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, K0909 }, \
{ K0010, K0110, K0210, K0310, K0410, K0510, K0610, K0710, K0810, K0910 }, \
{ KC_NO, KC_NO, KC_NO, K0311, K0411, K0511, K0611, K0711, K0811, K0911 } \
}

#define LAYOUT_lh_any( \
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, \
K0806, K0807, K0906, K0907, K0107, K0106, K0207, K0206, K0307, K0306, K0406, K0407, K0506, K0507, K0606, K0607, K0706, K0707, \
K0808, K0809, K0908, K0909, K0008, K0009, K0108, K0109, K0208, K0209, K0308, K0309, K0410, K0408, K0409, K0508, K0509, K0608, K0609, K0708, K0709, \
K0810, K0811, K0910, K0911, K0010, K0110, K0210, K0310, K0311, K0411, K0510, K0511, K0610, K0611, K0710, K0711 \
) \
{ \
{ K0000, K0100, K0200, K0300, K0400, K0500, K0600, K0700, K0800, K0900 }, \
{ K0001, K0101, K0201, K0301, K0401, K0501, K0601, K0701, K0801, K0901 }, \
{ K0002, K0102, K0202, K0302, K0402, K0502, K0602, K0702, K0802, K0902 }, \
{ KC_NO, K0103, K0203, KC_NO, K0403, K0503, K0603, K0703, K0803, K0903 }, \
{ K0004, K0104, K0204, K0304, K0404, K0504, K0604, K0704, K0804, K0904 }, \
{ KC_NO, K0105, K0205, KC_NO, K0405, K0505, K0605, K0705, K0805, K0905 }, \
{ K0006, K0106, K0206, K0306, K0406, K0506, K0606, K0706, K0806, K0906 }, \
{ 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, K0909 }, \
{ K0010, K0110, K0210, K0310, K0410, K0510, K0610, K0710, K0810, K0910 }, \
{ KC_NO, KC_NO, KC_NO, K0311, K0411, K0511, K0611, K0711, K0811, K0911 } \
}
38 changes: 38 additions & 0 deletions keyboards/nopunin10did/jabberwocky/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -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_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_SLCK,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_NLCK,KC_PSLS,KC_PAST,KC_PMNS,
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC,KC_RBRC,KC_BSLS, KC_P7 ,KC_P8 ,KC_P9 ,KC_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_P4 ,KC_P5 ,KC_P6 ,KC_PPLS,
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_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(
RESET ,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,RESET ,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, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX)
};
Loading

0 comments on commit eab125f

Please sign in to comment.