Merge pull request #8 from t4corun/swoopRGBMatrix

Creating Swoop RGB Matrix and consolidation
This commit is contained in:
Victor 2024-04-24 23:25:11 -05:00 committed by GitHub
commit 0d26a9084b
Failed to generate hash of commit
34 changed files with 315 additions and 664 deletions

View file

@ -1,9 +1,3 @@
#pragma once
#define MASTER_LEFT
#if defined(OLED_ENABLE)
# if !defined(OLED_FONT_H)
# define OLED_FONT_H "keyboards/barbellboards/rollow/lib/glcdfont.c"
# endif //OLED_FONT_H
#endif //OLED_ENABLE

View file

@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
/* may have to swap the hands in this array since we do right side master*/
/* These are horizontal encoders. Found I have to make it opposite the rotary encoders for it to feel intuitive*/
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_DEFAULT_LAYER_1] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
[_DEFAULT_LAYER_2] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
@ -40,7 +40,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_NAVIGATION] = { ENCODER_CCW_CW(ZOOMIN, ZOOMOUT), ENCODER_CCW_CW(___x___, ___x___) },
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) },
[_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
[_CONFIG] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
[_CONFIG] = { ENCODER_CCW_CW(BASELYR, RBSELYR), ENCODER_CCW_CW(TR_RMOD, TR_RRMD) }
};
#endif

View file

@ -1,6 +1,8 @@
# override userspace defaults
OLED_ENABLE = yes
# override keyboard defaults
# keyboards\barbellboards\rollow\info.json
# keyboards\barbellboards\rollow\rules.mk
CONVERT_TO = promicro_rp2040

View file

@ -1,232 +0,0 @@
// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
// See gfxfont.h for newer custom bitmap font info.
#include "progmem.h"
// Standard ASCII 5x7 font
const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0,
0xF0, 0xF8, 0xF8, 0x18, 0x00, 0xC0,
0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0,
0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
0xC0, 0x80, 0x00, 0x00, 0x00, 0x00,
0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0,
0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80,
0x00, 0x00, 0x00, 0xE0, 0xE0, 0xC0,
0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00,
0x00, 0xE0, 0xE0, 0xC0, 0xC0, 0xE0,
0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x80, 0xC0,
0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
0xDE, 0xD7, 0xDC, 0x00, 0xC0, 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, 0xFC, 0xFE,
0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x1F, 0x07, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0xFF, 0x81, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x81,
0xC3, 0xC3, 0xC3, 0x00, 0x00, 0xFF,
0xFF, 0xFF, 0x81, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF,
0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF,
0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
0x9D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
0x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
0x0F, 0x7F, 0x0F, 0x00, 0x03, 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, 0x03, 0x0F, 0x1F,
0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F,
0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x3F,
0x3F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
0x7F, 0x7C, 0x78, 0x78, 0x38, 0x1C,
0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x03, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
0x01, 0x03, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x03, 0x01,
0x00, 0x00, 0x00, 0x07, 0x07, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0x07, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0x07,
0x07, 0x00, 0x00, 0x00, 0x01, 0x03,
0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x03, 0x01, 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,
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, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

View file

@ -1,2 +1 @@
ENCODER_MAP_ENABLE = yes
OLED_DRIVER = ssd1306

View file

@ -2,4 +2,8 @@
# override keyboard defaults
# qmk_firmware\keyboards\bastardkb\charybdis\3x5\v2\splinky_3\rules.mk
# keyboards\bastardkb\info.json
# keyboards\bastardkb\charybdis\info.json
# keyboards\bastardkb\charybdis\3x5\info.json
# keyboards\bastardkb\charybdis\3x5\v2\splinky_3\info.json
# keyboards\bastardkb\charybdis\3x5\v2\splinky_3\rules.mk

View file

@ -0,0 +1,5 @@
//Having this makes the left side encoder act like the right side
#undef EE_HANDS
#define RGB_MATRIX_LED_COUNT 36
#define RGB_MATRIX_SPLIT { 18, 18 }

View file

@ -33,7 +33,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
/* The encoder presses are handled in the keymap */
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_DEFAULT_LAYER_1] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_DEFAULT_LAYER_2] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
@ -41,7 +40,77 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN), ENCODER_CCW_CW(___x___, ___x___) },
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
[_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
[_CONFIG] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(LSFT(TR_RMOD), TR_RMOD) },
[_CONFIG] = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(TR_RRMD, TR_RMOD) }
};
#endif
#endif //ENCODER_MAP_ENABLE
#if defined(RGB_MATRIX_ENABLE)
/*
* Center: 112
* 0 20 41 61 81 102 122 143 163 183 204 224
* Center: 32
* 16 11 10 04 03 21 22 28 29 34 0
* 15 12 09 05 02 20 23 27 30 33 21
* 14 13 08 06 01 19 24 26 31 32 43
* 17 07 00 18 25 35 64
*/
led_config_t g_led_config = {
{
// Key matrix to LED index
// I still don't understand but make it match the split layout?
// Left 1-18
{16, 11, 10, 4, 3},
{15, 12, 9, 5, 2},
{14, 13, 8, 6, 1},
{NO_LED, NO_LED, 17, 7, 0},
// Right 1-18
{34, 29, 28, 22, 21},
{33, 30, 27, 23, 20},
{32, 31, 26, 24, 19},
{NO_LED, NO_LED, 35, 25, 18}
}
, {
// LED index to physical position
// Start from 0 and go to the end
// Left 1-18
{102,64}, //0 inner thumb key
{81,43}, {81,21}, {81,0}, //1: inner column
{61,0}, {61,21}, {61,43}, //4
{81,64}, //7 middle thumb
{41,43}, {41,21}, {41,0}, //8
{20,0}, {20,21}, {20,13}, //11
{0,43}, {0,21}, {0,0}, //14 outer column
{81,85}, //17 outer thumb
// Right 1-18
{122,64}, //18 inner thumb
{143,43}, {143,21}, {143,0}, //19 inner column
{163,0} , {163,21}, {163,43}, //22
{143,64}, //25 middle thumb
{183,43}, {183,21}, {183,0}, //26
{204,0}, {204,21}, {204,43}, //29
{224,43}, {224,21}, {224,0}, //32 outer column
{163,64} //35 outer thumb
}
, {
// LED index to flag
// Start from 0 and go to the end
// Left 1-18
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
// Right 1-18
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
}
};
#endif //RGB_MATRIX_ENABLE

