1
0

keymap.c 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #include QMK_KEYBOARD_H
  2. // Each layer gets a name for readability, which is then used in the keymap matrix below.
  3. // The underscores don't mean anything - you can have a layer called STUFF or any other name.
  4. // Layer names don't all need to be of the same length, obviously, and you can also skip them
  5. // entirely and just use numbers.
  6. enum layer_number {
  7. _BASE,
  8. _FN1,
  9. _FN2,
  10. _FN3,
  11. };
  12. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  13. [_BASE] = LAYOUT(
  14. //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  15. KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,
  16. //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  17. KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,
  18. //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐
  19. LCTL(KC_C),LCTL(KC_V),KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,
  20. //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
  21. KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,
  22. //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────┐
  23. KC_LCTL ,TO(_FN1) ,KC_SPC
  24. //└──────────┘ └──────────┴──────────┘
  25. ),
  26. [_FN1] = LAYOUT(
  27. //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  28. KC_TRNS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,
  29. //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  30. KC_GRV ,KC_UP ,KC_PIPE ,KC_LCBR ,KC_RCBR ,
  31. //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐
  32. KC_TRNS ,KC_TRNS ,KC_LEFT ,KC_DOWN ,KC_RIGHT ,KC_LBRC ,KC_RBRC ,
  33. //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
  34. KC_TRNS ,KC_BSPC ,KC_DEL ,KC_LPRN ,KC_RPRN ,
  35. //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────┐
  36. TO(_FN2) ,TO(_BASE) ,KC_TRNS
  37. //└──────────┘ └──────────┴──────────┘
  38. ),
  39. [_FN2] = LAYOUT(
  40. //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  41. KC_TRNS ,RGB_HUI ,RGB_HUD ,RGB_SAI ,RGB_SAD ,RGB_VAI ,
  42. //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  43. RGB_M_P ,RGB_M_SW ,RGB_M_X ,RGB_M_B ,RGB_VAD ,
  44. //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐
  45. KC_TRNS ,KC_TRNS ,RGB_M_SN ,RGB_M_G ,RGB_M_R ,RGB_M_K ,RGB_M_T ,
  46. //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
  47. KC_TRNS ,RGB_M_T ,KC_DEL ,RGB_VAI ,RGB_VAD ,
  48. //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────┐
  49. TO(_FN1) ,RGB_MOD ,RGB_TOG
  50. //└──────────┘ └──────────┴──────────┘
  51. ),
  52. [_FN3] = LAYOUT(
  53. //┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  54. KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
  55. //└──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  56. KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
  57. //┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐
  58. KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
  59. //├──────────┼──────────┼──────────┴──────────┼──────────┼──────────┼──────────┤
  60. KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,
  61. //├──────────┼──────────┘ └──────────┴──────────┼──────────┼──────────┐
  62. KC_TRNS ,KC_TRNS ,KC_TRNS
  63. //└──────────┘ └──────────┴──────────┘
  64. )
  65. };
  66. #ifdef RGBLIGHT_ENABLE
  67. void eeconfig_init_user(void) {
  68. rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
  69. };
  70. #endif