From d7fe746180a784ac33cc8d6b188052edf5d51baf Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Mon, 10 Jul 2023 15:11:01 +0200 Subject: [PATCH 01/17] [Keyboard] Add splitkb.com's Aurora Sofle v2 --- keyboards/splitkb/aurora/sofle_v2/config.h | 22 ++ keyboards/splitkb/aurora/sofle_v2/glcdfont.c | 234 +++++++++++++ keyboards/splitkb/aurora/sofle_v2/info.json | 16 + .../aurora/sofle_v2/keymaps/debug/config.h | 21 ++ .../aurora/sofle_v2/keymaps/debug/keymap.c | 75 +++++ .../aurora/sofle_v2/keymaps/debug/readme.md | 24 ++ .../aurora/sofle_v2/keymaps/debug/rules.mk | 23 ++ .../aurora/sofle_v2/keymaps/default/config.h | 27 ++ .../sofle_v2/keymaps/default/keymap.json | 52 +++ .../aurora/sofle_v2/keymaps/default/readme.md | 88 +++++ keyboards/splitkb/aurora/sofle_v2/readme.md | 48 +++ .../splitkb/aurora/sofle_v2/rev1/config.h | 45 +++ .../splitkb/aurora/sofle_v2/rev1/info.json | 200 ++++++++++++ keyboards/splitkb/aurora/sofle_v2/rev1/rev1.c | 37 +++ .../splitkb/aurora/sofle_v2/rev1/rules.mk | 17 + keyboards/splitkb/aurora/sofle_v2/rules.mk | 16 + keyboards/splitkb/aurora/sofle_v2/sofle_v2.c | 308 ++++++++++++++++++ 17 files changed, 1253 insertions(+) create mode 100644 keyboards/splitkb/aurora/sofle_v2/config.h create mode 100644 keyboards/splitkb/aurora/sofle_v2/glcdfont.c create mode 100644 keyboards/splitkb/aurora/sofle_v2/info.json create mode 100644 keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h create mode 100644 keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c create mode 100644 keyboards/splitkb/aurora/sofle_v2/keymaps/debug/readme.md create mode 100644 keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk create mode 100644 keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h create mode 100644 keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json create mode 100644 keyboards/splitkb/aurora/sofle_v2/keymaps/default/readme.md create mode 100644 keyboards/splitkb/aurora/sofle_v2/readme.md create mode 100644 keyboards/splitkb/aurora/sofle_v2/rev1/config.h create mode 100644 keyboards/splitkb/aurora/sofle_v2/rev1/info.json create mode 100644 keyboards/splitkb/aurora/sofle_v2/rev1/rev1.c create mode 100644 keyboards/splitkb/aurora/sofle_v2/rev1/rules.mk create mode 100644 keyboards/splitkb/aurora/sofle_v2/rules.mk create mode 100644 keyboards/splitkb/aurora/sofle_v2/sofle_v2.c diff --git a/keyboards/splitkb/aurora/sofle_v2/config.h b/keyboards/splitkb/aurora/sofle_v2/config.h new file mode 100644 index 000000000000..ee8de74e645a --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/config.h @@ -0,0 +1,22 @@ +/* Copyright 2023 splitkb.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 + +// Not yet available in `info.json` +#ifdef OLED_ENABLE +# define OLED_FONT_H "keyboards/splitkb/aurora/sofle_v2/glcdfont.c" +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/glcdfont.c b/keyboards/splitkb/aurora/sofle_v2/glcdfont.c new file mode 100644 index 000000000000..d6a58634d139 --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/glcdfont.c @@ -0,0 +1,234 @@ +#include "progmem.h" + +// NOTE: This file is a copy of `crkbd/soundmonster/glcdfont.c` + +// Corne 8x6 font with QMK Firmware Logo +// Online editor: https://helixfonteditor.netlify.com/ +// See also: https://github.com/soundmonster/glcdfont_converter + +const unsigned char font[] PROGMEM = { +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, +0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, +0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, +0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, +0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, +0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, +0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, +0x00, 0x18, 0x24, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, +0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, +0x26, 0x29, 0x79, 0x29, 0x26, 0x00, +0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, +0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, +0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, +0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, +0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, +0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, +0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, +0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, +0x60, 0x60, 0x60, 0x60, 0x60, 0x00, +0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, +0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, +0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, +0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, +0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, +0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, +0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, +0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, +0x00, 0x07, 0x00, 0x07, 0x00, 0x00, +0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, +0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, +0x23, 0x13, 0x08, 0x64, 0x62, 0x00, +0x36, 0x49, 0x56, 0x20, 0x50, 0x00, +0x00, 0x08, 0x07, 0x03, 0x00, 0x00, +0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, +0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, +0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, +0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, +0x00, 0x80, 0x70, 0x30, 0x00, 0x00, +0x08, 0x08, 0x08, 0x08, 0x08, 0x00, +0x00, 0x00, 0x60, 0x60, 0x00, 0x00, +0x20, 0x10, 0x08, 0x04, 0x02, 0x00, +0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, +0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, +0x72, 0x49, 0x49, 0x49, 0x46, 0x00, +0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, +0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, +0x27, 0x45, 0x45, 0x45, 0x39, 0x00, +0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, +0x41, 0x21, 0x11, 0x09, 0x07, 0x00, +0x36, 0x49, 0x49, 0x49, 0x36, 0x00, +0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, +0x00, 0x00, 0x14, 0x00, 0x00, 0x00, +0x00, 0x40, 0x34, 0x00, 0x00, 0x00, +0x00, 0x08, 0x14, 0x22, 0x41, 0x00, +0x14, 0x14, 0x14, 0x14, 0x14, 0x00, +0x00, 0x41, 0x22, 0x14, 0x08, 0x00, +0x02, 0x01, 0x59, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, +0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, +0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, +0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, +0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, +0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, +0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, +0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, +0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, +0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, +0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, +0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, +0x26, 0x49, 0x49, 0x49, 0x32, 0x00, +0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, +0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, +0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, +0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, +0x63, 0x14, 0x08, 0x14, 0x63, 0x00, +0x03, 0x04, 0x78, 0x04, 0x03, 0x00, +0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, +0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, +0x02, 0x04, 0x08, 0x10, 0x20, 0x00, +0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, +0x04, 0x02, 0x01, 0x02, 0x04, 0x00, +0x40, 0x40, 0x40, 0x40, 0x40, 0x00, +0x00, 0x03, 0x07, 0x08, 0x00, 0x00, +0x20, 0x54, 0x54, 0x78, 0x40, 0x00, +0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, +0x38, 0x44, 0x44, 0x44, 0x28, 0x00, +0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, +0x38, 0x54, 0x54, 0x54, 0x18, 0x00, +0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, +0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, +0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, +0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, +0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, +0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, +0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, +0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, +0x38, 0x44, 0x44, 0x44, 0x38, 0x00, +0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, +0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, +0x48, 0x54, 0x54, 0x54, 0x24, 0x00, +0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, +0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, +0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, +0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, +0x44, 0x28, 0x10, 0x28, 0x44, 0x00, +0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, +0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, +0x00, 0x08, 0x36, 0x41, 0x00, 0x00, +0x00, 0x00, 0x77, 0x00, 0x00, 0x00, +0x00, 0x41, 0x36, 0x08, 0x00, 0x00, +0x02, 0x01, 0x02, 0x04, 0x02, 0x00, +0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, +0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC, +0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, +0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2, +0x42, 0x42, 0x42, 0xE2, 0x52, 0x22, +0x22, 0x22, 0x42, 0x82, 0x02, 0x02, +0x22, 0x22, 0x02, 0x04, 0xF8, 0x00, +0x00, 0xF8, 0x04, 0x02, 0x02, 0x82, +0x42, 0x22, 0x42, 0x82, 0x02, 0x02, +0x02, 0x82, 0x42, 0x22, 0x12, 0x22, +0x42, 0x82, 0x02, 0x04, 0xF8, 0x00, +0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E, +0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE, +0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, +0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00, +0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E, +0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x80, 0x80, 0x40, 0x40, 0x20, 0x20, +0x10, 0x10, 0x08, 0x08, 0x10, 0x10, +0x20, 0x20, 0x40, 0x40, 0x80, 0x80, +0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, +0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, +0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, +0x80, 0x80, 0x40, 0x40, 0x20, 0x20, +0x10, 0x10, 0x08, 0x08, 0x10, 0x10, +0x20, 0x20, 0x40, 0x40, 0x80, 0x80, +0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, +0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, +0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, +0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0, +0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, +0x07, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47, +0x42, 0x42, 0x42, 0x47, 0x4A, 0x44, +0x40, 0x40, 0x40, 0x40, 0x41, 0x42, +0x44, 0x44, 0x40, 0x20, 0x1F, 0x00, +0x00, 0x1F, 0x20, 0x40, 0x41, 0x40, +0x40, 0x40, 0x40, 0x40, 0x41, 0x40, +0x41, 0x41, 0x4F, 0x48, 0x48, 0x48, +0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00, +0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78, +0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B, +0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D, +0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00, +0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F, +0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, +0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, +0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, +0x88, 0x88, 0x55, 0x55, 0x23, 0x23, +0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, +0x23, 0x23, 0x55, 0x55, 0x88, 0x88, +0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, +0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, +0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, +0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, +0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, +0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, +0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, +0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F, +0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, +0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C, +0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00, +0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04, +0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20, +0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04, +0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20, +0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC, +0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F, +0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC, +0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F, +0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE, +0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00, +0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77, +0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x02, 0x02, +0x04, 0x04, 0x08, 0x08, 0x04, 0x04, +0x02, 0x02, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x02, 0x02, +0x04, 0x04, 0x08, 0x08, 0x04, 0x04, +0x02, 0x02, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x03, 0x03, +0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, +0x03, 0x03, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x03, 0x02, +0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, +0x03, 0x02, 0x01, 0x01, 0x00, 0x00 +}; diff --git a/keyboards/splitkb/aurora/sofle_v2/info.json b/keyboards/splitkb/aurora/sofle_v2/info.json new file mode 100644 index 000000000000..13c51b4dd2ec --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/info.json @@ -0,0 +1,16 @@ +{ + "manufacturer": "splitkb.com", + "url": "https://splitkb.com", + "maintainer": "splitkb", + "usb": { + "vid": "0x8D1D", + "device_version": "1.0.0" + }, + "development_board": "elite_c", + "split": { + "enabled": true + }, + "build": { + "lto": true + } +} \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h new file mode 100644 index 000000000000..bfc598d331bf --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h @@ -0,0 +1,21 @@ +/* Copyright 2023 splitkb.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 + +#ifdef RGBLIGHT_ENABLE +# define RGBLIGHT_EFFECT_BREATHING +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c new file mode 100644 index 000000000000..f927f05a47fd --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c @@ -0,0 +1,75 @@ +/* Copyright 2023 splitkb.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 + +enum layers { + _DEFAULT = 0, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DEFAULT] = LAYOUT( + KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, S(KC_F), S(KC_E), S(KC_D), S(KC_C), S(KC_B), S(KC_A), + KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, S(KC_L), S(KC_K), S(KC_J), S(KC_I), S(KC_H), S(KC_G), + KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, S(KC_R), S(KC_Q), S(KC_P), S(KC_O), S(KC_N), S(KC_M), + KC_S, KC_T, KC_U, KC_V, KC_W, KC_X, KC_Y, S(KC_Y), S(KC_X), S(KC_W), S(KC_V), S(KC_U), S(KC_T), S(KC_S), + KC_Z, KC_1, KC_2, KC_3, KC_4, S(KC_4), S(KC_3), S(KC_2), S(KC_1), S(KC_Z) + + ) +}; + +#ifdef RGBLIGHT_ENABLE +void keyboard_post_init_user(void) { + rgblight_enable_noeeprom(); // enables RGB, without saving settings + rgblight_sethsv_noeeprom(HSV_RED); // sets the color to red without saving + rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); // sets mode to Fast breathing without saving +} +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + // 0 is left-half encoder + // 1 is right-half encoder + if (index == 0) { + tap_code(KC_0); + } else if (index == 1) { + tap_code(KC_1); + } + + if (clockwise) { + tap_code16(KC_PLUS); + } else { + tap_code(KC_MINUS); + } + + return false; +} +#endif + +#ifdef OLED_ENABLE +bool oled_task_user(void) { + // A 128x32 OLED rotated 90 degrees is 5 characters wide and 16 characters tall + // This example string should fill that neatly + const char *text = PSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789!@#$%^&*()[]{}-=_+?"); + + if (is_keyboard_master()) { + oled_write_P(text, false); + } else { + oled_write_P(text, false); + } + return false; +} +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/readme.md b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/readme.md new file mode 100644 index 000000000000..c429b0246db1 --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/readme.md @@ -0,0 +1,24 @@ +# Aurora Sofle's Debug Keymap + +To make debugging your build as easy as possible, we have provided a special debugging keymap. It is not intended to actually type on, it is just here to make sure that your hardware is working correctly. + +## Keys + +![Keys](https://i.imgur.com/1qRAV6sh.png) + +The left side uses lowercase letters, the right side uses uppercase ones. + +## Encoders + +Encoders output a number of 0 or 1, depending on the installed position. +These correspond to the index used for custom encoder code: the left half uses index 0, the right half uses index 1. + +The number is followed by either a `+` or a `-`, depending on the direction turned. + +## LEDs + +Both underglow and per-key RGB should be fading between red and off. + +## OLEDs + +Both the primary and secondary side should be filled with characters. \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk new file mode 100644 index 000000000000..c3afcaa093fe --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk @@ -0,0 +1,23 @@ +# Copyright 2023 splitkb.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 . + +# NOTE: These are already enabled by default at the revision level +#ENCODER_ENABLE = yes +#OLED_ENABLE = yes + +# RGB Matrix is enabled at the revision level, +# while we use the regular RGB underglow for testing +RGB_MATRIX_ENABLE = no +RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h new file mode 100644 index 000000000000..9061bcf9d355 --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h @@ -0,0 +1,27 @@ +/* Copyright 2023 splitkb.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 + +// Not yet available in `keymap.json` format +#ifdef RGB_MATRIX_ENABLE +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_KEYPRESSES +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_SPLASH +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json new file mode 100644 index 000000000000..c93d28815208 --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json @@ -0,0 +1,52 @@ +{ + "keyboard": "splitkb/aurora/sofle_v2", + "keymap": "default", + "version": 1, + "layout": "LAYOUT", + "layers": [ + [ + "KC_GRV" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" , "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_GRV" , + "KC_ESC" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T" , "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC" , + "KC_TAB" , "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G" , "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN" , "KC_QUOT" , + "KC_LSFT" , "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_MUTE" , "XXXXXXX" , "KC_N" , "KC_M" , "KC_COMM" , "KC_DOT" , "KC_SLSH" , "KC_RSFT" , + "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "MO(1)" , "KC_ENT" , "KC_SPC" , "MO(2)" , "KC_RCTL" , "KC_RALT" , "KC_RGUI" + ], + [ + "_______" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11" , + "KC_GRV" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" , "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_F12" , + "_______" , "KC_EXLM" , "KC_AT" , "KC_HASH" , "KC_DLR" , "KC_PERC" , "KC_CIRC" , "KC_AMPR" , "KC_ASTR" , "KC_LPRN" , "KC_RPRN" , "KC_PIPE" , + "_______" , "KC_EQL" , "KC_MINS" , "KC_PLUS" , "KC_LCBR" , "KC_RCBR" , "_______" , "_______" , "KC_LBRC" , "KC_RBRC" , "KC_SCLN" , "KC_COLN" , "KC_BSLS" , "_______" , + "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , "MO(3)" , "_______" , "_______" , "_______" + ], + [ + "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , + "_______" , "KC_INS" , "KC_PSCR" , "KC_APP" , "XXXXXXX" , "XXXXXXX" , "KC_PGUP" , "C(KC_LEFT)", "KC_UP" , "C(KC_RGHT)", "C(KC_BSPC)", "KC_BSPC" , + "_______" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "XXXXXXX" , "KC_CAPS" , "KC_PGDN" , "KC_LEFT" , "KC_DOWN" , "KC_RGHT" , "KC_DEL" , "KC_BSPC" , + "_______" , "C(KC_Z)" , "C(KC_X)" , "C(KC_C)" , "C(KC_V)" , "XXXXXXX" , "_______" , "_______" , "XXXXXXX" , "KC_HOME" , "XXXXXXX" , "KC_END" , "XXXXXXX" , "_______" , + "_______" , "_______" , "_______" , "MO(3)" , "_______" , "_______" , "_______" , "_______" , "_______" , "_______" + ], + [ + "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" , "RGB_TOG" , "RGB_HUI" , "RGB_SAI" , "RGB_VAI" , "XXXXXXX" , "XXXXXXX" , "KC_VOLD" , "KC_MUTE" , "KC_VOLU" , "XXXXXXX" , "XXXXXXX" , + "XXXXXXX" , "RGB_MOD" , "RGB_HUD" , "RGB_SAD" , "RGB_VAD" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "KC_MPRV" , "KC_MPLY" , "KC_MNXT" , "XXXXXXX" , "XXXXXXX" , + "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , "_______" , "_______" + ] + ], + "config": { + "features": { + "oled": true, + "rgb_matrix": true, + "rgblight": false + }, + "encoder": { + "enabled": true + }, + "rgblight": { + "hue_steps": 8, + "saturation_steps": 8, + "brightness_steps": 8, + "sleep": true + } + } +} \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/readme.md b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/readme.md new file mode 100644 index 000000000000..6ff79a4f9936 --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/readme.md @@ -0,0 +1,88 @@ +# Aurora Sofle v2's Default Keymap +_This keymap is a copy of the [Sofle default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/sofle/keymaps/default), with some modifications._ + +A simple default keymap for the Aurora Sofle v2 +=============================================== + +Keymaps in general are quite personal, so it is difficult to come up with a default that will suit every user. We hope this keymap serves as a good starting point for your own - although it should be fairly usable out-of-the-box. + +What do all these layers do? +---------------------------- + +### Layer 0: Base layer + +![Layer 0](https://i.imgur.com/uk6ckvfh.png) + +This is where your basic letters live. + +The homing thumb fingers are used to access the different layers. + +* The homing left thumb finger gives access to the Symbols (or lower) layer +* The homing right thumb finger gives access to the Navigation (or raise) layer +* Pressing both homing thumb fingers gives access to the Adjust layer + +### Layer 1: Lower + +![Layer 1](https://i.imgur.com/6t0ErtEh.png) + +The Lower layer gives access to the F keys on the top row row, number keys on the second row, and shifted number keys on the home row. The bottom role contains the remaining symbol keys and some shifted symbol keys. + +### Layer 2: Raise + +![Layer 2](https://i.imgur.com/URCBKfqh.png) + +The Raise layer gives access the arrow keys on the right hand, in addition to some other navigation keys. The left hand provides easy acces to Undo/Cut/Copy/Paste. + +### Layer 3: Adjust + +![Layer 3](https://i.imgur.com/b4tacMeh.png) + +The Adjust layer exposes RGB adjustment keys on the left hand, and media controls on the right hand. + +Where is the keymap.c? +---------------------- + +The keymap.c file is not published to the repository. It is generated from `keymap.json` by the build system. + +This avoids duplicating information and allow users to edit their keymap from the QMK Configurator web interface. + +How do I edit and update the keymap? +------------------------------------ + +The `keymap.json` file is generated from the QMK Configurator interface and formatted for better readability in the context of the Ferris keyboard. + +To edit it, you may: +* Edit it directly from a text editor. +* Edit it from the QMK Configurator. + +If you decide to use the latter workflow, here are the steps to follow: + +* From the [QMK Configurator](https://config.qmk.fm/#/splitkb/aurora/sofle/rev1/LAYOUT), hit the "import QMK keymap json file" button (it has a drawing with an up arrow on it). +* Browse to the location of your keymap (for example, `/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json`) +* Perform any modification to the keymap in the web UI +* Export the keymap to your downloads folder, by hitting the "Export QMK keymap json file" button (it has a drawing with a down arrow on it) +* Replace your original keymap with the one you just downloaded + +_**Note:** At the time of writing (the 24th of October 2022), not every feature used in the default keymap is supported by the QMK Configurator. You cannot yet upload the default `keymap.json` due to a file format mismatch - use the "Load Default" button to load the default keymap instead. Additionally, custom configuration options are still being worked on: if your keymap depends on them, please compile your firmware offline for now._ + +I want to do more than the JSON format supports! +------------------------------------------------- + +While the `json` format is easy to use, it does lack certain functionality - most notably custom OLED or encoder behaviour. + +To add this, you need to convert it to the `c` format. Do keep in mind that this is generally a one-way operation. + +First, from the root of your qmk repo, move to your keymap folder + +```bash +cd ./keyboards/splitkb/aurora/sofle_v2/keymaps/my_personal_keymap +``` + +Next, convert your `keymap.json` to a `keymap.c` + +```bash +qmk json2c -o keymap.c keymap.json +``` + +You can add custom C code to the newly generated `keymap.c` file. Do note that you have to use **either** a C file **or** a JSON file - you cannot do both! +**If a JSON file is present, the C file is ignored.** \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/readme.md b/keyboards/splitkb/aurora/sofle_v2/readme.md new file mode 100644 index 000000000000..fdc704389bad --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/readme.md @@ -0,0 +1,48 @@ +![Aurora Sofle v2](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/sofle/sofle.jpg) + +# Aurora Sofle v2 +The Aurora Sofle v2 is a redesign by splitkb.com of the popular Sofle v2 by Josef Adamcik. + +Keyboard Maintainer: [splitkb.com](https://github.com/splitkb) +Hardware Supported: Pro Micro 5V/16MHz and compatible. +Hardware Availability: [splitkb.com](https://splitkb.com). + +Make example for this keyboard (after setting up your build environment): + + make splitkb/aurora/sofle_v2/rev1:default + +Example of flashing this keyboard: + + make splitkb/aurora/sofle_v2/rev1: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 +You can enter the bootloader in 3 ways: + +* **Physical reset button**: Briefly press the button on the side of the PCB, next to the TRRS socket. +* **Bootmagic reset**: Hold down the bootmagic key and plug in the keyboard. For the left half, this is the top-left button. For the right half, this is the top-right button. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. + +# Assembly +A build guide for the entire Aurora series is available at [https://splitkb.com/aurora-build](https://splitkb.com/aurora-build). + +# Features +The Aurora Sofle supports the following features: + +- Support for MX or Kailh Choc (v1 sold at splitkb.com, not v2) switches; +- Top mounted controllers for a lower profile; +- Up to two 128×32 pixel OLED displays; +- Up to one EC11 rotary encoder per half in one of three possible positions; +- Per-key RGB backlight by individual RGB LEDs; +- Underglow by individual RGB LEDs; +- Support for a power switch for wireless controllers; +- Support for the splitkb.com tenting puck. + +# What is the Aurora Series? + +The Aurora series were designed as a homage to open source keyboard kits that have carved their space into the community. Kits that provided something new and unique, kits that resonated with the community and that have both received and have given a lot of love in return. + +With the Aurora series, we aim to make these kits available to the community in a way that both honors the original, while also offering the best possible feature set and a consistent, well-documented build experience. + +For each kit sold, we give back to the community by donating €1 across [the firmware projects we support](https://opencollective.com/splitkb). This way we support open source projects and benefit everyone using keyboards, whether they use our kits or their own. \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h new file mode 100644 index 000000000000..59d6803b4945 --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h @@ -0,0 +1,45 @@ +/* Copyright 2023 splitkb.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 + +// `SPLIT_HAND_PIN` can currently be defined in `info.json`, +// but can't yet be given a value +#define SPLIT_HAND_PIN F4 + +// Not yet available in `info.json` +#ifdef OLED_ENABLE +# define OLED_DISPLAY_128X32 +# define SPLIT_OLED_ENABLE +#endif + +// Not yet available in `info.json` +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_SPLIT RGBLED_SPLIT +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 +# define SPLIT_TRANSPORT_MIRROR +#endif + +// Not yet available in `info.json` +#ifdef BOOTMAGIC_ENABLE + // Top left key on left half +# define BOOTMAGIC_LITE_ROW 0 +# define BOOTMAGIC_LITE_COLUMN 5 + // Top right key on right half +# define BOOTMAGIC_LITE_ROW_RIGHT 5 +# define BOOTMAGIC_LITE_COLUMN_RIGHT 5 +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/info.json b/keyboards/splitkb/aurora/sofle_v2/rev1/info.json new file mode 100644 index 000000000000..7b7f90a59994 --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/info.json @@ -0,0 +1,200 @@ +{ + "keyboard_name": "Aurora Sofle v2 rev1", + "usb": { + "pid": "0xEC32" + }, + "features": { + "mousekey": true, + "bootmagic": true, + "extrakey": true, + "oled": true, + "rgb_matrix": true + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "L06", "matrix": [0, 5], "x": 0, "y": 0.5}, + {"label": "L05", "matrix": [0, 4], "x": 1, "y": 0.375}, + {"label": "L04", "matrix": [0, 3], "x": 2, "y": 0.125}, + {"label": "L03", "matrix": [0, 2], "x": 3, "y": 0}, + {"label": "L02", "matrix": [0, 1], "x": 4, "y": 0.125}, + {"label": "L01", "matrix": [0, 0], "x": 5, "y": 0.25}, + {"label": "R01", "matrix": [5, 0], "x": 10.5, "y": 0.25}, + {"label": "R02", "matrix": [5, 1], "x": 11.5, "y": 0.125}, + {"label": "R03", "matrix": [5, 2], "x": 12.5, "y": 0}, + {"label": "R04", "matrix": [5, 3], "x": 13.5, "y": 0.125}, + {"label": "R05", "matrix": [5, 4], "x": 14.5, "y": 0.375}, + {"label": "R06", "matrix": [5, 5], "x": 15.5, "y": 0.5}, + + {"label": "L12", "matrix": [1, 5], "x": 0, "y": 1.5}, + {"label": "L11", "matrix": [1, 4], "x": 1, "y": 1.375}, + {"label": "L10", "matrix": [1, 3], "x": 2, "y": 1.125}, + {"label": "L09", "matrix": [1, 2], "x": 3, "y": 1}, + {"label": "L08", "matrix": [1, 1], "x": 4, "y": 1.125}, + {"label": "L07", "matrix": [1, 0], "x": 5, "y": 1.25}, + {"label": "R07", "matrix": [6, 0], "x": 10.5, "y": 1.25}, + {"label": "R08", "matrix": [6, 1], "x": 11.5, "y": 1.125}, + {"label": "R09", "matrix": [6, 2], "x": 12.5, "y": 1}, + {"label": "R10", "matrix": [6, 3], "x": 13.5, "y": 1.125}, + {"label": "R11", "matrix": [6, 4], "x": 14.5, "y": 1.375}, + {"label": "R12", "matrix": [6, 5], "x": 15.5, "y": 1.5}, + + {"label": "L18", "matrix": [2, 5], "x": 0, "y": 2.5}, + {"label": "L17", "matrix": [2, 4], "x": 1, "y": 2.375}, + {"label": "L16", "matrix": [2, 3], "x": 2, "y": 2.125}, + {"label": "L15", "matrix": [2, 2], "x": 3, "y": 2}, + {"label": "L14", "matrix": [2, 1], "x": 4, "y": 2.125}, + {"label": "L13", "matrix": [2, 0], "x": 5, "y": 2.25}, + {"label": "R13", "matrix": [7, 0], "x": 10.5, "y": 2.25}, + {"label": "R14", "matrix": [7, 1], "x": 11.5, "y": 2.125}, + {"label": "R15", "matrix": [7, 2], "x": 12.5, "y": 2}, + {"label": "R16", "matrix": [7, 3], "x": 13.5, "y": 2.125}, + {"label": "R17", "matrix": [7, 4], "x": 14.5, "y": 2.375}, + {"label": "R18", "matrix": [7, 5], "x": 15.5, "y": 2.5}, + + {"label": "L24", "matrix": [3, 5], "x": 0, "y": 3.5}, + {"label": "L23", "matrix": [3, 4], "x": 1, "y": 3.375}, + {"label": "L22", "matrix": [3, 3], "x": 2, "y": 3.125}, + {"label": "L21", "matrix": [3, 2], "x": 3, "y": 3}, + {"label": "L20", "matrix": [3, 1], "x": 4, "y": 3.125}, + {"label": "L19", "matrix": [3, 0], "x": 5, "y": 3.25}, + + {"label": "L25", "matrix": [4, 0], "x": 6, "y": 2.75}, + {"label": "R25", "matrix": [9, 0], "x": 9.5, "y": 2.75}, + + {"label": "R19", "matrix": [8, 0], "x": 10.5, "y": 3.25}, + {"label": "R20", "matrix": [8, 1], "x": 11.5, "y": 3.125}, + {"label": "R21", "matrix": [8, 2], "x": 12.5, "y": 3}, + {"label": "R22", "matrix": [8, 3], "x": 13.5, "y": 3.125}, + {"label": "R23", "matrix": [8, 4], "x": 14.5, "y": 3.375}, + {"label": "R24", "matrix": [8, 5], "x": 15.5, "y": 3.5}, + + {"label": "L30", "matrix": [4, 5], "x":1.5, "y":4.375}, + {"label": "L29", "matrix": [4, 4], "x":2.5, "y":4.125}, + {"label": "L28", "matrix": [4, 3], "x":3.5, "y":4.15}, + {"label": "L27", "matrix": [4, 2], "x":4.5, "y":4.25}, + {"label": "L26", "matrix": [4, 1], "x":6, "y":4.25, "h":1.5}, + {"label": "R26", "matrix": [9, 1], "x":9.5, "y":4.25, "h":1.5}, + {"label": "R27", "matrix": [9, 2], "x":11, "y":4.25}, + {"label": "R28", "matrix": [9, 3], "x":12, "y":4.15}, + {"label": "R29", "matrix": [9, 4], "x":13, "y":4.125}, + {"label": "R30", "matrix": [9, 5], "x":14, "y":4.375} + ] + } + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F5", "B1", "F7", "F6", "B3"] + }, + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "B2", "pin_b": "B6"} + ] + }, + "split": { + "bootmagic": { + "matrix": [5, 0] + }, + "soft_serial_pin": "D2", + "main": "matrix_grid", + "matrix_pins": { + "right": { + "cols": ["D7", "E6", "B4", "B5", "D4", "C6"], + "rows": ["B3", "B1", "F7", "F6", "F5"] + } + }, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "B2", "pin_b": "B6"} + ] + } + } + }, + "rgblight": { + "led_count": 70, + "split": true, + "split_count": [35, 35], + "max_brightness": 128 + }, + "ws2812": { + "pin": "D3" + }, + "rgb_matrix": { + "driver": "WS2812", + "layout": [ + {"flags": 2, "x": 67, "y": 18}, // L RGB1 + {"flags": 2, "x": 24, "y": 16}, // L RGB2 + {"flags": 2, "x": 5, "y": 22}, // L RGB3 + {"flags": 2, "x": 5, "y": 52}, // L RGB4 + {"flags": 2, "x": 41, "y": 60}, // L RGB5 + {"flags": 2, "x": 63, "y": 59}, // L RGB6 + {"flags": 4, "matrix": [0, 0], "x": 72, "y": 4}, // L SW01 + {"flags": 4, "matrix": [0, 1], "x": 58, "y": 2}, // L SW02 + {"flags": 4, "matrix": [0, 2], "x": 43, "y": 0}, // L SW03 + {"flags": 4, "matrix": [0, 3], "x": 29, "y": 2}, // L SW04 + {"flags": 4, "matrix": [0, 4], "x": 14, "y": 5}, // L SW05 + {"flags": 4, "matrix": [0, 5], "x": 0, "y": 7}, // L SW06 + {"flags": 4, "matrix": [1, 0], "x": 72, "y": 18}, // L SW07 + {"flags": 4, "matrix": [1, 1], "x": 58, "y": 16}, // L SW08 + {"flags": 4, "matrix": [1, 2], "x": 43, "y": 15}, // L SW09 + {"flags": 4, "matrix": [1, 3], "x": 29, "y": 16}, // L SW10 + {"flags": 4, "matrix": [1, 4], "x": 14, "y": 20}, // L SW11 + {"flags": 4, "matrix": [1, 5], "x": 0, "y": 22}, // L SW12 + {"flags": 4, "matrix": [2, 0], "x": 72, "y": 33}, // L SW13 + {"flags": 4, "matrix": [2, 1], "x": 58, "y": 31}, // L SW14 + {"flags": 4, "matrix": [2, 2], "x": 43, "y": 29}, // L SW15 + {"flags": 4, "matrix": [2, 3], "x": 29, "y": 31}, // L SW16 + {"flags": 4, "matrix": [2, 4], "x": 14, "y": 35}, // L SW17 + {"flags": 4, "matrix": [2, 5], "x": 0, "y": 37}, // L SW18 + {"flags": 4, "matrix": [3, 0], "x": 72, "y": 48}, // L SW19 + {"flags": 4, "matrix": [3, 1], "x": 58, "y": 46}, // L SW20 + {"flags": 4, "matrix": [3, 2], "x": 43, "y": 44}, // L SW21 + {"flags": 4, "matrix": [3, 3], "x": 29, "y": 46}, // L SW22 + {"flags": 4, "matrix": [3, 4], "x": 14, "y": 49}, // L SW23 + {"flags": 4, "matrix": [3, 5], "x": 0, "y": 51}, // L SW24 + {"flags": 4, "matrix": [4, 1], "x": 87, "y": 62}, // L SW26 + {"flags": 4, "matrix": [4, 2], "x": 65, "y": 62}, // L SW27 + {"flags": 4, "matrix": [4, 3], "x": 51, "y": 61}, // L SW28 + {"flags": 4, "matrix": [4, 4], "x": 36, "y": 60}, // L SW29 + {"flags": 4, "matrix": [4, 5], "x": 22, "y": 64}, // L SW30 + {"flags": 2, "x": 157, "y": 22}, // R RGB1 + {"flags": 2, "x": 190, "y": 15}, // R RGB2 + {"flags": 2, "x": 219, "y": 18}, // R RGB3 + {"flags": 2, "x": 219, "y": 55}, // R RGB4 + {"flags": 2, "x": 183, "y": 60}, // R RGB5 + {"flags": 2, "x": 149, "y": 62}, // R RGB6 + {"flags": 4, "matrix": [5, 0], "x": 152, "y": 7}, // R SW01 + {"flags": 4, "matrix": [5, 1], "x": 166, "y": 5}, // R SW02 + {"flags": 4, "matrix": [5, 2], "x": 181, "y": 2}, // R SW03 + {"flags": 4, "matrix": [5, 3], "x": 195, "y": 0}, // R SW04 + {"flags": 4, "matrix": [5, 4], "x": 210, "y": 2}, // R SW05 + {"flags": 4, "matrix": [5, 5], "x": 224, "y": 4}, // R SW06 + {"flags": 4, "matrix": [6, 0], "x": 152, "y": 22}, // R SW07 + {"flags": 4, "matrix": [6, 1], "x": 166, "y": 20}, // R SW08 + {"flags": 4, "matrix": [6, 2], "x": 181, "y": 16}, // R SW09 + {"flags": 4, "matrix": [6, 3], "x": 195, "y": 15}, // R SW10 + {"flags": 4, "matrix": [6, 4], "x": 210, "y": 16}, // R SW11 + {"flags": 4, "matrix": [6, 5], "x": 224, "y": 18}, // R SW12 + {"flags": 4, "matrix": [7, 0], "x": 152, "y": 37}, // R SW13 + {"flags": 4, "matrix": [7, 1], "x": 166, "y": 35}, // R SW14 + {"flags": 4, "matrix": [7, 2], "x": 181, "y": 31}, // R SW15 + {"flags": 4, "matrix": [7, 3], "x": 195, "y": 29}, // R SW16 + {"flags": 4, "matrix": [7, 4], "x": 210, "y": 31}, // R SW17 + {"flags": 4, "matrix": [7, 5], "x": 224, "y": 33}, // R SW18 + {"flags": 4, "matrix": [8, 0], "x": 152, "y": 49}, // R SW19 + {"flags": 4, "matrix": [8, 1], "x": 166, "y": 46}, // R SW20 + {"flags": 4, "matrix": [8, 2], "x": 181, "y": 44}, // R SW21 + {"flags": 4, "matrix": [8, 3], "x": 195, "y": 46}, // R SW22 + {"flags": 4, "matrix": [8, 4], "x": 210, "y": 38}, // R SW23 + {"flags": 4, "matrix": [8, 5], "x": 224, "y": 55}, // R SW24 + {"flags": 4, "matrix": [9, 1], "x": 137, "y": 62}, // R SW26 + {"flags": 4, "matrix": [9, 2], "x": 159, "y": 62}, // R SW27 + {"flags": 4, "matrix": [9, 3], "x": 173, "y": 61}, // R SW28 + {"flags": 4, "matrix": [9, 4], "x": 188, "y": 60}, // R SW29 + {"flags": 4, "matrix": [9, 5], "x": 202, "y": 64} // R SW30 + ] + } +} diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/rev1.c b/keyboards/splitkb/aurora/sofle_v2/rev1/rev1.c new file mode 100644 index 000000000000..b0de2b93f23f --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/rev1.c @@ -0,0 +1,37 @@ +/* Copyright 2023 splitkb.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 + +#ifdef SWAP_HANDS_ENABLE +// clang-format off + __attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, + {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}, + {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}}, + {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}}, + {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}}, + {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}}, + {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}}, + {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}}, + {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}}, + {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}} + }; +// clang-format on +# ifdef ENCODER_MAP_ENABLE + const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1,0}; +# endif +#endif diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/rules.mk b/keyboards/splitkb/aurora/sofle_v2/rev1/rules.mk new file mode 100644 index 000000000000..97cdc5aef45f --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/rules.mk @@ -0,0 +1,17 @@ +# Copyright 2023 splitkb.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 . + +# Although no rules are defined, +# presence of this file is required for QMK to compile it. diff --git a/keyboards/splitkb/aurora/sofle_v2/rules.mk b/keyboards/splitkb/aurora/sofle_v2/rules.mk new file mode 100644 index 000000000000..bf35a8d1736b --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/rules.mk @@ -0,0 +1,16 @@ +# Copyright 2023 splitkb.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 . + +DEFAULT_FOLDER = splitkb/aurora/sofle_v2/rev1 \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/sofle_v2.c b/keyboards/splitkb/aurora/sofle_v2/sofle_v2.c new file mode 100644 index 000000000000..f5cb0573ce4f --- /dev/null +++ b/keyboards/splitkb/aurora/sofle_v2/sofle_v2.c @@ -0,0 +1,308 @@ +/* Copyright 2023 splitkb.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 "quantum.h" + +// The first four layers gets a name for readability, which is then used in the OLED below. +enum layers { + _DEFAULT, + _LOWER, + _RAISE, + _ADJUST +}; + +#ifdef OLED_ENABLE +// NOTE: Most of the OLED code was originally written by Soundmonster for the Corne, +// and has been copied directly from `crkbd/soundmonster/keymap.c` + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_270; +} + +void render_space(void) { + oled_write_P(PSTR(" "), false); +} + +void render_mod_status_gui_alt(uint8_t modifiers) { + static const char PROGMEM gui_off_1[] = {0x85, 0x86, 0}; + static const char PROGMEM gui_off_2[] = {0xa5, 0xa6, 0}; + static const char PROGMEM gui_on_1[] = {0x8d, 0x8e, 0}; + static const char PROGMEM gui_on_2[] = {0xad, 0xae, 0}; + + static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0}; + static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0}; + static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0}; + static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0}; + + // fillers between the modifier icons bleed into the icon frames + static const char PROGMEM off_off_1[] = {0xc5, 0}; + static const char PROGMEM off_off_2[] = {0xc6, 0}; + static const char PROGMEM on_off_1[] = {0xc7, 0}; + static const char PROGMEM on_off_2[] = {0xc8, 0}; + static const char PROGMEM off_on_1[] = {0xc9, 0}; + static const char PROGMEM off_on_2[] = {0xca, 0}; + static const char PROGMEM on_on_1[] = {0xcb, 0}; + static const char PROGMEM on_on_2[] = {0xcc, 0}; + + if(modifiers & MOD_MASK_GUI) { + oled_write_P(gui_on_1, false); + } else { + oled_write_P(gui_off_1, false); + } + + if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) { + oled_write_P(on_on_1, false); + } else if(modifiers & MOD_MASK_GUI) { + oled_write_P(on_off_1, false); + } else if(modifiers & MOD_MASK_ALT) { + oled_write_P(off_on_1, false); + } else { + oled_write_P(off_off_1, false); + } + + if(modifiers & MOD_MASK_ALT) { + oled_write_P(alt_on_1, false); + } else { + oled_write_P(alt_off_1, false); + } + + if(modifiers & MOD_MASK_GUI) { + oled_write_P(gui_on_2, false); + } else { + oled_write_P(gui_off_2, false); + } + + if (modifiers & MOD_MASK_GUI & MOD_MASK_ALT) { + oled_write_P(on_on_2, false); + } else if(modifiers & MOD_MASK_GUI) { + oled_write_P(on_off_2, false); + } else if(modifiers & MOD_MASK_ALT) { + oled_write_P(off_on_2, false); + } else { + oled_write_P(off_off_2, false); + } + + if(modifiers & MOD_MASK_ALT) { + oled_write_P(alt_on_2, false); + } else { + oled_write_P(alt_off_2, false); + } +} + +void render_mod_status_ctrl_shift(uint8_t modifiers) { + static const char PROGMEM ctrl_off_1[] = {0x89, 0x8a, 0}; + static const char PROGMEM ctrl_off_2[] = {0xa9, 0xaa, 0}; + static const char PROGMEM ctrl_on_1[] = {0x91, 0x92, 0}; + static const char PROGMEM ctrl_on_2[] = {0xb1, 0xb2, 0}; + + static const char PROGMEM shift_off_1[] = {0x8b, 0x8c, 0}; + static const char PROGMEM shift_off_2[] = {0xab, 0xac, 0}; + static const char PROGMEM shift_on_1[] = {0xcd, 0xce, 0}; + static const char PROGMEM shift_on_2[] = {0xcf, 0xd0, 0}; + + // fillers between the modifier icons bleed into the icon frames + static const char PROGMEM off_off_1[] = {0xc5, 0}; + static const char PROGMEM off_off_2[] = {0xc6, 0}; + static const char PROGMEM on_off_1[] = {0xc7, 0}; + static const char PROGMEM on_off_2[] = {0xc8, 0}; + static const char PROGMEM off_on_1[] = {0xc9, 0}; + static const char PROGMEM off_on_2[] = {0xca, 0}; + static const char PROGMEM on_on_1[] = {0xcb, 0}; + static const char PROGMEM on_on_2[] = {0xcc, 0}; + + if(modifiers & MOD_MASK_CTRL) { + oled_write_P(ctrl_on_1, false); + } else { + oled_write_P(ctrl_off_1, false); + } + + if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) { + oled_write_P(on_on_1, false); + } else if(modifiers & MOD_MASK_CTRL) { + oled_write_P(on_off_1, false); + } else if(modifiers & MOD_MASK_SHIFT) { + oled_write_P(off_on_1, false); + } else { + oled_write_P(off_off_1, false); + } + + if(modifiers & MOD_MASK_SHIFT) { + oled_write_P(shift_on_1, false); + } else { + oled_write_P(shift_off_1, false); + } + + if(modifiers & MOD_MASK_CTRL) { + oled_write_P(ctrl_on_2, false); + } else { + oled_write_P(ctrl_off_2, false); + } + + if (modifiers & MOD_MASK_CTRL & MOD_MASK_SHIFT) { + oled_write_P(on_on_2, false); + } else if(modifiers & MOD_MASK_CTRL) { + oled_write_P(on_off_2, false); + } else if(modifiers & MOD_MASK_SHIFT) { + oled_write_P(off_on_2, false); + } else { + oled_write_P(off_off_2, false); + } + + if(modifiers & MOD_MASK_SHIFT) { + oled_write_P(shift_on_2, false); + } else { + oled_write_P(shift_off_2, false); + } +} + +void render_logo(void) { + static const char PROGMEM aurora_logo[] = { + 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf8, 0xc0, 0xf8, 0xe0, 0xc0, 0xfc, 0x00, 0x7e, 0x18, 0x00, 0x80, + 0x00, 0x02, 0x80, 0xf0, 0x00, 0xc0, 0x80, 0xf8, 0xc0, 0xe0, 0x70, 0x60, 0x3c, 0x38, 0x3c, 0x1c, + 0x00, 0x3f, 0x0c, 0x0f, 0x1f, 0x03, 0x07, 0x01, 0xc3, 0x00, 0xe0, 0x80, 0x00, 0xe0, 0x80, 0xf8, + 0x80, 0xc0, 0xf7, 0xc7, 0x6f, 0x7b, 0x39, 0x30, 0x00, 0x80, 0x00, 0xc0, 0x00, 0xc0, 0xc2, 0xe0, + 0x00, 0x40, 0x38, 0x30, 0x38, 0x1e, 0x18, 0x1e, 0x0f, 0x0c, 0x07, 0x07, 0x07, 0x03, 0x03, 0x21, + 0x21, 0x31, 0x30, 0x18, 0x18, 0x1c, 0x08, 0x0c, 0x0e, 0x07, 0x06, 0x07, 0x03, 0xc3, 0x03, 0x01, + 0x4c, 0xcc, 0xc2, 0xc2, 0x41, 0x49, 0x09, 0x2b, 0x2a, 0x6a, 0x6e, 0x24, 0x24, 0x04, 0x92, 0x92, + 0xb1, 0xf1, 0xf1, 0xf2, 0xe6, 0xa4, 0xa4, 0x04, 0x04, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28 + }; + oled_write_raw_P(aurora_logo, sizeof(aurora_logo)); + oled_set_cursor(0, 4); +} + +void render_logo_text(void) { + oled_write_P(PSTR("sofle"), false); +} + +void render_kb_LED_state(void) { + // Host Keyboard LED Status + led_t led_usb_state = host_keyboard_led_state(); + oled_write_P(led_usb_state.num_lock ? PSTR("N ") : PSTR(" "), false); + oled_write_P(led_usb_state.caps_lock ? PSTR("C ") : PSTR(" "), false); + oled_write_P(led_usb_state.scroll_lock ? PSTR("S ") : PSTR(" "), false); +} + +void render_layer_state(void) { + static const char PROGMEM default_layer[] = { + 0x20, 0x94, 0x95, 0x96, 0x20, + 0x20, 0xb4, 0xb5, 0xb6, 0x20, + 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; + static const char PROGMEM raise_layer[] = { + 0x20, 0x97, 0x98, 0x99, 0x20, + 0x20, 0xb7, 0xb8, 0xb9, 0x20, + 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; + static const char PROGMEM lower_layer[] = { + 0x20, 0x9a, 0x9b, 0x9c, 0x20, + 0x20, 0xba, 0xbb, 0xbc, 0x20, + 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; + static const char PROGMEM adjust_layer[] = { + 0x20, 0x9d, 0x9e, 0x9f, 0x20, + 0x20, 0xbd, 0xbe, 0xbf, 0x20, + 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; + if(layer_state_is(_LOWER)) { + oled_write_P(lower_layer, false); + } else if(layer_state_is(_RAISE)) { + oled_write_P(raise_layer, false); + } else if(layer_state_is(_DEFAULT)) { + oled_write_P(default_layer, false); + } else { + oled_write_P(adjust_layer, false); + } +} + + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (is_keyboard_master()) { + // Renders the current keyboard state (layers and mods) + render_logo(); + render_logo_text(); + render_space(); + render_layer_state(); + render_space(); + render_mod_status_gui_alt(get_mods()|get_oneshot_mods()); + render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods()); + render_kb_LED_state(); + } else { + // clang-format off + static const char PROGMEM aurora_art[] = { + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1c, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, + 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x80, 0x00, 0xf0, 0x00, 0x00, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x81, 0x00, 0xc0, 0x00, 0xfe, 0x00, 0xfc, 0x00, 0xff, 0x20, 0xff, 0xf0, 0x0f, 0xf0, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0xf8, 0x00, 0x00, 0xf8, + 0xff, 0x10, 0xff, 0x84, 0xff, 0x60, 0xff, 0x36, 0xff, 0x0f, 0xff, 0x3f, 0x00, 0x5f, 0x00, 0x05, + 0x80, 0x00, 0x80, 0x00, 0xc0, 0x38, 0x00, 0xec, 0xf0, 0x00, 0xfb, 0x80, 0xff, 0xf0, 0xff, 0xef, + 0xff, 0xe8, 0xff, 0x03, 0xff, 0x0c, 0xff, 0x00, 0xff, 0x00, 0x03, 0x00, 0x00, 0xf8, 0x00, 0x80, + 0xff, 0x20, 0xff, 0xd0, 0xff, 0xe0, 0xfe, 0xf8, 0xff, 0xfc, 0xff, 0xff, 0x0f, 0xff, 0x01, 0x3f, + 0xff, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x03, 0x00, 0xfe, 0x80, 0xfe, 0x00, 0xc0, 0xff, 0xc4, 0xfb, + 0xff, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x07, 0xff, 0x03, 0x3f, 0x00, 0x0f, 0xc0, 0x00, + 0x00, 0x00, 0xb8, 0x00, 0xff, 0x40, 0xbe, 0xf0, 0xff, 0xf1, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0x1f, 0xff, 0x67, 0x00, 0xef, 0x00, 0x1f, 0x00, 0x00, 0x07, 0x00, 0x00, 0xe0, 0x00, 0xff, 0xf0, + 0xff, 0x88, 0xff, 0xc4, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x7f, 0x0f, 0xff, + 0x00, 0x07, 0xfe, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xc0, 0x3f, 0xf8, 0xe7, 0xff, + 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0x3f, 0x01, 0xff, 0x0b, 0x00, 0xff, 0x00, 0x00, 0x05, + 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf8, 0x60, 0x80, 0xfe, 0xe3, 0xfc, 0xff, 0x1e, 0xff, 0xff, 0x23, + 0xff, 0x09, 0xff, 0x20, 0x00, 0x3f, 0x02, 0x00, 0x00, 0x0f, 0x00, 0x40, 0x00, 0xc0, 0x00, 0xfc, + 0xe0, 0xfc, 0xf0, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0x0f, 0xff, 0x07, 0x1f, 0x00, 0x01, 0x0f, 0x00, + 0x0f, 0x00, 0x81, 0x70, 0x0c, 0xf0, 0x80, 0x00, 0x00, 0xe4, 0xf8, 0xe6, 0x70, 0x3f, 0xcf, 0xff, + 0x1f, 0xff, 0x48, 0xff, 0x0f, 0x00, 0x07, 0x00, 0x00, 0x43, 0x60, 0xf8, 0xf0, 0xfe, 0x38, 0xfe, + 0x00, 0xfc, 0x03, 0x00, 0xc8, 0x72, 0xcf, 0xfc, 0x00, 0x03, 0x0f, 0x01, 0xe0, 0x1c, 0xe0, 0x03, + 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x06, 0xf9, 0x00, 0x03, 0x00, 0x07, + 0xff, 0x00, 0x10, 0x12, 0xc9, 0xf0, 0xcf, 0xb4, 0x7f, 0x80, 0xe0, 0x1e, 0x01, 0x40, 0x65, 0x5e, + 0xe0, 0x00, 0x00, 0xf0, 0x0c, 0xf0, 0x00, 0x80, 0x7e, 0x01, 0x80, 0x93, 0xfc, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x89, 0x18, 0x2c, 0x46, 0x00, 0x07, 0x21, 0x10, 0x10, 0x80, 0x09, 0x13, + 0x31, 0xbf, 0xff, 0x00, 0x08, 0x1a, 0xf7, 0x0f, 0x00, 0x00, 0x44, 0x45, 0x34, 0xbf, 0xb8, 0x00, + 0x10, 0xf0, 0x08, 0xf4, 0x18, 0x11, 0xfc, 0x18, 0xfb, 0x0e, 0x10, 0xf8, 0x04, 0xf8, 0x10, 0x20, + 0x18, 0x09, 0xff, 0x0c, 0xea, 0x1f, 0x28, 0x60, 0x30, 0xf8, 0x20, 0xc0, 0x42, 0x33, 0x21, 0x00 + }; + // clang-format on + oled_write_raw_P(aurora_art, sizeof(aurora_art)); + } + return false; +} +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + // 0 is left-half encoder, + // 1 is right-half encoder + if (index == 0) { + // Volume control + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { + // Page up/Page down + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + return true; +} +#endif From ef1587a21d6f5f5490d3d1f674e1b213a2ec500c Mon Sep 17 00:00:00 2001 From: Thomas Baart Date: Mon, 10 Jul 2023 22:34:55 +0200 Subject: [PATCH 02/17] Update keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c Co-authored-by: Drashna Jaelre --- keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c index f927f05a47fd..b9383db32511 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/keymap.c @@ -63,13 +63,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { bool oled_task_user(void) { // A 128x32 OLED rotated 90 degrees is 5 characters wide and 16 characters tall // This example string should fill that neatly - const char *text = PSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789!@#$%^&*()[]{}-=_+?"); - - if (is_keyboard_master()) { - oled_write_P(text, false); - } else { - oled_write_P(text, false); - } + oled_write_P(PSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789!@#$%^&*()[]{}-=_+?"), false); return false; } #endif \ No newline at end of file From b39de145eeac00102609ae85354b8ffc6b2a51cb Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:37:56 +0200 Subject: [PATCH 03/17] update info.json with 'qmk format-son' --- keyboards/splitkb/aurora/sofle_v2/info.json | 14 +- .../splitkb/aurora/sofle_v2/rev1/info.json | 316 +++++++++--------- 2 files changed, 163 insertions(+), 167 deletions(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/info.json b/keyboards/splitkb/aurora/sofle_v2/info.json index 13c51b4dd2ec..4782d0da8f65 100644 --- a/keyboards/splitkb/aurora/sofle_v2/info.json +++ b/keyboards/splitkb/aurora/sofle_v2/info.json @@ -1,16 +1,16 @@ { "manufacturer": "splitkb.com", - "url": "https://splitkb.com", "maintainer": "splitkb", - "usb": { - "vid": "0x8D1D", - "device_version": "1.0.0" + "build": { + "lto": true }, "development_board": "elite_c", "split": { "enabled": true }, - "build": { - "lto": true + "url": "https://splitkb.com", + "usb": { + "device_version": "1.0.0", + "vid": "0x8D1D" } -} \ No newline at end of file +} diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/info.json b/keyboards/splitkb/aurora/sofle_v2/rev1/info.json index 7b7f90a59994..ab0d9c514c02 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/info.json +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/info.json @@ -1,200 +1,196 @@ { "keyboard_name": "Aurora Sofle v2 rev1", - "usb": { - "pid": "0xEC32" + "diode_direction": "COL2ROW", + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "B2", "pin_b": "B6"} + ] }, "features": { - "mousekey": true, "bootmagic": true, "extrakey": true, + "mousekey": true, "oled": true, "rgb_matrix": true }, + "matrix_pins": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F5", "B1", "F7", "F6", "B3"] + }, + "rgb_matrix": { + "driver": "WS2812", + "layout": [ + {"x": 67, "y": 18, "flags": 2}, + {"x": 24, "y": 16, "flags": 2}, + {"x": 5, "y": 22, "flags": 2}, + {"x": 5, "y": 52, "flags": 2}, + {"x": 41, "y": 60, "flags": 2}, + {"x": 63, "y": 59, "flags": 2}, + {"matrix": [0, 0], "x": 72, "y": 4, "flags": 4}, + {"matrix": [0, 1], "x": 58, "y": 2, "flags": 4}, + {"matrix": [0, 2], "x": 43, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 29, "y": 2, "flags": 4}, + {"matrix": [0, 4], "x": 14, "y": 5, "flags": 4}, + {"matrix": [0, 5], "x": 0, "y": 7, "flags": 4}, + {"matrix": [1, 0], "x": 72, "y": 18, "flags": 4}, + {"matrix": [1, 1], "x": 58, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 43, "y": 15, "flags": 4}, + {"matrix": [1, 3], "x": 29, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 14, "y": 20, "flags": 4}, + {"matrix": [1, 5], "x": 0, "y": 22, "flags": 4}, + {"matrix": [2, 0], "x": 72, "y": 33, "flags": 4}, + {"matrix": [2, 1], "x": 58, "y": 31, "flags": 4}, + {"matrix": [2, 2], "x": 43, "y": 29, "flags": 4}, + {"matrix": [2, 3], "x": 29, "y": 31, "flags": 4}, + {"matrix": [2, 4], "x": 14, "y": 35, "flags": 4}, + {"matrix": [2, 5], "x": 0, "y": 37, "flags": 4}, + {"matrix": [3, 0], "x": 72, "y": 48, "flags": 4}, + {"matrix": [3, 1], "x": 58, "y": 46, "flags": 4}, + {"matrix": [3, 2], "x": 43, "y": 44, "flags": 4}, + {"matrix": [3, 3], "x": 29, "y": 46, "flags": 4}, + {"matrix": [3, 4], "x": 14, "y": 49, "flags": 4}, + {"matrix": [3, 5], "x": 0, "y": 51, "flags": 4}, + {"matrix": [4, 1], "x": 87, "y": 62, "flags": 4}, + {"matrix": [4, 2], "x": 65, "y": 62, "flags": 4}, + {"matrix": [4, 3], "x": 51, "y": 61, "flags": 4}, + {"matrix": [4, 4], "x": 36, "y": 60, "flags": 4}, + {"matrix": [4, 5], "x": 22, "y": 64, "flags": 4}, + {"x": 157, "y": 22, "flags": 2}, + {"x": 190, "y": 15, "flags": 2}, + {"x": 219, "y": 18, "flags": 2}, + {"x": 219, "y": 55, "flags": 2}, + {"x": 183, "y": 60, "flags": 2}, + {"x": 149, "y": 62, "flags": 2}, + {"matrix": [5, 0], "x": 152, "y": 7, "flags": 4}, + {"matrix": [5, 1], "x": 166, "y": 5, "flags": 4}, + {"matrix": [5, 2], "x": 181, "y": 2, "flags": 4}, + {"matrix": [5, 3], "x": 195, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 210, "y": 2, "flags": 4}, + {"matrix": [5, 5], "x": 224, "y": 4, "flags": 4}, + {"matrix": [6, 0], "x": 152, "y": 22, "flags": 4}, + {"matrix": [6, 1], "x": 166, "y": 20, "flags": 4}, + {"matrix": [6, 2], "x": 181, "y": 16, "flags": 4}, + {"matrix": [6, 3], "x": 195, "y": 15, "flags": 4}, + {"matrix": [6, 4], "x": 210, "y": 16, "flags": 4}, + {"matrix": [6, 5], "x": 224, "y": 18, "flags": 4}, + {"matrix": [7, 0], "x": 152, "y": 37, "flags": 4}, + {"matrix": [7, 1], "x": 166, "y": 35, "flags": 4}, + {"matrix": [7, 2], "x": 181, "y": 31, "flags": 4}, + {"matrix": [7, 3], "x": 195, "y": 29, "flags": 4}, + {"matrix": [7, 4], "x": 210, "y": 31, "flags": 4}, + {"matrix": [7, 5], "x": 224, "y": 33, "flags": 4}, + {"matrix": [8, 0], "x": 152, "y": 49, "flags": 4}, + {"matrix": [8, 1], "x": 166, "y": 46, "flags": 4}, + {"matrix": [8, 2], "x": 181, "y": 44, "flags": 4}, + {"matrix": [8, 3], "x": 195, "y": 46, "flags": 4}, + {"matrix": [8, 4], "x": 210, "y": 38, "flags": 4}, + {"matrix": [8, 5], "x": 224, "y": 55, "flags": 4}, + {"matrix": [9, 1], "x": 137, "y": 62, "flags": 4}, + {"matrix": [9, 2], "x": 159, "y": 62, "flags": 4}, + {"matrix": [9, 3], "x": 173, "y": 61, "flags": 4}, + {"matrix": [9, 4], "x": 188, "y": 60, "flags": 4}, + {"matrix": [9, 5], "x": 202, "y": 64, "flags": 4} + ], + "max_brightness": 128, + "split_count": [35, 35] + }, + "rgblight": { + "led_count": 70, + "max_brightness": 128, + "split": true, + "split_count": [35, 35] + }, + "split": { + "bootmagic": { + "matrix": [5, 0] + }, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "B2", "pin_b": "B6"} + ] + } + }, + "main": "matrix_grid", + "matrix_pins": { + "right": { + "cols": ["D7", "E6", "B4", "B5", "D4", "C6"], + "rows": ["B3", "B1", "F7", "F6", "F5"] + } + }, + "soft_serial_pin": "D2" + }, + "usb": { + "pid": "0xEC32" + }, + "ws2812": { + "pin": "D3" + }, "layouts": { "LAYOUT": { "layout": [ - {"label": "L06", "matrix": [0, 5], "x": 0, "y": 0.5}, - {"label": "L05", "matrix": [0, 4], "x": 1, "y": 0.375}, - {"label": "L04", "matrix": [0, 3], "x": 2, "y": 0.125}, - {"label": "L03", "matrix": [0, 2], "x": 3, "y": 0}, - {"label": "L02", "matrix": [0, 1], "x": 4, "y": 0.125}, - {"label": "L01", "matrix": [0, 0], "x": 5, "y": 0.25}, + {"label": "L06", "matrix": [0, 5], "x": 0, "y": 0.5}, + {"label": "L05", "matrix": [0, 4], "x": 1, "y": 0.375}, + {"label": "L04", "matrix": [0, 3], "x": 2, "y": 0.125}, + {"label": "L03", "matrix": [0, 2], "x": 3, "y": 0}, + {"label": "L02", "matrix": [0, 1], "x": 4, "y": 0.125}, + {"label": "L01", "matrix": [0, 0], "x": 5, "y": 0.25}, {"label": "R01", "matrix": [5, 0], "x": 10.5, "y": 0.25}, {"label": "R02", "matrix": [5, 1], "x": 11.5, "y": 0.125}, {"label": "R03", "matrix": [5, 2], "x": 12.5, "y": 0}, {"label": "R04", "matrix": [5, 3], "x": 13.5, "y": 0.125}, {"label": "R05", "matrix": [5, 4], "x": 14.5, "y": 0.375}, {"label": "R06", "matrix": [5, 5], "x": 15.5, "y": 0.5}, - - {"label": "L12", "matrix": [1, 5], "x": 0, "y": 1.5}, - {"label": "L11", "matrix": [1, 4], "x": 1, "y": 1.375}, - {"label": "L10", "matrix": [1, 3], "x": 2, "y": 1.125}, - {"label": "L09", "matrix": [1, 2], "x": 3, "y": 1}, - {"label": "L08", "matrix": [1, 1], "x": 4, "y": 1.125}, - {"label": "L07", "matrix": [1, 0], "x": 5, "y": 1.25}, + {"label": "L12", "matrix": [1, 5], "x": 0, "y": 1.5}, + {"label": "L11", "matrix": [1, 4], "x": 1, "y": 1.375}, + {"label": "L10", "matrix": [1, 3], "x": 2, "y": 1.125}, + {"label": "L09", "matrix": [1, 2], "x": 3, "y": 1}, + {"label": "L08", "matrix": [1, 1], "x": 4, "y": 1.125}, + {"label": "L07", "matrix": [1, 0], "x": 5, "y": 1.25}, {"label": "R07", "matrix": [6, 0], "x": 10.5, "y": 1.25}, {"label": "R08", "matrix": [6, 1], "x": 11.5, "y": 1.125}, {"label": "R09", "matrix": [6, 2], "x": 12.5, "y": 1}, {"label": "R10", "matrix": [6, 3], "x": 13.5, "y": 1.125}, {"label": "R11", "matrix": [6, 4], "x": 14.5, "y": 1.375}, {"label": "R12", "matrix": [6, 5], "x": 15.5, "y": 1.5}, - - {"label": "L18", "matrix": [2, 5], "x": 0, "y": 2.5}, - {"label": "L17", "matrix": [2, 4], "x": 1, "y": 2.375}, - {"label": "L16", "matrix": [2, 3], "x": 2, "y": 2.125}, - {"label": "L15", "matrix": [2, 2], "x": 3, "y": 2}, - {"label": "L14", "matrix": [2, 1], "x": 4, "y": 2.125}, - {"label": "L13", "matrix": [2, 0], "x": 5, "y": 2.25}, + {"label": "L18", "matrix": [2, 5], "x": 0, "y": 2.5}, + {"label": "L17", "matrix": [2, 4], "x": 1, "y": 2.375}, + {"label": "L16", "matrix": [2, 3], "x": 2, "y": 2.125}, + {"label": "L15", "matrix": [2, 2], "x": 3, "y": 2}, + {"label": "L14", "matrix": [2, 1], "x": 4, "y": 2.125}, + {"label": "L13", "matrix": [2, 0], "x": 5, "y": 2.25}, {"label": "R13", "matrix": [7, 0], "x": 10.5, "y": 2.25}, {"label": "R14", "matrix": [7, 1], "x": 11.5, "y": 2.125}, {"label": "R15", "matrix": [7, 2], "x": 12.5, "y": 2}, {"label": "R16", "matrix": [7, 3], "x": 13.5, "y": 2.125}, {"label": "R17", "matrix": [7, 4], "x": 14.5, "y": 2.375}, {"label": "R18", "matrix": [7, 5], "x": 15.5, "y": 2.5}, - - {"label": "L24", "matrix": [3, 5], "x": 0, "y": 3.5}, - {"label": "L23", "matrix": [3, 4], "x": 1, "y": 3.375}, - {"label": "L22", "matrix": [3, 3], "x": 2, "y": 3.125}, - {"label": "L21", "matrix": [3, 2], "x": 3, "y": 3}, - {"label": "L20", "matrix": [3, 1], "x": 4, "y": 3.125}, - {"label": "L19", "matrix": [3, 0], "x": 5, "y": 3.25}, - - {"label": "L25", "matrix": [4, 0], "x": 6, "y": 2.75}, - {"label": "R25", "matrix": [9, 0], "x": 9.5, "y": 2.75}, - + {"label": "L24", "matrix": [3, 5], "x": 0, "y": 3.5}, + {"label": "L23", "matrix": [3, 4], "x": 1, "y": 3.375}, + {"label": "L22", "matrix": [3, 3], "x": 2, "y": 3.125}, + {"label": "L21", "matrix": [3, 2], "x": 3, "y": 3}, + {"label": "L20", "matrix": [3, 1], "x": 4, "y": 3.125}, + {"label": "L19", "matrix": [3, 0], "x": 5, "y": 3.25}, + {"label": "L25", "matrix": [4, 0], "x": 6, "y": 2.75}, + {"label": "R25", "matrix": [9, 0], "x": 9.5, "y": 2.75}, {"label": "R19", "matrix": [8, 0], "x": 10.5, "y": 3.25}, {"label": "R20", "matrix": [8, 1], "x": 11.5, "y": 3.125}, {"label": "R21", "matrix": [8, 2], "x": 12.5, "y": 3}, {"label": "R22", "matrix": [8, 3], "x": 13.5, "y": 3.125}, {"label": "R23", "matrix": [8, 4], "x": 14.5, "y": 3.375}, {"label": "R24", "matrix": [8, 5], "x": 15.5, "y": 3.5}, - - {"label": "L30", "matrix": [4, 5], "x":1.5, "y":4.375}, - {"label": "L29", "matrix": [4, 4], "x":2.5, "y":4.125}, - {"label": "L28", "matrix": [4, 3], "x":3.5, "y":4.15}, - {"label": "L27", "matrix": [4, 2], "x":4.5, "y":4.25}, - {"label": "L26", "matrix": [4, 1], "x":6, "y":4.25, "h":1.5}, - {"label": "R26", "matrix": [9, 1], "x":9.5, "y":4.25, "h":1.5}, - {"label": "R27", "matrix": [9, 2], "x":11, "y":4.25}, - {"label": "R28", "matrix": [9, 3], "x":12, "y":4.15}, - {"label": "R29", "matrix": [9, 4], "x":13, "y":4.125}, - {"label": "R30", "matrix": [9, 5], "x":14, "y":4.375} + {"label": "L30", "matrix": [4, 5], "x": 1.5, "y": 4.375}, + {"label": "L29", "matrix": [4, 4], "x": 2.5, "y": 4.125}, + {"label": "L28", "matrix": [4, 3], "x": 3.5, "y": 4.15}, + {"label": "L27", "matrix": [4, 2], "x": 4.5, "y": 4.25}, + {"label": "L26", "matrix": [4, 1], "x": 6, "y": 4.25, "h": 1.5}, + {"label": "R26", "matrix": [9, 1], "x": 9.5, "y": 4.25, "h": 1.5}, + {"label": "R27", "matrix": [9, 2], "x": 11, "y": 4.25}, + {"label": "R28", "matrix": [9, 3], "x": 12, "y": 4.15}, + {"label": "R29", "matrix": [9, 4], "x": 13, "y": 4.125}, + {"label": "R30", "matrix": [9, 5], "x": 14, "y": 4.375} ] } - }, - "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], - "rows": ["F5", "B1", "F7", "F6", "B3"] - }, - "encoder": { - "enabled": true, - "rotary": [ - {"pin_a": "B2", "pin_b": "B6"} - ] - }, - "split": { - "bootmagic": { - "matrix": [5, 0] - }, - "soft_serial_pin": "D2", - "main": "matrix_grid", - "matrix_pins": { - "right": { - "cols": ["D7", "E6", "B4", "B5", "D4", "C6"], - "rows": ["B3", "B1", "F7", "F6", "F5"] - } - }, - "encoder": { - "right": { - "rotary": [ - {"pin_a": "B2", "pin_b": "B6"} - ] - } - } - }, - "rgblight": { - "led_count": 70, - "split": true, - "split_count": [35, 35], - "max_brightness": 128 - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "WS2812", - "layout": [ - {"flags": 2, "x": 67, "y": 18}, // L RGB1 - {"flags": 2, "x": 24, "y": 16}, // L RGB2 - {"flags": 2, "x": 5, "y": 22}, // L RGB3 - {"flags": 2, "x": 5, "y": 52}, // L RGB4 - {"flags": 2, "x": 41, "y": 60}, // L RGB5 - {"flags": 2, "x": 63, "y": 59}, // L RGB6 - {"flags": 4, "matrix": [0, 0], "x": 72, "y": 4}, // L SW01 - {"flags": 4, "matrix": [0, 1], "x": 58, "y": 2}, // L SW02 - {"flags": 4, "matrix": [0, 2], "x": 43, "y": 0}, // L SW03 - {"flags": 4, "matrix": [0, 3], "x": 29, "y": 2}, // L SW04 - {"flags": 4, "matrix": [0, 4], "x": 14, "y": 5}, // L SW05 - {"flags": 4, "matrix": [0, 5], "x": 0, "y": 7}, // L SW06 - {"flags": 4, "matrix": [1, 0], "x": 72, "y": 18}, // L SW07 - {"flags": 4, "matrix": [1, 1], "x": 58, "y": 16}, // L SW08 - {"flags": 4, "matrix": [1, 2], "x": 43, "y": 15}, // L SW09 - {"flags": 4, "matrix": [1, 3], "x": 29, "y": 16}, // L SW10 - {"flags": 4, "matrix": [1, 4], "x": 14, "y": 20}, // L SW11 - {"flags": 4, "matrix": [1, 5], "x": 0, "y": 22}, // L SW12 - {"flags": 4, "matrix": [2, 0], "x": 72, "y": 33}, // L SW13 - {"flags": 4, "matrix": [2, 1], "x": 58, "y": 31}, // L SW14 - {"flags": 4, "matrix": [2, 2], "x": 43, "y": 29}, // L SW15 - {"flags": 4, "matrix": [2, 3], "x": 29, "y": 31}, // L SW16 - {"flags": 4, "matrix": [2, 4], "x": 14, "y": 35}, // L SW17 - {"flags": 4, "matrix": [2, 5], "x": 0, "y": 37}, // L SW18 - {"flags": 4, "matrix": [3, 0], "x": 72, "y": 48}, // L SW19 - {"flags": 4, "matrix": [3, 1], "x": 58, "y": 46}, // L SW20 - {"flags": 4, "matrix": [3, 2], "x": 43, "y": 44}, // L SW21 - {"flags": 4, "matrix": [3, 3], "x": 29, "y": 46}, // L SW22 - {"flags": 4, "matrix": [3, 4], "x": 14, "y": 49}, // L SW23 - {"flags": 4, "matrix": [3, 5], "x": 0, "y": 51}, // L SW24 - {"flags": 4, "matrix": [4, 1], "x": 87, "y": 62}, // L SW26 - {"flags": 4, "matrix": [4, 2], "x": 65, "y": 62}, // L SW27 - {"flags": 4, "matrix": [4, 3], "x": 51, "y": 61}, // L SW28 - {"flags": 4, "matrix": [4, 4], "x": 36, "y": 60}, // L SW29 - {"flags": 4, "matrix": [4, 5], "x": 22, "y": 64}, // L SW30 - {"flags": 2, "x": 157, "y": 22}, // R RGB1 - {"flags": 2, "x": 190, "y": 15}, // R RGB2 - {"flags": 2, "x": 219, "y": 18}, // R RGB3 - {"flags": 2, "x": 219, "y": 55}, // R RGB4 - {"flags": 2, "x": 183, "y": 60}, // R RGB5 - {"flags": 2, "x": 149, "y": 62}, // R RGB6 - {"flags": 4, "matrix": [5, 0], "x": 152, "y": 7}, // R SW01 - {"flags": 4, "matrix": [5, 1], "x": 166, "y": 5}, // R SW02 - {"flags": 4, "matrix": [5, 2], "x": 181, "y": 2}, // R SW03 - {"flags": 4, "matrix": [5, 3], "x": 195, "y": 0}, // R SW04 - {"flags": 4, "matrix": [5, 4], "x": 210, "y": 2}, // R SW05 - {"flags": 4, "matrix": [5, 5], "x": 224, "y": 4}, // R SW06 - {"flags": 4, "matrix": [6, 0], "x": 152, "y": 22}, // R SW07 - {"flags": 4, "matrix": [6, 1], "x": 166, "y": 20}, // R SW08 - {"flags": 4, "matrix": [6, 2], "x": 181, "y": 16}, // R SW09 - {"flags": 4, "matrix": [6, 3], "x": 195, "y": 15}, // R SW10 - {"flags": 4, "matrix": [6, 4], "x": 210, "y": 16}, // R SW11 - {"flags": 4, "matrix": [6, 5], "x": 224, "y": 18}, // R SW12 - {"flags": 4, "matrix": [7, 0], "x": 152, "y": 37}, // R SW13 - {"flags": 4, "matrix": [7, 1], "x": 166, "y": 35}, // R SW14 - {"flags": 4, "matrix": [7, 2], "x": 181, "y": 31}, // R SW15 - {"flags": 4, "matrix": [7, 3], "x": 195, "y": 29}, // R SW16 - {"flags": 4, "matrix": [7, 4], "x": 210, "y": 31}, // R SW17 - {"flags": 4, "matrix": [7, 5], "x": 224, "y": 33}, // R SW18 - {"flags": 4, "matrix": [8, 0], "x": 152, "y": 49}, // R SW19 - {"flags": 4, "matrix": [8, 1], "x": 166, "y": 46}, // R SW20 - {"flags": 4, "matrix": [8, 2], "x": 181, "y": 44}, // R SW21 - {"flags": 4, "matrix": [8, 3], "x": 195, "y": 46}, // R SW22 - {"flags": 4, "matrix": [8, 4], "x": 210, "y": 38}, // R SW23 - {"flags": 4, "matrix": [8, 5], "x": 224, "y": 55}, // R SW24 - {"flags": 4, "matrix": [9, 1], "x": 137, "y": 62}, // R SW26 - {"flags": 4, "matrix": [9, 2], "x": 159, "y": 62}, // R SW27 - {"flags": 4, "matrix": [9, 3], "x": 173, "y": 61}, // R SW28 - {"flags": 4, "matrix": [9, 4], "x": 188, "y": 60}, // R SW29 - {"flags": 4, "matrix": [9, 5], "x": 202, "y": 64} // R SW30 - ] } } From d80f025e88d65255204fb78c76821df0fd1749bc Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:38:07 +0200 Subject: [PATCH 04/17] Rehost image --- keyboards/splitkb/aurora/sofle_v2/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/readme.md b/keyboards/splitkb/aurora/sofle_v2/readme.md index fdc704389bad..13f1d84bbbb3 100644 --- a/keyboards/splitkb/aurora/sofle_v2/readme.md +++ b/keyboards/splitkb/aurora/sofle_v2/readme.md @@ -1,4 +1,4 @@ -![Aurora Sofle v2](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/sofle/sofle.jpg) +![Aurora Sofle v2](https://i.imgur.com/8MlWV7h.jpg) # Aurora Sofle v2 The Aurora Sofle v2 is a redesign by splitkb.com of the popular Sofle v2 by Josef Adamcik. From b6f608a07e5376a964e16658b6ff519f6ba48725 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:40:01 +0200 Subject: [PATCH 05/17] Update keyboards/splitkb/aurora/sofle_v2/rev1/config.h Co-authored-by: Ryan --- keyboards/splitkb/aurora/sofle_v2/rev1/config.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h index 59d6803b4945..9a9d6872a88e 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h @@ -16,8 +16,6 @@ #pragma once -// `SPLIT_HAND_PIN` can currently be defined in `info.json`, -// but can't yet be given a value #define SPLIT_HAND_PIN F4 // Not yet available in `info.json` From ec53ea9c1ad29843667570462238cc4fea80a53d Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:40:11 +0200 Subject: [PATCH 06/17] Update keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h Co-authored-by: Ryan --- keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h index bfc598d331bf..a15def3fb913 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/config.h @@ -16,6 +16,4 @@ #pragma once -#ifdef RGBLIGHT_ENABLE -# define RGBLIGHT_EFFECT_BREATHING -#endif \ No newline at end of file +#define RGBLIGHT_EFFECT_BREATHING \ No newline at end of file From 3e8d67fa3a849b49631b95752e886cf044fd0635 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:40:23 +0200 Subject: [PATCH 07/17] Update keyboards/splitkb/aurora/sofle_v2/config.h Co-authored-by: Ryan --- keyboards/splitkb/aurora/sofle_v2/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/config.h b/keyboards/splitkb/aurora/sofle_v2/config.h index ee8de74e645a..7b00c716459a 100644 --- a/keyboards/splitkb/aurora/sofle_v2/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/config.h @@ -16,7 +16,6 @@ #pragma once -// Not yet available in `info.json` #ifdef OLED_ENABLE # define OLED_FONT_H "keyboards/splitkb/aurora/sofle_v2/glcdfont.c" #endif \ No newline at end of file From 0839d6d7a8558f10341566747dd25bbe48d8a177 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:40:36 +0200 Subject: [PATCH 08/17] Update keyboards/splitkb/aurora/sofle_v2/rev1/config.h Co-authored-by: Ryan --- keyboards/splitkb/aurora/sofle_v2/rev1/config.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h index 9a9d6872a88e..03f9d98994de 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h @@ -18,11 +18,8 @@ #define SPLIT_HAND_PIN F4 -// Not yet available in `info.json` -#ifdef OLED_ENABLE -# define OLED_DISPLAY_128X32 -# define SPLIT_OLED_ENABLE -#endif +#define OLED_DISPLAY_128X32 +#define SPLIT_OLED_ENABLE // Not yet available in `info.json` #ifdef RGB_MATRIX_ENABLE From 92b1e59c641fe810b6ad0210c3ff92f8017aed40 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:40:47 +0200 Subject: [PATCH 09/17] Update keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h Co-authored-by: Ryan --- .../aurora/sofle_v2/keymaps/default/config.h | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h index 9061bcf9d355..353c0ee34952 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h @@ -16,12 +16,9 @@ #pragma once -// Not yet available in `keymap.json` format -#ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED -# define RGB_MATRIX_KEYPRESSES -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# define ENABLE_RGB_MATRIX_SOLID_SPLASH -# define ENABLE_RGB_MATRIX_RAINBOW_BEACON -# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -#endif \ No newline at end of file +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_KEYPRESSES +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define ENABLE_RGB_MATRIX_SOLID_SPLASH +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT \ No newline at end of file From 7fa0695ee8a159febf0e783b4bcb031ba3e662b2 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:41:50 +0200 Subject: [PATCH 10/17] Move to info.json --- .../splitkb/aurora/sofle_v2/rev1/config.h | 20 +------------------ 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h index 03f9d98994de..b6770a4b5f40 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h @@ -19,22 +19,4 @@ #define SPLIT_HAND_PIN F4 #define OLED_DISPLAY_128X32 -#define SPLIT_OLED_ENABLE - -// Not yet available in `info.json` -#ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_LED_COUNT RGBLED_NUM -# define RGB_MATRIX_SPLIT RGBLED_SPLIT -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 -# define SPLIT_TRANSPORT_MIRROR -#endif - -// Not yet available in `info.json` -#ifdef BOOTMAGIC_ENABLE - // Top left key on left half -# define BOOTMAGIC_LITE_ROW 0 -# define BOOTMAGIC_LITE_COLUMN 5 - // Top right key on right half -# define BOOTMAGIC_LITE_ROW_RIGHT 5 -# define BOOTMAGIC_LITE_COLUMN_RIGHT 5 -#endif \ No newline at end of file +#define SPLIT_OLED_ENABLE \ No newline at end of file From d66f521d899ca4d95e3be7abe1d2f3a5190ca990 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:45:53 +0200 Subject: [PATCH 11/17] Add led_count to rgb_matrix This is not yet specified in the info.json reference --- keyboards/splitkb/aurora/sofle_v2/rev1/info.json | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/info.json b/keyboards/splitkb/aurora/sofle_v2/rev1/info.json index ab0d9c514c02..c097a4953842 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/info.json +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/info.json @@ -92,6 +92,7 @@ {"matrix": [9, 4], "x": 188, "y": 60, "flags": 4}, {"matrix": [9, 5], "x": 202, "y": 64, "flags": 4} ], + "led_count": 70, "max_brightness": 128, "split_count": [35, 35] }, From 2e14201e68558b73b5c1c8a5c1f3d6d9f42b2af8 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:52:34 +0200 Subject: [PATCH 12/17] fix RGB_MATRIX_LED_COUNT --- keyboards/splitkb/aurora/sofle_v2/rev1/config.h | 4 +++- keyboards/splitkb/aurora/sofle_v2/rev1/info.json | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h index b6770a4b5f40..71be091f8956 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h @@ -19,4 +19,6 @@ #define SPLIT_HAND_PIN F4 #define OLED_DISPLAY_128X32 -#define SPLIT_OLED_ENABLE \ No newline at end of file +#define SPLIT_OLED_ENABLE + +#define RGB_MATRIX_LED_COUNT RGBLED_NUM \ No newline at end of file diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/info.json b/keyboards/splitkb/aurora/sofle_v2/rev1/info.json index c097a4953842..ab0d9c514c02 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/info.json +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/info.json @@ -92,7 +92,6 @@ {"matrix": [9, 4], "x": 188, "y": 60, "flags": 4}, {"matrix": [9, 5], "x": 202, "y": 64, "flags": 4} ], - "led_count": 70, "max_brightness": 128, "split_count": [35, 35] }, From 975d099c67671e5b8b3fd268da2030fabcc9f024 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 17:24:15 +0200 Subject: [PATCH 13/17] Update keyboards/splitkb/aurora/sofle_v2/rules.mk Co-authored-by: Ryan --- keyboards/splitkb/aurora/sofle_v2/rules.mk | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/rules.mk b/keyboards/splitkb/aurora/sofle_v2/rules.mk index bf35a8d1736b..4a50c4dbb13d 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rules.mk +++ b/keyboards/splitkb/aurora/sofle_v2/rules.mk @@ -1,16 +1 @@ -# Copyright 2023 splitkb.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 . - DEFAULT_FOLDER = splitkb/aurora/sofle_v2/rev1 \ No newline at end of file From 075bd0c45017243e04cab99461b6dc8fa33ca996 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 17:24:25 +0200 Subject: [PATCH 14/17] Update keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk Co-authored-by: Ryan --- .../aurora/sofle_v2/keymaps/debug/rules.mk | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk index c3afcaa093fe..9c9df9b126e7 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/debug/rules.mk @@ -1,18 +1,3 @@ -# Copyright 2023 splitkb.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 . - # NOTE: These are already enabled by default at the revision level #ENCODER_ENABLE = yes #OLED_ENABLE = yes From 0eb34c911c9415714777777a363602bce0b6cc9f Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 17:24:34 +0200 Subject: [PATCH 15/17] Update keyboards/splitkb/aurora/sofle_v2/rev1/rules.mk Co-authored-by: Ryan --- keyboards/splitkb/aurora/sofle_v2/rev1/rules.mk | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/rules.mk b/keyboards/splitkb/aurora/sofle_v2/rev1/rules.mk index 97cdc5aef45f..e69de29bb2d1 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/rules.mk +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/rules.mk @@ -1,17 +0,0 @@ -# Copyright 2023 splitkb.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 . - -# Although no rules are defined, -# presence of this file is required for QMK to compile it. From a6b38bba56b89e20c2c4c4d12f5ed658e1b6e265 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Wed, 12 Jul 2023 17:27:28 +0200 Subject: [PATCH 16/17] Add license to glcdfont.c --- keyboards/splitkb/aurora/sofle_v2/glcdfont.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/keyboards/splitkb/aurora/sofle_v2/glcdfont.c b/keyboards/splitkb/aurora/sofle_v2/glcdfont.c index d6a58634d139..e75b1b4df6a0 100644 --- a/keyboards/splitkb/aurora/sofle_v2/glcdfont.c +++ b/keyboards/splitkb/aurora/sofle_v2/glcdfont.c @@ -1,3 +1,19 @@ +/* Copyright 2023 splitkb.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 "progmem.h" // NOTE: This file is a copy of `crkbd/soundmonster/glcdfont.c` From 98805b0b7b5671b1651fd97da10d8abc00f22157 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Tue, 18 Jul 2023 16:40:38 +0200 Subject: [PATCH 17/17] Update keyboards/splitkb/aurora/sofle_v2/rev1/config.h Co-authored-by: Ryan --- keyboards/splitkb/aurora/sofle_v2/rev1/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h index 71be091f8956..1896af3cb5c2 100644 --- a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h @@ -21,4 +21,4 @@ #define OLED_DISPLAY_128X32 #define SPLIT_OLED_ENABLE -#define RGB_MATRIX_LED_COUNT RGBLED_NUM \ No newline at end of file +#define RGB_MATRIX_LED_COUNT 70 \ No newline at end of file