diff options
Diffstat (limited to 'keyboards/massdrop/ctrl/keymaps/endgame/keymap.c')
| -rw-r--r-- | keyboards/massdrop/ctrl/keymaps/endgame/keymap.c | 421 |
1 files changed, 421 insertions, 0 deletions
diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c b/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c new file mode 100644 index 000000000..a6e0c9f50 --- /dev/null +++ b/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c | |||
| @@ -0,0 +1,421 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | |||
| 3 | // Include for debugging. | ||
| 4 | #include <print.h> | ||
| 5 | |||
| 6 | #define MILLISECONDS_IN_SECOND 1000 | ||
| 7 | |||
| 8 | //========================================================== CONFIGURABLE DEFAULTS ========================================================== | ||
| 9 | #define RGB_DEFAULT_TIME_OUT 30 | ||
| 10 | #define RGB_FAST_MODE_TIME_OUT 3 | ||
| 11 | #define RGB_TIME_OUT_MAX 600 | ||
| 12 | #define RGB_TIME_OUT_MIN 10 | ||
| 13 | #define RGB_TIME_OUT_STEP 10 | ||
| 14 | |||
| 15 | static uint16_t idle_timer; // Idle LED timeout timer | ||
| 16 | static uint8_t idle_second_counter; // Idle LED seconds counter, counts seconds not milliseconds | ||
| 17 | |||
| 18 | bool rgb_enabled_flag; // Current LED state flag. If false then LED is off. | ||
| 19 | bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout. | ||
| 20 | bool rgb_time_out_fast_mode_enabled; | ||
| 21 | bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable. | ||
| 22 | uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds | ||
| 23 | uint16_t rgb_time_out_saved_seconds; | ||
| 24 | led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again. | ||
| 25 | |||
| 26 | enum tapdance_keycodes { | ||
| 27 | TD_GUI_ML = 0, // Tap dance key to switch to mouse layer _ML | ||
| 28 | TD_LCTRL_TERM, | ||
| 29 | TD_RCTRL_TERM, | ||
| 30 | }; | ||
| 31 | |||
| 32 | enum ctrl_keycodes { | ||
| 33 | U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active | ||
| 34 | U_T_AGCR, //USB Toggle Automatic GCR control | ||
| 35 | DBG_TOG, //DEBUG Toggle On / Off | ||
| 36 | DBG_MTRX, //DEBUG Toggle Matrix Prints | ||
| 37 | DBG_KBD, //DEBUG Toggle Keyboard Prints | ||
| 38 | DBG_MOU, //DEBUG Toggle Mouse Prints | ||
| 39 | MD_BOOT, //Restart into bootloader after hold timeout | ||
| 40 | SEL_CPY, //Select Copy. Select the word cursor is pointed at and copy, using double mouse click and ctrl+c | ||
| 41 | ROUT_TG, //Timeout Toggle. Toggle idle LED time out on or off | ||
| 42 | ROUT_VI, //Timeout Value Increase. Increase idle time out before LED disabled | ||
| 43 | ROUT_VD, //Timeout Value Decrease. Decrease idle time out before LED disabled | ||
| 44 | ROUT_FM, //RGB timeout fast mode toggle | ||
| 45 | COPY_ALL, //Copy all text using ctrl(a+c) | ||
| 46 | TERMINAL, | ||
| 47 | }; | ||
| 48 | |||
| 49 | enum layout_names { | ||
| 50 | _KL=0, // Keys Layout: The main keyboard layout that has all the characters | ||
| 51 | _FL, // Function Layout: The function key activated layout with default functions and some added ones | ||
| 52 | _ML, // Mouse Layout: Mouse Keys and mouse movement | ||
| 53 | _VL, // VIM Layout: VIM shorcuts and macros | ||
| 54 | _GL, // GIT Layout: GIT shortcuts and macros | ||
| 55 | _YL, // Yakuake Layout: Yakuake drop-down terminal shortcuts and macros | ||
| 56 | _EL, // KDE Layout: Shortcuts for KDE desktop using default KDE shortcuts settings | ||
| 57 | }; | ||
| 58 | |||
| 59 | //Associate our tap dance key with its functionality | ||
| 60 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 61 | [TD_GUI_ML] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_LGUI, _ML), | ||
| 62 | [TD_LCTRL_TERM] = ACTION_TAP_DANCE_DOUBLE(KC_LCTRL, LCA(KC_T)), | ||
| 63 | [TD_RCTRL_TERM] = ACTION_TAP_DANCE_DOUBLE(KC_RCTRL, LCA(KC_T)), | ||
| 64 | }; | ||
| 65 | |||
| 66 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 67 | /* | ||
| 68 | [DEFAULT] = LAYOUT( | ||
| 69 | KC_ESC, 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, KC_SLCK, KC_PAUS, | ||
| 70 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, | ||
| 71 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, | ||
| 72 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, | ||
| 73 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, | ||
| 74 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
| 75 | ), | ||
| 76 | */ | ||
| 77 | [_KL] = LAYOUT( | ||
| 78 | KC_ESC, 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, KC_SLCK, KC_PAUS, | ||
| 79 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, | ||
| 80 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, | ||
| 81 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, | ||
| 82 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SFTENT, KC_UP, | ||
| 83 | TD(TD_LCTRL_TERM), TD(TD_GUI_ML), KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
| 84 | ), | ||
| 85 | [_FL] = LAYOUT( | ||
| 86 | _______, DM_PLY1, DM_PLY2, _______, _______, DM_REC1, DM_REC2, _______, _______, DM_RSTP, _______, KC_WAKE, KC_SLEP, KC_MUTE, _______, _______, | ||
| 87 | _______, RGB_M_P, _______, _______, _______, _______, _______, _______, _______, ROUT_FM, ROUT_TG, ROUT_VD, ROUT_VI, _______, KC_MSTP, KC_MPLY, KC_VOLU, | ||
| 88 | _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO, U_T_AGCR, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, | ||
| 89 | _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, | ||
| 90 | _______, RGB_TOG, _______, COPY_ALL, _______, MD_BOOT, TG_NKRO, _______, _______, _______, _______, _______, KC_BRIU, | ||
| 91 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______ | ||
| 92 | ), | ||
| 93 | [_ML] = LAYOUT( | ||
| 94 | _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 95 | _______, KC_BTN4, KC_BTN3, KC_BTN5, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 96 | _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 97 | _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 98 | _______, _______, _______, SEL_CPY, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______, | ||
| 99 | _______, TD(TD_GUI_ML), _______, _______, _______, _______, TG(_ML), _______, _______, _______, _______ | ||
| 100 | ), | ||
| 101 | /* | ||
| 102 | [X] = LAYOUT( | ||
| 103 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 104 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 105 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 106 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 107 | _______, _______, _______, _______, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______, | ||
| 108 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 109 | ), | ||
| 110 | [RGB] = LAYOUT( | ||
| 111 | ESC: 0, F1: 1, F2: 2, F3: 3, F4: 4, F5: 5, F6: 6, F7: 7, F8: 8, F9: 9, F10: 10, F11: 11, F12: 12, PSCR: 13, SLCK: 14, PAUS: 15, | ||
| 112 | GRV: 16, 1: 17, 2: 18, 3: 19, 4: 20, 5: 21, 6: 22, 7: 23, 8: 24, 9: 25, 0: 26, MINS: 27, EQL: 28, BSPC: 29, INS: 30, HOME: 31, PGUP: 32, | ||
| 113 | TAB: 33, Q: 34, W: 35, E: 36, R: 37, T: 38, Y: 39, U: 40, I: 41, O: 42, P: 43, LBRC: 44, RBRC: 45, BSLS: 46, DEL: 47, END: 48, PGDN: 49, | ||
| 114 | CAPS: 50, A: 51, S: 52, D: 53, F: 54, G: 55, H: 56, J: 57, K: 58, L: 59, SCLN: 60, QUOT: 61, ENT: 62, | ||
| 115 | LSFT: 63, Z: 64, X: 65, C: 66, V: 67, B: 68, N: 69, M: 70, COMM: 71, DOT: 72, SLSH: 73, RSFT: 74, UP: 75, | ||
| 116 | LCTL: 76, LGUI: 77, LALT: 78, SPC: 79, RALT: 80, Fn: 81, APP: 82, RCTL: 83, LEFT: 84, DOWN: 85, RGHT: 86 | ||
| 117 | ), | ||
| 118 | [MATRIX] = LAYOUT( | ||
| 119 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, | ||
| 120 | 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, | ||
| 121 | 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, | ||
| 122 | 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, | ||
| 123 | 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, | ||
| 124 | 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86 | ||
| 125 | ), | ||
| 126 | */ | ||
| 127 | }; | ||
| 128 | |||
| 129 | // Runs just one time when the keyboard initializes. | ||
| 130 | void matrix_init_user(void) { | ||
| 131 | // Enable or disable debugging | ||
| 132 | debug_enable=true; | ||
| 133 | debug_matrix=true; | ||
| 134 | debug_keyboard=true; | ||
| 135 | debug_mouse=true; | ||
| 136 | |||
| 137 | idle_second_counter = 0; | ||
| 138 | rgb_time_out_seconds = RGB_DEFAULT_TIME_OUT; | ||
| 139 | rgb_time_out_enable = true; | ||
| 140 | rgb_enabled_flag = true; | ||
| 141 | rgb_time_out_user_value = true; | ||
| 142 | rgb_time_out_fast_mode_enabled = false; | ||
| 143 | rgb_time_out_saved_flag = rgb_matrix_get_flags(); | ||
| 144 | }; | ||
| 145 | |||
| 146 | // Runs constantly in the background, in a loop. | ||
| 147 | void matrix_scan_user(void) { | ||
| 148 | if(rgb_time_out_enable && rgb_enabled_flag) { | ||
| 149 | if (timer_elapsed(idle_timer) > MILLISECONDS_IN_SECOND) { | ||
| 150 | idle_second_counter++; | ||
| 151 | idle_timer = timer_read(); | ||
| 152 | } | ||
| 153 | |||
| 154 | if (idle_second_counter >= rgb_time_out_seconds) { | ||
| 155 | rgb_time_out_saved_flag = rgb_matrix_get_flags(); | ||
| 156 | rgb_matrix_set_flags(LED_FLAG_NONE); | ||
| 157 | rgb_matrix_disable_noeeprom(); | ||
| 158 | rgb_enabled_flag = false; | ||
| 159 | idle_second_counter = 0; | ||
| 160 | } | ||
| 161 | } | ||
| 162 | }; | ||
| 163 | |||
| 164 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 165 | static uint32_t key_timer; | ||
| 166 | |||
| 167 | if (rgb_time_out_enable) { | ||
| 168 | idle_timer = timer_read(); | ||
| 169 | // Reset the seconds counter. Without this, something like press> leave x seconds> press, would be x seconds on the effective counter not 0 as it should. | ||
| 170 | idle_second_counter = 0; | ||
| 171 | if (!rgb_enabled_flag) { | ||
| 172 | rgb_matrix_enable_noeeprom(); | ||
| 173 | rgb_matrix_set_flags(rgb_time_out_saved_flag); | ||
| 174 | rgb_enabled_flag = true; | ||
| 175 | } | ||
| 176 | } | ||
| 177 | |||
| 178 | switch (keycode) { | ||
| 179 | case U_T_AUTO: | ||
| 180 | if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { | ||
| 181 | TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode"); | ||
| 182 | } | ||
| 183 | return false; | ||
| 184 | case U_T_AGCR: | ||
| 185 | if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { | ||
| 186 | TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode"); | ||
| 187 | } | ||
| 188 | return false; | ||
| 189 | case DBG_TOG: | ||
| 190 | if (record->event.pressed) { | ||
| 191 | TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode"); | ||
| 192 | } | ||
| 193 | return false; | ||
| 194 | case DBG_MTRX: | ||
| 195 | if (record->event.pressed) { | ||
| 196 | TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix"); | ||
| 197 | } | ||
| 198 | return false; | ||
| 199 | case DBG_KBD: | ||
| 200 | if (record->event.pressed) { | ||
| 201 | TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard"); | ||
| 202 | } | ||
| 203 | return false; | ||
| 204 | case DBG_MOU: | ||
| 205 | if (record->event.pressed) { | ||
| 206 | TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse"); | ||
| 207 | } | ||
| 208 | return false; | ||
| 209 | case MD_BOOT: | ||
| 210 | if (record->event.pressed) { | ||
| 211 | key_timer = timer_read32(); | ||
| 212 | } else { | ||
| 213 | if (timer_elapsed32(key_timer) >= 500) { | ||
| 214 | reset_keyboard(); | ||
| 215 | } | ||
| 216 | } | ||
| 217 | return false; | ||
| 218 | case RGB_TOG: | ||
| 219 | if (record->event.pressed) { | ||
| 220 | rgb_time_out_enable = rgb_time_out_user_value; | ||
| 221 | switch (rgb_matrix_get_flags()) { | ||
| 222 | case LED_FLAG_ALL: { | ||
| 223 | rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); | ||
| 224 | rgb_matrix_set_color_all(0, 0, 0); | ||
| 225 | } | ||
| 226 | break; | ||
| 227 | case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { | ||
| 228 | rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); | ||
| 229 | rgb_matrix_set_color_all(0, 0, 0); | ||
| 230 | } | ||
| 231 | break; | ||
| 232 | case LED_FLAG_UNDERGLOW: { | ||
| 233 | // This line is for LED idle timer. It disables the toggle so you can turn off LED completely if you like | ||
| 234 | rgb_time_out_enable = false; | ||
| 235 | rgb_matrix_set_flags(LED_FLAG_NONE); | ||
| 236 | rgb_matrix_disable_noeeprom(); | ||
| 237 | } | ||
| 238 | break; | ||
| 239 | default: { | ||
| 240 | rgb_matrix_set_flags(LED_FLAG_ALL); | ||
| 241 | rgb_matrix_enable_noeeprom(); | ||
| 242 | } | ||
| 243 | break; | ||
| 244 | } | ||
| 245 | } | ||
| 246 | return false; | ||
| 247 | // ======================================================== CUSTOM KEYCOADS BELOW ======================================================== | ||
| 248 | case COPY_ALL: | ||
| 249 | if (record->event.pressed) { | ||
| 250 | // Selects all and text and copy | ||
| 251 | SEND_STRING(SS_LCTRL("ac")); | ||
| 252 | } | ||
| 253 | return false; | ||
| 254 | case SEL_CPY: | ||
| 255 | // Select word under cursor and copy. Double mouse click then ctrl+c | ||
| 256 | if (record->event.pressed) { | ||
| 257 | tap_code16(KC_BTN1); | ||
| 258 | tap_code16(KC_BTN1); | ||
| 259 | tap_code16(C(KC_C)); | ||
| 260 | } | ||
| 261 | return false; | ||
| 262 | case ROUT_TG: | ||
| 263 | // Toggle idle LED timeout on or off | ||
| 264 | if (record->event.pressed) { | ||
| 265 | rgb_time_out_enable = !rgb_time_out_enable; | ||
| 266 | rgb_time_out_user_value = rgb_time_out_enable; | ||
| 267 | } | ||
| 268 | return false; | ||
| 269 | case ROUT_VI: | ||
| 270 | // Increase idle LED timeout value in seconds | ||
| 271 | if (record->event.pressed) { | ||
| 272 | // Only increase if current value is lower than RGB_TIME_OUT_MAX. Don't care what value the result will be | ||
| 273 | // Modity RGB_TIME_OUT_STEP for bigger or smaller increments | ||
| 274 | if (!rgb_time_out_fast_mode_enabled && rgb_time_out_seconds <= RGB_TIME_OUT_MAX) { | ||
| 275 | rgb_time_out_seconds += RGB_TIME_OUT_STEP; | ||
| 276 | } | ||
| 277 | } | ||
| 278 | return false; | ||
| 279 | case ROUT_VD: | ||
| 280 | // Decrease idle LED timeout value in seconds | ||
| 281 | if (record->event.pressed) { | ||
| 282 | // Only decrease if current value is higher than minimum value and the result is larger than zero | ||
| 283 | // Modity RGB_TIME_OUT_STEP for bigger or smaller decrements | ||
| 284 | if (!rgb_time_out_fast_mode_enabled && rgb_time_out_seconds > RGB_TIME_OUT_MIN) { | ||
| 285 | rgb_time_out_seconds -= RGB_TIME_OUT_STEP; | ||
| 286 | } | ||
| 287 | } | ||
| 288 | return false; | ||
| 289 | case ROUT_FM: | ||
| 290 | if (record->event.pressed) { | ||
| 291 | if (rgb_time_out_fast_mode_enabled) { | ||
| 292 | rgb_time_out_seconds = rgb_time_out_saved_seconds; | ||
| 293 | } else { | ||
| 294 | rgb_time_out_saved_seconds = rgb_time_out_seconds; | ||
| 295 | rgb_time_out_seconds = RGB_FAST_MODE_TIME_OUT; | ||
| 296 | } | ||
| 297 | rgb_time_out_fast_mode_enabled = !rgb_time_out_fast_mode_enabled; | ||
| 298 | } | ||
| 299 | return false; | ||
| 300 | default: | ||
| 301 | return true; //Process all other keycodes normally | ||
| 302 | } | ||
| 303 | } | ||
| 304 | |||
| 305 | void rgb_matrix_indicators_user(void) { | ||
| 306 | /* | ||
| 307 | [RGB] = LAYOUT( | ||
| 308 | ESC: 0, F1: 1, F2: 2, F3: 3, F4: 4, F5: 5, F6: 6, F7: 7, F8: 8, F9: 9, F10: 10, F11: 11, F12: 12, PSCR: 13, SLCK: 14, PAUS: 15, | ||
| 309 | GRV: 16, 1: 17, 2: 18, 3: 19, 4: 20, 5: 21, 6: 22, 7: 23, 8: 24, 9: 25, 0: 26, MINS: 27, EQL: 28, BSPC: 29, INS: 30, HOME: 31, PGUP: 32, | ||
| 310 | TAB: 33, Q: 34, W: 35, E: 36, R: 37, T: 38, Y: 39, U: 40, I: 41, O: 42, P: 43, LBRC: 44, RBRC: 45, BSLS: 46, DEL: 47, END: 48, PGDN: 49, | ||
| 311 | CAPS: 50, A: 51, S: 52, D: 53, F: 54, G: 55, H: 56, J: 57, K: 58, L: 59, SCLN: 60, QUOT: 61, ENT: 62, | ||
| 312 | LSFT: 63, Z: 64, X: 65, C: 66, V: 67, B: 68, N: 69, M: 70, COMM: 71, DOT: 72, SLSH: 73, RSFT: 74, UP: 75, | ||
| 313 | LCTL: 76, LGUI: 77, LALT: 78, SPC: 79, RALT: 80, Fn: 81, APP: 82, RCTL: 83, LEFT: 84, DOWN: 85, RGHT: 86 | ||
| 314 | ) | ||
| 315 | */ | ||
| 316 | if (!g_suspend_state && rgb_matrix_config.enable) { | ||
| 317 | switch (biton32(layer_state)) { | ||
| 318 | case _FL: { | ||
| 319 | /* | ||
| 320 | [_FL] = LAYOUT( | ||
| 321 | _______, DM_PLY1, DM_PLY2, _______, _______, DM_REC1, DM_REC2, _______, _______, DM_RSTP, _______, KC_WAKE, KC_SLEP, KC_MUTE, _______, _______, | ||
| 322 | _______, RGB_M_P, _______, _______, _______, _______, _______, _______, _______, ROUT_FM, ROUT_TG, ROUT_VD, ROUT_VI, _______, KC_MSTP, KC_MPLY, KC_VOLU, | ||
| 323 | _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO, U_T_AGCR, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, | ||
| 324 | _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, | ||
| 325 | _______, RGB_TOG, _______, COPY_ALL, _______, MD_BOOT, TG_NKRO, _______, _______, _______, _______, _______, KC_BRIU, | ||
| 326 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______ | ||
| 327 | ) | ||
| 328 | */ | ||
| 329 | |||
| 330 | // Function key. Color code #ffc100 | ||
| 331 | rgb_matrix_set_color(81, 0xff, 0xc1, 0x00); | ||
| 332 | // Sleep and Wake. Color code #aeb0b0 | ||
| 333 | rgb_matrix_set_color(11, 0xae, 0xb0, 0xb0); | ||
| 334 | rgb_matrix_set_color(12, 0xae, 0xb0, 0xb0); | ||
| 335 | // Power Control Keys. Color code #cb2f2a | ||
| 336 | rgb_matrix_set_color(40, 0xcb, 0x2f, 0x2a); | ||
| 337 | rgb_matrix_set_color(41, 0xcb, 0x2f, 0x2a); | ||
| 338 | rgb_matrix_set_color(74, 0xcb, 0x2f, 0x2a); | ||
| 339 | rgb_matrix_set_color(83, 0xcb, 0x2f, 0x2a); | ||
| 340 | // Keyboard Control Keys. Color code #f4791e | ||
| 341 | rgb_matrix_set_color(68, 0xf4, 0x79, 0x1e); | ||
| 342 | rgb_matrix_set_color(69, 0xf4, 0x79, 0x1e); | ||
| 343 | // Copy All Key. Color Code #45b866 | ||
| 344 | rgb_matrix_set_color(66, 0x45, 0xb8, 0x66); | ||
| 345 | // Brightness Keys. Color code #aeb0b0 | ||
| 346 | rgb_matrix_set_color(75, 0xae, 0xb0, 0xb0); | ||
| 347 | rgb_matrix_set_color(85, 0xae, 0xb0, 0xb0); | ||
| 348 | // RGB Timeout Keys. Color code #34a4b9 | ||
| 349 | rgb_matrix_set_color(25, 0x34, 0xa3, 0xb9); | ||
| 350 | rgb_matrix_set_color(26, 0x34, 0xa3, 0xb9); | ||
| 351 | rgb_matrix_set_color(27, 0x34, 0xa3, 0xb9); | ||
| 352 | rgb_matrix_set_color(28, 0x34, 0xa3, 0xb9); | ||
| 353 | // Media Keys. Color code #51c0dd | ||
| 354 | rgb_matrix_set_color(13, 0x51, 0xc0, 0xdd); | ||
| 355 | rgb_matrix_set_color(30, 0x51, 0xc0, 0xdd); | ||
| 356 | rgb_matrix_set_color(31, 0x51, 0xc0, 0xdd); | ||
| 357 | rgb_matrix_set_color(32, 0x51, 0xc0, 0xdd); | ||
| 358 | rgb_matrix_set_color(47, 0x51, 0xc0, 0xdd); | ||
| 359 | rgb_matrix_set_color(48, 0x51, 0xc0, 0xdd); | ||
| 360 | rgb_matrix_set_color(49, 0x51, 0xc0, 0xdd); | ||
| 361 | // RBG Control Keys. Color code #2790c2 | ||
| 362 | rgb_matrix_set_color(17, 0x27, 0x90, 0xc2); | ||
| 363 | rgb_matrix_set_color(34, 0x27, 0x90, 0xc2); | ||
| 364 | rgb_matrix_set_color(35, 0x27, 0x90, 0xc2); | ||
| 365 | rgb_matrix_set_color(36, 0x27, 0x90, 0xc2); | ||
| 366 | rgb_matrix_set_color(37, 0x27, 0x90, 0xc2); | ||
| 367 | rgb_matrix_set_color(38, 0x27, 0x90, 0xc2); | ||
| 368 | rgb_matrix_set_color(51, 0x27, 0x90, 0xc2); | ||
| 369 | rgb_matrix_set_color(52, 0x27, 0x90, 0xc2); | ||
| 370 | rgb_matrix_set_color(53, 0x27, 0x90, 0xc2); | ||
| 371 | rgb_matrix_set_color(54, 0x27, 0x90, 0xc2); | ||
| 372 | rgb_matrix_set_color(55, 0x27, 0x90, 0xc2); | ||
| 373 | rgb_matrix_set_color(64, 0x27, 0x90, 0xc2); | ||
| 374 | // Dynamic Macro Keys. Color code #45b866 | ||
| 375 | rgb_matrix_set_color(1, 0x45, 0xb8, 0x66); | ||
| 376 | rgb_matrix_set_color(2, 0x45, 0xb8, 0x66); | ||
| 377 | rgb_matrix_set_color(5, 0x45, 0xb8, 0x66); | ||
| 378 | rgb_matrix_set_color(6, 0x45, 0xb8, 0x66); | ||
| 379 | rgb_matrix_set_color(9, 0x45, 0xb8, 0x66); | ||
| 380 | } | ||
| 381 | break; | ||
| 382 | case _ML: { | ||
| 383 | /* | ||
| 384 | [_ML] = LAYOUT( | ||
| 385 | _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN4, KC_BTN3, KC_BTN5, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | ||
| 386 | _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 387 | _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 388 | _______, _______, _______, SEL_CPY, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______, | ||
| 389 | _______, TD(TD_GUI_ML), _______, _______, _______, _______, TG(_ML), _______, _______, _______, _______ | ||
| 390 | ) | ||
| 391 | */ | ||
| 392 | |||
| 393 | // Mouse movement keys. Color code #51c0dd | ||
| 394 | rgb_matrix_set_color(35, 0x51, 0xc0, 0xdd); | ||
| 395 | rgb_matrix_set_color(51, 0x51, 0xc0, 0xdd); | ||
| 396 | rgb_matrix_set_color(52, 0x51, 0xc0, 0xdd); | ||
| 397 | rgb_matrix_set_color(53, 0x51, 0xc0, 0xdd); | ||
| 398 | rgb_matrix_set_color(54, 0x51, 0xc0, 0xdd); | ||
| 399 | rgb_matrix_set_color(37, 0x51, 0xc0, 0xdd); | ||
| 400 | // Mouse Button keys. Color code #009bca | ||
| 401 | rgb_matrix_set_color(17, 0x00, 0x9b, 0xca); | ||
| 402 | rgb_matrix_set_color(18, 0x00, 0x9b, 0xca); | ||
| 403 | rgb_matrix_set_color(19, 0x00, 0x9b, 0xca); | ||
| 404 | rgb_matrix_set_color(34, 0x00, 0x9b, 0xca); | ||
| 405 | rgb_matrix_set_color(36, 0x00, 0x9b, 0xca); | ||
| 406 | // Mouse acceleration control. Color code #5dcde3 | ||
| 407 | rgb_matrix_set_color(1, 0x5d, 0xcd, 0xe3); | ||
| 408 | rgb_matrix_set_color(2, 0x5d, 0xcd, 0xe3); | ||
| 409 | rgb_matrix_set_color(3, 0x5d, 0xcd, 0xe3); | ||
| 410 | // Layer toggle keys. Color code #ffc100 | ||
| 411 | rgb_matrix_set_color(77, 0xff, 0xc1, 0x00); | ||
| 412 | rgb_matrix_set_color(82, 0xff, 0xc1, 0x00); | ||
| 413 | // Select copy key. Color code #45b866 | ||
| 414 | rgb_matrix_set_color(66, 0x45, 0xb8, 0x66); | ||
| 415 | // NKRO key. Color code #f4791e | ||
| 416 | rgb_matrix_set_color(69, 0xf4, 0x79, 0x1e); | ||
| 417 | } | ||
| 418 | break; | ||
| 419 | } | ||
| 420 | } | ||
| 421 | } | ||
