diff --git a/keyboards/doio/kb16/config.h b/keyboards/doio/kb16/config.h index 24766ac76f..b3190948ea 100644 --- a/keyboards/doio/kb16/config.h +++ b/keyboards/doio/kb16/config.h @@ -19,3 +19,4 @@ /* Use the custom font */ #define OLED_FONT_H "./lib/glcdfont.c" +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 diff --git a/keyboards/doio/kb16/lib/layer_status_six_layers/layer_status.c b/keyboards/doio/kb16/lib/layer_status_six_layers/layer_status.c new file mode 100644 index 0000000000..973959dcd7 --- /dev/null +++ b/keyboards/doio/kb16/lib/layer_status_six_layers/layer_status.c @@ -0,0 +1,71 @@ +/* Copyright 2022 DOIO + * Copyright 2022 HorrorTroll + * + * 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 "oled_driver.h" +#include "action_layer.h" +#include "progmem.h" + +#define ANIM_SIZE 525 // number of bytes in array, minimize for adequate firmware size, max is 1024 + +void render_layer_status(void) { + static const char PROGMEM layer_status[][ANIM_SIZE] = { + { + //Layer 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248,248,248,248,248,248,248,248,248,248,248,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0,127,127,127,127,127,127,127,127,127,127,127,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,252,252, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,252,252,252, 0, 0,255, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 16, 16, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }, + { + //Layer 1 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,252,252,252,252,240,240,240,240,240,240,240,240,240,240,240,248,248,248,248,248, 0, 0,255, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0,254,254,254,254,254,254,254,254,254,254,254,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 16, 16, 19, 19, 19, 19, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }, + { + //Layer 2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248,248,248,248,248,248,248,248,248,248,248,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0,127,127,127,127,127,127,127,127,127,127,127,127, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,252,252,252,252, 60, 60, 60, 60,252,252,252,252,192,192,192,192,252,252,252,252, 0, 0,255, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 16, 16, 19, 19, 19, 19, 16, 16, 16, 16, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }, + { + //Layer 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,252,252,252,252,192,192,192,192,252,252,252,252,192,192,192,192,252,252,252,252, 0, 0,255, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0,254,254,254,254,254,254,254,254,254,254,254,254, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 16, 16, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }, + { + //Layer 4 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248,248,248,248,248,248,248,248,248,248,248,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,127,127,127,127,127,127,127,127,127,127,127,127, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,192,192,192,192,192,192,192,192,252,252,252,252,220,220,220,220,220,220,220,220, 0, 0,255, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 16, 16, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }, + { + //Layer 5 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0,248, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0,127, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,252,252,252,252,192,192,192,192,252,252,252,252, 60, 60, 60, 60,252,252,252,252, 0, 0,255, 0, 0,254,254,254,254,254,254,254,254,254,254,254,254, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0,254, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 16, 16, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 16, 16, 16, 16, 19, 19, 19, 19, 16, 16, 31, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 31, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + } + }; + + oled_write_raw_P(layer_status[get_highest_layer(layer_state)], sizeof(layer_status[0])); +} diff --git a/keyboards/doio/kb16/lib/layer_status_six_layers/layer_status.h b/keyboards/doio/kb16/lib/layer_status_six_layers/layer_status.h new file mode 100644 index 0000000000..2c4b08f25a --- /dev/null +++ b/keyboards/doio/kb16/lib/layer_status_six_layers/layer_status.h @@ -0,0 +1,20 @@ +/* Copyright 2022 DOIO + * Copyright 2022 HorrorTroll + * + * 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 + +void render_layer_status(void); diff --git a/keyboards/doio/kb16/rev2/keymaps/vial/keymap.c b/keyboards/doio/kb16/rev2/keymaps/vial/keymap.c index e1c3d0eb19..4daa207671 100644 --- a/keyboards/doio/kb16/rev2/keymaps/vial/keymap.c +++ b/keyboards/doio/kb16/rev2/keymaps/vial/keymap.c @@ -18,13 +18,23 @@ #include QMK_KEYBOARD_H // OLED animation -#include "lib/layer_status/layer_status.h" +#include "lib/layer_status_six_layers/layer_status.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them // entirely and just use numbers. +enum layer_names { + _BASE, + _FN, + _FN1, + _FN2, + _FN3, + _FN4 +}; + +// enum layer_keycodes { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -49,11 +59,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { └───┴───┴───┴───┘ */ /* Row: 0 1 2 3 4 */ - [0] = LAYOUT( + [_BASE] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_MPLY, - KC_5, KC_6, KC_7, KC_8, TO(1), + KC_5, KC_6, KC_7, KC_8, TO(_FN), KC_9, KC_0, KC_UP, KC_ENT, KC_MUTE, - MO(3), KC_LEFT, KC_DOWN, KC_RIGHT + MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT ), /* @@ -68,9 +78,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { └───┴───┴───┴───┘ */ /* Row: 0 1 2 3 4 */ - [1] = LAYOUT( + [_FN] = LAYOUT( _______, _______, _______, _______, _______, - _______, _______, _______, _______, TO(2), + _______, _______, _______, _______, TO(_FN1), _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -87,30 +97,68 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { └───┴───┴───┴───┘ */ /* Row: 0 1 2 3 4 */ - [2] = LAYOUT( + [_FN1] = LAYOUT( _______, _______, _______, _______, _______, - _______, _______, _______, _______, TO(3), + _______, _______, _______, _______, TO(_FN2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* ┌───┬───┬───┬───┐ ┌───┐ ┌───┐ - │Spd│Spi│ │ │ │ │ │TO0│ + │Spi│Spd│ │ │ │ │ │TO0│ ├───┼───┼───┼───┤ └───┘ └───┘ - │Sad│Sai│ │ │ + │Sai│Sad│ │ │ ├───┼───┼───┼───┤ - │Prv│Nxt│Hui│ │ ┌───┐ + │Tog│Mod│Hui│ │ ┌───┐ ├───┼───┼───┼───┤ │ │ - │Tog│Vad│Hud│Vai│ └───┘ + │ │Vai│Hud│Vad│ └───┘ └───┴───┴───┴───┘ */ /* Row: 0 1 2 3 4 */ - [3] = LAYOUT( - RM_SPDD, RM_SPDU, _______, QK_BOOT, _______, - RM_SATD, RM_SATU, _______, _______, TO(0), - RM_PREV, RM_NEXT, RM_HUEU, _______, _______, - RM_TOGG, RM_VALD, RM_HUED, RM_VALU + [_FN2] = LAYOUT( + RGB_SPI, RGB_SPD, _______, QK_BOOT, _______, + RGB_SAI, RGB_SAD, _______, _______, TO(_FN3), + RGB_TOG, RGB_MOD, RGB_HUI, _______, _______, + _______, RGB_VAI, RGB_HUD, RGB_VAD + ), + +/* + ┌───┬───┬───┬───┐ ┌───┐ ┌───┐ + │ │ │ │ │ │ │ │ │ + ├───┼───┼───┼───┤ └───┘ └───┘ + │ │ │ │ │ + ├───┼───┼───┼───┤ + │ │ │ │ │ ┌───┐ + ├───┼───┼───┼───┤ │ │ + │ │ │ │ │ └───┘ + └───┴───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 */ + [_FN3] = LAYOUT( + _______, _______, _______, _______, _______, + _______, _______, _______, _______, TO(_FN4), + _______, _______, _______, _______, _______, + _______, _______, _______, _______ + ), + +/* + ┌───┬───┬───┬───┐ ┌───┐ ┌───┐ + │ │ │ │ │ │ │ │ │ + ├───┼───┼───┼───┤ └───┘ └───┘ + │ │ │ │ │ + ├───┼───┼───┼───┤ + │ │ │ │ │ ┌───┐ + ├───┼───┼───┼───┤ │ │ + │ │ │ │ │ └───┘ + └───┴───┴───┴───┘ +*/ + /* Row: 0 1 2 3 4 */ + [_FN4] = LAYOUT( + _______, _______, _______, _______, _______, + _______, _______, _______, _______, TO(_BASE), + _______, _______, _______, _______, _______, + _______, _______, _______, _______ ), }; @@ -124,9 +172,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_BASE] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_FN1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_FN2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_FN3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_FN4] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, }; -#endif +#endif diff --git a/keyboards/doio/kb16/rev2/keymaps/vial/vial.json b/keyboards/doio/kb16/rev2/keymaps/vial/vial.json index 21990bf8be..39f4469b08 100644 --- a/keyboards/doio/kb16/rev2/keymaps/vial/vial.json +++ b/keyboards/doio/kb16/rev2/keymaps/vial/vial.json @@ -1,74 +1,89 @@ { - "name": "KB16-01", - "vendorId": "0xD010", - "productId": "0x1601", - "matrix": { - "rows": 4, - "cols": 5 - }, + "name": "KB16-01", + "vendorId": "0xD010", + "productId": "0x1601", + "matrix": { + "rows": 4, + "cols": 5 + }, "lighting": "vialrgb", "layouts": { - "keymap":[ - [ - "0,0", - "0,1", - "0,2", - "0,3", - { - "x": 0.25 - }, - "0,0\n\n\n\n\n\n\n\n\ne", - "0,1\n\n\n\n\n\n\n\n\ne", - { - "x": 0.25 - }, - "1,0\n\n\n\n\n\n\n\n\ne", - "1,1\n\n\n\n\n\n\n\n\ne" - ], - [ - "1,0", - "1,1", - "1,2", - "1,3", - { - "x": 0.75 - }, - "0,4", - { - "x": 1.25 - }, - "1,4" - ], - [ - "2,0", - "2,1", - "2,2", - "2,3" - ], - [ - { - "y": -0.75, - "x": 5.25 - }, - "2,0\n\n\n\n\n\n\n\n\ne", - "2,1\n\n\n\n\n\n\n\n\ne" - ], - [ - { - "y": -0.25 - }, - "3,0", - "3,1", - "3,2", - "3,3" - ], - [ - { - "y": -0.75, - "x": 5.75 - }, - "2,4" - ] - ] - } + "keymap": [ + [ + "1,0\n\n\n\n\n\n\n\n\ne", + "1,1\n\n\n\n\n\n\n\n\ne" + ], + [ + { + "x": 0.5 + }, + "1,4" + ], + [ + { + "y": -0.5, + "x": 2.25 + }, + "2,0\n\n\n\n\n\n\n\n\ne", + "2,1\n\n\n\n\n\n\n\n\ne" + ], + [ + { + "x": 2.75 + }, + "2,4" + ], + [ + { + "y": -0.75 + }, + "0,0\n\n\n\n\n\n\n\n\ne", + "0,1\n\n\n\n\n\n\n\n\ne" + ], + [ + { + "x": 0.5 + }, + "0,4" + ], + [ + { + "y": 0.25, + "x": 0.25 + }, + "0,3", + "1,3", + "2,3", + "3,3" + ], + [ + { + "x": 0.25 + }, + "0,2", + "1,2", + "2,2", + "3,2" + ], + [ + { + "x": 0.25 + }, + "0,1", + "1,1", + "2,1", + "3,1" + ], + [ + { + "x": 0.25 + }, + "0,0", + "1,0", + "2,0", + "3,0" + ] +] + + } } diff --git a/keyboards/doio/kb16/rev2/rules.mk b/keyboards/doio/kb16/rev2/rules.mk index e9bb89acc7..a2dca93cb9 100644 --- a/keyboards/doio/kb16/rev2/rules.mk +++ b/keyboards/doio/kb16/rev2/rules.mk @@ -1,4 +1,4 @@ -SRC += ./lib/layer_status/layer_status.c +SRC += ./lib/layer_status_six_layers/layer_status.c SRC += ./lib/logo.c # Configure for 128K flash