keymap.c 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. #include QMK_KEYBOARD_H
  2. #include "keymap_jp.h"
  3. extern keymap_config_t keymap_config;
  4. extern uint8_t is_master;
  5. // Each layer gets a name for readability, which is then used in the keymap matrix below.
  6. // The underscores don't mean anything - you can have a layer called STUFF or any other name.
  7. // Layer names don't all need to be of the same length, obviously, and you can also skip them
  8. // entirely and just use numbers.
  9. enum layer_number {
  10. _QWERTY = 0,
  11. _FLOCK,
  12. _LOWER,
  13. _RAISE,
  14. _ADJUST,
  15. };
  16. enum custom_keycodes {
  17. RGB_RST = SAFE_RANGE,
  18. SEND_SUM,
  19. SEND_AVE,
  20. SEND_CIF,
  21. SEND_MAX,
  22. SEND_MIN
  23. };
  24. enum tapdances{
  25. TD_ESFL = 0,
  26. TD_ESQW,
  27. };
  28. qk_tap_dance_action_t tap_dance_actions[] = {
  29. [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
  30. [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
  31. };
  32. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  33. [_QWERTY] = LAYOUT_with_setta21(
  34. //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
  35. TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,LT(_LOWER, KC_P0),KC_P1, KC_P4, KC_P7,KC_NLCK, KC_ESC,
  36. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
  37. KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, KC_P2, KC_P5, KC_P8,KC_PSLS, KC_F2,
  38. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
  39. KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC,LT(_RAISE, KC_PDOT),KC_P3,KC_P6, KC_P9,KC_PAST, JP_EQL,
  40. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
  41. KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL,
  42. //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
  43. KC_LEFT,KC_RIGHT, KC_LGUI, KC_MHEN, LT(_LOWER,KC_ENT),KC_BSPC, KC_DEL,LT(_RAISE,KC_SPC), KC_HENK, KC_LALT, KC_DOWN, KC_UP
  44. //`------------------------------------------------------------------------------------------------------------'
  45. ),
  46. [_FLOCK] = LAYOUT_with_setta21(
  47. //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
  48. TD(TD_ESQW), KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,_______,_______,_______,_______,_______,
  49. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
  50. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,
  51. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
  52. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,_______,_______,_______,
  53. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
  54. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______,
  55. //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
  56. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  57. //`------------------------------------------------------------------------------------------------------------'
  58. ),
  59. [_LOWER] = LAYOUT_with_setta21(
  60. //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
  61. KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(_LOWER),XXXXXXX,KC_LEFT,XXXXXXX,XXXXXXX, KC_ESC,
  62. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
  63. JP_COLN, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, KC_DOWN,KC_DOWN, KC_UP,KC_PSLS, KC_F2,
  64. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
  65. JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, MO(_RAISE),XXXXXXX,KC_RIGHT,XXXXXXX,KC_PAST, JP_EQL,
  66. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
  67. JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL,
  68. //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
  69. _______, _______, _______, KC_ZKHK,MO(_LOWER),_______,_______,MO(_RAISE), JP_DOT,_______, _______, _______
  70. //`------------------------------------------------------------------------------------------------------------'
  71. ),
  72. [_RAISE] = LAYOUT_with_setta21(
  73. //,-----------------------------------------------------| |-----------------------------------------------------. |------------------------------------------------|
  74. KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_F11, KC_F4, KC_F7,SEND_MIN, KC_ESC,
  75. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+--------+-------|
  76. KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL, KC_F12, KC_F5, KC_F8,SEND_MAX, KC_F2,
  77. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+--------+-------|
  78. LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT, _______, KC_F3, KC_F6, KC_F9,SEND_CIF, JP_EQL,
  79. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+--------+-------|
  80. SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, JP_RPRN, SEND_SUM,SEND_AVE, KC_DEL,
  81. //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |------------------------------------------------|
  82. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  83. //`------------------------------------------------------------------------------------------------------------'
  84. ),
  85. [_ADJUST] = LAYOUT_with_setta21( /* Base */
  86. //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
  87. KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,RGB_VAD,RGB_HUD,RGB_SAD,XXXXXXX,_______,
  88. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
  89. _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), RGB_VAI,RGB_HUI,RGB_SAI,XXXXXXX,_______,
  90. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
  91. KC_LCTRL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______,
  92. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
  93. KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), RGB_MOD, RGB_TOG,_______,_______,
  94. //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
  95. _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
  96. //`------------------------------------------------------------------------------------------------------------'
  97. )
  98. };
  99. uint32_t layer_state_set_user(uint32_t state) {
  100. return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
  101. }
  102. int RGB_current_mode;
  103. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  104. bool result = false;
  105. switch (keycode) {
  106. case SEND_SUM:
  107. if (record->event.pressed) {
  108. SEND_STRING("_SUM*");
  109. }
  110. break;
  111. case SEND_AVE:
  112. if (record->event.pressed) {
  113. SEND_STRING("_AVERAGE*");
  114. }
  115. break;
  116. case SEND_CIF:
  117. if (record->event.pressed) {
  118. SEND_STRING("_COUNTIF*");
  119. }
  120. break;
  121. case SEND_MAX:
  122. if (record->event.pressed) {
  123. SEND_STRING("_MAX*");
  124. }
  125. break;
  126. case SEND_MIN:
  127. if (record->event.pressed) {
  128. SEND_STRING("_MIN*");
  129. }
  130. break;
  131. #ifdef RGBLIGHT_ENABLE
  132. case RGB_MOD:
  133. if (record->event.pressed) {
  134. rgblight_mode(RGB_current_mode);
  135. rgblight_step();
  136. RGB_current_mode = rgblight_config.mode;
  137. }
  138. break;
  139. case RGB_RST:
  140. if (record->event.pressed) {
  141. eeconfig_update_rgblight_default();
  142. rgblight_enable();
  143. RGB_current_mode = rgblight_config.mode;
  144. }
  145. break;
  146. #endif
  147. default:
  148. result = true;
  149. break;
  150. }
  151. return result;
  152. }
  153. void matrix_init_user(void) {
  154. }