From 944ba2ab29f98b2626953588dbd894fcecafe3b8 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 7 Apr 2023 10:57:56 +0200 Subject: [PATCH 01/96] Kimiko Rev2 WiP state from BenRoe and Trex4Git (me) - 06.04.2023 Signed-off-by: Ex3c4Def --- .../keycapsss/kimiko/keymaps/rev2/config.h | 48 +++ .../keycapsss/kimiko/keymaps/rev2/glcdfont.c | 233 +++++++++++++++ .../keycapsss/kimiko/keymaps/rev2/keymap.c | 281 ++++++++++++++++++ .../keycapsss/kimiko/keymaps/rev2/rules.mk | 11 + keyboards/keycapsss/kimiko/rev2/config.h | 60 ++++ keyboards/keycapsss/kimiko/rev2/info.json | 85 ++++++ keyboards/keycapsss/kimiko/rev2/rev2.c | 17 ++ keyboards/keycapsss/kimiko/rev2/rev2.h | 42 +++ keyboards/keycapsss/kimiko/rev2/rules.mk | 1 + 9 files changed, 778 insertions(+) create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2/config.h create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2/glcdfont.c create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk create mode 100644 keyboards/keycapsss/kimiko/rev2/config.h create mode 100644 keyboards/keycapsss/kimiko/rev2/info.json create mode 100644 keyboards/keycapsss/kimiko/rev2/rev2.c create mode 100644 keyboards/keycapsss/kimiko/rev2/rev2.h create mode 100644 keyboards/keycapsss/kimiko/rev2/rules.mk diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/config.h b/keyboards/keycapsss/kimiko/keymaps/rev2/config.h new file mode 100644 index 000000000000..5600e81c742d --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/config.h @@ -0,0 +1,48 @@ +/* Copyright 2019 MechMerlin + * Copyright 2023 @ben_roe (keycapsss.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 + +/* Select hand configuration */ +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c" +// #define OLED_FONT_WIDTH 5 +// #define OLED_FONT_HEIGHT 7 + +#ifdef RGBLIGHT_ENABLE +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_SLEEP /* the RGB lighting will be switched off when the host goes to sleep */ +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +# define RGBLIGHT_EFFECT_TWINKLE +#endif + +// If you are using an Elite C rev3 on the slave side, uncomment the lines below: +// #define SPLIT_USB_DETECT +// #define NO_USB_STARTUP_CHECK diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/rev2/glcdfont.c new file mode 100644 index 000000000000..19d45a75c706 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/glcdfont.c @@ -0,0 +1,233 @@ +#include "progmem.h" + +// Corne 8x6 font +// Online editor: https://helixfonteditor.netlify.com +// or https://joric.github.io/qle/ +// 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, 0x13, 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, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 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, + 0x1F, 0x1F, 0x0E, 0x1B, 0x11, 0xC0, + 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x06, + 0x0C, 0xC6, 0x1F, 0x1F, 0x80, 0x5F, + 0x1F, 0x00, 0x1F, 0x1F, 0x8E, 0x9B, + 0x91, 0x80, 0x9F, 0x9F, 0x91, 0x1F, + 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, 0x84, 0x87, 0x7D, 0x55, 0x57, + 0x55, 0x7D, 0x87, 0x84, 0x00, 0x91, + 0x95, 0x55, 0x55, 0x3F, 0x55, 0x55, + 0x95, 0x91, 0x00, 0x08, 0x08, 0x08, + 0x88, 0xFC, 0x0A, 0x09, 0x08, 0x08, + 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/keycapsss/kimiko/keymaps/rev2/keymap.c b/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c new file mode 100644 index 000000000000..75fce2497bf6 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c @@ -0,0 +1,281 @@ +/* Copyright 2019 Leo Batyuk + * Copyright 2020 Drashna Jaelre <@drashna> + * Copyright 2023 @ben_roe (keycapsss.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 { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* QWERTY + * ,--------------------------------------------. ,----------------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | LShift | A | S | D | F | G |---------------. ,---------------| H | J | K | L | ; | ' | + * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| + * | LCTRL | Z | X | C | V | B |------|-------| |-------|-------| N | M | , | . | / |RShift/Enter| + * `--------------------------------------------| / \ |---------------------------------------------------' + * | LCTRL| LGUI | LALT |LOWER| Space / \Enter \ RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '------------------------------------' + */ + + [_QWERTY] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_LBRC, KC_RBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), + KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI, KC_RALT +) +}; + + +layer_state_t layer_state_set_user(layer_state_t state) { + state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); + return state; +} + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_270; + } else { + 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 corne_logo[] = { + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; + oled_write_P(corne_logo, false); + // oled_write_P(PSTR("Kimiko"), 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(_ADJUST)) { + oled_write_P(adjust_layer, false); + } else if(layer_state_is(_LOWER)) { + oled_write_P(lower_layer, false); + } else if(layer_state_is(_RAISE)) { + oled_write_P(raise_layer, false); + } else { + oled_write_P(default_layer, false); + } +} + +void render_status_main(void) { + render_space(); + render_space(); + render_logo(); + 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()); +} + +void render_status_secondary(void) { + render_space(); + render_space(); + render_logo(); + render_space(); +} + +bool oled_task_user(void) { + if (is_keyboard_master()) { + render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } else { + render_status_secondary(); + } + return false; +} + +#endif + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, + [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, +}; +#endif // ENCODER_MAP_ENABLE + + diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk new file mode 100644 index 000000000000..d6d83992f4a2 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk @@ -0,0 +1,11 @@ +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enables the use of OLED displays +ENCODER_ENABLE = no # ENables the use of one or more encoders +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow + +# LTO: Link Time Optimizations. +# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. +# This does not affect QMK Macros and Layers +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes + diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h new file mode 100644 index 000000000000..16104442c6e0 --- /dev/null +++ b/keyboards/keycapsss/kimiko/rev2/config.h @@ -0,0 +1,60 @@ +/* Copyright 2023 @ben_roe (keycapsss.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 + +/* key matrix size */ +// rows are doubled-up for split-keyboard +#define MATRIX_ROWS 12 +#define MATRIX_COLS 6 +#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 } +#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define SOFT_SERIAL_PIN D2 + +/* SK6812 RGB LED */ +#define RGB_DI_PIN D3 + +#ifdef RGBLIGHT_ENABLE +# define RGBLED_NUM 60 // Total number of LEDs +# define RGBLED_SPLIT { 30, 30 } // LEDs per side +# define RGBLIGHT_SPLIT +#endif + +// Limit the power draw +#ifdef IOS_DEVICE_ENABLE + #define RGBLIGHT_LIMIT_VAL 40 +#else + #define RGBLIGHT_LIMIT_VAL 80 +#endif + +#ifdef ENCODER_ENABLE +# define ENCODERS_PAD_A { F4 } +# define ENCODERS_PAD_B { F5 } +# define ENCODERS_PAD_A_RIGHT { F4 } +# define ENCODERS_PAD_B_RIGHT { F5 } +#endif + +/* 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 diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json new file mode 100644 index 000000000000..7032547b45b5 --- /dev/null +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -0,0 +1,85 @@ +{ + "keyboard_name": "Kimiko", + "manufacturer": "Keycapsss", + "url": "https://keycapsss.com", + "maintainer": "@ben_roe Keycapsss", + "usb": { + "vid": "0x7983", + "pid": "0x4B69", + "device_version": "2.0.0" + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0.00, "y":0.64}, + {"x":1.00, "y":0.64}, + {"x":2.00, "y":0.15}, + {"x":3.00, "y":-0.16}, + {"x":4.00, "y":0.15}, + {"x":5.00, "y":0.30}, + {"x":10.75, "y":0.30}, + {"x":11.75, "y":0.15}, + {"x":12.75, "y":-0.16}, + {"x":13.75, "y":0.15}, + {"x":14.75, "y":0.64}, + {"x":15.75, "y":0.64}, + + {"x":0.00, "y":1.64}, + {"x":1.00, "y":1.64}, + {"x":2.00, "y":1.15}, + {"x":3.00, "y":0.84}, + {"x":4.00, "y":1.15}, + {"x":5.00, "y":1.30}, + {"x":10.75, "y":1.30}, + {"x":11.75, "y":1.15}, + {"x":12.75, "y":0.84}, + {"x":13.75, "y":1.15}, + {"x":14.75, "y":1.64}, + {"x":15.75, "y":1.64}, + + {"x":0.00, "y":2.64}, + {"x":1.00, "y":2.64}, + {"x":2.00, "y":2.15}, + {"x":3.00, "y":1.84}, + {"x":4.00, "y":2.15}, + {"x":5.00, "y":2.30}, + {"x":10.75, "y":2.30}, + {"x":11.75, "y":2.15}, + {"x":12.75, "y":1.84}, + {"x":13.75, "y":2.15}, + {"x":14.75, "y":2.64}, + {"x":15.75, "y":2.64}, + + {"x":0.00, "y":3.64}, + {"x":1.00, "y":3.64}, + {"x":2.00, "y":3.15}, + {"x":3.00, "y":2.84}, + {"x":4.00, "y":3.15}, + {"x":5.00, "y":3.30}, + {"x":6.10, "y":3.40, "h":1.5}, + {"x":7.10, "y":3.40}, + {"x":8.65, "y":3.40}, + {"x":9.65, "y":3.40, "h":1.5}, + {"x":10.75, "y":3.30}, + {"x":11.75, "y":3.15}, + {"x":12.75, "y":2.84}, + {"x":13.75, "y":3.15}, + {"x":14.75, "y":3.64}, + {"x":15.75, "y":3.64}, + + {"x":2.00, "y":4.15, "h":1.5}, + {"x":3.00, "y":3.84}, + {"x":4.00, "y":4.15}, + {"x":6.10, "y":4.40, "h":1.5}, + {"x":7.10, "y":4.40}, + {"x":8.65, "y":4.40}, + {"x":9.65, "y":4.40, "h":1.5}, + {"x":11.75, "y":4.15}, + {"x":12.75, "y":3.84, "h":1.5}, + {"x":13.75, "y":4.15} + ] + } + } +} diff --git a/keyboards/keycapsss/kimiko/rev2/rev2.c b/keyboards/keycapsss/kimiko/rev2/rev2.c new file mode 100644 index 000000000000..7c38ad2b4a36 --- /dev/null +++ b/keyboards/keycapsss/kimiko/rev2/rev2.c @@ -0,0 +1,17 @@ +/* Copyright 2023 @ben_roe (keycapsss.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 "rev2.h" diff --git a/keyboards/keycapsss/kimiko/rev2/rev2.h b/keyboards/keycapsss/kimiko/rev2/rev2.h new file mode 100644 index 000000000000..49aea4a405bd --- /dev/null +++ b/keyboards/keycapsss/kimiko/rev2/rev2.h @@ -0,0 +1,42 @@ +/* Copyright 2023 @ben_roe (keycapsss.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 "kimiko.h" + +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, L50, L40, R40, R50, R30, R31, R32, R33, R34, R35, \ + L41, L42, L43, L44, L45, R41, R42, R43, R44, R45 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { L41, L42, L43, L44, L45, L40 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, L50 }, \ + { R05, R04, R03, R02, R01, R00 }, \ + { R15, R14, R13, R12, R11, R10 }, \ + { R25, R24, R23, R22, R21, R20 }, \ + { R35, R34, R33, R32, R31, R30 }, \ + { R45, R44, R43, R42, R41, R40 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, R50 } \ + } + diff --git a/keyboards/keycapsss/kimiko/rev2/rules.mk b/keyboards/keycapsss/kimiko/rev2/rules.mk new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/keyboards/keycapsss/kimiko/rev2/rules.mk @@ -0,0 +1 @@ + From 0a96e557f2f611ed7528e0b1177e088c46623150 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 7 Apr 2023 11:22:37 +0200 Subject: [PATCH 02/96] Move encoder config to data driven based on qmk#19923 Update config.h Update info.json Signed-off-by: Ex3c4Def --- keyboards/keycapsss/kimiko/rev2/config.h | 7 ------- keyboards/keycapsss/kimiko/rev2/info.json | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h index 16104442c6e0..e0190878dc95 100644 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ b/keyboards/keycapsss/kimiko/rev2/config.h @@ -47,13 +47,6 @@ #define RGBLIGHT_LIMIT_VAL 80 #endif -#ifdef ENCODER_ENABLE -# define ENCODERS_PAD_A { F4 } -# define ENCODERS_PAD_B { F5 } -# define ENCODERS_PAD_A_RIGHT { F4 } -# define ENCODERS_PAD_B_RIGHT { F5 } -#endif - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 7032547b45b5..a46daa9e351f 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -7,6 +7,20 @@ "vid": "0x7983", "pid": "0x4B69", "device_version": "2.0.0" + }, + "encoder": { + "rotary": [ + {"pin_a": "F4", "pin_b": "F5"} + ] + }, + "split": { + "encoder": { + "right": { + "rotary": [ + {"pin_a": "F4", "pin_b": "F5"} + ] + } + } }, "processor": "atmega32u4", "bootloader": "atmel-dfu", From ae5bde75838c9ea5f6efd39f375e7c9d720ebd9b Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 7 Apr 2023 11:24:16 +0200 Subject: [PATCH 03/96] Move SOFT_SERIAL_PIN to data driven based on qmk#19863 Update info.json Update config.h Signed-off-by: Ex3c4Def --- keyboards/keycapsss/kimiko/rev2/config.h | 2 -- keyboards/keycapsss/kimiko/rev2/info.json | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h index e0190878dc95..8f63dc004450 100644 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ b/keyboards/keycapsss/kimiko/rev2/config.h @@ -29,8 +29,6 @@ /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 -#define SOFT_SERIAL_PIN D2 - /* SK6812 RGB LED */ #define RGB_DI_PIN D3 diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index a46daa9e351f..35d4a1808623 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -14,6 +14,7 @@ ] }, "split": { + "soft_serial_pin": "D2", "encoder": { "right": { "rotary": [ From 22e4fcdeb2ce5ab977da6cd0a61127065ccb9bac Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 7 Apr 2023 11:35:09 +0200 Subject: [PATCH 04/96] Enable pimoroni_trackball Signed-off-by: Ex3c4Def --- keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk index d6d83992f4a2..fc51dbc0d7c2 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk @@ -9,3 +9,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow LTO_ENABLE = yes ENCODER_MAP_ENABLE = yes +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = pimoroni_trackball + From da507dd4ee88dc021ebc19c560b76b5ca9efeae0 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 7 Apr 2023 14:26:25 +0200 Subject: [PATCH 05/96] Added missing keymaps for 3 Layers - _LOWER / _RAISE / _ADJUST - based on Kimiko rev1 keymaps, added the additiona key per side Signed-off-by: Ex3c4Def --- .../keycapsss/kimiko/keymaps/rev2/keymap.c | 92 +++++++++++++++---- 1 file changed, 76 insertions(+), 16 deletions(-) diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c b/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c index 75fce2497bf6..bfe31bbea089 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c @@ -31,25 +31,85 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* QWERTY - * ,--------------------------------------------. ,----------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | LShift | A | S | D | F | G |---------------. ,---------------| H | J | K | L | ; | ' | - * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| - * | LCTRL | Z | X | C | V | B |------|-------| |-------|-------| N | M | , | . | / |RShift/Enter| - * `--------------------------------------------| / \ |---------------------------------------------------' - * | LCTRL| LGUI | LALT |LOWER| Space / \Enter \ RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '------------------------------------' + * ,--------------------------------------------. ,----------------------------------------------. + * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | LShift | A | S | D | F | G |---------------. ,---------------| H | J | K | L | ; | ' | + * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| + * | LCTRL | Z | X | C | V | B |------|--------| |-------|-------| N | M | , | . | / |RShift/Enter| + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' */ - [_QWERTY] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_LBRC, KC_RBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI, KC_RALT +), +/* LOWER +* QWERTY + * ,--------------------------------------------. ,----------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | ` | ! | @ | # | $ | % |---------------. ,---------------| ^ | & | * | ( | ) | ~ | + * |---------+------+------+------+------+------| | | | | |------+------+------+------+------+-----------| + * | | | | | | |------|--------| |-------|-------| | _ | + | { | } | \ | + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' + */ +[_LOWER] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, + KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD, + _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, + _______, _______, _______, _______,_______, _______, _______, _______, _______, _______ +), +/* RAISE + * ,--------------------------------------------. ,----------------------------------------------. + * | | | | | | | | | | | | | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | F1 | F2 | F3 | F4 | F5 | F6 |---------------. ,---------------| Left | Down | Up |Right | ; | | + * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| + * | F7 | F8 | F9 | F10 | F11 | F12 |------|--------| |-------|-------| + | - | = | [ | ] | \ | + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' + */ + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +/* ADJUST (Press LOWER and RAISE together) + * ,--------------------------------------------. ,----------------------------------------------. + * | QK_BOOT | | | | | | | | | | | | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | RGB ON | HUE+ | SAT+ | VAL+ | | | | PREV | PLAY | NEXT | | | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | MODE | HUE- | SAT- | VAL- | | |---------------. ,---------------| VOL+ | MUTE | VOL- | | | | + * |---------+------+------+------+------+------| | | | | |------+------+------+------+------+-----------| + * | | | | | | |------|--------| |-------|-------| | | | | | | + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' + */ +[_ADJUST] = LAYOUT( + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; @@ -271,10 +331,10 @@ bool oled_task_user(void) { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, - [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, - [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, + [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, + [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, }; #endif // ENCODER_MAP_ENABLE From b7a3ce756342a84e11a2be05ef090a2096bec4a7 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 7 Apr 2023 14:30:30 +0200 Subject: [PATCH 06/96] Enabled Encoder on keymap level Signed-off-by: Ex3c4Def --- keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk index fc51dbc0d7c2..355a866c7ed7 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk @@ -1,6 +1,6 @@ OLED_ENABLE = yes OLED_DRIVER = SSD1306 # Enables the use of OLED displays -ENCODER_ENABLE = no # ENables the use of one or more encoders +ENCODER_ENABLE = yes # ENables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow # LTO: Link Time Optimizations. From 99c1ceb831e8b762a60258aeada8460e985dc089 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 7 Apr 2023 14:31:31 +0200 Subject: [PATCH 07/96] Added split specific poiting device settings - for pimoroni trackball on right side Signed-off-by: Ex3c4Def --- keyboards/keycapsss/kimiko/keymaps/rev2/config.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/config.h b/keyboards/keycapsss/kimiko/keymaps/rev2/config.h index 5600e81c742d..59009f8b2e6c 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/config.h +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/config.h @@ -46,3 +46,6 @@ // If you are using an Elite C rev3 on the slave side, uncomment the lines below: // #define SPLIT_USB_DETECT // #define NO_USB_STARTUP_CHECK + +#define SPLIT_POINTING_ENABLE +#define POINTING_DEVICE_RIGHT From d9b5126159b6adce71704afa41f060675f5a1dbd Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 7 Apr 2023 14:57:25 +0200 Subject: [PATCH 08/96] Moved layout definition to data driven (info.json) Signed-off-by: Ex3c4Def --- keyboards/keycapsss/kimiko/rev2/info.json | 124 +++++++++++----------- keyboards/keycapsss/kimiko/rev2/rev2.h | 25 +---- 2 files changed, 63 insertions(+), 86 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 35d4a1808623..92bc164f34cb 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -28,72 +28,72 @@ "layouts": { "LAYOUT": { "layout": [ - {"x":0.00, "y":0.64}, - {"x":1.00, "y":0.64}, - {"x":2.00, "y":0.15}, - {"x":3.00, "y":-0.16}, - {"x":4.00, "y":0.15}, - {"x":5.00, "y":0.30}, - {"x":10.75, "y":0.30}, - {"x":11.75, "y":0.15}, - {"x":12.75, "y":-0.16}, - {"x":13.75, "y":0.15}, - {"x":14.75, "y":0.64}, - {"x":15.75, "y":0.64}, + {"label": "L00", "matrix": [0, 0], "x":0.00, "y":0.80}, + {"label": "L01", "matrix": [0, 1], "x":1.00, "y":0.80}, + {"label": "L02", "matrix": [0, 2], "x":2.00, "y":0.31}, + {"label": "L03", "matrix": [0, 3], "x":3.00, "y":0.00}, + {"label": "L04", "matrix": [0, 4], "x":4.00, "y":0.31}, + {"label": "L05", "matrix": [0, 5], "x":5.00, "y":0.46}, + {"label": "R00", "matrix": [6, 5], "x":9.50, "y":0.46}, + {"label": "R01", "matrix": [6, 4], "x":10.50, "y":0.31}, + {"label": "R02", "matrix": [6, 3], "x":11.50, "y":0.00}, + {"label": "R03", "matrix": [6, 2], "x":12.50, "y":0.31}, + {"label": "R04", "matrix": [6, 1], "x":13.50, "y":0.80}, + {"label": "R05", "matrix": [6, 0], "x":14.50, "y":0.80}, - {"x":0.00, "y":1.64}, - {"x":1.00, "y":1.64}, - {"x":2.00, "y":1.15}, - {"x":3.00, "y":0.84}, - {"x":4.00, "y":1.15}, - {"x":5.00, "y":1.30}, - {"x":10.75, "y":1.30}, - {"x":11.75, "y":1.15}, - {"x":12.75, "y":0.84}, - {"x":13.75, "y":1.15}, - {"x":14.75, "y":1.64}, - {"x":15.75, "y":1.64}, + {"label": "L10", "matrix": [1, 0], "x":0.00, "y":1.80}, + {"label": "L11", "matrix": [1, 1], "x":1.00, "y":1.80}, + {"label": "L12", "matrix": [1, 2], "x":2.00, "y":1.31}, + {"label": "L13", "matrix": [1, 3], "x":3.00, "y":1.00}, + {"label": "L14", "matrix": [1, 4], "x":4.00, "y":1.31}, + {"label": "L15", "matrix": [1, 5], "x":5.00, "y":1.46}, + {"label": "R10", "matrix": [7, 5], "x":9.50, "y":1.46}, + {"label": "R11", "matrix": [7, 4], "x":10.50, "y":1.31}, + {"label": "R12", "matrix": [7, 3], "x":11.50, "y":1.00}, + {"label": "R13", "matrix": [7, 2], "x":12.50, "y":1.31}, + {"label": "R14", "matrix": [7, 1], "x":13.50, "y":1.80}, + {"label": "R15", "matrix": [7, 0], "x":14.50, "y":1.80}, - {"x":0.00, "y":2.64}, - {"x":1.00, "y":2.64}, - {"x":2.00, "y":2.15}, - {"x":3.00, "y":1.84}, - {"x":4.00, "y":2.15}, - {"x":5.00, "y":2.30}, - {"x":10.75, "y":2.30}, - {"x":11.75, "y":2.15}, - {"x":12.75, "y":1.84}, - {"x":13.75, "y":2.15}, - {"x":14.75, "y":2.64}, - {"x":15.75, "y":2.64}, + {"label": "L20", "matrix": [2, 0], "x":0.00, "y":2.80}, + {"label": "L21", "matrix": [2, 1], "x":1.00, "y":2.80}, + {"label": "L22", "matrix": [2, 2], "x":2.00, "y":2.31}, + {"label": "L23", "matrix": [2, 3], "x":3.00, "y":2.00}, + {"label": "L24", "matrix": [2, 4], "x":4.00, "y":2.31}, + {"label": "L25", "matrix": [2, 5], "x":5.00, "y":2.46}, + {"label": "R20", "matrix": [8, 5], "x":9.50, "y":2.46}, + {"label": "R21", "matrix": [8, 4], "x":10.50, "y":2.31}, + {"label": "R22", "matrix": [8, 3], "x":11.50, "y":2.00}, + {"label": "R23", "matrix": [8, 2], "x":12.50, "y":2.31}, + {"label": "R24", "matrix": [8, 1], "x":13.50, "y":2.80}, + {"label": "R25", "matrix": [8, 0], "x":14.50, "y":2.80}, - {"x":0.00, "y":3.64}, - {"x":1.00, "y":3.64}, - {"x":2.00, "y":3.15}, - {"x":3.00, "y":2.84}, - {"x":4.00, "y":3.15}, - {"x":5.00, "y":3.30}, - {"x":6.10, "y":3.40, "h":1.5}, - {"x":7.10, "y":3.40}, - {"x":8.65, "y":3.40}, - {"x":9.65, "y":3.40, "h":1.5}, - {"x":10.75, "y":3.30}, - {"x":11.75, "y":3.15}, - {"x":12.75, "y":2.84}, - {"x":13.75, "y":3.15}, - {"x":14.75, "y":3.64}, - {"x":15.75, "y":3.64}, + {"label": "L30", "matrix": [3, 0], "x":0.00, "y":3.80}, + {"label": "L31", "matrix": [3, 1], "x":1.00, "y":3.80}, + {"label": "L32", "matrix": [3, 2], "x":2.00, "y":3.31}, + {"label": "L33", "matrix": [3, 3], "x":3.00, "y":3.00}, + {"label": "L34", "matrix": [3, 4], "x":4.00, "y":3.31}, + {"label": "L35", "matrix": [3, 5], "x":5.00, "y":3.46}, + {"label": "L50", "matrix": [5, 5], "x":6.10, "y":3.96, "h":1.5}, + {"label": "L40", "matrix": [4, 5], "x":6.60, "y":4.96}, + {"label": "R40", "matrix": [10, 5], "x":7.90, "y":4.96}, + {"label": "R50", "matrix": [11, 5], "x":8.40, "y":3.96, "h":1.5}, + {"label": "R30", "matrix": [9, 5], "x":9.50, "y":3.46}, + {"label": "R31", "matrix": [9, 4], "x":10.50, "y":3.31}, + {"label": "R32", "matrix": [9, 3], "x":11.50, "y":3.00}, + {"label": "R33", "matrix": [9, 2], "x":12.50, "y":3.31}, + {"label": "R34", "matrix": [9, 1], "x":13.50, "y":3.80}, + {"label": "R35", "matrix": [9, 0], "x":14.50, "y":3.80}, - {"x":2.00, "y":4.15, "h":1.5}, - {"x":3.00, "y":3.84}, - {"x":4.00, "y":4.15}, - {"x":6.10, "y":4.40, "h":1.5}, - {"x":7.10, "y":4.40}, - {"x":8.65, "y":4.40}, - {"x":9.65, "y":4.40, "h":1.5}, - {"x":11.75, "y":4.15}, - {"x":12.75, "y":3.84, "h":1.5}, - {"x":13.75, "y":4.15} + {"label": "L41", "matrix": [4, 0], "x":2.00, "y":4.31, "h":1.5}, + {"label": "L42", "matrix": [4, 1], "x":3.00, "y":4.00}, + {"label": "L43", "matrix": [4, 2], "x":4.00, "y":4.31}, + {"label": "L44", "matrix": [4, 3], "x":5.60, "y":4.96, "h":1.5}, + {"label": "L45", "matrix": [4, 4], "x":6.10, "y":5.96}, + {"label": "R41", "matrix": [10, 4], "x":8.40, "y":5.96}, + {"label": "R42", "matrix": [10, 3], "x":8.90, "y":4.96, "h":1.5}, + {"label": "R43", "matrix": [10, 2], "x":10.50, "y":4.31}, + {"label": "R44", "matrix": [10, 1], "x":11.50, "y":4.00}, + {"label": "R45", "matrix": [10, 0], "x":12.50, "y":4.31, "h":1.5} ] } } diff --git a/keyboards/keycapsss/kimiko/rev2/rev2.h b/keyboards/keycapsss/kimiko/rev2/rev2.h index 49aea4a405bd..029d91802893 100644 --- a/keyboards/keycapsss/kimiko/rev2/rev2.h +++ b/keyboards/keycapsss/kimiko/rev2/rev2.h @@ -16,27 +16,4 @@ #pragma once -#include "kimiko.h" - -#define LAYOUT( \ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, L34, L35, L50, L40, R40, R50, R30, R31, R32, R33, R34, R35, \ - L41, L42, L43, L44, L45, R41, R42, R43, R44, R45 \ - ) \ - { \ - { L00, L01, L02, L03, L04, L05 }, \ - { L10, L11, L12, L13, L14, L15 }, \ - { L20, L21, L22, L23, L24, L25 }, \ - { L30, L31, L32, L33, L34, L35 }, \ - { L41, L42, L43, L44, L45, L40 }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, L50 }, \ - { R05, R04, R03, R02, R01, R00 }, \ - { R15, R14, R13, R12, R11, R10 }, \ - { R25, R24, R23, R22, R21, R20 }, \ - { R35, R34, R33, R32, R31, R30 }, \ - { R45, R44, R43, R42, R41, R40 }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, R50 } \ - } - +#include "kimiko.h" \ No newline at end of file From 50779745cd05f67733b3bbd521388aa329b50ad4 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 7 Apr 2023 18:53:56 +0200 Subject: [PATCH 09/96] Changed Lightning from RGBLIGHT to RGB_MATRIX - implented in data driven way, where usable Signed-off-by: Ex3c4Def --- .../keycapsss/kimiko/keymaps/rev2/config.h | 28 ++++++++ .../keycapsss/kimiko/keymaps/rev2/rules.mk | 3 +- keyboards/keycapsss/kimiko/rev2/config.h | 14 +++- keyboards/keycapsss/kimiko/rev2/info.json | 71 +++++++++++++++++++ 4 files changed, 112 insertions(+), 4 deletions(-) diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/config.h b/keyboards/keycapsss/kimiko/keymaps/rev2/config.h index 59009f8b2e6c..45b4eee9466d 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/config.h +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/config.h @@ -26,6 +26,7 @@ // #define OLED_FONT_WIDTH 5 // #define OLED_FONT_HEIGHT 7 + #ifdef RGBLIGHT_ENABLE # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 8 @@ -43,6 +44,33 @@ # define RGBLIGHT_EFFECT_TWINKLE #endif +#ifdef RGB_MATRIX_ENABLE + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + // #define RGB_MATRIX_KEYPRESSES + // #define RGB_MATRIX_KEYRELEASES + + + // These modes don’t require any additional defines. + #define ENABLE_RGB_MATRIX_NONE + #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support + #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue + #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation + #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right + #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges + // These modes also require the RGB_MATRIX_FRAMEBUFFER_EFFECTS define to be available. + #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! + // These modes also require the RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES define to be available. + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out + + + #define RGB_MATRIX_VAL_STEP 4 + #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT + #define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set + #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set + #define RGB_MATRIX_DEFAULT_VAL 60 //RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set + #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set +#endif + // If you are using an Elite C rev3 on the slave side, uncomment the lines below: // #define SPLIT_USB_DETECT // #define NO_USB_STARTUP_CHECK diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk index 355a866c7ed7..75f0e8af54f7 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk @@ -1,7 +1,8 @@ OLED_ENABLE = yes OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # ENables the use of one or more encoders -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGB_MATRIX_ENABLE = yes # LTO: Link Time Optimizations. # Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h index 8f63dc004450..e13e619c340a 100644 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ b/keyboards/keycapsss/kimiko/rev2/config.h @@ -29,9 +29,7 @@ /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 -/* SK6812 RGB LED */ -#define RGB_DI_PIN D3 - +/* SK6812 RGB LED are used for lightning*/ #ifdef RGBLIGHT_ENABLE # define RGBLED_NUM 60 // Total number of LEDs # define RGBLED_SPLIT { 30, 30 } // LEDs per side @@ -45,6 +43,16 @@ #define RGBLIGHT_LIMIT_VAL 80 #endif + +// Not yet available in `info.json` +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL +# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_SPLIT RGBLED_SPLIT +# define SPLIT_TRANSPORT_MIRROR +#endif + + /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 92bc164f34cb..85dc154fcfb8 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -96,5 +96,76 @@ {"label": "R45", "matrix": [10, 0], "x":12.50, "y":4.31, "h":1.5} ] } + }, + "rgblight": { + "pin": "D3", + "led_count": 60, + "split": true, + "split_count": [30, 30] + }, + "rgb_matrix": { + "driver": "WS2812", + "layout": [ + {"flags": 4, "matrix": [0, 5], "x": 77, "y": 5}, + {"flags": 4, "matrix": [0, 4], "x": 62, "y": 3}, + {"flags": 4, "matrix": [0, 3], "x": 46, "y": 0}, + {"flags": 4, "matrix": [0, 2], "x": 31, "y": 3}, + {"flags": 4, "matrix": [0, 1], "x": 15, "y": 9}, + {"flags": 4, "matrix": [0, 0], "x": 0, "y": 9}, + {"flags": 4, "matrix": [1, 0], "x": 0, "y": 19}, + {"flags": 4, "matrix": [1, 1], "x": 15, "y": 19}, + {"flags": 4, "matrix": [1, 2], "x": 31, "y": 14}, + {"flags": 4, "matrix": [1, 3], "x": 46, "y": 11}, + {"flags": 4, "matrix": [1, 4], "x": 62, "y": 14}, + {"flags": 4, "matrix": [1, 5], "x": 77, "y": 16}, + {"flags": 4, "matrix": [2, 5], "x": 77, "y": 26}, + {"flags": 4, "matrix": [2, 4], "x": 62, "y": 25}, + {"flags": 4, "matrix": [2, 3], "x": 46, "y": 21}, + {"flags": 4, "matrix": [2, 2], "x": 31, "y": 25}, + {"flags": 4, "matrix": [2, 1], "x": 15, "y": 30}, + {"flags": 1, "matrix": [2, 0], "x": 0, "y": 30}, + {"flags": 1, "matrix": [3, 0], "x": 0, "y": 41}, + {"flags": 4, "matrix": [3, 1], "x": 15, "y": 41}, + {"flags": 4, "matrix": [3, 2], "x": 31, "y": 36}, + {"flags": 4, "matrix": [3, 3], "x": 46, "y": 32}, + {"flags": 4, "matrix": [3, 4], "x": 62, "y": 36}, + {"flags": 4, "matrix": [3, 5], "x": 77, "y": 37}, + {"flags": 4, "matrix": [4, 5], "x": 102, "y": 53}, + {"flags": 4, "matrix": [4, 4], "x": 94, "y": 64}, + {"flags": 1, "matrix": [4, 3], "x": 87, "y": 53}, + {"flags": 1, "matrix": [4, 2], "x": 62, "y": 46}, + {"flags": 1, "matrix": [4, 1], "x": 46, "y": 43}, + {"flags": 1, "matrix": [4, 0], "x": 31, "y": 46}, + {"flags": 4, "matrix": [6, 5], "x": 147, "y": 5}, + {"flags": 4, "matrix": [6, 4], "x": 162, "y": 3}, + {"flags": 4, "matrix": [6, 3], "x": 178, "y": 0}, + {"flags": 4, "matrix": [6, 2], "x": 193, "y": 3}, + {"flags": 4, "matrix": [6, 1], "x": 209, "y": 9}, + {"flags": 4, "matrix": [6, 0], "x": 224, "y": 9}, + {"flags": 4, "matrix": [7, 0], "x": 224, "y": 19}, + {"flags": 4, "matrix": [7, 1], "x": 209, "y": 19}, + {"flags": 4, "matrix": [7, 2], "x": 193, "y": 14}, + {"flags": 4, "matrix": [7, 3], "x": 178, "y": 11}, + {"flags": 4, "matrix": [7, 4], "x": 162, "y": 14}, + {"flags": 4, "matrix": [7, 5], "x": 147, "y": 16}, + {"flags": 4, "matrix": [8, 5], "x": 147, "y": 26}, + {"flags": 4, "matrix": [8, 4], "x": 162, "y": 25}, + {"flags": 4, "matrix": [8, 3], "x": 178, "y": 21}, + {"flags": 4, "matrix": [8, 2], "x": 193, "y": 25}, + {"flags": 4, "matrix": [8, 1], "x": 209, "y": 30}, + {"flags": 4, "matrix": [8, 0], "x": 224, "y": 30}, + {"flags": 1, "matrix": [9, 0], "x": 224, "y": 41}, + {"flags": 4, "matrix": [9, 1], "x": 209, "y": 41}, + {"flags": 4, "matrix": [9, 2], "x": 193, "y": 36}, + {"flags": 4, "matrix": [9, 3], "x": 178, "y": 32}, + {"flags": 4, "matrix": [9, 4], "x": 162, "y": 36}, + {"flags": 4, "matrix": [9, 5], "x": 147, "y": 37}, + {"flags": 4, "matrix": [10, 5], "x": 122, "y": 53}, + {"flags": 4, "matrix": [10, 4], "x": 130, "y": 64}, + {"flags": 1, "matrix": [10, 3], "x": 137, "y": 53}, + {"flags": 4, "matrix": [10, 2], "x": 162, "y": 46}, + {"flags": 1, "matrix": [10, 1], "x": 178, "y": 43}, + {"flags": 1, "matrix": [10, 0], "x": 193, "y": 46} + ] } } From 37becc82b966e001614532123c4c3c4426aa3e64 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 7 Apr 2023 19:51:04 +0200 Subject: [PATCH 10/96] Moved various configto data driven Signed-off-by: Ex3c4Def --- keyboards/keycapsss/kimiko/rev2/config.h | 13 ------------- keyboards/keycapsss/kimiko/rev2/info.json | 20 ++++++++++++++++++++ keyboards/keycapsss/kimiko/rules.mk | 3 --- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h index e13e619c340a..aba1d94183ff 100644 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ b/keyboards/keycapsss/kimiko/rev2/config.h @@ -16,19 +16,6 @@ #pragma once -/* key matrix size */ -// rows are doubled-up for split-keyboard -#define MATRIX_ROWS 12 -#define MATRIX_COLS 6 -#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 } -#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 } - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - /* SK6812 RGB LED are used for lightning*/ #ifdef RGBLIGHT_ENABLE # define RGBLED_NUM 60 // Total number of LEDs diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 85dc154fcfb8..d4910542c8da 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -7,6 +7,20 @@ "vid": "0x7983", "pid": "0x4B69", "device_version": "2.0.0" + }, + "diode_direction": "COL2ROW", + "debounce": 5, + "matrix_pins": { + "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], + "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] + }, + "features": { + "mousekey": true, + "extrakey": true, + }, + "bootmagic": { + "enabled": false, + "matrix": [0, 0] }, "encoder": { "rotary": [ @@ -15,6 +29,12 @@ }, "split": { "soft_serial_pin": "D2", + "matrix_pins": { + "right": { + "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], + "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] + } + }, "encoder": { "right": { "rotary": [ diff --git a/keyboards/keycapsss/kimiko/rules.mk b/keyboards/keycapsss/kimiko/rules.mk index 7aeacb46d0b2..f8a86f3d7e84 100644 --- a/keyboards/keycapsss/kimiko/rules.mk +++ b/keyboards/keycapsss/kimiko/rules.mk @@ -1,9 +1,6 @@ # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # 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 = no # Enable N-Key Rollover From 12b390d36b2fea5483471cb025a6ba21f0698750 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Sun, 9 Apr 2023 11:39:33 +0200 Subject: [PATCH 11/96] small udpateds and additional comment Signed-off-by: Ex3c4Def --- keyboards/keycapsss/kimiko/rev2/info.json | 2 +- keyboards/keycapsss/kimiko/rev2/rev2.h | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index d4910542c8da..bd2ddd95c3bc 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -16,7 +16,7 @@ }, "features": { "mousekey": true, - "extrakey": true, + "extrakey": true }, "bootmagic": { "enabled": false, diff --git a/keyboards/keycapsss/kimiko/rev2/rev2.h b/keyboards/keycapsss/kimiko/rev2/rev2.h index 029d91802893..450789e8ea7d 100644 --- a/keyboards/keycapsss/kimiko/rev2/rev2.h +++ b/keyboards/keycapsss/kimiko/rev2/rev2.h @@ -16,4 +16,13 @@ #pragma once -#include "kimiko.h" \ No newline at end of file +#include "kimiko.h" + +// LAYOUT: key positions as reference for the lables in info.json +//( +// L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ +// L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ +// L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ +// L30, L31, L32, L33, L34, L35, L50, L40, R40, R50, R30, R31, R32, R33, R34, R35, \ +// L41, L42, L43, L44, L45, R41, R42, R43, R44, R45 \ +//) \ No newline at end of file From 1c2ddca45da58b3638597963c89121fdfb295931 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Sun, 9 Apr 2023 11:40:28 +0200 Subject: [PATCH 12/96] AddedVIA support in a new keymap - rev2_via_e3c Signed-off-by: Ex3c4Def --- .../kimiko/keymaps/rev2_via_ex3c/config.h | 85 +++++ .../kimiko/keymaps/rev2_via_ex3c/glcdfont.c | 233 ++++++++++++ .../kimiko/keymaps/rev2_via_ex3c/keymap.c | 341 ++++++++++++++++++ .../kimiko/keymaps/rev2_via_ex3c/rules.mk | 17 + 4 files changed, 676 insertions(+) create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/config.h create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/glcdfont.c create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/keymap.c create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/rules.mk diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/config.h b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/config.h new file mode 100644 index 000000000000..6ccd6bb16520 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/config.h @@ -0,0 +1,85 @@ +/* Copyright 2019 MechMerlin + * Copyright 2023 @ben_roe (keycapsss.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 +// #define MANUFACTURER keycapsss.com +// #define PRODUCT Kimiko Rev2 +// #define DESCRIPTION Kimiko Rev2 + +// #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 +// #define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1 + +/* Select hand configuration */ +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c" +// #define OLED_FONT_WIDTH 5 +// #define OLED_FONT_HEIGHT 7 + + +#ifdef RGBLIGHT_ENABLE +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_SLEEP /* the RGB lighting will be switched off when the host goes to sleep */ +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +# define RGBLIGHT_EFFECT_TWINKLE +#endif + +#ifdef RGB_MATRIX_ENABLE + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + // #define RGB_MATRIX_KEYPRESSES + // #define RGB_MATRIX_KEYRELEASES + + + // These modes don’t require any additional defines. + // #define ENABLE_RGB_MATRIX_NONE + // #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support + // #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue + // #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation + #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right + // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges + // These modes also require the RGB_MATRIX_FRAMEBUFFER_EFFECTS define to be available. + // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! + // These modes also require the RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES define to be available. + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out + + + #define RGB_MATRIX_VAL_STEP 4 + #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT + #define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set + #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set + #define RGB_MATRIX_DEFAULT_VAL 60 //RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set + #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set +#endif + +// If you are using an Elite C rev3 on the slave side, uncomment the lines below: +// #define SPLIT_USB_DETECT +// #define NO_USB_STARTUP_CHECK + +#define SPLIT_POINTING_ENABLE +#define POINTING_DEVICE_RIGHT diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/glcdfont.c new file mode 100644 index 000000000000..19d45a75c706 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/glcdfont.c @@ -0,0 +1,233 @@ +#include "progmem.h" + +// Corne 8x6 font +// Online editor: https://helixfonteditor.netlify.com +// or https://joric.github.io/qle/ +// 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, 0x13, 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, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 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, + 0x1F, 0x1F, 0x0E, 0x1B, 0x11, 0xC0, + 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x06, + 0x0C, 0xC6, 0x1F, 0x1F, 0x80, 0x5F, + 0x1F, 0x00, 0x1F, 0x1F, 0x8E, 0x9B, + 0x91, 0x80, 0x9F, 0x9F, 0x91, 0x1F, + 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, 0x84, 0x87, 0x7D, 0x55, 0x57, + 0x55, 0x7D, 0x87, 0x84, 0x00, 0x91, + 0x95, 0x55, 0x55, 0x3F, 0x55, 0x55, + 0x95, 0x91, 0x00, 0x08, 0x08, 0x08, + 0x88, 0xFC, 0x0A, 0x09, 0x08, 0x08, + 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/keycapsss/kimiko/keymaps/rev2_via_ex3c/keymap.c b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/keymap.c new file mode 100644 index 000000000000..bfe31bbea089 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/keymap.c @@ -0,0 +1,341 @@ +/* Copyright 2019 Leo Batyuk + * Copyright 2020 Drashna Jaelre <@drashna> + * Copyright 2023 @ben_roe (keycapsss.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 { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* QWERTY + * ,--------------------------------------------. ,----------------------------------------------. + * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | LShift | A | S | D | F | G |---------------. ,---------------| H | J | K | L | ; | ' | + * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| + * | LCTRL | Z | X | C | V | B |------|--------| |-------|-------| N | M | , | . | / |RShift/Enter| + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' + */ + [_QWERTY] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_LBRC, KC_RBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), + KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI, KC_RALT +), +/* LOWER +* QWERTY + * ,--------------------------------------------. ,----------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | ` | ! | @ | # | $ | % |---------------. ,---------------| ^ | & | * | ( | ) | ~ | + * |---------+------+------+------+------+------| | | | | |------+------+------+------+------+-----------| + * | | | | | | |------|--------| |-------|-------| | _ | + | { | } | \ | + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' + */ +[_LOWER] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, + KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD, + _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, + _______, _______, _______, _______,_______, _______, _______, _______, _______, _______ +), +/* RAISE + * ,--------------------------------------------. ,----------------------------------------------. + * | | | | | | | | | | | | | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | F1 | F2 | F3 | F4 | F5 | F6 |---------------. ,---------------| Left | Down | Up |Right | ; | | + * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| + * | F7 | F8 | F9 | F10 | F11 | F12 |------|--------| |-------|-------| + | - | = | [ | ] | \ | + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' + */ + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +/* ADJUST (Press LOWER and RAISE together) + * ,--------------------------------------------. ,----------------------------------------------. + * | QK_BOOT | | | | | | | | | | | | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | RGB ON | HUE+ | SAT+ | VAL+ | | | | PREV | PLAY | NEXT | | | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | MODE | HUE- | SAT- | VAL- | | |---------------. ,---------------| VOL+ | MUTE | VOL- | | | | + * |---------+------+------+------+------+------| | | | | |------+------+------+------+------+-----------| + * | | | | | | |------|--------| |-------|-------| | | | | | | + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' + */ +[_ADJUST] = LAYOUT( + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) +}; + + +layer_state_t layer_state_set_user(layer_state_t state) { + state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); + return state; +} + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_270; + } else { + 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 corne_logo[] = { + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; + oled_write_P(corne_logo, false); + // oled_write_P(PSTR("Kimiko"), 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(_ADJUST)) { + oled_write_P(adjust_layer, false); + } else if(layer_state_is(_LOWER)) { + oled_write_P(lower_layer, false); + } else if(layer_state_is(_RAISE)) { + oled_write_P(raise_layer, false); + } else { + oled_write_P(default_layer, false); + } +} + +void render_status_main(void) { + render_space(); + render_space(); + render_logo(); + 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()); +} + +void render_status_secondary(void) { + render_space(); + render_space(); + render_logo(); + render_space(); +} + +bool oled_task_user(void) { + if (is_keyboard_master()) { + render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } else { + render_status_secondary(); + } + return false; +} + +#endif + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, + [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, +}; +#endif // ENCODER_MAP_ENABLE + + diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/rules.mk b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/rules.mk new file mode 100644 index 000000000000..372b0398da17 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/rules.mk @@ -0,0 +1,17 @@ +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enables the use of OLED displays +ENCODER_ENABLE = yes # ENables the use of one or more encoders +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGB_MATRIX_ENABLE = yes + +# LTO: Link Time Optimizations. +# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. +# This does not affect QMK Macros and Layers +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes + +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = pimoroni_trackball + +VIA_ENABLE = yes + From 7440581bac97251e92286a76d415d69d01c14621 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Sun, 9 Apr 2023 11:46:56 +0200 Subject: [PATCH 13/96] Bugfix: encoder pin definitions - changed to definition in the schematic Signed-off-by: Ex3c4Def --- keyboards/keycapsss/kimiko/rev2/info.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index bd2ddd95c3bc..29795de13c8b 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -24,7 +24,7 @@ }, "encoder": { "rotary": [ - {"pin_a": "F4", "pin_b": "F5"} + {"pin_a": "F5", "pin_b": "F4"} ] }, "split": { @@ -38,7 +38,7 @@ "encoder": { "right": { "rotary": [ - {"pin_a": "F4", "pin_b": "F5"} + {"pin_a": "F5", "pin_b": "F4"} ] } } From 349d1779f1e456f132b01ee66344b5f04280b5d0 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Sun, 9 Apr 2023 11:47:37 +0200 Subject: [PATCH 14/96] small update of the key position comment Signed-off-by: Ex3c4Def --- keyboards/keycapsss/kimiko/rev2/rev2.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/rev2.h b/keyboards/keycapsss/kimiko/rev2/rev2.h index 450789e8ea7d..c4789808550e 100644 --- a/keyboards/keycapsss/kimiko/rev2/rev2.h +++ b/keyboards/keycapsss/kimiko/rev2/rev2.h @@ -20,9 +20,9 @@ // LAYOUT: key positions as reference for the lables in info.json //( -// L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ -// L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ -// L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ -// L30, L31, L32, L33, L34, L35, L50, L40, R40, R50, R30, R31, R32, R33, R34, R35, \ -// L41, L42, L43, L44, L45, R41, R42, R43, R44, R45 \ +// L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, +// L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, +// L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, +// L30, L31, L32, L33, L34, L35, L50, L40, R40, R50, R30, R31, R32, R33, R34, R35, +// L41, L42, L43, L44, L45, R41, R42, R43, R44, R45 //) \ No newline at end of file From df080c265c086ead2d0a479571f499faa6dd68e8 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 28 Apr 2023 13:25:19 +0200 Subject: [PATCH 15/96] Updated keymap geometry positions for new test pcb version Signed-off-by: Ex3c4Def --- keyboards/keycapsss/kimiko/rev2/info.json | 206 +++++++++++----------- 1 file changed, 103 insertions(+), 103 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 29795de13c8b..383511aea9b6 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -48,72 +48,72 @@ "layouts": { "LAYOUT": { "layout": [ - {"label": "L00", "matrix": [0, 0], "x":0.00, "y":0.80}, - {"label": "L01", "matrix": [0, 1], "x":1.00, "y":0.80}, + {"label": "L00", "matrix": [0, 0], "x":0.00, "y":0.96}, + {"label": "L01", "matrix": [0, 1], "x":1.00, "y":0.96}, {"label": "L02", "matrix": [0, 2], "x":2.00, "y":0.31}, {"label": "L03", "matrix": [0, 3], "x":3.00, "y":0.00}, {"label": "L04", "matrix": [0, 4], "x":4.00, "y":0.31}, {"label": "L05", "matrix": [0, 5], "x":5.00, "y":0.46}, - {"label": "R00", "matrix": [6, 5], "x":9.50, "y":0.46}, - {"label": "R01", "matrix": [6, 4], "x":10.50, "y":0.31}, - {"label": "R02", "matrix": [6, 3], "x":11.50, "y":0.00}, - {"label": "R03", "matrix": [6, 2], "x":12.50, "y":0.31}, - {"label": "R04", "matrix": [6, 1], "x":13.50, "y":0.80}, - {"label": "R05", "matrix": [6, 0], "x":14.50, "y":0.80}, + {"label": "R00", "matrix": [6, 5], "x":12.00, "y":0.46}, + {"label": "R01", "matrix": [6, 4], "x":13.00, "y":0.31}, + {"label": "R02", "matrix": [6, 3], "x":14.00, "y":0.00}, + {"label": "R03", "matrix": [6, 2], "x":15.00, "y":0.31}, + {"label": "R04", "matrix": [6, 1], "x":16.00, "y":0.96}, + {"label": "R05", "matrix": [6, 0], "x":17.00, "y":0.96}, - {"label": "L10", "matrix": [1, 0], "x":0.00, "y":1.80}, - {"label": "L11", "matrix": [1, 1], "x":1.00, "y":1.80}, + {"label": "L10", "matrix": [1, 0], "x":0.00, "y":1.96}, + {"label": "L11", "matrix": [1, 1], "x":1.00, "y":1.96}, {"label": "L12", "matrix": [1, 2], "x":2.00, "y":1.31}, {"label": "L13", "matrix": [1, 3], "x":3.00, "y":1.00}, {"label": "L14", "matrix": [1, 4], "x":4.00, "y":1.31}, {"label": "L15", "matrix": [1, 5], "x":5.00, "y":1.46}, - {"label": "R10", "matrix": [7, 5], "x":9.50, "y":1.46}, - {"label": "R11", "matrix": [7, 4], "x":10.50, "y":1.31}, - {"label": "R12", "matrix": [7, 3], "x":11.50, "y":1.00}, - {"label": "R13", "matrix": [7, 2], "x":12.50, "y":1.31}, - {"label": "R14", "matrix": [7, 1], "x":13.50, "y":1.80}, - {"label": "R15", "matrix": [7, 0], "x":14.50, "y":1.80}, + {"label": "R10", "matrix": [7, 5], "x":12.00, "y":1.46}, + {"label": "R11", "matrix": [7, 4], "x":13.00, "y":1.31}, + {"label": "R12", "matrix": [7, 3], "x":14.00, "y":1.00}, + {"label": "R13", "matrix": [7, 2], "x":15.00, "y":1.31}, + {"label": "R14", "matrix": [7, 1], "x":16.00, "y":1.96}, + {"label": "R15", "matrix": [7, 0], "x":17.00, "y":1.96}, - {"label": "L20", "matrix": [2, 0], "x":0.00, "y":2.80}, - {"label": "L21", "matrix": [2, 1], "x":1.00, "y":2.80}, + {"label": "L20", "matrix": [2, 0], "x":0.00, "y":2.96}, + {"label": "L21", "matrix": [2, 1], "x":1.00, "y":2.96}, {"label": "L22", "matrix": [2, 2], "x":2.00, "y":2.31}, {"label": "L23", "matrix": [2, 3], "x":3.00, "y":2.00}, {"label": "L24", "matrix": [2, 4], "x":4.00, "y":2.31}, {"label": "L25", "matrix": [2, 5], "x":5.00, "y":2.46}, - {"label": "R20", "matrix": [8, 5], "x":9.50, "y":2.46}, - {"label": "R21", "matrix": [8, 4], "x":10.50, "y":2.31}, - {"label": "R22", "matrix": [8, 3], "x":11.50, "y":2.00}, - {"label": "R23", "matrix": [8, 2], "x":12.50, "y":2.31}, - {"label": "R24", "matrix": [8, 1], "x":13.50, "y":2.80}, - {"label": "R25", "matrix": [8, 0], "x":14.50, "y":2.80}, + {"label": "R20", "matrix": [8, 5], "x":12.00, "y":2.46}, + {"label": "R21", "matrix": [8, 4], "x":13.00, "y":2.31}, + {"label": "R22", "matrix": [8, 3], "x":14.00, "y":2.00}, + {"label": "R23", "matrix": [8, 2], "x":15.00, "y":2.31}, + {"label": "R24", "matrix": [8, 1], "x":16.00, "y":2.96}, + {"label": "R25", "matrix": [8, 0], "x":17.00, "y":2.96}, - {"label": "L30", "matrix": [3, 0], "x":0.00, "y":3.80}, - {"label": "L31", "matrix": [3, 1], "x":1.00, "y":3.80}, + {"label": "L30", "matrix": [3, 0], "x":0.00, "y":3.96}, + {"label": "L31", "matrix": [3, 1], "x":1.00, "y":3.96}, {"label": "L32", "matrix": [3, 2], "x":2.00, "y":3.31}, {"label": "L33", "matrix": [3, 3], "x":3.00, "y":3.00}, {"label": "L34", "matrix": [3, 4], "x":4.00, "y":3.31}, {"label": "L35", "matrix": [3, 5], "x":5.00, "y":3.46}, - {"label": "L50", "matrix": [5, 5], "x":6.10, "y":3.96, "h":1.5}, - {"label": "L40", "matrix": [4, 5], "x":6.60, "y":4.96}, - {"label": "R40", "matrix": [10, 5], "x":7.90, "y":4.96}, - {"label": "R50", "matrix": [11, 5], "x":8.40, "y":3.96, "h":1.5}, - {"label": "R30", "matrix": [9, 5], "x":9.50, "y":3.46}, - {"label": "R31", "matrix": [9, 4], "x":10.50, "y":3.31}, - {"label": "R32", "matrix": [9, 3], "x":11.50, "y":3.00}, - {"label": "R33", "matrix": [9, 2], "x":12.50, "y":3.31}, - {"label": "R34", "matrix": [9, 1], "x":13.50, "y":3.80}, - {"label": "R35", "matrix": [9, 0], "x":14.50, "y":3.80}, + {"label": "L50", "matrix": [5, 5], "x":6.05, "y":4.06, "h":1.5}, + {"label": "L40", "matrix": [4, 5], "x":7.10, "y":4.41}, + {"label": "R40", "matrix": [10, 5], "x":9.90, "y":4.41}, + {"label": "R50", "matrix": [11, 5], "x":10.95, "y":4.06, "h":1.5}, + {"label": "R30", "matrix": [9, 5], "x":12.00, "y":3.46}, + {"label": "R31", "matrix": [9, 4], "x":13.00, "y":3.31}, + {"label": "R32", "matrix": [9, 3], "x":14.00, "y":3.00}, + {"label": "R33", "matrix": [9, 2], "x":15.00, "y":3.31}, + {"label": "R34", "matrix": [9, 1], "x":16.00, "y":3.96}, + {"label": "R35", "matrix": [9, 0], "x":17.00, "y":3.96}, {"label": "L41", "matrix": [4, 0], "x":2.00, "y":4.31, "h":1.5}, {"label": "L42", "matrix": [4, 1], "x":3.00, "y":4.00}, {"label": "L43", "matrix": [4, 2], "x":4.00, "y":4.31}, - {"label": "L44", "matrix": [4, 3], "x":5.60, "y":4.96, "h":1.5}, - {"label": "L45", "matrix": [4, 4], "x":6.10, "y":5.96}, - {"label": "R41", "matrix": [10, 4], "x":8.40, "y":5.96}, - {"label": "R42", "matrix": [10, 3], "x":8.90, "y":4.96, "h":1.5}, - {"label": "R43", "matrix": [10, 2], "x":10.50, "y":4.31}, - {"label": "R44", "matrix": [10, 1], "x":11.50, "y":4.00}, - {"label": "R45", "matrix": [10, 0], "x":12.50, "y":4.31, "h":1.5} + {"label": "L44", "matrix": [4, 3], "x":5.55, "y":5.06, "h":1.5}, + {"label": "L45", "matrix": [4, 4], "x":6.60, "y":5.41}, + {"label": "R41", "matrix": [10, 4], "x":10.40, "y":5.41}, + {"label": "R42", "matrix": [10, 3], "x":11.45, "y":5.06, "h":1.5}, + {"label": "R43", "matrix": [10, 2], "x":13.00, "y":4.31}, + {"label": "R44", "matrix": [10, 1], "x":14.00, "y":4.00}, + {"label": "R45", "matrix": [10, 0], "x":15.00, "y":4.31, "h":1.5} ] } }, @@ -126,66 +126,66 @@ "rgb_matrix": { "driver": "WS2812", "layout": [ - {"flags": 4, "matrix": [0, 5], "x": 77, "y": 5}, - {"flags": 4, "matrix": [0, 4], "x": 62, "y": 3}, - {"flags": 4, "matrix": [0, 3], "x": 46, "y": 0}, - {"flags": 4, "matrix": [0, 2], "x": 31, "y": 3}, - {"flags": 4, "matrix": [0, 1], "x": 15, "y": 9}, - {"flags": 4, "matrix": [0, 0], "x": 0, "y": 9}, - {"flags": 4, "matrix": [1, 0], "x": 0, "y": 19}, - {"flags": 4, "matrix": [1, 1], "x": 15, "y": 19}, - {"flags": 4, "matrix": [1, 2], "x": 31, "y": 14}, - {"flags": 4, "matrix": [1, 3], "x": 46, "y": 11}, - {"flags": 4, "matrix": [1, 4], "x": 62, "y": 14}, - {"flags": 4, "matrix": [1, 5], "x": 77, "y": 16}, - {"flags": 4, "matrix": [2, 5], "x": 77, "y": 26}, - {"flags": 4, "matrix": [2, 4], "x": 62, "y": 25}, - {"flags": 4, "matrix": [2, 3], "x": 46, "y": 21}, - {"flags": 4, "matrix": [2, 2], "x": 31, "y": 25}, - {"flags": 4, "matrix": [2, 1], "x": 15, "y": 30}, - {"flags": 1, "matrix": [2, 0], "x": 0, "y": 30}, - {"flags": 1, "matrix": [3, 0], "x": 0, "y": 41}, - {"flags": 4, "matrix": [3, 1], "x": 15, "y": 41}, - {"flags": 4, "matrix": [3, 2], "x": 31, "y": 36}, - {"flags": 4, "matrix": [3, 3], "x": 46, "y": 32}, - {"flags": 4, "matrix": [3, 4], "x": 62, "y": 36}, - {"flags": 4, "matrix": [3, 5], "x": 77, "y": 37}, - {"flags": 4, "matrix": [4, 5], "x": 102, "y": 53}, - {"flags": 4, "matrix": [4, 4], "x": 94, "y": 64}, - {"flags": 1, "matrix": [4, 3], "x": 87, "y": 53}, - {"flags": 1, "matrix": [4, 2], "x": 62, "y": 46}, - {"flags": 1, "matrix": [4, 1], "x": 46, "y": 43}, - {"flags": 1, "matrix": [4, 0], "x": 31, "y": 46}, - {"flags": 4, "matrix": [6, 5], "x": 147, "y": 5}, - {"flags": 4, "matrix": [6, 4], "x": 162, "y": 3}, - {"flags": 4, "matrix": [6, 3], "x": 178, "y": 0}, - {"flags": 4, "matrix": [6, 2], "x": 193, "y": 3}, - {"flags": 4, "matrix": [6, 1], "x": 209, "y": 9}, - {"flags": 4, "matrix": [6, 0], "x": 224, "y": 9}, - {"flags": 4, "matrix": [7, 0], "x": 224, "y": 19}, - {"flags": 4, "matrix": [7, 1], "x": 209, "y": 19}, - {"flags": 4, "matrix": [7, 2], "x": 193, "y": 14}, - {"flags": 4, "matrix": [7, 3], "x": 178, "y": 11}, - {"flags": 4, "matrix": [7, 4], "x": 162, "y": 14}, - {"flags": 4, "matrix": [7, 5], "x": 147, "y": 16}, - {"flags": 4, "matrix": [8, 5], "x": 147, "y": 26}, - {"flags": 4, "matrix": [8, 4], "x": 162, "y": 25}, - {"flags": 4, "matrix": [8, 3], "x": 178, "y": 21}, - {"flags": 4, "matrix": [8, 2], "x": 193, "y": 25}, - {"flags": 4, "matrix": [8, 1], "x": 209, "y": 30}, - {"flags": 4, "matrix": [8, 0], "x": 224, "y": 30}, - {"flags": 1, "matrix": [9, 0], "x": 224, "y": 41}, - {"flags": 4, "matrix": [9, 1], "x": 209, "y": 41}, - {"flags": 4, "matrix": [9, 2], "x": 193, "y": 36}, - {"flags": 4, "matrix": [9, 3], "x": 178, "y": 32}, - {"flags": 4, "matrix": [9, 4], "x": 162, "y": 36}, - {"flags": 4, "matrix": [9, 5], "x": 147, "y": 37}, - {"flags": 4, "matrix": [10, 5], "x": 122, "y": 53}, - {"flags": 4, "matrix": [10, 4], "x": 130, "y": 64}, - {"flags": 1, "matrix": [10, 3], "x": 137, "y": 53}, - {"flags": 4, "matrix": [10, 2], "x": 162, "y": 46}, - {"flags": 1, "matrix": [10, 1], "x": 178, "y": 43}, - {"flags": 1, "matrix": [10, 0], "x": 193, "y": 46} + {"flags": 4, "matrix": [0, 5], "x": 66, "y": 5}, + {"flags": 4, "matrix": [0, 4], "x": 53, "y": 4}, + {"flags": 4, "matrix": [0, 3], "x": 40, "y": 0}, + {"flags": 4, "matrix": [0, 2], "x": 26, "y": 4}, + {"flags": 4, "matrix": [0, 1], "x": 13, "y": 11}, + {"flags": 4, "matrix": [0, 0], "x": 0, "y": 11}, + {"flags": 4, "matrix": [1, 0], "x": 0, "y": 23}, + {"flags": 4, "matrix": [1, 1], "x": 13, "y": 23}, + {"flags": 4, "matrix": [1, 2], "x": 26, "y": 15}, + {"flags": 4, "matrix": [1, 3], "x": 40, "y": 12}, + {"flags": 4, "matrix": [1, 4], "x": 53, "y": 15}, + {"flags": 4, "matrix": [1, 5], "x": 66, "y": 17}, + {"flags": 4, "matrix": [2, 5], "x": 66, "y": 29}, + {"flags": 4, "matrix": [2, 4], "x": 53, "y": 27}, + {"flags": 4, "matrix": [2, 3], "x": 40, "y": 24}, + {"flags": 4, "matrix": [2, 2], "x": 26, "y": 27}, + {"flags": 4, "matrix": [2, 1], "x": 13, "y": 35}, + {"flags": 1, "matrix": [2, 0], "x": 0, "y": 35}, + {"flags": 1, "matrix": [3, 0], "x": 0, "y": 47}, + {"flags": 4, "matrix": [3, 1], "x": 13, "y": 47}, + {"flags": 4, "matrix": [3, 2], "x": 26, "y": 39}, + {"flags": 4, "matrix": [3, 3], "x": 40, "y": 36}, + {"flags": 4, "matrix": [3, 4], "x": 53, "y": 39}, + {"flags": 4, "matrix": [3, 5], "x": 66, "y": 41}, + {"flags": 4, "matrix": [4, 5], "x": 94, "y": 52}, + {"flags": 4, "matrix": [4, 4], "x": 87, "y": 64}, + {"flags": 1, "matrix": [4, 3], "x": 73, "y": 60}, + {"flags": 1, "matrix": [4, 2], "x": 53, "y": 51}, + {"flags": 1, "matrix": [4, 1], "x": 40, "y": 47}, + {"flags": 1, "matrix": [4, 0], "x": 26, "y": 51}, + {"flags": 4, "matrix": [6, 5], "x": 158, "y": 5}, + {"flags": 4, "matrix": [6, 4], "x": 171, "y": 4}, + {"flags": 4, "matrix": [6, 3], "x": 184, "y": 0}, + {"flags": 4, "matrix": [6, 2], "x": 198, "y": 4}, + {"flags": 4, "matrix": [6, 1], "x": 211, "y": 11}, + {"flags": 4, "matrix": [6, 0], "x": 224, "y": 11}, + {"flags": 4, "matrix": [7, 0], "x": 224, "y": 23}, + {"flags": 4, "matrix": [7, 1], "x": 211, "y": 23}, + {"flags": 4, "matrix": [7, 2], "x": 198, "y": 15}, + {"flags": 4, "matrix": [7, 3], "x": 184, "y": 12}, + {"flags": 4, "matrix": [7, 4], "x": 171, "y": 15}, + {"flags": 4, "matrix": [7, 5], "x": 158, "y": 17}, + {"flags": 4, "matrix": [8, 5], "x": 158, "y": 29}, + {"flags": 4, "matrix": [8, 4], "x": 171, "y": 27}, + {"flags": 4, "matrix": [8, 3], "x": 184, "y": 24}, + {"flags": 4, "matrix": [8, 2], "x": 198, "y": 27}, + {"flags": 4, "matrix": [8, 1], "x": 211, "y": 35}, + {"flags": 4, "matrix": [8, 0], "x": 224, "y": 35}, + {"flags": 1, "matrix": [9, 0], "x": 224, "y": 47}, + {"flags": 4, "matrix": [9, 1], "x": 211, "y": 47}, + {"flags": 4, "matrix": [9, 2], "x": 198, "y": 39}, + {"flags": 4, "matrix": [9, 3], "x": 184, "y": 36}, + {"flags": 4, "matrix": [9, 4], "x": 171, "y": 39}, + {"flags": 4, "matrix": [9, 5], "x": 158, "y": 41}, + {"flags": 4, "matrix": [10, 5], "x": 130, "y": 52}, + {"flags": 4, "matrix": [10, 4], "x": 137, "y": 64}, + {"flags": 1, "matrix": [10, 3], "x": 151, "y": 60}, + {"flags": 4, "matrix": [10, 2], "x": 171, "y": 51}, + {"flags": 1, "matrix": [10, 1], "x": 184, "y": 47}, + {"flags": 1, "matrix": [10, 0], "x": 198, "y": 51} ] } } From 0d78eb49d5c90986462269e05c1fb16f487cef35 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 28 Apr 2023 13:31:59 +0200 Subject: [PATCH 16/96] Updated Keymap with new functionality - RGB Matrix Lightning - Pointing Device: Pimoroni Trackball - OLED 1288x64 support - additional split definitions -... Signed-off-by: Ex3c4Def --- .../keycapsss/kimiko/keymaps/rev2/config.h | 140 +++++-- .../keycapsss/kimiko/keymaps/rev2/keymap.c | 347 +++++++++++++++--- .../keycapsss/kimiko/keymaps/rev2/rules.mk | 16 +- 3 files changed, 409 insertions(+), 94 deletions(-) diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/config.h b/keyboards/keycapsss/kimiko/keymaps/rev2/config.h index 45b4eee9466d..42d33c56276b 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/config.h +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/config.h @@ -1,5 +1,6 @@ /* Copyright 2019 MechMerlin - * Copyright 2023 @ben_roe (keycapsss.com) + * Copyright 2020 @ben_roe (keycapsss.com) + * Copyright 2023 @Ex3c4Def * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,15 +19,103 @@ #pragma once /* Select hand configuration */ -#define MASTER_LEFT -// #define MASTER_RIGHT +//------------------------------------------ +// #define MASTER_LEFT +#define MASTER_RIGHT // #define EE_HANDS +//------------------------------------------ + +// If you are using an Elite C rev3 on the slave side, uncomment the lines below: +//------------------------------------------ +// #define SPLIT_USB_DETECT +// #define NO_USB_STARTUP_CHECK +//------------------------------------------ + + +// OLED definitions +//------------------------------------------ +#ifdef OLED_ENABLE #define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c" // #define OLED_FONT_WIDTH 5 // #define OLED_FONT_HEIGHT 7 +// #define OLED_DISPLAY_128X64 //128x64 needs this define, for 128x32 display no extra define is needed and this can be removed/commented + +#endif +//------------------------------------------ + + +// 'new' RGB Matrix definitions, used when RGB_MATRIX_ENABLE = yes in rules.mk +//------------------------------------------ +#ifdef RGB_MATRIX_ENABLE + // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + // #define RGB_MATRIX_KEYPRESSES + // #define RGB_MATRIX_KEYRELEASES + + // These modes don’t require any additional defines. + #define ENABLE_RGB_MATRIX_NONE + #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support + + // #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue + // #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes + // #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes + // #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation + // #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right + // #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right + // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation + // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness + // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation + // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness + // #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient + // #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right + // #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom + // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in + // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in + // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shapped scrolling left to right + // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard + // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard + // #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard + // #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard + // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard + // #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue + // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation + // #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back + // #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left + // #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right + // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges + // #define ENABLE_RGB_MATRIX_PIXEL_FLOW // Pulsing RGB flow along LED wiring with random hues + // #define ENABLE_RGB_MATRIX_PIXEL_RAIN // Randomly light keys with random hues + + // These modes also require the RGB_MATRIX_FRAMEBUFFER_EFFECTS define to be available. + // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! + // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation + + // These modes also require the RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES define to be available. + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out + // #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out + // #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out + + #define RGB_MATRIX_VAL_STEP 4 + #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR + #define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set + #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set + #define RGB_MATRIX_DEFAULT_VAL 60 //RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set + #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set +#endif +//------------------------------------------ +// 'old' RGB Lightning definitions, used when RGBLIGHT_ENABLE = yes in rules.mk +//------------------------------------------ #ifdef RGBLIGHT_ENABLE # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 8 @@ -43,37 +132,26 @@ # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE #endif +//------------------------------------------ -#ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_FRAMEBUFFER_EFFECTS - // #define RGB_MATRIX_KEYPRESSES - // #define RGB_MATRIX_KEYRELEASES - - - // These modes don’t require any additional defines. - #define ENABLE_RGB_MATRIX_NONE - #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support - #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue - #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation - #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right - #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges - // These modes also require the RGB_MATRIX_FRAMEBUFFER_EFFECTS define to be available. - #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! - // These modes also require the RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES define to be available. - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out +// pointing device definitions +//------------------------------------------ +#ifdef POINTING_DEVICE_ENABLE + // #define SPLIT_POINTING_ENABLE // Enable use of pointing device on slave split. + // #define POINTING_DEVICE_RIGHT - #define RGB_MATRIX_VAL_STEP 4 - #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT - #define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set - #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set - #define RGB_MATRIX_DEFAULT_VAL 60 //RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set - #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + //Pimoroni Trackball + // #define POINTING_DEVICE_ROTATION_180 // may be used for trackball in 2nd position + #endif #endif +//------------------------------------------ -// If you are using an Elite C rev3 on the slave side, uncomment the lines below: -// #define SPLIT_USB_DETECT -// #define NO_USB_STARTUP_CHECK -#define SPLIT_POINTING_ENABLE -#define POINTING_DEVICE_RIGHT +// additional split keyboard definitions +//------------------------------------------ +// #define SPLIT_LAYER_STATE_ENABLE //syncs state information to the secondary side +// #define SPLIT_LED_STATE_ENABLE +// #define SPLIT_MODS_ENABLE +//------------------------------------------ \ No newline at end of file diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c b/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c index bfe31bbea089..07f75fee35e7 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c @@ -1,6 +1,7 @@ /* Copyright 2019 Leo Batyuk * Copyright 2020 Drashna Jaelre <@drashna> - * Copyright 2023 @ben_roe (keycapsss.com) + * Copyright 2020 @ben_roe (keycapsss.com) + * Copyright 2023 @Ex3c4Def * * 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 @@ -29,7 +30,6 @@ enum layers { #define LOWER MO(_LOWER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* QWERTY * ,--------------------------------------------. ,----------------------------------------------. * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | @@ -114,20 +114,69 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; + +#ifdef POINTING_DEVICE_ENABLE +void pointing_device_init_user(void) { + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + // pimoroni_trackball_set_cpi(128*125); // default should be 128*125 + pimoroni_trackball_set_rgbw(0, 40, 0, 0); + #endif + } + +layer_state_t layer_state_set_user(layer_state_t state) { + state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); + + switch (get_highest_layer(state)) { + case _QWERTY: + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + pimoroni_trackball_set_rgbw(0, 40, 0, 0); + #endif + break; + case _LOWER: + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + pimoroni_trackball_set_rgbw(40, 0, 0, 0); + #endif + break; + case _RAISE: + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + pimoroni_trackball_set_rgbw(0, 0, 40, 0); + #endif + break; + case _ADJUST: + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + pimoroni_trackball_set_rgbw(40, 40, 40, 0); + #endif + break; + } + return state; +} +#else layer_state_t layer_state_set_user(layer_state_t state) { state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); return state; } +#endif #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } else { - return OLED_ROTATION_270; - } + if (is_keyboard_master()) { + #ifdef OLED_DISPLAY_128X64 + return OLED_ROTATION_180; + #else + return OLED_ROTATION_270; + #endif + } else { + #ifdef OLED_DISPLAY_128X64 + return OLED_ROTATION_180; + #else + return OLED_ROTATION_270; + #endif + } } + + +#ifndef OLED_DISPLAY_128X64 void render_space(void) { oled_write_P(PSTR(" "), false); } @@ -263,59 +312,247 @@ void render_mod_status_ctrl_shift(uint8_t modifiers) { oled_write_P(shift_off_2, false); } } +#endif + +#ifdef OLED_DISPLAY_128X64 +void render_mod_status_gui_alt_ctrl_shift(uint8_t modifiers) { + static const char PROGMEM gui_off_1[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x85, 0x86, 0}; + static const char PROGMEM gui_off_2[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xa5, 0xa6, 0}; + static const char PROGMEM gui_on_1[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x8d, 0x8e, 0}; + static const char PROGMEM gui_on_2[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xad, 0xae, 0}; + + static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0xD1, 0}; + static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0xD1, 0}; + static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0xD1, 0}; + static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0xD1, 0}; + + 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,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; + static const char PROGMEM shift_off_2[] = {0xab, 0xac,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; + static const char PROGMEM shift_on_1[] = {0xcd, 0xce,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; + static const char PROGMEM shift_on_2[] = {0xcf, 0xd0,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 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}; + + // line 1, gui & alt + // ------------------------------------ + 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); + } + // ------------------------------------ + + // line 1, ctrl & shift + // ------------------------------------ + 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); + } + // ------------------------------------ + + + // line 2, gui & alt + // ------------------------------------ + 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); + } + // ------------------------------------ + + // line 2, ctrl & shift + // ------------------------------------ + 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); + } + // ------------------------------------ +} +#endif + void render_logo(void) { - static const char PROGMEM corne_logo[] = { - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; - oled_write_P(corne_logo, false); - // oled_write_P(PSTR("Kimiko"), false); +#ifndef OLED_DISPLAY_128X64 + static const char PROGMEM kimiko_logo[] = { + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; + oled_write_P(kimiko_logo, false); + // oled_write_P(PSTR("Kimiko"), false); +#endif +#ifdef OLED_DISPLAY_128X64 + // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 + static const char PROGMEM kimiko_logo[] = { + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x72, 0x65, 0x76, 0x32, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; + oled_write_P(kimiko_logo, false); + oled_write_P(PSTR("\n"), false); +#endif + } 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(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_LOWER)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_RAISE)) { - oled_write_P(raise_layer, false); - } else { - oled_write_P(default_layer, false); - } +#ifndef OLED_DISPLAY_128X64 + 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}; +#endif +#ifdef OLED_DISPLAY_128X64 + static const char PROGMEM default_layer[] = { + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x94, 0x95, 0x96, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xb4, 0xb5, 0xb6, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; + static const char PROGMEM raise_layer[] = { + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x97, 0x98, 0x99, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xb7, 0xb8, 0xb9, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; + static const char PROGMEM lower_layer[] = { + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x9a, 0x9b, 0x9c, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xba, 0xbb, 0xbc, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; + static const char PROGMEM adjust_layer[] = { + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x9d, 0x9e, 0x9f, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xbd, 0xbe, 0xbf, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; +#endif + if(layer_state_is(_ADJUST)) { + oled_write_P(adjust_layer, false); + } else if(layer_state_is(_LOWER)) { + oled_write_P(lower_layer, false); + } else if(layer_state_is(_RAISE)) { + oled_write_P(raise_layer, false); + } else { + oled_write_P(default_layer, false); + } + #ifdef OLED_DISPLAY_128X64 + oled_write_P(PSTR("\n"), false); + #endif } void render_status_main(void) { - render_space(); - render_space(); - render_logo(); - 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()); + #ifndef OLED_DISPLAY_128X64 + render_space(); + render_space(); + render_logo(); + 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()); + #endif + + #ifdef OLED_DISPLAY_128X64 + render_logo(); + render_layer_state(); + oled_write_P(PSTR("\n"), false); + render_mod_status_gui_alt_ctrl_shift(get_mods()|get_oneshot_mods()); + #endif } void render_status_secondary(void) { - render_space(); - render_space(); - render_logo(); - render_space(); + #ifndef OLED_DISPLAY_128X64 + render_space(); + render_space(); + render_logo(); + render_space(); + #endif + #ifdef OLED_DISPLAY_128X64 + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("\n"), false); + render_logo(); + oled_write_P(PSTR("\n"), false); + #endif } bool oled_task_user(void) { @@ -331,11 +568,9 @@ bool oled_task_user(void) { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, - [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, - [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, + [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, + [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, }; -#endif // ENCODER_MAP_ENABLE - - +#endif // ENCODER_MAP_ENABLE \ No newline at end of file diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk index 75f0e8af54f7..84e087ae045b 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk @@ -1,15 +1,17 @@ OLED_ENABLE = yes OLED_DRIVER = SSD1306 # Enables the use of OLED displays -ENCODER_ENABLE = yes # ENables the use of one or more encoders -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -RGB_MATRIX_ENABLE = yes -# LTO: Link Time Optimizations. -# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. -# This does not affect QMK Macros and Layers -LTO_ENABLE = yes +ENCODER_ENABLE = yes # Enables the use of one or more encoders ENCODER_MAP_ENABLE = yes +RGBLIGHT_ENABLE = no # Enable keyboard 'old' RGB lightning +RGB_MATRIX_ENABLE = yes # Enable keyboard RGB Matrix lightning + POINTING_DEVICE_ENABLE = yes POINTING_DEVICE_DRIVER = pimoroni_trackball +# POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c +# LTO: Link Time Optimizations. +# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. +# This does not affect QMK Macros and Layers +LTO_ENABLE = yes \ No newline at end of file From bf221ca443a6b479b994b31a1841cf521d932df6 Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 28 Apr 2023 14:11:04 +0200 Subject: [PATCH 17/96] Added readme.md for rev2 default keymap Signed-off-by: Ex3c4Def --- .../keycapsss/kimiko/keymaps/rev2/readme.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2/readme.md diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/readme.md b/keyboards/keycapsss/kimiko/keymaps/rev2/readme.md new file mode 100644 index 000000000000..ff174c107111 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/readme.md @@ -0,0 +1,48 @@ +# Kimiko rev2 default keymap + +A split keyboard with 4x6 vertically staggered keys and thumb keys. + +- 60 Per key RGB led's (SK6812 Mini-E) + - RGB Matrix is enabled as default in rules.mk + - the effects can be configured in config.h + - The image below shows the positioning of switches and led as defined in the info.json. Text in the boxes:
+ - Layout Label
+ - Matrix Position
+ - LED flag for type of switch
+ + + +- Support for 1 rotary encoder per side (two possible positions) + +- Support for 1 pointing device (two possible positions) + - Pimoroni Trackball is enabled as default in rules.mk + - can be configured in config.h, e.g. for roation at different mounting position + - RGB lightning can be used for layer indication, but the Pimoroni Trackballmust be on the master side for this + +- Support for 1 OLED display per side + - 128x32 or 128x64 are supported + - with 1 OLED on each side, they have to be the same + - default configuration for 128x32 OLED + - 128x64 OLED can be set with #define OLED_DISPLAY_128X64 in config.h (already prepared) +
+ +* Keyboard Maintainer: [BenRoe](https://github.com/BenRoe/) [@keycapsss](https://twitter.com/keycapsss) +* Hardware Supported: Pro Micro 5V/16Mhz and compatible +* Hardware Availability: [keycapsss.com](https://keycapsss.com) +Make firmware .hex for this keyboard (after setting up your build environment): + + make keycapsss/kimiko: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). +
+
+ +* For debugging: + - positioning of switches and led as defined in the info.json. Text in the boxes::
+ - Layout Label
+ - switch number in schematic
+ - led number in schematic
+ - led flag for type of switch
+ +
+
From 26d18e816c11bfa8152ab008cda54bc35a7249ad Mon Sep 17 00:00:00 2001 From: Ex3c4Def Date: Fri, 28 Apr 2023 16:46:38 +0200 Subject: [PATCH 18/96] added via keymap - plus some extra RGB effects - The firmware size is approaching the maximum - 28562/28672 (99%, 110 bytes free) - the json file for the via configurator is included: kimiko_rev2_via.json
Signed-off-by: Ex3c4Def --- .../kimiko/keymaps/rev2_via/config.h | 157 +++++ .../kimiko/keymaps/rev2_via/glcdfont.c | 233 +++++++ .../kimiko/keymaps/rev2_via/keymap.c | 576 ++++++++++++++++++ .../keymaps/rev2_via/kimiko_rev2_via.json | 81 +++ .../kimiko/keymaps/rev2_via/readme.md | 55 ++ .../kimiko/keymaps/rev2_via/rules.mk | 19 + 6 files changed, 1121 insertions(+) create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/config.h create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/glcdfont.c create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/keymap.c create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/kimiko_rev2_via.json create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/readme.md create mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/rules.mk diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via/config.h b/keyboards/keycapsss/kimiko/keymaps/rev2_via/config.h new file mode 100644 index 000000000000..ba10d043a4b4 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2_via/config.h @@ -0,0 +1,157 @@ +/* Copyright 2019 MechMerlin + * Copyright 2020 @ben_roe (keycapsss.com) + * Copyright 2023 @Ex3c4Def + * + * 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 + +/* Select hand configuration */ +//------------------------------------------ +// #define MASTER_LEFT +#define MASTER_RIGHT +// #define EE_HANDS +//------------------------------------------ + + +// If you are using an Elite C rev3 on the slave side, uncomment the lines below: +//------------------------------------------ +// #define SPLIT_USB_DETECT +// #define NO_USB_STARTUP_CHECK +//------------------------------------------ + + +// OLED definitions +//------------------------------------------ +#ifdef OLED_ENABLE +#define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c" +// #define OLED_FONT_WIDTH 5 +// #define OLED_FONT_HEIGHT 7 +// #define OLED_DISPLAY_128X64 //128x64 needs this define, for 128x32 display no extra define is needed and this can be removed/commented + +#endif +//------------------------------------------ + + +// 'new' RGB Matrix definitions, used when RGB_MATRIX_ENABLE = yes in rules.mk +//------------------------------------------ +#ifdef RGB_MATRIX_ENABLE + // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + // #define RGB_MATRIX_KEYPRESSES + // #define RGB_MATRIX_KEYRELEASES + + // These modes don’t require any additional defines. + #define ENABLE_RGB_MATRIX_NONE + #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support + + #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue + // #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes + #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes + // #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation + // #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right + // #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right + // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation + // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness + // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation + // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness + // #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient + #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right + // #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom + // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in + // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in + // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shapped scrolling left to right + // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard + // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard + // #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard + // #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard + // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard + // #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue + // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation + // #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back + // #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left + // #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right + // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges + // #define ENABLE_RGB_MATRIX_PIXEL_FLOW // Pulsing RGB flow along LED wiring with random hues + #define ENABLE_RGB_MATRIX_PIXEL_RAIN // Randomly light keys with random hues + + // These modes also require the RGB_MATRIX_FRAMEBUFFER_EFFECTS define to be available. + // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! + // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation + + // These modes also require the RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES define to be available. + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out + // #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out + // #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out + // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out + + #define RGB_MATRIX_VAL_STEP 4 + #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR + #define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set + #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set + #define RGB_MATRIX_DEFAULT_VAL 60 //RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set + #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set +#endif +//------------------------------------------ + + +// 'old' RGB Lightning definitions, used when RGBLIGHT_ENABLE = yes in rules.mk +//------------------------------------------ +#ifdef RGBLIGHT_ENABLE +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_SLEEP /* the RGB lighting will be switched off when the host goes to sleep */ +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +# define RGBLIGHT_EFFECT_TWINKLE +#endif +//------------------------------------------ + + +// pointing device definitions +//------------------------------------------ +#ifdef POINTING_DEVICE_ENABLE + // #define SPLIT_POINTING_ENABLE // Enable use of pointing device on slave split. + // #define POINTING_DEVICE_RIGHT + + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + //Pimoroni Trackball + // #define POINTING_DEVICE_ROTATION_180 // may be used for trackball in 2nd position + #endif +#endif +//------------------------------------------ + + +// additional split keyboard definitions +//------------------------------------------ +// #define SPLIT_LAYER_STATE_ENABLE //syncs state information to the secondary side +// #define SPLIT_LED_STATE_ENABLE +// #define SPLIT_MODS_ENABLE +//------------------------------------------ \ No newline at end of file diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/rev2_via/glcdfont.c new file mode 100644 index 000000000000..19d45a75c706 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2_via/glcdfont.c @@ -0,0 +1,233 @@ +#include "progmem.h" + +// Corne 8x6 font +// Online editor: https://helixfonteditor.netlify.com +// or https://joric.github.io/qle/ +// 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, 0x13, 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, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 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, + 0x1F, 0x1F, 0x0E, 0x1B, 0x11, 0xC0, + 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x06, + 0x0C, 0xC6, 0x1F, 0x1F, 0x80, 0x5F, + 0x1F, 0x00, 0x1F, 0x1F, 0x8E, 0x9B, + 0x91, 0x80, 0x9F, 0x9F, 0x91, 0x1F, + 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, 0x84, 0x87, 0x7D, 0x55, 0x57, + 0x55, 0x7D, 0x87, 0x84, 0x00, 0x91, + 0x95, 0x55, 0x55, 0x3F, 0x55, 0x55, + 0x95, 0x91, 0x00, 0x08, 0x08, 0x08, + 0x88, 0xFC, 0x0A, 0x09, 0x08, 0x08, + 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/keycapsss/kimiko/keymaps/rev2_via/keymap.c b/keyboards/keycapsss/kimiko/keymaps/rev2_via/keymap.c new file mode 100644 index 000000000000..07f75fee35e7 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2_via/keymap.c @@ -0,0 +1,576 @@ +/* Copyright 2019 Leo Batyuk + * Copyright 2020 Drashna Jaelre <@drashna> + * Copyright 2020 @ben_roe (keycapsss.com) + * Copyright 2023 @Ex3c4Def + * + * 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 { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* QWERTY + * ,--------------------------------------------. ,----------------------------------------------. + * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | LShift | A | S | D | F | G |---------------. ,---------------| H | J | K | L | ; | ' | + * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| + * | LCTRL | Z | X | C | V | B |------|--------| |-------|-------| N | M | , | . | / |RShift/Enter| + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' + */ + [_QWERTY] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_LBRC, KC_RBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), + KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI, KC_RALT +), +/* LOWER +* QWERTY + * ,--------------------------------------------. ,----------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | ` | ! | @ | # | $ | % |---------------. ,---------------| ^ | & | * | ( | ) | ~ | + * |---------+------+------+------+------+------| | | | | |------+------+------+------+------+-----------| + * | | | | | | |------|--------| |-------|-------| | _ | + | { | } | \ | + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' + */ +[_LOWER] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, + KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD, + _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, + _______, _______, _______, _______,_______, _______, _______, _______, _______, _______ +), +/* RAISE + * ,--------------------------------------------. ,----------------------------------------------. + * | | | | | | | | | | | | | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | F1 | F2 | F3 | F4 | F5 | F6 |---------------. ,---------------| Left | Down | Up |Right | ; | | + * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| + * | F7 | F8 | F9 | F10 | F11 | F12 |------|--------| |-------|-------| + | - | = | [ | ] | \ | + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' + */ + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +/* ADJUST (Press LOWER and RAISE together) + * ,--------------------------------------------. ,----------------------------------------------. + * | QK_BOOT | | | | | | | | | | | | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | RGB ON | HUE+ | SAT+ | VAL+ | | | | PREV | PLAY | NEXT | | | | + * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| + * | MODE | HUE- | SAT- | VAL- | | |---------------. ,---------------| VOL+ | MUTE | VOL- | | | | + * |---------+------+------+------+------+------| | | | | |------+------+------+------+------+-----------| + * | | | | | | |------|--------| |-------|-------| | | | | | | + * `--------------------------------------------| / \ |----------------------------------------------' + * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | + * `----------------------------------' '---------------------------------' + */ +[_ADJUST] = LAYOUT( + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) +}; + + + +#ifdef POINTING_DEVICE_ENABLE +void pointing_device_init_user(void) { + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + // pimoroni_trackball_set_cpi(128*125); // default should be 128*125 + pimoroni_trackball_set_rgbw(0, 40, 0, 0); + #endif + } + +layer_state_t layer_state_set_user(layer_state_t state) { + state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); + + switch (get_highest_layer(state)) { + case _QWERTY: + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + pimoroni_trackball_set_rgbw(0, 40, 0, 0); + #endif + break; + case _LOWER: + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + pimoroni_trackball_set_rgbw(40, 0, 0, 0); + #endif + break; + case _RAISE: + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + pimoroni_trackball_set_rgbw(0, 0, 40, 0); + #endif + break; + case _ADJUST: + #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) + pimoroni_trackball_set_rgbw(40, 40, 40, 0); + #endif + break; + } + return state; +} +#else +layer_state_t layer_state_set_user(layer_state_t state) { + state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); + return state; +} +#endif + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + #ifdef OLED_DISPLAY_128X64 + return OLED_ROTATION_180; + #else + return OLED_ROTATION_270; + #endif + } else { + #ifdef OLED_DISPLAY_128X64 + return OLED_ROTATION_180; + #else + return OLED_ROTATION_270; + #endif + } +} + + + +#ifndef OLED_DISPLAY_128X64 +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); + } +} +#endif + +#ifdef OLED_DISPLAY_128X64 +void render_mod_status_gui_alt_ctrl_shift(uint8_t modifiers) { + static const char PROGMEM gui_off_1[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x85, 0x86, 0}; + static const char PROGMEM gui_off_2[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xa5, 0xa6, 0}; + static const char PROGMEM gui_on_1[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x8d, 0x8e, 0}; + static const char PROGMEM gui_on_2[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xad, 0xae, 0}; + + static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0xD1, 0}; + static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0xD1, 0}; + static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0xD1, 0}; + static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0xD1, 0}; + + 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,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; + static const char PROGMEM shift_off_2[] = {0xab, 0xac,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; + static const char PROGMEM shift_on_1[] = {0xcd, 0xce,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; + static const char PROGMEM shift_on_2[] = {0xcf, 0xd0,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 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}; + + // line 1, gui & alt + // ------------------------------------ + 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); + } + // ------------------------------------ + + // line 1, ctrl & shift + // ------------------------------------ + 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); + } + // ------------------------------------ + + + // line 2, gui & alt + // ------------------------------------ + 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); + } + // ------------------------------------ + + // line 2, ctrl & shift + // ------------------------------------ + 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); + } + // ------------------------------------ +} +#endif + + +void render_logo(void) { +#ifndef OLED_DISPLAY_128X64 + static const char PROGMEM kimiko_logo[] = { + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; + oled_write_P(kimiko_logo, false); + // oled_write_P(PSTR("Kimiko"), false); +#endif +#ifdef OLED_DISPLAY_128X64 + // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 + static const char PROGMEM kimiko_logo[] = { + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x72, 0x65, 0x76, 0x32, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; + oled_write_P(kimiko_logo, false); + oled_write_P(PSTR("\n"), false); +#endif + +} + +void render_layer_state(void) { +#ifndef OLED_DISPLAY_128X64 + 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}; +#endif +#ifdef OLED_DISPLAY_128X64 + static const char PROGMEM default_layer[] = { + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x94, 0x95, 0x96, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xb4, 0xb5, 0xb6, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; + static const char PROGMEM raise_layer[] = { + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x97, 0x98, 0x99, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xb7, 0xb8, 0xb9, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; + static const char PROGMEM lower_layer[] = { + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x9a, 0x9b, 0x9c, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xba, 0xbb, 0xbc, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; + static const char PROGMEM adjust_layer[] = { + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x9d, 0x9e, 0x9f, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xbd, 0xbe, 0xbf, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, + 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; +#endif + if(layer_state_is(_ADJUST)) { + oled_write_P(adjust_layer, false); + } else if(layer_state_is(_LOWER)) { + oled_write_P(lower_layer, false); + } else if(layer_state_is(_RAISE)) { + oled_write_P(raise_layer, false); + } else { + oled_write_P(default_layer, false); + } + #ifdef OLED_DISPLAY_128X64 + oled_write_P(PSTR("\n"), false); + #endif +} + +void render_status_main(void) { + #ifndef OLED_DISPLAY_128X64 + render_space(); + render_space(); + render_logo(); + 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()); + #endif + + #ifdef OLED_DISPLAY_128X64 + render_logo(); + render_layer_state(); + oled_write_P(PSTR("\n"), false); + render_mod_status_gui_alt_ctrl_shift(get_mods()|get_oneshot_mods()); + #endif +} + +void render_status_secondary(void) { + #ifndef OLED_DISPLAY_128X64 + render_space(); + render_space(); + render_logo(); + render_space(); + #endif + #ifdef OLED_DISPLAY_128X64 + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("\n"), false); + render_logo(); + oled_write_P(PSTR("\n"), false); + #endif +} + +bool oled_task_user(void) { + if (is_keyboard_master()) { + render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } else { + render_status_secondary(); + } + return false; +} + +#endif + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, + [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, +}; +#endif // ENCODER_MAP_ENABLE \ No newline at end of file diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via/kimiko_rev2_via.json b/keyboards/keycapsss/kimiko/keymaps/rev2_via/kimiko_rev2_via.json new file mode 100644 index 000000000000..4818ad72cc12 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2_via/kimiko_rev2_via.json @@ -0,0 +1,81 @@ +{ + "name": "Keycapsss Kimiko rev2", + "vendorId": "0x7983", + "productId": "0x4B69", + "keycodes": ["qmk_lighting"], + "menus": [ + { + "label": "Lighting", + "content": [ + { + "label": "Backlight", + "content": [ + { + "label": "Brightness", + "type": "range", + "options": [0, 200], + "content": ["id_qmk_rgb_matrix_brightness", 3, 1] + }, + { + "label": "Effect", + "type": "dropdown", + "content": ["id_qmk_rgb_matrix_effect", 3, 2], + "options": [ + ["All Off", 0], + ["SOLID_COLOR", 1], + ["ALPHAS_MODS", 2], + ["GRADIENT_LEFT_RIGHT", 3], + ["CYCLE_LEFT_RIGHT", 4], + ["PIXEL_RAIN", 5] + ] + }, + { + "showIf": "{id_qmk_rgb_matrix_effect} != 0", + "label": "Effect Speed", + "type": "range", + "options": [0, 255], + "content": ["id_qmk_rgb_matrix_effect_speed", 3, 3] + }, + { + "showIf": "{id_qmk_rgb_matrix_effect} != 0", + "label": "Color", + "type": "color", + "content": ["id_qmk_rgb_matrix_color", 3, 4] + } + ] + } + ] + } + ], + "matrix": {"rows": 12, "cols": 6}, + "layouts": { + "keymap": [ + [{"y": 0.00, "x": 3.00}, "0,3", {"x": 10.00}, "6,3"], + [{"y": -0.69, "x": 2.00}, "0,2", {"x": 1.00}, "0,4", {"x": 8.00}, "6,4", {"x": 1.00}, "6,2"], + [{"y": -0.85, "x": 5.00}, "0,5", {"x": 6.00}, "6,5"], + [{"y": -0.50, "x": 0.00}, "0,0", {"x": 0.00}, "0,1", {"x": 14.00}, "6,1", {"x": 0.00}, "6,0"], + [{"y": -0.96, "x": 3.00}, "1,3", {"x": 10.00}, "7,3"], + [{"y": -0.69, "x": 2.00}, "1,2", {"x": 1.00}, "1,4", {"x": 8.00}, "7,4", {"x": 1.00}, "7,2"], + [{"y": -0.85, "x": 5.00}, "1,5", {"x": 6.00}, "7,5"], + [{"y": -0.50, "x": 0.00}, "1,0", {"x": 0.00}, "1,1", {"x": 14.00}, "7,1", {"x": 0.00}, "7,0"], + [{"y": -0.96, "x": 3.00}, "2,3", {"x": 10.00}, "8,3"], + [{"y": -0.69, "x": 2.00}, "2,2", {"x": 1.00}, "2,4", {"x": 8.00}, "8,4", {"x": 1.00}, "8,2"], + [{"y": -0.85, "x": 5.00}, "2,5", {"x": 6.00}, "8,5"], + [{"y": -0.50, "x": 0.00}, "2,0", {"x": 0.00}, "2,1", {"x": 14.00}, "8,1", {"x": 0.00}, "8,0"], + [{"y": -0.96, "x": 3.00}, "3,3", {"x": 10.00}, "9,3"], + [{"y": -0.69, "x": 2.00}, "3,2", {"x": 1.00}, "3,4", {"x": 8.00}, "9,4", {"x": 1.00}, "9,2"], + [{"y": -0.85, "x": 5.00}, "3,5", {"x": 6.00}, "9,5"], + [{"y": -0.50, "x": 0.00}, "3,0", {"x": 0.00}, "3,1", {"x": 14.00}, "9,1", {"x": 0.00}, "9,0"], + [{"y": -0.96, "x": 3.00}, "4,1", {"x": 10.00}, "10,1"], + [{"y": -0.69, "x": 2.00}, "4,0", {"x": 1.00}, "4,2", {"x": 8.00}, "10,2", {"x": 1.00}, "10,0"], + [{"r": 45, "rx": 7.26, "ry": 5.27, "y": -0.50, "x": -0.50}, "4,5"], + [{"r": -45, "rx": 10.74, "ry": 5.27, "y": -0.50, "x": -0.50}, "10,5"], + [{"r": 45, "rx": 5.84, "ry": 5.27, "y": -0.50, "x": -0.50}, "4,3"], + [{"r": -45, "rx": 12.16, "ry": 5.27, "y": -0.50, "x": -0.50}, "10,3"], + [{"r": 45, "rx": 6.55, "ry": 5.97, "y": -0.50, "x": -0.50}, "4,4"], + [{"r": -45, "rx": 11.45, "ry": 5.97, "y": -0.50, "x": -0.50}, "10,4"], + [{"r": 45, "rx": 6.55, "ry": 4.56, "y": -0.50, "x": -0.50}, "5,5\n\n\n\n\n\n\n\n\ne0"], + [{"r": -45, "rx": 11.45, "ry": 4.56, "y": -0.50, "x": -0.50}, "11,5\n\n\n\n\n\n\n\n\ne1"] + ] + } +} diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via/readme.md b/keyboards/keycapsss/kimiko/keymaps/rev2_via/readme.md new file mode 100644 index 000000000000..9d9634cb3f87 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2_via/readme.md @@ -0,0 +1,55 @@ +# Kimiko rev2 via keymap + +A split keyboard with 4x6 vertically staggered keys and thumb keys. + +- 60 Per key RGB led's (SK6812 Mini-E) + - RGB Matrix is enabled as default in rules.mk + - the effects can be configured in config.h + - The image below shows the positioning of switches and led as defined in the info.json. Text in the boxes:
+ - Layout Label
+ - Matrix Position
+ - LED flag for type of switch
+ + + +- Support for 1 rotary encoder per side (two possible positions) + +- Support for 1 pointing device (two possible positions) + - Pimoroni Trackball is enabled as default in rules.mk + - can be configured in config.h, e.g. for roation at different mounting position + - RGB lightning can be used for layer indication, but the Pimoroni Trackballmust be on the master side for this + +- Support for 1 OLED display per side + - 128x32 or 128x64 are supported + - with 1 OLED on each side, they have to be the same + - default configuration for 128x32 OLED + - 128x64 OLED can be set with #define OLED_DISPLAY_128X64 in config.h (already prepared) +
+ +- Support for VIA enabled + - plus some extra RGB effects + - The firmware size is approaching the maximum - 28562/28672 (99%, 110 bytes free) + - the json file for the via configurator is included: kimiko_rev2_via.json
+
+ + +* Keyboard Maintainer: [BenRoe](https://github.com/BenRoe/) [@keycapsss](https://twitter.com/keycapsss) +* Hardware Supported: Pro Micro 5V/16Mhz and compatible +* Hardware Availability: [keycapsss.com](https://keycapsss.com) +Make firmware .hex for this keyboard (after setting up your build environment): + + make keycapsss/kimiko: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). +
+
+ +* For debugging: + - positioning of switches and led as defined in the info.json. Text in the boxes::
+ - Layout Label
+ - switch number in schematic
+ - led number in schematic
+ - led flag for type of switch
+ +
+
diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via/rules.mk b/keyboards/keycapsss/kimiko/keymaps/rev2_via/rules.mk new file mode 100644 index 000000000000..ebc2d548de52 --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/rev2_via/rules.mk @@ -0,0 +1,19 @@ +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enables the use of OLED displays + +ENCODER_ENABLE = yes # Enables the use of one or more encoders +ENCODER_MAP_ENABLE = yes + +RGBLIGHT_ENABLE = no # Enable keyboard 'old' RGB lightning +RGB_MATRIX_ENABLE = yes # Enable keyboard RGB Matrix lightning + +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = pimoroni_trackball +# POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c + +# LTO: Link Time Optimizations. +# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. +# This does not affect QMK Macros and Layers +LTO_ENABLE = yes + +VIA_ENABLE = yes \ No newline at end of file From 5a6c8d4a29361293eda4245ae20d3f1310103c27 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Wed, 9 Aug 2023 11:29:39 +0200 Subject: [PATCH 19/96] remove test keymaps --- .../kimiko/keymaps/rev2_via/config.h | 157 ----- .../kimiko/keymaps/rev2_via/glcdfont.c | 233 ------- .../kimiko/keymaps/rev2_via/keymap.c | 576 ------------------ .../keymaps/rev2_via/kimiko_rev2_via.json | 81 --- .../kimiko/keymaps/rev2_via/readme.md | 55 -- .../kimiko/keymaps/rev2_via/rules.mk | 19 - .../kimiko/keymaps/rev2_via_ex3c/config.h | 85 --- .../kimiko/keymaps/rev2_via_ex3c/glcdfont.c | 233 ------- .../kimiko/keymaps/rev2_via_ex3c/keymap.c | 341 ----------- .../kimiko/keymaps/rev2_via_ex3c/rules.mk | 17 - 10 files changed, 1797 deletions(-) delete mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/config.h delete mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/glcdfont.c delete mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/keymap.c delete mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/kimiko_rev2_via.json delete mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/readme.md delete mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via/rules.mk delete mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/config.h delete mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/glcdfont.c delete mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/keymap.c delete mode 100644 keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/rules.mk diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via/config.h b/keyboards/keycapsss/kimiko/keymaps/rev2_via/config.h deleted file mode 100644 index ba10d043a4b4..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/rev2_via/config.h +++ /dev/null @@ -1,157 +0,0 @@ -/* Copyright 2019 MechMerlin - * Copyright 2020 @ben_roe (keycapsss.com) - * Copyright 2023 @Ex3c4Def - * - * 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 - -/* Select hand configuration */ -//------------------------------------------ -// #define MASTER_LEFT -#define MASTER_RIGHT -// #define EE_HANDS -//------------------------------------------ - - -// If you are using an Elite C rev3 on the slave side, uncomment the lines below: -//------------------------------------------ -// #define SPLIT_USB_DETECT -// #define NO_USB_STARTUP_CHECK -//------------------------------------------ - - -// OLED definitions -//------------------------------------------ -#ifdef OLED_ENABLE -#define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c" -// #define OLED_FONT_WIDTH 5 -// #define OLED_FONT_HEIGHT 7 -// #define OLED_DISPLAY_128X64 //128x64 needs this define, for 128x32 display no extra define is needed and this can be removed/commented - -#endif -//------------------------------------------ - - -// 'new' RGB Matrix definitions, used when RGB_MATRIX_ENABLE = yes in rules.mk -//------------------------------------------ -#ifdef RGB_MATRIX_ENABLE - // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS - // #define RGB_MATRIX_KEYPRESSES - // #define RGB_MATRIX_KEYRELEASES - - // These modes don’t require any additional defines. - #define ENABLE_RGB_MATRIX_NONE - #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support - - #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue - // #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes - #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes - // #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation - // #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right - // #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right - // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation - // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness - // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation - // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness - // #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient - #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right - // #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom - // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in - // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in - // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shapped scrolling left to right - // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard - // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard - // #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard - // #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard - // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard - // #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue - // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation - // #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back - // #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left - // #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right - // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges - // #define ENABLE_RGB_MATRIX_PIXEL_FLOW // Pulsing RGB flow along LED wiring with random hues - #define ENABLE_RGB_MATRIX_PIXEL_RAIN // Randomly light keys with random hues - - // These modes also require the RGB_MATRIX_FRAMEBUFFER_EFFECTS define to be available. - // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! - // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation - - // These modes also require the RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES define to be available. - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out - // #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out - // #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out - - #define RGB_MATRIX_VAL_STEP 4 - #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR - #define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set - #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set - #define RGB_MATRIX_DEFAULT_VAL 60 //RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set - #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set -#endif -//------------------------------------------ - - -// 'old' RGB Lightning definitions, used when RGBLIGHT_ENABLE = yes in rules.mk -//------------------------------------------ -#ifdef RGBLIGHT_ENABLE -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* the RGB lighting will be switched off when the host goes to sleep */ -# define RGBLIGHT_EFFECT_BREATHING -# define RGBLIGHT_EFFECT_RAINBOW_MOOD -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_SNAKE -# define RGBLIGHT_EFFECT_KNIGHT -# define RGBLIGHT_EFFECT_CHRISTMAS -# define RGBLIGHT_EFFECT_STATIC_GRADIENT -# define RGBLIGHT_EFFECT_RGB_TEST -# define RGBLIGHT_EFFECT_ALTERNATING -# define RGBLIGHT_EFFECT_TWINKLE -#endif -//------------------------------------------ - - -// pointing device definitions -//------------------------------------------ -#ifdef POINTING_DEVICE_ENABLE - // #define SPLIT_POINTING_ENABLE // Enable use of pointing device on slave split. - // #define POINTING_DEVICE_RIGHT - - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - //Pimoroni Trackball - // #define POINTING_DEVICE_ROTATION_180 // may be used for trackball in 2nd position - #endif -#endif -//------------------------------------------ - - -// additional split keyboard definitions -//------------------------------------------ -// #define SPLIT_LAYER_STATE_ENABLE //syncs state information to the secondary side -// #define SPLIT_LED_STATE_ENABLE -// #define SPLIT_MODS_ENABLE -//------------------------------------------ \ No newline at end of file diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/rev2_via/glcdfont.c deleted file mode 100644 index 19d45a75c706..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/rev2_via/glcdfont.c +++ /dev/null @@ -1,233 +0,0 @@ -#include "progmem.h" - -// Corne 8x6 font -// Online editor: https://helixfonteditor.netlify.com -// or https://joric.github.io/qle/ -// 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, 0x13, 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, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 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, - 0x1F, 0x1F, 0x0E, 0x1B, 0x11, 0xC0, - 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x06, - 0x0C, 0xC6, 0x1F, 0x1F, 0x80, 0x5F, - 0x1F, 0x00, 0x1F, 0x1F, 0x8E, 0x9B, - 0x91, 0x80, 0x9F, 0x9F, 0x91, 0x1F, - 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, 0x84, 0x87, 0x7D, 0x55, 0x57, - 0x55, 0x7D, 0x87, 0x84, 0x00, 0x91, - 0x95, 0x55, 0x55, 0x3F, 0x55, 0x55, - 0x95, 0x91, 0x00, 0x08, 0x08, 0x08, - 0x88, 0xFC, 0x0A, 0x09, 0x08, 0x08, - 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/keycapsss/kimiko/keymaps/rev2_via/keymap.c b/keyboards/keycapsss/kimiko/keymaps/rev2_via/keymap.c deleted file mode 100644 index 07f75fee35e7..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/rev2_via/keymap.c +++ /dev/null @@ -1,576 +0,0 @@ -/* Copyright 2019 Leo Batyuk - * Copyright 2020 Drashna Jaelre <@drashna> - * Copyright 2020 @ben_roe (keycapsss.com) - * Copyright 2023 @Ex3c4Def - * - * 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 { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST, -}; - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* QWERTY - * ,--------------------------------------------. ,----------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | LShift | A | S | D | F | G |---------------. ,---------------| H | J | K | L | ; | ' | - * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| - * | LCTRL | Z | X | C | V | B |------|--------| |-------|-------| N | M | , | . | / |RShift/Enter| - * `--------------------------------------------| / \ |----------------------------------------------' - * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '---------------------------------' - */ - [_QWERTY] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, - KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_LBRC, KC_RBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), - KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI, KC_RALT -), -/* LOWER -* QWERTY - * ,--------------------------------------------. ,----------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | ` | ! | @ | # | $ | % |---------------. ,---------------| ^ | & | * | ( | ) | ~ | - * |---------+------+------+------+------+------| | | | | |------+------+------+------+------+-----------| - * | | | | | | |------|--------| |-------|-------| | _ | + | { | } | \ | - * `--------------------------------------------| / \ |----------------------------------------------' - * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '---------------------------------' - */ -[_LOWER] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, - KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD, - _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, - _______, _______, _______, _______,_______, _______, _______, _______, _______, _______ -), -/* RAISE - * ,--------------------------------------------. ,----------------------------------------------. - * | | | | | | | | | | | | | | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | F1 | F2 | F3 | F4 | F5 | F6 |---------------. ,---------------| Left | Down | Up |Right | ; | | - * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| - * | F7 | F8 | F9 | F10 | F11 | F12 |------|--------| |-------|-------| + | - | = | [ | ] | \ | - * `--------------------------------------------| / \ |----------------------------------------------' - * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '---------------------------------' - */ - [_RAISE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), -/* ADJUST (Press LOWER and RAISE together) - * ,--------------------------------------------. ,----------------------------------------------. - * | QK_BOOT | | | | | | | | | | | | | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | RGB ON | HUE+ | SAT+ | VAL+ | | | | PREV | PLAY | NEXT | | | | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | MODE | HUE- | SAT- | VAL- | | |---------------. ,---------------| VOL+ | MUTE | VOL- | | | | - * |---------+------+------+------+------+------| | | | | |------+------+------+------+------+-----------| - * | | | | | | |------|--------| |-------|-------| | | | | | | - * `--------------------------------------------| / \ |----------------------------------------------' - * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '---------------------------------' - */ -[_ADJUST] = LAYOUT( - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) -}; - - - -#ifdef POINTING_DEVICE_ENABLE -void pointing_device_init_user(void) { - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - // pimoroni_trackball_set_cpi(128*125); // default should be 128*125 - pimoroni_trackball_set_rgbw(0, 40, 0, 0); - #endif - } - -layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); - - switch (get_highest_layer(state)) { - case _QWERTY: - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - pimoroni_trackball_set_rgbw(0, 40, 0, 0); - #endif - break; - case _LOWER: - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - pimoroni_trackball_set_rgbw(40, 0, 0, 0); - #endif - break; - case _RAISE: - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - pimoroni_trackball_set_rgbw(0, 0, 40, 0); - #endif - break; - case _ADJUST: - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - pimoroni_trackball_set_rgbw(40, 40, 40, 0); - #endif - break; - } - return state; -} -#else -layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); - return state; -} -#endif - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - #ifdef OLED_DISPLAY_128X64 - return OLED_ROTATION_180; - #else - return OLED_ROTATION_270; - #endif - } else { - #ifdef OLED_DISPLAY_128X64 - return OLED_ROTATION_180; - #else - return OLED_ROTATION_270; - #endif - } -} - - - -#ifndef OLED_DISPLAY_128X64 -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); - } -} -#endif - -#ifdef OLED_DISPLAY_128X64 -void render_mod_status_gui_alt_ctrl_shift(uint8_t modifiers) { - static const char PROGMEM gui_off_1[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x85, 0x86, 0}; - static const char PROGMEM gui_off_2[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xa5, 0xa6, 0}; - static const char PROGMEM gui_on_1[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x8d, 0x8e, 0}; - static const char PROGMEM gui_on_2[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xad, 0xae, 0}; - - static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0xD1, 0}; - static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0xD1, 0}; - static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0xD1, 0}; - static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0xD1, 0}; - - 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,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; - static const char PROGMEM shift_off_2[] = {0xab, 0xac,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; - static const char PROGMEM shift_on_1[] = {0xcd, 0xce,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; - static const char PROGMEM shift_on_2[] = {0xcf, 0xd0,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 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}; - - // line 1, gui & alt - // ------------------------------------ - 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); - } - // ------------------------------------ - - // line 1, ctrl & shift - // ------------------------------------ - 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); - } - // ------------------------------------ - - - // line 2, gui & alt - // ------------------------------------ - 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); - } - // ------------------------------------ - - // line 2, ctrl & shift - // ------------------------------------ - 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); - } - // ------------------------------------ -} -#endif - - -void render_logo(void) { -#ifndef OLED_DISPLAY_128X64 - static const char PROGMEM kimiko_logo[] = { - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; - oled_write_P(kimiko_logo, false); - // oled_write_P(PSTR("Kimiko"), false); -#endif -#ifdef OLED_DISPLAY_128X64 - // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 - static const char PROGMEM kimiko_logo[] = { - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x72, 0x65, 0x76, 0x32, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; - oled_write_P(kimiko_logo, false); - oled_write_P(PSTR("\n"), false); -#endif - -} - -void render_layer_state(void) { -#ifndef OLED_DISPLAY_128X64 - 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}; -#endif -#ifdef OLED_DISPLAY_128X64 - static const char PROGMEM default_layer[] = { - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x94, 0x95, 0x96, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xb4, 0xb5, 0xb6, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; - static const char PROGMEM raise_layer[] = { - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x97, 0x98, 0x99, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xb7, 0xb8, 0xb9, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; - static const char PROGMEM lower_layer[] = { - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x9a, 0x9b, 0x9c, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xba, 0xbb, 0xbc, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; - static const char PROGMEM adjust_layer[] = { - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x9d, 0x9e, 0x9f, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xbd, 0xbe, 0xbf, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; -#endif - if(layer_state_is(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_LOWER)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_RAISE)) { - oled_write_P(raise_layer, false); - } else { - oled_write_P(default_layer, false); - } - #ifdef OLED_DISPLAY_128X64 - oled_write_P(PSTR("\n"), false); - #endif -} - -void render_status_main(void) { - #ifndef OLED_DISPLAY_128X64 - render_space(); - render_space(); - render_logo(); - 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()); - #endif - - #ifdef OLED_DISPLAY_128X64 - render_logo(); - render_layer_state(); - oled_write_P(PSTR("\n"), false); - render_mod_status_gui_alt_ctrl_shift(get_mods()|get_oneshot_mods()); - #endif -} - -void render_status_secondary(void) { - #ifndef OLED_DISPLAY_128X64 - render_space(); - render_space(); - render_logo(); - render_space(); - #endif - #ifdef OLED_DISPLAY_128X64 - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("\n"), false); - render_logo(); - oled_write_P(PSTR("\n"), false); - #endif -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) - } else { - render_status_secondary(); - } - return false; -} - -#endif - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, - [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, - [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, -}; -#endif // ENCODER_MAP_ENABLE \ No newline at end of file diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via/kimiko_rev2_via.json b/keyboards/keycapsss/kimiko/keymaps/rev2_via/kimiko_rev2_via.json deleted file mode 100644 index 4818ad72cc12..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/rev2_via/kimiko_rev2_via.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "name": "Keycapsss Kimiko rev2", - "vendorId": "0x7983", - "productId": "0x4B69", - "keycodes": ["qmk_lighting"], - "menus": [ - { - "label": "Lighting", - "content": [ - { - "label": "Backlight", - "content": [ - { - "label": "Brightness", - "type": "range", - "options": [0, 200], - "content": ["id_qmk_rgb_matrix_brightness", 3, 1] - }, - { - "label": "Effect", - "type": "dropdown", - "content": ["id_qmk_rgb_matrix_effect", 3, 2], - "options": [ - ["All Off", 0], - ["SOLID_COLOR", 1], - ["ALPHAS_MODS", 2], - ["GRADIENT_LEFT_RIGHT", 3], - ["CYCLE_LEFT_RIGHT", 4], - ["PIXEL_RAIN", 5] - ] - }, - { - "showIf": "{id_qmk_rgb_matrix_effect} != 0", - "label": "Effect Speed", - "type": "range", - "options": [0, 255], - "content": ["id_qmk_rgb_matrix_effect_speed", 3, 3] - }, - { - "showIf": "{id_qmk_rgb_matrix_effect} != 0", - "label": "Color", - "type": "color", - "content": ["id_qmk_rgb_matrix_color", 3, 4] - } - ] - } - ] - } - ], - "matrix": {"rows": 12, "cols": 6}, - "layouts": { - "keymap": [ - [{"y": 0.00, "x": 3.00}, "0,3", {"x": 10.00}, "6,3"], - [{"y": -0.69, "x": 2.00}, "0,2", {"x": 1.00}, "0,4", {"x": 8.00}, "6,4", {"x": 1.00}, "6,2"], - [{"y": -0.85, "x": 5.00}, "0,5", {"x": 6.00}, "6,5"], - [{"y": -0.50, "x": 0.00}, "0,0", {"x": 0.00}, "0,1", {"x": 14.00}, "6,1", {"x": 0.00}, "6,0"], - [{"y": -0.96, "x": 3.00}, "1,3", {"x": 10.00}, "7,3"], - [{"y": -0.69, "x": 2.00}, "1,2", {"x": 1.00}, "1,4", {"x": 8.00}, "7,4", {"x": 1.00}, "7,2"], - [{"y": -0.85, "x": 5.00}, "1,5", {"x": 6.00}, "7,5"], - [{"y": -0.50, "x": 0.00}, "1,0", {"x": 0.00}, "1,1", {"x": 14.00}, "7,1", {"x": 0.00}, "7,0"], - [{"y": -0.96, "x": 3.00}, "2,3", {"x": 10.00}, "8,3"], - [{"y": -0.69, "x": 2.00}, "2,2", {"x": 1.00}, "2,4", {"x": 8.00}, "8,4", {"x": 1.00}, "8,2"], - [{"y": -0.85, "x": 5.00}, "2,5", {"x": 6.00}, "8,5"], - [{"y": -0.50, "x": 0.00}, "2,0", {"x": 0.00}, "2,1", {"x": 14.00}, "8,1", {"x": 0.00}, "8,0"], - [{"y": -0.96, "x": 3.00}, "3,3", {"x": 10.00}, "9,3"], - [{"y": -0.69, "x": 2.00}, "3,2", {"x": 1.00}, "3,4", {"x": 8.00}, "9,4", {"x": 1.00}, "9,2"], - [{"y": -0.85, "x": 5.00}, "3,5", {"x": 6.00}, "9,5"], - [{"y": -0.50, "x": 0.00}, "3,0", {"x": 0.00}, "3,1", {"x": 14.00}, "9,1", {"x": 0.00}, "9,0"], - [{"y": -0.96, "x": 3.00}, "4,1", {"x": 10.00}, "10,1"], - [{"y": -0.69, "x": 2.00}, "4,0", {"x": 1.00}, "4,2", {"x": 8.00}, "10,2", {"x": 1.00}, "10,0"], - [{"r": 45, "rx": 7.26, "ry": 5.27, "y": -0.50, "x": -0.50}, "4,5"], - [{"r": -45, "rx": 10.74, "ry": 5.27, "y": -0.50, "x": -0.50}, "10,5"], - [{"r": 45, "rx": 5.84, "ry": 5.27, "y": -0.50, "x": -0.50}, "4,3"], - [{"r": -45, "rx": 12.16, "ry": 5.27, "y": -0.50, "x": -0.50}, "10,3"], - [{"r": 45, "rx": 6.55, "ry": 5.97, "y": -0.50, "x": -0.50}, "4,4"], - [{"r": -45, "rx": 11.45, "ry": 5.97, "y": -0.50, "x": -0.50}, "10,4"], - [{"r": 45, "rx": 6.55, "ry": 4.56, "y": -0.50, "x": -0.50}, "5,5\n\n\n\n\n\n\n\n\ne0"], - [{"r": -45, "rx": 11.45, "ry": 4.56, "y": -0.50, "x": -0.50}, "11,5\n\n\n\n\n\n\n\n\ne1"] - ] - } -} diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via/readme.md b/keyboards/keycapsss/kimiko/keymaps/rev2_via/readme.md deleted file mode 100644 index 9d9634cb3f87..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/rev2_via/readme.md +++ /dev/null @@ -1,55 +0,0 @@ -# Kimiko rev2 via keymap - -A split keyboard with 4x6 vertically staggered keys and thumb keys. - -- 60 Per key RGB led's (SK6812 Mini-E) - - RGB Matrix is enabled as default in rules.mk - - the effects can be configured in config.h - - The image below shows the positioning of switches and led as defined in the info.json. Text in the boxes:
- - Layout Label
- - Matrix Position
- - LED flag for type of switch
- - - -- Support for 1 rotary encoder per side (two possible positions) - -- Support for 1 pointing device (two possible positions) - - Pimoroni Trackball is enabled as default in rules.mk - - can be configured in config.h, e.g. for roation at different mounting position - - RGB lightning can be used for layer indication, but the Pimoroni Trackballmust be on the master side for this - -- Support for 1 OLED display per side - - 128x32 or 128x64 are supported - - with 1 OLED on each side, they have to be the same - - default configuration for 128x32 OLED - - 128x64 OLED can be set with #define OLED_DISPLAY_128X64 in config.h (already prepared) -
- -- Support for VIA enabled - - plus some extra RGB effects - - The firmware size is approaching the maximum - 28562/28672 (99%, 110 bytes free) - - the json file for the via configurator is included: kimiko_rev2_via.json
-
- - -* Keyboard Maintainer: [BenRoe](https://github.com/BenRoe/) [@keycapsss](https://twitter.com/keycapsss) -* Hardware Supported: Pro Micro 5V/16Mhz and compatible -* Hardware Availability: [keycapsss.com](https://keycapsss.com) -Make firmware .hex for this keyboard (after setting up your build environment): - - make keycapsss/kimiko: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). -
-
- -* For debugging: - - positioning of switches and led as defined in the info.json. Text in the boxes::
- - Layout Label
- - switch number in schematic
- - led number in schematic
- - led flag for type of switch
- -
-
diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via/rules.mk b/keyboards/keycapsss/kimiko/keymaps/rev2_via/rules.mk deleted file mode 100644 index ebc2d548de52..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/rev2_via/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays - -ENCODER_ENABLE = yes # Enables the use of one or more encoders -ENCODER_MAP_ENABLE = yes - -RGBLIGHT_ENABLE = no # Enable keyboard 'old' RGB lightning -RGB_MATRIX_ENABLE = yes # Enable keyboard RGB Matrix lightning - -POINTING_DEVICE_ENABLE = yes -POINTING_DEVICE_DRIVER = pimoroni_trackball -# POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c - -# LTO: Link Time Optimizations. -# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. -# This does not affect QMK Macros and Layers -LTO_ENABLE = yes - -VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/config.h b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/config.h deleted file mode 100644 index 6ccd6bb16520..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/config.h +++ /dev/null @@ -1,85 +0,0 @@ -/* Copyright 2019 MechMerlin - * Copyright 2023 @ben_roe (keycapsss.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 -// #define MANUFACTURER keycapsss.com -// #define PRODUCT Kimiko Rev2 -// #define DESCRIPTION Kimiko Rev2 - -// #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 -// #define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1 - -/* Select hand configuration */ -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c" -// #define OLED_FONT_WIDTH 5 -// #define OLED_FONT_HEIGHT 7 - - -#ifdef RGBLIGHT_ENABLE -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* the RGB lighting will be switched off when the host goes to sleep */ -# define RGBLIGHT_EFFECT_BREATHING -# define RGBLIGHT_EFFECT_RAINBOW_MOOD -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_SNAKE -# define RGBLIGHT_EFFECT_KNIGHT -# define RGBLIGHT_EFFECT_CHRISTMAS -# define RGBLIGHT_EFFECT_STATIC_GRADIENT -# define RGBLIGHT_EFFECT_RGB_TEST -# define RGBLIGHT_EFFECT_ALTERNATING -# define RGBLIGHT_EFFECT_TWINKLE -#endif - -#ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_FRAMEBUFFER_EFFECTS - // #define RGB_MATRIX_KEYPRESSES - // #define RGB_MATRIX_KEYRELEASES - - - // These modes don’t require any additional defines. - // #define ENABLE_RGB_MATRIX_NONE - // #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support - // #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue - // #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation - #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right - // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges - // These modes also require the RGB_MATRIX_FRAMEBUFFER_EFFECTS define to be available. - // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! - // These modes also require the RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES define to be available. - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out - - - #define RGB_MATRIX_VAL_STEP 4 - #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT - #define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set - #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set - #define RGB_MATRIX_DEFAULT_VAL 60 //RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set - #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set -#endif - -// If you are using an Elite C rev3 on the slave side, uncomment the lines below: -// #define SPLIT_USB_DETECT -// #define NO_USB_STARTUP_CHECK - -#define SPLIT_POINTING_ENABLE -#define POINTING_DEVICE_RIGHT diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/glcdfont.c deleted file mode 100644 index 19d45a75c706..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/glcdfont.c +++ /dev/null @@ -1,233 +0,0 @@ -#include "progmem.h" - -// Corne 8x6 font -// Online editor: https://helixfonteditor.netlify.com -// or https://joric.github.io/qle/ -// 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, 0x13, 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, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 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, - 0x1F, 0x1F, 0x0E, 0x1B, 0x11, 0xC0, - 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x06, - 0x0C, 0xC6, 0x1F, 0x1F, 0x80, 0x5F, - 0x1F, 0x00, 0x1F, 0x1F, 0x8E, 0x9B, - 0x91, 0x80, 0x9F, 0x9F, 0x91, 0x1F, - 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, 0x84, 0x87, 0x7D, 0x55, 0x57, - 0x55, 0x7D, 0x87, 0x84, 0x00, 0x91, - 0x95, 0x55, 0x55, 0x3F, 0x55, 0x55, - 0x95, 0x91, 0x00, 0x08, 0x08, 0x08, - 0x88, 0xFC, 0x0A, 0x09, 0x08, 0x08, - 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/keycapsss/kimiko/keymaps/rev2_via_ex3c/keymap.c b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/keymap.c deleted file mode 100644 index bfe31bbea089..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/keymap.c +++ /dev/null @@ -1,341 +0,0 @@ -/* Copyright 2019 Leo Batyuk - * Copyright 2020 Drashna Jaelre <@drashna> - * Copyright 2023 @ben_roe (keycapsss.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 { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST, -}; - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* QWERTY - * ,--------------------------------------------. ,----------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | LShift | A | S | D | F | G |---------------. ,---------------| H | J | K | L | ; | ' | - * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| - * | LCTRL | Z | X | C | V | B |------|--------| |-------|-------| N | M | , | . | / |RShift/Enter| - * `--------------------------------------------| / \ |----------------------------------------------' - * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '---------------------------------' - */ - [_QWERTY] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, - KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_LBRC, KC_RBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), - KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI, KC_RALT -), -/* LOWER -* QWERTY - * ,--------------------------------------------. ,----------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | ` | ! | @ | # | $ | % |---------------. ,---------------| ^ | & | * | ( | ) | ~ | - * |---------+------+------+------+------+------| | | | | |------+------+------+------+------+-----------| - * | | | | | | |------|--------| |-------|-------| | _ | + | { | } | \ | - * `--------------------------------------------| / \ |----------------------------------------------' - * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '---------------------------------' - */ -[_LOWER] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, - KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD, - _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, - _______, _______, _______, _______,_______, _______, _______, _______, _______, _______ -), -/* RAISE - * ,--------------------------------------------. ,----------------------------------------------. - * | | | | | | | | | | | | | | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | F1 | F2 | F3 | F4 | F5 | F6 |---------------. ,---------------| Left | Down | Up |Right | ; | | - * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| - * | F7 | F8 | F9 | F10 | F11 | F12 |------|--------| |-------|-------| + | - | = | [ | ] | \ | - * `--------------------------------------------| / \ |----------------------------------------------' - * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '---------------------------------' - */ - [_RAISE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), -/* ADJUST (Press LOWER and RAISE together) - * ,--------------------------------------------. ,----------------------------------------------. - * | QK_BOOT | | | | | | | | | | | | | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | RGB ON | HUE+ | SAT+ | VAL+ | | | | PREV | PLAY | NEXT | | | | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | MODE | HUE- | SAT- | VAL- | | |---------------. ,---------------| VOL+ | MUTE | VOL- | | | | - * |---------+------+------+------+------+------| | | | | |------+------+------+------+------+-----------| - * | | | | | | |------|--------| |-------|-------| | | | | | | - * `--------------------------------------------| / \ |----------------------------------------------' - * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '---------------------------------' - */ -[_ADJUST] = LAYOUT( - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) -}; - - -layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); - return state; -} - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } else { - 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 corne_logo[] = { - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; - oled_write_P(corne_logo, false); - // oled_write_P(PSTR("Kimiko"), 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(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_LOWER)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_RAISE)) { - oled_write_P(raise_layer, false); - } else { - oled_write_P(default_layer, false); - } -} - -void render_status_main(void) { - render_space(); - render_space(); - render_logo(); - 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()); -} - -void render_status_secondary(void) { - render_space(); - render_space(); - render_logo(); - render_space(); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) - } else { - render_status_secondary(); - } - return false; -} - -#endif - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, - [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, - [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, -}; -#endif // ENCODER_MAP_ENABLE - - diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/rules.mk b/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/rules.mk deleted file mode 100644 index 372b0398da17..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/rev2_via_ex3c/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays -ENCODER_ENABLE = yes # ENables the use of one or more encoders -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -RGB_MATRIX_ENABLE = yes - -# LTO: Link Time Optimizations. -# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. -# This does not affect QMK Macros and Layers -LTO_ENABLE = yes -ENCODER_MAP_ENABLE = yes - -POINTING_DEVICE_ENABLE = yes -POINTING_DEVICE_DRIVER = pimoroni_trackball - -VIA_ENABLE = yes - From 40c7bb2be74cedeaa95653f8575360f6ebfc1c90 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Wed, 9 Aug 2023 11:31:56 +0200 Subject: [PATCH 20/96] move kimiko rev1 led matrix in rev1 folder --- keyboards/keycapsss/kimiko/kimiko.c | 62 -------------------- keyboards/keycapsss/kimiko/rev1/rev1.c | 78 ++++++++++++++++++++++++++ keyboards/keycapsss/kimiko/rev1/rev1.h | 0 3 files changed, 78 insertions(+), 62 deletions(-) create mode 100644 keyboards/keycapsss/kimiko/rev1/rev1.c create mode 100644 keyboards/keycapsss/kimiko/rev1/rev1.h diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index 041387ad535e..42cb37635dd3 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -14,65 +14,3 @@ * along with this program. If not, see . */ #include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE - -//Thanks to Ben (keycapsss) for helpipng me to create g_led_config - -// Physical LED position -// X 0 16 32 48 64 80 96 112 128 144 160 176 208 224 -// -----------------------------------------------------------| Y -// 5 4 3 2 1 0 0 1 2 3 4 5 | 0 -// 6 7 8 9 10 11 11 10 9 8 7 6 | 16 -// 17 16 15 14 13 12 12 13 14 15 16 17 | 32 -// 18 19 20 21 22 23 24 24 23 22 21 20 19 18 | 48 -// 29 28 27 26 25 25 26 27 28 29 | 64 - -led_config_t g_led_config = { { - // Key Matrix to LED Index - { 5, 4, 3, 2, 1, 0 }, - { 6, 7, 8, 9, 10, 11 }, - { 17, 16, 15, 14, 13, 12 }, - { 18, 19, 20, 21, 22, 23 }, - { 29, 28, 27, 26, 25, 24 }, - { 35, 34, 33, 32, 31, 30 }, - { 36, 37, 38, 39, 40, 41 }, - { 47, 46, 45, 44, 43, 42 }, - { 48, 49, 50, 51, 52, 53 }, - { 59, 58, 57, 56, 55, 54 } -}, { - // LED Index to Physical Position - // Left half - { 80, 0 }, { 64, 0 }, { 48, 0 }, { 32, 0 }, { 16, 0 }, { 0, 0 }, - { 0, 16 }, { 16, 16 }, { 32, 16 }, { 48, 16 }, { 64, 16 }, { 80, 16 }, - { 80, 32 }, { 64, 32 }, { 48, 32 }, { 32, 32 }, { 16, 32 }, { 0, 32 }, - { 0, 48 }, { 16, 48 }, { 32, 48 }, { 48, 48 }, { 64, 48 }, { 80, 48 }, - { 96, 48 }, { 96, 64 }, { 80, 64 }, { 64, 64 }, { 48, 64 }, { 32, 64 }, - // Right half - { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 208, 0 }, { 224, 0 }, - { 224, 16 }, { 208, 16 }, { 176, 16 }, { 160, 16 }, { 144, 16 }, { 128, 16 }, - { 128, 32 }, { 144, 32 }, { 160, 32 }, { 176, 32 }, { 208, 32 }, { 224, 32 }, - { 224, 48 }, { 208, 48 }, { 176, 48 }, { 160, 48 }, { 144, 48 }, { 128, 48 }, - { 112, 48 }, { 112, 64 }, { 128, 64 }, { 144, 64 }, { 160, 64 }, { 176, 64 } - -}, { - // LED Index to Flag - // 0x01 = 1 = modifier key - // 0x02 = 2 = underglow - // 0x04 = 4 = key backlight - // 0x08 = 8 = keyboard state indication - // Left half - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 1, - 4, 4, 4, 4, 4, 1, - 4, 4, 1, 1, 1, 1, - // Right half - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, - 1, 4, 4, 4, 4, 4, - 4, 4, 1, 1, 1, 1 -} }; - -#endif // RGB_MATRIX_ENABLE \ No newline at end of file diff --git a/keyboards/keycapsss/kimiko/rev1/rev1.c b/keyboards/keycapsss/kimiko/rev1/rev1.c new file mode 100644 index 000000000000..fd9cb9c7e0bd --- /dev/null +++ b/keyboards/keycapsss/kimiko/rev1/rev1.c @@ -0,0 +1,78 @@ +/* Copyright 2020 @ben_roe (keycapsss.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" + +#ifdef RGB_MATRIX_ENABLE + +//Thanks to Ben (keycapsss) for helpipng me to create g_led_config + +// Physical LED position +// X 0 16 32 48 64 80 96 112 128 144 160 176 208 224 +// -----------------------------------------------------------| Y +// 5 4 3 2 1 0 0 1 2 3 4 5 | 0 +// 6 7 8 9 10 11 11 10 9 8 7 6 | 16 +// 17 16 15 14 13 12 12 13 14 15 16 17 | 32 +// 18 19 20 21 22 23 24 24 23 22 21 20 19 18 | 48 +// 29 28 27 26 25 25 26 27 28 29 | 64 + +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 5, 4, 3, 2, 1, 0 }, + { 6, 7, 8, 9, 10, 11 }, + { 17, 16, 15, 14, 13, 12 }, + { 18, 19, 20, 21, 22, 23 }, + { 29, 28, 27, 26, 25, 24 }, + { 35, 34, 33, 32, 31, 30 }, + { 36, 37, 38, 39, 40, 41 }, + { 47, 46, 45, 44, 43, 42 }, + { 48, 49, 50, 51, 52, 53 }, + { 59, 58, 57, 56, 55, 54 } +}, { + // LED Index to Physical Position + // Left half + { 80, 0 }, { 64, 0 }, { 48, 0 }, { 32, 0 }, { 16, 0 }, { 0, 0 }, + { 0, 16 }, { 16, 16 }, { 32, 16 }, { 48, 16 }, { 64, 16 }, { 80, 16 }, + { 80, 32 }, { 64, 32 }, { 48, 32 }, { 32, 32 }, { 16, 32 }, { 0, 32 }, + { 0, 48 }, { 16, 48 }, { 32, 48 }, { 48, 48 }, { 64, 48 }, { 80, 48 }, + { 96, 48 }, { 96, 64 }, { 80, 64 }, { 64, 64 }, { 48, 64 }, { 32, 64 }, + // Right half + { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 208, 0 }, { 224, 0 }, + { 224, 16 }, { 208, 16 }, { 176, 16 }, { 160, 16 }, { 144, 16 }, { 128, 16 }, + { 128, 32 }, { 144, 32 }, { 160, 32 }, { 176, 32 }, { 208, 32 }, { 224, 32 }, + { 224, 48 }, { 208, 48 }, { 176, 48 }, { 160, 48 }, { 144, 48 }, { 128, 48 }, + { 112, 48 }, { 112, 64 }, { 128, 64 }, { 144, 64 }, { 160, 64 }, { 176, 64 } + +}, { + // LED Index to Flag + // 0x01 = 1 = modifier key + // 0x02 = 2 = underglow + // 0x04 = 4 = key backlight + // 0x08 = 8 = keyboard state indication + // Left half + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 1, + 4, 4, 4, 4, 4, 1, + 4, 4, 1, 1, 1, 1, + // Right half + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, + 4, 4, 1, 1, 1, 1 +} }; + +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keycapsss/kimiko/rev1/rev1.h b/keyboards/keycapsss/kimiko/rev1/rev1.h new file mode 100644 index 000000000000..e69de29bb2d1 From 10542223ca90f117d02230fa77646651c26b7d09 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Wed, 9 Aug 2023 11:32:45 +0200 Subject: [PATCH 21/96] remove default compile target (rev1) --- keyboards/keycapsss/kimiko/kimiko.h | 26 ++++++++++++++++++++++++++ keyboards/keycapsss/kimiko/rules.mk | 5 ++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 keyboards/keycapsss/kimiko/kimiko.h diff --git a/keyboards/keycapsss/kimiko/kimiko.h b/keyboards/keycapsss/kimiko/kimiko.h new file mode 100644 index 000000000000..aec285b5a583 --- /dev/null +++ b/keyboards/keycapsss/kimiko/kimiko.h @@ -0,0 +1,26 @@ +/* Copyright 2020 @ben_roe (keycapsss.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 KEYBOARD_keycapsss_kimiko_rev1 +# include "rev1.h" +#endif + +#ifdef KEYBOARD_keycapsss_kimiko_rev2 +# include "rev2.h" +#endif + +#include "quantum.h" diff --git a/keyboards/keycapsss/kimiko/rules.mk b/keyboards/keycapsss/kimiko/rules.mk index f8a86f3d7e84..568f964db63f 100644 --- a/keyboards/keycapsss/kimiko/rules.mk +++ b/keyboards/keycapsss/kimiko/rules.mk @@ -9,4 +9,7 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = keycapsss/kimiko/rev1 +# LTO: Link Time Optimizations. +# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. +# This does not affect QMK Macros and Layers +LTO_ENABLE = yes From 7392c7cabe2888f54b7fc58474dc2d993c2b4bc7 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Wed, 9 Aug 2023 13:07:02 +0200 Subject: [PATCH 22/96] update readme for rev2 --- .../keycapsss/kimiko/keymaps/rev2/readme.md | 63 +++++++------------ keyboards/keycapsss/kimiko/readme.md | 54 +++++++++++++--- 2 files changed, 68 insertions(+), 49 deletions(-) diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/readme.md b/keyboards/keycapsss/kimiko/keymaps/rev2/readme.md index ff174c107111..bf9fcdd50ee9 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/readme.md +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/readme.md @@ -1,48 +1,31 @@ -# Kimiko rev2 default keymap +# Kimiko Rev2 A split keyboard with 4x6 vertically staggered keys and thumb keys. -- 60 Per key RGB led's (SK6812 Mini-E) - - RGB Matrix is enabled as default in rules.mk - - the effects can be configured in config.h - - The image below shows the positioning of switches and led as defined in the info.json. Text in the boxes:
- - Layout Label
- - Matrix Position
- - LED flag for type of switch
- - - -- Support for 1 rotary encoder per side (two possible positions) - -- Support for 1 pointing device (two possible positions) - - Pimoroni Trackball is enabled as default in rules.mk - - can be configured in config.h, e.g. for roation at different mounting position - - RGB lightning can be used for layer indication, but the Pimoroni Trackballmust be on the master side for this - +![Kimiko Rev2](https://i.imgur.com/TBP8Bcrh.jpg) + +- Keyboard Maintainer: [BenRoe](https://github.com/BenRoe/) [@keycapsss](https://twitter.com/keycapsss) +- Hardware Supported: Pro Micro 5V/16Mhz and compatible +- Hardware Availability: [Keycapsss.com](https://keycapsss.com) + +## Features + +- 62 Per key RGB led's (SK6812 Mini-E) + - RGB Matrix is enabled as default in rules.mk + - The effects can be configured in config.h +- Support for 1 rotary encoder per side (two possible positions) - Support for 1 OLED display per side - - 128x32 or 128x64 are supported - - with 1 OLED on each side, they have to be the same - - default configuration for 128x32 OLED - - 128x64 OLED can be set with #define OLED_DISPLAY_128X64 in config.h (already prepared) -
- -* Keyboard Maintainer: [BenRoe](https://github.com/BenRoe/) [@keycapsss](https://twitter.com/keycapsss) -* Hardware Supported: Pro Micro 5V/16Mhz and compatible -* Hardware Availability: [keycapsss.com](https://keycapsss.com) + - 128x32 (SSD1306) or Nice!View are supported + - With 1 OLED on each side, they have to be the same + - Default configuration for 128x32 OLED + + Make firmware .hex for this keyboard (after setting up your build environment): - make keycapsss/kimiko:default +```bash +qmk compile -kb keycapsss/kimiko/rev2 -km rev2 +``` + +Use [QMK Toolbox](https://github.com/qmk/qmk_toolbox) to flash the firmware hex file to the keyboard controller. 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). -
-
- -* For debugging: - - positioning of switches and led as defined in the info.json. Text in the boxes::
- - Layout Label
- - switch number in schematic
- - led number in schematic
- - led flag for type of switch
- -
-
diff --git a/keyboards/keycapsss/kimiko/readme.md b/keyboards/keycapsss/kimiko/readme.md index 0e2604079d78..049d460d5c70 100644 --- a/keyboards/keycapsss/kimiko/readme.md +++ b/keyboards/keycapsss/kimiko/readme.md @@ -1,23 +1,59 @@ # Kimiko - +## Rev2 + +A split keyboard with 4x6 vertically staggered keys and a Kyria style thumb thumb cluster. + +![Kimiko Rev2](https://i.imgur.com/TBP8Bcrh.jpg) + +- Keyboard Maintainer: [BenRoe](https://github.com/BenRoe/) [@keycapsss](https://twitter.com/keycapsss) +- Hardware Supported: Pro Micro 5V/16Mhz and compatible +- Hardware Availability: [Keycapsss.com](https://keycapsss.com) + +### Features (Rev2) + +- 62 Per key RGB led's (SK6812 Mini-E) + - RGB Matrix is enabled as default in rules.mk + - The effects can be configured in config.h +- Support for 1 rotary encoder per side (two possible positions) +- Support for 1 OLED display per side + - 128x32 (SSD1306) or Nice!View are supported + - With 1 OLED on each side, they have to be the same + - Default configuration for 128x32 OLED + + +Make firmware .hex for this keyboard (after setting up your build environment): + +```bash +qmk compile -kb keycapsss/kimiko/rev2 -km rev2 +``` + +Use [QMK Toolbox](https://github.com/qmk/qmk_toolbox) to flash the firmware hex file to the keyboard controller. + +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). + +## Rev1 A split keyboard with 4x6 vertically staggered keys and thumb keys. +![Kimiko Rev1](https://i.imgur.com/md6V6Eoh.jpg) + +- Keyboard Maintainer: [BenRoe](https://github.com/BenRoe/) [@keycapsss](https://twitter.com/keycapsss) +- Hardware Supported: Pro Micro 5V/16Mhz and compatible +- Hardware Availability: [Keycapsss.com](https://keycapsss.com) + +### Features (Rev1) + - Per key RGB led's (SK6812 Mini-E) - 6 underglow RGB led's per side (SK6812 Mini) - Support for 1 rotary encoder per side (two possible positions) -* Keyboard Maintainer: [BenRoe](https://github.com/BenRoe/) [@keycapsss](https://twitter.com/keycapsss) -* Hardware Supported: Pro Micro 5V/16Mhz and compatible -* Hardware Availability: [keycapsss.com](https://keycapsss.com) - Make firmware .hex for this keyboard (after setting up your build environment): - make keycapsss/kimiko:default - -Example of flashing this keyboard (or use [QMK Toolbox](https://github.com/qmk/qmk_toolbox)): +```bash +qmk compile -kb keycapsss/kimiko/rev1 -km default +``` - make keycapsss/kimiko:default:flash +Use [QMK Toolbox](https://github.com/qmk/qmk_toolbox) to flash the firmware hex file to the keyboard controller. 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). From 548edd40f72842c4e3c0a3a9db2354ddd62b76eb Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Wed, 9 Aug 2023 13:07:49 +0200 Subject: [PATCH 23/96] update rev2 files for new led count and switch pos --- .../keycapsss/kimiko/keymaps/rev2/keymap.c | 279 ++--------------- .../keycapsss/kimiko/keymaps/rev2/rules.mk | 8 +- keyboards/keycapsss/kimiko/rev2/config.h | 4 +- keyboards/keycapsss/kimiko/rev2/info.json | 282 +++++++++--------- 4 files changed, 166 insertions(+), 407 deletions(-) diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c b/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c index 07f75fee35e7..68d08f6dbef8 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| * | LShift | A | S | D | F | G |---------------. ,---------------| H | J | K | L | ; | ' | - * |---------+------+------+------+------+------| [ | [ | | [ | [ |------+------+------+------+------+-----------| + * |---------+------+------+------+------+------| ( | [ | | ] | ) |------+------+------+------+------+-----------| * | LCTRL | Z | X | C | V | B |------|--------| |-------|-------| N | M | , | . | / |RShift/Enter| * `--------------------------------------------| / \ |----------------------------------------------' * | LCTRL| LGUI |LALT |LOWER | Space / \Enter| RAISE |BackSP| RGUI | RALT | @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_LBRC, KC_RBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI, KC_RALT ), /* LOWER @@ -113,70 +113,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - - -#ifdef POINTING_DEVICE_ENABLE -void pointing_device_init_user(void) { - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - // pimoroni_trackball_set_cpi(128*125); // default should be 128*125 - pimoroni_trackball_set_rgbw(0, 40, 0, 0); - #endif - } - -layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); - - switch (get_highest_layer(state)) { - case _QWERTY: - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - pimoroni_trackball_set_rgbw(0, 40, 0, 0); - #endif - break; - case _LOWER: - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - pimoroni_trackball_set_rgbw(40, 0, 0, 0); - #endif - break; - case _RAISE: - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - pimoroni_trackball_set_rgbw(0, 0, 40, 0); - #endif - break; - case _ADJUST: - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - pimoroni_trackball_set_rgbw(40, 40, 40, 0); - #endif - break; - } - return state; -} -#else layer_state_t layer_state_set_user(layer_state_t state) { state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); return state; } -#endif + #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_keyboard_master()) { - #ifdef OLED_DISPLAY_128X64 - return OLED_ROTATION_180; - #else - return OLED_ROTATION_270; - #endif + return OLED_ROTATION_270; } else { - #ifdef OLED_DISPLAY_128X64 - return OLED_ROTATION_180; - #else - return OLED_ROTATION_270; - #endif + return OLED_ROTATION_270; } } - -#ifndef OLED_DISPLAY_128X64 void render_space(void) { oled_write_P(PSTR(" "), false); } @@ -312,165 +264,17 @@ void render_mod_status_ctrl_shift(uint8_t modifiers) { oled_write_P(shift_off_2, false); } } -#endif - -#ifdef OLED_DISPLAY_128X64 -void render_mod_status_gui_alt_ctrl_shift(uint8_t modifiers) { - static const char PROGMEM gui_off_1[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x85, 0x86, 0}; - static const char PROGMEM gui_off_2[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xa5, 0xa6, 0}; - static const char PROGMEM gui_on_1[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x8d, 0x8e, 0}; - static const char PROGMEM gui_on_2[] = {0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xad, 0xae, 0}; - - static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0xD1, 0}; - static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0xD1, 0}; - static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0xD1, 0}; - static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0xD1, 0}; - - 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,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; - static const char PROGMEM shift_off_2[] = {0xab, 0xac,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; - static const char PROGMEM shift_on_1[] = {0xcd, 0xce,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0}; - static const char PROGMEM shift_on_2[] = {0xcf, 0xd0,0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 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}; - - // line 1, gui & alt - // ------------------------------------ - 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); - } - // ------------------------------------ - - // line 1, ctrl & shift - // ------------------------------------ - 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); - } - // ------------------------------------ - - - // line 2, gui & alt - // ------------------------------------ - 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); - } - // ------------------------------------ - - // line 2, ctrl & shift - // ------------------------------------ - 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); - } - // ------------------------------------ -} -#endif void render_logo(void) { -#ifndef OLED_DISPLAY_128X64 - static const char PROGMEM kimiko_logo[] = { - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; - oled_write_P(kimiko_logo, false); - // oled_write_P(PSTR("Kimiko"), false); -#endif -#ifdef OLED_DISPLAY_128X64 - // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 - static const char PROGMEM kimiko_logo[] = { - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x72, 0x65, 0x76, 0x32, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; - oled_write_P(kimiko_logo, false); - oled_write_P(PSTR("\n"), false); -#endif - + static const char PROGMEM kimiko_logo[] = { + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; + oled_write_P(kimiko_logo, false); + // oled_write_P(PSTR("Kimiko"), false); } void render_layer_state(void) { -#ifndef OLED_DISPLAY_128X64 static const char PROGMEM default_layer[] = { 0x20, 0x94, 0x95, 0x96, 0x20, 0x20, 0xb4, 0xb5, 0xb6, 0x20, @@ -487,25 +291,7 @@ void render_layer_state(void) { 0x20, 0x9d, 0x9e, 0x9f, 0x20, 0x20, 0xbd, 0xbe, 0xbf, 0x20, 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; -#endif -#ifdef OLED_DISPLAY_128X64 - static const char PROGMEM default_layer[] = { - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x94, 0x95, 0x96, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xb4, 0xb5, 0xb6, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; - static const char PROGMEM raise_layer[] = { - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x97, 0x98, 0x99, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xb7, 0xb8, 0xb9, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; - static const char PROGMEM lower_layer[] = { - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x9a, 0x9b, 0x9c, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xba, 0xbb, 0xbc, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; - static const char PROGMEM adjust_layer[] = { - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0x9d, 0x9e, 0x9f, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xbd, 0xbe, 0xbf, 0x20, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, - 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; -#endif + if(layer_state_is(_ADJUST)) { oled_write_P(adjust_layer, false); } else if(layer_state_is(_LOWER)) { @@ -521,38 +307,21 @@ void render_layer_state(void) { } void render_status_main(void) { - #ifndef OLED_DISPLAY_128X64 - render_space(); - render_space(); - render_logo(); - 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()); - #endif - - #ifdef OLED_DISPLAY_128X64 - render_logo(); - render_layer_state(); - oled_write_P(PSTR("\n"), false); - render_mod_status_gui_alt_ctrl_shift(get_mods()|get_oneshot_mods()); - #endif + render_space(); + render_space(); + render_logo(); + 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()); } void render_status_secondary(void) { - #ifndef OLED_DISPLAY_128X64 - render_space(); - render_space(); - render_logo(); - render_space(); - #endif - #ifdef OLED_DISPLAY_128X64 - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("\n"), false); - render_logo(); - oled_write_P(PSTR("\n"), false); - #endif + render_space(); + render_space(); + render_logo(); + render_space(); } bool oled_task_user(void) { @@ -573,4 +342,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, }; -#endif // ENCODER_MAP_ENABLE \ No newline at end of file +#endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk index 84e087ae045b..4dc125f6004e 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk @@ -7,11 +7,5 @@ ENCODER_MAP_ENABLE = yes RGBLIGHT_ENABLE = no # Enable keyboard 'old' RGB lightning RGB_MATRIX_ENABLE = yes # Enable keyboard RGB Matrix lightning -POINTING_DEVICE_ENABLE = yes -POINTING_DEVICE_DRIVER = pimoroni_trackball +# POINTING_DEVICE_ENABLE = yes # POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c - -# LTO: Link Time Optimizations. -# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. -# This does not affect QMK Macros and Layers -LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h index aba1d94183ff..11d945eb60dd 100644 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ b/keyboards/keycapsss/kimiko/rev2/config.h @@ -18,8 +18,8 @@ /* SK6812 RGB LED are used for lightning*/ #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 60 // Total number of LEDs -# define RGBLED_SPLIT { 30, 30 } // LEDs per side +# define RGBLED_NUM 62 // Total number of LEDs +# define RGBLED_SPLIT { 31, 31 } // LEDs per side # define RGBLIGHT_SPLIT #endif diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 383511aea9b6..6bd6a9def9d4 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -8,13 +8,13 @@ "pid": "0x4B69", "device_version": "2.0.0" }, - "diode_direction": "COL2ROW", - "debounce": 5, - "matrix_pins": { + "diode_direction": "COL2ROW", + "debounce": 5, + "matrix_pins": { "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] }, - "features": { + "features": { "mousekey": true, "extrakey": true }, @@ -22,14 +22,12 @@ "enabled": false, "matrix": [0, 0] }, - "encoder": { - "rotary": [ - {"pin_a": "F5", "pin_b": "F4"} - ] + "encoder": { + "rotary": [{ "pin_a": "F5", "pin_b": "F4" }] }, "split": { - "soft_serial_pin": "D2", - "matrix_pins": { + "soft_serial_pin": "D2", + "matrix_pins": { "right": { "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] @@ -37,155 +35,153 @@ }, "encoder": { "right": { - "rotary": [ - {"pin_a": "F5", "pin_b": "F4"} - ] + "rotary": [{ "pin_a": "F5", "pin_b": "F4" }] } } }, + "ws2812": { + "pin": "D3" + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { "LAYOUT": { "layout": [ - {"label": "L00", "matrix": [0, 0], "x":0.00, "y":0.96}, - {"label": "L01", "matrix": [0, 1], "x":1.00, "y":0.96}, - {"label": "L02", "matrix": [0, 2], "x":2.00, "y":0.31}, - {"label": "L03", "matrix": [0, 3], "x":3.00, "y":0.00}, - {"label": "L04", "matrix": [0, 4], "x":4.00, "y":0.31}, - {"label": "L05", "matrix": [0, 5], "x":5.00, "y":0.46}, - {"label": "R00", "matrix": [6, 5], "x":12.00, "y":0.46}, - {"label": "R01", "matrix": [6, 4], "x":13.00, "y":0.31}, - {"label": "R02", "matrix": [6, 3], "x":14.00, "y":0.00}, - {"label": "R03", "matrix": [6, 2], "x":15.00, "y":0.31}, - {"label": "R04", "matrix": [6, 1], "x":16.00, "y":0.96}, - {"label": "R05", "matrix": [6, 0], "x":17.00, "y":0.96}, - - {"label": "L10", "matrix": [1, 0], "x":0.00, "y":1.96}, - {"label": "L11", "matrix": [1, 1], "x":1.00, "y":1.96}, - {"label": "L12", "matrix": [1, 2], "x":2.00, "y":1.31}, - {"label": "L13", "matrix": [1, 3], "x":3.00, "y":1.00}, - {"label": "L14", "matrix": [1, 4], "x":4.00, "y":1.31}, - {"label": "L15", "matrix": [1, 5], "x":5.00, "y":1.46}, - {"label": "R10", "matrix": [7, 5], "x":12.00, "y":1.46}, - {"label": "R11", "matrix": [7, 4], "x":13.00, "y":1.31}, - {"label": "R12", "matrix": [7, 3], "x":14.00, "y":1.00}, - {"label": "R13", "matrix": [7, 2], "x":15.00, "y":1.31}, - {"label": "R14", "matrix": [7, 1], "x":16.00, "y":1.96}, - {"label": "R15", "matrix": [7, 0], "x":17.00, "y":1.96}, - - {"label": "L20", "matrix": [2, 0], "x":0.00, "y":2.96}, - {"label": "L21", "matrix": [2, 1], "x":1.00, "y":2.96}, - {"label": "L22", "matrix": [2, 2], "x":2.00, "y":2.31}, - {"label": "L23", "matrix": [2, 3], "x":3.00, "y":2.00}, - {"label": "L24", "matrix": [2, 4], "x":4.00, "y":2.31}, - {"label": "L25", "matrix": [2, 5], "x":5.00, "y":2.46}, - {"label": "R20", "matrix": [8, 5], "x":12.00, "y":2.46}, - {"label": "R21", "matrix": [8, 4], "x":13.00, "y":2.31}, - {"label": "R22", "matrix": [8, 3], "x":14.00, "y":2.00}, - {"label": "R23", "matrix": [8, 2], "x":15.00, "y":2.31}, - {"label": "R24", "matrix": [8, 1], "x":16.00, "y":2.96}, - {"label": "R25", "matrix": [8, 0], "x":17.00, "y":2.96}, - - {"label": "L30", "matrix": [3, 0], "x":0.00, "y":3.96}, - {"label": "L31", "matrix": [3, 1], "x":1.00, "y":3.96}, - {"label": "L32", "matrix": [3, 2], "x":2.00, "y":3.31}, - {"label": "L33", "matrix": [3, 3], "x":3.00, "y":3.00}, - {"label": "L34", "matrix": [3, 4], "x":4.00, "y":3.31}, - {"label": "L35", "matrix": [3, 5], "x":5.00, "y":3.46}, - {"label": "L50", "matrix": [5, 5], "x":6.05, "y":4.06, "h":1.5}, - {"label": "L40", "matrix": [4, 5], "x":7.10, "y":4.41}, - {"label": "R40", "matrix": [10, 5], "x":9.90, "y":4.41}, - {"label": "R50", "matrix": [11, 5], "x":10.95, "y":4.06, "h":1.5}, - {"label": "R30", "matrix": [9, 5], "x":12.00, "y":3.46}, - {"label": "R31", "matrix": [9, 4], "x":13.00, "y":3.31}, - {"label": "R32", "matrix": [9, 3], "x":14.00, "y":3.00}, - {"label": "R33", "matrix": [9, 2], "x":15.00, "y":3.31}, - {"label": "R34", "matrix": [9, 1], "x":16.00, "y":3.96}, - {"label": "R35", "matrix": [9, 0], "x":17.00, "y":3.96}, - - {"label": "L41", "matrix": [4, 0], "x":2.00, "y":4.31, "h":1.5}, - {"label": "L42", "matrix": [4, 1], "x":3.00, "y":4.00}, - {"label": "L43", "matrix": [4, 2], "x":4.00, "y":4.31}, - {"label": "L44", "matrix": [4, 3], "x":5.55, "y":5.06, "h":1.5}, - {"label": "L45", "matrix": [4, 4], "x":6.60, "y":5.41}, - {"label": "R41", "matrix": [10, 4], "x":10.40, "y":5.41}, - {"label": "R42", "matrix": [10, 3], "x":11.45, "y":5.06, "h":1.5}, - {"label": "R43", "matrix": [10, 2], "x":13.00, "y":4.31}, - {"label": "R44", "matrix": [10, 1], "x":14.00, "y":4.00}, - {"label": "R45", "matrix": [10, 0], "x":15.00, "y":4.31, "h":1.5} + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [6, 3], "x": 14, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0.31 }, + { "matrix": [0, 4], "x": 4, "y": 0.31 }, + { "matrix": [6, 4], "x": 13, "y": 0.31 }, + { "matrix": [6, 2], "x": 15, "y": 0.31 }, + { "matrix": [6, 5], "x": 12, "y": 0.45 }, + { "matrix": [0, 5], "x": 5, "y": 0.46 }, + { "matrix": [0, 0], "x": 0, "y": 0.96 }, + { "matrix": [0, 1], "x": 1, "y": 0.96 }, + { "matrix": [6, 1], "x": 16, "y": 0.96 }, + { "matrix": [6, 0], "x": 17, "y": 0.96 }, + { "matrix": [1, 3], "x": 3, "y": 1 }, + { "matrix": [7, 3], "x": 14, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1.31 }, + { "matrix": [1, 4], "x": 4, "y": 1.31 }, + { "matrix": [7, 4], "x": 13, "y": 1.31 }, + { "matrix": [7, 2], "x": 15, "y": 1.31 }, + { "matrix": [1, 5], "x": 5, "y": 1.46 }, + { "matrix": [7, 5], "x": 12, "y": 1.46 }, + { "matrix": [1, 0], "x": 0, "y": 1.96 }, + { "matrix": [1, 1], "x": 1, "y": 1.96 }, + { "matrix": [7, 1], "x": 16, "y": 1.96 }, + { "matrix": [7, 0], "x": 17, "y": 1.96 }, + { "matrix": [2, 3], "x": 3, "y": 2 }, + { "matrix": [8, 3], "x": 14, "y": 2 }, + { "matrix": [2, 2], "x": 2, "y": 2.31 }, + { "matrix": [2, 4], "x": 4, "y": 2.31 }, + { "matrix": [8, 4], "x": 13, "y": 2.31 }, + { "matrix": [8, 2], "x": 15, "y": 2.31 }, + { "matrix": [2, 5], "x": 5, "y": 2.46 }, + { "matrix": [8, 5], "x": 12, "y": 2.46 }, + { "matrix": [2, 0], "x": 0, "y": 2.96 }, + { "matrix": [2, 1], "x": 1, "y": 2.96 }, + { "matrix": [8, 1], "x": 16, "y": 2.96 }, + { "matrix": [8, 0], "x": 17, "y": 2.96 }, + { "matrix": [3, 3], "x": 3, "y": 3 }, + { "matrix": [9, 3], "x": 14, "y": 3 }, + { "matrix": [3, 2], "x": 2, "y": 3.31 }, + { "matrix": [3, 4], "x": 4, "y": 3.31 }, + { "matrix": [9, 4], "x": 13, "y": 3.31 }, + { "matrix": [9, 2], "x": 15, "y": 3.31 }, + { "matrix": [3, 5], "x": 5, "y": 3.46 }, + { "matrix": [9, 5], "x": 12, "y": 3.46 }, + { "matrix": [3, 0], "x": 0, "y": 3.96 }, + { "matrix": [9, 1], "x": 16, "y": 3.96 }, + { "matrix": [9, 0], "x": 17, "y": 3.96 }, + { "matrix": [3, 1], "x": 1, "y": 4 }, + { "matrix": [4, 0], "x": 2.5, "y": 4.5 }, + { "matrix": [4, 1], "x": 3.5, "y": 4.5 }, + { "matrix": [10, 1], "x": 13.5, "y": 4.5 }, + { "matrix": [10, 0], "x": 14.5, "y": 4.5 }, + { "matrix": [10, 2], "x": 12.5, "y": 4.75 }, + { "matrix": [4, 2], "x": 4.5, "y": 4.95 }, + { "matrix": [10, 5], "x": 10.25, "y": 5 }, + { "matrix": [4, 3], "x": 5.5, "y": 5.5 }, + { "matrix": [10, 3], "x": 11.5, "y": 5.5 }, + { "matrix": [4, 4], "x": 6.5, "y": 6 }, + { "matrix": [10, 4], "x": 10.5, "y": 6 }, + { "matrix": [11, 5], "x": 11.25, "y": 4.5 }, + { "matrix": [5, 5], "x": 5.75, "y": 4.51 }, + { "matrix": [4, 5], "x": 6.75, "y": 5 } ] } }, - "rgblight": { - "pin": "D3", - "led_count": 60, + "rgblight": { + "led_count": 62, "split": true, - "split_count": [30, 30] + "split_count": [31, 31] }, "rgb_matrix": { "driver": "WS2812", "layout": [ - {"flags": 4, "matrix": [0, 5], "x": 66, "y": 5}, - {"flags": 4, "matrix": [0, 4], "x": 53, "y": 4}, - {"flags": 4, "matrix": [0, 3], "x": 40, "y": 0}, - {"flags": 4, "matrix": [0, 2], "x": 26, "y": 4}, - {"flags": 4, "matrix": [0, 1], "x": 13, "y": 11}, - {"flags": 4, "matrix": [0, 0], "x": 0, "y": 11}, - {"flags": 4, "matrix": [1, 0], "x": 0, "y": 23}, - {"flags": 4, "matrix": [1, 1], "x": 13, "y": 23}, - {"flags": 4, "matrix": [1, 2], "x": 26, "y": 15}, - {"flags": 4, "matrix": [1, 3], "x": 40, "y": 12}, - {"flags": 4, "matrix": [1, 4], "x": 53, "y": 15}, - {"flags": 4, "matrix": [1, 5], "x": 66, "y": 17}, - {"flags": 4, "matrix": [2, 5], "x": 66, "y": 29}, - {"flags": 4, "matrix": [2, 4], "x": 53, "y": 27}, - {"flags": 4, "matrix": [2, 3], "x": 40, "y": 24}, - {"flags": 4, "matrix": [2, 2], "x": 26, "y": 27}, - {"flags": 4, "matrix": [2, 1], "x": 13, "y": 35}, - {"flags": 1, "matrix": [2, 0], "x": 0, "y": 35}, - {"flags": 1, "matrix": [3, 0], "x": 0, "y": 47}, - {"flags": 4, "matrix": [3, 1], "x": 13, "y": 47}, - {"flags": 4, "matrix": [3, 2], "x": 26, "y": 39}, - {"flags": 4, "matrix": [3, 3], "x": 40, "y": 36}, - {"flags": 4, "matrix": [3, 4], "x": 53, "y": 39}, - {"flags": 4, "matrix": [3, 5], "x": 66, "y": 41}, - {"flags": 4, "matrix": [4, 5], "x": 94, "y": 52}, - {"flags": 4, "matrix": [4, 4], "x": 87, "y": 64}, - {"flags": 1, "matrix": [4, 3], "x": 73, "y": 60}, - {"flags": 1, "matrix": [4, 2], "x": 53, "y": 51}, - {"flags": 1, "matrix": [4, 1], "x": 40, "y": 47}, - {"flags": 1, "matrix": [4, 0], "x": 26, "y": 51}, - {"flags": 4, "matrix": [6, 5], "x": 158, "y": 5}, - {"flags": 4, "matrix": [6, 4], "x": 171, "y": 4}, - {"flags": 4, "matrix": [6, 3], "x": 184, "y": 0}, - {"flags": 4, "matrix": [6, 2], "x": 198, "y": 4}, - {"flags": 4, "matrix": [6, 1], "x": 211, "y": 11}, - {"flags": 4, "matrix": [6, 0], "x": 224, "y": 11}, - {"flags": 4, "matrix": [7, 0], "x": 224, "y": 23}, - {"flags": 4, "matrix": [7, 1], "x": 211, "y": 23}, - {"flags": 4, "matrix": [7, 2], "x": 198, "y": 15}, - {"flags": 4, "matrix": [7, 3], "x": 184, "y": 12}, - {"flags": 4, "matrix": [7, 4], "x": 171, "y": 15}, - {"flags": 4, "matrix": [7, 5], "x": 158, "y": 17}, - {"flags": 4, "matrix": [8, 5], "x": 158, "y": 29}, - {"flags": 4, "matrix": [8, 4], "x": 171, "y": 27}, - {"flags": 4, "matrix": [8, 3], "x": 184, "y": 24}, - {"flags": 4, "matrix": [8, 2], "x": 198, "y": 27}, - {"flags": 4, "matrix": [8, 1], "x": 211, "y": 35}, - {"flags": 4, "matrix": [8, 0], "x": 224, "y": 35}, - {"flags": 1, "matrix": [9, 0], "x": 224, "y": 47}, - {"flags": 4, "matrix": [9, 1], "x": 211, "y": 47}, - {"flags": 4, "matrix": [9, 2], "x": 198, "y": 39}, - {"flags": 4, "matrix": [9, 3], "x": 184, "y": 36}, - {"flags": 4, "matrix": [9, 4], "x": 171, "y": 39}, - {"flags": 4, "matrix": [9, 5], "x": 158, "y": 41}, - {"flags": 4, "matrix": [10, 5], "x": 130, "y": 52}, - {"flags": 4, "matrix": [10, 4], "x": 137, "y": 64}, - {"flags": 1, "matrix": [10, 3], "x": 151, "y": 60}, - {"flags": 4, "matrix": [10, 2], "x": 171, "y": 51}, - {"flags": 1, "matrix": [10, 1], "x": 184, "y": 47}, - {"flags": 1, "matrix": [10, 0], "x": 198, "y": 51} + { "flags": 4, "matrix": [0, 5], "x": 66, "y": 5 }, + { "flags": 4, "matrix": [0, 4], "x": 53, "y": 4 }, + { "flags": 4, "matrix": [0, 3], "x": 40, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 26, "y": 4 }, + { "flags": 4, "matrix": [0, 1], "x": 13, "y": 11 }, + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 11 }, + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 23 }, + { "flags": 4, "matrix": [1, 1], "x": 13, "y": 23 }, + { "flags": 4, "matrix": [1, 2], "x": 26, "y": 15 }, + { "flags": 4, "matrix": [1, 3], "x": 40, "y": 12 }, + { "flags": 4, "matrix": [1, 4], "x": 53, "y": 15 }, + { "flags": 4, "matrix": [1, 5], "x": 66, "y": 17 }, + { "flags": 4, "matrix": [2, 5], "x": 66, "y": 29 }, + { "flags": 4, "matrix": [2, 4], "x": 53, "y": 27 }, + { "flags": 4, "matrix": [2, 3], "x": 40, "y": 24 }, + { "flags": 4, "matrix": [2, 2], "x": 26, "y": 27 }, + { "flags": 4, "matrix": [2, 1], "x": 13, "y": 35 }, + { "flags": 1, "matrix": [2, 0], "x": 0, "y": 35 }, + { "flags": 1, "matrix": [3, 0], "x": 0, "y": 47 }, + { "flags": 4, "matrix": [3, 1], "x": 13, "y": 47 }, + { "flags": 4, "matrix": [3, 2], "x": 26, "y": 39 }, + { "flags": 4, "matrix": [3, 3], "x": 40, "y": 36 }, + { "flags": 4, "matrix": [3, 4], "x": 53, "y": 39 }, + { "flags": 4, "matrix": [3, 5], "x": 66, "y": 41 }, + { "flags": 4, "matrix": [5, 5], "x": 80, "y": 48 }, + { "flags": 4, "matrix": [4, 5], "x": 94, "y": 52 }, + { "flags": 4, "matrix": [4, 4], "x": 87, "y": 64 }, + { "flags": 1, "matrix": [4, 3], "x": 73, "y": 60 }, + { "flags": 1, "matrix": [4, 2], "x": 53, "y": 51 }, + { "flags": 1, "matrix": [4, 1], "x": 40, "y": 47 }, + { "flags": 1, "matrix": [4, 0], "x": 26, "y": 51 }, + { "flags": 4, "matrix": [6, 5], "x": 158, "y": 5 }, + { "flags": 4, "matrix": [6, 4], "x": 171, "y": 4 }, + { "flags": 4, "matrix": [6, 3], "x": 184, "y": 0 }, + { "flags": 4, "matrix": [6, 2], "x": 198, "y": 4 }, + { "flags": 4, "matrix": [6, 1], "x": 211, "y": 11 }, + { "flags": 4, "matrix": [6, 0], "x": 224, "y": 11 }, + { "flags": 4, "matrix": [7, 0], "x": 224, "y": 23 }, + { "flags": 4, "matrix": [7, 1], "x": 211, "y": 23 }, + { "flags": 4, "matrix": [7, 2], "x": 198, "y": 15 }, + { "flags": 4, "matrix": [7, 3], "x": 184, "y": 12 }, + { "flags": 4, "matrix": [7, 4], "x": 171, "y": 15 }, + { "flags": 4, "matrix": [7, 5], "x": 158, "y": 17 }, + { "flags": 4, "matrix": [8, 5], "x": 158, "y": 29 }, + { "flags": 4, "matrix": [8, 4], "x": 171, "y": 27 }, + { "flags": 4, "matrix": [8, 3], "x": 184, "y": 24 }, + { "flags": 4, "matrix": [8, 2], "x": 198, "y": 27 }, + { "flags": 4, "matrix": [8, 1], "x": 211, "y": 35 }, + { "flags": 4, "matrix": [8, 0], "x": 224, "y": 35 }, + { "flags": 1, "matrix": [9, 0], "x": 224, "y": 47 }, + { "flags": 4, "matrix": [9, 1], "x": 211, "y": 47 }, + { "flags": 4, "matrix": [9, 2], "x": 198, "y": 39 }, + { "flags": 4, "matrix": [9, 3], "x": 184, "y": 36 }, + { "flags": 4, "matrix": [9, 4], "x": 171, "y": 39 }, + { "flags": 4, "matrix": [9, 5], "x": 158, "y": 41 }, + { "flags": 4, "matrix": [11, 5], "x": 144, "y": 48 }, + { "flags": 4, "matrix": [10, 5], "x": 130, "y": 52 }, + { "flags": 4, "matrix": [10, 4], "x": 137, "y": 64 }, + { "flags": 1, "matrix": [10, 3], "x": 151, "y": 60 }, + { "flags": 4, "matrix": [10, 2], "x": 171, "y": 51 }, + { "flags": 1, "matrix": [10, 1], "x": 184, "y": 47 }, + { "flags": 1, "matrix": [10, 0], "x": 198, "y": 51 } ] } } From 8d15dcd9be054da76d5ceea85070e8010cfbde46 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Wed, 9 Aug 2023 14:04:25 +0200 Subject: [PATCH 24/96] add missing license header --- .../keycapsss/kimiko/keymaps/default/glcdfont.c | 17 +++++++++++++++++ .../keycapsss/kimiko/keymaps/rev2/glcdfont.c | 17 +++++++++++++++++ keyboards/keycapsss/kimiko/rev1/rev1.h | 15 +++++++++++++++ 3 files changed, 49 insertions(+) diff --git a/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c index 19d45a75c706..4c7e6862b6ba 100644 --- a/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c +++ b/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c @@ -1,3 +1,20 @@ +/* Copyright 2019 MechMerlin + * Copyright 2020 @ben_roe (keycapsss.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" // Corne 8x6 font diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/rev2/glcdfont.c index 19d45a75c706..4c7e6862b6ba 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/glcdfont.c +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/glcdfont.c @@ -1,3 +1,20 @@ +/* Copyright 2019 MechMerlin + * Copyright 2020 @ben_roe (keycapsss.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" // Corne 8x6 font diff --git a/keyboards/keycapsss/kimiko/rev1/rev1.h b/keyboards/keycapsss/kimiko/rev1/rev1.h index e69de29bb2d1..335217847850 100644 --- a/keyboards/keycapsss/kimiko/rev1/rev1.h +++ b/keyboards/keycapsss/kimiko/rev1/rev1.h @@ -0,0 +1,15 @@ +/* Copyright 2023 @ben_roe (keycapsss.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 . + */ From 06e057335b25a75741b7daeccb784e1881656ed9 Mon Sep 17 00:00:00 2001 From: Ben Date: Thu, 10 Aug 2023 11:22:05 +0200 Subject: [PATCH 25/96] Update keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk Co-authored-by: Ryan --- keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk index 4dc125f6004e..a2c0fc844707 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk +++ b/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders ENCODER_MAP_ENABLE = yes From 6a54e10ff94d71460b9ff957652fa9c79a0eefaa Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 10 Aug 2023 11:27:11 +0200 Subject: [PATCH 26/96] move rev keymaps into rev folders --- .../keycapsss/kimiko/{ => rev1}/keymaps/default/config.h | 2 +- .../kimiko/{ => rev1}/keymaps/default/glcdfont.c | 0 .../keycapsss/kimiko/{ => rev1}/keymaps/default/keymap.c | 0 .../keycapsss/kimiko/{ => rev1}/keymaps/default/rules.mk | 0 .../{keymaps/rev2 => rev2/keymaps/default}/config.h | 8 ++++---- .../{keymaps/rev2 => rev2/keymaps/default}/glcdfont.c | 0 .../{keymaps/rev2 => rev2/keymaps/default}/keymap.c | 2 +- .../{keymaps/rev2 => rev2/keymaps/default}/readme.md | 0 .../{keymaps/rev2 => rev2/keymaps/default}/rules.mk | 0 9 files changed, 6 insertions(+), 6 deletions(-) rename keyboards/keycapsss/kimiko/{ => rev1}/keymaps/default/config.h (95%) rename keyboards/keycapsss/kimiko/{ => rev1}/keymaps/default/glcdfont.c (100%) rename keyboards/keycapsss/kimiko/{ => rev1}/keymaps/default/keymap.c (100%) rename keyboards/keycapsss/kimiko/{ => rev1}/keymaps/default/rules.mk (100%) rename keyboards/keycapsss/kimiko/{keymaps/rev2 => rev2/keymaps/default}/config.h (98%) rename keyboards/keycapsss/kimiko/{keymaps/rev2 => rev2/keymaps/default}/glcdfont.c (100%) rename keyboards/keycapsss/kimiko/{keymaps/rev2 => rev2/keymaps/default}/keymap.c (99%) rename keyboards/keycapsss/kimiko/{keymaps/rev2 => rev2/keymaps/default}/readme.md (100%) rename keyboards/keycapsss/kimiko/{keymaps/rev2 => rev2/keymaps/default}/rules.mk (100%) diff --git a/keyboards/keycapsss/kimiko/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev1/keymaps/default/config.h similarity index 95% rename from keyboards/keycapsss/kimiko/keymaps/default/config.h rename to keyboards/keycapsss/kimiko/rev1/keymaps/default/config.h index 52faaf2b6525..a6556d5876a6 100644 --- a/keyboards/keycapsss/kimiko/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev1/keymaps/default/config.h @@ -22,7 +22,7 @@ // #define MASTER_RIGHT // #define EE_HANDS -#define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c" +#define OLED_FONT_H "keyboards/keycapsss/kimiko/rev1/keymaps/default/glcdfont.c" // #define OLED_FONT_WIDTH 5 // #define OLED_FONT_HEIGHT 7 diff --git a/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c b/keyboards/keycapsss/kimiko/rev1/keymaps/default/glcdfont.c similarity index 100% rename from keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c rename to keyboards/keycapsss/kimiko/rev1/keymaps/default/glcdfont.c diff --git a/keyboards/keycapsss/kimiko/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/rev1/keymaps/default/keymap.c similarity index 100% rename from keyboards/keycapsss/kimiko/keymaps/default/keymap.c rename to keyboards/keycapsss/kimiko/rev1/keymaps/default/keymap.c diff --git a/keyboards/keycapsss/kimiko/keymaps/default/rules.mk b/keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk similarity index 100% rename from keyboards/keycapsss/kimiko/keymaps/default/rules.mk rename to keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h similarity index 98% rename from keyboards/keycapsss/kimiko/keymaps/rev2/config.h rename to keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index 42d33c56276b..6b2242f83ff1 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -36,7 +36,7 @@ // OLED definitions //------------------------------------------ #ifdef OLED_ENABLE -#define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c" +#define OLED_FONT_H "keyboards/keycapsss/kimiko/rev2/keymaps/default/glcdfont.c" // #define OLED_FONT_WIDTH 5 // #define OLED_FONT_HEIGHT 7 // #define OLED_DISPLAY_128X64 //128x64 needs this define, for 128x32 display no extra define is needed and this can be removed/commented @@ -53,7 +53,7 @@ // #define RGB_MATRIX_KEYRELEASES // These modes don’t require any additional defines. - #define ENABLE_RGB_MATRIX_NONE + #define ENABLE_RGB_MATRIX_NONE #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support // #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue @@ -103,7 +103,7 @@ // #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out // #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out - + #define RGB_MATRIX_VAL_STEP 4 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR #define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set @@ -154,4 +154,4 @@ // #define SPLIT_LAYER_STATE_ENABLE //syncs state information to the secondary side // #define SPLIT_LED_STATE_ENABLE // #define SPLIT_MODS_ENABLE -//------------------------------------------ \ No newline at end of file +//------------------------------------------ diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/glcdfont.c b/keyboards/keycapsss/kimiko/rev2/keymaps/default/glcdfont.c similarity index 100% rename from keyboards/keycapsss/kimiko/keymaps/rev2/glcdfont.c rename to keyboards/keycapsss/kimiko/rev2/keymaps/default/glcdfont.c diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c similarity index 99% rename from keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c rename to keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c index 68d08f6dbef8..7c30fd0cbe53 100644 --- a/keyboards/keycapsss/kimiko/keymaps/rev2/keymap.c +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c @@ -32,7 +32,7 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* QWERTY * ,--------------------------------------------. ,----------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/readme.md b/keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md similarity index 100% rename from keyboards/keycapsss/kimiko/keymaps/rev2/readme.md rename to keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md diff --git a/keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk b/keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk similarity index 100% rename from keyboards/keycapsss/kimiko/keymaps/rev2/rules.mk rename to keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk From cdd631a2bab08691ed9134e20223ecfe153bdbf4 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 10 Aug 2023 11:27:55 +0200 Subject: [PATCH 27/96] delete unnecessary files --- keyboards/keycapsss/kimiko/rev2/rev2.c | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 keyboards/keycapsss/kimiko/rev2/rev2.c diff --git a/keyboards/keycapsss/kimiko/rev2/rev2.c b/keyboards/keycapsss/kimiko/rev2/rev2.c deleted file mode 100644 index 7c38ad2b4a36..000000000000 --- a/keyboards/keycapsss/kimiko/rev2/rev2.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2023 @ben_roe (keycapsss.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 "rev2.h" From 359f2885c832f9dfc15d61bb7c91725e9d754d4d Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 10 Aug 2023 11:47:05 +0200 Subject: [PATCH 28/96] update keyboard name and maintainer --- keyboards/keycapsss/kimiko/rev2/info.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 6bd6a9def9d4..54154d4793c5 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -1,8 +1,8 @@ { - "keyboard_name": "Kimiko", + "keyboard_name": "Kimiko Rev2", "manufacturer": "Keycapsss", "url": "https://keycapsss.com", - "maintainer": "@ben_roe Keycapsss", + "maintainer": "BenRoe", "usb": { "vid": "0x7983", "pid": "0x4B69", From cfa219db71120193121573ba274b22be5e7a51ab Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 10 Aug 2023 11:50:05 +0200 Subject: [PATCH 29/96] update info.json - fix layout matrix - remove bootmagic - add development_board - remove processor and bootloader entry --- keyboards/keycapsss/kimiko/rev2/info.json | 143 +++++++++++----------- 1 file changed, 74 insertions(+), 69 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 54154d4793c5..167160d1edac 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -16,11 +16,8 @@ }, "features": { "mousekey": true, - "extrakey": true - }, - "bootmagic": { - "enabled": false, - "matrix": [0, 0] + "extrakey": true, + "encoder": true }, "encoder": { "rotary": [{ "pin_a": "F5", "pin_b": "F4" }] @@ -42,73 +39,81 @@ "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [6, 3], "x": 14, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0.31 }, - { "matrix": [0, 4], "x": 4, "y": 0.31 }, - { "matrix": [6, 4], "x": 13, "y": 0.31 }, - { "matrix": [6, 2], "x": 15, "y": 0.31 }, - { "matrix": [6, 5], "x": 12, "y": 0.45 }, - { "matrix": [0, 5], "x": 5, "y": 0.46 }, - { "matrix": [0, 0], "x": 0, "y": 0.96 }, - { "matrix": [0, 1], "x": 1, "y": 0.96 }, - { "matrix": [6, 1], "x": 16, "y": 0.96 }, - { "matrix": [6, 0], "x": 17, "y": 0.96 }, - { "matrix": [1, 3], "x": 3, "y": 1 }, - { "matrix": [7, 3], "x": 14, "y": 1 }, - { "matrix": [1, 2], "x": 2, "y": 1.31 }, - { "matrix": [1, 4], "x": 4, "y": 1.31 }, - { "matrix": [7, 4], "x": 13, "y": 1.31 }, - { "matrix": [7, 2], "x": 15, "y": 1.31 }, - { "matrix": [1, 5], "x": 5, "y": 1.46 }, - { "matrix": [7, 5], "x": 12, "y": 1.46 }, - { "matrix": [1, 0], "x": 0, "y": 1.96 }, - { "matrix": [1, 1], "x": 1, "y": 1.96 }, - { "matrix": [7, 1], "x": 16, "y": 1.96 }, - { "matrix": [7, 0], "x": 17, "y": 1.96 }, - { "matrix": [2, 3], "x": 3, "y": 2 }, - { "matrix": [8, 3], "x": 14, "y": 2 }, - { "matrix": [2, 2], "x": 2, "y": 2.31 }, - { "matrix": [2, 4], "x": 4, "y": 2.31 }, - { "matrix": [8, 4], "x": 13, "y": 2.31 }, - { "matrix": [8, 2], "x": 15, "y": 2.31 }, - { "matrix": [2, 5], "x": 5, "y": 2.46 }, - { "matrix": [8, 5], "x": 12, "y": 2.46 }, - { "matrix": [2, 0], "x": 0, "y": 2.96 }, - { "matrix": [2, 1], "x": 1, "y": 2.96 }, - { "matrix": [8, 1], "x": 16, "y": 2.96 }, - { "matrix": [8, 0], "x": 17, "y": 2.96 }, - { "matrix": [3, 3], "x": 3, "y": 3 }, - { "matrix": [9, 3], "x": 14, "y": 3 }, - { "matrix": [3, 2], "x": 2, "y": 3.31 }, - { "matrix": [3, 4], "x": 4, "y": 3.31 }, - { "matrix": [9, 4], "x": 13, "y": 3.31 }, - { "matrix": [9, 2], "x": 15, "y": 3.31 }, - { "matrix": [3, 5], "x": 5, "y": 3.46 }, - { "matrix": [9, 5], "x": 12, "y": 3.46 }, - { "matrix": [3, 0], "x": 0, "y": 3.96 }, - { "matrix": [9, 1], "x": 16, "y": 3.96 }, - { "matrix": [9, 0], "x": 17, "y": 3.96 }, - { "matrix": [3, 1], "x": 1, "y": 4 }, - { "matrix": [4, 0], "x": 2.5, "y": 4.5 }, - { "matrix": [4, 1], "x": 3.5, "y": 4.5 }, - { "matrix": [10, 1], "x": 13.5, "y": 4.5 }, - { "matrix": [10, 0], "x": 14.5, "y": 4.5 }, - { "matrix": [10, 2], "x": 12.5, "y": 4.75 }, - { "matrix": [4, 2], "x": 4.5, "y": 4.95 }, - { "matrix": [10, 5], "x": 10.25, "y": 5 }, - { "matrix": [4, 3], "x": 5.5, "y": 5.5 }, - { "matrix": [10, 3], "x": 11.5, "y": 5.5 }, - { "matrix": [4, 4], "x": 6.5, "y": 6 }, - { "matrix": [10, 4], "x": 10.5, "y": 6 }, - { "matrix": [11, 5], "x": 11.25, "y": 4.5 }, - { "matrix": [5, 5], "x": 5.75, "y": 4.51 }, - { "matrix": [4, 5], "x": 6.75, "y": 5 } + { "label": "L00", "matrix": [0, 0], "x": 0, "y": 0.96 }, + { "label": "L01", "matrix": [0, 1], "x": 1, "y": 0.96 }, + { "label": "L02", "matrix": [0, 2], "x": 2, "y": 0.31 }, + { "label": "L03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "L04", "matrix": [0, 4], "x": 4, "y": 0.31 }, + { "label": "L05", "matrix": [0, 5], "x": 5, "y": 0.46 }, + + { "label": "R00", "matrix": [6, 5], "x": 12, "y": 0.45 }, + { "label": "R01", "matrix": [6, 4], "x": 13, "y": 0.31 }, + { "label": "R02", "matrix": [6, 3], "x": 14, "y": 0 }, + { "label": "R03", "matrix": [6, 2], "x": 15, "y": 0.31 }, + { "label": "R04", "matrix": [6, 1], "x": 16, "y": 0.96 }, + { "label": "R05", "matrix": [6, 0], "x": 17, "y": 0.96 }, + + { "label": "L10", "matrix": [1, 0], "x": 0, "y": 1.96 }, + { "label": "L11", "matrix": [1, 1], "x": 1, "y": 1.96 }, + { "label": "L12", "matrix": [1, 2], "x": 2, "y": 1.31 }, + { "label": "L13", "matrix": [1, 3], "x": 3, "y": 1 }, + { "label": "L14", "matrix": [1, 4], "x": 4, "y": 1.31 }, + { "label": "L15", "matrix": [1, 5], "x": 5, "y": 1.46 }, + + { "label": "R10", "matrix": [7, 5], "x": 12, "y": 1.46 }, + { "label": "R11", "matrix": [7, 4], "x": 13, "y": 1.31 }, + { "label": "R12", "matrix": [7, 3], "x": 14, "y": 1 }, + { "label": "R13", "matrix": [7, 2], "x": 15, "y": 1.31 }, + { "label": "R14", "matrix": [7, 1], "x": 16, "y": 1.96 }, + { "label": "R15", "matrix": [7, 0], "x": 17, "y": 1.96 }, + + { "label": "L20", "matrix": [2, 0], "x": 0, "y": 2.96 }, + { "label": "L21", "matrix": [2, 1], "x": 1, "y": 2.96 }, + { "label": "L22", "matrix": [2, 2], "x": 2, "y": 2.31 }, + { "label": "L23", "matrix": [2, 3], "x": 3, "y": 2 }, + { "label": "L24", "matrix": [2, 4], "x": 4, "y": 2.31 }, + { "label": "L25", "matrix": [2, 5], "x": 5, "y": 2.46 }, + + { "label": "R20", "matrix": [8, 5], "x": 12, "y": 2.46 }, + { "label": "R21", "matrix": [8, 4], "x": 13, "y": 2.31 }, + { "label": "R22", "matrix": [8, 3], "x": 14, "y": 2 }, + { "label": "R23", "matrix": [8, 2], "x": 15, "y": 2.31 }, + { "label": "R24", "matrix": [8, 1], "x": 16, "y": 2.96 }, + { "label": "R25", "matrix": [8, 0], "x": 17, "y": 2.96 }, + + { "label": "L30", "matrix": [3, 0], "x": 0, "y": 3.96 }, + { "label": "L31", "matrix": [3, 1], "x": 1, "y": 4 }, + { "label": "L32", "matrix": [3, 2], "x": 2, "y": 3.31 }, + { "label": "L33", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "L34", "matrix": [3, 4], "x": 4, "y": 3.31 }, + { "label": "L35", "matrix": [3, 5], "x": 5, "y": 3.46 }, + { "label": "L50", "matrix": [5, 5], "x": 5.75, "y": 4.51 }, + { "label": "L40", "matrix": [4, 5], "x": 6.75, "y": 5 }, + + { "label": "R40", "matrix": [10, 5], "x": 10.25, "y": 5 }, + { "label": "R50", "matrix": [11, 5], "x": 11.25, "y": 4.5 }, + { "label": "R30", "matrix": [9, 5], "x": 12, "y": 3.46 }, + { "label": "R31", "matrix": [9, 4], "x": 13, "y": 3.31 }, + { "label": "R32", "matrix": [9, 3], "x": 14, "y": 3 }, + { "label": "R33", "matrix": [9, 2], "x": 15, "y": 3.31 }, + { "label": "R34", "matrix": [9, 1], "x": 16, "y": 3.96 }, + { "label": "R35", "matrix": [9, 0], "x": 17, "y": 3.96 }, + + { "label": "L41", "matrix": [4, 0], "x": 2.5, "y": 4.5 }, + { "label": "L42", "matrix": [4, 1], "x": 3.5, "y": 4.5 }, + { "label": "L43", "matrix": [4, 2], "x": 4.5, "y": 4.95 }, + { "label": "L44", "matrix": [4, 3], "x": 5.5, "y": 5.5 }, + { "label": "L45", "matrix": [4, 4], "x": 6.5, "y": 6 }, + + { "label": "R41", "matrix": [10, 4], "x": 10.5, "y": 6 }, + { "label": "R42", "matrix": [10, 3], "x": 11.5, "y": 5.5 }, + { "label": "R43", "matrix": [10, 2], "x": 12.5, "y": 4.75 }, + { "label": "R44", "matrix": [10, 1], "x": 13.5, "y": 4.5 }, + { "label": "R45", "matrix": [10, 0], "x": 14.5, "y": 4.5 } ] } }, From baf3f5bb3a787d97a44fe24cf038d84ed0d0f0fa Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Fri, 11 Aug 2023 11:16:19 +0200 Subject: [PATCH 30/96] delete unnecessary files --- keyboards/keycapsss/kimiko/kimiko.c | 16 --------------- keyboards/keycapsss/kimiko/kimiko.h | 8 -------- keyboards/keycapsss/kimiko/rev1/rev1.h | 15 -------------- keyboards/keycapsss/kimiko/rev2/rev2.h | 28 -------------------------- 4 files changed, 67 deletions(-) delete mode 100644 keyboards/keycapsss/kimiko/kimiko.c delete mode 100644 keyboards/keycapsss/kimiko/rev1/rev1.h delete mode 100644 keyboards/keycapsss/kimiko/rev2/rev2.h diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c deleted file mode 100644 index 42cb37635dd3..000000000000 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Copyright 2020 @ben_roe (keycapsss.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" diff --git a/keyboards/keycapsss/kimiko/kimiko.h b/keyboards/keycapsss/kimiko/kimiko.h index aec285b5a583..513922373ee6 100644 --- a/keyboards/keycapsss/kimiko/kimiko.h +++ b/keyboards/keycapsss/kimiko/kimiko.h @@ -15,12 +15,4 @@ */ #pragma once -#ifdef KEYBOARD_keycapsss_kimiko_rev1 -# include "rev1.h" -#endif - -#ifdef KEYBOARD_keycapsss_kimiko_rev2 -# include "rev2.h" -#endif - #include "quantum.h" diff --git a/keyboards/keycapsss/kimiko/rev1/rev1.h b/keyboards/keycapsss/kimiko/rev1/rev1.h deleted file mode 100644 index 335217847850..000000000000 --- a/keyboards/keycapsss/kimiko/rev1/rev1.h +++ /dev/null @@ -1,15 +0,0 @@ -/* Copyright 2023 @ben_roe (keycapsss.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 . - */ diff --git a/keyboards/keycapsss/kimiko/rev2/rev2.h b/keyboards/keycapsss/kimiko/rev2/rev2.h deleted file mode 100644 index c4789808550e..000000000000 --- a/keyboards/keycapsss/kimiko/rev2/rev2.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2023 @ben_roe (keycapsss.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 "kimiko.h" - -// LAYOUT: key positions as reference for the lables in info.json -//( -// L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, -// L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, -// L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, -// L30, L31, L32, L33, L34, L35, L50, L40, R40, R50, R30, R31, R32, R33, R34, R35, -// L41, L42, L43, L44, L45, R41, R42, R43, R44, R45 -//) \ No newline at end of file From 757c4ccb51458e782e9a512ece7372531c7063c4 Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 11 Aug 2023 11:55:12 +0200 Subject: [PATCH 31/96] Update keyboards/keycapsss/kimiko/rev2/config.h Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/rev2/config.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h index 11d945eb60dd..81e457d211f7 100644 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ b/keyboards/keycapsss/kimiko/rev2/config.h @@ -17,11 +17,6 @@ #pragma once /* SK6812 RGB LED are used for lightning*/ -#ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 62 // Total number of LEDs -# define RGBLED_SPLIT { 31, 31 } // LEDs per side -# define RGBLIGHT_SPLIT -#endif // Limit the power draw #ifdef IOS_DEVICE_ENABLE From d4e98c9d3e8bdbd54b153e7ccee52679df61bcfe Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 11 Aug 2023 11:59:40 +0200 Subject: [PATCH 32/96] Update keyboards/keycapsss/kimiko/rev2/info.json Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/rev2/info.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 167160d1edac..454557a2a0c2 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -19,6 +19,11 @@ "extrakey": true, "encoder": true }, + "rgblight": { + "split": true, + "led_count": 62, + "split_count": [31, 31] + }, "encoder": { "rotary": [{ "pin_a": "F5", "pin_b": "F4" }] }, From 1f0e342425abf0d3fa86fbff626419360fad1c36 Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 11 Aug 2023 12:15:19 +0200 Subject: [PATCH 33/96] Update keyboards/keycapsss/kimiko/rev2/info.json Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/rev2/info.json | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 454557a2a0c2..951acababef2 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -9,7 +9,6 @@ "device_version": "2.0.0" }, "diode_direction": "COL2ROW", - "debounce": 5, "matrix_pins": { "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] From dc51ae11d6ca53f7c2719d0375522cf79a7be60e Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 11 Aug 2023 12:18:28 +0200 Subject: [PATCH 34/96] Update keyboards/keycapsss/kimiko/rev2/info.json Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/rev2/info.json | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 951acababef2..c87c5534190e 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -15,6 +15,7 @@ }, "features": { "mousekey": true, + "oled": true, "extrakey": true, "encoder": true }, From eedf0a1fe9290c5189b62ee56119d1667d626826 Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 11 Aug 2023 12:18:51 +0200 Subject: [PATCH 35/96] Update keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk b/keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk index a2c0fc844707..d449b9912a09 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk @@ -1,6 +1,3 @@ -OLED_ENABLE = yes - -ENCODER_ENABLE = yes # Enables the use of one or more encoders ENCODER_MAP_ENABLE = yes RGBLIGHT_ENABLE = no # Enable keyboard 'old' RGB lightning From 8b6254bc6fe941c5fe4c2915e2544c70dd181e2c Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Fri, 11 Aug 2023 12:21:41 +0200 Subject: [PATCH 36/96] remove duplicate rgblight entry in info.json --- keyboards/keycapsss/kimiko/rev2/info.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index c87c5534190e..23dbae1d8fcf 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -122,11 +122,6 @@ ] } }, - "rgblight": { - "led_count": 62, - "split": true, - "split_count": [31, 31] - }, "rgb_matrix": { "driver": "WS2812", "layout": [ From e8aef74bdbc96eaa88b688b92ae0986d312b6d2a Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 11 Aug 2023 12:25:02 +0200 Subject: [PATCH 37/96] Update keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c index 7c30fd0cbe53..0b0a8226f214 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c @@ -336,7 +336,7 @@ bool oled_task_user(void) { #endif #if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, From 217d08111f36ac8b2d633436f5974fa83ce04f66 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Fri, 11 Aug 2023 14:10:52 +0200 Subject: [PATCH 38/96] migrate rule to info.json --- keyboards/keycapsss/kimiko/rev1/info.json | 17 ++++++++++++++++- .../kimiko/rev1/keymaps/default/rules.mk | 7 ------- keyboards/keycapsss/kimiko/rev2/info.json | 7 ++++++- keyboards/keycapsss/kimiko/rules.mk | 12 +----------- 4 files changed, 23 insertions(+), 20 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev1/info.json b/keyboards/keycapsss/kimiko/rev1/info.json index 56028f3f81ae..2563f1984df6 100644 --- a/keyboards/keycapsss/kimiko/rev1/info.json +++ b/keyboards/keycapsss/kimiko/rev1/info.json @@ -12,7 +12,22 @@ "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], "rows": ["C6", "D7", "E6", "B4", "B5"] }, - "diode_direction": "COL2ROW", + "features": { + "mousekey": true, + "oled": true, + "extrakey": true, + "encoder": true, + "nkro": true, + "lto": true + }, + "build": { + "lto": true + }, + "rgblight": { + "split": true, + "led_count": 60, + "split_count": [30, 30] + }, "encoder": { "rotary": [ {"pin_a": "F4", "pin_b": "F5"} diff --git a/keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk b/keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk index 75655f2bd5ec..364c7cb61da1 100644 --- a/keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk +++ b/keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk @@ -1,11 +1,4 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays -ENCODER_ENABLE = yes # ENables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -# LTO: Link Time Optimizations. -# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. -# This does not affect QMK Macros and Layers -LTO_ENABLE = yes ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 23dbae1d8fcf..e243b1110454 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -17,7 +17,12 @@ "mousekey": true, "oled": true, "extrakey": true, - "encoder": true + "encoder": true, + "nkro": true, + "lto": true + }, + "build": { + "lto": true }, "rgblight": { "split": true, diff --git a/keyboards/keycapsss/kimiko/rules.mk b/keyboards/keycapsss/kimiko/rules.mk index 568f964db63f..1e537c5460a2 100644 --- a/keyboards/keycapsss/kimiko/rules.mk +++ b/keyboards/keycapsss/kimiko/rules.mk @@ -1,15 +1,5 @@ # Build Options # change yes to no to disable # -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -SPLIT_KEYBOARD = yes -# LTO: Link Time Optimizations. -# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. -# This does not affect QMK Macros and Layers -LTO_ENABLE = yes +SPLIT_KEYBOARD = yes From e230ea8ff459dadd1d08d2f80215263de462c1bc Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Fri, 11 Aug 2023 14:11:11 +0200 Subject: [PATCH 39/96] update rev1 info.json --- keyboards/keycapsss/kimiko/rev1/info.json | 141 ++++++++++++---------- 1 file changed, 76 insertions(+), 65 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev1/info.json b/keyboards/keycapsss/kimiko/rev1/info.json index 2563f1984df6..90f9979df73a 100644 --- a/keyboards/keycapsss/kimiko/rev1/info.json +++ b/keyboards/keycapsss/kimiko/rev1/info.json @@ -2,12 +2,13 @@ "keyboard_name": "Kimiko", "manufacturer": "Keycapsss", "url": "https://keycapsss.com", - "maintainer": "@ben_roe Keycapsss", + "maintainer": "BenRoe", "usb": { "vid": "0x7983", "pid": "0x4B69", - "device_version": "0.0.1" + "device_version": "1.0.0" }, + "diode_direction": "COL2ROW", "matrix_pins": { "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], "rows": ["C6", "D7", "E6", "B4", "B5"] @@ -34,85 +35,95 @@ ] }, "split": { - "soft_serial_pin": "D2" + "soft_serial_pin": "D2", + "matrix_pins": { + "right": { + "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], + "rows": ["C6", "D7", "E6", "B4", "B5"] + } + }, + "encoder": { + "right": { + "rotary": [{ "pin_a": "F4", "pin_b": "F5" }] + } + } }, "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.8}, - {"matrix": [0, 1], "x": 1, "y": 0.8}, - {"matrix": [0, 2], "x": 2, "y": 0.15}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.15}, - {"matrix": [0, 5], "x": 5, "y": 0.3}, + { "matrix": [0, 0], "x": 0, "y": 0.8 }, + { "matrix": [0, 1], "x": 1, "y": 0.8 }, + { "matrix": [0, 2], "x": 2, "y": 0.15 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0.15 }, + { "matrix": [0, 5], "x": 5, "y": 0.3 }, - {"matrix": [5, 5], "x": 9, "y": 0.3}, - {"matrix": [5, 4], "x": 10, "y": 0.15}, - {"matrix": [5, 3], "x": 11, "y": 0}, - {"matrix": [5, 2], "x": 12, "y": 0.15}, - {"matrix": [5, 1], "x": 13, "y": 0.8}, - {"matrix": [5, 0], "x": 14, "y": 0.8}, + { "matrix": [5, 5], "x": 9, "y": 0.3 }, + { "matrix": [5, 4], "x": 10, "y": 0.15 }, + { "matrix": [5, 3], "x": 11, "y": 0 }, + { "matrix": [5, 2], "x": 12, "y": 0.15 }, + { "matrix": [5, 1], "x": 13, "y": 0.8 }, + { "matrix": [5, 0], "x": 14, "y": 0.8 }, - {"matrix": [1, 0], "x": 0, "y": 1.8}, - {"matrix": [1, 1], "x": 1, "y": 1.8}, - {"matrix": [1, 2], "x": 2, "y": 1.15}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1.15}, - {"matrix": [1, 5], "x": 5, "y": 1.3}, + { "matrix": [1, 0], "x": 0, "y": 1.8 }, + { "matrix": [1, 1], "x": 1, "y": 1.8 }, + { "matrix": [1, 2], "x": 2, "y": 1.15 }, + { "matrix": [1, 3], "x": 3, "y": 1 }, + { "matrix": [1, 4], "x": 4, "y": 1.15 }, + { "matrix": [1, 5], "x": 5, "y": 1.3 }, - {"matrix": [6, 5], "x": 9, "y": 1.3}, - {"matrix": [6, 4], "x": 10, "y": 1.15}, - {"matrix": [6, 3], "x": 11, "y": 1}, - {"matrix": [6, 2], "x": 12, "y": 1.15}, - {"matrix": [6, 1], "x": 13, "y": 1.8}, - {"matrix": [6, 0], "x": 14, "y": 1.8}, + { "matrix": [6, 5], "x": 9, "y": 1.3 }, + { "matrix": [6, 4], "x": 10, "y": 1.15 }, + { "matrix": [6, 3], "x": 11, "y": 1 }, + { "matrix": [6, 2], "x": 12, "y": 1.15 }, + { "matrix": [6, 1], "x": 13, "y": 1.8 }, + { "matrix": [6, 0], "x": 14, "y": 1.8 }, - {"matrix": [2, 0], "x": 0, "y": 2.8}, - {"matrix": [2, 1], "x": 1, "y": 2.8}, - {"matrix": [2, 2], "x": 2, "y": 2.15}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2.15}, - {"matrix": [2, 5], "x": 5, "y": 2.3}, + { "matrix": [2, 0], "x": 0, "y": 2.8 }, + { "matrix": [2, 1], "x": 1, "y": 2.8 }, + { "matrix": [2, 2], "x": 2, "y": 2.15 }, + { "matrix": [2, 3], "x": 3, "y": 2 }, + { "matrix": [2, 4], "x": 4, "y": 2.15 }, + { "matrix": [2, 5], "x": 5, "y": 2.3 }, - {"matrix": [7, 5], "x": 9, "y": 2.3}, - {"matrix": [7, 4], "x": 10, "y": 2.15}, - {"matrix": [7, 3], "x": 11, "y": 2}, - {"matrix": [7, 2], "x": 12, "y": 2.15}, - {"matrix": [7, 1], "x": 13, "y": 2.8}, - {"matrix": [7, 0], "x": 14, "y": 2.8}, + { "matrix": [7, 5], "x": 9, "y": 2.3 }, + { "matrix": [7, 4], "x": 10, "y": 2.15 }, + { "matrix": [7, 3], "x": 11, "y": 2 }, + { "matrix": [7, 2], "x": 12, "y": 2.15 }, + { "matrix": [7, 1], "x": 13, "y": 2.8 }, + { "matrix": [7, 0], "x": 14, "y": 2.8 }, - {"matrix": [3, 0], "x": 0, "y": 3.8}, - {"matrix": [3, 1], "x": 1, "y": 3.8}, - {"matrix": [3, 2], "x": 2, "y": 3.15}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3.15}, - {"matrix": [3, 5], "x": 5, "y": 3.3}, - {"matrix": [4, 5], "x": 6.25, "y": 3.3}, + { "matrix": [3, 0], "x": 0, "y": 3.8 }, + { "matrix": [3, 1], "x": 1, "y": 3.8 }, + { "matrix": [3, 2], "x": 2, "y": 3.15 }, + { "matrix": [3, 3], "x": 3, "y": 3 }, + { "matrix": [3, 4], "x": 4, "y": 3.15 }, + { "matrix": [3, 5], "x": 5, "y": 3.3 }, + { "matrix": [4, 5], "x": 6.25, "y": 3.3 }, - {"matrix": [9, 5], "x": 7.75, "y": 3.3}, - {"matrix": [8, 5], "x": 9, "y": 3.3}, - {"matrix": [8, 4], "x": 10, "y": 3.15}, - {"matrix": [8, 3], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3.15}, - {"matrix": [8, 1], "x": 13, "y": 3.8}, - {"matrix": [8, 0], "x": 14, "y": 3.8}, + { "matrix": [9, 5], "x": 7.75, "y": 3.3 }, + { "matrix": [8, 5], "x": 9, "y": 3.3 }, + { "matrix": [8, 4], "x": 10, "y": 3.15 }, + { "matrix": [8, 3], "x": 11, "y": 3 }, + { "matrix": [8, 2], "x": 12, "y": 3.15 }, + { "matrix": [8, 1], "x": 13, "y": 3.8 }, + { "matrix": [8, 0], "x": 14, "y": 3.8 }, - {"matrix": [4, 0], "x": 2, "y": 4.15}, - {"matrix": [4, 1], "x": 3, "y": 4}, - {"matrix": [4, 2], "x": 4, "y": 4.15}, - {"matrix": [4, 3], "x": 5.25, "y": 4.3}, - {"matrix": [4, 4], "x": 6.25, "y": 4.25, "h": 1.5}, + { "matrix": [4, 0], "x": 2, "y": 4.15 }, + { "matrix": [4, 1], "x": 3, "y": 4 }, + { "matrix": [4, 2], "x": 4, "y": 4.15 }, + { "matrix": [4, 3], "x": 5.25, "y": 4.3 }, + { "matrix": [4, 4], "x": 6.25, "y": 4.25, "h": 1.5 }, - {"matrix": [9, 4], "x": 7.75, "y": 4.25, "h": 1.5}, - {"matrix": [9, 3], "x": 8.75, "y": 4.3}, - {"matrix": [9, 2], "x": 10, "y": 4.15}, - {"matrix": [9, 1], "x": 11, "y": 4}, - {"matrix": [9, 0], "x": 12, "y": 4.15} + { "matrix": [9, 4], "x": 7.75, "y": 4.25, "h": 1.5 }, + { "matrix": [9, 3], "x": 8.75, "y": 4.3 }, + { "matrix": [9, 2], "x": 10, "y": 4.15 }, + { "matrix": [9, 1], "x": 11, "y": 4 }, + { "matrix": [9, 0], "x": 12, "y": 4.15 } ] } } From 969c372fc1804447719bbde5c16e72dfeae35b15 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Fri, 11 Aug 2023 14:11:41 +0200 Subject: [PATCH 40/96] fix encoder mapping --- keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c index 0b0a8226f214..c2b349311298 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c @@ -337,9 +337,9 @@ bool oled_task_user(void) { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, - [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, - [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, + [_QWERTY] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, + [_LOWER] = { ENCODER_CCW_CW(RGB_HUI, KC_TAB), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, }; #endif // ENCODER_MAP_ENABLE From 8bc066f97ea27f2562d599935aa5ef235de79e3e Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Fri, 11 Aug 2023 14:12:05 +0200 Subject: [PATCH 41/96] enable some rgb matrix effects for rev2 --- .../keycapsss/kimiko/rev2/keymaps/default/config.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index 6b2242f83ff1..8da2134448ae 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -48,7 +48,7 @@ // 'new' RGB Matrix definitions, used when RGB_MATRIX_ENABLE = yes in rules.mk //------------------------------------------ #ifdef RGB_MATRIX_ENABLE - // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // #define RGB_MATRIX_KEYPRESSES // #define RGB_MATRIX_KEYRELEASES @@ -56,7 +56,7 @@ #define ENABLE_RGB_MATRIX_NONE #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support - // #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue + #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue // #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes // #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes // #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation @@ -75,7 +75,7 @@ // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard // #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard - // #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard + #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard // #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation @@ -87,7 +87,7 @@ // #define ENABLE_RGB_MATRIX_PIXEL_RAIN // Randomly light keys with random hues // These modes also require the RGB_MATRIX_FRAMEBUFFER_EFFECTS define to be available. - // #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! + #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation // These modes also require the RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES define to be available. @@ -109,7 +109,7 @@ #define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set #define RGB_MATRIX_DEFAULT_VAL 60 //RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set - #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set + #define RGB_MATRIX_DEFAULT_SPD 60 // Sets the default animation speed, if none has been set #endif //------------------------------------------ From 22a7eec1c02b241234cd6725492690ef49a100c3 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Fri, 11 Aug 2023 14:32:28 +0200 Subject: [PATCH 42/96] fix format in keymap rev2 --- keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c index c2b349311298..0bdcdede4fb5 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c @@ -337,9 +337,9 @@ bool oled_task_user(void) { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, - [_LOWER] = { ENCODER_CCW_CW(RGB_HUI, KC_TAB), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_QWERTY] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, + [_LOWER] = { ENCODER_CCW_CW(RGB_HUI, KC_TAB), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, }; #endif // ENCODER_MAP_ENABLE From 2e49a4b76a0bbfed1746b8903b72eef9278d4f91 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Tue, 15 Aug 2023 12:17:59 +0200 Subject: [PATCH 43/96] delete unnecessary files --- keyboards/keycapsss/kimiko/kimiko.h | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 keyboards/keycapsss/kimiko/kimiko.h diff --git a/keyboards/keycapsss/kimiko/kimiko.h b/keyboards/keycapsss/kimiko/kimiko.h deleted file mode 100644 index 513922373ee6..000000000000 --- a/keyboards/keycapsss/kimiko/kimiko.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2020 @ben_roe (keycapsss.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" From 53bf1993ddb12f7f77d2d7bbf64940f50edd1193 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Wed, 23 Aug 2023 13:19:14 +0200 Subject: [PATCH 44/96] revert all rev1 changes to meet contribution g. --- .../{rev1 => }/keymaps/default/config.h | 2 +- .../{rev1 => }/keymaps/default/glcdfont.c | 17 -- .../{rev1 => }/keymaps/default/keymap.c | 0 .../keycapsss/kimiko/keymaps/default/rules.mk | 11 ++ keyboards/keycapsss/kimiko/rev1/info.json | 158 ++++++++---------- .../kimiko/rev1/keymaps/default/rules.mk | 4 - keyboards/keycapsss/kimiko/rev1/rev1.c | 78 --------- keyboards/keycapsss/kimiko/rules.mk | 12 +- 8 files changed, 89 insertions(+), 193 deletions(-) rename keyboards/keycapsss/kimiko/{rev1 => }/keymaps/default/config.h (95%) rename keyboards/keycapsss/kimiko/{rev1 => }/keymaps/default/glcdfont.c (92%) rename keyboards/keycapsss/kimiko/{rev1 => }/keymaps/default/keymap.c (100%) create mode 100644 keyboards/keycapsss/kimiko/keymaps/default/rules.mk delete mode 100644 keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk delete mode 100644 keyboards/keycapsss/kimiko/rev1/rev1.c diff --git a/keyboards/keycapsss/kimiko/rev1/keymaps/default/config.h b/keyboards/keycapsss/kimiko/keymaps/default/config.h similarity index 95% rename from keyboards/keycapsss/kimiko/rev1/keymaps/default/config.h rename to keyboards/keycapsss/kimiko/keymaps/default/config.h index a6556d5876a6..52faaf2b6525 100644 --- a/keyboards/keycapsss/kimiko/rev1/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/keymaps/default/config.h @@ -22,7 +22,7 @@ // #define MASTER_RIGHT // #define EE_HANDS -#define OLED_FONT_H "keyboards/keycapsss/kimiko/rev1/keymaps/default/glcdfont.c" +#define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c" // #define OLED_FONT_WIDTH 5 // #define OLED_FONT_HEIGHT 7 diff --git a/keyboards/keycapsss/kimiko/rev1/keymaps/default/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c similarity index 92% rename from keyboards/keycapsss/kimiko/rev1/keymaps/default/glcdfont.c rename to keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c index 4c7e6862b6ba..19d45a75c706 100644 --- a/keyboards/keycapsss/kimiko/rev1/keymaps/default/glcdfont.c +++ b/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c @@ -1,20 +1,3 @@ -/* Copyright 2019 MechMerlin - * Copyright 2020 @ben_roe (keycapsss.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" // Corne 8x6 font diff --git a/keyboards/keycapsss/kimiko/rev1/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/keymaps/default/keymap.c similarity index 100% rename from keyboards/keycapsss/kimiko/rev1/keymaps/default/keymap.c rename to keyboards/keycapsss/kimiko/keymaps/default/keymap.c diff --git a/keyboards/keycapsss/kimiko/keymaps/default/rules.mk b/keyboards/keycapsss/kimiko/keymaps/default/rules.mk new file mode 100644 index 000000000000..75655f2bd5ec --- /dev/null +++ b/keyboards/keycapsss/kimiko/keymaps/default/rules.mk @@ -0,0 +1,11 @@ +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enables the use of OLED displays +ENCODER_ENABLE = yes # ENables the use of one or more encoders +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow + +# LTO: Link Time Optimizations. +# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. +# This does not affect QMK Macros and Layers +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes + diff --git a/keyboards/keycapsss/kimiko/rev1/info.json b/keyboards/keycapsss/kimiko/rev1/info.json index 90f9979df73a..56028f3f81ae 100644 --- a/keyboards/keycapsss/kimiko/rev1/info.json +++ b/keyboards/keycapsss/kimiko/rev1/info.json @@ -2,128 +2,102 @@ "keyboard_name": "Kimiko", "manufacturer": "Keycapsss", "url": "https://keycapsss.com", - "maintainer": "BenRoe", + "maintainer": "@ben_roe Keycapsss", "usb": { "vid": "0x7983", "pid": "0x4B69", - "device_version": "1.0.0" + "device_version": "0.0.1" }, - "diode_direction": "COL2ROW", "matrix_pins": { "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], "rows": ["C6", "D7", "E6", "B4", "B5"] }, - "features": { - "mousekey": true, - "oled": true, - "extrakey": true, - "encoder": true, - "nkro": true, - "lto": true - }, - "build": { - "lto": true - }, - "rgblight": { - "split": true, - "led_count": 60, - "split_count": [30, 30] - }, + "diode_direction": "COL2ROW", "encoder": { "rotary": [ {"pin_a": "F4", "pin_b": "F5"} ] }, "split": { - "soft_serial_pin": "D2", - "matrix_pins": { - "right": { - "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], - "rows": ["C6", "D7", "E6", "B4", "B5"] - } - }, - "encoder": { - "right": { - "rotary": [{ "pin_a": "F4", "pin_b": "F5" }] - } - } + "soft_serial_pin": "D2" }, "ws2812": { "pin": "D3" }, - "development_board": "promicro", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", "layouts": { "LAYOUT": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0.8 }, - { "matrix": [0, 1], "x": 1, "y": 0.8 }, - { "matrix": [0, 2], "x": 2, "y": 0.15 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0.15 }, - { "matrix": [0, 5], "x": 5, "y": 0.3 }, + {"matrix": [0, 0], "x": 0, "y": 0.8}, + {"matrix": [0, 1], "x": 1, "y": 0.8}, + {"matrix": [0, 2], "x": 2, "y": 0.15}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.15}, + {"matrix": [0, 5], "x": 5, "y": 0.3}, - { "matrix": [5, 5], "x": 9, "y": 0.3 }, - { "matrix": [5, 4], "x": 10, "y": 0.15 }, - { "matrix": [5, 3], "x": 11, "y": 0 }, - { "matrix": [5, 2], "x": 12, "y": 0.15 }, - { "matrix": [5, 1], "x": 13, "y": 0.8 }, - { "matrix": [5, 0], "x": 14, "y": 0.8 }, + {"matrix": [5, 5], "x": 9, "y": 0.3}, + {"matrix": [5, 4], "x": 10, "y": 0.15}, + {"matrix": [5, 3], "x": 11, "y": 0}, + {"matrix": [5, 2], "x": 12, "y": 0.15}, + {"matrix": [5, 1], "x": 13, "y": 0.8}, + {"matrix": [5, 0], "x": 14, "y": 0.8}, - { "matrix": [1, 0], "x": 0, "y": 1.8 }, - { "matrix": [1, 1], "x": 1, "y": 1.8 }, - { "matrix": [1, 2], "x": 2, "y": 1.15 }, - { "matrix": [1, 3], "x": 3, "y": 1 }, - { "matrix": [1, 4], "x": 4, "y": 1.15 }, - { "matrix": [1, 5], "x": 5, "y": 1.3 }, + {"matrix": [1, 0], "x": 0, "y": 1.8}, + {"matrix": [1, 1], "x": 1, "y": 1.8}, + {"matrix": [1, 2], "x": 2, "y": 1.15}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.15}, + {"matrix": [1, 5], "x": 5, "y": 1.3}, - { "matrix": [6, 5], "x": 9, "y": 1.3 }, - { "matrix": [6, 4], "x": 10, "y": 1.15 }, - { "matrix": [6, 3], "x": 11, "y": 1 }, - { "matrix": [6, 2], "x": 12, "y": 1.15 }, - { "matrix": [6, 1], "x": 13, "y": 1.8 }, - { "matrix": [6, 0], "x": 14, "y": 1.8 }, + {"matrix": [6, 5], "x": 9, "y": 1.3}, + {"matrix": [6, 4], "x": 10, "y": 1.15}, + {"matrix": [6, 3], "x": 11, "y": 1}, + {"matrix": [6, 2], "x": 12, "y": 1.15}, + {"matrix": [6, 1], "x": 13, "y": 1.8}, + {"matrix": [6, 0], "x": 14, "y": 1.8}, - { "matrix": [2, 0], "x": 0, "y": 2.8 }, - { "matrix": [2, 1], "x": 1, "y": 2.8 }, - { "matrix": [2, 2], "x": 2, "y": 2.15 }, - { "matrix": [2, 3], "x": 3, "y": 2 }, - { "matrix": [2, 4], "x": 4, "y": 2.15 }, - { "matrix": [2, 5], "x": 5, "y": 2.3 }, + {"matrix": [2, 0], "x": 0, "y": 2.8}, + {"matrix": [2, 1], "x": 1, "y": 2.8}, + {"matrix": [2, 2], "x": 2, "y": 2.15}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.15}, + {"matrix": [2, 5], "x": 5, "y": 2.3}, - { "matrix": [7, 5], "x": 9, "y": 2.3 }, - { "matrix": [7, 4], "x": 10, "y": 2.15 }, - { "matrix": [7, 3], "x": 11, "y": 2 }, - { "matrix": [7, 2], "x": 12, "y": 2.15 }, - { "matrix": [7, 1], "x": 13, "y": 2.8 }, - { "matrix": [7, 0], "x": 14, "y": 2.8 }, + {"matrix": [7, 5], "x": 9, "y": 2.3}, + {"matrix": [7, 4], "x": 10, "y": 2.15}, + {"matrix": [7, 3], "x": 11, "y": 2}, + {"matrix": [7, 2], "x": 12, "y": 2.15}, + {"matrix": [7, 1], "x": 13, "y": 2.8}, + {"matrix": [7, 0], "x": 14, "y": 2.8}, - { "matrix": [3, 0], "x": 0, "y": 3.8 }, - { "matrix": [3, 1], "x": 1, "y": 3.8 }, - { "matrix": [3, 2], "x": 2, "y": 3.15 }, - { "matrix": [3, 3], "x": 3, "y": 3 }, - { "matrix": [3, 4], "x": 4, "y": 3.15 }, - { "matrix": [3, 5], "x": 5, "y": 3.3 }, - { "matrix": [4, 5], "x": 6.25, "y": 3.3 }, + {"matrix": [3, 0], "x": 0, "y": 3.8}, + {"matrix": [3, 1], "x": 1, "y": 3.8}, + {"matrix": [3, 2], "x": 2, "y": 3.15}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3.15}, + {"matrix": [3, 5], "x": 5, "y": 3.3}, + {"matrix": [4, 5], "x": 6.25, "y": 3.3}, - { "matrix": [9, 5], "x": 7.75, "y": 3.3 }, - { "matrix": [8, 5], "x": 9, "y": 3.3 }, - { "matrix": [8, 4], "x": 10, "y": 3.15 }, - { "matrix": [8, 3], "x": 11, "y": 3 }, - { "matrix": [8, 2], "x": 12, "y": 3.15 }, - { "matrix": [8, 1], "x": 13, "y": 3.8 }, - { "matrix": [8, 0], "x": 14, "y": 3.8 }, + {"matrix": [9, 5], "x": 7.75, "y": 3.3}, + {"matrix": [8, 5], "x": 9, "y": 3.3}, + {"matrix": [8, 4], "x": 10, "y": 3.15}, + {"matrix": [8, 3], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3.15}, + {"matrix": [8, 1], "x": 13, "y": 3.8}, + {"matrix": [8, 0], "x": 14, "y": 3.8}, - { "matrix": [4, 0], "x": 2, "y": 4.15 }, - { "matrix": [4, 1], "x": 3, "y": 4 }, - { "matrix": [4, 2], "x": 4, "y": 4.15 }, - { "matrix": [4, 3], "x": 5.25, "y": 4.3 }, - { "matrix": [4, 4], "x": 6.25, "y": 4.25, "h": 1.5 }, + {"matrix": [4, 0], "x": 2, "y": 4.15}, + {"matrix": [4, 1], "x": 3, "y": 4}, + {"matrix": [4, 2], "x": 4, "y": 4.15}, + {"matrix": [4, 3], "x": 5.25, "y": 4.3}, + {"matrix": [4, 4], "x": 6.25, "y": 4.25, "h": 1.5}, - { "matrix": [9, 4], "x": 7.75, "y": 4.25, "h": 1.5 }, - { "matrix": [9, 3], "x": 8.75, "y": 4.3 }, - { "matrix": [9, 2], "x": 10, "y": 4.15 }, - { "matrix": [9, 1], "x": 11, "y": 4 }, - { "matrix": [9, 0], "x": 12, "y": 4.15 } + {"matrix": [9, 4], "x": 7.75, "y": 4.25, "h": 1.5}, + {"matrix": [9, 3], "x": 8.75, "y": 4.3}, + {"matrix": [9, 2], "x": 10, "y": 4.15}, + {"matrix": [9, 1], "x": 11, "y": 4}, + {"matrix": [9, 0], "x": 12, "y": 4.15} ] } } diff --git a/keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk b/keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk deleted file mode 100644 index 364c7cb61da1..000000000000 --- a/keyboards/keycapsss/kimiko/rev1/keymaps/default/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow - -ENCODER_MAP_ENABLE = yes - diff --git a/keyboards/keycapsss/kimiko/rev1/rev1.c b/keyboards/keycapsss/kimiko/rev1/rev1.c deleted file mode 100644 index fd9cb9c7e0bd..000000000000 --- a/keyboards/keycapsss/kimiko/rev1/rev1.c +++ /dev/null @@ -1,78 +0,0 @@ -/* Copyright 2020 @ben_roe (keycapsss.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" - -#ifdef RGB_MATRIX_ENABLE - -//Thanks to Ben (keycapsss) for helpipng me to create g_led_config - -// Physical LED position -// X 0 16 32 48 64 80 96 112 128 144 160 176 208 224 -// -----------------------------------------------------------| Y -// 5 4 3 2 1 0 0 1 2 3 4 5 | 0 -// 6 7 8 9 10 11 11 10 9 8 7 6 | 16 -// 17 16 15 14 13 12 12 13 14 15 16 17 | 32 -// 18 19 20 21 22 23 24 24 23 22 21 20 19 18 | 48 -// 29 28 27 26 25 25 26 27 28 29 | 64 - -led_config_t g_led_config = { { - // Key Matrix to LED Index - { 5, 4, 3, 2, 1, 0 }, - { 6, 7, 8, 9, 10, 11 }, - { 17, 16, 15, 14, 13, 12 }, - { 18, 19, 20, 21, 22, 23 }, - { 29, 28, 27, 26, 25, 24 }, - { 35, 34, 33, 32, 31, 30 }, - { 36, 37, 38, 39, 40, 41 }, - { 47, 46, 45, 44, 43, 42 }, - { 48, 49, 50, 51, 52, 53 }, - { 59, 58, 57, 56, 55, 54 } -}, { - // LED Index to Physical Position - // Left half - { 80, 0 }, { 64, 0 }, { 48, 0 }, { 32, 0 }, { 16, 0 }, { 0, 0 }, - { 0, 16 }, { 16, 16 }, { 32, 16 }, { 48, 16 }, { 64, 16 }, { 80, 16 }, - { 80, 32 }, { 64, 32 }, { 48, 32 }, { 32, 32 }, { 16, 32 }, { 0, 32 }, - { 0, 48 }, { 16, 48 }, { 32, 48 }, { 48, 48 }, { 64, 48 }, { 80, 48 }, - { 96, 48 }, { 96, 64 }, { 80, 64 }, { 64, 64 }, { 48, 64 }, { 32, 64 }, - // Right half - { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 208, 0 }, { 224, 0 }, - { 224, 16 }, { 208, 16 }, { 176, 16 }, { 160, 16 }, { 144, 16 }, { 128, 16 }, - { 128, 32 }, { 144, 32 }, { 160, 32 }, { 176, 32 }, { 208, 32 }, { 224, 32 }, - { 224, 48 }, { 208, 48 }, { 176, 48 }, { 160, 48 }, { 144, 48 }, { 128, 48 }, - { 112, 48 }, { 112, 64 }, { 128, 64 }, { 144, 64 }, { 160, 64 }, { 176, 64 } - -}, { - // LED Index to Flag - // 0x01 = 1 = modifier key - // 0x02 = 2 = underglow - // 0x04 = 4 = key backlight - // 0x08 = 8 = keyboard state indication - // Left half - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 1, - 4, 4, 4, 4, 4, 1, - 4, 4, 1, 1, 1, 1, - // Right half - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, - 1, 4, 4, 4, 4, 4, - 4, 4, 1, 1, 1, 1 -} }; - -#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keycapsss/kimiko/rules.mk b/keyboards/keycapsss/kimiko/rules.mk index 1e537c5460a2..7aeacb46d0b2 100644 --- a/keyboards/keycapsss/kimiko/rules.mk +++ b/keyboards/keycapsss/kimiko/rules.mk @@ -1,5 +1,15 @@ # Build Options # change yes to no to disable # - +BOOTMAGIC_ENABLE = no # 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 = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes + +DEFAULT_FOLDER = keycapsss/kimiko/rev1 From 87dafdd222d2cacab275dc2ef8de9248eb5893d1 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 24 Aug 2023 10:50:44 +0200 Subject: [PATCH 45/96] migrate 'SPLIT_KEYBOARD' to info.json In the PR for the Rev1 the duplicate `SPLIT_KEYBOARD = yes` will be removed. https://github.com/qmk/qmk_firmware/pull/21818 --- keyboards/keycapsss/kimiko/rev2/info.json | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index e243b1110454..a26941956f38 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -33,6 +33,7 @@ "rotary": [{ "pin_a": "F5", "pin_b": "F4" }] }, "split": { + "enabled": true, "soft_serial_pin": "D2", "matrix_pins": { "right": { From b675039eb947f32cd0fac93a60884541801c52ba Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 24 Aug 2023 10:51:52 +0200 Subject: [PATCH 46/96] remove duplicate code in info.json --- keyboards/keycapsss/kimiko/rev2/info.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index a26941956f38..13bbdd5ab160 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -18,8 +18,7 @@ "oled": true, "extrakey": true, "encoder": true, - "nkro": true, - "lto": true + "nkro": true }, "build": { "lto": true From 2ed0f4820e26f092eb49a1e2a2b7b47b808856da Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Sun, 27 Aug 2023 20:57:31 +0200 Subject: [PATCH 47/96] Move oled code into kimiko.c --- keyboards/keycapsss/kimiko/config.h | 25 ++ .../{rev2/keymaps/default => }/glcdfont.c | 0 keyboards/keycapsss/kimiko/kimiko.c | 246 ++++++++++++++++++ .../kimiko/rev2/keymaps/default/config.h | 12 - .../kimiko/rev2/keymaps/default/keymap.c | 216 --------------- 5 files changed, 271 insertions(+), 228 deletions(-) create mode 100644 keyboards/keycapsss/kimiko/config.h rename keyboards/keycapsss/kimiko/{rev2/keymaps/default => }/glcdfont.c (100%) create mode 100644 keyboards/keycapsss/kimiko/kimiko.c diff --git a/keyboards/keycapsss/kimiko/config.h b/keyboards/keycapsss/kimiko/config.h new file mode 100644 index 000000000000..4b4e40fef2e7 --- /dev/null +++ b/keyboards/keycapsss/kimiko/config.h @@ -0,0 +1,25 @@ +/* Copyright 2019 MechMerlin + * Copyright 2023 @Ex3c4Def + * Copyright 2023 @BenRoe (keycapsss.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 + +// OLED definitions +#ifdef OLED_ENABLE +# define OLED_FONT_H "keyboards/keycapsss/kimiko/glcdfont.c" +#endif + diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/glcdfont.c b/keyboards/keycapsss/kimiko/glcdfont.c similarity index 100% rename from keyboards/keycapsss/kimiko/rev2/keymaps/default/glcdfont.c rename to keyboards/keycapsss/kimiko/glcdfont.c diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c new file mode 100644 index 000000000000..38de8cb351c7 --- /dev/null +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -0,0 +1,246 @@ +/* Copyright 2023 @BenRoe (keycapsss.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" + +enum layers { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST +}; + +#ifdef OLED_ENABLE + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_270; + } else { + return OLED_ROTATION_270; + } +} + +// NOTE: Most of the OLED code was originally written by Soundmonster for the Corne, +// and has been copied directly from `crkbd/soundmonster/keymap.c` +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 kimiko_logo[] = { + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; + oled_write_P(kimiko_logo, false); + // oled_write_P(PSTR("Kimiko"), 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(_ADJUST)) { + oled_write_P(adjust_layer, false); + } else if(layer_state_is(_LOWER)) { + oled_write_P(lower_layer, false); + } else if(layer_state_is(_RAISE)) { + oled_write_P(raise_layer, false); + } else { + oled_write_P(default_layer, false); + } + #ifdef OLED_DISPLAY_128X64 + oled_write_P(PSTR("\n"), false); + #endif +} + +void render_status_main(void) { + render_space(); + render_space(); + render_logo(); + 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()); +} + +void render_status_secondary(void) { + render_space(); + render_space(); + render_logo(); + render_space(); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + + if (is_keyboard_master()) { + render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } else { + render_status_secondary(); + } + + return true; +} +#endif // OLED_ENABLE diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index 8da2134448ae..b422ca4ab112 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -33,18 +33,6 @@ //------------------------------------------ -// OLED definitions -//------------------------------------------ -#ifdef OLED_ENABLE -#define OLED_FONT_H "keyboards/keycapsss/kimiko/rev2/keymaps/default/glcdfont.c" -// #define OLED_FONT_WIDTH 5 -// #define OLED_FONT_HEIGHT 7 -// #define OLED_DISPLAY_128X64 //128x64 needs this define, for 128x32 display no extra define is needed and this can be removed/commented - -#endif -//------------------------------------------ - - // 'new' RGB Matrix definitions, used when RGB_MATRIX_ENABLE = yes in rules.mk //------------------------------------------ #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c index 0bdcdede4fb5..121b39d540ce 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c @@ -119,222 +119,6 @@ layer_state_t layer_state_set_user(layer_state_t state) { } -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } else { - 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 kimiko_logo[] = { - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; - oled_write_P(kimiko_logo, false); - // oled_write_P(PSTR("Kimiko"), 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(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_LOWER)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_RAISE)) { - oled_write_P(raise_layer, false); - } else { - oled_write_P(default_layer, false); - } - #ifdef OLED_DISPLAY_128X64 - oled_write_P(PSTR("\n"), false); - #endif -} - -void render_status_main(void) { - render_space(); - render_space(); - render_logo(); - 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()); -} - -void render_status_secondary(void) { - render_space(); - render_space(); - render_logo(); - render_space(); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) - } else { - render_status_secondary(); - } - return false; -} - -#endif - #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_QWERTY] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, From d8a45d6f4aa93cf6723da4ee59438a34daa8a159 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 30 Aug 2023 08:46:26 +0200 Subject: [PATCH 48/96] Update config.h Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/config.h b/keyboards/keycapsss/kimiko/config.h index 4b4e40fef2e7..31be5898cfd3 100644 --- a/keyboards/keycapsss/kimiko/config.h +++ b/keyboards/keycapsss/kimiko/config.h @@ -19,7 +19,7 @@ #pragma once // OLED definitions -#ifdef OLED_ENABLE +#ifndef OLED_FONT_H # define OLED_FONT_H "keyboards/keycapsss/kimiko/glcdfont.c" #endif From 2cc205cb62bf6ace81e4a96b094c6a0a4a410bab Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 30 Aug 2023 08:46:55 +0200 Subject: [PATCH 49/96] Update config.h Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/config.h | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h index 81e457d211f7..63c790b3cf85 100644 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ b/keyboards/keycapsss/kimiko/rev2/config.h @@ -19,20 +19,13 @@ /* SK6812 RGB LED are used for lightning*/ // Limit the power draw -#ifdef IOS_DEVICE_ENABLE - #define RGBLIGHT_LIMIT_VAL 40 -#else - #define RGBLIGHT_LIMIT_VAL 80 -#endif - +#define RGBLIGHT_LIMIT_VAL 80 // Not yet available in `info.json` -#ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL -# define RGB_MATRIX_LED_COUNT RGBLED_NUM -# define RGB_MATRIX_SPLIT RGBLED_SPLIT -# define SPLIT_TRANSPORT_MIRROR -#endif +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80 +#define RGB_MATRIX_LED_COUNT 62 +#define RGB_MATRIX_SPLIT { 31, 31 } +#define SPLIT_TRANSPORT_MIRROR /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ From d709c060adcb196e2aeb04c7e734401ce03fe30b Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 30 Aug 2023 08:47:18 +0200 Subject: [PATCH 50/96] Update config.h Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index b422ca4ab112..72853c2b6bcc 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -35,7 +35,6 @@ // 'new' RGB Matrix definitions, used when RGB_MATRIX_ENABLE = yes in rules.mk //------------------------------------------ -#ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // #define RGB_MATRIX_KEYPRESSES // #define RGB_MATRIX_KEYRELEASES From cb26ee6a0591e18c24a991c9abf29d796077f406 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 30 Aug 2023 08:47:27 +0200 Subject: [PATCH 51/96] Update config.h Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index 72853c2b6bcc..c1fabb6521a2 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -97,7 +97,6 @@ #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set #define RGB_MATRIX_DEFAULT_VAL 60 //RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_DEFAULT_SPD 60 // Sets the default animation speed, if none has been set -#endif //------------------------------------------ From 0106dcc0874f94b6729187bfe5d5b2b3bbd5f5fc Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 30 Aug 2023 08:47:37 +0200 Subject: [PATCH 52/96] Update config.h Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index c1fabb6521a2..f5520b425cab 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -102,7 +102,6 @@ // 'old' RGB Lightning definitions, used when RGBLIGHT_ENABLE = yes in rules.mk //------------------------------------------ -#ifdef RGBLIGHT_ENABLE # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 8 # define RGBLIGHT_VAL_STEP 8 From 9c1664f085c3bb6d4e57152480e1cda43b5b4590 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 30 Aug 2023 08:47:43 +0200 Subject: [PATCH 53/96] Update config.h Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index f5520b425cab..bb93eee3925f 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -116,7 +116,6 @@ # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -#endif //------------------------------------------ From da7c30963966d654d662355cdeb357c483f66d3d Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 30 Aug 2023 08:48:15 +0200 Subject: [PATCH 54/96] Update config.h Co-authored-by: Drashna Jaelre --- .../keycapsss/kimiko/rev2/keymaps/default/config.h | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index bb93eee3925f..db89c9119e2c 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -121,14 +121,8 @@ // pointing device definitions //------------------------------------------ -#ifdef POINTING_DEVICE_ENABLE - // #define SPLIT_POINTING_ENABLE // Enable use of pointing device on slave split. - // #define POINTING_DEVICE_RIGHT - - #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) - //Pimoroni Trackball - // #define POINTING_DEVICE_ROTATION_180 // may be used for trackball in 2nd position - #endif +#if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) +# define POINTING_DEVICE_ROTATION_180 // may be used for trackball in 2nd position #endif //------------------------------------------ From 74d022299e9881201403aea072630f606c43e7d6 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 30 Aug 2023 08:48:31 +0200 Subject: [PATCH 55/96] Update config.h Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index db89c9119e2c..cd63e025fc68 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -127,9 +127,3 @@ //------------------------------------------ -// additional split keyboard definitions -//------------------------------------------ -// #define SPLIT_LAYER_STATE_ENABLE //syncs state information to the secondary side -// #define SPLIT_LED_STATE_ENABLE -// #define SPLIT_MODS_ENABLE -//------------------------------------------ From 231d9fe883b20e01340818c80ce72555dc23b56a Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 30 Aug 2023 08:49:09 +0200 Subject: [PATCH 56/96] Update keymap.c Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c index 121b39d540ce..615aa0e214d0 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c @@ -26,8 +26,6 @@ enum layers { _ADJUST, }; -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* QWERTY From b9e41718f90fd5476cc2a87dffdb7393c163f0c1 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Wed, 30 Aug 2023 11:53:54 +0200 Subject: [PATCH 57/96] Add Tri layer feature --- keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c | 3 +-- keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk | 5 +++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c index 615aa0e214d0..59123246424c 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c @@ -26,7 +26,6 @@ enum layers { _ADJUST, }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* QWERTY * ,--------------------------------------------. ,----------------------------------------------. @@ -46,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), - KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI, KC_RALT + KC_LCTL, KC_LGUI, KC_LALT, TL_LOWR, KC_SPC, KC_ENT, TL_UPPR, KC_BSPC, KC_RGUI, KC_RALT ), /* LOWER * QWERTY diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk b/keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk index d449b9912a09..420f29d8f7af 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/rules.mk @@ -1,7 +1,8 @@ +TRI_LAYER_ENABLE = yes ENCODER_MAP_ENABLE = yes -RGBLIGHT_ENABLE = no # Enable keyboard 'old' RGB lightning -RGB_MATRIX_ENABLE = yes # Enable keyboard RGB Matrix lightning +RGBLIGHT_ENABLE = no # Enable keyboard 'old' RGB lightning +RGB_MATRIX_ENABLE = yes # Enable keyboard RGB Matrix lightning # POINTING_DEVICE_ENABLE = yes # POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c From 534296aa84f9ec7548f094dddf7c68c253c2591e Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 3 Sep 2023 10:26:37 +0200 Subject: [PATCH 58/96] Update keymap.c Co-authored-by: Joel Challis --- keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c index 59123246424c..f7e434c88162 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/keymap.c @@ -110,10 +110,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); - return state; -} #if defined(ENCODER_MAP_ENABLE) From 4119bb180eb0bc76a370caaf0afd1f13537e207d Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Mon, 11 Sep 2023 10:45:41 +0200 Subject: [PATCH 59/96] change rev2 to default --- keyboards/keycapsss/kimiko/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rules.mk b/keyboards/keycapsss/kimiko/rules.mk index 7aeacb46d0b2..bf7d8080ecbb 100644 --- a/keyboards/keycapsss/kimiko/rules.mk +++ b/keyboards/keycapsss/kimiko/rules.mk @@ -12,4 +12,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes -DEFAULT_FOLDER = keycapsss/kimiko/rev1 +DEFAULT_FOLDER = keycapsss/kimiko/rev2 From d60d07f7e463fed60c358b298db3499e33f8c9d4 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Mon, 11 Sep 2023 12:18:26 +0200 Subject: [PATCH 60/96] clean root rules.mk --- keyboards/keycapsss/kimiko/rules.mk | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rules.mk b/keyboards/keycapsss/kimiko/rules.mk index bf7d8080ecbb..cb9f69d6bbed 100644 --- a/keyboards/keycapsss/kimiko/rules.mk +++ b/keyboards/keycapsss/kimiko/rules.mk @@ -1,15 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # 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 = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -SPLIT_KEYBOARD = yes - DEFAULT_FOLDER = keycapsss/kimiko/rev2 From bf26aa106362ede3c7955585949ce28931dc66e4 Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 11 Sep 2023 12:20:01 +0200 Subject: [PATCH 61/96] Update keyboards/keycapsss/kimiko/rev2/rules.mk Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/rev2/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/rules.mk b/keyboards/keycapsss/kimiko/rev2/rules.mk index 8b137891791f..7d895c7f4dfe 100644 --- a/keyboards/keycapsss/kimiko/rev2/rules.mk +++ b/keyboards/keycapsss/kimiko/rev2/rules.mk @@ -1 +1 @@ - +# File is left intentionally blank From a6706441774b8e125ee6a36fe6397060a901aab4 Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 11 Sep 2023 12:21:20 +0200 Subject: [PATCH 62/96] Update keyboards/keycapsss/kimiko/rev2/info.json Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 13bbdd5ab160..fa2529d95a35 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -128,7 +128,7 @@ } }, "rgb_matrix": { - "driver": "WS2812", + "driver": "ws2812", "layout": [ { "flags": 4, "matrix": [0, 5], "x": 66, "y": 5 }, { "flags": 4, "matrix": [0, 4], "x": 53, "y": 4 }, From 2e682e18782383a6f4addc7a5dd2e467458f9d6c Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 11 Sep 2023 12:25:00 +0200 Subject: [PATCH 63/96] Update keyboards/keycapsss/kimiko/rev2/config.h Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/rev2/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h index 63c790b3cf85..7e703859e0cb 100644 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ b/keyboards/keycapsss/kimiko/rev2/config.h @@ -24,7 +24,6 @@ // Not yet available in `info.json` #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80 #define RGB_MATRIX_LED_COUNT 62 -#define RGB_MATRIX_SPLIT { 31, 31 } #define SPLIT_TRANSPORT_MIRROR From 747be91265a34170b60d9075d8b25982a2ab2a5d Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 11 Sep 2023 12:25:07 +0200 Subject: [PATCH 64/96] Update keyboards/keycapsss/kimiko/rev2/info.json Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/rev2/info.json | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index fa2529d95a35..501e50d63777 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -129,6 +129,7 @@ }, "rgb_matrix": { "driver": "ws2812", + "split_count": [31, 31], "layout": [ { "flags": 4, "matrix": [0, 5], "x": 66, "y": 5 }, { "flags": 4, "matrix": [0, 4], "x": 53, "y": 4 }, From 12cbad8bcf3f6f072473a72bc6dd9fd7fad381ec Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Tue, 12 Sep 2023 18:12:42 +0200 Subject: [PATCH 65/96] rename config.h --- keyboards/keycapsss/kimiko/{config.h => post_config.h} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename keyboards/keycapsss/kimiko/{config.h => post_config.h} (100%) diff --git a/keyboards/keycapsss/kimiko/config.h b/keyboards/keycapsss/kimiko/post_config.h similarity index 100% rename from keyboards/keycapsss/kimiko/config.h rename to keyboards/keycapsss/kimiko/post_config.h From 5af7359b82aa5c2670fc90551d247aa6df1fe983 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 13 Sep 2023 14:47:42 +0200 Subject: [PATCH 66/96] Update keyboards/keycapsss/kimiko/kimiko.c Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/kimiko.c | 75 +++++++++++++++++++++++++++-- 1 file changed, 71 insertions(+), 4 deletions(-) diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index 38de8cb351c7..b70cddb5f2fd 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -16,11 +16,76 @@ #include "quantum.h" +#ifdef KEYBOARD_keycapsss_kimiko_rev1 +#ifdef RGB_MATRIX_ENABLE + +//Thanks to Ben (keycapsss) for helpipng me to create g_led_config + +// Physical LED position +// X 0 16 32 48 64 80 96 112 128 144 160 176 208 224 +// -----------------------------------------------------------| Y +// 5 4 3 2 1 0 0 1 2 3 4 5 | 0 +// 6 7 8 9 10 11 11 10 9 8 7 6 | 16 +// 17 16 15 14 13 12 12 13 14 15 16 17 | 32 +// 18 19 20 21 22 23 24 24 23 22 21 20 19 18 | 48 +// 29 28 27 26 25 25 26 27 28 29 | 64 + +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 5, 4, 3, 2, 1, 0 }, + { 6, 7, 8, 9, 10, 11 }, + { 17, 16, 15, 14, 13, 12 }, + { 18, 19, 20, 21, 22, 23 }, + { 29, 28, 27, 26, 25, 24 }, + { 35, 34, 33, 32, 31, 30 }, + { 36, 37, 38, 39, 40, 41 }, + { 47, 46, 45, 44, 43, 42 }, + { 48, 49, 50, 51, 52, 53 }, + { 59, 58, 57, 56, 55, 54 } +}, { + // LED Index to Physical Position + // Left half + { 80, 0 }, { 64, 0 }, { 48, 0 }, { 32, 0 }, { 16, 0 }, { 0, 0 }, + { 0, 16 }, { 16, 16 }, { 32, 16 }, { 48, 16 }, { 64, 16 }, { 80, 16 }, + { 80, 32 }, { 64, 32 }, { 48, 32 }, { 32, 32 }, { 16, 32 }, { 0, 32 }, + { 0, 48 }, { 16, 48 }, { 32, 48 }, { 48, 48 }, { 64, 48 }, { 80, 48 }, + { 96, 48 }, { 96, 64 }, { 80, 64 }, { 64, 64 }, { 48, 64 }, { 32, 64 }, + // Right half + { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 208, 0 }, { 224, 0 }, + { 224, 16 }, { 208, 16 }, { 176, 16 }, { 160, 16 }, { 144, 16 }, { 128, 16 }, + { 128, 32 }, { 144, 32 }, { 160, 32 }, { 176, 32 }, { 208, 32 }, { 224, 32 }, + { 224, 48 }, { 208, 48 }, { 176, 48 }, { 160, 48 }, { 144, 48 }, { 128, 48 }, + { 112, 48 }, { 112, 64 }, { 128, 64 }, { 144, 64 }, { 160, 64 }, { 176, 64 } + +}, { + // LED Index to Flag + // 0x01 = 1 = modifier key + // 0x02 = 2 = underglow + // 0x04 = 4 = key backlight + // 0x08 = 8 = keyboard state indication + // Left half + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 1, + 4, 4, 4, 4, 4, 1, + 4, 4, 1, 1, 1, 1, + // Right half + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, + 4, 4, 1, 1, 1, 1 +} }; + +#endif // RGB_MATRIX_ENABLE +#endif // KEYBOARD_keycapsss_kimiko_rev1 + +#ifdef KEYBOARD_keycapsss_kimiko_rev2 enum layers { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST + _QWERTY, + _LOWER, + _RAISE, + _ADJUST }; #ifdef OLED_ENABLE @@ -244,3 +309,5 @@ bool oled_task_kb(void) { return true; } #endif // OLED_ENABLE +#endif // keyboard keycapsss_kimiko_rev2 + From c4f92e9f2bee9669473d89c057bd489bfbb347c1 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 13 Sep 2023 14:47:49 +0200 Subject: [PATCH 67/96] Update keyboards/keycapsss/kimiko/rules.mk Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/rules.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/keyboards/keycapsss/kimiko/rules.mk b/keyboards/keycapsss/kimiko/rules.mk index cb9f69d6bbed..e93f8a8b1d02 100644 --- a/keyboards/keycapsss/kimiko/rules.mk +++ b/keyboards/keycapsss/kimiko/rules.mk @@ -1 +1,7 @@ +ifeq ($(strip $(KEYBOARD)), keycapsss/kimiko/rev1) +SPLIT_KEYBOARD = yes +EXTRAKEY_ENABLE = yes +MOUSEKEY_ENABLE = yes +endif + DEFAULT_FOLDER = keycapsss/kimiko/rev2 From b88f1262c0e0c507af0e7f32b9ea6c5d93a514f6 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Wed, 13 Sep 2023 15:58:27 +0200 Subject: [PATCH 68/96] quick fix build/lint error - this will be changed with a later PR on dev --- keyboards/keycapsss/kimiko/info.json | 5 +++++ keyboards/keycapsss/kimiko/rev2/info.json | 1 - keyboards/keycapsss/kimiko/rules.mk | 6 ------ 3 files changed, 5 insertions(+), 7 deletions(-) create mode 100644 keyboards/keycapsss/kimiko/info.json diff --git a/keyboards/keycapsss/kimiko/info.json b/keyboards/keycapsss/kimiko/info.json new file mode 100644 index 000000000000..2b9790e84e63 --- /dev/null +++ b/keyboards/keycapsss/kimiko/info.json @@ -0,0 +1,5 @@ +{ + "split": { + "enabled": true + } +} diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 501e50d63777..f48684e928c9 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -32,7 +32,6 @@ "rotary": [{ "pin_a": "F5", "pin_b": "F4" }] }, "split": { - "enabled": true, "soft_serial_pin": "D2", "matrix_pins": { "right": { diff --git a/keyboards/keycapsss/kimiko/rules.mk b/keyboards/keycapsss/kimiko/rules.mk index e93f8a8b1d02..cb9f69d6bbed 100644 --- a/keyboards/keycapsss/kimiko/rules.mk +++ b/keyboards/keycapsss/kimiko/rules.mk @@ -1,7 +1 @@ -ifeq ($(strip $(KEYBOARD)), keycapsss/kimiko/rev1) -SPLIT_KEYBOARD = yes -EXTRAKEY_ENABLE = yes -MOUSEKEY_ENABLE = yes -endif - DEFAULT_FOLDER = keycapsss/kimiko/rev2 From eb0c9974e7ae8f0c89e989d70f1980b0dbdba74e Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 13 Sep 2023 16:16:08 +0200 Subject: [PATCH 69/96] Update keyboards/keycapsss/kimiko/info.json Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/info.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/keyboards/keycapsss/kimiko/info.json b/keyboards/keycapsss/kimiko/info.json index 2b9790e84e63..a962104c56a7 100644 --- a/keyboards/keycapsss/kimiko/info.json +++ b/keyboards/keycapsss/kimiko/info.json @@ -1,4 +1,8 @@ { + "features": { + "mousekey": true, + "extrakey": true + }, "split": { "enabled": true } From 72e48e277bb960636400baa37c36e7371ad869e3 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 13 Sep 2023 16:16:47 +0200 Subject: [PATCH 70/96] Update keyboards/keycapsss/kimiko/rev2/info.json Co-authored-by: Duncan Sutherland --- keyboards/keycapsss/kimiko/rev2/info.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index f48684e928c9..4c15d30a955e 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -14,9 +14,7 @@ "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] }, "features": { - "mousekey": true, "oled": true, - "extrakey": true, "encoder": true, "nkro": true }, From 784a3d9fa8b1eb65c254e7e7c3587854915bc9dc Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 18 Sep 2023 10:13:46 +0200 Subject: [PATCH 71/96] Update keyboards/keycapsss/kimiko/kimiko.c Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/kimiko.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index b70cddb5f2fd..b48d061da98f 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -81,13 +81,6 @@ led_config_t g_led_config = { { #endif // KEYBOARD_keycapsss_kimiko_rev1 #ifdef KEYBOARD_keycapsss_kimiko_rev2 -enum layers { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST -}; - #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { From 61075e051fbddb26faebe814d4f217b4bca04f1a Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Mon, 18 Sep 2023 10:17:14 +0200 Subject: [PATCH 72/96] Revert "Update keyboards/keycapsss/kimiko/kimiko.c" This reverts commit 784a3d9fa8b1eb65c254e7e7c3587854915bc9dc. --- keyboards/keycapsss/kimiko/kimiko.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index b48d061da98f..b70cddb5f2fd 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -81,6 +81,13 @@ led_config_t g_led_config = { { #endif // KEYBOARD_keycapsss_kimiko_rev1 #ifdef KEYBOARD_keycapsss_kimiko_rev2 +enum layers { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST +}; + #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { From 8ee26d9b21a341cc566429229d0520713fd1c263 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 4 Oct 2023 14:13:01 +0200 Subject: [PATCH 73/96] Update keyboards/keycapsss/kimiko/kimiko.c Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> --- keyboards/keycapsss/kimiko/kimiko.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index b70cddb5f2fd..5ba2e0885e45 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -90,12 +90,8 @@ enum layers { #ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } else { - return OLED_ROTATION_270; - } +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_270; } // NOTE: Most of the OLED code was originally written by Soundmonster for the Corne, From ebe6c8fb2b4a524fd01aa68b5278aa8128fe8bd8 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 4 Oct 2023 14:20:20 +0200 Subject: [PATCH 74/96] Update keyboards/keycapsss/kimiko/kimiko.c Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> --- keyboards/keycapsss/kimiko/kimiko.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index 5ba2e0885e45..634558bfa203 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -237,6 +237,8 @@ void render_logo(void) { static const char PROGMEM kimiko_logo[] = { 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; + oled_advance_page(false); + oled_advance_page(false); oled_write_P(kimiko_logo, false); // oled_write_P(PSTR("Kimiko"), false); } From cf3e184bcbbda8ea32b74f69110027c651d30254 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 4 Oct 2023 14:24:08 +0200 Subject: [PATCH 75/96] Update keyboards/keycapsss/kimiko/kimiko.c Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> --- keyboards/keycapsss/kimiko/kimiko.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index 634558bfa203..9ef140b9fe23 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -276,12 +276,10 @@ void render_layer_state(void) { } void render_status_main(void) { - render_space(); - render_space(); render_logo(); - render_space(); + oled_advance_page(false); render_layer_state(); - render_space(); + oled_advance_page(false); render_mod_status_gui_alt(get_mods()|get_oneshot_mods()); render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods()); } From a2390714b7f4c31cea79b62067ad6d2d451ccfa0 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 4 Oct 2023 14:25:43 +0200 Subject: [PATCH 76/96] Update keyboards/keycapsss/kimiko/kimiko.c Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> --- keyboards/keycapsss/kimiko/kimiko.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index 9ef140b9fe23..3080711c8163 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -284,13 +284,6 @@ void render_status_main(void) { render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods()); } -void render_status_secondary(void) { - render_space(); - render_space(); - render_logo(); - render_space(); -} - bool oled_task_kb(void) { if (!oled_task_user()) { return false; From 36ef82fece4166199f4ecc0eb137d2d91b839f40 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 4 Oct 2023 14:25:59 +0200 Subject: [PATCH 77/96] Update keyboards/keycapsss/kimiko/kimiko.c Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> --- keyboards/keycapsss/kimiko/kimiko.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index 3080711c8163..9515c5130263 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -292,7 +292,7 @@ bool oled_task_kb(void) { if (is_keyboard_master()) { render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) } else { - render_status_secondary(); + render_logo(); } return true; From aafcdc9cdc1de04a1b40ddcec13635aa5a7c2ba0 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 4 Oct 2023 14:26:12 +0200 Subject: [PATCH 78/96] Update keyboards/keycapsss/kimiko/kimiko.c Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> --- keyboards/keycapsss/kimiko/kimiko.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index 9515c5130263..af39ad9eca89 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -96,9 +96,6 @@ oled_rotation_t oled_init_kb(oled_rotation_t rotation) { // NOTE: Most of the OLED code was originally written by Soundmonster for the Corne, // and has been copied directly from `crkbd/soundmonster/keymap.c` -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}; From 4d8ed82d1a6038ec4a543f163e1c9080a3d342af Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 4 Oct 2023 14:26:25 +0200 Subject: [PATCH 79/96] Update keyboards/keycapsss/kimiko/kimiko.c Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> --- keyboards/keycapsss/kimiko/kimiko.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index af39ad9eca89..ce5703d86bfd 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -267,9 +267,6 @@ void render_layer_state(void) { } else { oled_write_P(default_layer, false); } - #ifdef OLED_DISPLAY_128X64 - oled_write_P(PSTR("\n"), false); - #endif } void render_status_main(void) { From 6e3494db2689ffe80dfd450c9411902dd8546944 Mon Sep 17 00:00:00 2001 From: Ben Date: Thu, 2 Nov 2023 09:58:17 +0100 Subject: [PATCH 80/96] Update keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> --- keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md b/keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md index bf9fcdd50ee9..bd07e0c213d4 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md @@ -23,7 +23,7 @@ A split keyboard with 4x6 vertically staggered keys and thumb keys. Make firmware .hex for this keyboard (after setting up your build environment): ```bash -qmk compile -kb keycapsss/kimiko/rev2 -km rev2 +qmk compile -kb keycapsss/kimiko/rev2 -km default ``` Use [QMK Toolbox](https://github.com/qmk/qmk_toolbox) to flash the firmware hex file to the keyboard controller. From ab8b4e7c77209234b05d8f758aab84497aa95c31 Mon Sep 17 00:00:00 2001 From: Ben Date: Thu, 2 Nov 2023 09:58:24 +0100 Subject: [PATCH 81/96] Update keyboards/keycapsss/kimiko/readme.md Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> --- keyboards/keycapsss/kimiko/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/readme.md b/keyboards/keycapsss/kimiko/readme.md index 049d460d5c70..32c64010126c 100644 --- a/keyboards/keycapsss/kimiko/readme.md +++ b/keyboards/keycapsss/kimiko/readme.md @@ -25,7 +25,7 @@ A split keyboard with 4x6 vertically staggered keys and a Kyria style thumb thum Make firmware .hex for this keyboard (after setting up your build environment): ```bash -qmk compile -kb keycapsss/kimiko/rev2 -km rev2 +qmk compile -kb keycapsss/kimiko/rev2 -km default ``` Use [QMK Toolbox](https://github.com/qmk/qmk_toolbox) to flash the firmware hex file to the keyboard controller. From 949e363c154fd0a765d3f869f8651df8dbd4817f Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 2 Nov 2023 10:01:23 +0100 Subject: [PATCH 82/96] remove readme in rev2 keymap for better maintenance --- .../kimiko/rev2/keymaps/default/readme.md | 31 ------------------- 1 file changed, 31 deletions(-) delete mode 100644 keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md b/keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md deleted file mode 100644 index bd07e0c213d4..000000000000 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Kimiko Rev2 - -A split keyboard with 4x6 vertically staggered keys and thumb keys. - -![Kimiko Rev2](https://i.imgur.com/TBP8Bcrh.jpg) - -- Keyboard Maintainer: [BenRoe](https://github.com/BenRoe/) [@keycapsss](https://twitter.com/keycapsss) -- Hardware Supported: Pro Micro 5V/16Mhz and compatible -- Hardware Availability: [Keycapsss.com](https://keycapsss.com) - -## Features - -- 62 Per key RGB led's (SK6812 Mini-E) - - RGB Matrix is enabled as default in rules.mk - - The effects can be configured in config.h -- Support for 1 rotary encoder per side (two possible positions) -- Support for 1 OLED display per side - - 128x32 (SSD1306) or Nice!View are supported - - With 1 OLED on each side, they have to be the same - - Default configuration for 128x32 OLED - - -Make firmware .hex for this keyboard (after setting up your build environment): - -```bash -qmk compile -kb keycapsss/kimiko/rev2 -km default -``` - -Use [QMK Toolbox](https://github.com/qmk/qmk_toolbox) to flash the firmware hex file to the keyboard controller. - -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). From e2a179907f9162f7900bf3aea4ea149c321d6503 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Mon, 27 Nov 2023 21:09:03 +0100 Subject: [PATCH 83/96] clean rev2 default keymap config --- .../kimiko/rev2/keymaps/default/config.h | 112 ++---------------- 1 file changed, 13 insertions(+), 99 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index cd63e025fc68..cc798414aa69 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -18,112 +18,26 @@ #pragma once -/* Select hand configuration */ -//------------------------------------------ -// #define MASTER_LEFT #define MASTER_RIGHT -// #define EE_HANDS -//------------------------------------------ +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// If you are using an Elite C rev3 on the slave side, uncomment the lines below: -//------------------------------------------ -// #define SPLIT_USB_DETECT -// #define NO_USB_STARTUP_CHECK -//------------------------------------------ +#define ENABLE_RGB_MATRIX_NONE +#define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support +#define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard -// 'new' RGB Matrix definitions, used when RGB_MATRIX_ENABLE = yes in rules.mk -//------------------------------------------ - #define RGB_MATRIX_FRAMEBUFFER_EFFECTS - // #define RGB_MATRIX_KEYPRESSES - // #define RGB_MATRIX_KEYRELEASES +// These modes also require the RGB_MATRIX_FRAMEBUFFER_EFFECTS define to be available. +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! - // These modes don’t require any additional defines. - #define ENABLE_RGB_MATRIX_NONE - #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support +#define RGB_MATRIX_VAL_STEP 4 +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR +#define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set +#define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set +#define RGB_MATRIX_DEFAULT_VAL 60 // RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set +#define RGB_MATRIX_DEFAULT_SPD 60 // Sets the default animation speed, if none has been set - #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue - // #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes - // #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes - // #define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation - // #define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right - // #define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right - // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation - // #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness - // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation - // #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness - // #define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient - // #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right - // #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom - // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in - // #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in - // #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shapped scrolling left to right - // #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard - // #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard - // #define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard - #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard - // #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard - // #define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue - // #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation - // #define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back - // #define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left - // #define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right - // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges - // #define ENABLE_RGB_MATRIX_PIXEL_FLOW // Pulsing RGB flow along LED wiring with random hues - // #define ENABLE_RGB_MATRIX_PIXEL_RAIN // Randomly light keys with random hues - - // These modes also require the RGB_MATRIX_FRAMEBUFFER_EFFECTS define to be available. - #define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! - // #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation - - // These modes also require the RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES define to be available. - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out - // #define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out - // #define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out - // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out - - #define RGB_MATRIX_VAL_STEP 4 - #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR - #define RGB_MATRIX_DEFAULT_HUE 0 // Sets the default hue value, if none has been set - #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set - #define RGB_MATRIX_DEFAULT_VAL 60 //RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set - #define RGB_MATRIX_DEFAULT_SPD 60 // Sets the default animation speed, if none has been set -//------------------------------------------ - - -// 'old' RGB Lightning definitions, used when RGBLIGHT_ENABLE = yes in rules.mk -//------------------------------------------ -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* the RGB lighting will be switched off when the host goes to sleep */ -# define RGBLIGHT_EFFECT_BREATHING -# define RGBLIGHT_EFFECT_RAINBOW_MOOD -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_SNAKE -# define RGBLIGHT_EFFECT_KNIGHT -# define RGBLIGHT_EFFECT_CHRISTMAS -# define RGBLIGHT_EFFECT_STATIC_GRADIENT -# define RGBLIGHT_EFFECT_RGB_TEST -# define RGBLIGHT_EFFECT_ALTERNATING -# define RGBLIGHT_EFFECT_TWINKLE -//------------------------------------------ - - -// pointing device definitions -//------------------------------------------ #if defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) # define POINTING_DEVICE_ROTATION_180 // may be used for trackball in 2nd position #endif -//------------------------------------------ - - From 5acd97224c26d15d6fdf6fe00ce7b9e13a190792 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Mon, 27 Nov 2023 21:11:45 +0100 Subject: [PATCH 84/96] convert tabs to space --- keyboards/keycapsss/kimiko/kimiko.c | 52 ++++++++++++++--------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index ce5703d86bfd..8076b5503bc8 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -241,32 +241,32 @@ void render_logo(void) { } 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(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_LOWER)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_RAISE)) { - oled_write_P(raise_layer, false); - } else { - oled_write_P(default_layer, false); - } + 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(_ADJUST)) { + oled_write_P(adjust_layer, false); + } else if(layer_state_is(_LOWER)) { + oled_write_P(lower_layer, false); + } else if(layer_state_is(_RAISE)) { + oled_write_P(raise_layer, false); + } else { + oled_write_P(default_layer, false); + } } void render_status_main(void) { From 384dc2bf737de6e28395961d262b8f9693f9258d Mon Sep 17 00:00:00 2001 From: Ben Date: Thu, 28 Dec 2023 11:48:33 +0100 Subject: [PATCH 85/96] Update keyboards/keycapsss/kimiko/rev2/config.h Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h index 7e703859e0cb..7181238906f9 100644 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ b/keyboards/keycapsss/kimiko/rev2/config.h @@ -23,7 +23,6 @@ // Not yet available in `info.json` #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80 -#define RGB_MATRIX_LED_COUNT 62 #define SPLIT_TRANSPORT_MIRROR From 2c4d32b3d94be2b2970707c4ec5e864d69261a75 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 28 Dec 2023 12:01:36 +0100 Subject: [PATCH 86/96] Move rev2 code from kimiko.c to rev2.c --- keyboards/keycapsss/kimiko/kimiko.c | 213 ------------------------- keyboards/keycapsss/kimiko/rev2/rev2.c | 193 ++++++++++++++++++++++ 2 files changed, 193 insertions(+), 213 deletions(-) create mode 100644 keyboards/keycapsss/kimiko/rev2/rev2.c diff --git a/keyboards/keycapsss/kimiko/kimiko.c b/keyboards/keycapsss/kimiko/kimiko.c index 8076b5503bc8..c99a966603a9 100644 --- a/keyboards/keycapsss/kimiko/kimiko.c +++ b/keyboards/keycapsss/kimiko/kimiko.c @@ -80,217 +80,4 @@ led_config_t g_led_config = { { #endif // RGB_MATRIX_ENABLE #endif // KEYBOARD_keycapsss_kimiko_rev1 -#ifdef KEYBOARD_keycapsss_kimiko_rev2 -enum layers { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST -}; - -#ifdef OLED_ENABLE - -oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - return OLED_ROTATION_270; -} - -// NOTE: Most of the OLED code was originally written by Soundmonster for the Corne, -// and has been copied directly from `crkbd/soundmonster/keymap.c` - -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 kimiko_logo[] = { - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; - oled_advance_page(false); - oled_advance_page(false); - oled_write_P(kimiko_logo, false); - // oled_write_P(PSTR("Kimiko"), 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(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_LOWER)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_RAISE)) { - oled_write_P(raise_layer, false); - } else { - oled_write_P(default_layer, false); - } -} - -void render_status_main(void) { - render_logo(); - oled_advance_page(false); - render_layer_state(); - oled_advance_page(false); - render_mod_status_gui_alt(get_mods()|get_oneshot_mods()); - render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods()); -} - -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - - if (is_keyboard_master()) { - render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) - } else { - render_logo(); - } - - return true; -} -#endif // OLED_ENABLE -#endif // keyboard keycapsss_kimiko_rev2 diff --git a/keyboards/keycapsss/kimiko/rev2/rev2.c b/keyboards/keycapsss/kimiko/rev2/rev2.c new file mode 100644 index 000000000000..187e6b4cf729 --- /dev/null +++ b/keyboards/keycapsss/kimiko/rev2/rev2.c @@ -0,0 +1,193 @@ +#include "quantum.h" + +enum layers { _QWERTY, _LOWER, _RAISE, _ADJUST }; + +# ifdef OLED_ENABLE + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_270; +} + +// NOTE: Most of the OLED code was originally written by Soundmonster for the Corne, +// and has been copied directly from `crkbd/soundmonster/keymap.c` + +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 kimiko_logo[] = {0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; + oled_advance_page(false); + oled_advance_page(false); + oled_write_P(kimiko_logo, false); + // oled_write_P(PSTR("Kimiko"), 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(_ADJUST)) { + oled_write_P(adjust_layer, false); + } else if (layer_state_is(_LOWER)) { + oled_write_P(lower_layer, false); + } else if (layer_state_is(_RAISE)) { + oled_write_P(raise_layer, false); + } else { + oled_write_P(default_layer, false); + } +} + +void render_status_main(void) { + render_logo(); + oled_advance_page(false); + render_layer_state(); + oled_advance_page(false); + render_mod_status_gui_alt(get_mods() | get_oneshot_mods()); + render_mod_status_ctrl_shift(get_mods() | get_oneshot_mods()); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + + if (is_keyboard_master()) { + render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } else { + render_logo(); + } + + return true; +} +# endif // OLED_ENABLE From af7ef1a5f32d51ca7e8657ce7d1df4fb92c9fa93 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 28 Dec 2023 12:17:28 +0100 Subject: [PATCH 87/96] migrate rev2 config to info.json - used the command qmk migrate -kb keycapsss/kimiko/rev2 --- keyboards/keycapsss/kimiko/rev2/config.h | 2 - keyboards/keycapsss/kimiko/rev2/info.json | 324 +++++++++++----------- 2 files changed, 161 insertions(+), 165 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h index 7181238906f9..13dc2b0f1563 100644 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ b/keyboards/keycapsss/kimiko/rev2/config.h @@ -19,10 +19,8 @@ /* SK6812 RGB LED are used for lightning*/ // Limit the power draw -#define RGBLIGHT_LIMIT_VAL 80 // Not yet available in `info.json` -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80 #define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 4c15d30a955e..929aa7fedf61 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -1,195 +1,193 @@ { - "keyboard_name": "Kimiko Rev2", "manufacturer": "Keycapsss", - "url": "https://keycapsss.com", + "keyboard_name": "Kimiko Rev2", "maintainer": "BenRoe", - "usb": { - "vid": "0x7983", - "pid": "0x4B69", - "device_version": "2.0.0" + "build": { + "lto": true }, + "development_board": "promicro", "diode_direction": "COL2ROW", - "matrix_pins": { - "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], - "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] + "encoder": { + "rotary": [ + {"pin_a": "F5", "pin_b": "F4"} + ] }, "features": { - "oled": true, "encoder": true, - "nkro": true + "nkro": true, + "oled": true }, - "build": { - "lto": true + "matrix_pins": { + "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], + "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] }, - "rgblight": { - "split": true, + "rgb_matrix": { + "driver": "ws2812", + "layout": [ + { "matrix": [0, 5], "x": 66, "y": 5, "flags": 4 }, + { "matrix": [0, 4], "x": 53, "y": 4, "flags": 4 }, + { "matrix": [0, 3], "x": 40, "y": 0, "flags": 4 }, + { "matrix": [0, 2], "x": 26, "y": 4, "flags": 4 }, + { "matrix": [0, 1], "x": 13, "y": 11, "flags": 4 }, + { "matrix": [0, 0], "x": 0, "y": 11, "flags": 4 }, + { "matrix": [1, 0], "x": 0, "y": 23, "flags": 4 }, + { "matrix": [1, 1], "x": 13, "y": 23, "flags": 4 }, + { "matrix": [1, 2], "x": 26, "y": 15, "flags": 4 }, + { "matrix": [1, 3], "x": 40, "y": 12, "flags": 4 }, + { "matrix": [1, 4], "x": 53, "y": 15, "flags": 4 }, + { "matrix": [1, 5], "x": 66, "y": 17, "flags": 4 }, + { "matrix": [2, 5], "x": 66, "y": 29, "flags": 4 }, + { "matrix": [2, 4], "x": 53, "y": 27, "flags": 4 }, + { "matrix": [2, 3], "x": 40, "y": 24, "flags": 4 }, + { "matrix": [2, 2], "x": 26, "y": 27, "flags": 4 }, + { "matrix": [2, 1], "x": 13, "y": 35, "flags": 4 }, + { "matrix": [2, 0], "x": 0, "y": 35, "flags": 1 }, + { "matrix": [3, 0], "x": 0, "y": 47, "flags": 1 }, + { "matrix": [3, 1], "x": 13, "y": 47, "flags": 4 }, + { "matrix": [3, 2], "x": 26, "y": 39, "flags": 4 }, + { "matrix": [3, 3], "x": 40, "y": 36, "flags": 4 }, + { "matrix": [3, 4], "x": 53, "y": 39, "flags": 4 }, + { "matrix": [3, 5], "x": 66, "y": 41, "flags": 4 }, + { "matrix": [5, 5], "x": 80, "y": 48, "flags": 4 }, + { "matrix": [4, 5], "x": 94, "y": 52, "flags": 4 }, + { "matrix": [4, 4], "x": 87, "y": 64, "flags": 4 }, + { "matrix": [4, 3], "x": 73, "y": 60, "flags": 1 }, + { "matrix": [4, 2], "x": 53, "y": 51, "flags": 1 }, + { "matrix": [4, 1], "x": 40, "y": 47, "flags": 1 }, + { "matrix": [4, 0], "x": 26, "y": 51, "flags": 1 }, + { "matrix": [6, 5], "x": 158, "y": 5, "flags": 4 }, + { "matrix": [6, 4], "x": 171, "y": 4, "flags": 4 }, + { "matrix": [6, 3], "x": 184, "y": 0, "flags": 4 }, + { "matrix": [6, 2], "x": 198, "y": 4, "flags": 4 }, + { "matrix": [6, 1], "x": 211, "y": 11, "flags": 4 }, + { "matrix": [6, 0], "x": 224, "y": 11, "flags": 4 }, + { "matrix": [7, 0], "x": 224, "y": 23, "flags": 4 }, + { "matrix": [7, 1], "x": 211, "y": 23, "flags": 4 }, + { "matrix": [7, 2], "x": 198, "y": 15, "flags": 4 }, + { "matrix": [7, 3], "x": 184, "y": 12, "flags": 4 }, + { "matrix": [7, 4], "x": 171, "y": 15, "flags": 4 }, + { "matrix": [7, 5], "x": 158, "y": 17, "flags": 4 }, + { "matrix": [8, 5], "x": 158, "y": 29, "flags": 4 }, + { "matrix": [8, 4], "x": 171, "y": 27, "flags": 4 }, + { "matrix": [8, 3], "x": 184, "y": 24, "flags": 4 }, + { "matrix": [8, 2], "x": 198, "y": 27, "flags": 4 }, + { "matrix": [8, 1], "x": 211, "y": 35, "flags": 4 }, + { "matrix": [8, 0], "x": 224, "y": 35, "flags": 4 }, + { "matrix": [9, 0], "x": 224, "y": 47, "flags": 1 }, + { "matrix": [9, 1], "x": 211, "y": 47, "flags": 4 }, + { "matrix": [9, 2], "x": 198, "y": 39, "flags": 4 }, + { "matrix": [9, 3], "x": 184, "y": 36, "flags": 4 }, + { "matrix": [9, 4], "x": 171, "y": 39, "flags": 4 }, + { "matrix": [9, 5], "x": 158, "y": 41, "flags": 4 }, + { "matrix": [11, 5], "x": 144, "y": 48, "flags": 4 }, + { "matrix": [10, 5], "x": 130, "y": 52, "flags": 4 }, + { "matrix": [10, 4], "x": 137, "y": 64, "flags": 4 }, + { "matrix": [10, 3], "x": 151, "y": 60, "flags": 1 }, + { "matrix": [10, 2], "x": 171, "y": 51, "flags": 4 }, + { "matrix": [10, 1], "x": 184, "y": 47, "flags": 1 }, + { "matrix": [10, 0], "x": 198, "y": 51, "flags": 1 } + ], "led_count": 62, + "max_brightness": 80, "split_count": [31, 31] }, - "encoder": { - "rotary": [{ "pin_a": "F5", "pin_b": "F4" }] + "rgblight": { + "led_count": 62, + "max_brightness": 80, + "split": true, + "split_count": [31, 31] }, "split": { - "soft_serial_pin": "D2", + "encoder": { + "right": { + "rotary": [ + {"pin_a": "F5", "pin_b": "F4"} + ] + } + }, "matrix_pins": { "right": { "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] } }, - "encoder": { - "right": { - "rotary": [{ "pin_a": "F5", "pin_b": "F4" }] - } - } + "soft_serial_pin": "D2" + }, + "url": "https://keycapsss.com", + "usb": { + "device_version": "2.0.0", + "pid": "0x4B69", + "vid": "0x7983" }, "ws2812": { "pin": "D3" }, - "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ - { "label": "L00", "matrix": [0, 0], "x": 0, "y": 0.96 }, - { "label": "L01", "matrix": [0, 1], "x": 1, "y": 0.96 }, - { "label": "L02", "matrix": [0, 2], "x": 2, "y": 0.31 }, - { "label": "L03", "matrix": [0, 3], "x": 3, "y": 0 }, - { "label": "L04", "matrix": [0, 4], "x": 4, "y": 0.31 }, - { "label": "L05", "matrix": [0, 5], "x": 5, "y": 0.46 }, - - { "label": "R00", "matrix": [6, 5], "x": 12, "y": 0.45 }, - { "label": "R01", "matrix": [6, 4], "x": 13, "y": 0.31 }, - { "label": "R02", "matrix": [6, 3], "x": 14, "y": 0 }, - { "label": "R03", "matrix": [6, 2], "x": 15, "y": 0.31 }, - { "label": "R04", "matrix": [6, 1], "x": 16, "y": 0.96 }, - { "label": "R05", "matrix": [6, 0], "x": 17, "y": 0.96 }, - - { "label": "L10", "matrix": [1, 0], "x": 0, "y": 1.96 }, - { "label": "L11", "matrix": [1, 1], "x": 1, "y": 1.96 }, - { "label": "L12", "matrix": [1, 2], "x": 2, "y": 1.31 }, - { "label": "L13", "matrix": [1, 3], "x": 3, "y": 1 }, - { "label": "L14", "matrix": [1, 4], "x": 4, "y": 1.31 }, - { "label": "L15", "matrix": [1, 5], "x": 5, "y": 1.46 }, - - { "label": "R10", "matrix": [7, 5], "x": 12, "y": 1.46 }, - { "label": "R11", "matrix": [7, 4], "x": 13, "y": 1.31 }, - { "label": "R12", "matrix": [7, 3], "x": 14, "y": 1 }, - { "label": "R13", "matrix": [7, 2], "x": 15, "y": 1.31 }, - { "label": "R14", "matrix": [7, 1], "x": 16, "y": 1.96 }, - { "label": "R15", "matrix": [7, 0], "x": 17, "y": 1.96 }, - - { "label": "L20", "matrix": [2, 0], "x": 0, "y": 2.96 }, - { "label": "L21", "matrix": [2, 1], "x": 1, "y": 2.96 }, - { "label": "L22", "matrix": [2, 2], "x": 2, "y": 2.31 }, - { "label": "L23", "matrix": [2, 3], "x": 3, "y": 2 }, - { "label": "L24", "matrix": [2, 4], "x": 4, "y": 2.31 }, - { "label": "L25", "matrix": [2, 5], "x": 5, "y": 2.46 }, - - { "label": "R20", "matrix": [8, 5], "x": 12, "y": 2.46 }, - { "label": "R21", "matrix": [8, 4], "x": 13, "y": 2.31 }, - { "label": "R22", "matrix": [8, 3], "x": 14, "y": 2 }, - { "label": "R23", "matrix": [8, 2], "x": 15, "y": 2.31 }, - { "label": "R24", "matrix": [8, 1], "x": 16, "y": 2.96 }, - { "label": "R25", "matrix": [8, 0], "x": 17, "y": 2.96 }, - - { "label": "L30", "matrix": [3, 0], "x": 0, "y": 3.96 }, - { "label": "L31", "matrix": [3, 1], "x": 1, "y": 4 }, - { "label": "L32", "matrix": [3, 2], "x": 2, "y": 3.31 }, - { "label": "L33", "matrix": [3, 3], "x": 3, "y": 3 }, - { "label": "L34", "matrix": [3, 4], "x": 4, "y": 3.31 }, - { "label": "L35", "matrix": [3, 5], "x": 5, "y": 3.46 }, - { "label": "L50", "matrix": [5, 5], "x": 5.75, "y": 4.51 }, - { "label": "L40", "matrix": [4, 5], "x": 6.75, "y": 5 }, - - { "label": "R40", "matrix": [10, 5], "x": 10.25, "y": 5 }, - { "label": "R50", "matrix": [11, 5], "x": 11.25, "y": 4.5 }, - { "label": "R30", "matrix": [9, 5], "x": 12, "y": 3.46 }, - { "label": "R31", "matrix": [9, 4], "x": 13, "y": 3.31 }, - { "label": "R32", "matrix": [9, 3], "x": 14, "y": 3 }, - { "label": "R33", "matrix": [9, 2], "x": 15, "y": 3.31 }, - { "label": "R34", "matrix": [9, 1], "x": 16, "y": 3.96 }, - { "label": "R35", "matrix": [9, 0], "x": 17, "y": 3.96 }, - - { "label": "L41", "matrix": [4, 0], "x": 2.5, "y": 4.5 }, - { "label": "L42", "matrix": [4, 1], "x": 3.5, "y": 4.5 }, - { "label": "L43", "matrix": [4, 2], "x": 4.5, "y": 4.95 }, - { "label": "L44", "matrix": [4, 3], "x": 5.5, "y": 5.5 }, - { "label": "L45", "matrix": [4, 4], "x": 6.5, "y": 6 }, - - { "label": "R41", "matrix": [10, 4], "x": 10.5, "y": 6 }, - { "label": "R42", "matrix": [10, 3], "x": 11.5, "y": 5.5 }, - { "label": "R43", "matrix": [10, 2], "x": 12.5, "y": 4.75 }, - { "label": "R44", "matrix": [10, 1], "x": 13.5, "y": 4.5 }, - { "label": "R45", "matrix": [10, 0], "x": 14.5, "y": 4.5 } + {"label": "L00", "matrix": [0, 0], "x": 0, "y": 0.96}, + {"label": "L01", "matrix": [0, 1], "x": 1, "y": 0.96}, + {"label": "L02", "matrix": [0, 2], "x": 2, "y": 0.31}, + {"label": "L03", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "L04", "matrix": [0, 4], "x": 4, "y": 0.31}, + {"label": "L05", "matrix": [0, 5], "x": 5, "y": 0.46}, + {"label": "R00", "matrix": [6, 5], "x": 12, "y": 0.45}, + {"label": "R01", "matrix": [6, 4], "x": 13, "y": 0.31}, + {"label": "R02", "matrix": [6, 3], "x": 14, "y": 0}, + {"label": "R03", "matrix": [6, 2], "x": 15, "y": 0.31}, + {"label": "R04", "matrix": [6, 1], "x": 16, "y": 0.96}, + {"label": "R05", "matrix": [6, 0], "x": 17, "y": 0.96}, + {"label": "L10", "matrix": [1, 0], "x": 0, "y": 1.96}, + {"label": "L11", "matrix": [1, 1], "x": 1, "y": 1.96}, + {"label": "L12", "matrix": [1, 2], "x": 2, "y": 1.31}, + {"label": "L13", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "L14", "matrix": [1, 4], "x": 4, "y": 1.31}, + {"label": "L15", "matrix": [1, 5], "x": 5, "y": 1.46}, + {"label": "R10", "matrix": [7, 5], "x": 12, "y": 1.46}, + {"label": "R11", "matrix": [7, 4], "x": 13, "y": 1.31}, + {"label": "R12", "matrix": [7, 3], "x": 14, "y": 1}, + {"label": "R13", "matrix": [7, 2], "x": 15, "y": 1.31}, + {"label": "R14", "matrix": [7, 1], "x": 16, "y": 1.96}, + {"label": "R15", "matrix": [7, 0], "x": 17, "y": 1.96}, + {"label": "L20", "matrix": [2, 0], "x": 0, "y": 2.96}, + {"label": "L21", "matrix": [2, 1], "x": 1, "y": 2.96}, + {"label": "L22", "matrix": [2, 2], "x": 2, "y": 2.31}, + {"label": "L23", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "L24", "matrix": [2, 4], "x": 4, "y": 2.31}, + {"label": "L25", "matrix": [2, 5], "x": 5, "y": 2.46}, + {"label": "R20", "matrix": [8, 5], "x": 12, "y": 2.46}, + {"label": "R21", "matrix": [8, 4], "x": 13, "y": 2.31}, + {"label": "R22", "matrix": [8, 3], "x": 14, "y": 2}, + {"label": "R23", "matrix": [8, 2], "x": 15, "y": 2.31}, + {"label": "R24", "matrix": [8, 1], "x": 16, "y": 2.96}, + {"label": "R25", "matrix": [8, 0], "x": 17, "y": 2.96}, + {"label": "L30", "matrix": [3, 0], "x": 0, "y": 3.96}, + {"label": "L31", "matrix": [3, 1], "x": 1, "y": 4}, + {"label": "L32", "matrix": [3, 2], "x": 2, "y": 3.31}, + {"label": "L33", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "L34", "matrix": [3, 4], "x": 4, "y": 3.31}, + {"label": "L35", "matrix": [3, 5], "x": 5, "y": 3.46}, + {"label": "L50", "matrix": [5, 5], "x": 5.75, "y": 4.51}, + {"label": "L40", "matrix": [4, 5], "x": 6.75, "y": 5}, + {"label": "R40", "matrix": [10, 5], "x": 10.25, "y": 5}, + {"label": "R50", "matrix": [11, 5], "x": 11.25, "y": 4.5}, + {"label": "R30", "matrix": [9, 5], "x": 12, "y": 3.46}, + {"label": "R31", "matrix": [9, 4], "x": 13, "y": 3.31}, + {"label": "R32", "matrix": [9, 3], "x": 14, "y": 3}, + {"label": "R33", "matrix": [9, 2], "x": 15, "y": 3.31}, + {"label": "R34", "matrix": [9, 1], "x": 16, "y": 3.96}, + {"label": "R35", "matrix": [9, 0], "x": 17, "y": 3.96}, + {"label": "L41", "matrix": [4, 0], "x": 2.5, "y": 4.5}, + {"label": "L42", "matrix": [4, 1], "x": 3.5, "y": 4.5}, + {"label": "L43", "matrix": [4, 2], "x": 4.5, "y": 4.95}, + {"label": "L44", "matrix": [4, 3], "x": 5.5, "y": 5.5}, + {"label": "L45", "matrix": [4, 4], "x": 6.5, "y": 6}, + {"label": "R41", "matrix": [10, 4], "x": 10.5, "y": 6}, + {"label": "R42", "matrix": [10, 3], "x": 11.5, "y": 5.5}, + {"label": "R43", "matrix": [10, 2], "x": 12.5, "y": 4.75}, + {"label": "R44", "matrix": [10, 1], "x": 13.5, "y": 4.5}, + {"label": "R45", "matrix": [10, 0], "x": 14.5, "y": 4.5} ] } - }, - "rgb_matrix": { - "driver": "ws2812", - "split_count": [31, 31], - "layout": [ - { "flags": 4, "matrix": [0, 5], "x": 66, "y": 5 }, - { "flags": 4, "matrix": [0, 4], "x": 53, "y": 4 }, - { "flags": 4, "matrix": [0, 3], "x": 40, "y": 0 }, - { "flags": 4, "matrix": [0, 2], "x": 26, "y": 4 }, - { "flags": 4, "matrix": [0, 1], "x": 13, "y": 11 }, - { "flags": 4, "matrix": [0, 0], "x": 0, "y": 11 }, - { "flags": 4, "matrix": [1, 0], "x": 0, "y": 23 }, - { "flags": 4, "matrix": [1, 1], "x": 13, "y": 23 }, - { "flags": 4, "matrix": [1, 2], "x": 26, "y": 15 }, - { "flags": 4, "matrix": [1, 3], "x": 40, "y": 12 }, - { "flags": 4, "matrix": [1, 4], "x": 53, "y": 15 }, - { "flags": 4, "matrix": [1, 5], "x": 66, "y": 17 }, - { "flags": 4, "matrix": [2, 5], "x": 66, "y": 29 }, - { "flags": 4, "matrix": [2, 4], "x": 53, "y": 27 }, - { "flags": 4, "matrix": [2, 3], "x": 40, "y": 24 }, - { "flags": 4, "matrix": [2, 2], "x": 26, "y": 27 }, - { "flags": 4, "matrix": [2, 1], "x": 13, "y": 35 }, - { "flags": 1, "matrix": [2, 0], "x": 0, "y": 35 }, - { "flags": 1, "matrix": [3, 0], "x": 0, "y": 47 }, - { "flags": 4, "matrix": [3, 1], "x": 13, "y": 47 }, - { "flags": 4, "matrix": [3, 2], "x": 26, "y": 39 }, - { "flags": 4, "matrix": [3, 3], "x": 40, "y": 36 }, - { "flags": 4, "matrix": [3, 4], "x": 53, "y": 39 }, - { "flags": 4, "matrix": [3, 5], "x": 66, "y": 41 }, - { "flags": 4, "matrix": [5, 5], "x": 80, "y": 48 }, - { "flags": 4, "matrix": [4, 5], "x": 94, "y": 52 }, - { "flags": 4, "matrix": [4, 4], "x": 87, "y": 64 }, - { "flags": 1, "matrix": [4, 3], "x": 73, "y": 60 }, - { "flags": 1, "matrix": [4, 2], "x": 53, "y": 51 }, - { "flags": 1, "matrix": [4, 1], "x": 40, "y": 47 }, - { "flags": 1, "matrix": [4, 0], "x": 26, "y": 51 }, - { "flags": 4, "matrix": [6, 5], "x": 158, "y": 5 }, - { "flags": 4, "matrix": [6, 4], "x": 171, "y": 4 }, - { "flags": 4, "matrix": [6, 3], "x": 184, "y": 0 }, - { "flags": 4, "matrix": [6, 2], "x": 198, "y": 4 }, - { "flags": 4, "matrix": [6, 1], "x": 211, "y": 11 }, - { "flags": 4, "matrix": [6, 0], "x": 224, "y": 11 }, - { "flags": 4, "matrix": [7, 0], "x": 224, "y": 23 }, - { "flags": 4, "matrix": [7, 1], "x": 211, "y": 23 }, - { "flags": 4, "matrix": [7, 2], "x": 198, "y": 15 }, - { "flags": 4, "matrix": [7, 3], "x": 184, "y": 12 }, - { "flags": 4, "matrix": [7, 4], "x": 171, "y": 15 }, - { "flags": 4, "matrix": [7, 5], "x": 158, "y": 17 }, - { "flags": 4, "matrix": [8, 5], "x": 158, "y": 29 }, - { "flags": 4, "matrix": [8, 4], "x": 171, "y": 27 }, - { "flags": 4, "matrix": [8, 3], "x": 184, "y": 24 }, - { "flags": 4, "matrix": [8, 2], "x": 198, "y": 27 }, - { "flags": 4, "matrix": [8, 1], "x": 211, "y": 35 }, - { "flags": 4, "matrix": [8, 0], "x": 224, "y": 35 }, - { "flags": 1, "matrix": [9, 0], "x": 224, "y": 47 }, - { "flags": 4, "matrix": [9, 1], "x": 211, "y": 47 }, - { "flags": 4, "matrix": [9, 2], "x": 198, "y": 39 }, - { "flags": 4, "matrix": [9, 3], "x": 184, "y": 36 }, - { "flags": 4, "matrix": [9, 4], "x": 171, "y": 39 }, - { "flags": 4, "matrix": [9, 5], "x": 158, "y": 41 }, - { "flags": 4, "matrix": [11, 5], "x": 144, "y": 48 }, - { "flags": 4, "matrix": [10, 5], "x": 130, "y": 52 }, - { "flags": 4, "matrix": [10, 4], "x": 137, "y": 64 }, - { "flags": 1, "matrix": [10, 3], "x": 151, "y": 60 }, - { "flags": 4, "matrix": [10, 2], "x": 171, "y": 51 }, - { "flags": 1, "matrix": [10, 1], "x": 184, "y": 47 }, - { "flags": 1, "matrix": [10, 0], "x": 198, "y": 51 } - ] } } From cd162c4e51a49ad623358a3257c4573bf214c036 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 28 Dec 2023 12:23:53 +0100 Subject: [PATCH 88/96] delete incompatible user keymap --- .../keycapsss/kimiko/keymaps/oriaj3/config.h | 74 ---- .../kimiko/keymaps/oriaj3/glcdfont.c | 251 ----------- .../keycapsss/kimiko/keymaps/oriaj3/keymap.c | 413 ------------------ .../keycapsss/kimiko/keymaps/oriaj3/rules.mk | 19 - 4 files changed, 757 deletions(-) delete mode 100644 keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h delete mode 100644 keyboards/keycapsss/kimiko/keymaps/oriaj3/glcdfont.c delete mode 100644 keyboards/keycapsss/kimiko/keymaps/oriaj3/keymap.c delete mode 100644 keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk diff --git a/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h b/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h deleted file mode 100644 index 2fd384b98657..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h +++ /dev/null @@ -1,74 +0,0 @@ -/* Copyright 2019 MechMerlin - * Copyright 2020 @ben_roe (keycapsss.com) - * Copyright 2022 @oriaj3 - * - * 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 - -/* Select hand configuration */ -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define OLED_FONT_H "keyboards/keycapsss/kimiko/keymaps/rgb_matrix/glcdfont.c" -// #define OLED_FONT_WIDTH 5 -// #define OLED_FONT_HEIGHT 7 - - -#ifdef RGB_MATRIX_ENABLE - -// The pin connected to the data pin of the LEDs -#define WS2812_DI_PIN D3 -// The number of LEDs connected -#define RGB_MATRIX_LED_COUNT 60 -#define RGBLED_NUM 60 -#define RGB_MATRIX_SPLIT {30,30} -#define SPLIT_LAYER_STATE_ENABLE -#define SPLIT_TRANSPORT_MIRROR - - -# define RGB_MATRIX_KEYPRESSES // reacts to keypresses -// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -# define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) -// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80 // limits maximum brightness of LEDs to 80 out of 255. Higher may cause the controller to crash. -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 - - - -// ENABLES EFFECTS. See alls the effects -> https://github.com/samhocevar-forks/qmk-firmware/blob/master/docs/feature_rgb_matrix.md#rgb-matrix-effects -# define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50 -# define ENABLE_RGB_MATRIX_BAND_SPLIT -# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -//# define ENABLE_RGB_MATRIX_MULTISPLASH -//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -# define ENABLE_RGB_MATRIX_SPLASH -#endif - -// If you are using an Elite C rev3 on the slave side, uncomment the lines below: -// #define SPLIT_USB_DETECT -// #define NO_USB_STARTUP_CHECK diff --git a/keyboards/keycapsss/kimiko/keymaps/oriaj3/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/oriaj3/glcdfont.c deleted file mode 100644 index ff2f3bdcd550..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/oriaj3/glcdfont.c +++ /dev/null @@ -1,251 +0,0 @@ -/* Copyright 2019 MechMerlin - * Copyright 2020 @ben_roe (keycapsss.com) - * Copyright 2022 @oriaj3 - * - * 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" - -// Corne 8x6 font -// Online editor: https://helixfonteditor.netlify.com -// or https://joric.github.io/qle/ -// 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, 0x13, 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, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 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, - 0x1F, 0x1F, 0x0E, 0x1B, 0x11, 0xC0, - 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x06, - 0x0C, 0xC6, 0x1F, 0x1F, 0x80, 0x5F, - 0x1F, 0x00, 0x1F, 0x1F, 0x8E, 0x9B, - 0x91, 0x80, 0x9F, 0x9F, 0x91, 0x1F, - 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, 0x84, 0x87, 0x7D, 0x55, 0x57, - 0x55, 0x7D, 0x87, 0x84, 0x00, 0x91, - 0x95, 0x55, 0x55, 0x3F, 0x55, 0x55, - 0x95, 0x91, 0x00, 0x08, 0x08, 0x08, - 0x88, 0xFC, 0x0A, 0x09, 0x08, 0x08, - 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/keycapsss/kimiko/keymaps/oriaj3/keymap.c b/keyboards/keycapsss/kimiko/keymaps/oriaj3/keymap.c deleted file mode 100644 index 243a7d013d45..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/oriaj3/keymap.c +++ /dev/null @@ -1,413 +0,0 @@ -/* Copyright 2019 Leo Batyuk - * Copyright 2020 Drashna Jaelre <@drashna> - * Copyright 2020 @ben_roe (keycapsss.com) - * Copyright 2022 @oriaj3 - * - * 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 { - _QWERTY, - _LOWER, - _RAISE, - _ADJUST, -}; - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* QWERTY - * ,--------------------------------------------. ,----------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - | - * |---------+------+------+------+------+------| |------+------+------+------+------+-----------| - * | LShift | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | - * |---------+------+------+------+------+------| [ | | ] |------+------+------+------+------+-----------| - * | LCTRL | Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift/Enter| - * `-------------------------------------------| / \ \-----------------------------------------------' - * | LCTRL| LGUI | LALT |LOWER| Space / \Enter \ |RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '------------------------------------' - */ - - [_QWERTY] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, - KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), - KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI, KC_RALT -), -/* LOWER - * ,-------------------------------------------. ,-----------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+------| |------+------+------+------+------+------| - * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | - * |--------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | ~ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+------| - * | | | | | | |-------| |-------| | _ | + | { | } | \ | - * `-------------------------------------------| / \ \-----------------------------------------------' - * | LCTRL| LGUI | LALT |LOWER| Space / \Enter \ |RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '------------------------------------' - */ - -[_LOWER] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, - KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD, - _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), -/* RAISE - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | | - * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| - * | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ | - * `-----------------------------------------/ / \ \-----------------------------------------' - * | LCTRL| LGUI | LALT |LOWER| Space / \Enter \ |RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '------------------------------------' - */ - -[_RAISE] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -), -/* ADJUST (Press LOWER and RAISE together) - * ,-----------------------------------------. ,-----------------------------------------. - * |QK_BOOT | | | | | | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * |RGB ON| HUE+ | SAT+ | VAL+ | | | | PREV | PLAY | NEXT | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | MODE | HUE- | SAT- | VAL- | | |-------. ,-------| VOL+ | MUTE | VOL- | | | | - * |------+------+------+------+------+------| | | |------+------+------+------+------+------| - * | | | | | | |-------| |-------| | | | | | | - * `-----------------------------------------/ / \ \-----------------------------------------' - * |LCTRL| LGUI | LALT |LOWER| Space / \Enter \ |RAISE |BackSP| RGUI | RALT | - * `----------------------------------' '------------------------------------' - */ - -[_ADJUST] = LAYOUT( - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - - -layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); - return state; -} - -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } else { - 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 corne_logo[] = { - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0}; - oled_write_P(corne_logo, false); - // oled_write_P(PSTR("Kimiko"), 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(_ADJUST)) { - oled_write_P(adjust_layer, false); - } else if(layer_state_is(_LOWER)) { - oled_write_P(lower_layer, false); - } else if(layer_state_is(_RAISE)) { - oled_write_P(raise_layer, false); - } else { - oled_write_P(default_layer, false); - } -} - -void render_status_main(void) { - render_space(); - render_space(); - render_logo(); - 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()); -} - -void render_status_secondary(void) { - render_space(); - render_space(); - render_logo(); - render_space(); -} - -bool oled_task_user(void) { - if (is_keyboard_master()) { - render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) - } else { - render_status_secondary(); - } - return false; -} - -#endif - - -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - // Encoder on master side - if (index == 0) { - switch (get_highest_layer(layer_state)) { - // If the Default (QWERTY) layer is active - case _QWERTY: - // Arrow Up/Down - if (clockwise) { - tap_code(KC_DOWN); - } else { - tap_code(KC_UP); - } - break; - - // If the RAISE layer is active - case _RAISE: - // Switch browser tabs - if (clockwise) { - tap_code16(LCTL(KC_TAB)); - } else { - tap_code16(RCS(KC_TAB)); - } - break; - // If the ADJUST layer is active - case _ADJUST: - // RGB brightness up/down - if (clockwise) { - rgblight_decrease_val(); // tap_code(RGB_VAD); - } else { - rgblight_increase_val(); // tap_code(RGB_VAI); - } - break; - } - } - // Encoder on slave side - else if (index == 1) { - switch (get_highest_layer(layer_state)) { - // If the Default (QWERTY) layer is active - case _QWERTY: - // Scroll by Word - if (clockwise) { - tap_code16(LCTL(KC_RGHT)); - } else { - tap_code16(LCTL(KC_LEFT)); - } - break; - - // If the LOWER layer is active - case _LOWER: - // Volume up/down - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - - // If the ADJUST layer is active - case _ADJUST: - // RGB hue up/down - if (clockwise) { - // tap_code(RGB_HUI); - rgblight_increase_hue(); - } else { - // tap_code(RGB_HUD); - rgblight_decrease_hue(); - } - break; - } - } - return false; -} -#endif // ENCODER_ENABLE - - - diff --git a/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk b/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk deleted file mode 100644 index 46cb8d8a947b..000000000000 --- a/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -OLED_ENABLE = yes -ENCODER_ENABLE = yes # ENables the use of one or more encoders -RGBLIGHT_ENABLE = no # Disable keyboard RGB underglow - -# LTO: Link Time Optimizations. -# Reduce compiled size, but will automatically disable the legacy TMK Macros and Functions features. -# This does not affect QMK Macros and Layers -LTO_ENABLE = yes - -#ENABLE RGB MATRIX WITH DRIVER WS2812 -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = ws2812 - -#DEFINE SPLIT KEYBOARD AND SPLIT TRANSPORT MIRROR -SPLIT_KEYBOARD = yes - -#DEACTIVATED FOR MEMORY SAVING -MOUSEKEY_ENABLE = no -CONSOLE_ENABLE = no From eafd94041e7da8ccdbc80bdff5949999b71803b7 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 28 Dec 2023 12:29:30 +0100 Subject: [PATCH 89/96] add license header to rev2.c --- keyboards/keycapsss/kimiko/rev2/rev2.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/keyboards/keycapsss/kimiko/rev2/rev2.c b/keyboards/keycapsss/kimiko/rev2/rev2.c index 187e6b4cf729..c5765812c06c 100644 --- a/keyboards/keycapsss/kimiko/rev2/rev2.c +++ b/keyboards/keycapsss/kimiko/rev2/rev2.c @@ -1,3 +1,19 @@ +/* Copyright 2023 @BenRoe (keycapsss.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" enum layers { _QWERTY, _LOWER, _RAISE, _ADJUST }; From 57f94c570abdb0111493c69b38a85a4078719a22 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Mon, 15 Jan 2024 11:36:09 +0100 Subject: [PATCH 90/96] Re add oriaj3 to license header --- keyboards/keycapsss/kimiko/glcdfont.c | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/keycapsss/kimiko/glcdfont.c b/keyboards/keycapsss/kimiko/glcdfont.c index 4c7e6862b6ba..ff2f3bdcd550 100644 --- a/keyboards/keycapsss/kimiko/glcdfont.c +++ b/keyboards/keycapsss/kimiko/glcdfont.c @@ -1,5 +1,6 @@ /* Copyright 2019 MechMerlin * Copyright 2020 @ben_roe (keycapsss.com) + * Copyright 2022 @oriaj3 * * 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 From 9c5842880eaf1fa8b9be4c99c95c4ad76961b84d Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Mon, 15 Jan 2024 11:38:45 +0100 Subject: [PATCH 91/96] remove rev2 config.h Options can be set at keymap level. --- keyboards/keycapsss/kimiko/rev2/config.h | 30 ------------------------ 1 file changed, 30 deletions(-) delete mode 100644 keyboards/keycapsss/kimiko/rev2/config.h diff --git a/keyboards/keycapsss/kimiko/rev2/config.h b/keyboards/keycapsss/kimiko/rev2/config.h deleted file mode 100644 index 13dc2b0f1563..000000000000 --- a/keyboards/keycapsss/kimiko/rev2/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2023 @ben_roe (keycapsss.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 - -/* SK6812 RGB LED are used for lightning*/ - -// Limit the power draw - -// Not yet available in `info.json` -#define SPLIT_TRANSPORT_MIRROR - - -/* 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 From 4950ae8351ac8027f7e6e650854da7b68eca3bae Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 15 Jan 2024 11:40:09 +0100 Subject: [PATCH 92/96] Update keyboards/keycapsss/kimiko/rev2/info.json Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/info.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index 929aa7fedf61..f595bd9cc42b 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -21,6 +21,12 @@ "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, "rgb_matrix": { "driver": "ws2812", "layout": [ From c1c1beadab63e6c2ed506f78647c1fad1ab99284 Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 15 Jan 2024 11:42:09 +0100 Subject: [PATCH 93/96] Update keyboards/keycapsss/kimiko/rev2/info.json Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/info.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index f595bd9cc42b..b2d6d006efec 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -117,7 +117,10 @@ "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] } }, - "soft_serial_pin": "D2" + "soft_serial_pin": "D2", + "transport": { + "matrix_state": true + } }, "url": "https://keycapsss.com", "usb": { From ec19da5842f15c7d0976a8569e2b0c425a44e0c4 Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 15 Jan 2024 11:42:29 +0100 Subject: [PATCH 94/96] Update keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h Co-authored-by: Drashna Jaelre --- keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index cc798414aa69..cf7e018a20f4 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -20,7 +20,6 @@ #define MASTER_RIGHT -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define ENABLE_RGB_MATRIX_NONE #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support From d2922af056825154b926ef9c435330fbaab114ba Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Mon, 15 Jan 2024 11:48:41 +0100 Subject: [PATCH 95/96] remove default enabled rgb effects --- keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h index cf7e018a20f4..34c2708e865d 100644 --- a/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h +++ b/keyboards/keycapsss/kimiko/rev2/keymaps/default/config.h @@ -19,11 +19,6 @@ #pragma once #define MASTER_RIGHT - - -#define ENABLE_RGB_MATRIX_NONE -#define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support - #define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue #define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard From efe42aab0bcbc23488325b6c03d20275c8f06f23 Mon Sep 17 00:00:00 2001 From: Ben Roe Date: Thu, 25 Jan 2024 10:40:39 +0100 Subject: [PATCH 96/96] remove transport matrix_state from info.json It breaks the build process. --- keyboards/keycapsss/kimiko/rev2/info.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/keyboards/keycapsss/kimiko/rev2/info.json b/keyboards/keycapsss/kimiko/rev2/info.json index b2d6d006efec..f595bd9cc42b 100644 --- a/keyboards/keycapsss/kimiko/rev2/info.json +++ b/keyboards/keycapsss/kimiko/rev2/info.json @@ -117,10 +117,7 @@ "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] } }, - "soft_serial_pin": "D2", - "transport": { - "matrix_state": true - } + "soft_serial_pin": "D2" }, "url": "https://keycapsss.com", "usb": {