commit 1b05e1fdbefd49ecb06e6c78cca8281c9bdd3268
parent 7c19b1b4c48b399b1eb17504dd1907fa5778375f
Author: dwrz <dwrz@dwrz.net>
Date: Fri, 15 Mar 2024 21:50:34 +0000
Refactor keymap
Diffstat:
2 files changed, 46 insertions(+), 50 deletions(-)
diff --git a/qmk/equals48/config.h b/qmk/equals48/config.h
@@ -1 +1,11 @@
#define MK_COMBINED
+#define RGBLIGHT_DEFAULT_HUE 0
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT
+#define RGBLIGHT_DEFAULT_SAT 0
+#define RGBLIGHT_DEFAULT_VAL 32
+#define RGBLIGHT_SLEEP
+#define RGB_MATRIX_DEFAULT_HUE 0
+#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
+#define RGB_MATRIX_DEFAULT_SAT 0
+#define RGB_MATRIX_DEFAULT_VAL 32
+#define RGB_MATRIX_SLEEP
diff --git a/qmk/equals48/keymap.c b/qmk/equals48/keymap.c
@@ -38,10 +38,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_NO, KC_NO, KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1, KC_BTN2, KC_NO, KC_NO, KC_NO
),
[_NUM] = LAYOUT_ortho_4x12(
- KC_NO, KC_NO, KC_COMM, KC_DOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_7, KC_8, KC_9, KC_0,
- KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_4, KC_5, KC_6, KC_EQL,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_0, KC_1, KC_2, KC_3, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLSH, KC_ASTR, KC_PLUS, KC_MINS
+ KC_NO, KC_NO, KC_COMM, KC_DOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_7, KC_8, KC_9, KC_0,
+ KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_4, KC_5, KC_6, KC_EQL,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_0, KC_1, KC_2, KC_3, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SPC, KC_NO, KC_SLSH, KC_ASTR, KC_PLUS, KC_MINS
),
[_OPS] = LAYOUT_ortho_4x12(
KC_NO, KC_EQL, KC_GT, KC_LT, KC_NO, KC_NO, KC_NO, KC_NO, KC_CIRC, KC_ASTR, KC_PLUS, KC_NO,
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FUNC] = LAYOUT_ortho_4x12(
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_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
- RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE,
+ RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_NO, KC_MUTE,
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRID, KC_BRIU, KC_VOLU, KC_VOLD
),
};
@@ -124,60 +124,46 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// KC_LAUNCHPAD KC_LPAD Open Launchpad
void set_led_color(uint8_t i, uint8_t highest_layer, bool unused) {
+ if (unused) {
+ rgb_matrix_set_color(i, RGB_OFF);
+ return;
+ }
+
+ // Determine the hue and value of the layer.
+ HSV hsv = {0, 255, 0};
+
+ // Limit brightness to current value.
+ hsv.v = rgb_matrix_get_val();
+
+ // Set the color (hue and saturation).
switch (highest_layer) {
- case _NAV:
- if (unused) {
- rgb_matrix_set_color(i, RGB_OFF);
- } else {
- rgb_matrix_set_color(i, RGB_RED);
- }
+ case _NAV: // RED
+ hsv.h = 0;
break;
- case _MOUSE:
- if (unused) {
- rgb_matrix_set_color(i, RGB_OFF);
- } else {
- rgb_matrix_set_color(i, RGB_YELLOW);
- }
+ case _MOUSE: // YELLOW
+ hsv.h = 43;
break;
- case _NUM:
- if (unused) {
- rgb_matrix_set_color(i, RGB_OFF);
- } else {
- rgb_matrix_set_color(i, RGB_GREEN);
- }
+ case _NUM: // GREEN
+ hsv.h = 85;
break;
- case _OPS:
- if (unused) {
- rgb_matrix_set_color(i, RGB_OFF);
- } else {
- rgb_matrix_set_color(i, RGB_ORANGE);
- }
- break;
- case _PUNC:
- if (unused) {
- rgb_matrix_set_color(i, RGB_OFF);
- } else {
- rgb_matrix_set_color(i, RGB_CYAN);
- }
+ case _OPS: // ORANGE
+ hsv.h = 21;
break;
- case _SYMBOL:
- if (unused) {
- rgb_matrix_set_color(i, RGB_OFF);
- } else {
- rgb_matrix_set_color(i, RGB_PURPLE);
- }
+ case _PUNC: // CYAN
+ hsv.h = 128;
break;
- case _FUNC:
- if (unused) {
- rgb_matrix_set_color(i, RGB_OFF);
- } else {
- rgb_matrix_set_color(i, RGB_BLUE);
- }
+ case _SYMBOL: // PURPLE
+ hsv.h = 191;
break;
- default:
- // rgb_matrix_set_color(i, RGB_OFF);
+ case _FUNC: // BLUE
+ hsv.h = 170;
break;
+ default:
+ hsv.s = 0;
}
+
+ RGB rgb = hsv_to_rgb(hsv);
+ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
}
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {