7 bool enable_jp_extra_layer : 1;
8 bool enable_kc_lang : 1; // for macOS
11 static edvorakjp_config_t edvorakjp_config;
16 static edvorakjp_state_t edvorakjp_state;
21 uint8_t eeconfig_read_edvorakjp(void) {
22 return eeprom_read_byte(EECONFIG_EDVORAK);
25 void eeconfig_update_edvorakjp(uint8_t val) {
26 eeprom_update_byte(EECONFIG_EDVORAK, val);
32 void edvorakjp_status_init(void) {
33 edvorakjp_state.japanese_mode = false;
34 edvorakjp_config.raw = eeconfig_read_edvorakjp();
37 bool get_enable_jp_extra_layer(void) {
38 return edvorakjp_config.enable_jp_extra_layer;
41 void set_enable_jp_extra_layer(bool new_state) {
42 edvorakjp_config.enable_jp_extra_layer = new_state;
43 eeconfig_update_edvorakjp(edvorakjp_config.raw);
46 bool get_enable_kc_lang(void) {
47 return edvorakjp_config.enable_kc_lang;
50 void set_enable_kc_lang(bool new_state) {
51 edvorakjp_config.enable_kc_lang = new_state;
52 eeconfig_update_edvorakjp(edvorakjp_config.raw);
55 bool get_japanese_mode(void) {
56 return edvorakjp_state.japanese_mode;
59 void set_japanese_mode(bool new_state) {
60 edvorakjp_state.japanese_mode = new_state;
61 if (edvorakjp_state.japanese_mode) {
62 if (edvorakjp_config.enable_kc_lang) {
63 SEND_STRING(SS_TAP(X_LANG1));
65 SEND_STRING(SS_LALT("`"));
69 if (edvorakjp_config.enable_kc_lang) {
70 SEND_STRING(SS_TAP(X_LANG2));
72 SEND_STRING(SS_LALT("`"));