@ -8,7 +8,10 @@
# define DVORAK 2 // dvorak layer
# define HALFDVORAK 3 // mirrored dvorak layer
# define SYMB 5 // symbols
# define MDIA 6 // media keys
# define HALFSYMB 6 // media keys
# define PLVR 7 // steno plover layout
# define SHORTCUTS 8 //layer with shortcut keys
enum custom_keycodes {
PLACEHOLDER = SAFE_RANGE , // can always be here
@ -21,258 +24,346 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: qwerty
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | ESC | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT | 6 | 7 | 8 | 9 | 0 | BSPC |
* | ESC | 1 | 2 | 3 | 4 | 5 | ` | | \ | 6 | 7 | 8 | 9 | 0 | BSPC |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | TAB | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
* | TAB | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | ' |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | BkSp | A | S | D | F | G | - - - - - - | | - - - - - - | H | J | K | L | ; | ENTER |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | Hyper | | Meh | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | - | | = | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
* ` - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - '
* | LCTRL | ALT | CTL - TAB | CTLShTab | LGui | | RGui | UP | DOWN | ALT | RCTRL |
* | LCTRL | ALT | CTL ShTab| CTL - TAB | LGui | | RGui | UP | DOWN | ALT | RCTRL |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
* , - - - - - - - - - - - - - . , - - - - - - - - - - - - - .
* | Alt | LGui | | RGui | Alt |
* | Symbol | Dvorak | | Plover | HalfSymb |
* , - - - - - - | - - - - - - | - - - - - - | | - - - - - - + - - - - - - - - + - - - - - - .
* | | | Home | | PgUp | | |
* | Space | Backsp | - - - - - - | | - - - - - - | Tab | Enter |
* | mirror | ace | End | | PgDn | | mirror |
* | Space | DELETE | - - - - - - | | - - - - - - | Tab | Enter |
* | mirror | | End | | PgDn | | mirror |
* ` - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - '
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[ QWERTY ] = LAYOUT_ergodox ( // layer 0 : default
// left hand
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_ LEFT ,
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , TG ( SYMB ) ,
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_ GRAVE ,
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_LBRC ,
KC_BSPC , KC_A , KC_S , KC_D , KC_F , KC_G ,
KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , BL_ON ,
KC_LCTRL , KC_LALT , LCTL ( KC_TAB ) , LCTL ( LSFT ( KC_TAB ) ) , KC_LGUI ,
KC_LALT , TG ( DVORAK ) ,
KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_MINUS ,
KC_LCTRL , KC_LALT , LCTL ( LSFT ( KC_TAB ) ) , LCTL ( KC_TAB ) , MO ( SHORTCUTS ) ,
TG ( SYMB ) , TG ( DVORAK ) ,
KC_HOME ,
LT ( HALFQWERTY , KC_SPACE ) , KC_ BSPC , KC_END ,
LT ( HALFQWERTY , KC_SPACE ) , KC_ DEL , KC_END ,
// right hand
KC_ RGHT , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC ,
TG ( SYMB ) , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_ B SLS,
KC_ BSLS , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC ,
KC_RBRC , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_ SLA SH ,
KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_ENT ,
MEH_T ( KC_NO ) , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLASH , KC_RSFT ,
KC_EQL , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLASH , KC_RSFT ,
KC_RGUI , KC_UP , KC_DOWN , KC_RALT , KC_RCTRL ,
TG ( DVORAK) , KC_RALT ,
TG ( PLVR) , TG ( HALFSYMB ) ,
KC_PGUP ,
KC_PGDN , KC_TAB , LT ( HALFQWERTY , KC_ENT )
) ,
/* Keymap 1: mirrored qwerty
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | BSPC | 0 | 9 | 8 | 7 | 6 | LEFT | | RIGHT | 5 | 4 | 3 | 2 | 1 | ESC |
* | BSPC | 0 | 9 | 8 | 7 | 6 | \ | | ` | 5 | 4 | 3 | 2 | 1 | ESC |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | \ | P | O | I | U | Y | L1 | | L1 | T | R | E | W | Q | TAB |
* | ' | P | O | I | U | Y | ] | | [ | T | R | E | W | Q | TAB |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | ENTER | ; | L | K | J | H | - - - - - - | | - - - - - - | G | F | D | S | A | BSPC |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | Hyper | | Meh | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | - | | = | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | LShift | / | . | , | M | N | | | | B | V | C | X | Z | RShift |
* ` - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - '
* | LCTRL | ALT | CTL - TAB | CTLShTab | LGui | | RGui | UP | DOWN | ALT | RCTRL |
* | LCTRL | ALT | CTL ShTab| CTL - TAB | LGui | | RGui | UP | DOWN | ALT | RCTRL |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
* , - - - - - - - - - - - - - . , - - - - - - - - - - - - - .
* | Alt | LGui | | RGui | Alt |
* | | | | | |
* , - - - - - - | - - - - - - | - - - - - - | | - - - - - - + - - - - - - - - + - - - - - - .
* | | | Home | | PgUp | | |
* | Space | Backsp | - - - - - - | | - - - - - - | Tab | Enter |
* | mirror | ace | End | | PgDn | | mirror |
* | Space | DELETE | - - - - - - | | - - - - - - | Tab | Enter |
* | mirror | | End | | PgDn | | mirror |
* ` - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - '
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[ HALFQWERTY ] = LAYOUT_ergodox ( // layer 0 : default
// left hand
KC_BSPC , KC_0 , KC_9 , KC_8 , KC_7 , KC_6 , KC_ LEFT ,
KC_ TA B, KC_P , KC_O , KC_I , KC_U , KC_Y , TG ( SYMB ) ,
KC_ BSPC , KC_SCLN , KC_L , KC_K , KC_J , KC_H ,
KC_LSFT , KC_SLASH , KC_DOT , KC_COMM , KC_M , KC_N , KC_ TRANSPARENT ,
KC_LCTRL , KC_LALT , LCTL ( KC_TAB ) , LCTL ( LSFT ( KC_TAB ) ) , KC_LGUI ,
KC_ LAL T, KC_TRANSPARENT ,
KC_BSPC , KC_0 , KC_9 , KC_8 , KC_7 , KC_6 , KC_ BSLS ,
KC_ BSLS , KC_P , KC_O , KC_I , KC_U , KC_Y , KC_RBRC ,
KC_ ENT , KC_SCLN , KC_L , KC_K , KC_J , KC_H ,
KC_LSFT , KC_SLASH , KC_DOT , KC_COMM , KC_M , KC_N , KC_ EQL ,
KC_LCTRL , KC_LALT , LCTL ( LSFT ( KC_TAB ) ) , LCTL ( KC_TAB ) , KC_TRNS ,
KC_ TRNS , KC_TRANSPARENT ,
KC_HOME ,
KC_TRANSPARENT , KC_ BSPC , KC_END ,
KC_TRANSPARENT , KC_ DEL , KC_END ,
// right hand
KC_ RGHT , KC_5 , KC_4 , KC_3 , KC_2 , KC_1 , KC_BSPC ,
TG ( SYMB ) , KC_T , KC_R , KC_E , KC_W , KC_Q , KC_BSLS ,
KC_ GRAVE , KC_5 , KC_4 , KC_3 , KC_2 , KC_1 , KC_BSPC ,
KC_LBRC , KC_T , KC_R , KC_E , KC_W , KC_Q , KC_BSLS ,
KC_G , KC_F , KC_D , KC_S , KC_A , KC_ENT ,
MEH_T ( KC_NO ) , KC_B , KC_V , KC_C , KC_X , KC_Z , KC_RSFT ,
KC_MINUS , KC_B , KC_V , KC_C , KC_X , KC_Z , KC_RSFT ,
KC_RGUI , KC_UP , KC_DOWN , KC_RALT , KC_RCTRL ,
KC_TRANSPARENT , KC_ RAL T,
KC_TRANSPARENT , KC_ TRNS ,
KC_PGUP ,
KC_PGDN , KC_TAB , KC_TRANSPARENT
) ,
/* Keymap 3: dvorak
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | ESC | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT | 6 | 7 | 8 | 9 | 0 | BSPC |
* | ESC | 1 | 2 | 3 | 4 | 5 | ` | | \ | 6 | 7 | 8 | 9 | 0 | BSPC |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | TAB | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / |
* | TAB | ' | , | . | P | Y | [ | | ] | F | G | C | R | L | / |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | BkSp | A | O | E | U | I | - - - - - - | | - - - - - - | D | H | T | S | - | ENTER |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | Hyper | | Meh | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | BkSp | A | O | E | U | I | - - - - - - | | - - - - - - | D | H | T | N | S | ENTER |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | - | | = | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | RShift |
* ` - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - '
* | LCTRL | ALT | CTL - TAB | CTLShTab | LGui | | RGui | UP | DOWN | ALT | RCTRL |
* | LCTRL | ALT | CTL ShTab| CTL - TAB | LGui | | RGui | UP | DOWN | ALT | RCTRL |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
* , - - - - - - - - - - - - - . , - - - - - - - - - - - - - .
* | Alt | LGui | | RGui | Alt |
* | Alt | | | | Alt |
* , - - - - - - | - - - - - - | - - - - - - | | - - - - - - + - - - - - - - - + - - - - - - .
* | | | Home | | PgUp | | |
* | Space | Backsp | - - - - - - | | - - - - - - | Tab | Enter |
* | mirror | ace | End | | PgDn | | mirror |
* | Space | DELETE | - - - - - - | | - - - - - - | Tab | Enter |
* | mirror | | End | | PgDn | | mirror |
* ` - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - '
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[ DVORAK ] = LAYOUT_ergodox ( // layer 0 : default
// left hand
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_ LEFT ,
KC_TAB , KC_QUOTE , KC_COMM , KC_DOT , KC_P , KC_Y , TG ( SYMB ) ,
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_ GRAVE ,
KC_TAB , KC_QUOTE , KC_COMM , KC_DOT , KC_P , KC_Y , KC_LBRC ,
KC_BSPC , KC_A , KC_O , KC_E , KC_U , KC_I ,
KC_LSFT , KC_SCLN , KC_Q , KC_J , KC_K , KC_X , ALL_T ( KC_NO ) ,
KC_LCTRL , KC_LALT , LCTL ( KC_TAB ) , LCTL ( LSFT ( KC_TAB ) ) , KC_LGUI ,
KC_LALT , KC_TRANSPARENT ,
KC_LSFT , KC_SCLN , KC_Q , KC_J , KC_K , KC_X , KC_MINUS ,
KC_LCTRL , KC_LALT , LCTL ( LSFT ( KC_TAB ) ) , LCTL ( KC_TAB ) , KC_TRNS ,
TG ( SYMB ) , KC_TRANSPARENT ,
KC_HOME ,
LT ( HALFDVORAK , KC_SPACE ) , KC_ BSPC , KC_END ,
LT ( HALFDVORAK , KC_SPACE ) , KC_ DEL , KC_END ,
// right hand
KC_ RGHT , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC ,
TG ( SYMB ) , KC_F , KC_G , KC_C , KC_R , KC_L , KC_ B SLS,
KC_D , KC_H , KC_T , KC_ S, KC_MINU S, KC_ENT ,
MEH_T ( KC_NO ) , KC_B , KC_M , KC_W , KC_V , KC_Z , KC_RSFT ,
KC_ BSLS , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC ,
KC_RBRC , KC_F , KC_G , KC_C , KC_R , KC_L , KC_ SLA SH ,
KC_D , KC_H , KC_T , KC_ N, KC_ S, KC_ENT ,
KC_EQL , KC_B , KC_M , KC_W , KC_V , KC_Z , KC_RSFT ,
KC_RGUI , KC_UP , KC_DOWN , KC_RALT , KC_RCTRL ,
KC_TRANSPARENT , KC_RALT ,
KC_TRANSPARENT , TG ( HALFSYMB ) ,
KC_PGUP ,
KC_PGDN , KC_TAB , LT ( HALFDVORAK , KC_ENT )
) ,
/* Keymap 3: mirrored dvorak
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | BSPC | 0 | 9 | 8 | 7 | 6 | LEFT | | RIGHT | 5 | 4 | 3 | 2 | 1 | ESC |
* | BSPC | 0 | 9 | 8 | 7 | 6 | \ | | ` | 5 | 4 | 3 | 2 | 1 | ESC |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | TAB | L | R | C | G | F | L1 | | L1 | Y | P | . | , | ' | / |
* | / | L | R | C | G | F | L1 | | L1 | Y | P | . | , | ' | TAB |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | BkSp | - | S | T | H | D | - - - - - - | | - - - - - - | I | U | E | O | A | ENTER |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | Hyper | | Meh | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | ENTER | S | N | T | H | D | - - - - - - | | - - - - - - | I | U | E | O | A | BSPC |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | = | | - | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | LShift | Z | V | W | M | B | | | | X | K | J | Q | ; | RShift |
* ` - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - '
* | LCTRL | ALT | CTL - TAB | CTLShTab | LGui | | RGui | UP | DOWN | ALT | RCTRL |
* | LCTRL | ALT | CTL ShTab| CTL - TAB | LGui | | RGui | UP | DOWN | ALT | RCTRL |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
* , - - - - - - - - - - - - - . , - - - - - - - - - - - - - .
* | Alt | LGui | | RGui | Alt |
* | Alt | | | | Alt |
* , - - - - - - | - - - - - - | - - - - - - | | - - - - - - + - - - - - - - - + - - - - - - .
* | | | Home | | PgUp | | |
* | Space | Backsp | - - - - - - | | - - - - - - | Tab | Enter |
* | mirror | ace | End | | PgDn | | mirror |
* | Space | DELETE | - - - - - - | | - - - - - - | Tab | Enter |
* | mirror | | End | | PgDn | | mirror |
* ` - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - '
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[ HALFDVORAK ] = LAYOUT_ergodox ( // layer 0 : default
// left hand
KC_BSPC , KC_ 1, KC_2 , KC_3 , KC_4 , KC_5 , KC_LEFT ,
KC_SLASH , KC_L , KC_R , KC_C , KC_G , KC_F , TG ( SYMB ) ,
KC_BSPC , KC_ 0, KC_9 , KC_8 , KC_7 , KC_6 , KC_BSLS ,
KC_SLASH , KC_L , KC_R , KC_C , KC_G , KC_F , KC_RBRC ,
KC_ENT , KC_S , KC_N , KC_T , KC_H , KC_D ,
KC_LSFT , KC_Z , KC_V , KC_W , KC_M , KC_B , ALL_T ( KC_NO ) ,
KC_LCTRL , KC_LALT , LCTL ( KC_TAB ) , LCTL ( LSFT ( KC_TAB ) ) , KC_LGUI ,
KC_ LAL T, KC_TRANSPARENT ,
KC_LSFT , KC_Z , KC_V , KC_W , KC_M , KC_B , KC_EQL ,
KC_LCTRL , KC_LALT , LCTL ( LSFT ( KC_TAB ) ) , LCTL ( KC_TAB ) , KC_TRNS ,
KC_ TRANSPAREN T, KC_TRANSPARENT ,
KC_HOME ,
KC_TRANSPARENT , KC_ BSPC , KC_END ,
KC_TRANSPARENT , KC_ DEL , KC_END ,
// right hand
KC_ RGHT, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC ,
TG ( SYMB ) , KC_Y , KC_P , KC_DOT , KC_COMM , KC_P , KC_TAB ,
KC_I , KC_U , KC_E , KC_O , KC_A , KC_ ENT ,
MEH_T ( KC_NO ) , KC_X , KC_K , KC_J , KC_Q , KC_SCLN , KC_RSFT ,
KC_ GRAVE, KC_5 , KC_4 , KC_3 , KC_2 , KC_5 , KC_ESC ,
KC_LBRC , KC_Y , KC_P , KC_DOT , KC_COMM , KC_P , KC_TAB ,
KC_I , KC_U , KC_E , KC_O , KC_A , KC_ BSPC ,
KC_MINUS , KC_X , KC_K , KC_J , KC_Q , KC_SCLN , KC_RSFT ,
KC_RGUI , KC_UP , KC_DOWN , KC_RALT , KC_RCTRL ,
KC_TRANSPARENT , KC_ RAL T,
KC_TRANSPARENT , KC_ TRNS ,
KC_PGUP ,
KC_PGDN , KC_TAB , KC_TRANSPARENT
) ,
/* Keymap 5: Symbol Layer
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
* | Version | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | BkSp |
* | - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
* | | / | \ | { | } | | | | | | Up | 7 | 8 | 9 | * | / |
* | - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | | # | $ | ( | ) | ` | - - - - - - | | - - - - - - | Down | 4 | 5 | 6 | + | |
* | | ' | ; | ( | ) | ` | - - - - - - | | - - - - - - | Down | 4 | 5 | 6 | - | ENTER |
* | - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
* | | - | = | [ | ] | ~ | | | | & | 1 | 2 | 3 | + | |
* ` - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - '
* | EPRM | | | | | | | . | 0 | = | |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
* , - - - - - - - - - - - - - . , - - - - - - - - - - - - - .
* | Animat | | | Toggle | Solid |
* | | | | | |
* , - - - - - - | - - - - - - | - - - - - - | | - - - - - - + - - - - - - + - - - - - - .
* | Bright | Bright | | | | Hue - | Hue + |
* | ness - | ness + | - - - - - - | | - - - - - - | | |
* | | | | | | | |
* | mirror | | - - - - - - | | - - - - - - | | mirror |
* | space | | | | | | enter |
* ` - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - '
*/
// SYMBOLS
[ SYMB ] = LAYOUT_ergodox (
// left hand
VRSN , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_ TRNS ,
KC_ TRNS, KC_EXLM , KC_AT , KC_LCBR , KC_RCBR , KC_PIPE , KC_TRNS ,
KC_ TRNS, KC_HASH , KC_DLR , KC_LPRN , KC_RPRN , KC_GRV ,
KC_ TRNS, KC_PERC , KC_CIRC , KC_LBRC , KC_RBRC , KC_TILD , KC_TRNS ,
EPRM , KC_ TRNS, KC_TRNS , KC_TRNS , KC_TRNS ,
RGB_MOD , KC_TRNS ,
KC_ TRNS ,
RGB_VAD , RGB_VAI , KC_TRNS ,
VRSN , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_ F6 ,
KC_ NO, KC_SLASH , KC_BSLS , KC_LCBR , KC_RCBR , KC_PIPE , KC_TRNS ,
KC_ NO, KC_QUOT , KC_SCLN , KC_LPRN , KC_RPRN , KC_GRV ,
KC_ NO, KC_MINUS , KC_EQL , KC_LBRC , KC_RBRC , KC_TILD , KC_NO ,
EPRM , KC_ NO, KC_NO , KC_NO , KC_TRNS ,
KC_TRNS , KC_NO ,
KC_ NO ,
LT ( HALFSYMB , KC_SPACE ) , KC_NO , KC_NO ,
// right hand
KC_TRNS , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
KC_TRNS , KC_UP , KC_7 , KC_8 , KC_9 , KC_ASTR , KC_F12 ,
KC_DOWN , KC_4 , KC_5 , KC_6 , KC_PLUS , KC_TRNS ,
KC_TRNS , KC_AMPR , KC_1 , KC_2 , KC_3 , KC_BSLS , KC_TRNS ,
KC_TRNS , KC_DOT , KC_0 , KC_EQL , KC_TRNS ,
RGB_TOG , RGB_SLD ,
KC_TRNS ,
KC_TRNS , RGB_HUD , RGB_HUI
KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_BSPC ,
KC_NO , KC_UP , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_ASTERISK , KC_KP_SLASH ,
KC_DOWN , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_MINUS , KC_KP_ENTER ,
KC_NO , KC_AMPR , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_PLUS , KC_NO ,
KC_NO , KC_DOT , KC_0 , KC_KP_EQUAL , KC_NO ,
KC_NO , KC_TRNS ,
KC_NO ,
KC_NO , KC_NO , LT ( HALFSYMB , KC_ENT )
) ,
/* Keymap 6: Mirrored Symbol Layer
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | delete | F12 | F11 | F10 | F9 | F8 | F7 | | F6 | F5 | F4 | F3 | F2 | F1 | BkSp |
* | - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | | | 7 | 8 | 9 | * | / | | | | | { | } | / | \ | |
* | - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | | | 4 | 5 | 6 | - | - - - - - - | | - - - - - - | ` | ( | ) | ; | ' | |
* | - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | enter | | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | | | 1 | 2 | 3 | + | | | | ~ | [ | ] | = | - | |
* ` - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - '
* | EPRM | | 0 | . | = | | | | | | |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
* , - - - - - - - - - - - - - . , - - - - - - - - - - - - - .
* | | | | | |
* , - - - - - - | - - - - - - | - - - - - - | | - - - - - - + - - - - - - + - - - - - - .
* | | | | | | | |
* | | | - - - - - - | | - - - - - - | | |
* | | | | | | | |
* ` - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - '
*/
// SYMBOLS
[ HALFSYMB ] = LAYOUT_ergodox (
// left hand
KC_BSPC , KC_F12 , KC_F11 , KC_F10 , KC_F9 , KC_F8 , KC_F7 ,
KC_NO , KC_NO , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_ASTERISK , KC_KP_SLASH ,
KC_ENTER , KC_NO , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_MINUS ,
KC_NO , KC_NO , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_PLUS , KC_KP_ENTER ,
EPRM , KC_NO , KC_KP_0 , KC_KP_DOT , KC_KP_EQUAL ,
KC_TRNS , KC_NO ,
KC_NO ,
KC_TRANSPARENT , KC_NO , KC_NO ,
// right hand
KC_F6 , KC_F5 , KC_F4 , KC_F3 , KC_F2 , KC_F1 , KC_BSPC ,
KC_NO , KC_PIPE , KC_LCBR , KC_RCBR , KC_SLASH , KC_BSLS , KC_NO ,
KC_GRV , KC_LPRN , KC_RPRN , KC_SCLN , KC_QUOT , KC_NO ,
KC_NO , KC_TILD , KC_LBRC , KC_RBRC , KC_EQL , KC_MINUS , KC_NO ,
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_NO , KC_TRNS ,
KC_NO ,
KC_NO , KC_NO , KC_TRANSPARENT
) ,
/* Keymap 6: Media and mouse keys
/* Keymap 7: Steno for Plover from https://github.com/shayneholmes/tmk_keyboard/commit/11290f8489013018f778627db725160c745e75bd
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | | | | | | | | | | | | | | | |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | | | | MsUp | | | | | | | | | | | |
* | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | | | MsLeft | MsDown | MsRght | | - - - - - - | | - - - - - - | | | | | | Play |
* | | q | w | e | r | t | - - - - - - | | - - - - - - | y | u | i | o | p | [ |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | | | | | | | | | | | | Prev | Next | | |
* | | a | s | d | f | g | | | | h | j | k | l | ; | ' |
* ` - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - '
* | | | | Lclk | Rclk | | VolUp | VolDn | Mute | | |
* | | | | | | | | | | | |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
* , - - - - - - - - - - - - - . , - - - - - - - - - - - - - .
* | | | | | |
* , - - - - - - | - - - - - - | - - - - - - | | - - - - - - + - - - - - - + - - - - - - .
* | | | | | | | Brwser |
* | | | - - - - - - | | - - - - - - | | Back |
* | | | | | | | |
* | c | v | - - - - - - | | - - - - - - | n | m |
* | | | | | | | |
* ` - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - '
*/
// MEDIA AND MOUSE
[ MDIA ] = LAYOUT_ergodox (
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
KC_TRNS , KC_TRNS , KC_TRNS , KC_MS_U , KC_TRNS , KC_TRNS , KC_TRNS ,
KC_TRNS , KC_TRNS , KC_MS_L , KC_MS_D , KC_MS_R , KC_TRNS ,
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
KC_TRNS , KC_TRNS , KC_TRNS , KC_BTN1 , KC_BTN2 ,
KC_TRNS , KC_TRNS ,
KC_TRNS ,
KC_TRNS , KC_TRNS , KC_TRNS ,
[ PLVR ] = LAYOUT_ergodox ( // layout: layer 4: Steno for Plover
// left hand
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_NO , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_TRNS ,
KC_NO , KC_Q , KC_W , KC_E , KC_R , KC_T ,
KC_NO , KC_A , KC_S , KC_D , KC_F , KC_G , KC_NO ,
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_FN4 , KC_NO ,
KC_NO ,
KC_C , KC_V , KC_NO ,
// right hand
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_MPLY ,
KC_TRNS , KC_TRNS , KC_TRNS , KC_MPRV , KC_MNXT , KC_TRNS , KC_TRNS ,
KC_VOLU , KC_VOLD , KC_MUTE , KC_TRNS , KC_TRNS ,
KC_TRNS , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_TRNS ,
KC_TRNS , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_TRNS ,
KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC ,
KC_NO , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT ,
KC_TRNS , KC_TRNS , KC_NO , KC_NO , KC_NO ,
KC_TRNS , KC_TRNS ,
KC_TRNS ,
KC_TRNS , KC_TRNS , KC_WBAK
KC_NO , KC_N , KC_M
) ,
/* Keymap 8: shortcuts
*
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | ESC | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT | 6 | 7 | 8 | 9 | 0 | BSPC |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | TAB | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | | | | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | BkSp | A | S | D | F | G | - - - - - - | | - - - - - - | H | J | K | L | ; | ENTER |
* | - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | - | | = | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - |
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
* ` - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - '
* | LCTRL | ALT | CTLShTab | CTL - TAB | | | RGui | UP | DOWN | ALT | RCTRL |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
* , - - - - - - - - - - - - - . , - - - - - - - - - - - - - .
* | Alt | Dvorak | | Plover | Alt |
* , - - - - - - | - - - - - - | - - - - - - | | - - - - - - + - - - - - - - - + - - - - - - .
* | | | Home | | PgUp | | |
* | Space | DELETE | - - - - - - | | - - - - - - | Tab | Enter |
* | mirror | | End | | PgDn | | mirror |
* ` - - - - - - - - - - - - - - - - - - - - ' ` - - - - - - - - - - - - - - - - - - - - - - '
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[ SHORTCUTS ] = LAYOUT_ergodox ( // layer 0 : default
// left hand
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_NO ,
KC_TAB , LCTL ( KC_Q ) , LCTL ( KC_W ) , LCTL ( KC_E ) , LCTL ( KC_R ) , LCTL ( KC_T ) , KC_NO ,
KC_BSPC , LCTL ( KC_A ) , LCTL ( KC_S ) , LCTL ( KC_D ) , LCTL ( KC_F ) , LCTL ( KC_G ) ,
KC_LSFT , LCTL ( KC_Z ) , LCTL ( KC_X ) , LCTL ( KC_C ) , LCTL ( KC_V ) , LCTL ( KC_B ) , KC_MINUS ,
KC_LCTRL , KC_LALT , LCTL ( LSFT ( KC_TAB ) ) , LCTL ( KC_TAB ) , KC_TRANSPARENT ,
KC_NO , KC_NO ,
KC_NO ,
KC_NO , KC_NO , KC_NO ,
// right hand
KC_RGHT , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC ,
TG ( SYMB ) , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS ,
KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_ENT ,
KC_EQL , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLASH , KC_RSFT ,
KC_RGUI , KC_UP , KC_DOWN , KC_RALT , KC_RCTRL ,
KC_NO , KC_NO ,
KC_NO ,
KC_NO , KC_NO , KC_NO
) ,
} ;
const uint16_t PROGMEM fn_actions [ ] = {