Merge remote-tracking branch 'qmk/master' into merge-2024-06-23

This commit is contained in:
Ilya Zhuravlev 2024-06-23 22:54:29 -06:00
commit e9d70b410a
15675 changed files with 653160 additions and 679575 deletions

View file

@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
_______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,
_______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME,
_______, RGB_RMOD,_______, RGB_MOD, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, QWERTY, COLEMAK,

View file

@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
_______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,
_______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME,
_______, RGB_RMOD,_______, RGB_MOD, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, QWERTY, COLEMAK,

View file

@ -1,25 +0,0 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* <https://github.com/Legonut> wrote this file. As long as you retain this
* notice you can do whatever you want with this stuff. If we meet some day, and
* you think this stuff is worth it, you can buy me a beer in return. David Rauseo
* ----------------------------------------------------------------------------
*/
#include "mun.h"
#include "touch_encoder.h"
#include "common_oled.h"
#include <transactions.h>
void keyboard_post_init_kb(void) {
touch_encoder_init();
transaction_register_rpc(TOUCH_ENCODER_SYNC, touch_encoder_slave_sync);
transaction_register_rpc(RGB_MENU_SYNC, rgb_menu_slave_sync);
keyboard_post_init_user();
}
void housekeeping_task_kb(void) {
touch_encoder_update(TOUCH_ENCODER_SYNC);
rgb_menu_update(RGB_MENU_SYNC);
}

View file

@ -1,16 +0,0 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* <https://github.com/Legonut> wrote this file. As long as you retain this
* notice you can do whatever you want with this stuff. If we meet some day, and
* you think this stuff is worth it, you can buy me a beer in return. David Rauseo
* ----------------------------------------------------------------------------
*/
#pragma once
#if defined(KEYBOARD_rgbkb_mun_rev1)
# include "rev1.h"
#endif
#include "quantum.h"

View file

@ -54,8 +54,9 @@
#define WS2812_PWM_DRIVER PWMD3
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 2
#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
#define WS2812_DMA_CHANNEL 3
#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM3
#define WS2812_PWM_DMA_CHANNEL 3
#define TOUCH_UPDATE_INTERVAL 33
#define OLED_UPDATE_INTERVAL 33
#define OLED_FONT_H "keyboards/rgbkb/common/glcdfont.c"

View file

