Added code for right-hand backlight mod

master
Mark 2022-06-15 16:29:22 -07:00
parent 4a815bd00a
commit 640dee1139
Signed by: Mark
GPG Key ID: AD62BB059C2AAEE4
7 changed files with 126 additions and 35 deletions

View File

@ -78,26 +78,37 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef LED_BRIGHTNESS_HI #ifndef LED_BRIGHTNESS_HI
#define LED_BRIGHTNESS_HI 255 #define LED_BRIGHTNESS_HI 255
#endif #endif
#define LED_BRIGHTNESS_DEFAULT (LED_BRIGHTNESS_HI) #define LED_BRIGHTNESS_DEFAULT (LED_BRIGHTNESS_LO)
// Backlight
/* ws2812 RGB LED */ /* ws2812 RGB LED */
#define RGBLED_NUM 8
#define RGB_DI_PIN D7 #define RGB_DI_PIN D7
#define RGBLIGHT_ANIMATIONS //#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_HUE_STEP 12 #define RGBLIGHT_HUE_STEP 12
#define RGBLIGHT_SAT_STEP 255 #define RGBLIGHT_SAT_STEP 12
#define RGBLIGHT_VAL_STEP 12 #define RGBLIGHT_VAL_STEP 12
#define RGBLIGHT_LIMIT_VAL 200
// RGB keycodes should not affect backlight
#define RGBLIGHT_DISABLE_KEYCODES
// Pick one of the modes // Pick one of the modes
// Defaults to 15 mirror, for legacy behavior // Defaults to 15 mirror, for legacy behavior
// #define ERGODOX_LED_15 // Addresses 15 LEDs, but same position on both halves //#define ERGODOX_LED_15
// Addresses 15 LEDs, but same position on both halves
// #define ERGODOX_LED_15_MIRROR // Addresses 15 LEDs, but are mirrored // #define ERGODOX_LED_15_MIRROR // Addresses 15 LEDs, but are mirrored
// #define ERGODOX_LED_30 // Addresses all 30 LED individually // #define ERGODOX_LED_30 // Addresses all 30 LED individually
/* fix space cadet rollover issue */ /* fix space cadet rollover issue */
#define DISABLE_SPACE_CADET_ROLLOVER #define DISABLE_SPACE_CADET_ROLLOVER
#define RGBW // The underglow LEDs I used for the backlight mod aren't RGBW,
// undef this just to be sure.
#undef RGBW
#define RGBLIGHT_SLEEP #define RGBLIGHT_SLEEP

View File

@ -2,7 +2,7 @@
Set any config.h overrides for your specific keymap here. Set any config.h overrides for your specific keymap here.
See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file
*/ */
#define ORYX_CONFIGURATOR //#define ORYX_CONFIGURATOR
#undef RGB_MATRIX_HUE_STEP #undef RGB_MATRIX_HUE_STEP
#define RGB_MATRIX_HUE_STEP 10 #define RGB_MATRIX_HUE_STEP 10
@ -16,6 +16,8 @@
#define CAPS_LOCK_STATUS #define CAPS_LOCK_STATUS
#define RGB_MATRIX_STARTUP_SPD 60 #define RGB_MATRIX_STARTUP_SPD 60
#define RGBLIGHT_EFFECT_STATIC_LIGHT
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
// Disable unused animations // Disable unused animations
#define DISABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue #define DISABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
@ -23,7 +25,7 @@
#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes #define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes
#define DISABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation #define DISABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
#define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right #define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
//#define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right #define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation

View File

