🐣

keymap.c 14:43 2024/09/02

2024/09/02に公開

/* keymap_c_14:43 2024/09/02 */

#include QMK_KEYBOARD_H
enum layer_number {
    _BASE0 = 0,_AAA1,_ENG2,_NUM3,_MOD4,_MOD5,_MOD6,_MOD7,_MOD8,_MOD9,_MOD10,_MOD11,_MOD12,
};
enum custom_keycodes {
    ROW_B = SAFE_RANGE,
    WCLICK,
    TCLICK,
    VOICE,
    KEYWORD,
    PRN,
    BRC,
    XXX,
    UNDS,
    ROW2,
    ROW3,
    ROW4,
    ROW0,
    ROW_2,
    ROW_3,
    ROW_0,
    ROW_C,
    ROW_V,
    ROW_X,
    ROW,
    ALL,
    ALL_C,
    ALL_V,
    ALL_X,
    ADDRESS,
    MAXIMIZE,
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
    case ROW_B:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)) SS_LCTL("b"));
        } else {
        }
        break;
    case WCLICK:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_TAP(X_BTN1));
        } else {
        }
        break;
    case TCLICK:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_TAP(X_BTN1) SS_TAP(X_BTN1));
        } else {
        }
        break;
    case VOICE:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_LNG1) SS_RCTL(SS_LSFT("s")));
        } else {
        }
        break;
    case PRN:
        if (record->event.pressed) {
        SEND_STRING("()");
        } else {
        }
        break;
    case BRC:
        if (record->event.pressed) {
        SEND_STRING("[]");
        } else {
        }
        break;
    case XXX:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_LNG2) "XXXXXXX");
        } else {
        }
        break;
    case UNDS:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_LNG2) "_" SS_TAP(X_LNG1));
        } else {
        }
        break;
    case ROW2:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_HOME) SS_TAP(X_LNG2) "##" SS_TAP(X_SPACE) SS_TAP(X_LNG1));
        } else {
        }
        break;
    case ROW3:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_HOME) SS_TAP(X_LNG2) "###" SS_TAP(X_SPACE) SS_TAP(X_LNG1));
        } else {
        }
        break;
    case ROW4:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_HOME) SS_TAP(X_LNG2) "####" SS_TAP(X_SPACE) SS_TAP(X_LNG1));
        } else {
        }
        break;
    case ROW0:
        if (record->event.pressed) {
        SEND_STRING(SS_LALT(SS_LCTL("0")));
        } else {
        }
        break;
    case KEYWORD:
        if (record->event.pressed) {
        SEND_STRING(SS_LCTL("c") SS_TAP(X_ESC) "@");
        } else {
        }
        break;
    case ROW_2:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)) SS_LALT(SS_LCTL("2")));
        } else {
        }
        break;
    case ROW_3:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)) SS_LALT(SS_LCTL("3")));
        } else {
        }
        break;
    case ROW_0:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)) SS_LALT(SS_LCTL("0")));
        } else {
        }
        break;
    case ROW_C:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)) SS_LCTL("c"));
        } else {
        }
        break;
    case ROW_V:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)) SS_LCTL("v"));
        } else {
        }
        break;
    case ROW_X:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)) SS_LCTL("x"));
        } else {
        }
        break;
    case ROW:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)));
        } else {
        }
        break;
    case ALL:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_LCTL("a"));
        } else {
        }
        break;
    case ALL_C:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_LCTL("a") SS_LCTL("c"));
        } else {
        }
        break;
    case ALL_V:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_LCTL("a") SS_LCTL("v"));
        } else {
        }
        break;
    case ALL_X:
        if (record->event.pressed) {
        SEND_STRING(SS_TAP(X_BTN1) SS_LCTL("a") SS_LCTL("x"));
        } else {
        }
        break;
    case ADDRESS:
        if (record->event.pressed) {
        SEND_STRING(SS_LCTL("l") SS_TAP(X_DEL) SS_TAP(X_LNG2));
        } else {
        }
        break;
    case MAXIMIZE:
        if (record->event.pressed) {
        SEND_STRING(SS_LALT(SS_TAP(X_SPC)) SS_DELAY(120) "x");
        } else {
        }
        break;
    }
    return true;
};