@ -8,6 +8,18 @@
"pid": "0x3505",
"device_version": "0.0.1"
},
"build": {
"lto": true
},
"features": {
"bootmagic": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
"nkro": true,
"oled": true,
"rgb_matrix": true
},
"rgblight": {
"led_count": 98,
"split_count": [49, 49],
@ -102,6 +114,7 @@
"tap_keycode_delay": 5
},
"split": {
"enabled": true,
"soft_serial_pin": "A9",
"transport": {
"sync": {

View file

@ -8,6 +8,9 @@
*/
#include "rev1.h"
#include "touch_encoder.h"
#include "common_oled.h"
#include "transactions.h"
#define NUMBER_OF_TOUCH_ENCODERS 2
#define TOUCH_ENCODER_OPTIONS TOUCH_SEGMENTS + 2
@ -85,3 +88,15 @@ led_config_t g_led_config = { {
} };
// clang-format on
#endif
void keyboard_post_init_kb(void) {
touch_encoder_init();
transaction_register_rpc(TOUCH_ENCODER_SYNC, touch_encoder_slave_sync);
transaction_register_rpc(RGB_MENU_SYNC, rgb_menu_slave_sync);
keyboard_post_init_user();
}
void housekeeping_task_kb(void) {
touch_encoder_update(TOUCH_ENCODER_SYNC);
rgb_menu_update(RGB_MENU_SYNC);
}

View file

@ -9,5 +9,5 @@
#pragma once
#include "mun.h"
#include "quantum.h"
#include "touch_encoder.h"

View file

@ -0,0 +1,8 @@
# Touch encoder needs
VPATH += keyboards/rgbkb/common
SRC += touch_encoder.c
SRC += common_oled.c
I2C_DRIVER_REQUIRED = yes
SERIAL_DRIVER = usart
OPT = 3

View file

@ -1,32 +1 @@
# Touch encoder needs
VPATH += keyboards/rgbkb/common
SRC += touch_encoder.c
SRC += common_oled.c
I2C_DRIVER_REQUIRED = yes
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
RGB_MATRIX_ENABLE = yes
OLED_ENABLE = yes
ENCODER_ENABLE = yes
SPLIT_KEYBOARD = yes
SERIAL_DRIVER = usart
LTO_ENABLE = yes
OPT = 3
OPT_DEFS += -DOLED_FONT_H=\"keyboards/rgbkb/common/glcdfont.c\"
DEFAULT_FOLDER = rgbkb/mun/rev1

View file

@ -8,6 +8,15 @@
"pid": "0x8C9C",
"device_version": "0.0.2"
},
"features": {
"bootmagic": true,
"encoder": true,
"extrakey": true,
"mousekey": false,
"nkro": false,
"oled": true,
"rgb_matrix": true
},
"rgb_matrix": {
"animations": {
"alphas_mods": true,

View file

@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJ] = LAYOUT_all(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
_______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,
_______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______,
_______, _______, _______, RGB_MOD, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, _QWERTY, _COLEMAK

View file

@ -1,6 +1,3 @@
# RGB layout selection
RGB_ENCODERS = yes # For RGB encoders, solder on both WS2811 chips
STAGGERED_LAYOUT = no # If you soldered R1-A12 and R4-A12, enable this.
# Do not edit past here
include keyboards/$(KEYBOARD)/post_rules.mk

View file

@ -1,6 +1,3 @@
# RGB layout selection
RGB_ENCODERS = yes # For RGB encoders, solder on both WS2811 chips
STAGGERED_LAYOUT = no # If you soldered R1-A12 and R4-A12, enable this.
# Do not edit past here
include keyboards/$(KEYBOARD)/post_rules.mk

View file

@ -1,6 +1,3 @@
# RGB layout selection
RGB_ENCODERS = yes # For RGB encoders, solder on both WS2811 chips
STAGGERED_LAYOUT = no # If you soldered R1-A12 and R4-A12, enable this.
# Do not edit past here
include keyboards/$(KEYBOARD)/post_rules.mk

View file

@ -24,8 +24,6 @@
// LED color buffer
rgb_led_t rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT];
static void init(void) {}
static void flush(void) {
ws2812_setleds(rgb_matrix_ws2812_array, RGB_MATRIX_LED_COUNT);
}
@ -44,7 +42,7 @@ static inline void setled(int i, uint8_t r, uint8_t g, uint8_t b) {
rgb_matrix_ws2812_array[i].g = g;
rgb_matrix_ws2812_array[i].b = b;
}
# ifdef RGBW
# ifdef WS2812_RGBW
convert_rgb_to_rgbw(&rgb_matrix_ws2812_array[i]);
# endif
}
@ -56,7 +54,7 @@ static void setled_all(uint8_t r, uint8_t g, uint8_t b) {
}
const rgb_matrix_driver_t rgb_matrix_driver = {
.init = init,
.init = ws2812_init,
.flush = flush,
.set_color = setled,
.set_color_all = setled_all,

View file

@ -1,4 +1,10 @@
# As long as the users rules.mk has include $(KEYBOARD)/post_rules.mk this will be run after to properly setup any keyboard features and defines
RGB_MATRIX_KEYPRESSES ?= no # Enable reactive per-key effects.
RGB_MATRIX_FRAMEBUFFER_EFFECTS ?= no # Enable frame buffer effects like the typing heatmap.
# RGB layout selection
STAGGERED_LAYOUT ?= no # If you soldered R1-A12 and R4-A12, enable this.
RGB_ENCODERS ?= yes # For RGB encoders, solder on both WS2811 chips
ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes)
OPT_DEFS += -DRGB_MATRIX_KEYPRESSES
endif

View file

@ -1,22 +0,0 @@
# As long as the users rules.mk has include $(KEYBOARD)/post_rules.mk this will be run after to properly setup any keyboard features and defines
ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes)
OPT_DEFS += -DRGB_MATRIX_KEYPRESSES
endif
ifeq ($(strip $(RGB_MATRIX_FRAMEBUFFER)), yes)
OPT_DEFS += -DRGB_MATRIX_FRAMEBUFFER_EFFECTS
endif
ifeq ($(strip $(STAGGERED_LAYOUT)), yes)
OPT_DEFS += -DSTAGGERED_LAYOUT
endif
ifeq ($(strip $(RGB_ENCODERS)), yes)
OPT_DEFS += -DRGB_ENCODERS
endif
ifeq ($(strip $(RGB_ENCODERS)), yes)
ifeq ($(strip $(STAGGERED_LAYOUT)), yes)
OPT_DEFS += -DSTAGGERED_RGB_ENCODERS=$(strip $(STAGGERED_RGB_ENCODERS))
endif
endif

View file

@ -4,9 +4,7 @@
"rows": ["A15", "B10", "A14", "A13", "A7"]
},
"diode_direction": "COL2ROW",
"processor": "STM32F303",
"bootloader": "stm32-dfu",
"board": "QMK_PROTON_C",
"development_board": "proton_c",
"encoder": {
"rotary": [
{"pin_a": "B14", "pin_b": "B15"},

View file

@ -1,22 +0,0 @@
# As long as the users rules.mk has include $(KEYBOARD)/post_rules.mk this will be run after to properly setup any keyboard features and defines
ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes)
OPT_DEFS += -DRGB_MATRIX_KEYPRESSES
endif
ifeq ($(strip $(RGB_MATRIX_FRAMEBUFFER)), yes)
OPT_DEFS += -DRGB_MATRIX_FRAMEBUFFER_EFFECTS
endif
ifeq ($(strip $(STAGGERED_LAYOUT)), yes)
OPT_DEFS += -DSTAGGERED_LAYOUT
endif
ifeq ($(strip $(RGB_ENCODERS)), yes)
OPT_DEFS += -DRGB_ENCODERS
endif
ifeq ($(strip $(RGB_ENCODERS)), yes)
ifeq ($(strip $(STAGGERED_LAYOUT)), yes)
OPT_DEFS += -DSTAGGERED_RGB_ENCODERS=$(strip $(STAGGERED_RGB_ENCODERS))
endif
endif

View file

@ -1,22 +1,3 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # 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
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
ENCODER_ENABLE = yes
OLED_ENABLE = yes
WS2812_DRIVER_REQUIRED = yes
# RGB layout selection
RGB_ENCODERS = yes # For RGB encoders, solder on both WS2811 chips
STAGGERED_LAYOUT = no # If you soldered R1-A12 and R4-A12, enable this.
# Default to revision 1
DEFAULT_FOLDER = rgbkb/pan/rev1
WS2812_DRIVER_REQUIRED := yes

View file

@ -1,231 +0,0 @@
#include "progmem.h"
// Helidox 8x6 font with RGBKB SOL Logo
// Online editor: http://teripom.x0.com/
static 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, 0xA4, 0xA4, 0x9C, 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,
0xFC, 0x18, 0x24, 0x24, 0x18, 0x00,
0x18, 0x24, 0x24, 0x18, 0xFC, 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, 0x80, 0x00,
0x00, 0x00, 0x00, 0x80, 0x80, 0x80,
0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
0x80, 0x80, 0x80, 0x80, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00, 0x0C, 0x90,
0xB0, 0xE0, 0x72, 0x31, 0x9B, 0xDE,
0xCE, 0xEC, 0xEE, 0xE9, 0xE9, 0xEC,
0xCF, 0xDA, 0x99, 0x3E, 0x62, 0xE4,
0xC4, 0x70, 0x10, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
0xC0, 0xC0, 0x80, 0x80, 0x02, 0x85,
0x85, 0x87, 0x85, 0x89, 0x89, 0x92,
0xEA, 0xC6, 0xC4, 0x48, 0x50, 0x60,
0x40, 0x40, 0x40, 0x40, 0xC0, 0xE0,
0x50, 0x28, 0x10, 0x10, 0x60, 0xC0,
0x40, 0x40, 0x40, 0x40, 0x80, 0x80,
0x80, 0x80, 0x80, 0xE0, 0xF8, 0xFC,
0xF8, 0xF0, 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,
0x00, 0x00, 0xF0, 0xF4, 0xEC, 0xDE,
0xDE, 0xBE, 0x3E, 0x3E, 0x3F, 0x3F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x3F,
0x3F, 0x3E, 0x3E, 0xBE, 0xDE, 0xDE,
0xEC, 0xF4, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7F, 0x80, 0x80,
0x80, 0x70, 0x0F, 0x00, 0x00, 0x80,
0x7F, 0x00, 0x00, 0x7F, 0x80, 0x80,
0x80, 0x80, 0x80, 0x80, 0x80, 0x7F,
0x00, 0x00, 0x80, 0x80, 0x80, 0x80,
0x80, 0x80, 0x80, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x40, 0x21, 0x33, 0x3B, 0x7B,
0xFF, 0x00, 0x7C, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x7C, 0x01,
0xFF, 0xDE, 0x8C, 0x04, 0x0C, 0x08,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x01, 0x01, 0x7F, 0x80,
0x80, 0xBE, 0xBE, 0x80, 0x80, 0x80,
0xC1, 0xFF, 0x80, 0x04, 0x32, 0x5E,
0x1C, 0x3D, 0x26, 0x10, 0xC1, 0xFF,
0x3E, 0x00, 0x00, 0x08, 0x36, 0xC1,
0x08, 0x08, 0x14, 0x77, 0x94, 0x94,
0x94, 0xF7, 0x94, 0xF7, 0x9C, 0x9C,
0xFF, 0xFF, 0x1E, 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,
0x00, 0x00, 0x01, 0x0F, 0x3F, 0xFF,
0xFF, 0xFF, 0xFC, 0xE0, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0xE0, 0xFC, 0xFF, 0xFF, 0xFF,
0x3F, 0x0F, 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, 0x06, 0x02, 0x06,
0x4D, 0x4F, 0x8C, 0xF9, 0x73, 0x37,
0x27, 0x2F, 0x2F, 0xAF, 0xEF, 0x6F,
0x77, 0x17, 0x33, 0x79, 0xCC, 0x1F,
0x31, 0x20, 0x21, 0x02, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x40, 0xE0,
0xA0, 0xA0, 0xD0, 0x90, 0x48, 0x48,
0x25, 0x2B, 0x11, 0x09, 0x05, 0x03,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x03, 0x02, 0x04, 0x03, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F,
0x0F, 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,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F,
0xFE, 0xFC, 0x00, 0xFC, 0xFE, 0x7F,
0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

View file

@ -62,3 +62,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
#define OLED_FONT_H "keyboards/rgbkb/common/glcdfont.c"

View file

@ -5,7 +5,3 @@
# EXTRAKEY_ENABLE = no # Audio control and System control
#
# To keep things clean and tidy, as well as make upgrades easier, only place overrides from the defaults in this file.
# Do not edit past here
include keyboards/$(KEYBOARD)/post_rules.mk

View file

@ -8,6 +8,15 @@
"pid": "0x3060",
"device_version": "0.0.1"
},
"features": {
"bootmagic": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
"nkro": false,
"oled": false,
"rgblight": true
},
"rgb_matrix": {
"animations": {
"alphas_mods": true,
@ -82,6 +91,7 @@
]
},
"split": {
"enabled": true,
"soft_serial_pin": "D3"
},
"tapping": {

View file

@ -1,4 +1,8 @@
# As long as the users rules.mk has include $(KEYBOARD)/post_rules.mk this will be run after to properly setup any keyboard features and defines
IOS_DEVICE_ENABLE ?= no # Limit max brightness to connect to IOS device (iPad,iPhone)
RGBLIGHT_FULL_POWER ?= no # Allow maximum RGB brightness for RGBLIGHT or RGB_MATRIX. Otherwise, limited to a safe level for a normal USB-A port
RGB_MATRIX_KEYPRESSES ?= no # Enable reactive per-key effects.
RGB_MATRIX_FRAMEBUFFER_EFFECTS ?= no # Enable frame buffer effects like the typing heatmap.
LED_MIRRORED ?= yes # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master)
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
OPT_DEFS += -DIOS_DEVICE_ENABLE

View file

@ -1,4 +1,4 @@
#include "quantum.h"
#include "sol.h"
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {

View file

@ -1,26 +0,0 @@
# RGBKB Sol Rev1 Defaults
# Keycode Options
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
NKRO_ENABLE = no # Enable N-Key Rollover
# Debug Options
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# RGB Options
RGBLIGHT_ENABLE = yes # Enable global lighting effects. Do not enable with RGB Matrix
LED_MIRRORED = yes # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master)
RGB_MATRIX_ENABLE = no # Enable per-key coordinate based RGB effects. Do not enable with RGBlight
RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects.
RGB_MATRIX_FRAMEBUFFER_EFFECTS = no # Enable frame buffer effects like the typing heatmap.
RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness for RGBLIGHT or RGB_MATRIX. Otherwise, limited to a safe level for a normal USB-A port
IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone)
# Misc
OLED_ENABLE = no # Enable the OLED Driver
SWAP_HANDS_ENABLE = no # Enable one-hand typing

View file

@ -8,6 +8,18 @@
"pid": "0x3060",
"device_version": "0.0.2"
},
"build": {
"lto": true
},
"features": {
"bootmagic": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
"nkro": false,
"oled": false,
"rgb_matrix": true
},
"rgb_matrix": {
"animations": {
"alphas_mods": true,
@ -77,6 +89,7 @@
},
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
"soft_serial_pin": "D3"
},
"tapping": {

View file

@ -1,4 +1,17 @@
# As long as the users rules.mk has include $(KEYBOARD)/post_rules.mk this will be run after to properly setup any keyboard features and defines
IOS_DEVICE_ENABLE ?= no # Limit max brightness to connect to IOS device (iPad,iPhone)
RGBLIGHT_FULL_POWER ?= no # Allow maximum RGB brightness for RGBLIGHT or RGB_MATRIX. Otherwise, limited to a safe level for a normal USB-A port
RGB_MATRIX_KEYPRESSES ?= no # Enable reactive per-key effects.
RGB_MATRIX_FRAMEBUFFER_EFFECTS ?= no # Enable frame buffer effects like the typing heatmap.
LED_MIRRORED ?= no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master)
FULLHAND_ENABLE ?= no # Enables the additional 24 Full Hand LEDs
SF_ENABLE ?= no # Enables the additional 38 Starfighter LEDs
EXTRA_ENCODERS_ENABLE ?= no # Enables 3 encoders per side (up from 1, not compatible with OLED_ENABLE)
# Special RGB Matrix, OLED, & Encoder Control Menu!
RGB_OLED_MENU ?= no # Enabled by setting this to the encoder index (0-5) you wish to use to control the menu.
# Use the RGB_MENU keycode in the keymap for the encoder to advance the menu to the next option.
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
OPT_DEFS += -DIOS_DEVICE_ENABLE
@ -30,7 +43,7 @@ endif
ifeq ($(strip $(OLED_ENABLE)), yes)
ifeq ($(strip $(ENCODER_ENABLE)), yes)
ifneq ($(strip $(RGB_MATRIX_ENABLE)), no)
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
ifneq ($(strip $(RGB_OLED_MENU)), no)
OPT_DEFS += -DRGB_OLED_MENU=$(strip $(RGB_OLED_MENU))
endif

