My Keymap
unknown
plain_text
4 years ago
18 kB
21
Indexable
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) // ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del // Tab Q W E R T Y U I O P [ ] \ PgUp // Caps A S D F G H J K L ; " Enter PgDn // Sh_L Z X C V B N M , . ? Sh_R Up End // Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI // if that's your preference. // // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and // it'll be back to normal when you plug it back in. [0] = LAYOUT( KC_ESC, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), KC_MRWD, KC_MFFD, KC_COPY, KC_PSTE, KC__VOLDOWN, KC__VOLUP, KC_BRMD, KC_BRMU, KC_MPLY, KC__MUTE, 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, RGB_MOD, 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, RGB_SAI, 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, RGB_VAI, 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, RGB_M_P, MO(1), KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( _______, LSG(KC_4), LSG(KC_5), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_B, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, LSG(KC_ENT), LGUI(KC_E), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_D), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { switch (biton32(layer_state)) { case 1: if (clockwise) { rgb_matrix_increase_hue(); } else { rgb_matrix_decrease_hue(); } break; default: if (clockwise) { tap_code16(KC_VOLU); } else { tap_code16(KC_VOLD); } break; } } return true; } void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { RGB_MATRIX_INDICATOR_SET_COLOR(3, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(67, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(70, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(73, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(76, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(80, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(83, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(87, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(91, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(68, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(71, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(77, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(81, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(84, 255, 0, 0); //capslock key RGB_MATRIX_INDICATOR_SET_COLOR(88, 255, 0, 0); //capslock key } switch(get_highest_layer(layer_state)){ // special handling per layer case 1: //layer one RGB_MATRIX_INDICATOR_SET_COLOR(3, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(67, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(70, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(73, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(76, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(80, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(83, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(87, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(91, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(68, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(71, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(77, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(81, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(84, 255, 0, 0); // RED RGB_MATRIX_INDICATOR_SET_COLOR(88, 255, 0, 0); // RED break; default: break; break; } } // RGB LED layout // led number, function of the key // 67, Side led 01 0, ESC 6, F1 12, F2 18, F3 23, F4 28, F5 34, F6 39, F7 44, F8 50, F9 56, F10 61, F11 66, F12 69, Prt Rotary(Mute) 68, Side led 12 // 70, Side led 02 1, ~ 7, 1 13, 2 19, 3 24, 4 29, 5 35, 6 40, 7 45, 8 51, 9 57, 0 62, -_ 78, (=+) 85, BackSpc 72, Del 71, Side led 13 // 73, Side led 03 2, Tab 8, Q 14, W 20. E 25, R 30, T 36, Y 41, U 46, I 52, O 58, P 63, [{ 89, ]} 93, \| 75, PgUp 74, Side led 14 // 76, Side led 04 3, Caps 9, A 15, S 21, D 26, F 31, G 37, H 42, J 47, K 53, L 59, ;: 64, '" 96, Enter 86, PgDn 77, Side led 15 // 80, Side led 05 4, Sh_L 10, Z 16, X 22, C 27, V 32, B 38, N 43, M 48, ,< 54, .< 60, /? 90, Sh_R 94, Up 82, End 81, Side led 16 // 83, Side led 06 5, Ct_L 11,Win_L 17, Alt_L 33, SPACE 49, Alt_R 55, FN 65, Ct_R 95, Left 97, Down 79, Right 84, Side led 17 // 87, Side led 07 88, Side led 18 // 91, Side led 08 /* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ // //#ifdef RGBLIGHT_ENABLE // //# include "drashna.h" //# include "rgb_stuff.h" //# include "eeprom.h" // //bool has_initialized; // //void rgblight_sethsv_default_helper(uint8_t index) { rgblight_sethsv_at(rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val(), index); } // //# ifdef RGBLIGHT_TWINKLE //static rgblight_fadeout lights[RGBLED_NUM]; // ///* Handler for fading/twinkling effect */ //void scan_rgblight_fadeout(void) { // Don't effing change this function .... rgblight_sethsv is supppppper intensive // bool litup = false; // // for (uint8_t light_index = 0; light_index < RGBLED_NUM; ++light_index) { // if (lights[light_index].enabled && sync_timer_elapsed(lights[light_index].timer) > 10) { // rgblight_fadeout *light = &lights[light_index]; // litup = true; // // if (light->life) { // light->life -= 1; // if (get_highest_layer(layer_state) == 0) { // sethsv(light->hue + rand() % 0xF, 255, light->life, (LED_TYPE *)&led[light_index]); // } // light->timer = sync_timer_read(); // } else { // if (light->enabled && get_highest_layer(layer_state) == 0) { // rgblight_sethsv_default_helper(light_index); // } // litup = light->enabled = false; // } // } // } // if (litup && get_highest_layer(layer_state) == 0) { // rgblight_set(); // } //} ///* Triggers a LED to fade/twinkle. // * This function handles the selection of the LED and prepres for it to be used. // */ //void start_rgb_light(void) { // uint8_t indices[RGBLED_NUM]; // uint8_t indices_count = 0; // uint8_t min_life = 0xFF; // uint8_t min_life_index = -1; // // for (uint8_t index = 0; index < RGBLED_NUM; ++index) { // if (lights[index].enabled) { // if (min_life_index == -1 || lights[index].life < min_life) { // min_life = lights[index].life; // min_life_index = index; // } // continue; // } // // indices[indices_count] = index; // ++indices_count; // } // // uint8_t light_index; // if (!indices_count) { // light_index = min_life_index; // } else { // light_index = indices[rand() % indices_count]; // } // // rgblight_fadeout *light = &lights[light_index]; // light->enabled = true; // light->timer = sync_timer_read(); // light->life = 0xC0 + rand() % 0x40; // // light->hue = rgblight_get_hue() + (rand() % 0xB4) - 0x54; // // rgblight_sethsv_at(light->hue, 255, light->life, light_index); //} //# endif // //bool process_record_user_rgb_light(uint16_t keycode, keyrecord_t *record) { // uint16_t temp_keycode = keycode; // // Filter out the actual keycode from MT and LT keys. // if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { // temp_keycode &= 0xFF; // } // // switch (temp_keycode) { //# ifdef RGBLIGHT_TWINKLE // case KC_A ... KC_SLASH: // case KC_F1 ... KC_F12: // case KC_INSERT ... KC_UP: // case KC_KP_SLASH ... KC_KP_DOT: // case KC_F13 ... KC_F24: // case KC_AUDIO_MUTE ... KC_MEDIA_REWIND: // if (record->event.pressed) { // start_rgb_light(); // } // break; //# endif // RGBLIGHT_TWINKLE // } // return true; //} // //# if defined(RGBLIGHT_STARTUP_ANIMATION) //static bool is_enabled; //static bool is_rgblight_startup; //static uint8_t old_hue; //static uint16_t rgblight_startup_loop_timer; //# endif // //void keyboard_post_init_rgb_light(void) { //# if defined(RGBLIGHT_STARTUP_ANIMATION) // is_enabled = rgblight_is_enabled(); // if (userspace_config.rgb_layer_change) { // rgblight_enable_noeeprom(); // } // if (rgblight_is_enabled()) { // layer_state_set_rgb_light(layer_state); // old_hue = rgblight_get_hue(); // rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // is_rgblight_startup = true; // } //# endif // layer_state_set_rgb_light(layer_state); //} // //void matrix_scan_rgb_light(void) { //# ifdef RGBLIGHT_TWINKLE // scan_rgblight_fadeout(); //# endif // RGBLIGHT_ENABLE // //# if defined(RGBLIGHT_STARTUP_ANIMATION) // if (is_rgblight_startup && is_keyboard_master()) { // if (sync_timer_elapsed(rgblight_startup_loop_timer) > 10) { // static uint8_t counter; // counter++; // rgblight_sethsv_noeeprom((counter + old_hue) % 255, 255, 255); // rgblight_startup_loop_timer = sync_timer_read(); // if (counter == 255) { // is_rgblight_startup = false; // if (!is_enabled) { // rgblight_disable_noeeprom(); // } // if (userspace_config.rgb_layer_change) { // layer_state_set_rgb_light(layer_state); // } // } // } // } //# endif //} // //void rgblight_set_hsv_and_mode(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode) { // rgblight_sethsv_noeeprom(hue, sat, val); // // wait_us(175); // Add a slight delay between color and mode to ensure it's processed correctly // rgblight_mode_noeeprom(mode); //} // //layer_state_t layer_state_set_rgb_light(layer_state_t state) { //# ifdef RGBLIGHT_ENABLE // if (userspace_config.rgb_layer_change) { // switch (get_highest_layer(state | default_layer_state)) { // case _MACROS: // mouse // if (!layer_state_cmp(state, _GAMEPAD) && !layer_state_cmp(state, _DIABLO)) { // rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_BREATHING + 3); // } // break; // case _MEDIA: // rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_KNIGHT + 1); // break; // case _GAMEPAD: // rgblight_set_hsv_and_mode(HSV_ORANGE, RGBLIGHT_MODE_SNAKE + 2); // break; // case _DIABLO: // rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_BREATHING + 3); // break; // case _RAISE: // rgblight_set_hsv_and_mode(HSV_YELLOW, RGBLIGHT_MODE_BREATHING + 3); // break; // case _LOWER: // rgblight_set_hsv_and_mode(HSV_GREEN, RGBLIGHT_MODE_BREATHING + 3); // break; // case _ADJUST: // rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_KNIGHT + 2); // break; // case _COLEMAK: // rgblight_set_hsv_and_mode(HSV_MAGENTA, RGBLIGHT_MODE_STATIC_LIGHT); // break; // case _DVORAK: // rgblight_set_hsv_and_mode(HSV_SPRINGGREEN, RGBLIGHT_MODE_STATIC_LIGHT); // break; // case _WORKMAN: // rgblight_set_hsv_and_mode(HSV_GOLDENROD, RGBLIGHT_MODE_STATIC_LIGHT); // break; // case _NORMAN: // rgblight_set_hsv_and_mode(HSV_CORAL, RGBLIGHT_MODE_STATIC_LIGHT); // break; // case _MALTRON: // rgblight_set_hsv_and_mode(HSV_YELLOW, RGBLIGHT_MODE_STATIC_LIGHT); // break; // case _EUCALYN: // rgblight_set_hsv_and_mode(HSV_PINK, RGBLIGHT_MODE_STATIC_LIGHT); // break; // case _CARPLAX: // rgblight_set_hsv_and_mode(HSV_BLUE, RGBLIGHT_MODE_STATIC_LIGHT); // break; // default: // rgblight_set_hsv_and_mode(HSV_CYAN, RGBLIGHT_MODE_STATIC_LIGHT); // break; // } // } //# endif // RGBLIGHT_ENABLE // // return state; //} // //#endif
Editor is loading...