@ -6,14 +6,23 @@
// Define custom keys // Define custom keys
// (Must be done BEFORE keymaps) // (Must be done BEFORE keymaps)
enum custom_keycodes { enum custom_keycodes {
RGB_SLD = EZ_SAFE_RANGE, M_SHUTDOWN = EZ_SAFE_RANGE,
M_SHUTDOWN,
M_RESETWM, M_RESETWM,
RU_LAYER, RU_LAYER,
EN_LAYER, EN_LAYER,
M_RU_CTRL, M_RU_CTRL,
M_RU_ALT, M_RU_ALT,
// Custom RGBLIGHT macros
LIGHT_TOG, // Toggle backlight
LIGHT_HUI, // Increase backlight hue
LIGHT_HUD, // Decrease backlight hue
LIGHT_SAI, // Increase backlight sat
LIGHT_SAD, // Decrease backlight sat
LIGHT_VAI, // Increase backlight val
LIGHT_VAD, // Decrease backlight val
LIGHT_SPI, // Increase backlight speed
LIGHT_SPD, // Decrease backlight speed
LIGHT_MOD, // Change backlight animation mode
}; };
enum tap_dance_codes { enum tap_dance_codes {
@ -35,7 +44,7 @@ enum layer_indices {
LAYER_KEYBOARD_IDX, LAYER_KEYBOARD_IDX,
}; };
// Used by to set system keymap // Used to set system keymap
enum key_encodings { enum key_encodings {
LANG_NULL, // For layers that don't care about input lang LANG_NULL, // For layers that don't care about input lang
LANG_EN, LANG_EN,
@ -80,7 +89,17 @@ const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
int current_lang = LANG_EN; int current_lang = LANG_EN;
void keyboard_post_init_user(void) { void keyboard_post_init_user(void) {
rgb_matrix_enable(); // Enable RGB key lights
rgb_matrix_enable_noeeprom();
// Set indicator LEDs to min brightness
ergodox_led_all_set(15);
#ifdef RGBLIGHT_ENABLE
// Disable RGB backlight
rgblight_disable_noeeprom();
#endif
//set_lang(LANG_EN); //set_lang(LANG_EN);
} }
@ -121,9 +140,11 @@ void rgb_matrix_indicators_user(void) {
break; break;
case LAYER_SYMBOLS_IDX: case LAYER_SYMBOLS_IDX:
set_layer_color(LAYER_SYMBOLS_LEDS_IDX); set_layer_color(LAYER_SYMBOLS_LEDS_IDX);
//rgblight_setrgb(255, 255, 0);
break; break;
case LAYER_ARROWS_IDX: case LAYER_ARROWS_IDX:
set_layer_color(LAYER_ARROWS_LEDS_IDX); set_layer_color(LAYER_ARROWS_LEDS_IDX);
//rgblight_setrgb(255, 0, 0);
break; break;
case LAYER_FKEYS_IDX: case LAYER_FKEYS_IDX:
set_layer_color(LAYER_FKEYS_LEDS_IDX); set_layer_color(LAYER_FKEYS_LEDS_IDX);
@ -137,6 +158,7 @@ void rgb_matrix_indicators_user(void) {
default: default:
if (rgb_matrix_get_flags() == LED_FLAG_NONE) { if (rgb_matrix_get_flags() == LED_FLAG_NONE) {
rgb_matrix_set_color_all(0, 0, 0); rgb_matrix_set_color_all(0, 0, 0);
//rgblight_setrgb(0, 0, 0);
} }
break; break;
} }
@ -209,11 +231,66 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
break; break;
case RGB_SLD: // Custom RGBLIGHT macros
case LIGHT_TOG:
if (record->event.pressed) { if (record->event.pressed) {
rgblight_mode(1); rgblight_toggle_noeeprom();
} }
return false; break;
case LIGHT_MOD:
if (record->event.pressed) {
rgblight_step_noeeprom();
}
break;
case LIGHT_HUI:
if (record->event.pressed) {
rgblight_increase_hue_noeeprom();
}
break;
case LIGHT_HUD:
if (record->event.pressed) {
rgblight_decrease_hue_noeeprom();
}
break;
case LIGHT_SAI:
if (record->event.pressed) {
rgblight_increase_sat_noeeprom();
}
break;
case LIGHT_SAD:
if (record->event.pressed) {
rgblight_decrease_sat_noeeprom();
}
break;
case LIGHT_VAI:
if (record->event.pressed) {
rgblight_increase_val_noeeprom();
}
break;
case LIGHT_VAD:
if (record->event.pressed) {
rgblight_decrease_val_noeeprom();
}
break;
case LIGHT_SPI:
if (record->event.pressed) {
rgblight_increase_speed_noeeprom();
}
break;
case LIGHT_SPD:
if (record->event.pressed) {
rgblight_decrease_speed_noeeprom();
}
break;
} }
return true; return true;
} }

View File

@ -2,24 +2,24 @@
#include "keymap.h" #include "keymap.h"
#define LAYER_KEYBOARD LAYOUT_ergodox(\ #define LAYER_KEYBOARD LAYOUT_ergodox(\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ RGB_TOG, RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUI,\ TOGGLE_LAYER_COLOR, RGB_SAD, RGB_SAI, KC_NO, KC_NO, KC_NO, RGB_HUI,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, RGB_VAD, RGB_VAI, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD,\ KC_NO, RGB_SPD, RGB_SPI, KC_NO, KC_NO, KC_NO, RGB_HUD,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD,\
\ \
RGB_TOG, KC_NO,\ KC_NO, KC_NO,\
RGB_SPI,\ KC_NO,\
RGB_MOD, RGB_SLD, RGB_SPD,\ KC_NO, KC_NO, KC_NO,\
\ \
\ \
LED_LEVEL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET,\ KC_NO, LIGHT_HUD, LIGHT_HUI, KC_NO, KC_NO, KC_NO, LIGHT_TOG,\
RGB_SAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, LIGHT_SAD, LIGHT_SAI, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ LIGHT_VAD, LIGHT_VAI, KC_NO, KC_NO, KC_NO, KC_NO,\
RGB_SAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, LIGHT_SPD, LIGHT_SPI, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ LIGHT_MOD, KC_NO, KC_NO, TO(LAYER_MAIN_IDX), KC_NO,\
\ \
KC_NO, RGB_TOG,\ KC_NO, RGB_TOG,\
KC_NO,\ KC_NO,\
TOGGLE_LAYER_COLOR, RGB_VAD, RGB_VAI\ RESET, KC_NO, KC_NO\
) )

