keymap.c 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. #include QMK_KEYBOARD_H
  2. enum layers {
  3. _BASE, // base layer
  4. _MUSIC, // music mode
  5. _MIDI, // midi mode
  6. _MOUSE, // mouse keys
  7. _ADMIN // admin duties
  8. };
  9. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  10. // ┌─────────┬─────────┬─────────┬─────────┬─────────┐
  11. // │ │ │ │ │ │
  12. // │ 7 │ 8 │ 9 │ / │ ADMIN │
  13. // ROTORY │ │ │ │ │ │
  14. // RIGHT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
  15. // VOL UP │ │ │ │ │ │
  16. // │ 4 │ 5 │ 6 │ * │ MOUSE │
  17. // ROTORY │ │ │ │ │ │
  18. // LEFT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
  19. // VOL DOWN │ │ │ │ │ │
  20. // │ 1 │ 2 │ 3 │ - │ MIDI │
  21. // │ │ │ │ │ │
  22. // ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  23. // │ TOGGLE │ │ │ │ │ │
  24. // │ MUSIC │ 0 │ . │ = │ + │ MUSIC │
  25. // │ │ │ │ │ │ │
  26. // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
  27. [_BASE] = LAYOUT(
  28. KC_KP_7, KC_KP_8, KC_KP_9, KC_PSLS, MO(_ADMIN), MU_TOG,
  29. KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST, TG(_MOUSE),
  30. KC_KP_1, KC_KP_2, KC_KP_3, KC_PMNS, TG(_MIDI),
  31. KC_KP_0, KC_KP_DOT, KC_KP_EQUAL, KC_PPLS, MO(_MUSIC)
  32. ),
  33. // MUSIC LAYER
  34. // ┌─────────┬─────────┬─────────┬─────────┬─────────┐
  35. // │ │ │ │ │ │
  36. // │ │ │ │ │ │
  37. // ROTORY │ │ │ │ │ │
  38. // RIGHT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
  39. // PAGE UP │ │ │ │ │ │
  40. // │ │ │ │ │ │
  41. // ROTORY │ │ │ │ │ │
  42. // LEFT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
  43. // PAGE DOWN│ │ │ │ │ │
  44. // │ │ │ │ MODE │ │
  45. // │ │ │ │ │ │
  46. //┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  47. //│ │ │ │ │ │ │
  48. //│ │ RECORD │ STOP │ │ PLAY │ │
  49. //│ │ │ │ │ │ │
  50. //└─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
  51. [_MUSIC] = LAYOUT(
  52. _______, _______, _______, _______, _______, _______,
  53. _______, _______, _______, _______, _______,
  54. _______, _______, _______, _______, MU_MOD,
  55. KC_LCTL, KC_LALT, _______, KC_LGUI, _______
  56. ),
  57. // MIDI LAYER
  58. // ┌─────────┬─────────┬─────────┬─────────┬─────────┐
  59. // │ │ │ │ │ │
  60. // │ D♯ │ E │ F │ F♯ │ G │
  61. // ROTORY │ │ │ │ │ │
  62. // RIGHT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
  63. // PAGE UP │ │ │ │ │ │
  64. // │ A♯ │ B │ C │ C♯ │ D │
  65. // ROTORY │ │ │ │ │ │
  66. // LEFT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
  67. // PAGE DOWN│ │ │ │ │ │
  68. // │ F │ F♯ │ G │ G♯ │ A │
  69. // │ │ │ │ │ │
  70. // ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  71. // │ │ │ │ │ │ │
  72. // │ │ C │ C♯ │ D │ D♯ │ E │
  73. // │ │ │ │ │ │ │
  74. // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
  75. [_MIDI] = LAYOUT(
  76. MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, _______,
  77. MI_As_2, MI_B_2, MI_C_3, MI_Cs_3, MI_D_3,
  78. MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, TG(_MIDI),
  79. MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2
  80. ),
  81. // MOUSE LAYER
  82. // ┌─────────┬─────────┬─────────┬─────────┬─────────┐
  83. // │ │ │ │ │ │
  84. // │ BTN 5 │ │ WHEEL │ │ │
  85. // ROTORY │ │ │ UP │ │ │
  86. // RIGHT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
  87. // PAGE DOWN│ │ │ │ │ │
  88. // │ │ LEFT │ MOUSE │ RIGHT │ │
  89. // ROTORY │ │ CLICK │ UP │ CLICK │ │
  90. // LEFT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
  91. // PAGE UP │ │ │ │ │ │
  92. // │ BTN 4 │ MOUSE │ MOUSE │ MOUSE │ │
  93. // │ │ LEFT │ DOWN │ RIGHT │ │
  94. // ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  95. // │ │ │ │ │ │ │
  96. // │ │ BTN 3 │ WHEEL │ WHEEL │ WHEEL │ │
  97. // │ │ │ LEFT │ DOWN │ RIGHT │ │
  98. // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
  99. [_MOUSE] = LAYOUT(
  100. KC_MS_BTN5, _______, KC_MS_WH_UP, _______, _______, _______,
  101. _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, TG(_MOUSE),
  102. KC_MS_BTN4, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______,
  103. KC_MS_BTN3, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, _______
  104. ),
  105. // ADMIN LAYER
  106. // ┌─────────┬─────────┬─────────┬─────────┬─────────┐
  107. // │ │ │ │ │ │
  108. // │ RESET │ │ │ │ │
  109. // ROTORY │ │ │ │ │ │
  110. // RIGHT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
  111. // PAGE UP │ │ │ │ │ │
  112. // │ 4 │ 5 │ 6 │ * │ │
  113. // ROTORY │ │ │ │ │ │
  114. // LEFT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
  115. // PAGE DOWN│ │ │ │ │ │
  116. // │ 1 │ 2 │ 3 │ │ │
  117. // │ │ │ │ │ │
  118. // ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
  119. // │ │ │ │ │ │ │
  120. // │ │ 0 │ . │ = │ │ │
  121. // │ │ │ │ │ │ │
  122. // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
  123. [_ADMIN] = LAYOUT(
  124. RESET, _______, _______, _______, TG(_ADMIN), _______,
  125. _______, _______, _______, _______, _______,
  126. _______, _______, _______, _______, _______,
  127. _______, _______, _______, _______, _______
  128. ),
  129. };
  130. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  131. return true;
  132. };
  133. void encoder_update_user(uint8_t index, bool clockwise) {
  134. if (index == 0) { /* First encoder */
  135. if (clockwise) {
  136. tap_code(KC_PGDN);
  137. } else {
  138. tap_code(KC_PGUP);
  139. }
  140. }
  141. }