keymap.c 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #include QMK_KEYBOARD_H
  2. #ifdef PROTOCOL_LUFA
  3. # include "split_util.h"
  4. #endif
  5. #include "edvorakjp.h"
  6. /*
  7. * enum custom_keycodes {
  8. * KC_LOCK = NEW_SAFE_RANGE,
  9. * };
  10. */
  11. #define LAYOUT_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__)
  12. // clang-format off
  13. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  14. [L_EDVORAKJP_BASE] = LAYOUT_wrapper(
  15. //,-----------------------------------------------------. ,-----------------------------------------------------.
  16. KC_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS,
  17. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
  18. KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS,
  19. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
  20. KC_ESC, __EDVORAKJP_BASE_L3__ , __EDVORAKJP_BASE_R3__ , KC_SLSH,
  21. //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
  22. LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT
  23. //`--------------------------' `--------------------------'
  24. ),
  25. [L_EDVORAKJP_LOWER] = LAYOUT_wrapper(
  26. //,-----------------------------------------------------. ,-----------------------------------------------------.
  27. XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
  28. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
  29. __EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ ,
  30. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
  31. KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
  32. //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
  33. KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS
  34. //`--------------------------' `--------------------------'
  35. ),
  36. [L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
  37. //,-----------------------------------------------------. ,-----------------------------------------------------.
  38. XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX,
  39. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
  40. XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX,
  41. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
  42. KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
  43. //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
  44. KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS
  45. //`--------------------------' `--------------------------'
  46. )
  47. };
  48. // clang-format on
  49. #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
  50. uint32_t layer_state_set_keymap(uint32_t state) {
  51. rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
  52. switch (biton32(state)) {
  53. case L_EDVORAKJP_LOWER:
  54. rgblight_sethsv_noeeprom_red();
  55. break;
  56. case L_EDVORAKJP_RAISE:
  57. rgblight_sethsv_noeeprom_green();
  58. break;
  59. default: // for any other layers, or the default layer
  60. rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
  61. rgblight_sethsv_red();
  62. break;
  63. }
  64. return state;
  65. }
  66. #endif