View file

@ -1,9 +1,13 @@
# override userspace defaults
RGB_MATRIX_ENABLE = ws2812
RGB_MATRIX_ENABLE = yes
OLED_ENABLE = yes
# override keyboard defaults
# qmk_firmware\keyboards\bluebell\swoop\rules.mk
# keyboards\bluebell\swoop\info.json
# keyboards\bluebell\swoop\rules.mk
ENCODER_ENABLE = yes
ENCODER_MAP_ENABLE = yes
RGBLIGHT_ENABLE = no
RGB_MATRIX_DRIVER = ws2812
CONVERT_TO = blok

View file

@ -1,11 +1,12 @@
# override userspace defaults
DYNAMIC_MACRO_ENABLE = no
# override keyboard defaults
# qmk_firmware\keyboards\crkbd\rev1\rules.mk
# qmk_firmware\keyboards\crkbd\rules.mk
# qmk_firmware\keyboards\crkbd\info.json
OLED_DRIVER = ssd1306
OLED_ENABLE = yes
# keyboards\crkbd\info.json
# keyboards\crkbd\rev1\info.json
# keyboards\crkbd\rules.mk
# keyboards\crkbd\rev1\rules.mk
RGB_MATRIX_ENABLE = no
RGBLIGHT_ENABLE = no

View file

@ -1,7 +1,10 @@
# override userspace defaults
# override keyboard defaults
# qmk_firmware\keyboards\planck\rev6\rules.mk
# keyboards\planck\info.json
# keyboards\planck\rev6\info.json
# keyboards\planck\rev6\rules.mk
RGBLIGHT_ENABLE = no
ENCODER_ENABLE = no
DIP_SWITCH_ENABLE = no

View file

