keymap.c 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include QMK_KEYBOARD_H
  2. #ifdef PROTOCOL_LUFA
  3. # include "split_util.h"
  4. #endif
  5. #include "edvorakjp.h"
  6. #define LAYOUT_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__)
  7. // clang-format off
  8. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  9. [L_EDVORAKJP_BASE] = LAYOUT_wrapper(
  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__ , __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. XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
  23. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
  24. __EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ ,
  25. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
  26. KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
  27. //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
  28. KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS
  29. //`--------------------------' `--------------------------'
  30. ),
  31. [L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
  32. //,-----------------------------------------------------. ,-----------------------------------------------------.
  33. XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX,
  34. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
  35. XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX,
  36. //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
  37. KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
  38. //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
  39. KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS
  40. //`--------------------------' `--------------------------'
  41. )
  42. };
  43. // clang-format on
  44. #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
  45. layer_state_t layer_state_set_keymap(layer_state_t state) {
  46. rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
  47. switch (get_highest_layer(state)) {
  48. case L_EDVORAKJP_LOWER:
  49. rgblight_sethsv_noeeprom_red();
  50. break;
  51. case L_EDVORAKJP_RAISE:
  52. rgblight_sethsv_noeeprom_green();
  53. break;
  54. default: // for any other layers, or the default layer
  55. rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
  56. rgblight_sethsv_red();
  57. break;
  58. }
  59. return state;
  60. }
  61. #endif