enum {
    TD_A,TD_B,TD_C,TD_D,TD_E,TD_F,TD_G,TD_H,TD_I,TD_J,TD_K,TD_L,TD_M,
    TD_N,TD_O,TD_P,TD_Q,TD_R,TD_S,TD_T,TD_U,TD_V,TD_W,TD_X,TD_Y,TD_Z,
    TD_VVV,
    TD_CCC,
    TD_HSH,
    TD_ESE,
    TD_ZAY,
    TD_HAF,
    TD_AAF,
    TD_CAL,
    TD_SAR,
    TD_HAC,
    TD_2CA,
    TD_3CA,
    TD_0CA,
    TD_WAT,
    TD_EAU,
    TD_QAD,
    TD_CAX,
    TD_CAA,
    TD_LPA,
    TD_RPA,
    TD_LBC,
    TD_RBC,
    TD_VAH,
    TD_USU,
    TD_DSD,
    TD_CSC,
    TD_DSQ,
    TD_SBS,
    TD_ASA,
    TD_GAC,
    TD_HAD,
    TD_DDD,
    TD_PPC,
    TD_EAA,
    TD_LWL,
    TD_RWR,
    TD_UAM,
    TD_TAP,
    TD_UAH,
    TD_DAE,
    TD_USH,
    TD_DSE,
    TD_SUCSH,
    TD_SDCSE,
    TD_L_WL,
    TD_R_WR,
    TD_L_GL,
    TD_R_GR,
    TD_U_MU,
    TD_D_MD,
    TD_L_ML,
    TD_R_MR,
};

