keymap.c (3680B)
1 #include QMK_KEYBOARD_H 2 3 #ifdef RGBLIGHT_ENABLE 4 //Following line allows macro to read current RGB settings 5 extern rgblight_config_t rgblight_config; 6 #endif 7 8 #define JA_CLON KC_QUOT // : and + 9 #define JA_AT KC_LBRC // @ and ` 10 #define JA_HAT KC_EQL // ^ and ~ 11 #define JA_ENUN KC_INT1 // \ and _ (EN mark and UNder score) 12 #define JA_ENVL KC_INT3 // \ and | (EN mark and Vertical Line) 13 #define JA_LBRC KC_RBRC // [ and { 14 #define JA_RBRC KC_BSLS // ] and } 15 16 enum LAYER_NO { 17 BASE = 0, 18 META, 19 CONF 20 }; 21 22 enum CUSTOM_KEYCODES { 23 RGB_RST = SAFE_RANGE, 24 RGB_TYPE, 25 }; 26 27 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 28 29 [BASE] = LAYOUT( 30 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JA_HAT, KC_INT3, 31 KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JA_AT, JA_LBRC, 32 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JA_CLON, JA_RBRC, 33 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, 34 MO(META),KC_LALT, KC_GRV, KC_BSPC, KC_SPC, KC_ENT, KC_BSPC, KC_INT5, KC_INT2, MO(META) 35 ), 36 37 [META] = LAYOUT( 38 MO(CONF),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_INS, 39 _______, KC_CAPS, _______, KC_UP, _______, _______, _______, _______, _______, _______, KC_SCRL, KC_PSCR, KC_HOME, KC_END, 40 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_PAUS, KC_PGUP, KC_UP, KC_PGDN, 41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, 42 _______, _______, KC_RGUI, KC_DEL, KC_ENT, _______, KC_DEL, KC_INT4, KC_LGUI, _______ 43 ), 44 45 [CONF] = LAYOUT( 46 _______, RGB_TYPE,UG_NEXT, UG_VALU, UG_SATU, UG_HUEU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 47 RGB_RST, UG_TOGG, UG_PREV, UG_VALD, UG_SATD, UG_HUED, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 48 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 49 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 50 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX 51 ) 52 }; 53 54 bool enableLEDTypeAnime = false; 55 56 bool process_record_user(uint16_t keycode, keyrecord_t *record) { 57 switch(keycode) { 58 case RGB_RST: 59 #ifdef RGBLIGHT_ENABLE 60 if (record->event.pressed) { 61 eeconfig_update_rgblight_default(); 62 rgblight_enable(); 63 } 64 #endif 65 break; 66 case QK_UNDERGLOW_MODE_NEXT: 67 #ifdef RGBLIGHT_ENABLE 68 if (record->event.pressed) { 69 enableLEDTypeAnime = false; 70 rgblight_step(); 71 } 72 #endif 73 return false; 74 case RGB_TYPE: 75 #ifdef RGBLIGHT_ENABLE 76 if (record->event.pressed) { 77 rgblight_enable_noeeprom(); 78 rgblight_mode_noeeprom(1); 79 enableLEDTypeAnime = !enableLEDTypeAnime; 80 } 81 #endif 82 return false; 83 default: 84 break; 85 } 86 #ifdef RGBLIGHT_ENABLE 87 if(enableLEDTypeAnime) { 88 rgblight_mode_noeeprom(1); 89 uint16_t hue = (rgblight_config.hue + 5) % 360; 90 rgblight_sethsv_noeeprom(hue, rgblight_config.sat, rgblight_config.val); 91 } 92 #endif 93 return true; 94 }