@ -5,11 +5,14 @@
// Layer names
// Layer names
# define BASE 0 // default layer
# define BASE 0 // default layer
# define FMU 1 // FMU layer
# define PMQ 1 // poor man’ s QWERTZ
# define PMN 2 // poor man’ s Neo
# define FMU 3 // FMU layer
# define NHL 4 // Neo’ s software layer 4 rebuilt in Hardware
const uint16_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
const uint16_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
/* Layer 0 ( default)
/* Layer 0 : default
* ┌ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ─ ─ ┐
* ┌ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ─ ─ ┐
* │ TAB │ 1 │ 2 │ 3 │ 4 │ 5 │ ` │ │ ´ │ 6 │ 7 │ 8 │ 9 │ 0 │ BKSPC │
* │ TAB │ 1 │ 2 │ 3 │ 4 │ 5 │ ` │ │ ´ │ 6 │ 7 │ 8 │ 9 │ 0 │ BKSPC │
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
@ -33,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_EQL ,
KC_TAB , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_EQL ,
NEO_Y , NEO_X , NEO_V , NEO_L , NEO_C , NEO_W , KC_HOME ,
NEO_Y , NEO_X , NEO_V , NEO_L , NEO_C , NEO_W , KC_HOME ,
NEO_L1_L , NEO_U , NEO_I , NEO_A , NEO_E , NEO_O ,
NEO_L1_L , NEO_U , NEO_I , NEO_A , NEO_E , NEO_O ,
KC_LSFT , NEO_UE , NEO_OE , NEO_AE , NEO_P , NEO_Z , KC_TRNS ,
KC_LSFT , NEO_UE , NEO_OE , NEO_AE , NEO_P , NEO_Z , TG ( PMQ ) ,
KC_LCTL , KC_LALT , MO ( FMU ) , KC_LGUI , NEO_L2_L ,
KC_LCTL , KC_LALT , MO ( FMU ) , KC_LGUI , NEO_L2_L ,
KC_LEFT , KC_UP ,
KC_LEFT , KC_UP ,
KC_MINS ,
KC_MINS ,
@ -42,13 +45,95 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
DE_ACUT , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC ,
DE_ACUT , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC ,
KC_END , NEO_K , NEO_H , NEO_G , NEO_F , NEO_Q , NEO_SS ,
KC_END , NEO_K , NEO_H , NEO_G , NEO_F , NEO_Q , NEO_SS ,
NEO_S , NEO_N , NEO_R , NEO_T , NEO_D , NEO_L1_R ,
NEO_S , NEO_N , NEO_R , NEO_T , NEO_D , NEO_L1_R ,
KC_TRNS , NEO_B , NEO_M , KC_COMM , KC_DOT , NEO_J , KC_RSFT ,
TG ( PMN ) , NEO_B , NEO_M , KC_COMM , KC_DOT , NEO_J , KC_RSFT ,
NEO_L2_R , KC_RGUI , MO ( FMU ) , KC_RALT , KC_RCTL ,
NEO_L2_R , KC_RGUI , MO ( FMU ) , KC_RALT , KC_RCTL ,
KC_DOWN , KC_RGHT ,
KC_DOWN , KC_RGHT ,
KC_MINS ,
KC_MINS ,
MEH_T ( KC_NO ) , KC_ENT , KC_SPC
MEH_T ( KC_NO ) , KC_ENT , KC_SPC
) ,
) ,
/* Layer 1 (F-keys, Mouse and Unicode)
/* Layer 1: poor man’ s QWERTZ
* based on kaimi ’ s layout
* ┌ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ─ ─ ┐
* │ TAB │ 1 │ 2 │ 3 │ 4 │ 5 │ ` │ │ ´ │ 6 │ 7 │ 8 │ 9 │ 0 │ BKSPC │
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
* │ C │ P │ T │ F │ K │ L │ HOM │ │ END │ B │ A │ S │ G │ V │ Y │
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ╆ ─ ─ ─ ─ ─ ╅ ─ ─ ─ ─ ─ ┤ E │ │ ├ ─ ─ ─ ─ ─ ╆ ─ ─ ─ ─ ─ ╅ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
* │ Mod3 │ D │ H │ Ö │ O │ I ├ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┤ U │ - │ Z │ E │ X │ Mod3 │
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ╄ ─ ─ ─ ─ ─ ╃ ─ ─ ─ ─ ─ ┤ ( TL2 ) │ │ ( TL3 ) ├ ─ ─ ─ ─ ─ ╄ ─ ─ ─ ─ ─ ╃ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
* │ LSHFT │ Ä │ Q │ R │ W │ N │ │ │ │ J │ M │ , │ . │ ẞ │ Shift │
* └ ─ ┬ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘ └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┬ ─ ┘
* │ CTL │ ALT │ MO1 │ Win │ MO4 │ │ M04 │ Win │ MO1 │ Alt │ CTL │
* └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘
* │ ← │ ↑ │ │ ↓ │ → │
* ┌ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┐
* │ │ │ ─ │ │ ─ │ │ │
* │ SPC │ RTN ├ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┤ RTN │ SPC │
* │ │ │ HYP │ │ MEH │ │ │
* └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘ └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘
*/
[ PMQ ] = KEYMAP (
// left hand
KC_TAB , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_EQL ,
DE_C , DE_P , DE_T , DE_F , DE_K , DE_L , KC_HOME ,
NEO_L1_L , DE_D , DE_H , DE_OE , DE_O , DE_I ,
KC_LSFT , DE_AE , DE_Q , DE_R , DE_W , DE_N , KC_TRNS ,
KC_LCTL , KC_LALT , MO ( FMU ) , KC_LGUI , MO ( NHL ) ,
KC_LEFT , KC_UP ,
KC_MINS ,
KC_SPC , KC_ENT , ALL_T ( KC_NO ) ,
// right hand
DE_ACUT , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC ,
KC_END , DE_B , DE_A , DE_S , DE_G , DE_V , DE_Y ,
DE_U , DE_MINS , DE_Z , DE_E , DE_X , NEO_L1_R ,
KC_TRNS , DE_J , DE_M , DE_COMM , DE_DOT , DE_SS , KC_RSFT ,
MO ( NHL ) , KC_RGUI , MO ( FMU ) , KC_RALT , KC_RCTL ,
KC_DOWN , KC_RGHT ,
KC_MINS ,
MEH_T ( KC_NO ) , KC_ENT , KC_SPC
) ,
/* Layer 2: poor man’ s Neo
* based on kaimi ’ s layout
* ┌ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ─ ─ ┐
* │ TAB │ 1 │ 2 │ 3 │ 4 │ 5 │ ` │ │ ´ │ 6 │ 7 │ 8 │ 9 │ 0 │ BKSPC │
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
* │ Y │ X │ V │ L │ C │ W │ HOM │ │ END │ K │ H │ G │ F │ Q │ ß │
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ╆ ─ ─ ─ ─ ─ ╅ ─ ─ ─ ─ ─ ┤ E │ │ ├ ─ ─ ─ ─ ─ ╆ ─ ─ ─ ─ ─ ╅ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
* │ Mod3 │ U │ I │ A │ E │ O ├ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┤ S │ N │ R │ T │ D │ Mod3 │
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ╄ ─ ─ ─ ─ ─ ╃ ─ ─ ─ ─ ─ ┤ ( TL2 ) │ │ ( TL3 ) ├ ─ ─ ─ ─ ─ ╄ ─ ─ ─ ─ ─ ╃ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
* │ LSHFT │ Ü │ Ö │ Ä │ P │ Z │ │ │ │ B │ M │ , │ . │ J │ Shift │
* └ ─ ┬ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘ └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┬ ─ ┘
* │ CTL │ ALT │ MO1 │ Win │ MO4 │ │ M04 │ Win │ MO1 │ Alt │ CTL │
* └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘
* │ ← │ ↑ │ │ ↓ │ → │
* ┌ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┐
* │ │ │ ─ │ │ ─ │ │ │
* │ SPC │ RTN ├ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┤ RTN │ SPC │
* │ │ │ HYP │ │ MEH │ │ │
* └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘ └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘
*/
[ PMN ] = KEYMAP (
KC_TAB , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_EQL ,
DE_Y , DE_X , DE_V , DE_L , DE_C , DE_W , KC_HOME ,
KC_NO , DE_U , DE_I , DE_A , DE_E , DE_O ,
KC_LSFT , DE_UE , DE_OE , DE_AE , DE_P , DE_Z , KC_TRNS ,
KC_LCTL , KC_LALT , MO ( FMU ) , KC_LGUI , MO ( NHL ) ,
KC_LEFT , KC_UP ,
KC_MINS ,
KC_SPC , KC_ENT , ALL_T ( KC_NO ) ,
// right hand
DE_ACUT , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC ,
KC_END , DE_K , DE_H , DE_G , DE_F , DE_Q , DE_SS ,
DE_S , DE_N , DE_R , DE_T , DE_D , KC_NO ,
KC_TRNS , DE_B , DE_M , KC_COMM , KC_DOT , DE_J , KC_RSFT ,
MO ( NHL ) , KC_RGUI , MO ( FMU ) , KC_RALT , KC_RCTL ,
KC_DOWN , KC_RGHT ,
KC_MINS ,
MEH_T ( KC_NO ) , KC_ENT , KC_SPC
) ,
/* Layer 3: F-keys, Mouse and Unicode
* ┌ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ─ ─ ┐
* ┌ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ─ ─ ┐
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
@ -87,10 +172,55 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_BTN2 ,
KC_BTN2 ,
KC_TRNS , KC_TRNS , KC_TRNS
KC_TRNS , KC_TRNS , KC_TRNS
) ,
) ,
/* Layer 4: Neo’ s software layer 4 rebuilt in Hardware
* based on kaimi ’ s layout
* ┌ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ─ ─ ┐
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
* │ │ PgUp │ BSpc │ ↑ │ Del │ PgDn │ │ │ │ │ 7 │ 8 │ 9 │ + │ − │
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ╆ ─ ─ ─ ─ ─ ╅ ─ ─ ─ ─ ─ ┤ │ │ ├ ─ ─ ─ ─ ─ ╆ ─ ─ ─ ─ ─ ╅ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
* │ │ Home │ ← │ ↓ │ → │ End ├ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┤ │ 4 │ 5 │ 6 │ , │ . │
* ├ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ╄ ─ ─ ─ ─ ─ ╃ ─ ─ ─ ─ ─ ┤ ( TL2 ) │ │ ( TL3 ) ├ ─ ─ ─ ─ ─ ╄ ─ ─ ─ ─ ─ ╃ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ┤
* │ │ Esc │ Tab │ Ins │ Ret │ Undo │ │ │ │ │ 1 │ 2 │ 3 │ │ │
* └ ─ ┬ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘ └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┬ ─ ┘
* │ │ │ ( MO1 ) │ │ ( MO4 ) │ │ ( MO4 ) │ │ ( MO1 ) │ │ │
* └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ┐ └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘
* │ │ │ │ │ │
* ┌ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ┐
* │ │ │ │ │ │ │ │
* │ │ ├ ─ ─ ─ ─ ─ ┤ ├ ─ ─ ─ ─ ─ ┤ │ │
* │ │ │ │ │ │ │ │
* └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘ └ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┴ ─ ─ ─ ─ ─ ┘
*/
[ NHL ] = KEYMAP (
// left hand
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_NO , KC_PGUP , KC_BSPC , KC_UP , KC_DELT , KC_PGDN , KC_NO ,
KC_NO , KC_HOME , KC_LEFT , KC_DOWN , KC_RGHT , KC_END ,
KC_NO , KC_ESC , KC_TAB , KC_INS , KC_ENT , KC_UNDO , KC_TRNS ,
KC_NO , KC_NO , KC_TRNS , KC_NO , KC_TRNS ,
KC_NO , KC_NO ,
KC_NO ,
KC_NO , KC_NO , KC_NO ,
// right hand
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
KC_NO , KC_NO , KC_7 , KC_8 , KC_9 , DE_PLUS , DE_MINS ,
KC_NO , KC_4 , KC_5 , KC_6 , KC_COMM , KC_DOT ,
KC_TRNS , KC_NO , KC_1 , KC_2 , KC_3 , KC_NO , KC_NO ,
KC_TRNS , KC_NO , KC_TRNS , KC_NO , KC_NO ,
KC_NO , KC_NO ,
KC_NO ,
KC_NO , KC_NO , KC_NO
) ,
} ;
} ;
const uint16_t PROGMEM fn_actions [ ] = {
const uint16_t PROGMEM fn_actions [ ] = {
[ 1 ] = ACTION_LAYER_TAP_TOGGLE ( FMU )
[ BASE ] = ACTION_FUNCTION ( BASE ) ,
[ PMQ ] = ACTION_FUNCTION ( PMQ ) ,
[ PMN ] = ACTION_FUNCTION ( PMN ) ,
[ FMU ] = ACTION_LAYER_TAP_TOGGLE ( FMU ) ,
[ NHL ] = ACTION_LAYER_TAP_TOGGLE ( NHL )
} ;
} ;
@ -129,6 +259,13 @@ void * matrix_scan_user(void)
switch ( layer ) {
switch ( layer ) {
case FMU :
case FMU :
ergodox_right_led_1_on ( ) ;
ergodox_right_led_1_on ( ) ;
break ;
case PMQ :
ergodox_right_led_2_on ( ) ;
break ;
case PMN :
ergodox_right_led_3_on ( ) ;
break ;
default :
default :
ergodox_board_led_off ( ) ;
ergodox_board_led_off ( ) ;
break ;
break ;