keymap.c 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. // pvinis iris
  2. // make keebio/iris/rev2:pvinis:avrdude
  3. // ,-----------------------------. ┌────┬────┬────┬────┬────┬────┐
  4. // | | | | | | | │ │ │ │ │ │ │
  5. // |----+----+----+----+----+----| ├────┼────┼────┼────┼────┼────┤
  6. // | | | | | | | │ │ │ │ │ │ │
  7. // |----+----+----+----x----x----| ├────╆━━━━╅────┼────┼────┼────┤
  8. // | | | | | | | │ ┃ ┃ │ │ │ │
  9. // |----+----+----+----x----x----+----. ┌────┼────╄━━━━╃────┼────┼────┼────┤
  10. // | | | | | | | | │ │ │ │ │ │ │ │
  11. // `-------------------+----+----+----/ └┬───┴┬───┴┬───┴┬───┴────┴────┴────┘
  12. // | | | | │ │ │ │
  13. // `----+---------' └────┴────┴────┘
  14. #include QMK_KEYBOARD_H
  15. #include "pvinis.h"
  16. //#include "iris.h"
  17. //#include "action_layer.h"
  18. //#include "eeconfig.h"
  19. #ifdef AUDIO_ENABLE
  20. # include "audio.h"
  21. #endif
  22. #ifdef AUDIO_ENABLE
  23. // #define STARTUP_SONG SONG(SONIC_RING)
  24. #endif
  25. #ifdef AUDIO_ENABLE
  26. // float n04[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE);
  27. // float n10[][2] = SONG(STARTUP_SOUND);
  28. // float n11[][2] = SONG(GOODBYE_SOUND);
  29. // float n12[][2] = SONG(PLANCK_SOUND);
  30. // float n19[][2] = SONG(MUSIC_ON_SOUND);
  31. // float n20[][2] = SONG(AUDIO_ON_SOUND);
  32. // float n29[][2] = SONG(CAPS_LOCK_ON_SOUND);
  33. // float n30[][2] = SONG(CAPS_LOCK_OFF_SOUND);
  34. // float n31[][2] = SONG(SCROLL_LOCK_ON_SOUND);
  35. // float n32[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
  36. // float n33[][2] = SONG(NUM_LOCK_ON_SOUND);
  37. // float n34[][2] = SONG(NUM_LOCK_OFF_SOUND);
  38. // float n40[][2] = SONG(ONE_UP_SOUND);
  39. // float n49[][2] = SONG(E1M1_DOOM);
  40. // float n53[][2] = SONG(OLD_SPICE);
  41. // float n56[][2] = SONG(RICK_ROLL);
  42. // float n57[][2] = SONG(FF_PRELUDE);
  43. // RGB_MODE_KNIGHT
  44. // float n78[][2] = SONG(KATAMARI_ROLLING_STAR);
  45. #endif
  46. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  47. // ,-----------------------------. ,-----------------------------.
  48. // | | | | |GAME|QWER| | | | | | | |
  49. // |----+----+----+----+----+----| |----+----+----+----+----+----|
  50. // |Tab | | | | |CRPL| | | | | | |Del |
  51. // |----+----+----+----x----x----| |----x----x----+----+----+----|
  52. // |EscC| | | | | | | | | | | |Ent |
  53. // |----+----+----+----x----x----+----. ,----|----x----x----+----+----+----|
  54. // |LSft| | | | | |Home| |End | | | | | |Rsft|
  55. // `-------------------+----+----+----/ \----+----+----+-------------------'
  56. // |Cmd |LOWR|Bspc| |Spc |RASE|RAlt|
  57. // `----+---------' `--------------'
  58. [LR_BASE] = LAYOUT_wrapper(
  59. // clang-format off
  60. KC_MUTE, _______, _______, _______, GAME1 , QWERTY , KC_1 , _______, _______, _______, _______, _______,
  61. KC_TAB , ___________________________________________, ___________________________________________, KC_DEL ,
  62. PV_ESCC, ___________________________________________, ___________________________________________, KC_ENT ,
  63. KC_LSFT, ___________________________________________, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
  64. KC_LGUI, SYMBOL , KC_BSPC, KC_SPC , SYSCTL , KC_RALT
  65. // clang-format on
  66. ),
  67. // ,-----------------------------. ,-----------------------------.
  68. // | | NUMBERS_L | | NUMBERS_R | |
  69. // |----+----+----+----+----+----| |----+----+----+----+----+----|
  70. // | | | | | |
  71. // |----+ | | +----|
  72. // | | QWERTY_L | | QWERTY_R | |
  73. // |----+ +----. ,----| +----|
  74. // | | | | | | | |
  75. // `-------------------+----+----+----/ \----+----+----+-------------------'
  76. // | | | | | | | |
  77. // `----+---------' `--------------'
  78. [LR_QWERTY] = LAYOUT_wrapper(
  79. // clang-format off
  80. _______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
  81. _______, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _______,
  82. _______, _____________MOD_QWERTY_L2_________________, _________________QWERTY_R2_________________, _______,
  83. _______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
  84. _______, _______, _______, _______, _______, _______
  85. // clang-format on
  86. ),
  87. // ,-----------------------------. ,-----------------------------.
  88. // | | NUMBERS_L | | NUMBERS_R | |
  89. // |----+----+----+----+----+----| |----+----+----+----+----+----|
  90. // | | | | | |
  91. // |----+ | | +----|
  92. // | | CARPALX_L | | CARPALX_R | |
  93. // |----+ +----. ,----| +----|
  94. // | | | | | | | |
  95. // `-------------------+----+----+----/ \----+----+----+-------------------'
  96. // | | | | | | | |
  97. // `----+---------' `--------------'
  98. [LR_CARPALX] = LAYOUT_wrapper(
  99. // clang-format off
  100. _______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
  101. _______, ________________CARPALX_L1_________________, ________________CARPALX_R1_________________, _______,
  102. _______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
  103. _______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
  104. _______, _______, _______, _______, _______, _______
  105. // clang-format on
  106. ),
  107. [LR_SYMBOL] = LAYOUT_wrapper(
  108. // clang-format off
  109. KC_F12 , ______________________F_L__________________, ______________________F_R__________________, KC_F11 ,
  110. _______, _________________SYMBOL_L1_________________, _________________SYMBOL_R1_________________, _______,
  111. _______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
  112. _______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______,
  113. _______, _______, _______, _______, _______, _______
  114. // clang-format on
  115. ),
  116. [LR_SYSCTL] = LAYOUT_wrapper(
  117. // clang-format off
  118. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  119. _______, _________________SYSCTL_L1_________________, _________________SYSCTL_R1_________________, _______,
  120. _______, _________________SYSCTL_L2_________________, _________________SYSCTL_R2_________________, _______,
  121. _______, _________________SYSCTL_L3_________________, _______, _______, _________________SYSCTL_R3_________________, _______,
  122. _______, _______, _______, _______, _______, _______
  123. // clang-format on
  124. ),
  125. [LR_KBCTL] = LAYOUT_wrapper(
  126. // clang-format off
  127. XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
  128. XXXXXXX, __________________KBCTL_L1_________________, __________________KBCTL_R1_________________, XXXXXXX,
  129. XXXXXXX, __________________KBCTL_L2_________________, __________________KBCTL_R2_________________, XXXXXXX,
  130. BASE , __________________KBCTL_L3_________________, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX,
  131. XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX
  132. // clang-format on
  133. ),
  134. // ,-----------------------------. ,-----------------------------.
  135. // | | NUMBERS_L | | NUMBERS_R | |
  136. // |----+----+----+----+----+----| |----+----+----+----+----+----|
  137. // | | | | | |
  138. // |----+ | | +----|
  139. // |ESC | QWERTY_L | | QWERTY_R | |
  140. // |----+ +----. ,----| +----|
  141. // | | | | | | | |
  142. // `-------------------+----+----+----/ \----+----+----+-------------------'
  143. // | |SPC | | | | | |
  144. // `----+---------' `--------------'
  145. [LR_GAME1] = LAYOUT_wrapper(
  146. // clang-format off
  147. _______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, KC_BSPC,
  148. _______, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, QWERTY ,
  149. KC_ESC , _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _______,
  150. _______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
  151. _______, _______, KC_SPC , _______, _______, _______
  152. // clang-format on
  153. ),
  154. [LR_GAME2] = LAYOUT_wrapper(
  155. // clang-format off
  156. _______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, KC_BSPC,
  157. _______, _________________QWERTY_L1_________________, KC_Y , KC_U , KC_UP , KC_O , KC_P , QWERTY ,
  158. KC_ESC , _________________QWERTY_L2_________________, KC_H , KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, _______,
  159. _______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
  160. _______, _______, KC_SPC , _______, _______, _______
  161. // clang-format on
  162. ),
  163. };
  164. #ifdef ENCODER_ENABLE
  165. bool encoder_update_user(uint8_t index, bool clockwise) {
  166. // if (index == 0) { /* First encoder */
  167. if (clockwise) {
  168. tap_code(KC_VOLU);
  169. } else {
  170. tap_code(KC_VOLD);
  171. }
  172. // }
  173. return true;
  174. }
  175. #endif
  176. bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
  177. switch (keycode) {
  178. #ifdef AUDIO_ENABLE
  179. // case PV_S04: if (record->event.pressed) PLAY_SONG(n04); return false; break;
  180. #endif
  181. }
  182. return true; // Process everything else normally
  183. }