@ -33,8 +33,8 @@ layers:
- {h: "NAV", t: "0"}
- {t: Mute, type: ghost}
NAV:
- [Escape, Home, ▲, End, Page Up, Insert, Caps Lock, Scroll Lock, null, null ]
- [null, ◄, ▼, ►, Page Down, null, Shift, Ctrl, Alt, Gui ]
- [Escape, Home, ▲, End, Page Up, Mouse Wheel Up, null, Sniper Toggle, Sniper DPI, Pointer DPI ]
- [Caps Lock, ◄, ▼, ►, Page Down, Mouse Wheel down, Shift, Ctrl, Alt, Gui ]
- [Undo, Cut, Copy, Paste, Redo, null, App, Vol-, Vol+, Mute ]
- {t: Zoom Reset, type: ghost}
- NUM
@ -43,8 +43,8 @@ layers:
- {type: held}
- {t: Mute, type: ghost}
NUM:
- [null, Win Snip, Win File, null, {h: "~", t: "`"}, null, "7", "8" ,"9", null ]
- [Gui, Alt, Ctrl, Shift, {h: ":", t: ";"}, null, "4", "5" ,"6", "."]
- [null, Win Snip, Win File, null, null, null, "7", "8" ,"9", {h: "<", t: ","} ]
- [Gui, Alt, Ctrl, Shift, null, null, "4", "5" ,"6", {h: ">", t: "."}]
- [Undo, Cut, Copy, Paste, Redo, null, "1", "2" ,"3", {h: "_", t: "-"}]
- {type: ghost}
- {type: held}
@ -53,48 +53,37 @@ layers:
- {h: "NAV", t: "0"}
- {type: ghost}
SYM:
- [null, null, "@", "$", {h: "~", t: "`"}, {h: "+", t: "="}, "#", "*", null, {h: "\"\"", t: "\""}]
- ["&", {h: "{}", t: "{"}, "}", "|", {h: ":", t: ";"}, null, "?", {h: "[]", t: "]"}, "]", {h: "''", t: "'"}]
- [{h: "^", t: "%"}, {h: "<>", t: "<"}, ">", "\\", "!", null, "/", {h: "()", t: ","}, {h: ")", t: "."}, {h: "_", t: "-"}]
- [null, null, "@", "$", {h: "~", t: "`"}, {h: "==", t: "="}, "#", "*", null, {h: "\"\"", t: "\""}]
- ["&", {h: "{}", t: "{"}, "}", {h: "||", t: "|"}, {h: ":", t: ";"}, {h: "++", t: "+"}, "?", {h: "[]", t: "]"}, "]", {h: "''", t: "'"}]
- [{h: "^", t: "%"}, {h: "<>", t: "<"}, ">", "\\", {h: "!=", t: "!"}, null, "/", {h: "()", t: "("}, ")", {h: "_", t: "-"}]
- {type: ghost}
- {type: held}
- null
- null
- {type: held}
- {type: ghost}
FUNCTION:
- [null, null, Mouse Up, null, Mouse Wheel Up, Print Screen, F7, F8, F9, F10]
- [null, Mouse Left, Mouse Down, Mouse Right, Mouse Wheel Down, Num Lock, F4, F5, F6, F11]
- [Pointer DPI, Sniper DPI, null, Drag Scroll Toggle, Sniper Toggle, Pause Break, F1, F2, F3, F12]
- {type: ghost}
- {type: held}
- {type: held}
- Macro Play
- Macro Record
- {type: ghost}
CONFIG:
- [null, null, null, null, null, Clear EEPROM, Reboot, Boot Loader, null, null]
- [RGB Toggle, RGB Mode, null, null, null, Base Layer Toggle, Shift, Ctrl, Alt, Gui]
- [RGB Hue, RGB Sat, RGB Vib, RGB Spd, null, null, null, null, null, null ]
- [F10, F7, F8, F9, null, RGB Mode, null, null, EEPROM Clear, Boot Loader]
- [F11, F4, F5, F6, null, null, Shift, null, null, null]
- [F12, F1, F2, F3, null, RGB Hue, RGB Sat, RGB Vib, RGB Spd, RGB Toggle ]
- {type: ghost}
- null
- null
- Macro Record
- Macro Play
- {type: held}
- {type: held}
- {type: ghost}
combos:
- { p: [1, 2], k: Esc, l: [base_QWERTY] }
- { p: [2, 3], k: MB4, l: [base_QWERTY] }
- { p: [3, 4], k: MB5, l: [base_QWERTY] }
- { p: [0, 1], k: Esc, l: [base_QWERTY] }
- { p: [12, 13], k: MB1, l: [base_QWERTY] }
- { p: [13, 14], k: MB3, l: [base_QWERTY] }
- { p: [11, 12], k: DrgScr Tog, l: [base_QWERTY] }
- { p: [26, 27], k: Tab, l: [base_QWERTY] }
- { p: [21, 22], k: Enter, l: [base_QWERTY] }
- { p: [22, 23], k: MB2, l: [base_QWERTY] }
- { p: [7, 8], k: Bksp, l: [base_QWERTY] }
- { p: [6, 7], k: Del, l: [base_QWERTY] }
- { p: [31, 32], k: FUNC, l: [base_QWERTY], align: top }
- { p: [23, 24], k: MB3, l: [base_QWERTY] }
- { p: [13, 14], k: MB4, l: [base_QWERTY] }
- { p: [4, 14], k: MB5, l: [base_QWERTY] }
- { p: [11, 12], k: DrgScr Tog, l: [base_QWERTY] }
- { p: [6, 7], k: Tab, l: [base_QWERTY] }
- { p: [21, 22], k: Enter, l: [base_QWERTY] }
- { p: [26, 27], k: Bksp, l: [base_QWERTY] }
- { p: [27, 28], k: Del, l: [base_QWERTY] }
- { p: [33, 34], k: CONFIG, l: [base_QWERTY], align: top }
draw_config:
small_pad: 6

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 133 KiB

Before After
Before After

View file

@ -4,7 +4,10 @@
* - enable features specific to certain board (e.g. encoders, rgb, oled)
* - a way to save memory on MCU
*
* feature specific inclusions driven by rules.mk
* Pattern
* - This will hold config for features we force to be on
* - bring in additional configuration for features that can be enabled/disabled
* - clear and reset the setting
*/
#pragma once
@ -13,13 +16,18 @@
#undef LOCKING_SUPPORT_ENABLE
#undef LOCKING_RESYNC_ENABLE
//Clear variables we plan to use that might be set elsewhere
#undef USB_POLLING_INTERVAL_MS
//Set common configuration for all keyboards
#define USB_POLLING_INTERVAL_MS 1
//#include "_layouts.h"
#include "config/tapping_config.h"
#if defined(CAPS_WORD_ENABLE)
@ -41,3 +49,7 @@
#if defined(SPLIT_KEYBOARD)
# include "config/split_config.h"
#endif
#if defined(OLED_ENABLE)
# include "config/oled_config.h"
#endif

View file

@ -1,11 +1,13 @@
#pragma once
/*
https://docs.qmk.fm/#/feature_caps_word
Explore these
#undef BOTH_SHIFTS_TURNS_ON_CAPS_WORD
#undef CAPS_WORD_INVERT_ON_SHIFT
/* Caps Word
*
* https://docs.qmk.fm/#/feature_caps_word
*
* Explore these
* #undef BOTH_SHIFTS_TURNS_ON_CAPS_WORD
* #undef CAPS_WORD_INVERT_ON_SHIFT
*
*/

View file

@ -1,11 +1,9 @@
#pragma once
/*
https://docs.qmk.fm/#/feature_combo
Explore these (there are way more)
#undef COMBO_MUST_PRESS_IN_ORDER
#undef COMBO_ONLY_FROM_LAYER
/* Combos
*
* https://docs.qmk.fm/#/feature_combo
*
*/
//Clear variables we plan to use that might be set elsewhere

View file