tap_dance_action_t tap_dance_actions[] = {
    [TD_A] = ACTION_TAP_DANCE_DOUBLE(KC_A, S(KC_A)),
    [TD_B] = ACTION_TAP_DANCE_DOUBLE(KC_B, S(KC_B)),
    [TD_C] = ACTION_TAP_DANCE_DOUBLE(KC_C, S(KC_C)),
    [TD_D] = ACTION_TAP_DANCE_DOUBLE(KC_D, S(KC_D)),
    [TD_E] = ACTION_TAP_DANCE_DOUBLE(KC_E, S(KC_E)),
    [TD_F] = ACTION_TAP_DANCE_DOUBLE(KC_F, S(KC_F)),
    [TD_G] = ACTION_TAP_DANCE_DOUBLE(KC_G, S(KC_G)),
    [TD_H] = ACTION_TAP_DANCE_DOUBLE(KC_H, S(KC_H)),
    [TD_I] = ACTION_TAP_DANCE_DOUBLE(KC_I, S(KC_I)),
    [TD_J] = ACTION_TAP_DANCE_DOUBLE(KC_J, S(KC_J)),
    [TD_K] = ACTION_TAP_DANCE_DOUBLE(KC_K, S(KC_K)),
    [TD_L] = ACTION_TAP_DANCE_DOUBLE(KC_L, S(KC_L)),
    [TD_M] = ACTION_TAP_DANCE_DOUBLE(KC_M, S(KC_M)),
    [TD_N] = ACTION_TAP_DANCE_DOUBLE(KC_N, S(KC_N)),
    [TD_O] = ACTION_TAP_DANCE_DOUBLE(KC_O, S(KC_O)),
    [TD_P] = ACTION_TAP_DANCE_DOUBLE(KC_P, S(KC_P)),
    [TD_Q] = ACTION_TAP_DANCE_DOUBLE(KC_Q, S(KC_Q)),
    [TD_R] = ACTION_TAP_DANCE_DOUBLE(KC_R, S(KC_R)),
    [TD_S] = ACTION_TAP_DANCE_DOUBLE(KC_S, S(KC_S)),
    [TD_T] = ACTION_TAP_DANCE_DOUBLE(KC_T, S(KC_T)),
    [TD_U] = ACTION_TAP_DANCE_DOUBLE(KC_U, S(KC_U)),
    [TD_V] = ACTION_TAP_DANCE_DOUBLE(KC_V, S(KC_V)),
    [TD_W] = ACTION_TAP_DANCE_DOUBLE(KC_W, S(KC_W)),
    [TD_X] = ACTION_TAP_DANCE_DOUBLE(KC_X, S(KC_X)),
    [TD_Y] = ACTION_TAP_DANCE_DOUBLE(KC_Y, S(KC_Y)),
    [TD_Z] = ACTION_TAP_DANCE_DOUBLE(KC_Z, S(KC_Z)),
    [TD_VVV] = ACTION_TAP_DANCE_DOUBLE(RCS(KC_V),    C(KC_V)),
    [TD_VAH] = ACTION_TAP_DANCE_DOUBLE(RCS(KC_V),    C(KC_H)),
    [TD_CCC] = ACTION_TAP_DANCE_DOUBLE(C(KC_C),      RCS(KC_C)),
    [TD_HSH] = ACTION_TAP_DANCE_DOUBLE(KC_HOME,      S(KC_HOME)),
    [TD_ESE] = ACTION_TAP_DANCE_DOUBLE(KC_END,       S(KC_END)),
    [TD_ZAY] = ACTION_TAP_DANCE_DOUBLE(C(KC_Z),      C(KC_Y)),
    [TD_HAF] = ACTION_TAP_DANCE_DOUBLE(C(KC_H),      C(KC_F)),
    [TD_AAF] = ACTION_TAP_DANCE_DOUBLE(KC_ASTR,      G(KC_UP)),
    [TD_CAL] = ACTION_TAP_DANCE_DOUBLE(KC_COLN,      G(KC_LEFT)),
    [TD_SAR] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH,      G(KC_RGHT)),
    [TD_HAC] = ACTION_TAP_DANCE_DOUBLE(C(KC_SPC),    KC_CAPS),
    [TD_2CA] = ACTION_TAP_DANCE_DOUBLE(KC_2,         LCA(KC_2)),
    [TD_3CA] = ACTION_TAP_DANCE_DOUBLE(KC_3,         LCA(KC_3)),
    [TD_0CA] = ACTION_TAP_DANCE_DOUBLE(KC_0,         LCA(KC_0)),
    [TD_WAT] = ACTION_TAP_DANCE_DOUBLE(C(KC_W),      RCS(KC_T)),
    [TD_EAU] = ACTION_TAP_DANCE_DOUBLE(KC_EXLM,      RCS(KC_PGUP)),
    [TD_QAD] = ACTION_TAP_DANCE_DOUBLE(KC_QUES,      RCS(KC_PGDN)),
    [TD_CAX] = ACTION_TAP_DANCE_DOUBLE(C(KC_C),      C(KC_X)),
    [TD_CAA] = ACTION_TAP_DANCE_DOUBLE(A(KC_TAB),    LCA(KC_TAB)),
    [TD_LPA] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN,      KC_LCBR),
    [TD_RPA] = ACTION_TAP_DANCE_DOUBLE(KC_RPRN,      KC_RCBR),
    [TD_LBC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC,      KC_LABK),
    [TD_RBC] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC,      KC_RABK),
    [TD_USU] = ACTION_TAP_DANCE_DOUBLE(KC_UP,        S(KC_UP)),
    [TD_DSD] = ACTION_TAP_DANCE_DOUBLE(KC_DOWN,      S(KC_DOWN)),
    [TD_CSC] = ACTION_TAP_DANCE_DOUBLE(KC_COLN,      KC_SCLN),
    [TD_DSQ] = ACTION_TAP_DANCE_DOUBLE(KC_DQUO,      KC_QUOT),
    [TD_SBS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH,      KC_BSLS),
    [TD_ASA] = ACTION_TAP_DANCE_DOUBLE(KC_ASTR,      KC_AT),
    [TD_GAC] = ACTION_TAP_DANCE_DOUBLE(KC_GRV,       KC_CIRC),
    [TD_HAD] = ACTION_TAP_DANCE_DOUBLE(KC_HASH,      KC_DLR),
    [TD_DDD] = ACTION_TAP_DANCE_DOUBLE(KC_DEL,       S(KC_DEL)),
    [TD_PPC] = ACTION_TAP_DANCE_DOUBLE(KC_PLUS,      KC_PERC),
    [TD_EAA] = ACTION_TAP_DANCE_DOUBLE(KC_EQL,       KC_AMPR),
    [TD_UAM] = ACTION_TAP_DANCE_DOUBLE(KC_UNDS,      KC_MINS),
    [TD_TAP] = ACTION_TAP_DANCE_DOUBLE(KC_TILD,      KC_PIPE),
    [TD_UAH] = ACTION_TAP_DANCE_DOUBLE(KC_UP,        KC_HOME),
    [TD_DAE] = ACTION_TAP_DANCE_DOUBLE(KC_DOWN,      KC_END),
    [TD_USH] = ACTION_TAP_DANCE_DOUBLE(S(KC_UP),     S(KC_HOME)),
    [TD_DSE] = ACTION_TAP_DANCE_DOUBLE(S(KC_DOWN),   S(KC_END)),
    [TD_SUCSH] = ACTION_TAP_DANCE_DOUBLE(S(KC_UP),   RCS(KC_HOME)),
    [TD_SDCSE] = ACTION_TAP_DANCE_DOUBLE(S(KC_DOWN), RCS(KC_END)),
    [TD_L_GL] = ACTION_TAP_DANCE_DOUBLE(KC_LEFT,     G(KC_LEFT)),
    [TD_R_GR] = ACTION_TAP_DANCE_DOUBLE(KC_RGHT,     G(KC_RGHT)),
    [TD_L_WL] = ACTION_TAP_DANCE_DOUBLE(KC_LEFT,     KC_WH_L),
    [TD_R_WR] = ACTION_TAP_DANCE_DOUBLE(KC_RGHT,     KC_WH_R),
    [TD_U_MU] = ACTION_TAP_DANCE_DOUBLE(KC_UP,       KC_MS_U),
    [TD_D_MD] = ACTION_TAP_DANCE_DOUBLE(KC_END,      KC_MS_D),
    [TD_L_ML] = ACTION_TAP_DANCE_DOUBLE(KC_LEFT,     KC_MS_L),
    [TD_R_MR] = ACTION_TAP_DANCE_DOUBLE(KC_RGHT,     KC_MS_R),
};

