logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

keymap.c (3025B)


  1. // Copyright (C) 2025 dnlnm
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include QMK_KEYBOARD_H
  4. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  5. [0] = LAYOUT(
  6. KC_ESC, 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_MPLY,
  7. KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, KC_VOLU,
  8. KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_VOLD,
  9. 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_MUTE,
  10. KC_LCTL, KC_LGUI, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_PSCR),
  11. [1] = LAYOUT(
  12. QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  13. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  14. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  15. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  16. _______, _______, _______, _______, _______, _______, _______, _______),
  17. };
  18. #if defined(ENCODER_MAP_ENABLE)
  19. const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
  20. [0] = {ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
  21. [1] = {ENCODER_CCW_CW(UG_HUED, UG_HUEU), ENCODER_CCW_CW(UG_SATD, UG_SATU)},
  22. };
  23. #endif
  24. #ifdef RGBLIGHT_ENABLE
  25. // Light LEDs 10 & 11 in blue when caps lock is active.
  26. const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
  27. {10, 2, HSV_BLUE} // Light 4 LEDs, starting with LED 6
  28. );
  29. // Light LEDs 0 & 1 in blue when keyboard layer 1 is active
  30. const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS(
  31. {0, 2, HSV_BLUE}
  32. );
  33. // Light LEDs 4 & 5 in blue when keyboard layer 2 is active
  34. const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS(
  35. {4, 2, HSV_BLUE}
  36. );
  37. // Now define the array of layers. Later layers take precedence
  38. const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
  39. my_capslock_layer,
  40. my_layer1_layer, // Overrides caps lock layer
  41. my_layer2_layer // Overrides other layers
  42. );
  43. void keyboard_post_init_user(void) {
  44. // Enable the LED layers
  45. rgblight_layers = my_rgb_layers;
  46. }
  47. bool led_update_user(led_t led_state) {
  48. rgblight_set_layer_state(0, led_state.caps_lock);
  49. return true;
  50. }
  51. layer_state_t layer_state_set_user(layer_state_t state) {
  52. rgblight_set_layer_state(1, layer_state_cmp(state, 1));
  53. rgblight_set_layer_state(2, layer_state_cmp(state, 2));
  54. return state;
  55. }
  56. #endif