You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.7 KiB

  1. #ifndef EDVORAKJP
  2. #define EDVORAKJP
  3. #include "quantum.h"
  4. #include "action_layer.h"
  5. #define EECONFIG_EDVORAK (uint8_t *)20
  6. extern keymap_config_t keymap_config;
  7. enum edvorakjp_layers {
  8. _EDVORAK = 0,
  9. _LOWER,
  10. _RAISE,
  11. _ADJUST,
  12. _EXTRA,
  13. };
  14. enum edvorakjp_keycodes {
  15. EDVORAK = SAFE_RANGE,
  16. LOWER,
  17. RAISE,
  18. KC_MAC,
  19. KC_WIN,
  20. KC_JPN,
  21. KC_ENG,
  22. NEW_SAFE_RANGE
  23. };
  24. #define KC_LC(k) LCTL_T(KC_##k)
  25. #define KC_LS(k) LSFT_T(KC_##k)
  26. #define KC_LA(k) LALT_T(KC_##k)
  27. #define KC_LG(k) LGUI_T(KC_##k)
  28. #define KC_RC(k) RCTL_T(KC_##k)
  29. #define KC_RS(k) RSFT_T(KC_##k)
  30. #define KC_RG(k) RGUI_T(KC_##k)
  31. #define KC_RA(k) RALT_T(KC_##k)
  32. enum tap_dance_code {
  33. TD_LOWER = 0,
  34. TD_RAISE
  35. };
  36. // base
  37. void dvorakj_layer_off(void);
  38. void matrix_init_user(void);
  39. void matrix_init_keymap(void);
  40. uint32_t layer_state_set_user(uint32_t state);
  41. uint32_t layer_state_set_keymap(uint32_t state);
  42. bool process_record_user(uint16_t keycode, keyrecord_t *record);
  43. bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
  44. // status
  45. void edvorakjp_status_init(void);
  46. bool get_enable_kc_lang(void);
  47. void set_enable_kc_lang(bool new_state);
  48. bool get_japanese_mode(void);
  49. void set_japanese_mode(bool new_state);
  50. /*
  51. * Each process_record_* methods defined here are
  52. * return false if processed, or return true if not processed.
  53. * You can add your original macros in process_record_keymap() in keymap.c.
  54. */
  55. bool process_record_edvorakjp_swap_scln(uint16_t keycode, keyrecord_t *record);
  56. bool process_record_edvorakjp_config(uint16_t keycode, keyrecord_t *record);
  57. bool process_record_layer(uint16_t keycode, keyrecord_t *record);
  58. bool process_record_ime(uint16_t keycode, keyrecord_t *record);
  59. #endif // EDVORAKJP