keymap.c (2280B)
1 /* Copyright 2020 customMK 2 * 3 * This program is free software: you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License as published by 5 * the Free Software Foundation, either version 2 of the License, or 6 * (at your option) any later version. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 17 #include QMK_KEYBOARD_H 18 19 //#define GENESIS_LAYER_COLORS 20 #define GENESIS_LAYER1_COLOR HSV_CYAN 21 #define GENESIS_LAYER2_COLOR HSV_GREEN 22 #define GENESIS_LAYER3_COLOR HSV_WHITE 23 24 25 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26 27 [0] = LAYOUT_ortho_5x4( 28 MO(1), KC_PSLS, KC_PAST, KC_PMNS, 29 KC_P7, KC_P8, KC_P9, KC_BSPC, 30 KC_P4, KC_P5, KC_P6, KC_PPLS, 31 KC_P1, KC_P2, KC_P3, KC_CAPS, 32 KC_P0, KC_SPC, KC_PDOT, KC_ENT), 33 34 [1] = LAYOUT_ortho_5x4( 35 KC_TRNS, KC_VOLU, UG_TOGG, UG_NEXT, 36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 37 UG_VALU, UG_VALD, UG_SPDU, UG_SPDD, 38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 39 UG_HUEU, KC_TRNS, KC_TRNS, UG_HUED), 40 41 }; 42 43 44 #ifdef GENESIS_LAYER_COLORS 45 const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( 46 {0,13,GENESIS_LAYER1_COLOR} 47 ); 48 49 const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS( 50 {0,13,GENESIS_LAYER2_COLOR} 51 ); 52 53 const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS( 54 {0,13,GENESIS_LAYER3_COLOR} 55 ); 56 57 58 const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( 59 my_layer1_layer, 60 my_layer2_layer, 61 my_layer3_layer 62 ); 63 64 //Set the appropriate layer color 65 layer_state_t layer_state_set_user(layer_state_t state) { 66 rgblight_set_layer_state(0, layer_state_cmp(state, 1)); 67 rgblight_set_layer_state(1, layer_state_cmp(state, 2)); 68 rgblight_set_layer_state(2, layer_state_cmp(state, 3)); 69 return state; 70 } 71 72 void keyboard_post_init_user(void) { 73 //Enable the LED layers 74 rgblight_layers = my_rgb_layers; 75 } 76 #endif