keymap.c 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #include QMK_KEYBOARD_H
  2. extern keymap_config_t keymap_config;
  3. #define _BASE 0
  4. #define _RAISE 1
  5. #define _LOWER 2
  6. // Fillers to make layering more clear
  7. #define ____ KC_TRNS
  8. #define SFT_ESC SFT_T(KC_ESC)
  9. #define CTL_BSPC CTL_T(KC_BSPC)
  10. #define ALT_SPC ALT_T(KC_SPC)
  11. #define SFT_ENT SFT_T(KC_ENT)
  12. #define KC_ML KC_MS_LEFT
  13. #define KC_MR KC_MS_RIGHT
  14. #define KC_MU KC_MS_UP
  15. #define KC_MD KC_MS_DOWN
  16. #define KC_MB1 KC_MS_BTN1
  17. #define KC_MB2 KC_MS_BTN1
  18. #define RAISE MO(_RAISE)
  19. #define LOWER MO(_LOWER)
  20. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  21. /* Base (qwerty)
  22. * +-----------------------------------------+ +-----------------------------------------+
  23. * | ESC | q | w | e | r | t | | y | u | i | o | p | |
  24. * |------+------+------+------+------+------| |------+------+------+------+------+------|
  25. * | TAB | a | s | d | f | g | | h | j | k | l | ; | |
  26. * |------+------+------+------+------+------| |------+------+------+------+------+------|
  27. * | SHFT | z | x | c | v | b | | n | m | , | . | / | |
  28. * +------+------+------+------+-------------+ +-------------+------+------+------+------+
  29. * | [ | ] | | | |
  30. * +-------------+-------------+ +-------------+-------------+
  31. * | | | | | |
  32. * |------+------| |------+------|
  33. * | | | | | |
  34. * +-------------+ +-------------+
  35. * +-------------+ +-------------+
  36. * | | | | | |
  37. * |------+------| |------+------|
  38. * | | | | | |
  39. * +-------------+ +-------------+
  40. */
  41. [_BASE] = LAYOUT( \
  42. KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, \
  43. KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, \
  44. KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_BSLASH, \
  45. KC_LBRC,KC_RBRC, KC_PLUS,KC_EQL, \
  46. RAISE, KC_SPC, KC_ENT, LOWER, \
  47. KC_TAB, KC_HOME, KC_END, KC_DEL, \
  48. KC_BSPC,KC_GRV, KC_LGUI,KC_LALT \
  49. ),
  50. [_LOWER] = LAYOUT(
  51. _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, KC_PLUS, \
  52. _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS,KC_PIPE, \
  53. _______,_______,_______,_______,_______,_______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, \
  54. _______,KC_PSCR, _______, KC_P0, \
  55. _______,_______, _______,_______, \
  56. _______,_______, _______,_______, \
  57. _______,_______, _______,_______ \
  58. ),
  59. [_RAISE] = LAYOUT(
  60. _______,RESET, _______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS, KC_SLCK,KC_MUTE, \
  61. _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, \
  62. _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, \
  63. _______,_______, KC_EQL, _______, \
  64. _______,_______, _______,_______, \
  65. _______,_______, _______,_______, \
  66. _______,_______, _______,_______ \
  67. )
  68. };
  69. void persistent_default_layer_set(uint16_t default_layer) {
  70. eeconfig_update_default_layer(default_layer);
  71. default_layer_set(default_layer);
  72. }