#define COLN_SCLN    TD(TD_CSC)
#define SLSH_BSLS    TD(TD_SBS)
#define UP_HOME      TD(TD_UAH)
#define DOWN_END     TD(TD_DAE)
#define CSV_CV       TD(TD_VVV)
#define CW_CST       TD(TD_WAT)
#define CZ_CY        TD(TD_ZAY)
#define DEL_SDEL     TD(TD_DDD)
#define SUP_SHOME    TD(TD_USH)
#define SDOWN_SEND   TD(TD_DSE)
#define HASH_DLR     TD(TD_HAD)
#define GRV_CIRC     TD(TD_GAC)
#define DQUO_QUOT    TD(TD_DSQ)
#define TILD_PIPE    TD(TD_TAP)
#define UNDS_MINS    TD(TD_UAM)
#define ASTR_AT      TD(TD_ASA)
#define LBRC_LCBR    TD(TD_LBC)
#define RBRC_RCBR    TD(TD_RBC)
#define LPRN_LABK    TD(TD_LPA)
#define RPRN_RABK    TD(TD_RPA)
#define EQL_AMPR     TD(TD_EAA)
#define PLUS_PERC    TD(TD_PPC)
#define CC_CX        TD(TD_CAX)
#define HANKAKU      KC_LNG2
#define ZENKAKU      KC_LNG1
#define CC_CSC       TD(TD_CCC)
#define ZENHAN       C(KC_SPC)
#define LINK         C(KC_K)
#define SUP_CSHOME   TD(TD_SUCSH)
#define SDOWN_CSEND  TD(TD_SDCSE)
#define SFT_MPLY     SFT_T(KC_MPLY)
#define LEFT_WHL     TD(TD_L_WL)
#define RGHT_WHR     TD(TD_R_WR)
#define L_GL         TD(TD_L_GL)
#define R_GR         TD(TD_R_GR)
#define U_MU         TD(TD_U_MU)
#define D_MD         TD(TD_D_MD)
#define L_ML         TD(TD_L_ML)
#define R_MR         TD(TD_R_MR)
#define SFT_BTN1     S(KC_BTN1)
#define POWEROFF     A(C(KC_DEL))

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE0] = LAYOUT(
    LT(9,KC_F5),  LT(7,KC_DOT), LT(6,KC_COMM),KC_UP,        KC_F7,         /*    */    C(KC_V),      S(KC_UP),     S(KC_HOME),   S(KC_END),    XXXXXXX,
    LT(3,KC_ESC), KC_LEFT,      KC_RGHT,      LT(4,KC_BTN1),WCLICK,        /*    */    C(KC_X),      VOICE,        S(KC_LEFT),   S(KC_RGHT),   KEYWORD,
    LT(8,KC_TAB), KC_VOLD,      KC_VOLU,      KC_DOWN,      LT(5,KC_SPC),  /*    */    LT(3,KC_F7),  S(KC_DOWN),   XXXXXXX,      XXXXXXX,      XXXXXXX,
    KC_MPLY,      KC_MUTE,      KC_F11,       LT(1,KC_BSPC),LT(2,KC_ENT),  /*    */    LT(1,KC_DEL), C(KC_W),      XXXXXXX,      XXXXXXX,      XXXXXXX),