@ -1,46 +1,33 @@
#pragma once
/*
https://docs.qmk.fm/#/feature_mouse_keys
Notes:
I am only putting down settings for accelerated mode
Explore these:
#undef MOUSEKEY_MOVE_DELTA
#undef MOUSEKEY_WHEEL_DELAY
#undef MOUSEKEY_WHEEL_INTERVAL
#undef MOUSEKEY_WHEEL_MAX_SPEED
#undef MOUSEKEY_WHEEL_TIME_TO_MAX
other modes:
- Accelerated (default): Holding movement keys accelerates the cursor until it reaches its maximum speed.
- Kinetic: Holding movement keys accelerates the cursor with its speed following a quadratic curve until it reaches its maximum speed.
- Constant: Holding movement keys moves the cursor at constant speeds.
- Combined: Holding movement keys accelerates the cursor until it reaches its maximum speed, but holding acceleration and movement keys simultaneously moves the cursor at constant speeds.
- Inertia: Cursor accelerates when key held, and decelerates after key release. Tracks X and Y velocity separately for more nuanced movements. Applies to cursor only, not scrolling.
https://docs.qmk.fm/#/feature_pointing_device
notes:
there are way more settings but I don't want to mess anything that Quentin set for the nano
I will only include stuff for auto mouse layer
Explore These:
#undef AUTO_MOUSE_DELAY
#undef AUTO_MOUSE_DEBOUNCE
#undef AUTO_MOUSE_DEFAULT_LAYER
/* Mouse Key
*
* https://docs.qmk.fm/#/feature_mouse_keys
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef MOUSEKEY_DELAY
#undef MOUSEKEY_INTERVAL
#undef MOUSEKEY_MOVE_DELTA
#undef MOUSEKEY_MAX_SPEED
#undef MOUSEKEY_TIME_TO_MAX
#undef MOUSEKEY_WHEEL_DELAY
#undef MOUSEKEY_WHEEL_INTERVAL
#undef MOUSEKEY_WHEEL_DELTA
#undef MOUSEKEY_WHEEL_MAX_SPEED
#undef MOUSEKEY_WHEEL_TIME_TO_MAX
//Set common configuration for all keyboards
#define MOUSEKEY_DELAY 20
#define MOUSEKEY_INTERVAL 12
#define MOUSEKEY_MOVE_DELTA 8
#define MOUSEKEY_MAX_SPEED 6
#define MOUSEKEY_TIME_TO_MAX 50
#define MOUSEKEY_DELAY 20
#define MOUSEKEY_WHEEL_DELAY 10
#define MOUSEKEY_WHEEL_INTERVAL 80
#define MOUSEKEY_WHEEL_DELTA 2
#define MOUSEKEY_WHEEL_MAX_SPEED 8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40

View file

@ -0,0 +1,14 @@
#pragma once
/* OLED
*
* https://docs.qmk.fm/#/feature_oled_driver
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef OLED_TIMEOUT
//Set common configuration for all keyboards
#define OLED_TIMEOUT 60000 //1 min

View file

@ -1,40 +1,30 @@
#pragma once
/*
https://docs.qmk.fm/#/feature_rgb_matrix
My Keyboards:
KEYBOARD_bastardkb_charybdis_3x5
KEYBOARD_crkbd_rev1
KEYBOARD_dztech_dz60rgb_v2_1 ???
the planck is RGBLIGHT not RGB MATRIX
Explore These
#undef RGB_MATRIX_TYPING_HEATMAP_SLIM
#undef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
#undef RGB_MATRIX_TIMEOUT
/* RGB Matrix
*
* https://docs.qmk.fm/#/feature_rgb_matrix
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef RGB_DISABLE_WHEN_USB_SUSPENDED
#undef RGB_MATRIX_SLEEP
#undef RGB_MATRIX_TIMEOUT
#undef RGB_MATRIX_DEFAULT_MODE
#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
#undef RGB_MATRIX_DEFAULT_HUE
#undef RGB_MATRIX_DEFAULT_SAT
#undef RGB_MATRIX_DEFAULT_VAL
#undef RGB_MATRIX_DEFAULT_SPD
#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
#undef RGB_MATRIX_FRAMEBUFFER_EFFECTS
#undef RGB_MATRIX_KEYPRESSES
#undef RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS
#undef RGB_MATRIX_TYPING_HEATMAP_SPREAD
#undef RGB_MATRIX_TYPING_HEATMAP_AREA_LIMIT
#undef RGB_MATRIX_TYPING_HEATMAP_INCREASE_STEP
#undef RGB_MATRIX_DEFAULT_MODE
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
//Then undefine all the RGB Animations
#undef ENABLE_RGB_MATRIX_ALPHAS_MODS
#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
@ -56,6 +46,7 @@ Explore These
#undef ENABLE_RGB_MATRIX_DUAL_BEACON
#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#undef ENABLE_RGB_MATRIX_FLOWER_BLOOMING
#undef ENABLE_RGB_MATRIX_RAINDROPS
#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#undef ENABLE_RGB_MATRIX_HUE_BREATHING
@ -64,10 +55,60 @@ Explore These
#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#undef ENABLE_RGB_MATRIX_PIXEL_FLOW
#undef ENABLE_RGB_MATRIX_PIXEL_RAIN
//These modes also require the RGB_MATRIX_FRAMEBUFFER_EFFECTS define to be available.
#undef ENABLE_RGB_MATRIX_STARLIGHT
#undef ENABLE_RGB_MATRIX_STARLIGHT_DUAL_HUE
#undef ENABLE_RGB_MATRIX_STARLIGHT_DUAL_SAT
#undef ENABLE_RGB_MATRIX_RIVERFLOW
#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#undef ENABLE_RGB_MATRIX_SPLASH
#undef ENABLE_RGB_MATRIX_MULTISPLASH
#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#undef ENABLE_RGB_MATRIX_ALPHAS_MODS
#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#undef ENABLE_RGB_MATRIX_BREATHING
#undef ENABLE_RGB_MATRIX_BAND_SAT
#undef ENABLE_RGB_MATRIX_BAND_VAL
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#undef ENABLE_RGB_MATRIX_CYCLE_ALL
#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#undef ENABLE_RGB_MATRIX_DUAL_BEACON
#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#undef ENABLE_RGB_MATRIX_FLOWER_BLOOMING
#undef ENABLE_RGB_MATRIX_RAINDROPS
#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#undef ENABLE_RGB_MATRIX_HUE_BREATHING
#undef ENABLE_RGB_MATRIX_HUE_PENDULUM
#undef ENABLE_RGB_MATRIX_HUE_WAVE
#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#undef ENABLE_RGB_MATRIX_PIXEL_FLOW
#undef ENABLE_RGB_MATRIX_PIXEL_RAIN
#undef ENABLE_RGB_MATRIX_STARLIGHT
#undef ENABLE_RGB_MATRIX_STARLIGHT_DUAL_HUE
#undef ENABLE_RGB_MATRIX_STARLIGHT_DUAL_SAT
#undef ENABLE_RGB_MATRIX_RIVERFLOW
#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
//These modes also require the RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES define to be available.
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
@ -87,11 +128,11 @@ Explore These
//Set common configuration for all keyboards
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_SLEEP
#define RGB_MATRIX_TIMEOUT 60000 //1 min
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
#define RGB_MATRIX_DEFAULT_HUE 4
#define RGB_MATRIX_DEFAULT_SAT 79
#define RGB_MATRIX_DEFAULT_VAL 59
@ -99,10 +140,7 @@ Explore These
//Set per keyboard configuration
#if defined(KEYBOARD_bastardkb_charybdis_3x5) || defined(KEYBOARD_dztech_dz60rgb_v2_1) || defined(KEYBOARD_bluebell_swoop)
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define RGB_MATRIX_KEYPRESSES
//no extra defines required
# define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
@ -111,10 +149,10 @@ Explore These
# define ENABLE_RGB_MATRIX_DUAL_BEACON
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
# define ENABLE_RGB_MATRIX_HUE_BREATHING
//requires RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
//requires RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
# define ENABLE_RGB_MATRIX_SPLASH
@ -124,7 +162,6 @@ Explore These
//enable minimal effects to save memory
#else
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
# define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BREATHING

View file

@ -1,20 +1,29 @@
#pragma once
/*
https://docs.qmk.fm/#/feature_split_keyboard
/* Split keyboard
*
* https://docs.qmk.fm/#/feature_split_keyboard
*
*
* needed for for the rgb matrix indicators to work
* - SPLIT_LAYER_STATE_ENABLE
* - SPLIT_LED_STATE_ENABLE
* - SPLIT_MODS_ENABLE
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef SPLIT_TRANSPORT_MIRROR
#undef SPLIT_LAYER_STATE_ENABLE
#undef SPLIT_LED_STATE_ENABLE
#undef SPLIT_MODS_ENABLE
#undef SPLIT_OLED_ENABLE
#undef SPLIT_ACTIVITY_ENABLE
#undef SPLIT_USB_DETECT
//Set common configuration for all keyboards
#define SPLIT_TRANSPORT_MIRROR
#define SPLIT_LAYER_STATE_ENABLE
#define SPLIT_LED_STATE_ENABLE
#define SPLIT_MODS_ENABLE
//# define SPLIT_USB_DETECT
#define SPLIT_OLED_ENABLE
#define SPLIT_ACTIVITY_ENABLE
#define MASTER_RIGHT

View file

@ -1,8 +1,10 @@
#pragma once
/*
https://docs.qmk.fm/#/tap_hold
https://docs.qmk.fm/#/one_shot_keys
/* Tapping, Oneshot
*
* https://docs.qmk.fm/#/tap_hold
* https://docs.qmk.fm/#/one_shot_keys
*
*/