View File

@ -8,7 +8,7 @@
M_RU_CTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TRANSPARENT,\ M_RU_CTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TRANSPARENT,\
MO(LAYER_DESKTOP_IDX), OSL(LAYER_FKEYS_IDX), KC_LALT, KC_LSHIFT, MO(LAYER_ARROWS_IDX),\ MO(LAYER_DESKTOP_IDX), OSL(LAYER_FKEYS_IDX), KC_LALT, KC_LSHIFT, MO(LAYER_ARROWS_IDX),\
\ \
KC_PSCREEN, LT(LAYER_KEYBOARD_IDX,KC_NO),\ KC_PSCREEN, KC_NO,\
TD(TD_WMLAYOUT),\ TD(TD_WMLAYOUT),\
KC_SPACE, KC_BSPACE, LCTL(KC_BSPACE),\ KC_SPACE, KC_BSPACE, LCTL(KC_BSPACE),\
\ \
@ -17,7 +17,7 @@
KC_TRANSPARENT, KC_Y, KC_U, KC_I, KC_O, KC_TRANSPARENT, TG(LAYER_NAVIGATE_IDX),\ KC_TRANSPARENT, KC_Y, KC_U, KC_I, KC_O, KC_TRANSPARENT, TG(LAYER_NAVIGATE_IDX),\
KC_H, KC_J, KC_K, MO(LAYER_SYMBOLS_IDX), KC_L, KC_TRANSPARENT,\ KC_H, KC_J, KC_K, MO(LAYER_SYMBOLS_IDX), KC_L, KC_TRANSPARENT,\
KC_TRANSPARENT, KC_N, KC_M, KC_P, KC_DOT, KC_COMMA, KC_TRANSPARENT,\ KC_TRANSPARENT, KC_N, KC_M, KC_P, KC_DOT, KC_COMMA, KC_TRANSPARENT,\
KC_RIGHT, KC_TRANSPARENT, KC_TRANSPARENT, OSL(LAYER_FKEYS_IDX), KC_TRANSPARENT,\ KC_RIGHT, KC_TRANSPARENT, KC_TRANSPARENT, TO(LAYER_KEYBOARD_IDX), KC_TRANSPARENT,\
\ \
LGUI(KC_SPACE), TO(LAYER_RUSSIAN_IDX),\ LGUI(KC_SPACE), TO(LAYER_RUSSIAN_IDX),\
TG(LAYER_COLEMAK_IDX),\ TG(LAYER_COLEMAK_IDX),\

View File

@ -20,6 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once #pragma once
/*
#if !defined(ERGODOX_LED_15) && !defined(ERGODOX_LED_30) #if !defined(ERGODOX_LED_15) && !defined(ERGODOX_LED_30)
// if no value is defined, assume previous behavior // if no value is defined, assume previous behavior
// # define ERGODOX_LED_15 // # define ERGODOX_LED_15
@ -38,3 +39,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// If not, then only define 15 // If not, then only define 15
# define RGBLED_NUM 15 // Number of LEDs # define RGBLED_NUM 15 // Number of LEDs
#endif #endif
*/

View File

@ -31,8 +31,6 @@ SWAP_HANDS_ENABLE= no # Allow swapping hands of keyboard
SLEEP_LED_ENABLE = no SLEEP_LED_ENABLE = no
API_SYSEX_ENABLE = no API_SYSEX_ENABLE = no
RGB_MATRIX_ENABLE = no # enable later
RGB_MATRIX_DRIVER = IS31FL3731
DEBOUNCE_TYPE = eager_pr DEBOUNCE_TYPE = eager_pr
# project specific files # project specific files
@ -47,6 +45,7 @@ MOUSE_SHARED_EP = no
# FROM glow dir # FROM glow dir
RGB_MATRIX_ENABLE = IS31FL3731
RGB_MATRIX_ENABLE = yes RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3731 RGB_MATRIX_DRIVER = IS31FL3731
RGBLIGHT_ENABLE = yes
RGBLIGHT_DRIVER = WS2812