[_AAA1] = LAYOUT(
    TD(TD_L),     TD(TD_O),     TD(TD_E),     TD(TD_Y),     TD(TD_W),      /*    */    KC_P,         KC_R,         KC_T,         KC_S,         KC_X,
    TD(TD_A),     TD(TD_J),     TD(TD_C),     TD(TD_I),     TD(TD_F),      /*    */    KC_H,         KC_N,         KC_D,         KC_Z,         KC_K,
    TD(TD_Q),     XXXXXXX,      XXXXXXX,      TD(TD_U),     TD(TD_V),      /*    */    KC_B,         KC_M,         XXXXXXX,      XXXXXXX,      KC_G,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      KC_BSPC,      SFT_T(KC_MINS),/*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX),
[_ENG2] = LAYOUT(
    TD(TD_X),     TD(TD_S),     TD(TD_T),     TD(TD_R),     TD(TD_P),      /*    */    KC_MUTE,      KC_MPLY,      KC_VOLD,      KC_VOLU,      XXXXXXX,
    TD(TD_K),     TD(TD_Z),     TD(TD_D),     TD(TD_N),     TD(TD_H),      /*    */    XXXXXXX,      MAXIMIZE,     G(KC_LEFT),   G(KC_RGHT),   XXXXXXX,
    TD(TD_G),     XXXXXXX,      XXXXXXX,      TD(TD_M),     TD(TD_B),      /*    */    XXXXXXX,      KC_F11,       XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      QK_BOOT,      XXXXXXX,       /*    */    HANKAKU,      ZENKAKU,      XXXXXXX,      XXXXXXX,      XXXXXXX),
[_NUM3] = LAYOUT(
    XXXXXXX,      KC_1,         KC_2,         KC_3,         KC_4,          /*    */    KC_AT,        KC_ASTR,      KC_PLUS,      KC_MINS,      XXXXXXX,
    XXXXXXX,      KC_5,         KC_6,         KC_7,         KC_8,          /*    */    BRC,          KC_EQL,       KC_PERC,      KC_AMPR,      KC_SLSH,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      KC_9,         KC_0,          /*    */    PRN,          XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      ZENKAKU,      HANKAKU,       /*    */    KC_UNDS,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX),
[_MOD4] = LAYOUT(
    ASTR_AT,      COLN_SCLN,    SLSH_BSLS,    XXXXXXX,      XXXXXXX,       /*    */    KC_MS_WH_UP,  KC_MS_UP,     RCS(KC_TAB),  C(KC_TAB),    XXXXXXX,
    VOICE,        KC_EXLM,      KC_QUES,      XXXXXXX,      G(KC_L),       /*    */    KC_BTN2,      LCA(KC_TAB),  KC_MS_LEFT,   KC_MS_RIGHT,  KC_F5,
    TILD_PIPE,    XXXXXXX,      XXXXXXX,      C(KC_Y),      C(KC_Z),       /*    */    KC_MS_WH_DOWN,KC_MS_DOWN,   XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      KC_DEL,       C(KC_W),       /*    */    C(KC_T),      RCS(KC_T),    XXXXXXX,      XXXXXXX,      XXXXXXX),
[_MOD5] = LAYOUT(	
    C(KC_V),      S(KC_HOME),   S(KC_END),    S(KC_UP),     ALL,           /*    */    ROW_0,        ROW2,         ROW3,         ROW4,         XXXXXXX,
    RCS(KC_V),    S(KC_LEFT),   S(KC_RGHT),   C(KC_C),      C(KC_X),       /*    */    RCS(KC_C),    C(KC_H),      A(KC_UP),     A(KC_DOWN),   C(KC_K),
    KEYWORD,      XXXXXXX,      XXXXXXX,      S(KC_DOWN),   XXXXXXX,       /*    */    C(KC_S),      C(KC_F),      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX),
[_MOD6] = LAYOUT(
    XXXXXXX,      PRN,          XXXXXXX,      C(KC_S),      MAXIMIZE,      /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    BRC,          XXXXXXX,      XXXXXXX,      LCA(KC_TAB),  S(KC_DEL),     /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      RCS(KC_C),    C(KC_H),       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      C(KC_K),      UNDS,          /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX),
[_MOD7] = LAYOUT(
    XXXXXXX,      XXXXXXX,      PLUS_PERC,    UNDS_MINS,    GRV_CIRC,      /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    HASH_DLR,     XXXXXXX,      XXXXXXX,      EQL_AMPR,     DQUO_QUOT,     /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      LBRC_LCBR,    RBRC_RCBR,     /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      LPRN_LABK,    RPRN_RABK,     /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX),
[_MOD8] = LAYOUT( 
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      MAXIMIZE,     XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      G(KC_LEFT),   G(KC_RGHT),    /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX),
[_MOD9] = LAYOUT(
    XXXXXXX,      ROW2,         ROW3,         ROW4,         ROW0,          /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX),
[_MOD10] = LAYOUT(
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX),
[_MOD11] = LAYOUT(
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX),
[_MOD12] = LAYOUT(
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,       /*    */    XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX,      XXXXXXX),
};

https://crowdworks.jp/public/employees/1089210

Discussion