- #ifndef EDVORAKJP
- #define EDVORAKJP
-
- #include "quantum.h"
- #include "action_layer.h"
-
- #define EECONFIG_EDVORAK (uint8_t *)20
-
- extern keymap_config_t keymap_config;
-
- enum edvorakjp_layers {
- _EDVORAK = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
- _EXTRA,
- };
-
- enum edvorakjp_keycodes {
- EDVORAK = SAFE_RANGE,
- LOWER,
- RAISE,
- KC_MAC,
- KC_WIN,
- KC_JPN,
- KC_ENG,
- NEW_SAFE_RANGE
- };
-
- #define KC_LC(k) LCTL_T(KC_##k)
- #define KC_LS(k) LSFT_T(KC_##k)
- #define KC_LA(k) LALT_T(KC_##k)
- #define KC_LG(k) LGUI_T(KC_##k)
- #define KC_RC(k) RCTL_T(KC_##k)
- #define KC_RS(k) RSFT_T(KC_##k)
- #define KC_RG(k) RGUI_T(KC_##k)
- #define KC_RA(k) RALT_T(KC_##k)
-
- enum tap_dance_code {
- TD_LOWER = 0,
- TD_RAISE
- };
-
- // base
- void dvorakj_layer_off(void);
- void matrix_init_user(void);
- void matrix_init_keymap(void);
- uint32_t layer_state_set_user(uint32_t state);
- uint32_t layer_state_set_keymap(uint32_t state);
- bool process_record_user(uint16_t keycode, keyrecord_t *record);
- bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
-
- // status
- void edvorakjp_status_init(void);
- bool get_enable_kc_lang(void);
- void set_enable_kc_lang(bool new_state);
- bool get_japanese_mode(void);
- void set_japanese_mode(bool new_state);
-
- /*
- * Each process_record_* methods defined here are
- * return false if processed, or return true if not processed.
- * You can add your original macros in process_record_keymap() in keymap.c.
- */
- bool process_record_edvorakjp_swap_scln(uint16_t keycode, keyrecord_t *record);
- bool process_record_edvorakjp_config(uint16_t keycode, keyrecord_t *record);
- bool process_record_layer(uint16_t keycode, keyrecord_t *record);
- bool process_record_ime(uint16_t keycode, keyrecord_t *record);
-
- #endif // EDVORAKJP
|