#pragma once #include QMK_KEYBOARD_H #include "keymap_german_mac_iso.h" #ifndef QWERTY_ENABLE # ifndef BONE_ENABLE # ifndef COLEMAK_DH_ENABLE # fail // at least one base layer has to be enabled! # endif // !COLEMAK_DH_ENABLE # endif // !BONE_ENABLE #endif // !QWERTY_ENABLE // one shot shortcuts #define OSM_ALT OSM(MOD_LALT) #define OSM_AGR OSM(MOD_RALT) #define OSM_CTL OSM(MOD_LCTL) #define OSM_GUI OSM(MOD_LGUI) #define OSM_MEH OSM(MOD_MEH) #define OSM_SFT OSM(MOD_LSFT) // layer switching shortcuts #define LOW_TAB LT(LAYER_LOWER, KC_TAB) #define RSE_BSP LT(LAYER_RAISE, KC_BSPC) #define ATT(kc) LT(LAYER_ATTIC, kc) #ifdef TAP_DANCE_ENABLE # define SY_L(kc) TD(SYM_L) # define SY_R(kc) TD(SYM_R) #else # define SY_L(kc) LT(LAYER_SYMBOL, kc) # define SY_R(kc) LT(LAYER_SYMBOL, kc) #endif // TAP_DANCE_ENABLE #ifdef MOUSEKEY_ENABLE # define MS(kc) LT(LAYER_POINTER, kc) #else # define MS(kc) kc #endif // // first and last column for 6 column keyboards: #define SFT_ENT LSFT_T(KC_ENT) #define SFT_SPC RSFT_T(KC_SPC) #define ALT_BSP LALT_T(KC_BSPC) #define CTL_ESC LCTL_T(KC_ESC) /// Enumeration of layers enum userspace_layers { // base layers #ifdef QWERTY_ENABLE LAYER_QWERTY, #endif // QWERTY_ENABLE #ifdef BONE_ENABLE LAYER_BONE, #endif /* ifdef BONE_ENABLE */ #ifdef COLEMAK_DH_ENABLE LAYER_COLEMAK_DH, #endif /* ifdef COLEMAK_DH_ENABLE */ #ifdef GAME_ENABLE LAYER_GAME, #endif /* ifdef GAME_ENABLE */ LAYER_SYMBOL, #ifdef ASETNIOP_ENABLE LAYER_ASETNIOP, #endif /* ifdef ASETNIOP_ENABLE */ #ifdef ARTSENIO_ENABLE // ARTSENIO layers LAYER_ARTSENIO, L_ARTS_NUM, L_ARTS_SYM, L_ARTS_PAR, L_ARTS_NAV, L_ARTS_MSE, #endif /* ifdef ARTSENIO_ENABLE */ // standard layers LAYER_LOWER, LAYER_RAISE, #ifdef MOUSEKEY_ENABLE LAYER_POINTER, #endif // MOUSEKEY_ENABLE LAYER_ATTIC }; // Custom macro keycode ranges enum userspace_custom_keycodes { // Safe stuff BS_SAFE = SAFE_RANGE, DL_PREV, DL_NEXT, NO_MODS, #ifdef ARTSENIO_ENABLE /* AR_START, AR_END, // Dummy key codes for combo definitions */ AR_A, AR_S, AR_E, AR_O, #endif // ARTSENIO_ENABLE #ifdef ASETNIOP_ENABLE /* AS_START, AS_END, // Dummy key codes for combo definitions */ #endif // ASETNIOP_ENABLE DE_RSQU, #ifdef ENCODER_ENABLE // Encoder button(s) BS_ENC0, BS_ENC1, #endif // ENCODER_ENABLE // use for keymap specific codes KEYMAP_SAFE_RANGE }; // Fallbacks to first base layer #ifndef QWERTY_ENABLE # define LAYER_QWERTY 0 #endif // ifndef QWERTY_ENABLE #ifndef BONE_ENABLE # define LAYER_BONE 0 #endif // ifndef BONE_ENABLE #ifndef COLEMAK_DH_ENABLE # define LAYER_COLEMAK_DH 0 #endif // ifndef COLEMAK_DH_ENABLE #ifndef GAME_ENABLE # define LAYER_GAME 0 #endif /* ifndef GAME_ENABLE */ #ifndef ARTSENIO_ENABLE # define LAYER_ARTSENIO 0 #else // artsenio specific layer keys # define AR_A LT(L_ARTS_PAR, DE_A) # define AR_E LT(L_ARTS_SYM, DE_E) # define AR_S LT(L_ARTS_NUM, DE_S) # define AR_O DE_O #endif /* ifndef ARTSENIO_ENABLE */ #ifndef ASETNIOP_ENABLE # define LAYER_ASETNIOP 0 #endif /* ifndef ASETNIOP_ENABLE */ // sticky layers (withstands reset): #define DL_QWER PDF(LAYER_QWERTY) #define DL_BONE PDF(LAYER_BONE) #define DL_CODH PDF(LAYER_COLEMAK_DH) // non-sticky layers (return to saved after reset): #define DL_GAME DF(LAYER_GAME) #define DL_ARTS DF(LAYER_ARTSENIO) #define DL_ASET DF(LAYER_ASETNIOP) #ifdef TAP_DANCE_ENABLE // Tap Dance keycodes enum td_keycodes { // Toggle symbol layer if held, key based on current base layer, else SYM_L, SYM_R }; // Define a type containing as many tapdance states as you need typedef enum { TD_NONE, TD_UNKNOWN, TD_SINGLE_TAP, TD_SINGLE_HOLD, TD_DOUBLE_SINGLE_TAP } td_state_t; // Declare your tapdance functions: // Function to determine the current tapdance state td_state_t cur_dance(tap_dance_state_t *state); // `finished` and `reset` functions for each tapdance keycode void symL_finished(tap_dance_state_t *state, void *user_data); void symL_reset(tap_dance_state_t *state, void *user_data); void symR_finished(tap_dance_state_t *state, void *user_data); void symR_reset(tap_dance_state_t *state, void *user_data); #endif // TAP_DANCE_ENABLE // /// // /* KEYMAPS */ // /// // // first and last column keys for base layer #define _0L1_1_ ALT_BSP #define _0L2_1_ CTL_ESC #define _0L3_1_ LGUI_T(KC_NUBS) // R1 and R2 depend on layout #define _0R1_1_(kc) LALT_T(kc) #define _0R2_1_(kc) RCTL_T(kc) #define _0R3_1_(kc) RGUI_T(kc) // thumbs #define _0L4_2_ KC_ESC, LOW_TAB #define _0L4_3_ KC_ESC, SFT_ENT, LOW_TAB #define _0R4_2_ RSE_BSP, SFT_SPC #define _0R4_3_ _0R4_2_, KC_APP /* THUMBS for base layers * ┌───┬───┬───┐ ┌───┬───┬───┐ * │Esc│Ent│Tab│ │Bsp│Spc│App│ * └───┴───┴LOW┘ └RSE┴───┴───┘ * * * */ #define _THUMBS_3_2_ _0L4_3_, _0R4_2_ #define _THUMBS_3_3_ _0L4_3_, _0R4_3_ #ifdef QWERTY_ENABLE /* QWERTY layout * q │ w │ e │ r │ t z │ u │ i │ o │ p │(ü) * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── ─── * a │ s │ d │ f │ g h │ j │ k │ l │ ö │(ä) * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── ─── * y │ x │ c │ v │ b n │ m │ , │ . │ ß │(Ent) */ # define _QL1_5_ DE_Q, DE_W, DE_E, DE_R, DE_T # define _QL2_5_ SY_L(DE_A), DE_S, DE_D, DE_F, DE_G # define _QL3_5_ MS(DE_Y), DE_X, DE_C, DE_V, DE_B # define _QR1_5_ DE_Z, DE_U, DE_I, DE_O, DE_P # define _QR2_5_ DE_H, DE_J, DE_K, DE_L, SY_R(DE_ODIA) # define _QR3_5_ DE_N, DE_M, DE_COMM, DE_DOT, MS(DE_SS) // # define _QL1_6_ _0L1_1_, _QL1_5_ # define _QL2_6_ _0L2_1_, _QL2_5_ # define _QL3_6_ _0L3_1_, _QL3_5_ # define _QR1_6_ _QR1_5_, _0R1_1_(DE_UDIA) # define _QR2_6_ _QR2_5_, _0R2_1_(DE_ADIA) # define _QR3_6_ _QR3_5_, _0R3_1_(KC_ENT) // # define _QWERTY_3x5_ _QL1_5_, _QR1_5_, _QL2_5_, _QR2_5_, _QL3_5_, _QR3_5_ # define _QWERTY_3x6_ _QL1_6_, _QR1_6_, _QL2_6_, _QR2_6_, _QL3_6_, _QR3_6_ #endif // QWERTY_ENABLE #ifdef BONE_ENABLE /* BONE layout * j │ d │ u │ a │ x p │ h │ l │ m │ w │(ß) * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── ─── * c │ t │ i │ e │ o b │ n │ r │ s │ g │(q) * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── ─── * f │ v │ ü │ ä │ ö y │ z │ , │ . │ k │(Ent) */ # define _BL1_5_ DE_J, DE_D, DE_U, DE_A, DE_X # define _BL2_5_ SY_L(DE_C), DE_T, DE_I, DE_E, DE_O # define _BL3_5_ MS(DE_F), DE_V, DE_UDIA, DE_ADIA, DE_ODIA # define _BR1_5_ DE_P, DE_H, DE_L, DE_M, DE_W # define _BR2_5_ DE_B, DE_N, DE_R, DE_S, SY_R(DE_G) # define _BR3_5_ DE_Y, DE_Z, DE_COMM, DE_DOT, MS(DE_K) // # define _BL1_6_ _0L1_1_, _BL1_5_ # define _BL2_6_ _0L2_1_, _BL2_5_ # define _BL3_6_ _0L3_1_, _BL3_5_ # define _BR1_6_ _BR1_5_, _0R1_1_(DE_SS) # define _BR2_6_ _BR2_5_, _0R2_1_(DE_Q) # define _BR3_6_ _BR3_5_, _0R3_1_(KC_ENT) // # define _BONE_3x5_ _BL1_5_, _BR1_5_, _BL2_5_, _BR2_5_, _BL3_5_, _BR3_5_ # define _BONE_3x6_ _BL1_6_, _BR1_6_, _BL2_6_, _BR2_6_, _BL3_6_, _BR3_6_ #endif // BONE_ENABLE #ifdef COLEMAK_DH_ENABLE /* Colemak Mod-DH layout (german adaption) * q │ w │ f │ p │ b j │ l │ u │ y │ õ │(ü) * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── ─── * a │ r │ s │ t │ g m │ n │ e │ i │ o │(ä) * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── ─── * z │ x │ c │ d │ v k │ h │ , │ . │ ß │(Ent) */ # define _CL1_5_ DE_Q, DE_W, DE_F, DE_P, DE_B # define _CL2_5_ SY_L(DE_A), DE_R, DE_S, DE_T, DE_G # define _CL3_5_ MS(DE_Z), DE_X, DE_C, DE_D, DE_V # define _CR1_5_ DE_J, DE_L, DE_U, DE_Y, DE_ODIA # define _CR2_5_ DE_M, DE_N, DE_E, DE_I, SY_R(DE_O) # define _CR3_5_ DE_K, DE_H, DE_COMM, DE_DOT, MS(DE_SS) // # define _CL1_6_ _0L1_1_, _CL1_5_ # define _CL2_6_ _0L2_1_, _CL2_5_ # define _CL3_6_ _0L3_1_, _CL3_5_ # define _CR1_6_ _BR1_5_, _0R1_1_(DE_SS) # define _CR2_6_ _BR2_5_, _0R2_1_(DE_Q) # define _CR3_6_ _BR3_5_, _0R3_1_(KC_ENT) // # define _COLEMAK_DH_3x5_ _CL1_5_, _CR1_5_, _CL2_5_, _CR2_5_, _CL3_5_, _CR3_5_ # define _COLEMAK_DH_3x6_ _CL1_6_, _CR1_6_, _CL2_6_, _CR2_6_, _CL3_6_, _CR3_6_ #endif // COLEMAK_DH_ENABLE #ifdef GAME_ENABLE /* GAME layout * q │ w │ e │ r │ t 6 │ 7 │ 8 │ 9 │ 0 * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * a │ s │ d │ f │ g ← │ ↓ │ ↑ │ → │Tab * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * y │ x │ c │ v │ b 1 │ 2 │ 3 │ 4 │ 5 * ┌───┬───┬───┐ ┌───┬───┬───┐ * │Esc│Sft│Ctl│ │Spc│Ent│Alt│ * └───┴───┴───┘ └───┴───┴───┘ * * * */ # define _GL1_5_ _QL1_5_ # define _GL2_5_ _QL2_5_ # define _GL3_5_ _QL3_5_ # define _GR1_5_ KC_6, KC_7, KC_8, KC_9, KC_0 # define _GR2_5_ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TAB # define _GR3_5_ KC_1, KC_2, KC_3, KC_4, KC_5 // # define _GL1_6_ KC_NO, _GL1_5_ # define _GL2_6_ KC_NO, _GL2_5_ # define _GL3_6_ KC_NO, _GL3_5_ # define _GR1_6_ _GR1_5_, KC_NO # define _GR2_6_ _GR2_5_, KC_NO # define _GR3_6_ _GR3_5_, KC_NO // # define _GL4_2_ KC_LSFT, KC_LCTL # define _GL4_3_ KC_ESC, _GL4_2_ # define _GR4_2_ KC_SPC, KC_ENT # define _GR4_3_ _GR4_2_, KC_LALT #endif // GAME_ENABLE /* Symbols layer * @ │ _ │ [ │ ] │ ^ ! │ < │ > │ = │ & * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * \ │ / │ { │ } │ * ? │ ( │ ) │ - │ : * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * # │ $ │ | │ ~ │ ´ + │ % │ " │ ' │ ; * ┌───┬───┬───┐ ┌───┬───┬───┐ * │ ° │Sft│ ` │ │AGr│Sft│CWT│ * └───┴───┴───┘ └───┴───┴───┘ * * * */ #define _SL1_5_ DE_AT, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC #define _SL2_5_ DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR #define _SL3_5_ DE_HASH, DE_DLR, DE_PIPE, DE_TILD, DE_ACUT #define _SR1_5_ DE_EXLM, DE_LABK, DE_RABK, DE_EQL, DE_AMPR #define _SR2_5_ DE_QUES, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN #define _SR3_5_ DE_PLUS, DE_PERC, DE_DQUO, DE_QUOT, DE_SCLN // #define _SL1_6_ KC_LALT, _SL1_5_ #define _SL2_6_ KC_LCTL, _SL2_5_ #define _SL3_6_ KC_LGUI, _SL3_5_ #define _SR1_6_ _SR1_5_, KC_LALT #define _SR2_6_ _SR2_5_, KC_RCTL #define _SR3_6_ _SR3_5_, KC_RGUI // #define _SL4_2_ KC_LSFT, DE_GRV #define _SL4_3_ DE_DEG, _SL4_2_ #define _SR4_2_ KC_RALT, KC_LSFT #define _SR4_3_ _SR4_2_, CW_TOGG // #define _SYMBOLS_3x5_ _SL1_5_, _SR1_5_, _SL2_5_, _SR2_5_, _SL3_5_, _SR3_5_ #define _SYMBOLS_3x6_ _SL1_6_, _SR1_6_, _SL2_6_, _SR2_6_, _SL3_6_, _SR3_6_ /* Lower: Numbers and function keys * F1 │F2 │F3 │F4 │ § / │ 7 │ 8 │ 9 │ - * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * F5 │F6 │F7 │F8 │ € + │ 4 │ 5 │ 6 │ . * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * F9 │F10│F11│F12│ ¢ 0 │ 1 │ 2 │ 3 │ , * ┌───┬───┬───┐ ┌───┬───┬───┐ * │Bsp│Sft│(v)│ │Del│Sft│XXX│ * └───┴───┴───┘ └ATT┴───┴───┘ * * * */ #define _LL1_5_ KC_F1, KC_F2, KC_F3, KC_F4, DE_SECT #define _LL2_5_ KC_F5, KC_F6, KC_F7, KC_F8, DE_EURO #define _LL3_5_ KC_F9, KC_F10, KC_F11, KC_F12, DE_CENT #define _LR1_5_ DE_SLSH, DE_7, DE_8, DE_9, DE_MINS #define _LR2_5_ DE_PLUS, DE_4, DE_5, DE_6, DE_DOT #define _LR3_5_ DE_0, DE_1, DE_2, DE_3, DE_COMM // #define _LL1_6_ KC_LALT, _LL1_5_ #define _LL2_6_ KC_LCTL, _LL2_5_ #define _LL3_6_ KC_LGUI, _LL3_5_ #define _LR1_6_ _LR1_5_, KC_LALT #define _LR2_6_ _LR2_5_, KC_RCTL #define _LR3_6_ _LR3_5_, KC_RGUI // #define _LL4_2_ KC_LSFT, KC_TRNS #define _LL4_3_ KC_BSPC, _LL4_2_ #define _LR4_2_ ATT(KC_DEL), KC_LSFT #define _LR4_3_ _LR4_2_, KC_NO // #define _LOWER_3x5_ _LL1_5_, _LR1_5_, _LL2_5_, _LR2_5_, _LL3_5_, _LR3_5_ #define _LOWER_3x6_ _LL1_6_, _LR1_6_, _LL2_6_, _LR2_6_, _LL3_6_, _LR3_6_ /* Raise: Control + Navigation layer * PUp│BSp│ ↑ │Del│Ins Prv│Stp│Ply│Nxt│Ejt * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * Hme│ ← │ ↓ │ → │End Meh│Sft│Ctl│Alt│Gui * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * App│Cut│Cpy│Pst│PDn PSc│CWT│Pse│AGr│SLk * ┌───┬───┬───┐ ┌───┬───┬───┐ * │V ×│V -│Bsp│ │(v)│V +│V ×│ * └───┴───┴ATT┘ └───┴───┴───┘ * * * */ #define _RL1_5_ KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_INS #define _RL2_5_ KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END #define _RL3_5_ KC_APP, KC_CUT, KC_COPY, KC_PSTE, KC_PGDN #define _RR1_5_ KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_EJCT #define _RR2_5_ OSM_MEH, OSM_SFT, OSM_CTL, OSM_ALT, OSM_GUI #define _RR3_5_ KC_PSCR, CW_TOGG, KC_PAUS, OSM_AGR, KC_SCRL // #define _RL1_6_ KC_LALT, _RL1_5_ #define _RL2_6_ KC_LCTL, _RL2_5_ #define _RL3_6_ KC_LGUI, _RL3_5_ #define _RR1_6_ _RR1_5_, KC_LALT #define _RR2_6_ _RR2_5_, KC_RCTL #define _RR3_6_ _RR3_5_, KC_RGUI // #define _RL4_2_ KC_VOLD, ATT(KC_BSPC) #define _RL4_3_ KC_MUTE, _RL4_2_ #define _RR4_2_ KC_TRNS, KC_VOLU #define _RR4_3_ _LR4_2_, KC_MUTE // #define _RAISE_3x5_ _RL1_5_, _RR1_5_, _RL2_5_, _RR2_5_, _RL3_5_, _RR3_5_ #define _RAISE_3x6_ _RL1_6_, _RR1_6_, _RL2_6_, _RR2_6_, _RL3_6_, _RR3_6_ #ifdef MOUSEKEY_ENABLE # define MS_GSB1 S(G(KC_BTN1)) # define MS_CSB1 S(C(KC_BTN1)) /* Pointer layer * vMv│M>│ │GSC│CSC│ │ * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * Bt4│Ms←│Ms↓│Ms→│Bt5 * Meh│Sft│Ctl│Alt│Gui * * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * Tb←│Cut│Cpy│Pst│^M^ Slo│Med│Fst│AGr│Tb→ * ┌───┬───┬───┐ ┌───┬───┬───┐ * │GSC│Bt1│Bt2│ │Gui│Bt3│CSC│ * └───┴───┴───┘ └───┴───┴───┘ * * * */ # define _PL1_5_ KC_WH_D, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX # define _PL2_5_ KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5 # define _PL3_5_ S(C(KC_TAB)), KC_CUT, KC_COPY, KC_PSTE, KC_WH_U # define _PR1_5_ XXXXXXX, MS_GSB1, MS_CSB1, XXXXXXX, XXXXXXX # define _PR2_5_ OSM_MEH, OSM_SFT, OSM_CTL, OSM_ALT, OSM_GUI # define _PR3_5_ KC_ACL0, KC_ACL1, KC_ACL2, KC_RALT, C(KC_TAB) // # define _PL1_6_ KC_LALT, _PL1_5_ # define _PL2_6_ KC_LCTL, _PL2_5_ # define _PL3_6_ KC_LGUI, _PL3_5_ # define _PR1_6_ _PR1_5_, KC_LALT # define _PR2_6_ _PR2_5_, KC_RCTL # define _PR3_6_ _PR3_5_, KC_RGUI // # define _PL4_2_ KC_BTN1, KC_BTN2 # define _PL4_3_ MS_GSB1, _PL4_2_ # define _PR4_2_ KC_LGUI, KC_BTN3 # define _PR4_3_ _PR4_2_, MS_CSB1 // # define _POINTER_3x5_ _PL1_5_, _PR1_5_, _PL2_5_, _PR2_5_, _PL3_5_, _PR3_5_ # define _POINTER_3x6_ _PL1_6_, _PR1_6_, _PL2_6_, _PR2_6_, _PL3_6_, _PR3_6_ #endif /* Attic: Adjustments and missing stuff * QBt│ECl│LAs│LAr│ ¡ │ ‹ │ « │ » │ › * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * LyG│Ly←│Ly→│BsL│MDX ¿ │ • │ ‚ │ ‘ │ ’ │(…) * ───┼───┼───┼───┼─── ───┼───┼───┼───┼─── * R_T│R_M│R_M│R_M│R_M n-–│m-—│ „ │ “ │ ” * ┌───┬───┬───┐ ┌───┬───┬───┐ * │LSf│Br-│(v)│ │(v)│Br+│RSf│ * └───┴───┴───┘ └───┴───┴───┘ * * * */ #define _AL1_5_ QK_BOOT, EE_CLR, DL_ASET, DL_ARTS, KC_NO #define _AL2_5_ DL_GAME, DL_PREV, DL_NEXT, DL_QWER, NO_MODS #define _AL3_5_ RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD #define _AR1_5_ DE_IEXL, DE_LSAQ, DE_LDAQ, DE_RDAQ, DE_RSAQ #define _AR2_5_ DE_IQUE, DE_MDDT, DE_SLQU, DE_LSQU, DE_RSQU #define _AR3_5_ DE_NDSH, DE_MDSH, DE_DLQU, DE_LDQU, DE_RDQU // #define _AL1_6_ KC_NO, _AL1_5_ #define _AL2_6_ KC_NO, _AL2_5_ #define _AL3_6_ KC_NO, _AL3_5_ #define _AR1_6_ _AR1_5_, KC_NO #define _AR2_6_ _AR2_5_, DE_ELLP #define _AR3_6_ _AR3_5_, KC_NO // #define _AL4_2_ KC_BRID, KC_TRNS #define _AL4_3_ KC_LSFT, _AL4_2_ #define _AR4_2_ KC_TRNS, KC_BRIU #define _AR4_3_ _AR4_2_, KC_RSFT // #define _ATTIC_3x5_ _AL1_5_, _AR1_5_, _AL2_5_, _AR2_5_, _AL3_5_, _AR3_5_ #define _ATTIC_3x6_ _AL1_6_, _AR1_6_, _AL2_6_, _AR2_6_, _AL3_6_, _AR3_6_