View file

@ -1,4 +1,4 @@
#include "quantum.h"
#include "sol.h"
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {

View file

@ -1,34 +0,0 @@
# RGBKB Sol Rev2 Defaults
# Keycode Options
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
NKRO_ENABLE = no # Enable N-Key Rollover
# Debug Options
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# RGB Options
RGBLIGHT_ENABLE = no # Enable global lighting effects. Do not enable with RGB Matrix
LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master)
RGB_MATRIX_ENABLE = yes # Enable per-key coordinate based RGB effects. Do not enable with RGBlight
RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects.
RGB_MATRIX_FRAMEBUFFER_EFFECTS = no # Enable frame buffer effects like the typing heatmap.
RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness for RGBLIGHT or RGB_MATRIX. Otherwise, limited to a safe level for a normal USB-A port
FULLHAND_ENABLE = no # Enables the additional 24 Full Hand LEDs
SF_ENABLE = no # Enables the additional 38 Starfighter LEDs
IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone)
# Misc
OLED_ENABLE = no # Enable the OLED Driver
EXTRA_ENCODERS_ENABLE = no # Enables 3 encoders per side (up from 1, not compatible with OLED_ENABLE)
SWAP_HANDS_ENABLE = no # Enable one-hand typing
LTO_ENABLE = yes # Enable Link Time Optimizations greatly reducing firmware size by disabling the old Macros and Functions features
# Special RGB Matrix, OLED, & Encoder Control Menu!
RGB_OLED_MENU = no # Enabled by setting this to the encoder index (0-5) you wish to use to control the menu.
# Use the RGB_MENU keycode in the keymap for the encoder to advance the menu to the next option.

