keymap.c 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include QMK_KEYBOARD_H
  2. enum layer_names {
  3. _QWERTY,
  4. _GAME,
  5. _UPPER,
  6. _LOWER
  7. };
  8. enum custom_keycodes {
  9. TMUX_WN = SAFE_RANGE,
  10. TMUX_WL
  11. };
  12. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  13. switch (keycode) {
  14. case TMUX_WN:
  15. if (record->event.pressed) {
  16. SEND_STRING(SS_LCTRL("a") "n");
  17. }
  18. break;
  19. case TMUX_WL:
  20. if (record->event.pressed) {
  21. SEND_STRING(SS_LCTRL("a") "l");
  22. }
  23. break;
  24. }
  25. return true;
  26. };
  27. #define UPPER MO(_UPPER)
  28. #define LOWER MO(_LOWER)
  29. #define GAME TG(_GAME)
  30. #define WM_R LCTL(KC_RGHT)
  31. #define WM_L LCTL(KC_LEFT)
  32. #define WM_MC LCTL(KC_UP)
  33. #define WEB_R LGUI(KC_RCBR)
  34. #define WEB_L LGUI(KC_LCBR)
  35. #define TMUX_ESC LCTL(KC_A)
  36. #define TMUX_U RALT(KC_UP)
  37. #define TMUX_D RALT(KC_DOWN)
  38. #define TMUX_R RALT(KC_RGHT)
  39. #define TMUX_L RALT(KC_LEFT)
  40. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  41. [_QWERTY] = LAYOUT(
  42. //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
  43. KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
  44. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  45. KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
  46. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  47. KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
  48. //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
  49. KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSPC,
  50. //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
  51. KC_LGUI, UPPER, KC_ENT, KC_SPC, LOWER, KC_NO
  52. // └────────┴────────┴────────┘ └────────┴────────┴────────┘
  53. ),
  54. [_GAME] = LAYOUT(
  55. //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
  56. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  57. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  58. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  59. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  60. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  61. //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
  62. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  63. //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
  64. _______, _______, KC_SPC, KC_ENT, _______, _______
  65. // └────────┴────────┴────────┘ └────────┴────────┴────────┘
  66. ),
  67. [_UPPER] = LAYOUT(
  68. //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
  69. KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC , KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
  70. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  71. TMUX_ESC, KC_NO, KC_NO, KC_NO, WEB_L, WEB_R, TMUX_L, TMUX_D, TMUX_U, TMUX_R, KC_NO, KC_BSLS,
  72. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  73. _______, KC_NO, KC_VOLU, WM_MC, WM_L, WM_R, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PGUP, KC_NO,
  74. //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
  75. _______, KC_MUTE, KC_VOLD, KC_LBRC, KC_LPRN, KC_LCBR,_______, _______, KC_RCBR, KC_RPRN, KC_RBRC, KC_NO, KC_PGDN,_______,
  76. //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
  77. _______, _______, _______, _______, KC_NO, _______
  78. // └────────┴────────┴────────┘ └────────┴────────┴────────┘
  79. ),
  80. [_LOWER] = LAYOUT(
  81. //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
  82. KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
  83. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  84. RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_NO, KC_INS, KC_HOME, KC_PGUP, KC_NO, GAME,
  85. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  86. _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_SLEP, KC_DEL, KC_END, KC_PGDN, KC_NO, KC_NO,
  87. //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
  88. _______, TMUX_WL, TMUX_WN,_______, KC_LBRC, KC_LPRN, KC_LCBR, _______, KC_RCBR, KC_RPRN, KC_RBRC, KC_NO, KC_NO, _______,
  89. //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
  90. _______, KC_NO, _______, _______, _______, _______
  91. // └────────┴────────┴────────┘ └────────┴────────┴────────┘
  92. )
  93. };