From 0bf72e4fe52c7458a0c1376647af2aa53901f6ee Mon Sep 17 00:00:00 2001 From: nopunin10did Date: Sat, 19 Nov 2022 14:35:35 -0500 Subject: [Keyboard] Add Jabberwocky v2 and reorganize (#19014) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/nopunin10did/jabberwocky/v2/config.h | 50 ++++ keyboards/nopunin10did/jabberwocky/v2/info.json | 257 +++++++++++++++++++++ .../jabberwocky/v2/keymaps/default/keymap.c | 38 +++ .../jabberwocky/v2/keymaps/nopunin10did/keymap.c | 51 ++++ .../jabberwocky/v2/keymaps/via/keymap.c | 46 ++++ .../jabberwocky/v2/keymaps/via/rules.mk | 2 + keyboards/nopunin10did/jabberwocky/v2/readme.md | 35 +++ keyboards/nopunin10did/jabberwocky/v2/rules.mk | 19 ++ keyboards/nopunin10did/jabberwocky/v2/v2.c | 17 ++ keyboards/nopunin10did/jabberwocky/v2/v2.h | 65 ++++++ 10 files changed, 580 insertions(+) create mode 100644 keyboards/nopunin10did/jabberwocky/v2/config.h create mode 100644 keyboards/nopunin10did/jabberwocky/v2/info.json create mode 100644 keyboards/nopunin10did/jabberwocky/v2/keymaps/default/keymap.c create mode 100644 keyboards/nopunin10did/jabberwocky/v2/keymaps/nopunin10did/keymap.c create mode 100644 keyboards/nopunin10did/jabberwocky/v2/keymaps/via/keymap.c create mode 100644 keyboards/nopunin10did/jabberwocky/v2/keymaps/via/rules.mk create mode 100644 keyboards/nopunin10did/jabberwocky/v2/readme.md create mode 100644 keyboards/nopunin10did/jabberwocky/v2/rules.mk create mode 100644 keyboards/nopunin10did/jabberwocky/v2/v2.c create mode 100644 keyboards/nopunin10did/jabberwocky/v2/v2.h (limited to 'keyboards/nopunin10did/jabberwocky/v2') diff --git a/keyboards/nopunin10did/jabberwocky/v2/config.h b/keyboards/nopunin10did/jabberwocky/v2/config.h new file mode 100644 index 0000000000..b339209402 --- /dev/null +++ b/keyboards/nopunin10did/jabberwocky/v2/config.h @@ -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 . + */ + +#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 diff --git a/keyboards/nopunin10did/jabberwocky/v2/info.json b/keyboards/nopunin10did/jabberwocky/v2/info.json new file mode 100644 index 0000000000..10e6e28500 --- /dev/null +++ b/keyboards/nopunin10did/jabberwocky/v2/info.json @@ -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"} + ] + } + } +} diff --git a/keyboards/nopunin10did/jabberwocky/v2/keymaps/default/keymap.c b/keyboards/nopunin10did/jabberwocky/v2/keymaps/default/keymap.c new file mode 100644 index 0000000000..84fe9586ee --- /dev/null +++ b/keyboards/nopunin10did/jabberwocky/v2/keymaps/default/keymap.c @@ -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 . + */ + +#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) +}; diff --git a/keyboards/nopunin10did/jabberwocky/v2/keymaps/nopunin10did/keymap.c b/keyboards/nopunin10did/jabberwocky/v2/keymaps/nopunin10did/keymap.c new file mode 100644 index 0000000000..d7f4c95d48 --- /dev/null +++ b/keyboards/nopunin10did/jabberwocky/v2/keymaps/nopunin10did/keymap.c @@ -0,0 +1,51 @@ +/* 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 . + */ + +#include QMK_KEYBOARD_H + +#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_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( + +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_MUTE,KC_SPC , SHAGHOM, 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_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,_______) +}; diff --git a/keyboards/nopunin10did/jabberwocky/v2/keymaps/via/keymap.c b/keyboards/nopunin10did/jabberwocky/v2/keymaps/via/keymap.c new file mode 100644 index 0000000000..5827bd963c --- /dev/null +++ b/keyboards/nopunin10did/jabberwocky/v2/keymaps/via/keymap.c @@ -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 . + */ + +#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( +_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______, +_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______, +_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,_______, +_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +_______,_______,_______,_______, _______,_______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______) +}; diff --git a/keyboards/nopunin10did/jabberwocky/v2/keymaps/via/rules.mk b/keyboards/nopunin10did/jabberwocky/v2/keymaps/via/rules.mk new file mode 100644 index 0000000000..36b7ba9cbc --- /dev/null +++ b/keyboards/nopunin10did/jabberwocky/v2/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/nopunin10did/jabberwocky/v2/readme.md b/keyboards/nopunin10did/jabberwocky/v2/readme.md new file mode 100644 index 0000000000..a9e440fcd6 --- /dev/null +++ b/keyboards/nopunin10did/jabberwocky/v2/readme.md @@ -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). diff --git a/keyboards/nopunin10did/jabberwocky/v2/rules.mk b/keyboards/nopunin10did/jabberwocky/v2/rules.mk new file mode 100644 index 0000000000..9d065177d4 --- /dev/null +++ b/keyboards/nopunin10did/jabberwocky/v2/rules.mk @@ -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 diff --git a/keyboards/nopunin10did/jabberwocky/v2/v2.c b/keyboards/nopunin10did/jabberwocky/v2/v2.c new file mode 100644 index 0000000000..792093997b --- /dev/null +++ b/keyboards/nopunin10did/jabberwocky/v2/v2.c @@ -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 . + */ + +#include "v2.h" diff --git a/keyboards/nopunin10did/jabberwocky/v2/v2.h b/keyboards/nopunin10did/jabberwocky/v2/v2.h new file mode 100644 index 0000000000..f319eb2240 --- /dev/null +++ b/keyboards/nopunin10did/jabberwocky/v2/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 . + */ + +#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 } \ +} -- cgit v1.2.3