@ -3,47 +3,161 @@
extern keymap_config_t keymap_config ;
// Layer names
# define _QWERTY 0
# define _COLEMAKDHMK 1
# define _QWERTY_MAC 2
# define _COLEMAKDHMK_MAC 3
# define _SYMB 4
# define _ADJUST 5
enum {
// - Base layers:
_COLEMAKDHMK ,
_COLEMAKDHMK_MAC ,
_QWERTY ,
_QWERTY_MAC ,
// - Symbols, numbers, functions and custom shifts:
_SYMB ,
_NUMB ,
_FUNC ,
_RHSH , // Righ hand shifted keycodes
_LHSH , // Left hand shifted keycodes
// - Adjust layer:
_ADJUST
} ;
// Custom keycodes
enum custom_keycodes {
QWERTY = SAFE_RANGE ,
COLEMAKDHMK ,
QWERTY_MAC ,
COLEMAKDHMK = SAFE_RANGE ,
COLEMAKDHMK_MAC ,
SYMB ,
ADJUST ,
QWERTY ,
QWERTY_MAC ,
ASC_SAR ,
ASC_DAR ,
ASC_SQT ,
ASC_DQT ,
ASC_CIRC ,
ASC_TILD ,
ASC_HAP ,
ASC_SAD
ASC_SAD ,
ASC_BKT ,
ASC_CBRL ,
ASC_CBRR
} ;
// Tap dance keycodes
enum tap_dance {
TD_SCLN , // ;; -> :
TD_LBRC , // [[ -> {
TD_RBRC , // ]] -> }
TD_QMRK // // -> ?
} ;
// Semicolon to Colon
void dance_scln_finished ( qk_tap_dance_state_t * state , void * user_data ) {
if ( state - > count = = 1 ) {
register_code ( KC_SCLN ) ;
} else {
register_code ( KC_RSFT ) ;
register_code ( KC_SCLN ) ;
}
}
void dance_scln_reset ( qk_tap_dance_state_t * state , void * user_data ) {
if ( state - > count = = 1 ) {
unregister_code ( KC_SCLN ) ;
} else {
unregister_code ( KC_RSFT ) ;
unregister_code ( KC_SCLN ) ;
}
}
// Square braket to curly bracket (left)
void dance_lbrc_finished ( qk_tap_dance_state_t * state , void * user_data ) {
if ( state - > count = = 1 ) {
register_code ( KC_LBRC ) ;
} else {
register_code ( KC_RSFT ) ;
register_code ( KC_LBRC ) ;
}
}
void dance_lbrc_reset ( qk_tap_dance_state_t * state , void * user_data ) {
if ( state - > count = = 1 ) {
unregister_code ( KC_LBRC ) ;
} else {
unregister_code ( KC_RSFT ) ;
unregister_code ( KC_LBRC ) ;
}
}
// Square braket to curly bracket (right)
void dance_rbrc_finished ( qk_tap_dance_state_t * state , void * user_data ) {
if ( state - > count = = 1 ) {
register_code ( KC_RBRC ) ;
} else {
register_code ( KC_RSFT ) ;
register_code ( KC_RBRC ) ;
}
}
void dance_rbrc_reset ( qk_tap_dance_state_t * state , void * user_data ) {
if ( state - > count = = 1 ) {
unregister_code ( KC_RBRC ) ;
} else {
unregister_code ( KC_RSFT ) ;
unregister_code ( KC_RBRC ) ;
}
}
//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions [ ] = {
[ TD_SCLN ] = ACTION_TAP_DANCE_FN_ADVANCED ( NULL , dance_scln_finished , dance_scln_reset ) ,
[ TD_LBRC ] = ACTION_TAP_DANCE_FN_ADVANCED ( NULL , dance_lbrc_finished , dance_lbrc_reset ) ,
[ TD_RBRC ] = ACTION_TAP_DANCE_FN_ADVANCED ( NULL , dance_rbrc_finished , dance_rbrc_reset )
} ;
// Shortcut to make keymap more readable
# define KC_SYQT LT(_SYMB, KC_QUOT)
# define KC_SYGR LT(_SYMB, KC_GRV)
# define KC_SYSP LT(_SYMB, KC_SPC)
# define KC_ADEN LT(_ADJUST, KC_END)
# define KC_ADPU LT(_ADJUST, KC_PGUP)
# define KC_CESC LCTL_T(KC_ESC)
# define KC_CBSP LCTL_T(KC_BSPC)
# define KC_CMIN RCTL_T(KC_MINUS)
# define KC_GBSP LGUI_T(KC_BSPC)
# define KC_ADEL LALT_T(KC_DEL)
# define KC_APLS RALT_T(KC_PPLS)
# define KC_LSEN LSFT_T(KC_ENT)
# define KC_RSEN RSFT_T(KC_ENT)
# define FN1 QWERTY
# define FN2 COLEMAKDHMK
# define FN3 QWERTY_MAC
# define FN4 COLEMAKDHMK_MAC
// - Adjustment Layer:
# define KC_ADEN LT(_ADJUST, KC_END) // End / _ADJUST layer
# define KC_ADPU LT(_ADJUST, KC_PGUP) // Page Up / _ADJUST layer
// - Custom layers:
# define KC_SYSP LT(_SYMB, KC_SPC) // Space / _symbols
# define KC_NUES LT(_NUMB, KC_ESC) // Esc / _numbers
# define KC_FUTA LT(_FUNC, KC_TAB) // Tab / _functions
# define KC_N_SH LT(_LHSH, KC_N) // Pressing N key, enable shifted keys on other half (the left one)
# define KC_T_SH LT(_RHSH, KC_T) // Pressing T key, enable shifted keys on other half (the right one)
// - Custom keys/modifiers:
# define KC_ATAB RALT_T(KC_TAB) // - Tab / Alt Gr
# define KC_CESC LCTL_T(KC_ESC) // - Esc / Left Ctrl
# define KC_GSPC LGUI_T(KC_SPC) // - Space / Left GUI
# define KC_CBSP LCTL_T(KC_BSPC) // - Backspace / Left Ctrl
// -- Mac os mode:
# define KC_CSPC LCTL_T(KC_SPC) // - Space / Left Ctrl
# define KC_GBSP LGUI_T(KC_BSPC) // - Backspace / Left GUI
# define KC_AEQL LALT_T(KC_EQL) // - Equals / Alt (left alt)
# define KC_CMIN RCTL_T(KC_MINUS) // - Minus / Right Ctrl
# define KC_ADEL RALT_T(KC_DEL) // - Del / Alt Gr
# define KC_RSEN RSFT_T(KC_ENT) // - Enter / Right Shift (standard shift)
# define KC_LAEN LALT_T(KC_ENT) // - Enter / Left Alt
// Home row mod tap keys:
// - Left hand
# define KC_CT_A CTL_T(KC_A) // A / Left Ctrl
# define KC_AL_S ALT_T(KC_S) // S / Left Alt
// - Right hand
# define KC_AL_E ALT_T(KC_E) // E / Left Alt
# define KC_CT_O CTL_T(KC_O) // O / Left Ctrl
// - Tap dance:
# define KC_TDSC TD(TD_SCLN) // ;; -> :
# define KC_TDLB TD(TD_LBRC) // [[ -> {
# define KC_TDRB TD(TD_RBRC) // ]] -> }
// - Keyboard base maps:
# define LR1 COLEMAKDHMK
# define LR2 COLEMAKDHMK_MAC
# define LR3 QWERTY
# define LR4 QWERTY_MAC
// Send custom strings or change default base layer
bool process_record_user ( uint16_t keycode , keyrecord_t * record ) {
@ -63,12 +177,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// SS_RALT(SS_LSFT()): Avoid sending dead key on software intl layouts
SEND_STRING ( SS_RALT ( SS_LSFT ( " \" " ) ) ) ;
return false ;
case ASC_CIRC :
// SS_RALT(): Avoid sending dead key on software intl layouts
SEND_STRING ( SS_RALT ( " ^ " ) ) ;
return false ;
case ASC_TILD :
// SS_RALT(SS_LSFT()): Avoid sending dead key on software intl layouts
SEND_STRING ( SS_RALT ( SS_LSFT ( " ~ " ) ) ) ;
return false ;
case ASC_HAP :
SEND_STRING ( " :-) " ) ;
return false ;
case ASC_SAD :
SEND_STRING ( " :-( " ) ;
return false ;
case ASC_BKT :
// SS_RALT(): Avoid sending dead key on software intl layouts
SEND_STRING ( SS_RALT ( " ` " ) ) ;
return false ;
case ASC_CBRL :
SEND_STRING ( " { " ) ;
return false ;
case ASC_CBRR :
SEND_STRING ( " } " ) ;
return false ;
case QWERTY :
if ( record - > event . pressed ) {
set_single_persistent_default_layer ( _QWERTY ) ;
@ -98,91 +230,157 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true ;
} ;
const uint16_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
[ _QWERTY ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_SYGR , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_SYQT ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_DEL , KC_BSPC , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_EQL ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_CESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_LBRC , KC_RBRC , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_CMIN ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSPO , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_ADPU , KC_PGDN , KC_HOME , KC_ADEN , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_RSPC ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
KC_SYSP , KC_BSLS , KC_QUOT , KC_LGUI , KC_ADEL , KC_CBSP , KC_LSEN , KC_RSEN , KC_SYSP , KC_APLS , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
// Colemak DM-MK Mod
[ _COLEMAKDHMK ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
XXXXXXX , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_ATAB , KC_Q , KC_W , KC_F , KC_P , KC_B , XXXXXXX , XXXXXXX , KC_J , KC_L , KC_U , KC_Y , KC_TDSC , KC_AEQL ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_CESC , KC_A , KC_R , KC_AL_S , KC_T_SH , KC_G , KC_TDLB , KC_TDRB , KC_M , KC_N_SH , KC_AL_E , KC_I , KC_O , KC_CMIN ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSPO , KC_Z , KC_X , KC_C , KC_D , KC_V , KC_ADPU , KC_PGDN , KC_HOME , KC_ADEN , KC_K , KC_H , KC_COMM , KC_DOT , KC_SLSH , KC_RSPC ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
KC_GSPC , KC_HYPR , KC_MEH , XXXXXXX , KC_NUES , KC_CBSP , KC_FUTA , KC_LAEN , KC_SYSP , KC_ADEL , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
) ,
[ _COLEMAKDHMK ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_SYGR , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_SYQT ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_DEL , KC_BSPC , KC_J , KC_L , KC_U , KC_Y , KC_SCLN , KC_EQL ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_CESC , KC_A , KC_R , KC_S , KC_T , KC_G , KC_LBRC , KC_RBRC , KC_M , KC_N , KC_E , KC_I , KC_O , KC_CMIN ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSPO , KC_Z , KC_X , KC_C , KC_D , KC_V , KC_ADPU , KC_PGDN , KC_HOME , KC_ADEN , KC_K , KC_H , KC_COMM , KC_DOT , KC_SLSH , KC_RSPC ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
KC_SYSP , KC_BSLS , KC_QUOT , KC_LGUI , KC_ADEL , KC_CBSP , KC_LSEN , KC_RSEN , KC_SYSP , KC_APLS , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
// Colemak DM-MK Mod, Mac version (CTRL and GUI are swapped)
[ _COLEMAKDHMK_MAC ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
XXXXXXX , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_ATAB , KC_Q , KC_W , KC_F , KC_P , KC_B , XXXXXXX , XXXXXXX , KC_J , KC_L , KC_U , KC_Y , KC_TDSC , KC_AEQL ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_CESC , KC_A , KC_R , KC_AL_S , KC_T_SH , KC_G , KC_TDLB , KC_TDRB , KC_M , KC_N_SH , KC_AL_E , KC_I , KC_O , KC_CMIN ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSPO , KC_Z , KC_X , KC_C , KC_D , KC_V , KC_ADPU , KC_PGDN , KC_HOME , KC_ADEN , KC_K , KC_H , KC_COMM , KC_DOT , KC_SLSH , KC_RSPC ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
KC_CSPC , KC_HYPR , KC_MEH , XXXXXXX , KC_NUES , KC_GBSP , KC_FUTA , KC_LAEN , KC_SYSP , KC_ADEL , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
) ,
[ _QWERTY_MAC ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_SYGR , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_SYQT ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_DEL , KC_BSPC , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_EQL ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_CESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_LBRC , KC_RBRC , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_CMIN ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSPO , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_ADPU , KC_PGDN , KC_HOME , KC_ADEN , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_RSPC ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
KC_SYSP , KC_BSLS , KC_QUOT , KC_LCTL , KC_ADEL , KC_GBSP , KC_LSEN , KC_RSEN , KC_SYSP , KC_APLS , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
// QWERTY
[ _QWERTY ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
XXXXXXX , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_ATAB , KC_Q , KC_W , KC_E , KC_R , KC_T , XXXXXXX , XXXXXXX , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_AEQL ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_CESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_TDLB , KC_TDRB , KC_H , KC_J , KC_K , KC_L , KC_TDSC , KC_CMIN ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSPO , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_ADPU , KC_PGDN , KC_HOME , KC_ADEN , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_RSPC ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
KC_GSPC , KC_HYPR , KC_MEH , XXXXXXX , KC_NUES , KC_CBSP , KC_FUTA , KC_LAEN , KC_SYSP , KC_ADEL , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
) ,
[ _COLEMAKDHMK_MAC ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_SYGR , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_SYQT ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_DEL , KC_BSPC , KC_J , KC_L , KC_U , KC_Y , KC_SCLN , KC_EQL ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_CESC , KC_A , KC_R , KC_S , KC_T , KC_G , KC_LBRC , KC_RBRC , KC_M , KC_N , KC_E , KC_I , KC_O , KC_CMIN ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSPO , KC_Z , KC_X , KC_C , KC_D , KC_V , KC_ADPU , KC_PGDN , KC_HOME , KC_ADEN , KC_K , KC_H , KC_COMM , KC_DOT , KC_SLSH , KC_RSPC ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
KC_SYSP , KC_BSLS , KC_QUOT , KC_LCTL , KC_ADEL , KC_GBSP , KC_LSEN , KC_RSEN , KC_SYSP , KC_APLS , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
// QWERTY, Mac version (CTRL and GUI are swapped)
[ _QWERTY_MAC ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
XXXXXXX , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_ATAB , KC_Q , KC_W , KC_E , KC_R , KC_T , XXXXXXX , XXXXXXX , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_AEQL ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_CESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_TDLB , KC_TDRB , KC_H , KC_J , KC_K , KC_L , KC_TDSC , KC_CMIN ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSPO , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_ADPU , KC_PGDN , KC_HOME , KC_ADEN , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_RSPC ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
KC_CSPC , KC_HYPR , KC_MEH , XXXXXXX , KC_NUES , KC_GBSP , KC_FUTA , KC_LAEN , KC_SYSP , KC_ADEL , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
) ,
// Symbols, home row arrows, function keys and macros layer
[ _SYMB ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
XXXXXXX , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , KC_CIRC , KC_BSLS , KC_PMNS , KC_UNDS , XXXXXXX , _______ , _______ , XXXXXXX , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_F11 , KC_APP ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , KC_PAST , KC_PIPE , ASC_SQT , KC_TILD , KC_QUOT , ASC_SAR , ASC_DAR , XXXXXXX , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_F12 , KC_PSCR ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , KC_HASH , KC_AMPR , KC_AT , ASC_DQT , KC_GRV , ASC_SAD , ASC_HAP , _______ , _______ , XXXXXXX , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_UP , _______ ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_KP_0 , KC_PDOT , KC_LEFT , KC_DOWN , KC_RGHT
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______ , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , _______ , _______ , ASC_CIRC , KC_AMPR , KC_ASTR , KC_PLUS , _______ , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , KC_PIPE , KC_PMNS , ASC_SQT , ASC_DQT , KC_GRV , ASC_SAR , ASC_DAR , KC_QUOT , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , KC_BSLS , KC_UNDS , KC_COLN , ASC_TILD , KC_EQL , ASC_SAD , ASC_HAP , _______ , _______ , ASC_BKT , KC_PGUP , KC_PGDN , KC_HOME , KC_END , _______ ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
) ,
// Numeric keypad layer
[ _NUMB ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_PAST , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_PPLS , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , XXXXXXX , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_PMNS , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , XXXXXXX , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_PSLS , _______ ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , XXXXXXX , KC_KP_0 , KC_PDOT , XXXXXXX , XXXXXXX
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
) ,
// Function layer and some extra keys on right hand
[ _FUNC ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_F7 , KC_F8 , KC_F9 , KC_F12 , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_F4 , KC_F5 , KC_F6 , KC_F11 , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , KC_PSCR , KC_NLCK , KC_INS , KC_CAPS , KC_APP , _______ , _______ , _______ , _______ , _______ , KC_F1 , KC_F2 , KC_F3 , KC_F10 , _______ ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
) ,
// Left hand shifted keycodes
[ _LHSH ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , S ( KC_Q ) , S ( KC_W ) , S ( KC_F ) , S ( KC_P ) , S ( KC_B ) , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , S ( KC_A ) , S ( KC_R ) , S ( KC_S ) , S ( KC_T ) , S ( KC_G ) , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , S ( KC_Z ) , S ( KC_X ) , S ( KC_C ) , S ( KC_D ) , S ( KC_V ) , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_TAB , KC_BSPC , KC_ESC , _______ , _______ , _______ , _______
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
) ,
// Right hand shifted keycodes
[ _RHSH ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , S ( KC_J ) , S ( KC_L ) , S ( KC_U ) , S ( KC_Y ) , KC_COLN , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , S ( KC_M ) , S ( KC_N ) , S ( KC_E ) , S ( KC_I ) , S ( KC_O ) , _______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , S ( KC_K ) , S ( KC_H ) , KC_LABK , KC_RABK , KC_QUES , _______ ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
_______ , _______ , _______ , _______ , KC_DEL , KC_SPC , KC_ENT , _______ , _______ , _______ , _______ , _______ , _______ , _______
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
) ,
// Adjust layer (RGB, Reset and base layer switch)
[ _ADJUST ] = LAYOUT (
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
XXXXXXX , FN1 , FN2 , FN3 , FN4 , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX , RESET , RGB_M_P , RGB_TOG , RGB_MOD , RGB_HUD , RGB_HUI , RGB_SAD , RGB_SAI , RGB_VAD , RGB_VAI , XXXXXXX , XXXXXXX , XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX , XXXXXXX , RGB_M_B , RGB_M_R , RGB_M_SW , RGB_M_SN , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX , XXXXXXX , RGB_M_K , RGB_M_X , RGB_M_G , XXXXXXX , _______ , XXXXXXX , XXXXXXX , _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
XXXXXXX , LR1 , LR2 , LR3 , LR 4 , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX , RESET , RGB_M_P , RGB_TOG , RGB_MOD , RGB_HUD , RGB_HUI , RGB_SAD , RGB_SAI , RGB_VAD , RGB_VAI , XXXXXXX , XXXXXXX , XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX , XXXXXXX , RGB_M_B , RGB_M_R , RGB_M_SW , RGB_M_SN , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX , XXXXXXX , RGB_M_K , RGB_M_X , RGB_M_G , XXXXXXX , _______ , XXXXXXX , XXXXXXX , _______ , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
)
} ;