keymap.c (4974B)
1 /* Copyright 2021 Johannes Paolo Soriano (https://github.com/jolofsor) 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 enum custom_keycodes { 20 LEDRED = SAFE_RANGE, 21 LEDBLUE, 22 LEDYELLOW, 23 LEDORANGE, 24 LEDGREEN, 25 LEDPURPLE, 26 LEDWHITE, 27 LEDPINK, 28 LEDBLACK 29 }; 30 31 //this function sets RGB to last set before it was disconnected 32 void keyboard_post_init_user(void) { 33 rgblight_sethsv(rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); 34 }; 35 36 bool process_record_user(uint16_t keycode, keyrecord_t *record) { 37 switch (keycode) { 38 case LEDRED: 39 if (record->event.pressed) { 40 rgblight_enable(); 41 rgblight_sethsv(HSV_RED); 42 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); 43 } else { 44 } 45 break; 46 47 case LEDBLUE: 48 if (record->event.pressed) { 49 rgblight_enable(); 50 rgblight_sethsv(HSV_BLUE); 51 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); 52 } else { 53 } 54 break; 55 56 case LEDYELLOW: 57 if (record->event.pressed) { 58 rgblight_enable(); 59 rgblight_sethsv(HSV_YELLOW); 60 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); 61 } 62 break; 63 64 case LEDORANGE: 65 if (record->event.pressed) { 66 rgblight_enable(); 67 rgblight_sethsv(HSV_ORANGE); 68 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); 69 } 70 break; 71 72 case LEDGREEN: 73 if (record->event.pressed) { 74 rgblight_enable(); 75 rgblight_sethsv(HSV_GREEN); 76 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); 77 } 78 break; 79 80 case LEDPURPLE: 81 if (record->event.pressed) { 82 rgblight_enable(); 83 rgblight_sethsv(HSV_PURPLE); 84 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); 85 } 86 break; 87 88 case LEDWHITE: 89 if (record->event.pressed) { 90 rgblight_enable(); 91 rgblight_sethsv(HSV_WHITE); 92 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); 93 } 94 break; 95 96 case LEDPINK: 97 if (record->event.pressed) { 98 rgblight_enable(); 99 rgblight_sethsv(HSV_PINK); 100 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); 101 } 102 break; 103 104 case LEDBLACK: 105 if (record->event.pressed) { 106 rgblight_enable(); 107 rgblight_sethsv(HSV_BLACK); 108 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); 109 } 110 break; 111 } 112 return true; 113 }; 114 115 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 116 117 [0] = LAYOUT_75_ansi( 118 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_INS, KC_DEL, 119 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_HOME, 120 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_PGUP, 121 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, KC_PGDN, 122 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, KC_END, 123 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT 124 ), 125 126 [1] = LAYOUT_75_ansi( 127 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, 128 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRIU, 129 KC_NO, LEDRED, LEDBLUE, LEDYELLOW, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRID, 130 KC_NO, LEDORANGE, LEDGREEN, LEDPURPLE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UG_VALU, 131 KC_NO, LEDWHITE, LEDPINK, LEDBLACK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UG_VALD, 132 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, UG_TOGG, KC_NO, KC_NO, KC_NO 133 ) 134 };