View file

@ -1,7 +1 @@
# Custom local font file
OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
SPLIT_KEYBOARD = yes
ENCODER_ENABLE = yes
DEFAULT_FOLDER = rgbkb/sol/rev2

View file

@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
_______, RGB_HUD, RGB_VAD, RGB_HUI, RGB_RST, _______, DM_REC1, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,
_______, RGB_SPD, _______, RGB_SPI, _______, _______, DM_RSTP, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME,
_______, RGB_RMOD,RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, QWERTY, COLEMAK,

View file

@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
_______, RGB_HUD, RGB_VAD, RGB_HUI, RGB_RST, _______, DM_REC1, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,
_______, RGB_SPD, _______, RGB_SPI, _______, _______, DM_RSTP, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME,
_______, RGB_RMOD,RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, QWERTY, COLEMAK,

View file

@ -46,11 +46,12 @@
#define WS2812_PWM_DRIVER PWMD3
#define WS2812_PWM_CHANNEL 2
#define WS2812_PWM_PAL_MODE 2
#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
#define WS2812_DMA_CHANNEL 3
#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM3
#define WS2812_PWM_DMA_CHANNEL 3
#define TOUCH_UPDATE_INTERVAL 33
#define OLED_UPDATE_INTERVAL 33
#define OLED_FONT_H "keyboards/rgbkb/common/glcdfont.c"
/* Audio Configuration */
#define AUDIO_PIN A4

