Combined function and config
- removed config layer - was able to spread everything out to the function layer - cleaned up combo and oled code because of this
This commit is contained in:
		
							parent
							
								
									fee58201e5
								
							
						
					
					
						commit
						5fc856d0ea
					
				
					 11 changed files with 19 additions and 50 deletions
				
			
		| 
						 | 
				
			
			@ -26,8 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NUMBER]     = ROLLOW(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = ROLLOW(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE]      = ROLLOW(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = ROLLOW(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = ROLLOW(LAYER_CONFIG)
 | 
			
		||||
  [_FUNCTION]   = ROLLOW(LAYER_FUNCTION)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -42,8 +41,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | 
			
		|||
  [_NUMBER]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(FWD_TAB, REV_TAB) },
 | 
			
		||||
  [_SYMBOL]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
 | 
			
		||||
  [_MOUSE]      = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(ZOOMIN,  ZOOMOUT) },
 | 
			
		||||
  [_FUNCTION]   = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
 | 
			
		||||
  [_CONFIG]     = { ENCODER_CCW_CW(FWD_CFG, REV_CFG), ENCODER_CCW_CW(FWD_CFG, REV_CFG) }
 | 
			
		||||
  [_FUNCTION]   = { ENCODER_CCW_CW(FWD_CFG, REV_CFG), ENCODER_CCW_CW(FWD_CFG, REV_CFG) }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NUMBER]     = CNANO(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = CNANO(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE]      = CNANO(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = CNANO(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = CNANO(LAYER_CONFIG)
 | 
			
		||||
  [_FUNCTION]   = CNANO(LAYER_FUNCTION)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,8 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NUMBER]     = SWOOP(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = SWOOP(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE]      = SWOOP(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = SWOOP(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = SWOOP(LAYER_CONFIG)
 | 
			
		||||
  [_FUNCTION]   = SWOOP(LAYER_FUNCTION)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -58,8 +57,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | 
			
		|||
  [_NUMBER]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(REV_TAB, FWD_TAB) },
 | 
			
		||||
  [_SYMBOL]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
 | 
			
		||||
  [_MOUSE]      = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(ZOOMOUT, ZOOMIN)  },
 | 
			
		||||
  [_FUNCTION]   = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
 | 
			
		||||
  [_CONFIG]     = { ENCODER_CCW_CW(REV_CFG, FWD_CFG), ENCODER_CCW_CW(REV_CFG, FWD_CFG) }
 | 
			
		||||
  [_FUNCTION]   = { ENCODER_CCW_CW(REV_CFG, FWD_CFG), ENCODER_CCW_CW(REV_CFG, FWD_CFG) }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif //ENCODER_MAP_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NUMBER]     = CRKBD(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = CRKBD(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE]      = CRKBD(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = CRKBD(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = CRKBD(LAYER_CONFIG)
 | 
			
		||||
  [_FUNCTION]   = CRKBD(LAYER_FUNCTION)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,8 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NUMBER]     = KLOR(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = KLOR(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE]      = KLOR(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = KLOR(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = KLOR(LAYER_CONFIG)
 | 
			
		||||
  [_FUNCTION]   = KLOR(LAYER_FUNCTION)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,8 +40,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | 
			
		|||
  [_NUMBER]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(REV_TAB, FWD_TAB) },
 | 
			
		||||
  [_SYMBOL]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
 | 
			
		||||
  [_MOUSE]      = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(ZOOMOUT, ZOOMIN)  },
 | 
			
		||||
  [_FUNCTION]   = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
 | 
			
		||||
  [_CONFIG]     = { ENCODER_CCW_CW(REV_CFG, FWD_CFG), ENCODER_CCW_CW(REV_CFG, FWD_CFG) }
 | 
			
		||||
  [_FUNCTION]   = { ENCODER_CCW_CW(REV_CFG, FWD_CFG), ENCODER_CCW_CW(REV_CFG, FWD_CFG) }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NUMBER]     = PLANCK(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = PLANCK(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE]      = PLANCK(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = PLANCK(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = PLANCK(LAYER_CONFIG)
 | 
			
		||||
  [_FUNCTION]   = PLANCK(LAYER_FUNCTION)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,6 @@ uint16_t get_combo_term(uint16_t index, combo_t *combo) {
 | 
			
		|||
  // or with combo index, i.e. its name from enum.
 | 
			
		||||
  switch (index) {
 | 
			
		||||
    case LYR_FUNCTION:
 | 
			
		||||
    case LYR_CONFIG:
 | 
			
		||||
      return COMBO_TERM + 100;
 | 
			
		||||
 | 
			
		||||
    default:
 | 
			
		||||
| 
						 | 
				
			
			@ -14,7 +13,6 @@ uint16_t get_combo_term(uint16_t index, combo_t *combo) {
 | 
			
		|||
 | 
			
		||||
bool get_combo_must_hold(uint16_t index, combo_t *combo) {
 | 
			
		||||
  switch (index) {
 | 
			
		||||
    case LYR_CONFIG:
 | 
			
		||||
    case LYR_FUNCTION:
 | 
			
		||||
      return true;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +35,6 @@ bool combo_should_trigger (uint16_t combo_index, combo_t *combo, uint16_t keycod
 | 
			
		|||
      }
 | 
			
		||||
 | 
			
		||||
    case LYR_FUNCTION:
 | 
			
		||||
    case LYR_CONFIG:
 | 
			
		||||
      if ( get_highest_layer(layer_state | default_layer_state) > FIRST_DEFAULT_LAYER ) {
 | 
			
		||||
        return false;
 | 
			
		||||
      }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,6 @@ enum combos {
 | 
			
		|||
  MOUSE_DRGTOG,
 | 
			
		||||
 | 
			
		||||
  LYR_FUNCTION,
 | 
			
		||||
  LYR_CONFIG,
 | 
			
		||||
 | 
			
		||||
  COMBO_LENGTH
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -15,7 +14,6 @@ const uint16_t PROGMEM mou_btn2_combo[] = { KC_C,    KC_V,    COMBO_END };
 | 
			
		|||
const uint16_t PROGMEM mou_drg_combo[]  = { KC_X,    KC_V,    COMBO_END };
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM lyr_fun_combo[]  = { NUM,     TR_LSFT, COMBO_END };
 | 
			
		||||
const uint16_t PROGMEM lyr_cfg_combo[]  = { KC_SPC,  NAV,     COMBO_END };
 | 
			
		||||
 | 
			
		||||
//their documentation is so confusing because you don't use COMBO_LEN defining the actions
 | 
			
		||||
uint16_t COMBO_LEN = COMBO_LENGTH;
 | 
			
		||||
| 
						 | 
				
			
			@ -24,7 +22,5 @@ combo_t key_combos[COMBO_LENGTH] = {
 | 
			
		|||
  [MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2),
 | 
			
		||||
  [MOUSE_DRGTOG]  = COMBO(mou_drg_combo,  TR_DRGS),
 | 
			
		||||
 | 
			
		||||
  [LYR_FUNCTION]  = COMBO(lyr_fun_combo, FUNC),
 | 
			
		||||
  [LYR_CONFIG]    = COMBO(lyr_cfg_combo, CONFIG)
 | 
			
		||||
 | 
			
		||||
  [LYR_FUNCTION]  = COMBO(lyr_fun_combo, FUNC)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,9 +48,6 @@ void render_layer_state (uint8_t col, uint8_t line, bool moveCursor) {
 | 
			
		|||
    case _FUNCTION:
 | 
			
		||||
      oled_write_P(PSTR(OLED_RENDER_LAYER_6), false);
 | 
			
		||||
      break;
 | 
			
		||||
    case _CONFIG:
 | 
			
		||||
      oled_write_P(PSTR(OLED_RENDER_LAYER_7), false);
 | 
			
		||||
      break;
 | 
			
		||||
    default:
 | 
			
		||||
      oled_write_P(PSTR(OLED_RENDER_LAYER_1), false);
 | 
			
		||||
      break;
 | 
			
		||||
| 
						 | 
				
			
			@ -72,7 +69,6 @@ void render_layer_state_list (uint8_t col, uint8_t line, bool moveCursor) {
 | 
			
		|||
  oled_write_P(PSTR(OLED_RENDER_LAYER_4), current_layer == _SYMBOL);
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_5), current_layer == _MOUSE);
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_6), current_layer == _FUNCTION);
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_7), current_layer == _CONFIG);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,6 @@
 | 
			
		|||
#   define OLED_RENDER_LAYER_4           "Symbol    "
 | 
			
		||||
#   define OLED_RENDER_LAYER_5           "Mouse     "
 | 
			
		||||
#   define OLED_RENDER_LAYER_6           "Function  "
 | 
			
		||||
#   define OLED_RENDER_LAYER_7           "Config    "
 | 
			
		||||
#else
 | 
			
		||||
//128x32 are ? x 5 char wide
 | 
			
		||||
#   define OLED_RENDER_DEFAULT_LAYER1    "Qwrty"
 | 
			
		||||
| 
						 | 
				
			
			@ -26,7 +25,6 @@
 | 
			
		|||
#   define OLED_RENDER_LAYER_4           " Sym "
 | 
			
		||||
#   define OLED_RENDER_LAYER_5           " Mou "
 | 
			
		||||
#   define OLED_RENDER_LAYER_6           " Fun "
 | 
			
		||||
#   define OLED_RENDER_LAYER_7           " Cfg "
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void render_oled_128x64 (void);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,8 +23,7 @@ enum layers {
 | 
			
		|||
  _NUMBER,
 | 
			
		||||
  _SYMBOL,
 | 
			
		||||
  _MOUSE,
 | 
			
		||||
  _FUNCTION,
 | 
			
		||||
  _CONFIG
 | 
			
		||||
  _FUNCTION
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// start at the second layer
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +75,6 @@ enum keycodes {
 | 
			
		|||
#define MOU_A   LT(_MOUSE, KC_A)
 | 
			
		||||
#define MOU_TOG TG(_MOUSE)
 | 
			
		||||
#define FUNC    MO(_FUNCTION)
 | 
			
		||||
#define CONFIG  MO(_CONFIG)
 | 
			
		||||
 | 
			
		||||
// Windows Shortcuts
 | 
			
		||||
#define SC_COPY LCTL(KC_C)
 | 
			
		||||
| 
						 | 
				
			
			@ -184,11 +182,11 @@ enum keycodes {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
#define LAYER_NAVIGATION                                                                    \
 | 
			
		||||
  KC_ESC,  KC_HOME, KC_UP,   KC_END,  KC_PGUP, ___x___, KC_APP,  ___x___, ___x___, ___x___, \
 | 
			
		||||
  KC_ESC,  KC_HOME, KC_UP,   KC_END,  KC_PGUP, ___x___, KC_APP,  DM_PLY1, DM_REC1, ___x___, \
 | 
			
		||||
  ___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BSPC, _SCAG_MODS________________________, \
 | 
			
		||||
  _UCCPR_L___________________________________, KC_DEL,  KC_TAB,  ___x___, ___x___, ___x___, \
 | 
			
		||||
  _UCCPR_L___________________________________, KC_DEL,  KC_TAB,  KC_VOLD, KC_VOLU, KC_MUTE, \
 | 
			
		||||
                    ___x___, NUM,     KC_ENT,  _LAYER_TRANS_____________,                   \
 | 
			
		||||
                                      SCR_TOP, TOG_CFG
 | 
			
		||||
                                      SCR_TOP, ___x___
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYER_NUMBER                                                                        \
 | 
			
		||||
| 
						 | 
				
			
			@ -216,16 +214,9 @@ enum keycodes {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
#define LAYER_FUNCTION                                                                      \
 | 
			
		||||
  ___x___, ___x___, ___x___, ___x___, KC_NUM,  KC_PSCR, KC_F7,   KC_F8,   KC_F9,   KC_F10,  \
 | 
			
		||||
  _GACS_MODS________________________, KC_CAPS, KC_BRK,  KC_F4,   KC_F5,   KC_F6,   KC_F11,  \
 | 
			
		||||
  ___x___, ___x___, ___x___, ___x___, KC_SCRL, KC_INS,  KC_F1,   KC_F2,   KC_F3,   KC_F12,  \
 | 
			
		||||
                    _NONE_3__________________, DM_PLY1, DM_REC1, ___x___,                   \
 | 
			
		||||
                                      ___x___, ___x___
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYER_CONFIG                                                                        \
 | 
			
		||||
  _NONE_5____________________________________, ___x___, KC_VOLD, KC_VOLU, KC_MUTE, QK_BOOT, \
 | 
			
		||||
  ___x___, FWD_CFG, REV_CFG, TOG_CFG, ___x___, ___x___, _SCAG_MODS________________________, \
 | 
			
		||||
  _NONE_5____________________________________, _NONE_5____________________________________, \
 | 
			
		||||
                    _NONE_3__________________, _NONE_3__________________,                   \
 | 
			
		||||
  QK_BOOT, KC_MPRV, KC_MNXT, KC_MPLY, DM_REC1, KC_PSCR, KC_F7,   KC_F8,   KC_F9,   KC_F10,  \
 | 
			
		||||
  _GACS_MODS________________________, DM_PLY1, KC_BRK,  KC_F4,   KC_F5,   KC_F6,   KC_F11,  \
 | 
			
		||||
  ___x___, KC_NUM,  KC_CAPS, KC_SCRL, KC_INS,  TOG_CFG, KC_F1,   KC_F2,   KC_F3,   KC_F12,  \
 | 
			
		||||
                    _NONE_3__________________, FWD_CFG, REV_CFG, ___x___,                   \
 | 
			
		||||
                                      TOG_CFG, TOG_CFG
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue