ソースを参照

[Keymap] Remove LAYOUT_kc macros from edvorakjp keymaps (#12217)

Ryo Maeda 4 年 前
コミット
3dbb7f261d

+ 13 - 13
keyboards/crkbd/keymaps/edvorakjp/config.h

@@ -1,25 +1,25 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
+#pragma once
 
 /* Select hand configuration */
 
-// #define MASTER_LEFT
-#define MASTER_RIGHT
+#define MASTER_LEFT
+// #define MASTER_RIGHT
 // #define EE_HANDS
 
-#define SSD1306OLED
 #define SWAP_SCLN
 
 // #define TAPPING_FORCE_HOLD
 #define TAPPING_TERM 300
 #define IGNORE_MOD_TAP_INTERRUPT
 
-#undef RGBLED_NUM
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLED_NUM 27
-#define RGBLIGHT_LIMIT_VAL 100
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
+#ifdef RGBLIGHT_ENABLE
+#    undef RGBLED_NUM
+#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#    define RGBLED_NUM 27
+#    define RGBLIGHT_LIMIT_VAL 100
+#    define RGBLIGHT_HUE_STEP 10
+#    define RGBLIGHT_SAT_STEP 17
+#    define RGBLIGHT_VAL_STEP 17
+#endif  // RGBLIGHT_ENABLE
 
-#endif // CONFIG_USER_H
+#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"

+ 48 - 73
keyboards/crkbd/keymaps/edvorakjp/keymap.c

@@ -1,9 +1,6 @@
 #include QMK_KEYBOARD_H
 #ifdef PROTOCOL_LUFA
-  #include "split_util.h"
-#endif
-#ifdef SSD1306OLED
-  #include "oled.h"
+#    include "split_util.h"
 #endif
 
 #include "edvorakjp.h"
@@ -14,85 +11,63 @@
  * };
  */
 
-#define KC_ KC_TRNS
-
-#define KC_TMB1 KC_LA(TAB)
-#define KC_TMB2 KC_LS(SPC)
-#define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped
-#define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped
-#define KC_TMB5 KC_RC(BSPC)
-#define KC_TMB6 KC_RG(ENT)
-#define KC_TMB7 KC_RC(DEL)
+#define LAYOUT_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__)
 