View file

@ -8,6 +8,21 @@
"pid": "0x3510",
"device_version": "0.0.1"
},
"build": {
"lto": true
},
"features": {
"audio": true,
"bootmagic": true,
"dip_switch": true,
"dynamic_macro": true,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"oled": true,
"rgb_matrix": true
},
"rgblight": {
"led_count": 156,
"split_count": [78, 78],
@ -24,6 +39,12 @@
"twinkle": true
}
},
"audio": {
"default": {
"clicky": false
},
"driver": "dac_additive"
},
"ws2812": {
"pin": "B5",
"driver": "pwm"
@ -103,6 +124,7 @@
]
},
"split": {
"enabled": true,
"dip_switch": {
"right": {
"pins": ["A14", "B0"]

View file

@ -8,6 +8,7 @@
*/
#include "rev1.h"
#include "transactions.h"
#include "split_util.h"
#define NUMBER_OF_TOUCH_ENCODERS 2
@ -256,3 +257,15 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
}
return true;
};
void keyboard_post_init_kb(void) {
touch_encoder_init();
transaction_register_rpc(TOUCH_ENCODER_SYNC, touch_encoder_slave_sync);
transaction_register_rpc(RGB_MENU_SYNC, rgb_menu_slave_sync);
keyboard_post_init_user();
}
void housekeeping_task_kb(void) {
touch_encoder_update(TOUCH_ENCODER_SYNC);
rgb_menu_update(RGB_MENU_SYNC);
}

View file

@ -9,7 +9,9 @@
#pragma once
#include "sol3.h"
#include "quantum.h"
#include "touch_encoder.h"
#include "common_oled.h"
// weak functions overridable by the user
void render_layer_status(void);

View file

@ -0,0 +1,8 @@
# Touch encoder needs
VPATH += keyboards/rgbkb/common
SRC += touch_encoder.c
SRC += common_oled.c
I2C_DRIVER_REQUIRED = yes
SERIAL_DRIVER = usart
OPT = 3

View file

@ -1,36 +1 @@
# Touch encoder needs
VPATH += keyboards/rgbkb/common
SRC += touch_encoder.c
SRC += common_oled.c
I2C_DRIVER_REQUIRED = yes
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = yes # Audio output
AUDIO_DRIVER = dac_additive
DYNAMIC_MACRO_ENABLE = yes
DIP_SWITCH_ENABLE = yes
RGBLIGHT_ENABLE = no
RGB_MATRIX_ENABLE = yes
OLED_ENABLE = yes
ENCODER_ENABLE = yes
SPLIT_KEYBOARD = yes
SERIAL_DRIVER = usart
LTO_ENABLE = yes
OPT = 3
OPT_DEFS += -DOLED_FONT_H=\"keyboards/rgbkb/common/glcdfont.c\"
DEFAULT_FOLDER = rgbkb/sol3/rev1

View file

@ -1,38 +0,0 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* <https://github.com/Legonut> wrote this file. As long as you retain this
* notice you can do whatever you want with this stuff. If we meet some day, and
* you think this stuff is worth it, you can buy me a beer in return. David Rauseo
* ----------------------------------------------------------------------------
*/
#include "sol3.h"
#include "eeconfig.h"
#include "audio.h"
#include <transactions.h>
extern audio_config_t audio_config;
void keyboard_post_init_kb(void) {
touch_encoder_init();
transaction_register_rpc(TOUCH_ENCODER_SYNC, touch_encoder_slave_sync);
transaction_register_rpc(RGB_MENU_SYNC, rgb_menu_slave_sync);
keyboard_post_init_user();
}
void eeconfig_init_kb(void) {
// Reset Keyboard EEPROM value to blank, rather than to a set value
eeconfig_update_kb(0);
audio_config.raw = eeconfig_read_audio();
audio_config.clicky_enable = false;
eeconfig_update_audio(audio_config.raw);
eeconfig_init_user();
}
void housekeeping_task_kb(void) {
touch_encoder_update(TOUCH_ENCODER_SYNC);
rgb_menu_update(RGB_MENU_SYNC);
}

View file

@ -1,18 +0,0 @@
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* <https://github.com/Legonut> wrote this file. As long as you retain this
* notice you can do whatever you want with this stuff. If we meet some day, and
* you think this stuff is worth it, you can buy me a beer in return. David Rauseo
* ----------------------------------------------------------------------------
*/
#pragma once
#if defined(KEYBOARD_rgbkb_sol3_rev1)
# include "rev1.h"
#endif
#include "quantum.h"
#include "touch_encoder.h"
#include "common_oled.h"

View file

@ -1,39 +0,0 @@
/*
Copyright 2017 Danny Nguyen <danny@hexwire.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 <http://www.gnu.org/licenses/>.
*/
#pragma once
/* 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
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
// #define NO_DEBUG
/* disable print */
// #define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

View file

@ -8,12 +8,27 @@
"pid": "0x3060",
"device_version": "0.0.1"
},
"features": {
"bootmagic": false,
"command": true,
"extrakey": true,
"mousekey": true,
"nkro": false,
"rgblight": true
},
"qmk": {
"locking": {
"enabled": true,
"resync": true
}
},
"matrix_pins": {
"cols": ["B2", "B3", "B1", "F7", "F6", "D4", "B6"],
"rows": ["C6", "D7", "E6", "B4", "B5"]
},
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
"soft_serial_pin": "D0"
},
"rgblight": {

View file

@ -10,13 +10,6 @@ enum layer_number {
_NAV
};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
NAV,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
@ -55,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_NAV] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
_______, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
_______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END,
KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT,
KC_LCTL, KC_LGUI, KC_LALT, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD
@ -67,32 +60,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
float tone_colemak[][2] = SONG(COLEMAK_SOUND);
#endif
void persistant_default_layer_set(uint16_t default_layer) {
eeconfig_update_default_layer(default_layer);
default_layer_set(default_layer);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(tone_qwerty);
#endif
persistant_default_layer_set(1UL<<_QWERTY);
}
return false;
break;
//case COLEMAK:
//if (record->event.pressed) {
//#ifdef AUDIO_ENABLE
//PLAY_SONG(tone_colemak);
//#endif
//persistant_default_layer_set(1UL<<_COLEMAK);
//}
//return false;
//break;
}
return true;
}