View file

@ -3,10 +3,10 @@
uint16_t get_combo_term(uint16_t index, combo_t *combo) {
// or with combo index, i.e. its name from enum.
switch (index) {
/*
case CONFIGLAYER:
return COMBO_HOLD_TERM + 150;
*/
case LYR_CONFIG:
return COMBO_HOLD_TERM + 100;
default:
return COMBO_TERM;
@ -39,7 +39,6 @@ bool get_combo_must_hold(uint16_t index, combo_t *combo) {
switch (index) {
case LYR_CONFIG:
//case LYR_FUNCTION:
return true;
default:

View file

@ -3,7 +3,6 @@
enum combos {
// left hand combos
#if defined(MOUSEKEY_ENABLE)
MOUSE_BUTTON1,
MOUSE_BUTTON2,
@ -15,9 +14,6 @@ enum combos {
KEY_ESC,
KEY_ENT,
LYR_FUNCTION,
// right hand combos
KEY_TAB,
KEY_DEL,
KEY_BSPC,
@ -26,23 +22,21 @@ enum combos {
COMBO_LENGTH
};
//their documentation is so confusing because you don't use COMBO_LEN defining the actions
uint16_t COMBO_LEN = COMBO_LENGTH;
// left hand combos
#if defined(MOUSEKEY_ENABLE)
const uint16_t PROGMEM mou_btn1_combo[] = { KC_D, KC_F, COMBO_END };
const uint16_t PROGMEM mou_btn2_combo[] = { KC_C, KC_V, COMBO_END };
const uint16_t PROGMEM mou_btn3_combo[] = { KC_F, KC_G, COMBO_END };
const uint16_t PROGMEM mou_btn4_combo[] = { KC_E, KC_R, COMBO_END };
const uint16_t PROGMEM mou_btn5_combo[] = { KC_R, KC_T, COMBO_END };
const uint16_t PROGMEM mou_btn3_combo[] = { KC_V, KC_B, COMBO_END };
const uint16_t PROGMEM mou_btn4_combo[] = { KC_F, KC_G, COMBO_END };
const uint16_t PROGMEM mou_btn5_combo[] = { KC_T, KC_G, COMBO_END };
const uint16_t PROGMEM mou_drg_combo[] = { KC_S, KC_D, COMBO_END };
#endif //MOUSEKEY_ENABLE
const uint16_t PROGMEM key_esc_combo[] = { KC_W, KC_E, COMBO_END };
const uint16_t PROGMEM key_esc_combo[] = { KC_Q, KC_W, COMBO_END };
const uint16_t PROGMEM key_ent_combo[] = { KC_X, KC_C, COMBO_END };
//const uint16_t PROGMEM lyr_fun_combo[] = { NUM, TR_LSFT, COMBO_END };
// right hand combos
const uint16_t PROGMEM key_tab_combo[] = { KC_U, KC_I, COMBO_END };
const uint16_t PROGMEM key_bspc_combo[] = { KC_M, TR_COMM, COMBO_END };
const uint16_t PROGMEM key_del_combo[] = { TR_COMM, TR_DOT, COMBO_END };
@ -50,9 +44,9 @@ const uint16_t PROGMEM lyr_cfg_combo[] = { KC_SPC, NAV, COMBO_END };
combo_t key_combos[COMBO_LENGTH] = {
// left hand combos
#if defined(MOUSEKEY_ENABLE)
[MOUSE_BUTTON1] = COMBO(mou_btn1_combo, TR_BTN1),
[MOUSE_BUTTON2] = COMBO(mou_btn2_combo, TR_BTN2),
@ -64,9 +58,6 @@ combo_t key_combos[COMBO_LENGTH] = {
[KEY_ESC] = COMBO(key_esc_combo, KC_ESC),
[KEY_ENT] = COMBO(key_ent_combo, KC_ENT),
//[LYR_FUNCTION] = COMBO(lyr_fun_combo, FUNC),
// right hand combos
[KEY_TAB] = COMBO(key_tab_combo, KC_TAB),
[KEY_DEL] = COMBO(key_del_combo, KC_DEL),
[KEY_BSPC] = COMBO(key_bspc_combo, KC_BSPC),
@ -74,5 +65,3 @@ combo_t key_combos[COMBO_LENGTH] = {
};
//their documentation is so confusing because you don't use COMBO_LEN defining the actions
uint16_t COMBO_LEN = COMBO_LENGTH;

View file

@ -1,4 +0,0 @@
#include "encoder.h"

View file

@ -1,2 +0,0 @@
#pragma once
#include "t4corun.h"

View file

@ -1 +0,0 @@
#include "mouse.h"

View file

@ -1,2 +0,0 @@
#pragma once
#include "t4corun.h"

View file

@ -1,7 +1,6 @@
#pragma once
#include "t4corun.h"
#include "oled_driver.h"
#define OLED_RENDER_KEYLOCK_NAME "Lock:"
#define OLED_RENDER_MODS_NAME "Mods:"
@ -19,6 +18,8 @@
#define OLED_RENDER_LAYER_CONFIG " Cfg "
void render_crkbd_logo(void);
void render_rollow_logo(void);
void render_qmk_logo(void);
void render_default_layer_state(void);
void render_layer_state(void);
void render_keylock_status(void);

View file

@ -1,101 +0,0 @@
#include "rgbmatrix.h"
/*
Achieves the following
- layer tap key indicator when we are in layer
- Caps lock and scroll lock indicators when activated
- mouse button backlight when in mouse layer
- modifier indicators when activated
- default layer indicator
Really only for the charybdis nano, and even then I don't really look down at the
RGB
*/
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max){
/*
uint8_t current_layer = get_highest_layer(layer_state);
uint8_t current_default_layer = get_highest_layer(default_layer_state);
uint8_t current_mod = get_mods();
uint8_t current_osm = get_oneshot_mods();
switch(current_layer) {
case _NAVIGATION:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_NAVIGATION, KEY_LAYER_COLOR);
break;
case _NUMBER:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_NUMBER, KEY_LAYER_COLOR);
break;
case _SYMBOL:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_SYMBOL_L, KEY_TRILAYER_COLOR);
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_SYMBOL_R, KEY_TRILAYER_COLOR);
break;
case _FUNCTION:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_FUNCTION, KEY_TRILAYER_COLOR);
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_DMACRO_R1, KEY_MACROREC_COLOR);
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_DMACRO_P1, KEY_MACROPLY_COLOR);
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_DMACRO_R2, KEY_MACROREC_COLOR);
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_DMACRO_P2, KEY_MACROPLY_COLOR);
break;
case _MOUSE:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_MOUSE, KEY_LAYER_COLOR);
break;
case _CONFIG:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_CONFIG, KEY_LAYER_COLOR);
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_RESET, KEY_RESET_COLOR);
switch (current_default_layer) {
case _DEFAULT_LAYER_1:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_QWERTY, KEY_DEFAULTLAYER_COLOR);
break;
case _DEFAULT_LAYER_2:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_COLEMAKDH, KEY_DEFAULTLAYER_COLOR);
break;
}
break;
}
if ( (current_mod | current_osm) & MOD_MASK_SHIFT ) {
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_SHIFT_T, MOD_SHIFT_COLOR);
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_SHIFT_L, MOD_SHIFT_COLOR);
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_SHIFT_R, MOD_SHIFT_COLOR);
}
if ( (current_mod | current_osm) & MOD_MASK_CTRL ) {
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_CTRL_L, MOD_CTRL_COLOR);
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_CTRL_R, MOD_CTRL_COLOR);
}
if ( (current_mod | current_osm) & MOD_MASK_ALT ) {
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_ALT_L, MOD_ALT_COLOR);
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_ALT_R, MOD_ALT_COLOR);
}
if ( (current_mod | current_osm) & MOD_MASK_GUI ) {
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_GUI_L, MOD_GUI_COLOR);
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_GUI_R, MOD_GUI_COLOR);
}
if ( host_keyboard_led_state().caps_lock || is_caps_word_on() ) {
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_CAPSLOCK, CAPSLOCK_COLOR);
}
if ( host_keyboard_led_state().scroll_lock) {
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(LED_SCRLOCK, SCROLLOCK_COLOR);
}
*/
return false;
}

View file

@ -1,111 +0,0 @@
#pragma once
#include "t4corun.h"
/*
Color preview
( 0, RGB_AZURE);
( 1, RGB_BLACK);
( 2, RGB_BLUE);
( 3, RGB_CHARTREUSE);
( 4, RGB_CORAL);
( 5, RGB_CYAN);
( 6, RGB_GOLD);
( 7, RGB_GOLDENROD);
( 8, RGB_GREEN);
( 9, RGB_MAGENTA);
( 10, RGB_ORANGE);
( 11, RGB_PINK);
( 14, RGB_PURPLE);
( 13, RGB_RED);
( 12, RGB_SPRINGGREEN);
( 32, RGB_TEAL);
( 29, RGB_TURQUOISE);
( 24, RGB_WHITE);
( 23, RGB_YELLOW);
*/
#define LAYER_NAVIGATION_COLOR RGB_AZURE
#define LAYER_SYMBOL_COLOR RGB_CYAN
#define LAYER_NUMBER_COLOR RGB_PURPLE
#define LAYER_MOUSE_COLOR RGB_CORAL
#define LAYER_CONFIG_COLOR RGB_GOLDENROD
#define KEY_LAYER_COLOR RGB_AZURE
#define KEY_TRILAYER_COLOR RGB_PURPLE
#define KEY_DEFAULTLAYER_COLOR RGB_PURPLE
#define KEY_RESET_COLOR RGB_MAGENTA
#define KEY_MACROREC_COLOR RGB_PINK
#define KEY_MACROPLY_COLOR RGB_TURQUOISE
#define MOD_SHIFT_COLOR RGB_WHITE
#define MOD_CTRL_COLOR RGB_CORAL
#define MOD_ALT_COLOR RGB_PINK
#define MOD_GUI_COLOR RGB_GOLDENROD
#define CAPSLOCK_COLOR RGB_WHITE
#define SCROLLOCK_COLOR RGB_WHITE
//so we can send the predefined RGB colors without requiring separate RGB values
#define RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(...) RGB_MATRIX_INDICATOR_SET_COLOR(__VA_ARGS__)
/* qmk_firmware\keyboards\bastardkb\charybdis\3x5\3x5.c
*
* 2 3 8 9 12 30 27 26 21 20
*
* 1 4 7 10 13 31 28 25 22 19
*
* 0 5 6 11 14 32 29 24 23 18
*
* 15 16 17 33 34 XX
*
*/
#if defined(KEYBOARD_bastardkb_charybdis_3x5)
//layers
# define LED_NUMBER 16
# define LED_NAVIGATION 34
# define LED_MOUSE 6
# define LED_SYMBOL_L 16
# define LED_SYMBOL_R 34
# define LED_CONFIG 20
# define LED_FUNCTION 9
//base layers
# define LED_QWERTY 17
# define LED_COLEMAKDH 16
//indicators
# define LED_CAPSLOCK 31
# define LED_SCRLOCK 13
//dynamic macros
# define LED_DMACRO_R1 34
# define LED_DMACRO_P1 33
# define LED_DMACRO_R2 3
# define LED_DMACRO_P2 2
//shift keys
# define LED_SHIFT_T 17
# define LED_SHIFT_L 10
# define LED_SHIFT_R 28
//control keys
# define LED_CTRL_L 7
# define LED_CTRL_R 25
//alt keys
# define LED_ALT_L 4
# define LED_ALT_R 22
//GUI keys
# define LED_GUI_L 1
# define LED_GUI_R 19
//Reset LED
# define LED_RESET 26
#endif

View file

@ -11,6 +11,7 @@ bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
default:
return QUICK_TAP_TERM;
}
@ -18,8 +19,6 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case NAV:
return TAPPING_TERM - 60;
default:
//uprintf("tapping term: %d \n", TAPPING_TERM);

View file

@ -39,35 +39,14 @@ COMBO_ENABLE = yes
SRC += \
t4corun.c \
features/tapping.c \
features/taphold.c
features/taphold.c \
features/capsword.c \
INTROSPECTION_KEYMAP_C += features/combo.c
# ---------------------------------------------------------
# include my code for enabled features for each keyboard
ifeq ($(strip $(CAPS_WORD_ENABLE)), yes)
SRC += features/capsword.c
endif
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
SRC += features/rgbmatrix.c
endif
ifeq ($(strip $(RGB_MATRIX_ENABLE)), ws2812)
SRC += features/rgbmatrix.c
endif
ifeq ($(strip $(MOUSEKEY_ENABLE)), yes)
SRC += features/mouse.c
endif
ifeq ($(strip $(OLED_ENABLE)), yes)
SRC += features/oled.c
endif
ifeq ($(strip $(ENCODER_MAP_ENABLE)), yes)
SRC += features/encoder.c
endif
ifeq ($(strip $(COMBO_ENABLE)), yes)
INTROSPECTION_KEYMAP_C += features/combo.c
endif

View file

@ -20,6 +20,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
case RBSELYR:
if (record->event.pressed) {
current_base_layer = (current_base_layer - 1) % NUM_BASE_LAYER;
set_single_persistent_default_layer(current_base_layer);
}
return false;
case PN_DRGS:
if (record->event.pressed) {
//tap numlock twice to toggle ploopy nano drag scroll

View file

@ -40,7 +40,8 @@ enum keycodes {
PN_DRGS,
PN_PDPI,
BASELYR
BASELYR,
RBSELYR
};
#define ___x___ KC_NO
@ -149,13 +150,9 @@ enum keycodes {
#if defined(DYNAMIC_MACRO_ENABLE)
# define TR_DMR1 DM_REC1
# define TR_DMP1 DM_PLY1
# define TR_DMR2 DM_REC2
# define TR_DMP2 DM_PLY2
#else
# define TR_DMR1 ___x___
# define TR_DMP1 ___x___
# define TR_DMR2 ___x___
# define TR_DMP2 ___x___
#endif //DYNAMIC_MACRO_ENABLE
#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE)
@ -165,6 +162,7 @@ enum keycodes {
# define TR_RSPI RGB_SPI
# define TR_RTOG RGB_TOG
# define TR_RMOD RGB_MOD
# define TR_RRMD RGB_RMOD
#else
# define TR_RHUI ___x___
# define TR_RSAI ___x___
@ -172,6 +170,7 @@ enum keycodes {
# define TR_RSPI ___x___
# define TR_RTOG ___x___
# define TR_RMOD ___x___
# define TR_RRMD ___x___
#endif //RGB_MATRIX_ENABLE || RGBLIGHT_ENABLE
@ -216,16 +215,16 @@ enum keycodes {
#define LAYER_NAVIGATION \
___x___, KC_HOME, KC_UP, KC_END, KC_PGUP, TR_MWHU, TR_DRGS, TR_SNIP, TR_SDPI, TR_PDPI, \
___x___, KC_HOME, KC_UP, KC_END, KC_PGUP, TR_MWHU, ___x___, TR_SNIP, TR_SDPI, TR_PDPI, \
KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, TR_MWHD, _SCAG_MODS________________________, \
_UCCPR_L___________________________________, ___x___, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, \
ZOOMRST, _______, KC_ENT, _LAYER_TRANS_____________
#define LAYER_NUMBER \
___x___, SC_SNIP, SC_FILE, ___x___, ___x___, ___x___, KC_7, KC_8, KC_9, ___x___, \
_GACS_MODS________________________, ___x___, KC_DOT, KC_4, KC_5, KC_6, ___x___, \
_UCCPR_L___________________________________, KC_COMM, KC_1, KC_2, KC_3, TR_MINS, \
___x___, SC_SNIP, SC_FILE, ___x___, ___x___, ___x___, KC_7, KC_8, KC_9, KC_COMM, \
_GACS_MODS________________________, ___x___, ___x___, KC_4, KC_5, KC_6, KC_DOT, \
_UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, TR_MINS, \
_LAYER_TRANS_____________, KC_SPC, NAV_0, ___x___
@ -237,8 +236,8 @@ enum keycodes {
#define LAYER_CONFIG \
KC_F10, KC_F7, KC_F8, KC_F9, ___x___, TR_RMOD, ___x___, ___x___, ___x___, QK_BOOT, \
KC_F11, KC_F4, KC_F5, KC_F6, ___x___, BASELYR, TR_LSFT, _NONE_3__________________, \
KC_F10, KC_F7, KC_F8, KC_F9, ___x___, ___x___, ___x___, ___x___, EE_CLR, QK_BOOT, \
KC_F11, KC_F4, KC_F5, KC_F6, ___x___, BASELYR, TR_LSFT, ___x___, ___x___, TR_RMOD, \
KC_F12, KC_F1, KC_F2, KC_F3, ___x___, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, TR_RTOG, \
___x___, TR_DMR1, TR_DMP1, _NONE_3__________________