+// clang-format off
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-  [_EDVORAK] = LAYOUT_kc(
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-     GRV ,QUOT,COMM , DOT ,  Y  , Q  ,             F  ,  G  ,  R  ,  W  , P  ,BSLS,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-     EQL , A  ,LA(O),LG(E),LC(I), U  ,             D  ,RS(T),RG(N),RA(S), M  ,MINS,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-     ESC ,SCLN,  X  ,  C  ,  V  , Z  ,             H  ,  J  ,  K  ,  L  , B  ,SLSH,
-  //`----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----'
-                           TMB1 ,TMB2,TMB3,  TMB4,TMB5,TMB6
-  //                      `-----+----+----' `----+----+-----'
+  [L_EDVORAKJP_BASE] = LAYOUT_wrapper(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+       KC_GRV,            __EDVORAKJP_BASE_L1__           ,                                __EDVORAKJP_BASE_R1__            , KC_BSLS,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+       KC_EQL,            __EDVORAKJP_BASE_L2__           ,                                __EDVORAKJP_BASE_R2__            , KC_MINS,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+       KC_ESC,            __EDVORAKJP_BASE_L3__           ,                                __EDVORAKJP_BASE_R3__            , KC_SLSH,
+  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
+                                           LA_TAB,  LS_SPC,LOWER_TD,   RAISE_TD, RC_BSPC,  RG_ENT
+                                      //`--------------------------'  `--------------------------'
   ),
 
-  [_LOWER] = LAYOUT_kc(
-  //|----+----+------+------+------+----|           |----+------+------+-------+----+----|
-         ,    , LCBR , LBRC , LPRN ,    ,                , RPRN , RBRC , RCBR  ,    ,    ,
-  //|----+----+------+------+------+----|           |----+------+------+-------+----+----|
-      F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 ,             F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
-  //|----+----+------+------+------+----|           |----+------+------+-------+----+----|
-     PSCR,    , HOME , PGDN , PGUP ,END ,            LEFT, DOWN ,  UP  , RGHT  ,    ,    ,
-  //`----+----+------+------+------+----+----| |----+----+------+------+-------+----+----'
-                                   ,    , NO ,  MAC ,TMB7,
-  //                         `-----+----+----' `----+----+-----'
+  [L_EDVORAKJP_LOWER] = LAYOUT_wrapper(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+      XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__  , XXXXXXX,                      XXXXXXX,  __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+                       __EDVORAKJP_FUNCTION_L__           ,                                __EDVORAKJP_FUNCTION_R__                  ,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+      KC_PSCR, XXXXXXX,      __EDVORAKJP_PAGE__           ,                                __EDVORAKJP_CURSOR__    , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
+                                          KC_TRNS, KC_TRNS, XXXXXXX,     KC_MAC,  RC_DEL, KC_TRNS
+                                      //`--------------------------'  `--------------------------'
   ),
 
-  [_RAISE] = LAYOUT_kc(
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-         ,    ,EXLM , AT  ,HASH ,DLR ,            PERC,CIRC ,AMPR ,ASTR ,    ,    ,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-         , 1  ,LA(2),LG(3),LC(4), 5  ,             6  ,RS(7),RG(8),RA(9), 0  ,    ,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-     PSCR,    ,HOME ,PGDN ,PGUP ,END ,            LEFT,DOWN , UP  ,RGHT ,    ,    ,
-  //`----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----'
-                                ,    ,WIN ,   NO ,    ,
-  //                      `-----+----+----' `----+----+----'
+  [L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+      XXXXXXX, XXXXXXX,  __EDVORAKJP_SYMBOL_L__           ,                                __EDVORAKJP_SYMBOL_R__  , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+      XXXXXXX,           __EDVORAKJP_NUMBER_L__           ,                                __EDVORAKJP_NUMBER_R__           , XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+      KC_PSCR, XXXXXXX,      __EDVORAKJP_PAGE__           ,                                __EDVORAKJP_CURSOR__    , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
+                                          KC_TRNS, KC_TRNS,  KC_WIN,    XXXXXXX, KC_TRNS, KC_TRNS
+                                      //`--------------------------'  `--------------------------'
   )
 };
-
-#ifdef SSD1306OLED
-void matrix_init_keymap(void) {
-  //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
-#ifdef MASTER_RIGHT
-  iota_gfx_init(has_usb()); // turns on the display
-#else
-  iota_gfx_init(!has_usb());
-#endif // MASTER_RIGHT
-}
-
-void matrix_scan_user(void) {
-  iota_gfx_task();  // this is what updates the display continuously
-}
-#endif
+// clang-format on
 
 #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
 uint32_t layer_state_set_keymap(uint32_t state) {
-  rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
-  switch (biton32(state)) {
-    case _LOWER:
-      rgblight_sethsv_noeeprom_red();
-      break;
-    case _RAISE:
-      rgblight_sethsv_noeeprom_green();
-      break;
-    default: // for any other layers, or the default layer
-      rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
-      rgblight_sethsv_red();
-      break;
-  }
-  return state;
+    rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
+    switch (biton32(state)) {
+        case L_EDVORAKJP_LOWER:
+            rgblight_sethsv_noeeprom_red();
+            break;
+        case L_EDVORAKJP_RAISE:
+            rgblight_sethsv_noeeprom_green();
+            break;
+        default:  // for any other layers, or the default layer
+            rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
+            rgblight_sethsv_red();
+            break;
+    }
+    return state;
 }
 #endif

+ 43 - 64
keyboards/crkbd/keymaps/edvorakjp/oled.c

@@ -1,76 +1,55 @@
+#include <stdio.h>
 #include <string.h>
 #include "oled.h"
 
-// NOTE: Redefined to avoid to use snprintf(); It makes size of firmware big.
-const char *read_mode_icon(bool windows_mode) {
-  static const char logo[][2][3] = {{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}};
-  static char mode_icon[10];
-
-  int mode_number = windows_mode ? 1 : 0;
-  strcpy(mode_icon, logo[mode_number][0]);
-
-  strcat(mode_icon, "\n");
-  strcat(mode_icon, logo[mode_number][1]);
-
-  return mode_icon;
+#ifdef OLED_DRIVER_ENABLE
+void render_host_led_state(void) { oled_write(read_host_led_state(), false); }
+
+void render_layer_state(void) {
+    char layer_name[17];
+    oled_write_P(PSTR("Layer: "), false);
+
+    switch (biton32(layer_state)) {
+        case L_EDVORAKJP_BASE:
+            oled_write_ln_P(PSTR("Default"), false);
+            break;
+        case L_EDVORAKJP_LOWER:
+            oled_write_ln_P(PSTR("Lower"), false);
+            break;
+        case L_EDVORAKJP_RAISE:
+            oled_write_ln_P(PSTR("Raise"), false);
+            break;
+        default:
+            snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state);
+            oled_write_ln(layer_name, false);
+    }
 }
 
-const char *read_layer_state(void) {
-  static char layer_state_str[24];
-  char layer_name[17];
-
-  switch (biton32(layer_state)) {
-    case L_BASE:
-      strcpy(layer_name, "Default");
-      break;
-    case _RAISE:
-      strcpy(layer_name, "Raise");
-      break;
-    case _LOWER:
-      strcpy(layer_name, "Lower");
-      break;
-    default:
-      snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state);
-  }
+void render_logo(void) { oled_write(read_logo(), false); }
 
-  strcpy(layer_state_str, "Layer: ");
+void render_mode_icon(bool is_windows) {
+    static const char logo[][2][3] = {
+        {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
+        {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
+    };
+    static char mode_icon[10];
 
-  strcat(layer_state_str, layer_name);
-  strcat(layer_state_str, "\n");
-  return layer_state_str;
+    snprintf(mode_icon, sizeof(mode_icon), "%s\n%s ", logo[is_windows][0], logo[is_windows][1]);
+    oled_write(mode_icon, false);
 }
 
-const char *read_host_led_state(void) {
-  static char led_str[24];
-  strcpy(led_str, (host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? "NMLK" : "    ");
-  strcat(led_str, (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? " CAPS" : "    ");
-  strcat(led_str, (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? " SCLK" : "     ");
-  return led_str;
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+    // flips the display 180 degrees if offhand
+    return is_keyboard_left() ? rotation : rotation ^ OLED_ROTATION_180;
 }
 
-void matrix_update(struct CharacterMatrix *dest,
-                   const struct CharacterMatrix *source) {
-  if (memcmp(dest->display, source->display, sizeof(dest->display))) {
-    memcpy(dest->display, source->display, sizeof(dest->display));
-    dest->dirty = true;
-  }
-}
-
-void iota_gfx_task_user(void) {
-  struct CharacterMatrix matrix;
-
-  matrix_clear(&matrix);
-#ifdef MASTER_RIGHT
-  if (!is_master) {
-#else
-  if (is_master) {
-#endif // MASTER_RIGHT
-    matrix_write(&matrix, read_mode_icon(!get_enable_kc_lang()));
-    matrix_write(&matrix, " ");
-    matrix_write(&matrix, read_layer_state());
-    matrix_write(&matrix, read_host_led_state());
-  } else {
-    matrix_write(&matrix, read_logo());
-  }
-  matrix_update(&display, &matrix);
+void oled_task_user(void) {
+    if (is_keyboard_left()) {
+        render_mode_icon(!get_enable_kc_lang());
+        render_layer_state();
+        render_host_led_state();
+    } else {
+        render_logo();
+    }
 }
+#endif  // OLED_DRIVER_ENABLE

+ 9 - 16
keyboards/crkbd/keymaps/edvorakjp/oled.h

@@ -1,24 +1,17 @@
-#ifndef OLED_USER_H
-#define OLED_USER_H
+#pragma once
 
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#include "ssd1306.h"
 #include "edvorakjp.h"
 
-//assign the right code to your layers for OLED display
-#define L_BASE 0
-
-extern uint8_t is_master;
 extern bool japanese_mode;
 
 // method prototypes defined in crkbd/lib
+extern const char *read_host_led_state(void);
 extern const char *read_logo(void);
+extern const char *read_mode_icon(bool swap);
 
-const char *read_mode_icon(bool swap);
-const char *read_layer_state(void);
-const char *read_host_led_state(void);
-void matrix_update(struct CharacterMatrix *dest,
-                   const struct CharacterMatrix *source);
-void iota_gfx_task_user(void);
-
-#endif // OLED_CONFIG_USER_H
+void            render_host_led_state(void);
+void            render_layer_state(void);
+void            render_logo(void);
+void            render_mode_icon(bool is_windows);
+oled_rotation_t oled_init_user(oled_rotation_t rotation);
+void            oled_task_user(void);

+ 4 - 8
keyboards/crkbd/keymaps/edvorakjp/rules.mk

@@ -16,17 +16,13 @@ BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 RGBLIGHT_ENABLE = yes       # Enable WS2812 RGB underlight.
 SWAP_HANDS_ENABLE = no      # Enable one-hand typing
 TAP_DANCE_ENABLE = yes
+OLED_DRIVER_ENABLE = yes
 
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 
 # If you want to change the display of OLED, you need to change here
-SRC += ./lib/glcdfont.c \
+SRC += ./lib/host_led_state_reader.c \
        ./lib/logo_reader.c \
-       oled.c \
-       # ./lib/rgb_state_reader.c \
-       # ./lib/layer_state_reader.c \
-       # ./lib/keylogger.c \
-       # ./lib/mode_icon_reader.c \
-       # ./lib/host_led_state_reader.c \
-       # ./lib/timelogger.c \
+       ./lib/mode_icon_reader.c \
+       oled.c

+ 11 - 14
keyboards/helix/rev2/keymaps/edvorakjp/config.h

@@ -1,5 +1,4 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
+#pragma once
 
 #define SWAP_SCLN
 
@@ -12,15 +11,13 @@
 
 // Selection of RGBLIGHT MODE to use.
 #if defined(LED_ANIMATIONS)
-   //#define RGBLIGHT_EFFECT_BREATHING
-   //#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-   //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-   //#define RGBLIGHT_EFFECT_SNAKE
-   //#define RGBLIGHT_EFFECT_KNIGHT
-   //#define RGBLIGHT_EFFECT_CHRISTMAS
-   #define RGBLIGHT_EFFECT_STATIC_GRADIENT
-   //#define RGBLIGHT_EFFECT_RGB_TEST
-   //#define RGBLIGHT_EFFECT_ALTERNATING
-#endif
-
-#endif /* CONFIG_USER_H */
+//#    define RGBLIGHT_EFFECT_BREATHING
+//#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
+//#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+//#    define RGBLIGHT_EFFECT_SNAKE
+//#    define RGBLIGHT_EFFECT_KNIGHT
+//#    define RGBLIGHT_EFFECT_CHRISTMAS
+#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
+//#    define RGBLIGHT_EFFECT_RGB_TEST
+//#    define RGBLIGHT_EFFECT_ALTERNATING
+#endif  // LED_ANIMATIONS

+ 14 - 28
keyboards/helix/rev2/keymaps/edvorakjp/keymap.c

@@ -1,38 +1,24 @@
 #include QMK_KEYBOARD_H
 #include "split_util.h"
 #include "keymap_xrows.h"
-#ifdef SSD1306OLED
-  #include "oled.h"
-#endif
 
 // keymaps definitions are moved to keymap_Xrows.c.
 
-#ifdef SSD1306OLED
-void matrix_init_keymap(void) {
-  //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
-  iota_gfx_init(!has_usb());   // turns on the display
-}
-
-void matrix_scan_user(void) {
-  iota_gfx_task();  // this is what updates the display continuously
-}
-#endif
-
 #ifdef RGBLIGHT_ENABLE
 uint32_t layer_state_set_keymap(uint32_t state) {
-  rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
-  switch (biton32(state)) {
-    case _LOWER:
-      rgblight_sethsv_noeeprom_red();
-      break;
-    case _RAISE:
-      rgblight_sethsv_noeeprom_blue();
-      break;
-    default: //  for any other layers, or the default layer
-      rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
-      rgblight_sethsv_red();
-      break;
-  }
-  return state;
+    rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
+    switch (biton32(state)) {
+        case L_EDVORAKJP_LOWER:
+            rgblight_sethsv_noeeprom_red();
+            break;
+        case L_EDVORAKJP_RAISE:
+            rgblight_sethsv_noeeprom_green();
+            break;
+        default:  //  for any other layers, or the default layer
+            rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
+            rgblight_sethsv_red();
+            break;
+    }
+    return state;
 }
 #endif

+ 32 - 31
keyboards/helix/rev2/keymaps/edvorakjp/keymap_4rows.c

@@ -1,41 +1,42 @@
 #include "helix.h"
 #include "keymap_xrows.h"
 
+// clang-format off
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-  [_EDVORAK] = LAYOUT_kc(
-  //,----+----+-----+-----+-----+----.           ,----+-----+-----+-----+----+----.
-     GRV ,QUOT,COMM , DOT ,  Y  , Q  ,             F  ,  G  ,  R  ,  W  , P  ,BSLS,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-     EQL , A  ,LA(O),LG(E),LC(I), U  ,             D  ,RS(T),RG(N),RA(S), M  ,MINS,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-     ESC ,SCLN,  X  ,  C  ,  V  , Z  ,             H  ,  J  ,  K  ,  L  , B  ,SLSH,
-  //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
-     HOME,PGDN,PGUP , END ,TMB1 ,TMB2,TMB3,  TMB4,TMB5,TMB6 ,LEFT ,DOWN , UP ,RGHT
-  //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
+  [L_EDVORAKJP_BASE] = LAYOUT_wrapper(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+       KC_GRV,            __EDVORAKJP_BASE_L1__           ,                                __EDVORAKJP_BASE_R1__            , KC_BSLS,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+       KC_EQL,            __EDVORAKJP_BASE_L2__           ,                                __EDVORAKJP_BASE_R2__            , KC_MINS,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+       KC_ESC,            __EDVORAKJP_BASE_L3__           ,                                __EDVORAKJP_BASE_R3__            , KC_SLSH,
+  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
+             __EDVORAKJP_PAGE__         ,  LA_TAB,  LS_SPC,LOWER_TD,   RAISE_TD, RC_BSPC,  RG_ENT,        __EDVORAKJP_CURSOR__
+  //`--------------------------------------------------------------'  `--------------------------------------------------------------'
   ),
 
-  [_LOWER] = LAYOUT_kc(
-  //,----+----+------+------+------+----.           ,----+------+------+-------+----+----.
-         ,    , LCBR , LBRC , LPRN ,    ,                , RPRN , RBRC , RCBR  ,    ,    ,
-  //|----+----+------+------+------+----|           |----+------+------+-------+----+----|
-      F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 ,             F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
-  //|----+----+------+------+------+----|           |----+------+------+-------+----+----|
-     PSCR,    , HOME , PGDN , PGUP ,END ,            LEFT, DOWN ,  UP  , RGHT  ,    ,    ,
-  //|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----|
-         ,    ,      ,      ,      ,    , NO ,  MAC ,TMB7,      ,      ,       ,    ,
-  //`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----'
+  [L_EDVORAKJP_LOWER] = LAYOUT_wrapper(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+      XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__  , XXXXXXX,                      XXXXXXX,  __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+                       __EDVORAKJP_FUNCTION_L__           ,                                __EDVORAKJP_FUNCTION_R__                  ,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+      KC_PSCR, XXXXXXX,      __EDVORAKJP_PAGE__           ,                                __EDVORAKJP_CURSOR__    , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
+                __KC_TRNS_x4__          , KC_TRNS, KC_TRNS, XXXXXXX,     KC_MAC,  RC_DEL, KC_TRNS,          __KC_TRNS_x4__
+  //`--------------------------------------------------------------'  `--------------------------------------------------------------'
   ),
 
-  [_RAISE] = LAYOUT_kc(
-  //,----+----+-----+-----+-----+----.           ,----+-----+-----+-----+----+----.
-         ,    ,EXLM , AT  ,HASH ,DLR ,            PERC,CIRC ,AMPR ,ASTR ,    ,    ,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-         , 1  ,LA(2),LG(3),LC(4), 5  ,             6  ,RS(7),RG(8),RA(9), 0  ,    ,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-     PSCR,    ,HOME ,PGDN ,PGUP ,END ,            LEFT,DOWN , UP  ,RGHT ,    ,    ,
-  //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
-         ,    ,     ,     ,     ,    ,WIN ,   NO ,    ,     ,     ,     ,    ,
-  //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
+  [L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+      XXXXXXX, XXXXXXX,  __EDVORAKJP_SYMBOL_L__           ,                                __EDVORAKJP_SYMBOL_R__  , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+      XXXXXXX,           __EDVORAKJP_NUMBER_L__           ,                                __EDVORAKJP_NUMBER_R__           , XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+      KC_PSCR, XXXXXXX,      __EDVORAKJP_PAGE__           ,                                __EDVORAKJP_CURSOR__    , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
+                __KC_TRNS_x4__          , KC_TRNS, KC_TRNS,  KC_WIN,    XXXXXXX, KC_TRNS, KC_TRNS,          __KC_TRNS_x4__
+  //`--------------------------------------------------------------'  `--------------------------------------------------------------'
   )
 };
+// clang-format on

+ 38 - 37
keyboards/helix/rev2/keymaps/edvorakjp/keymap_5rows.c

@@ -1,47 +1,48 @@
 #include "helix.h"
 #include "keymap_xrows.h"
 
+// clang-format off
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-  [_EDVORAK] = LAYOUT_kc(
-  //,----+----+-----+-----+-----+----.           ,----+-----+-----+-----+----+----.
-     ESC ,EXLM, AT  ,HASH , DLR ,PERC,            CIRC,AMPR ,ASTR ,LPRN ,RPRN,BSPC,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-     GRV ,QUOT,COMM , DOT ,  Y  , Q  ,             F  ,  G  ,  R  ,  W  , P  ,BSLS,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-     EQL , A  ,LA(O),LG(E),LC(I), U  ,             D  ,RS(T),RG(N),RA(S), M  ,MINS,
-  //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
-     TAB ,SCLN,  X  ,  C  ,  V  , Z  , NO ,   NO , H  ,  J  ,  K  ,  L  , B  ,SLSH,
-  //|----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----|
-     HOME,PGDN,PGUP , END ,TMB1 ,TMB2,TMB3,  TMB4,TMB5,TMB6 ,LEFT ,DOWN , UP ,RGHT
-  //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
+  [L_EDVORAKJP_BASE] = LAYOUT_wrapper(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+       KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  KC_F18,                       KC_F19,  KC_F20,  KC_F21,  KC_F22,  KC_F23,  KC_F24,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+       KC_GRV,            __EDVORAKJP_BASE_L1__           ,                                __EDVORAKJP_BASE_R1__            , KC_BSLS,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+       KC_EQL,            __EDVORAKJP_BASE_L2__           ,                                __EDVORAKJP_BASE_R2__            , KC_MINS,
+  //|--------+--------+--------+--------+--------+--------+--------.  ,--------+--------+--------+--------+--------+--------+--------|
+       KC_ESC,            __EDVORAKJP_BASE_L3__           , XXXXXXX,    XXXXXXX,           __EDVORAKJP_BASE_R3__            , KC_SLSH,
+  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
+             __EDVORAKJP_PAGE__         ,  LA_TAB,  LS_SPC,LOWER_TD,   RAISE_TD, RC_BSPC,  RG_ENT,        __EDVORAKJP_CURSOR__
+  //`--------------------------------------------------------------'  `--------------------------------------------------------------'
   ),
 
-  [_LOWER] = LAYOUT_kc(
-  //,----+----+------+------+------+----.           ,----+------+------+-------+----+----.
-     PSCR,    ,      ,      ,      ,    ,                ,      ,      ,       ,    ,    ,
-  //|----+----+------+------+------+----|           |----+------+------+-------+----+----|
-         ,    , LCBR , LBRC , LPRN ,    ,                , RPRN , RBRC , RCBR  ,    ,    ,
-  //|----+----+------+------+------+----|           |----+------+------+-------+----+----|
-      F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 ,             F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
-  //|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----|
-         ,    , HOME , PGDN , PGUP ,END ,    ,      ,LEFT, DOWN ,  UP  , RGHT  ,    ,    ,
-  //|----+----+------+------+------+----+----| |----+----+------+------+-------+----+----|
-         ,    ,      ,      ,      ,    , NO ,  MAC ,TMB7,      ,      ,       ,    ,
-  //`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----'
+  [L_EDVORAKJP_LOWER] = LAYOUT_wrapper(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+                                 __KC_TRNS_x6__           ,                                __KC_TRNS_x6__                            ,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+      XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__  , XXXXXXX,                      XXXXXXX,  __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+                       __EDVORAKJP_FUNCTION_L__           ,                                __EDVORAKJP_FUNCTION_R__                  ,
+  //|--------+--------+--------+--------+--------+--------+--------.  ,--------+--------+--------+--------+--------+--------+--------|
+      KC_PSCR, XXXXXXX,      __EDVORAKJP_PAGE__           , KC_TRNS,    KC_TRNS,           __EDVORAKJP_CURSOR__    , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
+                __KC_TRNS_x4__          , KC_TRNS, KC_TRNS, XXXXXXX,     KC_MAC,  RC_DEL, KC_TRNS,          __KC_TRNS_x4__
+  //`--------------------------------------------------------------'  `--------------------------------------------------------------'
   ),
 
-  [_RAISE] = LAYOUT_kc(
-  //,----+----+-----+-----+-----+----.           ,----+-----+-----+-----+----+----.
-     PSCR,    ,     ,     ,     ,    ,                ,     ,     ,     ,    ,    ,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-         ,    ,EXLM , AT  ,HASH ,DLR ,            PERC,CIRC ,AMPR ,ASTR ,    ,    ,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-         , 1  ,LA(2),LG(3),LC(4), 5  ,             6  ,RS(7),RG(8),RA(9), 0  ,    ,
-  //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
-         ,    ,HOME ,PGDN ,PGUP ,END ,    ,      ,LEFT,DOWN , UP  ,RGHT ,    ,    ,
-  //|----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----|
-         ,    ,     ,     ,     ,    ,WIN ,   NO ,    ,     ,     ,     ,    ,
-  //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
+  [L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
+  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
+                                 __KC_TRNS_x6__           ,                                __KC_TRNS_x6__                            ,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+      XXXXXXX, XXXXXXX,  __EDVORAKJP_SYMBOL_L__           ,                                __EDVORAKJP_SYMBOL_R__  , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
+      XXXXXXX,           __EDVORAKJP_NUMBER_L__           ,                                __EDVORAKJP_NUMBER_R__           , XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------+--------.  ,--------+--------+--------+--------+--------+--------+--------|
+      KC_PSCR, XXXXXXX,      __EDVORAKJP_PAGE__           , KC_TRNS,    KC_TRNS,           __EDVORAKJP_CURSOR__    , XXXXXXX, XXXXXXX,
+  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
+                __KC_TRNS_x4__          , KC_TRNS, KC_TRNS,  KC_WIN,    XXXXXXX, KC_TRNS, KC_TRNS,          __KC_TRNS_x4__
+  //`--------------------------------------------------------------'  `--------------------------------------------------------------'
   )
 };
+// clang-format on

+ 4 - 12
keyboards/helix/rev2/keymaps/edvorakjp/keymap_xrows.h

@@ -1,5 +1,4 @@
-#ifndef KEYMAP_XROWS_H
-#define KEYMAP_XROWS_H
+#pragma once
 
 #include "edvorakjp.h"
 /*
@@ -8,14 +7,7 @@
  * };
  */
 
-#define KC_ KC_TRNS
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
 
-#define KC_TMB1 KC_LA(TAB)
-#define KC_TMB2 KC_LS(SPC)
-#define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped
-#define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped
-#define KC_TMB5 KC_RC(BSPC)
-#define KC_TMB6 KC_RG(ENT)
-#define KC_TMB7 KC_RC(DEL)
-
-#endif
+#define __KC_TRNS_x4__ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+#define __KC_TRNS_x6__ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS

+ 54 - 58
keyboards/helix/rev2/keymaps/edvorakjp/oled.c

@@ -1,72 +1,68 @@
+#include <stdio.h>
 #include <string.h>
 #include "oled.h"
 
-static void render_logo(struct CharacterMatrix *matrix) {
+#ifdef OLED_DRIVER_ENABLE
+void render_host_led_state(void) {
+    char    led_state_str[24];
+    uint8_t leds = host_keyboard_leds();
 
-  static char logo[] = {
-    0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
-    0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
-    0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,
-    0};
-  matrix_write(matrix, logo);
-}
+    bool is_num_lock_enabled    = leds & (1 << USB_LED_NUM_LOCK);
+    bool is_caps_lock_enabled   = leds & (1 << USB_LED_CAPS_LOCK);
+    bool is_scroll_lock_enabled = leds & (1 << USB_LED_SCROLL_LOCK);
 
-void matrix_update(struct CharacterMatrix *dest,
-                   const struct CharacterMatrix *source) {
-  if (memcmp(dest->display, source->display, sizeof(dest->display))) {
-    memcpy(dest->display, source->display, sizeof(dest->display));
-    dest->dirty = true;
-  }
+    snprintf(led_state_str, sizeof(led_state_str), "NL:%s CL:%s SL:%s", is_num_lock_enabled ? "on" : "- ", is_caps_lock_enabled ? "on" : "- ", is_scroll_lock_enabled ? "on" : "- ");
+    oled_write(led_state_str, false);
 }
 
-void render_status(struct CharacterMatrix *matrix) {
-
-  // Render to mode icon
-  static char logo[][2][3] = {{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
-  int mode_number = get_enable_kc_lang() ? 0 : 1;
-  matrix_write(matrix, logo[mode_number][0]);
-  matrix_write(matrix, "\n");
-  matrix_write(matrix, logo[mode_number][1]);
+void render_layer_state(void) {
+    char layer_name[17];
+    oled_write_P(PSTR("Layer: "), false);
 
-  // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
-  char buf[40];
-  snprintf(buf,sizeof(buf), "Undef-%ld", layer_state);
-  matrix_write_P(matrix, PSTR("\nLayer: "));
-  switch (biton32(layer_state)) {
-    case L_BASE:
-      matrix_write_P(matrix, PSTR("Default"));
-      break;
-    case _RAISE:
-      matrix_write_P(matrix, PSTR("Raise"));
-      break;
-    case _LOWER:
-      matrix_write_P(matrix, PSTR("Lower"));
-      break;
-    default:
-      matrix_write(matrix, buf);
-  }
+    switch (biton32(layer_state)) {
+        case L_EDVORAKJP_BASE:
+            oled_write_ln_P(PSTR("Default"), false);
+            break;
+        case L_EDVORAKJP_LOWER:
+            oled_write_ln_P(PSTR("Lower"), false);
+            break;
+        case L_EDVORAKJP_RAISE:
+            oled_write_ln_P(PSTR("Raise"), false);
+            break;
+        default:
+            snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state);
+            oled_write_ln(layer_name, false);
+    }
+}
 
-  // Host Keyboard LED Status
-  char led[40];
-  snprintf(led, sizeof(led), "\n%s %s %s",
-      (host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? "NMLK" : "    ",
-      (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? "CAPS" : "    ",
-      (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : "    ");
-  matrix_write(matrix, led);
+void render_logo(void) {
+    static const char helix_logo[] PROGMEM = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0};
+    oled_write_P(helix_logo, false);
 }
 
-void iota_gfx_task_user(void) {
-  struct CharacterMatrix matrix;
+void render_mode_icon(bool is_windows) {
+    static const char logo[][2][3] = {
+        {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
+        {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
+    };
+    static char mode_icon[10];
 
-#if DEBUG_TO_SCREEN
-  if (debug_enable) { return; }
-#endif
+    snprintf(mode_icon, sizeof(mode_icon), "%s\n%s ", logo[is_windows][0], logo[is_windows][1]);
+    oled_write(mode_icon, false);
+}
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+    // flips the display 180 degrees if offhand
+    return is_keyboard_left() ? rotation : rotation ^ OLED_ROTATION_180;
+}
 
-  matrix_clear(&matrix);
-  if (is_master) {
-    render_status(&matrix);
-  } else {
-    render_logo(&matrix);
-  }
-  matrix_update(&display, &matrix);
+void oled_task_user(void) {
+    if (is_keyboard_left()) {
+        render_mode_icon(!get_enable_kc_lang());
+        render_layer_state();
+        render_host_led_state();
+    } else {
+        render_logo();
+    }
 }
+#endif  // OLED_DRIVER_ENABLE

+ 7 - 14
keyboards/helix/rev2/keymaps/edvorakjp/oled.h

@@ -1,19 +1,12 @@
-#ifndef OLED_USER_H
-#define OLED_USER_H
+#pragma once
 
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#include "ssd1306.h"
 #include "edvorakjp.h"
 
-//assign the right code to your layers for OLED display
-#define L_BASE 0
-
-extern uint8_t is_master;
 extern bool japanese_mode;
 
-void matrix_update(struct CharacterMatrix *dest,
-                   const struct CharacterMatrix *source);
-void render_status(struct CharacterMatrix *matrix);
-void iota_gfx_task_user(void);
-
-#endif // OLED_CONFIG_USER_H
+void            render_host_led_state(void);
+void            render_layer_state(void);
+void            render_logo(void);
+void            render_mode_icon(bool is_windows);
+oled_rotation_t oled_init_user(oled_rotation_t rotation);
+void            oled_task_user(void);

+ 1 - 0
keyboards/helix/rev2/keymaps/edvorakjp/rules.mk

@@ -18,6 +18,7 @@ TAP_DANCE_ENABLE = yes
 # LED_UNDERGLOW_ENABLE = no   # LED underglow (Enable WS2812 RGB underlight.)
 # LED_ANIMATIONS = yes        # LED animations
 # IOS_DEVICE_ENABLE = no      # connect to IOS device (iPad,iPhone)
+OLED_SELECT = core
 
 # convert Helix-specific options (that represent combinations of standard options)
 #   into QMK standard options.

+ 1 - 4
keyboards/keebio/iris/keymaps/edvorakjp/config.h

@@ -1,5 +1,4 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
+#pragma once
 
 /* Use I2C or Serial, not both */
 #define USE_SERIAL
@@ -22,5 +21,3 @@
 #define RGBLIGHT_HUE_STEP 10
 #define RGBLIGHT_SAT_STEP 8
 #define RGBLIGHT_VAL_STEP 8
-
-#endif // CONFIG_USER_H

+ 55 - 62
keyboards/keebio/iris/keymaps/edvorakjp/keymap.c

@@ -7,79 +7,72 @@
  * };
  */
 
-#define KC_ KC_TRNS
-
-#define KC_TMB1 KC_LA(TAB)
-#define KC_TMB2 KC_LS(SPC)
-#define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped
-#define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped
-#define KC_TMB5 KC_RC(BSPC)
-#define KC_TMB6 KC_RG(ENT)
-#define KC_TMB7 KC_RC(DEL)
+#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
+#define __KC_TRNS_x6__ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
 
+// clang-format off
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-  [_EDVORAK] = LAYOUT_kc(
-  //,----+----+-----+-----+-----+----.           ,----+-----+-----+-----+----+----.
-     GRV ,EXLM, AT  ,HASH , DLR ,PERC,            CIRC,AMPR ,ASTR ,LPRN ,RPRN,BSPC,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-     TAB ,QUOT,COMM , DOT ,  Y  , Q  ,             F  ,  G  ,  R  ,  W  , P  ,BSLS,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-     EQL , A  ,LA(O),LG(E),LC(I), U  ,             D  ,RS(T),RG(N),RA(S), M  ,MINS,
-  //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
-     ESC ,SCLN,  X  ,  C  ,  V  , Z  , NO ,   NO , H  ,  J  ,  K  ,  L  , B  ,SLSH,
-  //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
-                           TMB1,TMB2,TMB3,    TMB4,TMB5,TMB6
-  //                      `----+----+----'   `----+----+----'
+  [L_EDVORAKJP_BASE] = LAYOUT_wrapper(
+  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
+       KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  KC_F18,                             KC_F19,  KC_F20,  KC_F21,  KC_F22,  KC_F23,  KC_F24,
+  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
+       KC_GRV,            __EDVORAKJP_BASE_L1__           ,                                      __EDVORAKJP_BASE_R1__            , KC_BSLS,
+  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
+       KC_EQL,            __EDVORAKJP_BASE_L2__           ,                                      __EDVORAKJP_BASE_R2__            , KC_MINS,
+  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+       KC_ESC,            __EDVORAKJP_BASE_L3__           , XXXXXXX,          XXXXXXX,           __EDVORAKJP_BASE_R3__            , KC_SLSH,
+  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+                                      LA_TAB,  LS_SPC,LOWER_TD,                  RAISE_TD, RC_BSPC,  RG_ENT
+                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
   ),
 
-  [_LOWER] = LAYOUT_kc(
-  //,----+----+------+------+------+----.           ,----+------+------+-------+----+----.
-         ,    ,      ,      ,      ,    ,                ,      ,      ,       ,    ,    ,
-  //|----+----+------+------+------+----|           |----+------+------+-------+----+----|
-         ,    , LCBR , LBRC , LPRN ,    ,                , RPRN , RBRC , RCBR  ,    ,    ,
-  //|----+----+------+------+------+----|           |----+------+------+-------+----+----|
-      F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 ,             F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
-  //|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----|
-     PSCR,    , HOME , PGDN , PGUP ,END ,    ,      ,LEFT, DOWN ,  UP  , RGHT  ,    ,    ,
-  //`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----'
-                                  ,    , NO ,    MAC ,TMB7,
-  //                         `----+----+----'   `----+----+----'
+  [L_EDVORAKJP_LOWER] = LAYOUT_wrapper(
+  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
+                                 __KC_TRNS_x6__           ,                                      __KC_TRNS_x6__                            ,
+  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
+      XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__  , XXXXXXX,                            XXXXXXX,  __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
+  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
+                       __EDVORAKJP_FUNCTION_L__           ,                                      __EDVORAKJP_FUNCTION_R__                  ,
+  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+      KC_PSCR, XXXXXXX,      __EDVORAKJP_PAGE__           , XXXXXXX,          XXXXXXX,           __EDVORAKJP_CURSOR__    , XXXXXXX, XXXXXXX,
+  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+                                     KC_TRNS, KC_TRNS, XXXXXXX,                    KC_MAC,  RC_DEL, KC_TRNS
+                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
   ),
 
-  [_RAISE] = LAYOUT_kc(
-  //,----+----+-----+-----+-----+----.           ,----+-----+-----+-----+----+----.
-         ,    ,     ,     ,     ,    ,                ,     ,     ,     ,    ,    ,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-         ,    ,EXLM , AT  ,HASH ,DLR ,            PERC,CIRC ,AMPR ,ASTR ,    ,    ,
-  //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
-         , 1  ,LA(2),LG(3),LC(4), 5  ,             6  ,RS(7),RG(8),RA(9), 0  ,    ,
-  //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
-     PSCR,    ,HOME ,PGDN ,PGUP ,END ,    ,      ,LEFT,DOWN , UP  ,RGHT ,    ,    ,
-  //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
-                               ,    ,WIN ,     NO ,    ,
-  //                      `----+----+----'   `----+----+----'
+  [L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
+  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
+                                 __KC_TRNS_x6__           ,                                      __KC_TRNS_x6__                            ,
+  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
+      XXXXXXX, XXXXXXX,  __EDVORAKJP_SYMBOL_L__           ,                                      __EDVORAKJP_SYMBOL_R__  , XXXXXXX, XXXXXXX,
+  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
+      XXXXXXX,           __EDVORAKJP_NUMBER_L__           ,                                      __EDVORAKJP_NUMBER_R__           , XXXXXXX,
+  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+      KC_PSCR, XXXXXXX,      __EDVORAKJP_PAGE__           , XXXXXXX,          XXXXXXX,           __EDVORAKJP_CURSOR__    , XXXXXXX, XXXXXXX,
+  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+                                     KC_TRNS, KC_TRNS,  KC_WIN,                   XXXXXXX, KC_TRNS, KC_TRNS
+                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
   )
 };
+// clang-format on
 
-void matrix_init_keymap() {
-}
+void matrix_init_keymap() {}
 
 #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
 uint32_t layer_state_set_keymap(uint32_t state) {
-  rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
-  switch (biton32(state)) {
-    case _LOWER:
-      rgblight_sethsv_noeeprom_red();
-      break;
-    case _RAISE:
-      rgblight_sethsv_noeeprom_blue();
-      break;
-    default: // for any other layers, or the default layer
-      rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
-      get_japanese_mode() ? rgblight_sethsv_noeeprom_red() : rgblight_sethsv_noeeprom_green();
-      break;
-  }
-  return state;
+    rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
+    switch (biton32(state)) {
+        case L_EDVORAKJP_LOWER:
+            rgblight_sethsv_noeeprom_red();
+            break;
+        case L_EDVORAKJP_RAISE:
+            rgblight_sethsv_noeeprom_green();
+            break;
+        default:  // for any other layers, or the default layer
+            rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
+            rgblight_sethsv_red();
+            break;
+    }
+    return state;
 }
 #endif

+ 9 - 19
users/edvorakjp/edvorakjp.c

@@ -1,32 +1,22 @@
 #include "edvorakjp.h"
 
 void matrix_init_user(void) {
-  edvorakjp_status_init();
-  matrix_init_keymap();
+    edvorakjp_status_init();
+    matrix_init_keymap();
 }
 
-__attribute__ ((weak))
-void matrix_init_keymap() {}
+__attribute__((weak)) void matrix_init_keymap() {}
 
 uint32_t layer_state_set_user(uint32_t state) {
-  state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-  return layer_state_set_keymap(state);
+    state = update_tri_layer_state(state, L_EDVORAKJP_LOWER, L_EDVORAKJP_RAISE, L_EDVORAKJP_ADJUST);
+    return layer_state_set_keymap(state);
 }
 
-__attribute__ ((weak))
-uint32_t layer_state_set_keymap(uint32_t state) {
-  return state;
-}
+__attribute__((weak)) uint32_t layer_state_set_keymap(uint32_t state) { return state; }
 
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  return process_record_keymap(keycode, record) &&\
-         process_record_edvorakjp_swap_scln(keycode, record) &&\
-         process_record_edvorakjp_config(keycode, record) &&\
-         process_record_layer(keycode, record) &&\
-         process_record_ime(keycode, record);
+    bool process_record_user_result = process_record_keymap(keycode, record) && process_record_edvorakjp_swap_scln(keycode, record) && process_record_edvorakjp_config(keycode, record) && process_record_layer(keycode, record) && process_record_ime(keycode, record);
+    return process_record_user_result;
 }
 
-__attribute__ ((weak))
-bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
-  return true;
-}
+__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }

+ 53 - 33
users/edvorakjp/edvorakjp.h

@@ -1,54 +1,76 @@
-#ifndef EDVORAKJP
-#define EDVORAKJP
+#pragma once
 
 #include "quantum.h"
 #include "action_layer.h"
 
 #define EECONFIG_EDVORAK (uint8_t *)20
 
+// clang-format off
+#define __EDVORAKJP_BASE_L1__               KC_QUOTE,      KC_COMMA,               KC_DOT,           KC_Y,          KC_Q
+#define __EDVORAKJP_BASE_L2__                   KC_A,  LALT_T(KC_O),         LGUI_T(KC_E),   LCTL_T(KC_I),          KC_U
+#define __EDVORAKJP_BASE_L3__              KC_SCOLON,          KC_X,                 KC_C,           KC_V,          KC_Z
+
+#define __EDVORAKJP_BASE_R1__                   KC_F,          KC_G,                 KC_R,           KC_W,          KC_P
+#define __EDVORAKJP_BASE_R2__                   KC_D,  RSFT_T(KC_T),         RGUI_T(KC_N),   RALT_T(KC_S),          KC_M
+#define __EDVORAKJP_BASE_R3__                   KC_H,          KC_J,                 KC_K,           KC_L,          KC_B
+
+#define __EDVORAKJP_NUMBER_L__                  KC_1,  LALT_T(KC_2),         LGUI_T(KC_3),   LCTL_T(KC_4),          KC_5
+#define __EDVORAKJP_NUMBER_R__                  KC_6,  RSFT_T(KC_7),         RGUI_T(KC_8),   RALT_T(KC_9),          KC_0
+
+#define __EDVORAKJP_FUNCTION_L__               KC_F1,         KC_F2,        LALT_T(KC_F3),  LGUI_T(KC_F4), LCTL_T(KC_F5),  KC_F6
+#define __EDVORAKJP_FUNCTION_R__               KC_F7, RSFT_T(KC_F8),        RGUI_T(KC_F9), RALT_T(KC_F10),        KC_F11, KC_F12
+
+#define __EDVORAKJP_SYMBOL_L__            KC_EXCLAIM,         KC_AT,              KC_HASH,      KC_DOLLAR
+#define __EDVORAKJP_SYMBOL_R__            KC_PERCENT, KC_CIRCUMFLEX,         KC_AMPERSAND,    KC_ASTERISK
+
+#define __EDVORAKJP_BRACKET_L__  KC_LEFT_CURLY_BRACE,   KC_LBRACKET,        KC_LEFT_PAREN
+#define __EDVORAKJP_BRACKET_R__       KC_RIGHT_PAREN,   KC_RBRACKET, KC_RIGHT_CURLY_BRACE
+
+#define __EDVORAKJP_PAGE__                   KC_HOME,     KC_PGDOWN,              KC_PGUP,         KC_END
+#define __EDVORAKJP_CURSOR__                 KC_LEFT,       KC_DOWN,                KC_UP,       KC_RIGHT
+
+#define LA_TAB  LALT_T(KC_TAB)
+#define LS_SPC  LSFT_T(KC_SPACE)
+#define RC_BSPC RCTL_T(KC_BSPACE)
+#define RC_DEL  RCTL_T(KC_DELETE)
+#define RG_ENT  RGUI_T(KC_ENTER)
+
+#define LOWER_TD TD(TD_EDVORAKJP_LOWER)
+#define RAISE_TD TD(TD_EDVORAKJP_RAISE)
+// clang-format on
+
 extern keymap_config_t keymap_config;
 
 enum edvorakjp_layers {
-  _EDVORAK = 0,
-  _LOWER,
-  _RAISE,
-  _ADJUST,
-  _EXTRA,
+    L_EDVORAKJP_BASE = 0,
+    L_EDVORAKJP_LOWER,
+    L_EDVORAKJP_RAISE,
+    L_EDVORAKJP_ADJUST,
+    L_EDVORAKJP_EXTRA,
 };
 
 enum edvorakjp_keycodes {
-  EDVORAK = SAFE_RANGE,
-  LOWER,
-  RAISE,
-  KC_MAC,
-  KC_WIN,
-  KC_JPN,
-  KC_ENG,
-  NEW_SAFE_RANGE
+    KC_EDVORAKJP_LOWER = SAFE_RANGE,
+    KC_EDVORAKJP_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
+    TD_EDVORAKJP_LOWER = 0,
+    TD_EDVORAKJP_RAISE,
 };
 
 // base
-void dvorakj_layer_off(void);
-void matrix_init_user(void);
-void matrix_init_keymap(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);
+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);
@@ -66,5 +88,3 @@ 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

+ 61 - 61
users/edvorakjp/edvorakjp_process_record.c

@@ -9,81 +9,81 @@ static uint16_t time_on_pressed;
  */
 bool process_record_edvorakjp_swap_scln(uint16_t keycode, keyrecord_t *record) {
 #ifdef SWAP_SCLN
-  static const uint8_t shift_bits = MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT);
-  static uint8_t last_mods_status;
-  if (keycode == KC_SCLN) {
-    if (record->event.pressed) {
-      last_mods_status = get_mods();
+    static const uint8_t shift_bits = MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT);
+    static uint8_t       last_mods_status;
+    if (keycode == KC_SCLN) {
+        if (record->event.pressed) {
+            last_mods_status = get_mods();
 
-      // invert shift_bits
-      if (last_mods_status & shift_bits) {
-        set_mods(last_mods_status & ~shift_bits);
-      } else {
-        set_mods(last_mods_status | MOD_BIT(KC_LSFT));
-      }
-    } else {
-      set_mods(last_mods_status);
-      last_mods_status = 0;
+            // invert shift_bits
+            if (last_mods_status & shift_bits) {
+                set_mods(last_mods_status & ~shift_bits);
+            } else {
+                set_mods(last_mods_status | MOD_BIT(KC_LSFT));
+            }
+        } else {
+            set_mods(last_mods_status);
+            last_mods_status = 0;
+        }
     }
-  }
 #endif
-  return true;
+    return true;
 }
 
 bool process_record_edvorakjp_config(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case KC_MAC:
-    case KC_WIN:
-      if (record->event.pressed) {
-        set_enable_kc_lang(keycode == KC_MAC);
-      }
-      return false;
-  }
-  return true;
+    switch (keycode) {
+        case KC_MAC:
+        case KC_WIN:
+            if (record->event.pressed) {
+                set_enable_kc_lang(keycode == KC_MAC);
+            }
+            return false;
+    }
+    return true;
 }
 
 bool process_record_layer(uint16_t keycode, keyrecord_t *record) {
 #if TAP_DANCE_ENABLE != yes
-  switch (keycode) {
-    case LOWER:
-      if (record->event.pressed) {
-        layer_on(_LOWER);
-        time_on_pressed = record->event.time;
-      } else {
-        layer_off(_LOWER);
+    switch (keycode) {
+        case KC_EDVORAKJP_LOWER:
+            if (record->event.pressed) {
+                layer_on(L_EDVORAKJP_LOWER);
+                time_on_pressed = record->event.time;
+            } else {
+                layer_off(L_EDVORAKJP_LOWER);
 
-        if (TIMER_DIFF_16(record->event.time, time_on_pressed) < TAPPING_TERM) {
-          set_japanese_mode(false);
-        }
-        time_on_pressed = 0;
-      }
-      return false;
-    case RAISE:
-      if (record->event.pressed) {
-        layer_on(_RAISE);
-        time_on_pressed = record->event.time;
-      } else {
-        layer_off(_RAISE);
+                if (TIMER_DIFF_16(record->event.time, time_on_pressed) < TAPPING_TERM) {
+                    set_japanese_mode(false);
+                }
+                time_on_pressed = 0;
+            }
+            return false;
+        case KC_EDVORAKJP_RAISE:
+            if (record->event.pressed) {
+                layer_on(L_EDVORAKJP_RAISE);
+                time_on_pressed = record->event.time;
+            } else {
+                layer_off(L_EDVORAKJP_RAISE);
 
-        if (TIMER_DIFF_16(record->event.time, time_on_pressed) < TAPPING_TERM) {
-          set_japanese_mode(true);
-        }
-        time_on_pressed = 0;
-      }
-      return false;
-  }
+                if (TIMER_DIFF_16(record->event.time, time_on_pressed) < TAPPING_TERM) {
+                    set_japanese_mode(true);
+                }
+                time_on_pressed = 0;
+            }
+            return false;
+    }
 #endif
-  return true;
+    return true;
 }
 
 bool process_record_ime(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case KC_JPN:
-    case KC_ENG:
-      if (record->event.pressed) {
-        set_japanese_mode(keycode == KC_JPN);
-      }
-      return false;
-  }
-  return true;
+    switch (keycode) {
+        case KC_JPN:
+        case KC_ENG:
+            if (record->event.pressed) {
+                set_japanese_mode(keycode == KC_JPN);
+            }
+            return false;
+    }
+    return true;
 }

+ 25 - 33
users/edvorakjp/edvorakjp_status.c

@@ -2,63 +2,55 @@
 #include "edvorakjp.h"
 
 typedef union {
-  uint8_t raw;
-  struct {
-    bool enable_kc_lang;  // for macOS
-  };
+    uint8_t raw;
+    struct {
+        bool enable_kc_lang;  // for macOS
+    };
 } edvorakjp_config_t;
 static edvorakjp_config_t edvorakjp_config;
 
 typedef struct {
-  bool japanese_mode;
+    bool japanese_mode;
 } edvorakjp_state_t;
 static edvorakjp_state_t edvorakjp_state;
 
 /*
  * private methods
  */
-uint8_t eeconfig_read_edvorakjp(void) {
-  return eeprom_read_byte(EECONFIG_EDVORAK);
-}
+uint8_t eeconfig_read_edvorakjp(void) { return eeprom_read_byte(EECONFIG_EDVORAK); }
 
-void eeconfig_update_edvorakjp(uint8_t val) {
-  eeprom_update_byte(EECONFIG_EDVORAK, val);
-}
+void eeconfig_update_edvorakjp(uint8_t val) { eeprom_update_byte(EECONFIG_EDVORAK, val); }
 
 /*
  * public methods
  */
 void edvorakjp_status_init(void) {
-  edvorakjp_state.japanese_mode = false;
-  edvorakjp_config.raw = eeconfig_read_edvorakjp();
+    edvorakjp_state.japanese_mode = false;
+    edvorakjp_config.raw          = eeconfig_read_edvorakjp();
 }
 
-bool get_enable_kc_lang(void) {
-  return edvorakjp_config.enable_kc_lang;
-}
+bool get_enable_kc_lang(void) { return edvorakjp_config.enable_kc_lang; }
 
 void set_enable_kc_lang(bool new_state) {
-  edvorakjp_config.enable_kc_lang = new_state;
-  eeconfig_update_edvorakjp(edvorakjp_config.raw);
+    edvorakjp_config.enable_kc_lang = new_state;
+    eeconfig_update_edvorakjp(edvorakjp_config.raw);
 }
 
-bool get_japanese_mode(void) {
-  return edvorakjp_state.japanese_mode;
-}
+bool get_japanese_mode(void) { return edvorakjp_state.japanese_mode; }
 
 void set_japanese_mode(bool new_state) {
-  edvorakjp_state.japanese_mode = new_state;
-  if (edvorakjp_state.japanese_mode) {
-    if (edvorakjp_config.enable_kc_lang) {
-      SEND_STRING(SS_TAP(X_LANG1));
-    } else {
-      SEND_STRING(SS_LALT("`"));
-    }
-  } else {
-    if (edvorakjp_config.enable_kc_lang) {
-      SEND_STRING(SS_TAP(X_LANG2));
+    edvorakjp_state.japanese_mode = new_state;
+    if (edvorakjp_state.japanese_mode) {
+        if (edvorakjp_config.enable_kc_lang) {
+            SEND_STRING(SS_TAP(X_LANG1));
+        } else {
+            SEND_STRING(SS_LALT("`"));
+        }
     } else {
-      SEND_STRING(SS_LALT("`"));
+        if (edvorakjp_config.enable_kc_lang) {
+            SEND_STRING(SS_TAP(X_LANG2));
+        } else {
+            SEND_STRING(SS_LALT("`"));
+        }
     }
-  }
 }

+ 43 - 47
users/edvorakjp/edvorakjp_tap_dance.c

@@ -2,72 +2,68 @@
 #include "process_keycode/process_tap_dance.h"
 
 enum tap_state {
-  NONE = 0,
-  SINGLE_TAP = 1,
-  DOUBLE_TAP = 2,
-  HOLD
+    NONE       = 0,
+    SINGLE_TAP = 1,
+    DOUBLE_TAP = 2,
+    HOLD,
 };
 
 typedef struct {
-  uint8_t lower;
-  uint8_t raise;
+    uint8_t lower;
+    uint8_t raise;
 } td_status_t;
 static td_status_t td_status = {NONE, NONE};
 
-int cur_dance(qk_tap_dance_state_t *state) {
-  if (state->interrupted || !state->pressed) {
-    return state->count == 1 ? SINGLE_TAP : DOUBLE_TAP;
-  } else {
-    return HOLD;
-  }
+uint8_t cur_dance(qk_tap_dance_state_t *state) {
+    if (state->interrupted || !state->pressed) {
+        return state->count == 1 ? SINGLE_TAP : DOUBLE_TAP;
+    } else {
+        return HOLD;
+    }
 }
 
 void td_lower_finished(qk_tap_dance_state_t *state, void *user_data) {
-  td_status.lower = cur_dance(state);
-  switch(td_status.lower) {
-    case SINGLE_TAP:
-      set_japanese_mode(false);
-      break;
-    case DOUBLE_TAP:
-      set_japanese_mode(false);
-      register_code(KC_ESC);
-      break;
-    case HOLD:
-      break;
-  }
-  layer_on(_LOWER);
+    td_status.lower = cur_dance(state);
+    switch (td_status.lower) {
+        case SINGLE_TAP:
+            set_japanese_mode(false);
+            break;
+        case DOUBLE_TAP:
+            set_japanese_mode(false);
+            register_code(KC_ESC);
+            break;
+    }
+    layer_on(L_EDVORAKJP_LOWER);
 }
 
 void td_lower_reset(qk_tap_dance_state_t *state, void *user_data) {
-  if (td_status.lower == DOUBLE_TAP) {
-    unregister_code(KC_ESC);
-  }
-  layer_off(_LOWER);
-  td_status.lower = NONE;
+    switch (td_status.lower) {
+        case DOUBLE_TAP:
+            unregister_code(KC_ESC);
+            break;
+    }
+    layer_off(L_EDVORAKJP_LOWER);
+    td_status.lower = NONE;
 }
 
 void td_raise_finished(qk_tap_dance_state_t *state, void *user_data) {
-  td_status.raise = cur_dance(state);
-  switch(td_status.raise) {
-    case DOUBLE_TAP:
-      // same as single
-    case SINGLE_TAP:
-      set_japanese_mode(true);
-      break;
-    case HOLD:
-      break;
-  }
-  layer_on(_RAISE);
+    td_status.raise = cur_dance(state);
+    switch (td_status.raise) {
+        case DOUBLE_TAP:
+            // same as single
+        case SINGLE_TAP:
+            set_japanese_mode(true);
+            break;
+    }
+    layer_on(L_EDVORAKJP_RAISE);
 }
 
 void td_raise_reset(qk_tap_dance_state_t *state, void *user_data) {
-  layer_off(_RAISE);
-  td_status.raise = NONE;
+    layer_off(L_EDVORAKJP_RAISE);
+    td_status.raise = NONE;
 }
 
 qk_tap_dance_action_t tap_dance_actions[] = {
-  [TD_LOWER] =
-    ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_lower_finished, td_lower_reset, 100),
-  [TD_RAISE] =
-    ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_raise_finished, td_raise_reset, 100)
+    [TD_EDVORAKJP_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_lower_finished, td_lower_reset, 150),
+    [TD_EDVORAKJP_RAISE] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_raise_finished, td_raise_reset, 150),
 };