keymap.c 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #include QMK_KEYBOARD_H
  2. extern keymap_config_t keymap_config;
  3. extern rgblight_config_t rgblight_config;
  4. // Each layer gets a name for readability, which is then used in the keymap matrix below.
  5. // The underscores don't mean anything - you can have a layer called STUFF or any other name.
  6. // Layer names don't all need to be of the same length, obviously, and you can also skip them
  7. // entirely and just use numbers.
  8. #define _QWERTY 0
  9. #define _SYMB 1
  10. #define _NAV 2
  11. #define _ADJUST 3
  12. enum custom_keycodes {
  13. QWERTY = SAFE_RANGE,
  14. SYMB,
  15. NAV,
  16. ADJUST,
  17. };
  18. // Fillers to make layering more clear
  19. #define KC_ KC_TRNS
  20. #define _______ KC_TRNS
  21. #define XXXXXXX KC_NO
  22. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  23. /* QWERTY
  24. * ,------------------------------------------------. ,------------------------------------------------.
  25. * |`-Lyr2| 1 | 2 | 3 | 4 | 5 | Lyr1 | | Lyr1 | 6 | 7 | 8 | 9 | 0 |--Lyr2|
  26. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  27. * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | = |
  28. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  29. * | Esc | A | S | D | F | G | PgUp | | End | H | J | K | L | ; | ' |
  30. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  31. * | Shift| Z | X | C | V | B | PgDn | | Home | N | M | , | . | \ |Shift |
  32. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  33. * | Gui | + | - |*(Alt)|/(Ctr)|Bcksp | Del | |Enter |Space | Alt | Left | Down | Up | Right|
  34. * `------------------------------------------------' `------------------------------------------------'
  35. */
  36. [_QWERTY] = LAYOUT(
  37. //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
  38. LT(_NAV, KC_GRV) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 ,MO(_SYMB), MO(_SYMB), KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,LT(_NAV, KC_MINS),
  39. //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
  40. KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T ,KC_LBRC, KC_RBRC , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_EQL,
  41. //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
  42. KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , LT(_ADJUST, KC_PGUP), LT( _ADJUST, KC_END) , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
  43. //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
  44. KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B ,KC_PGDN, KC_HOME , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_BSLASH, KC_RSFT,
  45. //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
  46. KC_LGUI,KC_PPLS,KC_PMNS,LALT_T(KC_PAST),LCTL_T(KC_PSLS),KC_BSPC,KC_DEL , KC_ENT , KC_SPC, KC_RALT,KC_LEFT,KC_DOWN, KC_UP ,KC_RGHT
  47. //`----+----+----+----+----+----+----' `----+----+----+----+----+----+----'
  48. ),
  49. /* Symbols
  50. * ,------------------------------------------------. ,------------------------------------------------.
  51. * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
  52. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  53. * | | ! | @ | { | } | | | | | | | 7 | 8 | 9 | | |
  54. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  55. * | | # | $ | [ | ] | ~ | | | | | 4 | 5 | 6 | | |
  56. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  57. * | | % | ^ | ( | ) | ` | | | | | 1 | 2 | 3 | | |
  58. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  59. * | | | | | | | | | | | 0 | 0 | . | | |
  60. * `------------------------------------------------' `------------------------------------------------'
  61. */
  62. [_SYMB] = LAYOUT(
  63. _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
  64. _______, KC_EXLM, KC_AT , KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX,
  65. _______, KC_HASH, KC_DLR , KC_LBRC, KC_RBRC, KC_GRV, _______, _______, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX,
  66. _______, KC_PERC, KC_CIRC, KC_LPRN, KC_RPRN, KC_TILD, _______, _______, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX,
  67. _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_0, KC_KP_0, KC_PDOT, XXXXXXX, XXXXXXX
  68. ),
  69. /* Navigation
  70. * ,------------------------------------------------. ,------------------------------------------------.
  71. * | | | | | | | | | | | | | | | |
  72. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  73. * | | |MOUS_U| |WHEL_U| | | | | | | | | | |
  74. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  75. * | |MOUS_L|MOUS_D|MOUS_R|WHEL_D| | | | | LEFT | DOWN | UP |RIGHT | | |
  76. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  77. * | | | | | | | | | | | | | | | |
  78. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  79. * | | | | |MOUS_1|MOUS_2| | | | | | | | | |
  80. * `------------------------------------------------' `------------------------------------------------'
  81. */
  82. [_NAV] = LAYOUT(
  83. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  84. XXXXXXX, XXXXXXX, KC_MS_U, XXXXXXX, KC_WH_U, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
  85. XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RIGHT,XXXXXXX, XXXXXXX,
  86. XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
  87. XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
  88. ),
  89. [_ADJUST] = LAYOUT(
  90. XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX,
  91. XXXXXXX, RESET , RGB_M_P, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, XXXXXXX, KC_DEL, XXXXXXX,
  92. XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
  93. XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
  94. XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
  95. )
  96. };
  97. #ifdef AUDIO_ENABLE
  98. float tone_qwerty[][2] = SONG(QWERTY_SOUND);
  99. #endif
  100. void persistent_default_layer_set(uint16_t default_layer) {
  101. eeconfig_update_default_layer(default_layer);
  102. default_layer_set(default_layer);
  103. }