keymap.c 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #include QMK_KEYBOARD_H
  2. #include "edvorakjp.h"
  3. #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
  4. #define __KC_TRNS_x6__ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
  5. // clang-format off
  6. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  7. [L_EDVORAKJP_BASE] = LAYOUT_wrapper(
  8. //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
  9. KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
  10. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  11. KC_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS,
  12. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  13. KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS,
  14. //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
  15. KC_ESC, __EDVORAKJP_BASE_L3__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BASE_R3__ , KC_SLSH,
  16. //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
  17. LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT
  18. // └────────┴────────┴────────┘ └────────┴────────┴────────┘
  19. ),
  20. [L_EDVORAKJP_LOWER] = LAYOUT_wrapper(
  21. //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
  22. __KC_TRNS_x6__ , __KC_TRNS_x6__ ,
  23. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  24. XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
  25. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  26. __EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ ,
  27. //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
  28. KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , XXXXXXX, XXXXXXX, __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
  29. //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
  30. KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS
  31. // └────────┴────────┴────────┘ └────────┴────────┴────────┘
  32. ),
  33. [L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
  34. //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
  35. __KC_TRNS_x6__ , __KC_TRNS_x6__ ,
  36. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  37. XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX,
  38. //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
  39. XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX,
  40. //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
  41. KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , XXXXXXX, XXXXXXX, __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
  42. //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
  43. KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS
  44. // └────────┴────────┴────────┘ └────────┴────────┴────────┘
  45. )
  46. };
  47. // clang-format on
  48. void matrix_init_keymap() {}
  49. #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
  50. layer_state_t layer_state_set_keymap(layer_state_t state) {
  51. rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
  52. switch (get_highest_layer(state)) {
  53. case L_EDVORAKJP_LOWER:
  54. rgblight_sethsv_noeeprom(HSV_RED);
  55. break;
  56. case L_EDVORAKJP_RAISE:
  57. rgblight_sethsv_noeeprom(HSV_GREEN);
  58. break;
  59. default: // for any other layers, or the default layer
  60. rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
  61. rgblight_sethsv(HSV_RED);
  62. break;
  63. }
  64. return state;
  65. }
  66. #endif