diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/keymaps/soispha/hid/hid.h | 3 | ||||
-rw-r--r-- | src/keymaps/soispha/layout/keymap.h | 144 | ||||
-rw-r--r-- | src/keymaps/soispha/led/ledlayout.h | 85 | ||||
-rw-r--r-- | src/keymaps/soispha/led/ledmap.h | 16 | ||||
-rw-r--r-- | src/keymaps/soispha/led/rgb.c | 65 | ||||
-rw-r--r-- | src/keymaps/soispha/led/translation.h | 10 | ||||
-rw-r--r-- | src/keymaps/soispha/macros.h | 25 | ||||
-rw-r--r-- | src/keymaps/soispha/rgb.c | 227 | ||||
-rw-r--r-- | src/keymaps/soispha/rules.mk | 2 |
9 files changed, 242 insertions, 335 deletions
diff --git a/src/keymaps/soispha/hid/hid.h b/src/keymaps/soispha/hid/hid.h index 6ee0eda..0f80a0c 100644 --- a/src/keymaps/soispha/hid/hid.h +++ b/src/keymaps/soispha/hid/hid.h @@ -2,8 +2,7 @@ #include <stdint.h> -#define UK(c) (UK_UNICODE | (c)) - +#define UK(c) (UK_UNICODE | ((uint32_t) c)) void hid_send(uint32_t hex); diff --git a/src/keymaps/soispha/layout/keymap.h b/src/keymaps/soispha/layout/keymap.h index d4f23d0..0225145 100644 --- a/src/keymaps/soispha/layout/keymap.h +++ b/src/keymaps/soispha/layout/keymap.h @@ -1,92 +1,76 @@ +// clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_moonlander( // Dvorak - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, QK_BOOT, QK_BOOT, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, VERSION_NUMBER, - TG(5), KC_QUOTE, KC_COMMA, LT(9,KC_DOT), KC_P, KC_Y, KK_TP, KK_TP, KC_F, KC_G, LT(9,KC_C), KC_R, KC_L, TG(5), - MO(7), KC_A, KC_O, KC_E, KC_U, KC_I, MO(8), MO(8), KC_D, KC_H, KC_T, KC_N, KC_S, MO(7), - KC_LEFT_SHIFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RIGHT_SHIFT, - KK_TP, KK_TP, KK_TP, KC_LEFT, KC_RIGHT, HYPR(KC_T), HYPR(KC_K), KC_UP, KC_DOWN, KK_TP, KK_TP, KC_RIGHT_SHIFT, - MO(3), MO(4), MO(6), KK_TP, MO(1), MO(2) - + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, QK_BOOT, QK_BOOT, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, VERSION_NUMBER, + TG(4), KC_QUOTE, LT(8,KC_COMMA), LT(7,KC_DOT), KC_P, KC_Y, KK_TP, KK_TP, KC_F, KC_G, LT(7,KC_C), LT(8,KC_R), KC_L, TG(4), + MO(5), KC_A, KC_O, KC_E, KC_U, KC_I, MO(6), MO(6), KC_D, KC_H, KC_T, KC_N, KC_S, MO(5), + KC_LEFT_SHIFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RIGHT_SHIFT, + KK_TP, KK_TP, KK_TP, KC_LEFT, KC_RIGHT, LGUI(KC_L), HYPR(KC_K), KC_UP, KC_DOWN, KK_TP, KK_TP, KC_RIGHT_SHIFT, + MO(2), MO(3), KK_TP, KK_TP, KK_TP, MO(1) ), - [1] = LAYOUT_moonlander( // River - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, RV_SP_NHK, RV_SP_NRG_BR, RV_SP_KPSS, RV_SP_SGNL, KK_TP, KK_TP, - KK_TP, RV_SC_SHOT, RV_PAUSE, RV_TG_MSC, RV_RUN, KK_TP, KK_TP, KK_TP, RV_TG_FLOAT, RV_TG_FL_SC, RV_ZOOM_VW, KK_TP, RV_EXIT, KK_TP, - KK_TP, KK_TP, KK_TP, RV_MV_VW_PRVS_TG, RV_MV_PRVS_TG, RV_MV_OT_NXT, KK_TP, KK_TP, RV_VW_CLSE, RV_VW_NXT, RV_SWP_NXT, RV_SWP_PRVS, RV_VW_PRVS, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, RV_SEND_OUT, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP - + [1] = LAYOUT_moonlander( // Modifier + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, OSM(MOD_RSFT), OSM(MOD_RGUI), OSM(MOD_RCTL), OSM(MOD_RALT), KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, OSM(MOD_LSFT), OSM(MOD_LGUI), OSM(MOD_LCTL), OSM(MOD_LALT), KK_TP, KK_TP, KK_TP, KC_TAB, KC_SPACE, KC_BSPC, KC_ENTER, KC_ESCAPE, KK_TP, + KK_TP, KC_LSFT, KC_LGUI, KC_LCTL, KC_LALT, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP ), - [2] = LAYOUT_moonlander( // Modifier - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, OSM(MOD_RSFT), OSM(MOD_RGUI), OSM(MOD_RCTL), OSM(MOD_RALT), KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, OSM(MOD_LSFT), OSM(MOD_LGUI), OSM(MOD_LCTL), OSM(MOD_LALT), KK_TP, KK_TP, KK_TP, KC_TAB, KC_SPACE, KC_BSPC, KC_ENTER, KC_ESCAPE, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP - + [2] = LAYOUT_moonlander( // Symbols + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KC_GRAVE, KC_EXLM, KC_DLR, KC_PERC, CW_TOGG, KK_TP, KK_TP, KC_AT, KC_HASH, KC_AMPR, KC_ASTR, KC_QUES, KK_TP, + KK_TP, KC_LABK, KC_LBRC, KC_LPRN, KC_LCBR, TD(DANCE_0), KK_TP, KK_TP, KC_TILD, TD(DANCE_1), TD(DANCE_2), TD(DANCE_3), KC_PLUS, KK_TP, + KK_TP, KC_RABK, KC_RBRC, KC_RPRN, KC_RCBR, KK_TP, KC_CIRC, KC_BSLS, KC_COMMA, TD(DANCE_4), KC_PIPE, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP ), - [3] = LAYOUT_moonlander( // Symbols - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KC_GRAVE, KC_EXLM, KC_DLR, KC_PERC, CW_TOGG, KK_TP, KK_TP, KC_AT, KC_HASH, KC_AMPR, KC_ASTR, KC_QUES, KK_TP, - KK_TP, KC_LABK, KC_LBRC, KC_LPRN, KC_LCBR, TD(DANCE_0), KK_TP, KK_TP, KC_TILD, TD(DANCE_1), TD(DANCE_2), TD(DANCE_3), KC_PLUS, KK_TP, - KK_TP, KC_RABK, KC_RBRC, KC_RPRN, KC_RCBR, KK_TP, KC_CIRC, KC_BSLS, KC_COMMA, TD(DANCE_4), KC_PIPE, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP - + [3] = LAYOUT_moonlander( // Numbers + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KK_TP, KK_TP, KK_TP, KC_1, KC_2, KC_3, KK_TP, KK_TP, + KK_TP, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KK_TP, KK_TP, KC_0, KC_4, KC_5, KC_6, KK_TP, KK_TP, + KK_TP, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KK_TP, KC_7, KC_8, KC_9, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP ), - [4] = LAYOUT_moonlander( // Numbers - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KK_TP, KK_TP, KK_TP, KC_1, KC_2, KC_3, KK_TP, KK_TP, - KK_TP, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KK_TP, KK_TP, KC_0, KC_4, KC_5, KC_6, KK_TP, KK_TP, - KK_TP, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KK_TP, KC_7, KC_8, KC_9, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP - + [4] = LAYOUT_moonlander( // Media + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, QK_BOOT, + KK_TP, KK_TP, KC_MS_BTN2, KC_MS_BTN3, KC_MS_BTN1, KC_KB_VOLUME_UP, KK_TP, KK_TP, KC_KB_VOLUME_UP, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN2, KK_TP, KK_TP, + KK_TP, KC_MS_WH_UP, QK_MOUSE_WHEEL_UP, QK_MOUSE_WHEEL_DOWN, KC_MS_WH_LEFT, KC_KB_MUTE, KK_TP, KK_TP, KC_KB_MUTE, KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT, KK_TP, + KK_TP, LCTL(LSFT(KC_TAB)), LALT(LCTL(KC_R)), LCTL(KC_T), LCTL(KC_TAB), KC_KB_VOLUME_DOWN, KC_KB_VOLUME_DOWN, KC_WWW_BACK, KK_TP, KC_WWW_HOME, KC_WWW_FORWARD, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP ), - [5] = LAYOUT_moonlander( // Media - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, QK_BOOT, - KK_TP, KK_TP, KC_MS_BTN2, KC_MS_BTN3, KC_MS_BTN1, KK_TP, KK_TP, KK_TP, KK_TP, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN2, KK_TP, KK_TP, - KK_TP, KC_MS_WH_UP, QK_MOUSE_WHEEL_UP, QK_MOUSE_WHEEL_DOWN, KC_MS_WH_LEFT, KK_TP, KK_TP, KK_TP, KK_TP, KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT, KK_TP, - KK_TP, LCTL(LSFT(KC_TAB)), LALT(LCTL(KC_R)), LCTL(KC_T), LCTL(KC_TAB), KK_TP, KK_TP, KC_WWW_BACK, KK_TP, KC_WWW_HOME, KC_WWW_FORWARD, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP - + [5] = LAYOUT_moonlander( // German characters + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, UK(U'ä'), UK(U'ö'), KK_TP, UK(U'ü'), KK_TP, KK_TP, KK_TP, KK_TP, UK(U'Ü'), KK_TP, UK(U'Ö'), UK(U'Ä'), KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP ), - [6] = LAYOUT_moonlander( // River Tag Movement - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, MEH(KC_3), MEH(KC_2), MEH(KC_1), KK_TP, KK_TP, KK_TP, KK_TP, HYPR(KC_1), HYPR(KC_2), HYPR(KC_3), KK_TP, KK_TP, - KK_TP, KK_TP, MEH(KC_6), MEH(KC_5), MEH(KC_4), MEH(KC_0), KK_TP, KK_TP, HYPR(KC_0), HYPR(KC_4), HYPR(KC_5), HYPR(KC_6), KK_TP, KK_TP, - KK_TP, KK_TP, MEH(KC_9), MEH(KC_8), MEH(KC_7), KK_TP, KK_TP, HYPR(KC_7), HYPR(KC_8), HYPR(KC_9), KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP - + [6] = LAYOUT_moonlander( // Swedish characters + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, UK(U'å'), KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, UK(U'Å'), KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP ), - [7] = LAYOUT_moonlander( // German characters - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, UK(0xe4), UK(0xf6), KK_TP, UK(0xfc), KK_TP, KK_TP, KK_TP, KK_TP, UK(0xdc), KK_TP, UK(0xd6), UK(0xc4), KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP - + [7] = LAYOUT_moonlander( // Special characters + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, UK(U'“'), KK_TP, KK_TP, UK(U'”'), KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP ), - [8] = LAYOUT_moonlander( // Swedish characters - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, UK(0xe5), KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, UK(0xc5), KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP - - ), - [9] = LAYOUT_moonlander( // Special characters - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, UK(0x201C), KK_TP, KK_TP, UK(0x201D), KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, - KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP - + [8] = LAYOUT_moonlander( // Slovenian characters + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, UK(U'š'), UK(U'č'), KK_TP, UK(U'ž'), KK_TP, KK_TP, KK_TP, KK_TP, UK(U'Ž'), KK_TP, UK(U'Č'), UK(U'Š'), KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, + KK_TP, KK_TP, KK_TP, KK_TP, KK_TP, KK_TP ), }; +// clang-format on diff --git a/src/keymaps/soispha/led/ledlayout.h b/src/keymaps/soispha/led/ledlayout.h new file mode 100644 index 0000000..508c6c6 --- /dev/null +++ b/src/keymaps/soispha/led/ledlayout.h @@ -0,0 +1,85 @@ +// clang-format off +const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = { + /* Dvorak */ + [0] = { + RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, + GREEN, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, GREEN, + GREEN, GREEN, GREEN, GREEN, YELLOW, GREEN, ORANGE, ORANGE, GREEN, YELLOW, GREEN, GREEN, GREEN, GREEN, + BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, + PURPLE, PURPLE, PURPLE, PURPLE, PURPLE, OFF, OFF, PURPLE, PURPLE, PURPLE, PURPLE, BLUE, + ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED + }, + /* Modifier */ + [1] = { + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, BRAIN_FREEZE + }, + /* Symbols */ + [2] = { + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + BRAIN_FREEZE, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED + }, + /* Numbers */ + [3] = { + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + ASSASSINS_RED, BRAIN_FREEZE, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED + }, + /* Media */ + [4] = { + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + BRAIN_FREEZE, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, BRAIN_FREEZE, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, ASSASSINS_RED, ASSASSINS_RED, OFF, OFF, OFF, OFF, OFF, + ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED + }, + /* German characters */ + [5] = { + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + BRAIN_FREEZE, PURPLE, PURPLE, OFF, PURPLE, OFF, OFF, OFF, OFF, PURPLE, OFF, PURPLE, PURPLE, BRAIN_FREEZE, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF + }, + /* Swedish characters */ + [6] = { + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, PURPLE, OFF, OFF, OFF, OFF, BRAIN_FREEZE, BRAIN_FREEZE, OFF, OFF, OFF, OFF, PURPLE, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF + }, + /* Special characters */ + [7] = { + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, BRAIN_FREEZE, OFF, OFF, OFF, OFF, OFF, OFF, BRAIN_FREEZE, OFF, OFF, OFF, + OFF, PURPLE, OFF, OFF, PURPLE, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF + }, + /* Slovenian characters */ + [8] = { + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, BRAIN_FREEZE, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, BRAIN_FREEZE, OFF, OFF, + OFF, PURPLE, PURPLE, OFF, PURPLE, OFF, OFF, OFF, OFF, PURPLE, OFF, PURPLE, PURPLE, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, + OFF, OFF, OFF, OFF, OFF, OFF + }, +}; +// clang-format on diff --git a/src/keymaps/soispha/led/ledmap.h b/src/keymaps/soispha/led/ledmap.h new file mode 100644 index 0000000..c2d1847 --- /dev/null +++ b/src/keymaps/soispha/led/ledmap.h @@ -0,0 +1,16 @@ +#pragma once + +#define hsv(H, S, V) {H, S, V} + +#define OFF hsv(0, 0, 0) // 0x000000 +#define RED hsv(0, 255, 255) // 0xFF0000 +#define ORANGE hsv(27, 255, 255) // 0xFFA500 +#define GREEN hsv(85,255,128) // 0x008000 +#define YELLOW hsv(42,255,255) // 0xFFFF00 +#define BLUE hsv(170,255,255) // 0x0000FF +#define PURPLE hsv(212,255,128) // 0x800080 +#define ASSASSINS_RED hsv(0,245,245) // 0xF50909 +#define BRAIN_FREEZE hsv(130,255,255) // 0x00F0FF + +#include "ledlayout.h" +#include "translation.h" diff --git a/src/keymaps/soispha/led/rgb.c b/src/keymaps/soispha/led/rgb.c new file mode 100644 index 0000000..13ab60f --- /dev/null +++ b/src/keymaps/soispha/led/rgb.c @@ -0,0 +1,65 @@ +#include QMK_KEYBOARD_H + +#include "ledmap.h" +#define MOON_LED_LEVEL LED_LEVEL + +extern rgb_config_t rgb_matrix_config; + +void keyboard_post_init_user(void) { + rgb_matrix_enable(); +} + +void set_layer_color(int layer) { + int n = sizeof(ledmap[layer]) / sizeof(*ledmap[layer]); + + for (int i = 0; i < n; i++) { + /* The rgb index is counted from top to bottom, e.g.: + * 0 4 + * 1 5 + * 2 6 + * 3 7 .. + * + * But we have an index (`i`) which counts from left to right, e.g.: + * 0 1 2 3 + * 4 5 6 7 + * .. + * + * Thus we use an translation table for the conversions (`i` -> `rgb_i`). + */ + int rgb_i = translation[i]; + + HSV hsv = { + .h = pgm_read_byte(&ledmap[layer][i][0]), + .s = pgm_read_byte(&ledmap[layer][i][1]), + .v = pgm_read_byte(&ledmap[layer][i][2]), + }; + + if (!hsv.h && !hsv.s && !hsv.v) { + rgb_matrix_set_color(rgb_i, 0, 0, 0); + } else { + RGB rgb = hsv_to_rgb(hsv); + float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX; + rgb_matrix_set_color(rgb_i, f * rgb.r, f * rgb.g, f * rgb.b); + } + } +} + +/* Callback. Is called once every time a new “frame” is rendered */ +bool rgb_matrix_indicators_user(void) { + if (keyboard_config.disable_layer_led) { + return false; + } + + int layer = biton32(layer_state); + int defined_layer = sizeof(ledmap) / sizeof(*ledmap); + + if (layer <= (defined_layer - 1)) { + set_layer_color(layer); + } else { + if (rgb_matrix_get_flags() == LED_FLAG_NONE) { + rgb_matrix_set_color_all(0, 0, 0); + } + } + + return true; +} diff --git a/src/keymaps/soispha/led/translation.h b/src/keymaps/soispha/led/translation.h new file mode 100644 index 0000000..25adb88 --- /dev/null +++ b/src/keymaps/soispha/led/translation.h @@ -0,0 +1,10 @@ +// clang-format off +const uint8_t translation[RGB_MATRIX_LED_COUNT] = { + 0, 5, 10, 15, 20, 25, 29, 65, 61, 56, 51, 46, 41, 36, + 1, 6, 11, 16, 21, 26, 30, 66, 62, 57, 52, 47, 42, 37, + 2, 7, 12, 17, 22, 27, 31, 67, 63, 58, 53, 48, 43, 38, + 3, 8, 13, 18, 23, 28, 64, 59, 54, 49, 44, 39, + 4, 9, 14, 19, 24, 35, 71, 60, 55, 50, 45, 40, + 32, 33, 34, 70, 69, 68 +}; +// clang-format on diff --git a/src/keymaps/soispha/macros.h b/src/keymaps/soispha/macros.h index f7ff453..bbc919b 100644 --- a/src/keymaps/soispha/macros.h +++ b/src/keymaps/soispha/macros.h @@ -18,28 +18,3 @@ enum tap_dance_codes { DANCE_3, DANCE_4, }; - -// river_mappings { -#define RV_SC_SHOT HYPR(KC_L) -#define RV_PAUSE HYPR(KC_M) -#define RV_TG_MSC HYPR(KC_N) -#define RV_RUN HYPR(KC_O) -#define RV_MV_VW_PRVS_TG HYPR(KC_W) -#define RV_MV_PRVS_TG HYPR(KC_V) -#define RV_MV_OT_NXT HYPR(KC_U) - -#define RV_SP_NHK HYPR(KC_R) -#define RV_SP_NRG_BR HYPR(KC_P) -#define RV_SP_KPSS HYPR(KC_Q) -#define RV_SP_SGNL HYPR(KC_S) - -#define RV_TG_FLOAT HYPR(KC_I) -#define RV_TG_FL_SC HYPR(KC_H) -#define RV_ZOOM_VW HYPR(KC_G) -#define RV_EXIT HYPR(KC_A) -#define RV_VW_CLSE HYPR(KC_B) -#define RV_VW_NXT HYPR(KC_D) -#define RV_SWP_NXT HYPR(KC_F) -#define RV_SWP_PRVS HYPR(KC_E) -#define RV_VW_PRVS HYPR(KC_C) -#define RV_SEND_OUT HYPR(KC_J) diff --git a/src/keymaps/soispha/rgb.c b/src/keymaps/soispha/rgb.c deleted file mode 100644 index 183296e..0000000 --- a/src/keymaps/soispha/rgb.c +++ /dev/null @@ -1,227 +0,0 @@ -#include QMK_KEYBOARD_H -#define MOON_LED_LEVEL LED_LEVEL - -extern rgb_config_t rgb_matrix_config; - -void keyboard_post_init_user(void) { rgb_matrix_enable(); } - -// clang-format off -const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = { - [0] = {{0, 255, 255}, {86, 255, 128}, {86, 255, 128}, {172, 255, 255}, - {215, 255, 128}, {0, 255, 255}, {27, 255, 255}, {86, 255, 128}, - {172, 255, 255}, {215, 255, 128}, {0, 255, 255}, {27, 255, 255}, - {86, 255, 128}, {172, 255, 255}, {215, 255, 128}, {0, 255, 255}, - {27, 255, 255}, {86, 255, 128}, {172, 255, 255}, {215, 255, 128}, - {0, 255, 255}, {27, 255, 255}, {43, 255, 255}, {172, 255, 255}, - {215, 255, 128}, {0, 255, 255}, {27, 255, 255}, {86, 255, 128}, - {172, 255, 255}, {0, 255, 255}, {27, 255, 255}, {27, 255, 255}, - {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}, - {0, 255, 255}, {86, 255, 128}, {86, 255, 128}, {172, 255, 255}, - {215, 255, 128}, {0, 255, 255}, {27, 255, 255}, {86, 255, 128}, - {172, 255, 255}, {215, 255, 128}, {0, 255, 255}, {27, 255, 255}, - {86, 255, 128}, {172, 255, 255}, {215, 255, 128}, {0, 255, 255}, - {27, 255, 255}, {86, 255, 128}, {172, 255, 255}, {215, 255, 128}, - {0, 255, 255}, {27, 255, 255}, {43, 255, 255}, {172, 255, 255}, - {215, 255, 128}, {0, 255, 255}, {27, 255, 255}, {86, 255, 128}, - {172, 255, 255}, {0, 255, 255}, {27, 255, 255}, {27, 255, 255}, - {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}}, - - [1] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 245, 245}, {131, 255, 255}, {0, 245, 245}, {0, 0, 0}}, - - [2] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {131, 255, 255}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}}, - - [3] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {131, 255, 255}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}}, - - [4] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 245, 245}, {131, 255, 255}, {0, 245, 245}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}}, - - [5] = {{0, 0, 0}, {131, 255, 255}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, - {0, 0, 0}, {131, 255, 255}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 245, 245}}, - - [6] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 245, 245}, {0, 245, 245}, {131, 255, 255}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}}, - - [7] = {{0, 0, 0}, {0, 0, 0}, {131, 255, 255}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {131, 255, 255}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}}, - - [8] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {131, 255, 255}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {131, 255, 255}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, - - [9] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {131, 255, 255}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {131, 255, 255}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, - {0, 0, 0}, {0, 0, 0}}, -}; -// clang-format on - -void set_layer_color(int layer) { - for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - HSV hsv = { - .h = pgm_read_byte(&ledmap[layer][i][0]), - .s = pgm_read_byte(&ledmap[layer][i][1]), - .v = pgm_read_byte(&ledmap[layer][i][2]), - }; - if (!hsv.h && !hsv.s && !hsv.v) { - rgb_matrix_set_color(i, 0, 0, 0); - } else { - RGB rgb = hsv_to_rgb(hsv); - float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX; - rgb_matrix_set_color(i, f * rgb.r, f * rgb.g, f * rgb.b); - } - } -} - -bool rgb_matrix_indicators_user(void) { - if (keyboard_config.disable_layer_led) { - return false; - } - - int layer = biton32(layer_state); - if (layer <= 9) { - set_layer_color(layer); - } else { - if (rgb_matrix_get_flags() == LED_FLAG_NONE) { - rgb_matrix_set_color_all(0, 0, 0); - } - } - return true; -} diff --git a/src/keymaps/soispha/rules.mk b/src/keymaps/soispha/rules.mk index 27610b4..ddf9ccc 100644 --- a/src/keymaps/soispha/rules.mk +++ b/src/keymaps/soispha/rules.mk @@ -30,4 +30,4 @@ RAW_ENABLE = yes # LTO_ENABLE = yes -SRC += rgb.c hid/hid.c +SRC += led/rgb.c hid/hid.c |