View file

@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
/* 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
/*
* Feature disable options
* These options are also useful to firmware size reduction.
@ -37,3 +32,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
#define OLED_FONT_H "common/glcdfont.c"

View file

@ -8,6 +8,21 @@
"pid": "0x3061",
"device_version": "0.0.2"
},
"features": {
"bootmagic": false,
"command": true,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": false,
"rgblight": true
},
"qmk": {
"locking": {
"enabled": true,
"resync": true
}
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B3", "B1", "B2"],
"rows": ["C6", "E6", "B5", "D7", "B4"]
@ -19,6 +34,7 @@
]
},
"split": {
"enabled": true,
"soft_serial_pin": "D3"
},
"rgblight": {

View file

@ -10,11 +10,6 @@ enum layer_number {
_NAV
};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
NAV
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
@ -58,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_NAV] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
_______, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
_______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END,
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT,
KC_LCTL, KC_LGUI, KC_LALT, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD,
@ -84,25 +79,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
set_single_persistent_default_layer(1UL<<_QWERTY);
}
return false;
break;
//case COLEMAK:
//if (record->event.pressed) {
//set_single_persistent_default_layer(1UL<<_COLEMAK);
//}
//return false;
//break;
}
return true;
}
#if OLED_ENABLE
const char* layer_name_user(uint32_t layer) {
switch (layer) {

View file

@ -1,5 +0,0 @@
# Setup so that OLED can be turned on/off easily
ifeq ($(strip $(OLED_ENABLE)), yes)
# Custom local font file
OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
endif

View file

@ -1,3 +0,0 @@
ENCODER_ENABLE = yes
OLED_ENABLE = no

View file

@ -1,14 +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 = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
SPLIT_KEYBOARD = yes
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight
DEFAULT_FOLDER = rgbkb/zen/rev2

View file

@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJ] = LAYOUT_ortho_5x12(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_HUD, RGB_VAD, RGB_HUI, RGBRST, _______, _______, QWERTY, COLEMAK, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
_______, _______, _______, RGB_MOD, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD

View file

@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJ] = LAYOUT_ortho_5x12(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_HUD, RGB_VAD, RGB_HUI, RGBRST, _______, _______, QWERTY, COLEMAK, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
_______, _______, _______, RGB_MOD, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD

View file

@ -8,9 +8,78 @@
"pid": "0x3060",
"device_version": "0.0.1"
},
"features": {
"bootmagic": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
"rgblight": true
},
"rgb_matrix": {
"driver": "ws2812",
"split_count": [30, 30]
"split_count": [30, 30],
"layout": [
{"matrix": [0, 5], "x": 102, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 81, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 61, "y": 0, "flags": 4},
{"matrix": [0, 2], "x": 41, "y": 0, "flags": 4},
{"matrix": [0, 1], "x": 20, "y": 0, "flags": 4},
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
{"matrix": [1, 5], "x": 102, "y": 16, "flags": 4},
{"matrix": [1, 4], "x": 81, "y": 16, "flags": 4},
{"matrix": [1, 3], "x": 61, "y": 16, "flags": 4},
{"matrix": [1, 2], "x": 41, "y": 16, "flags": 4},
{"matrix": [1, 1], "x": 20, "y": 16, "flags": 4},
{"matrix": [1, 0], "x": 0, "y": 16, "flags": 1},
{"matrix": [2, 5], "x": 102, "y": 32, "flags": 4},
{"matrix": [2, 4], "x": 81, "y": 32, "flags": 4},
{"matrix": [2, 3], "x": 61, "y": 32, "flags": 4},
{"matrix": [2, 2], "x": 41, "y": 32, "flags": 4},
{"matrix": [2, 1], "x": 20, "y": 32, "flags": 4},
{"matrix": [2, 0], "x": 0, "y": 32, "flags": 1},
{"matrix": [3, 5], "x": 102, "y": 48, "flags": 4},
{"matrix": [3, 4], "x": 81, "y": 48, "flags": 4},
{"matrix": [3, 3], "x": 61, "y": 48, "flags": 4},
{"matrix": [3, 2], "x": 41, "y": 48, "flags": 4},
{"matrix": [3, 1], "x": 20, "y": 48, "flags": 4},
{"matrix": [3, 0], "x": 0, "y": 48, "flags": 1},
{"matrix": [4, 5], "x": 102, "y": 64, "flags": 1},
{"matrix": [4, 4], "x": 81, "y": 64, "flags": 1},
{"matrix": [4, 3], "x": 61, "y": 64, "flags": 1},
{"matrix": [4, 2], "x": 41, "y": 64, "flags": 1},
{"matrix": [4, 1], "x": 20, "y": 64, "flags": 1},
{"matrix": [4, 0], "x": 0, "y": 64, "flags": 1},
{"matrix": [5, 5], "x": 224, "y": 0, "flags": 4},
{"matrix": [5, 4], "x": 204, "y": 0, "flags": 4},
{"matrix": [5, 3], "x": 183, "y": 0, "flags": 4},
{"matrix": [5, 2], "x": 163, "y": 0, "flags": 4},
{"matrix": [5, 1], "x": 143, "y": 0, "flags": 4},
{"matrix": [5, 0], "x": 122, "y": 0, "flags": 4},
{"matrix": [6, 5], "x": 224, "y": 16, "flags": 1},
{"matrix": [6, 4], "x": 204, "y": 16, "flags": 4},
{"matrix": [6, 3], "x": 183, "y": 16, "flags": 4},
{"matrix": [6, 2], "x": 163, "y": 16, "flags": 4},
{"matrix": [6, 1], "x": 143, "y": 16, "flags": 4},
{"matrix": [6, 0], "x": 122, "y": 16, "flags": 4},
{"matrix": [7, 5], "x": 224, "y": 32, "flags": 1},
{"matrix": [7, 4], "x": 204, "y": 32, "flags": 4},
{"matrix": [7, 3], "x": 183, "y": 32, "flags": 4},
{"matrix": [7, 2], "x": 163, "y": 32, "flags": 4},
{"matrix": [7, 1], "x": 143, "y": 32, "flags": 4},
{"matrix": [7, 0], "x": 122, "y": 32, "flags": 4},
{"matrix": [8, 5], "x": 224, "y": 48, "flags": 1},
{"matrix": [8, 4], "x": 204, "y": 48, "flags": 4},
{"matrix": [8, 3], "x": 183, "y": 48, "flags": 4},
{"matrix": [8, 2], "x": 163, "y": 48, "flags": 4},
{"matrix": [8, 1], "x": 143, "y": 48, "flags": 4},
{"matrix": [8, 0], "x": 122, "y": 48, "flags": 4},
{"matrix": [9, 5], "x": 224, "y": 64, "flags": 1},
{"matrix": [9, 4], "x": 204, "y": 64, "flags": 1},
{"matrix": [9, 3], "x": 183, "y": 64, "flags": 1},
{"matrix": [9, 2], "x": 163, "y": 64, "flags": 1},
{"matrix": [9, 1], "x": 143, "y": 64, "flags": 1},
{"matrix": [9, 0], "x": 122, "y": 64, "flags": 1}
]
},
"matrix_pins": {
"cols": ["F4", "F6", "C7", "C6", "B6", "D4"],
@ -23,6 +92,7 @@
]
},
"split": {
"enabled": true,
"soft_serial_pin": "D3"
},
"rgblight": {

View file

@ -1,43 +0,0 @@
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {
{ 5, 4, 3, 2, 1, 0 },
{ 11, 10, 9, 8, 7, 6 },
{ 17, 16, 15, 14, 13, 12 },
{ 23, 22, 21, 20, 19, 18 },
{ 29, 28, 27, 26, 25, 24 },
{ 35, 34, 33, 32, 31, 30 },
{ 41, 40, 39, 38, 37, 36 },
{ 47, 46, 45, 44, 43, 42 },
{ 53, 52, 51, 50, 49, 48 },
{ 59, 58, 57, 56, 55, 54 }
}, {
// Left Hand
{ 102, 0 }, { 81, 0 }, { 61, 0 }, { 41, 0 }, { 20, 0 }, { 0, 0 },
{ 102, 16 }, { 81, 16 }, { 61, 16 }, { 41, 16 }, { 20, 16 }, { 0, 16 },
{ 102, 32 }, { 81, 32 }, { 61, 32 }, { 41, 32 }, { 20, 32 }, { 0, 32 },
{ 102, 48 }, { 81, 48 }, { 61, 48 }, { 41, 48 }, { 20, 48 }, { 0, 48 },
{ 102, 64 }, { 81, 64 }, { 61, 64 }, { 41, 64 }, { 20, 64 }, { 0, 64 },
// Right Hand
{ 224, 0 }, { 204, 0 }, { 183, 0 }, { 163, 0 }, { 143, 0 }, { 122, 0 },
{ 224, 16 }, { 204, 16 }, { 183, 16 }, { 163, 16 }, { 143, 16 }, { 122, 16 },
{ 224, 32 }, { 204, 32 }, { 183, 32 }, { 163, 32 }, { 143, 32 }, { 122, 32 },
{ 224, 48 }, { 204, 48 }, { 183, 48 }, { 163, 48 }, { 143, 48 }, { 122, 48 },
{ 224, 64 }, { 204, 64 }, { 183, 64 }, { 163, 64 }, { 143, 64 }, { 122, 64 }
}, {
// Left Hand
4, 4, 4, 4, 4, 1,
4, 4, 4, 4, 4, 1,
4, 4, 4, 4, 4, 1,
4, 4, 4, 4, 4, 1,
1, 1, 1, 1, 1, 1,
// Right Hand
4, 4, 4, 4, 4, 4,
1, 4, 4, 4, 4, 4,
1, 4, 4, 4, 4, 4,
1, 4, 4, 4, 4, 4,
1, 1, 1, 1, 1, 1
} };
#endif

View file

@ -0,0 +1,3 @@
# Disable unsupported hardware
AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no

View file

@ -1,20 +1 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # 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 = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
SPLIT_KEYBOARD = yes
DEFAULT_FOLDER = rgbkb/zygomorph/rev1
# Disable unsupported hardware
AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no