keymap.c 4.9 KB

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