Splitting up layers
- split mouse_func into mouse, function, config - thumb combos returned - adjusted combo and oled configuration - big ol keymap changes - hinting at return to boards without encoders
This commit is contained in:
		
							parent
							
								
									b3649afc23
								
							
						
					
					
						commit
						fee58201e5
					
				
					 12 changed files with 189 additions and 97 deletions
				
			
		| 
						 | 
				
			
			@ -25,7 +25,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NAVIGATION] = ROLLOW(LAYER_NAVIGATION),
 | 
			
		||||
  [_NUMBER]     = ROLLOW(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = ROLLOW(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE_FUNC] = ROLLOW(LAYER_MOUSE_FUNC)
 | 
			
		||||
  [_MOUSE]      = ROLLOW(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = ROLLOW(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = ROLLOW(LAYER_CONFIG)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -36,10 +38,12 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | 
			
		|||
  [_QWERTY]     = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
 | 
			
		||||
  [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
 | 
			
		||||
  [_GAME]       = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
 | 
			
		||||
  [_NAVIGATION] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT), ENCODER_CCW_CW(FWD_CFG, REV_CFG) },
 | 
			
		||||
  [_NAVIGATION] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT), ENCODER_CCW_CW(___x___, ___x___) },
 | 
			
		||||
  [_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_FUNC] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(ZOOMIN,  ZOOMOUT) }
 | 
			
		||||
  [_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) }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,5 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NAVIGATION] = CNANO(LAYER_NAVIGATION),
 | 
			
		||||
  [_NUMBER]     = CNANO(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = CNANO(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE_FUNC] = CNANO(LAYER_MOUSE_FUNC)
 | 
			
		||||
};
 | 
			
		||||
  [_MOUSE]      = CNANO(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = CNANO(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = CNANO(LAYER_CONFIG)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,7 +41,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NAVIGATION] = SWOOP(LAYER_NAVIGATION),
 | 
			
		||||
  [_NUMBER]     = SWOOP(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = SWOOP(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE_FUNC] = SWOOP(LAYER_MOUSE_FUNC)
 | 
			
		||||
  [_MOUSE]      = SWOOP(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = SWOOP(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = SWOOP(LAYER_CONFIG)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -49,13 +51,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 | 
			
		||||
/* The encoder presses are handled in the keymap */
 | 
			
		||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | 
			
		||||
  [_QWERTY]     = { ENCODER_CCW_CW(KC_WH_U,  KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U,  KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_GAME]       = { ENCODER_CCW_CW(KC_WH_U,  KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT,  KC_RGHT), ENCODER_CCW_CW(REV_CFG, FWD_CFG) },
 | 
			
		||||
  [_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_FUNC] = { ENCODER_CCW_CW(KC_WH_U,  KC_WH_D), ENCODER_CCW_CW(ZOOMOUT, ZOOMIN)  }
 | 
			
		||||
  [_QWERTY]     = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_GAME]       = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(___x___, ___x___) },
 | 
			
		||||
  [_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) }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif //ENCODER_MAP_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			@ -73,7 +77,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | 
			
		|||
 *             17  07  00  18  25  35                64
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
led_config_t g_led_config = { 
 | 
			
		||||
led_config_t g_led_config = {
 | 
			
		||||
  {
 | 
			
		||||
    // Key matrix to LED index
 | 
			
		||||
    // I still don't understand but make it match the split layout?
 | 
			
		||||
| 
						 | 
				
			
			@ -109,7 +113,7 @@ led_config_t g_led_config = {
 | 
			
		|||
    {204,0},   {204,21},  {204,43}, //29
 | 
			
		||||
    {224,43},  {224,21},  {224,0},  //32 outer column
 | 
			
		||||
    {163,64}                        //35 outer thumb
 | 
			
		||||
  } 
 | 
			
		||||
  }
 | 
			
		||||
  , {
 | 
			
		||||
    // LED index to flag
 | 
			
		||||
    // Start from 0 and go to the end
 | 
			
		||||
| 
						 | 
				
			
			@ -118,7 +122,7 @@ led_config_t g_led_config = {
 | 
			
		|||
    LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
 | 
			
		||||
    LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
 | 
			
		||||
    LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
 | 
			
		||||
    LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, 
 | 
			
		||||
    LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
 | 
			
		||||
    // Right 1-18
 | 
			
		||||
    LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
 | 
			
		||||
    LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
 | 
			
		||||
| 
						 | 
				
			
			@ -128,4 +132,4 @@ led_config_t g_led_config = {
 | 
			
		|||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif //RGB_MATRIX_ENABLE
 | 
			
		||||
#endif //RGB_MATRIX_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,5 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NAVIGATION] = CRKBD(LAYER_NAVIGATION),
 | 
			
		||||
  [_NUMBER]     = CRKBD(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = CRKBD(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE_FUNC] = CRKBD(LAYER_MOUSE_FUNC)
 | 
			
		||||
};
 | 
			
		||||
  [_MOUSE]      = CRKBD(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = CRKBD(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = CRKBD(LAYER_CONFIG)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,20 +25,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NAVIGATION] = KLOR(LAYER_NAVIGATION),
 | 
			
		||||
  [_NUMBER]     = KLOR(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = KLOR(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE_FUNC] = KLOR(LAYER_MOUSE_FUNC)
 | 
			
		||||
  [_MOUSE]      = KLOR(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = KLOR(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = KLOR(LAYER_CONFIG)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(ENCODER_MAP_ENABLE)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | 
			
		||||
  [_QWERTY]     = { ENCODER_CCW_CW(KC_WH_U,  KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U,  KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_GAME]       = { ENCODER_CCW_CW(KC_WH_U,  KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT,  KC_RGHT), ENCODER_CCW_CW(REV_CFG, FWD_CFG) },
 | 
			
		||||
  [_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_FUNC] = { ENCODER_CCW_CW(KC_WH_U,  KC_WH_D), ENCODER_CCW_CW(ZOOMOUT, ZOOMIN)  }
 | 
			
		||||
  [_QWERTY]     = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_GAME]       = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(___x___, ___x___) },
 | 
			
		||||
  [_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) }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,5 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_NAVIGATION] = PLANCK(LAYER_NAVIGATION),
 | 
			
		||||
  [_NUMBER]     = PLANCK(LAYER_NUMBER),
 | 
			
		||||
  [_SYMBOL]     = PLANCK(LAYER_SYMBOL),
 | 
			
		||||
  [_MOUSE_FUNC] = PLANCK(LAYER_MOUSE_FUNC)
 | 
			
		||||
};
 | 
			
		||||
  [_MOUSE]      = PLANCK(LAYER_MOUSE),
 | 
			
		||||
  [_FUNCTION]   = PLANCK(LAYER_FUNCTION),
 | 
			
		||||
  [_CONFIG]     = PLANCK(LAYER_CONFIG)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,6 @@
 | 
			
		|||
 | 
			
		||||
//Set common configuration for all keyboards
 | 
			
		||||
#define USB_POLLING_INTERVAL_MS 1
 | 
			
		||||
#define LAYER_STATE_8BIT
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -44,7 +43,7 @@
 | 
			
		|||
 | 
			
		||||
/* Caps Word
 | 
			
		||||
*  https://docs.qmk.fm/features/caps_word
 | 
			
		||||
* 
 | 
			
		||||
*
 | 
			
		||||
*  Explore these
 | 
			
		||||
*  #undef BOTH_SHIFTS_TURNS_ON_CAPS_WORD
 | 
			
		||||
*  #undef CAPS_WORD_INVERT_ON_SHIFT
 | 
			
		||||
| 
						 | 
				
			
			@ -66,11 +65,15 @@
 | 
			
		|||
#  undef COMBO_ONLY_FROM_LAYER
 | 
			
		||||
#  undef EXTRA_SHORT_COMBOS
 | 
			
		||||
#  undef COMBO_TERM
 | 
			
		||||
#  undef COMBO_TERM_PER_COMBO
 | 
			
		||||
#  undef COMBO_MUST_HOLD_PER_COMBO
 | 
			
		||||
#  undef COMBO_SHOULD_TRIGGER
 | 
			
		||||
 | 
			
		||||
#  define COMBO_ONLY_FROM_LAYER 0 //this will always setup combos based off of QWERTY layout
 | 
			
		||||
#  define EXTRA_SHORT_COMBOS
 | 
			
		||||
#  define COMBO_TERM 35
 | 
			
		||||
#  define COMBO_TERM_PER_COMBO
 | 
			
		||||
#  define COMBO_MUST_HOLD_PER_COMBO
 | 
			
		||||
#  define COMBO_SHOULD_TRIGGER
 | 
			
		||||
#endif //COMBO_ENABLE
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,28 @@
 | 
			
		|||
#include "combo.h"
 | 
			
		||||
 | 
			
		||||
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:
 | 
			
		||||
      return COMBO_TERM;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool get_combo_must_hold(uint16_t index, combo_t *combo) {
 | 
			
		||||
  switch (index) {
 | 
			
		||||
    case LYR_CONFIG:
 | 
			
		||||
    case LYR_FUNCTION:
 | 
			
		||||
      return true;
 | 
			
		||||
 | 
			
		||||
    default:
 | 
			
		||||
      return false;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool combo_should_trigger (uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  switch (combo_index) {
 | 
			
		||||
    case MOUSE_BUTTON2:
 | 
			
		||||
| 
						 | 
				
			
			@ -9,11 +32,17 @@ bool combo_should_trigger (uint16_t combo_index, combo_t *combo, uint16_t keycod
 | 
			
		|||
 | 
			
		||||
    case MOUSE_DRGTOG:
 | 
			
		||||
      if (( get_highest_layer(layer_state | default_layer_state) != FIRST_DEFAULT_LAYER )
 | 
			
		||||
       && ( get_highest_layer(layer_state | default_layer_state) != _MOUSE_FUNC )) {
 | 
			
		||||
       && ( get_highest_layer(layer_state | default_layer_state) != _MOUSE )) {
 | 
			
		||||
          return false;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    case LYR_FUNCTION:
 | 
			
		||||
    case LYR_CONFIG:
 | 
			
		||||
      if ( get_highest_layer(layer_state | default_layer_state) > FIRST_DEFAULT_LAYER ) {
 | 
			
		||||
        return false;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    default:
 | 
			
		||||
      return true;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +1,30 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
#include "t4corun.h"
 | 
			
		||||
 | 
			
		||||
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 };
 | 
			
		||||
 | 
			
		||||
enum combos {
 | 
			
		||||
  MOUSE_BUTTON2,
 | 
			
		||||
  MOUSE_DRGTOG,
 | 
			
		||||
 | 
			
		||||
  LYR_FUNCTION,
 | 
			
		||||
  LYR_CONFIG,
 | 
			
		||||
 | 
			
		||||
  COMBO_LENGTH
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
 | 
			
		||||
combo_t key_combos[COMBO_LENGTH] = {
 | 
			
		||||
  [MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2),
 | 
			
		||||
  [MOUSE_DRGTOG]  = COMBO(mou_drg_combo,  TR_DRGS)
 | 
			
		||||
};
 | 
			
		||||
  [MOUSE_DRGTOG]  = COMBO(mou_drg_combo,  TR_DRGS),
 | 
			
		||||
 | 
			
		||||
  [LYR_FUNCTION]  = COMBO(lyr_fun_combo, FUNC),
 | 
			
		||||
  [LYR_CONFIG]    = COMBO(lyr_cfg_combo, CONFIG)
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,9 +42,15 @@ void render_layer_state (uint8_t col, uint8_t line, bool moveCursor) {
 | 
			
		|||
    case _SYMBOL:
 | 
			
		||||
      oled_write_P(PSTR(OLED_RENDER_LAYER_4), false);
 | 
			
		||||
      break;
 | 
			
		||||
    case _MOUSE_FUNC:
 | 
			
		||||
    case _MOUSE:
 | 
			
		||||
      oled_write_P(PSTR(OLED_RENDER_LAYER_5), false);
 | 
			
		||||
      break;
 | 
			
		||||
    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;
 | 
			
		||||
| 
						 | 
				
			
			@ -64,7 +70,9 @@ void render_layer_state_list (uint8_t col, uint8_t line, bool moveCursor) {
 | 
			
		|||
  oled_write_P(PSTR(OLED_RENDER_LAYER_2), current_layer == _NAVIGATION);
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_3), current_layer == _NUMBER);
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_4), current_layer == _SYMBOL);
 | 
			
		||||
  oled_write_P(PSTR(OLED_RENDER_LAYER_5), current_layer == _MOUSE_FUNC);
 | 
			
		||||
  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);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -183,12 +191,12 @@ void render_oled_128x64 (void) {
 | 
			
		|||
/*
 | 
			
		||||
base lyr: current lyr
 | 
			
		||||
---------------------
 | 
			
		||||
                     
 | 
			
		||||
 mod  mod  mod  mod  
 | 
			
		||||
 mod  mod  mod  mod  
 | 
			
		||||
                     
 | 
			
		||||
-------------- xxxxx 
 | 
			
		||||
 NCS xx xx xx  xxxxx 
 | 
			
		||||
 | 
			
		||||
 mod  mod  mod  mod
 | 
			
		||||
 mod  mod  mod  mod
 | 
			
		||||
 | 
			
		||||
-------------- xxxxx
 | 
			
		||||
 NCS xx xx xx  xxxxx
 | 
			
		||||
*/
 | 
			
		||||
    render_default_layer_state(0,0, true);
 | 
			
		||||
    render_layer_state(0,0, false);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,7 +11,9 @@
 | 
			
		|||
#   define OLED_RENDER_LAYER_2           "Navigation"
 | 
			
		||||
#   define OLED_RENDER_LAYER_3           "Number    "
 | 
			
		||||
#   define OLED_RENDER_LAYER_4           "Symbol    "
 | 
			
		||||
#   define OLED_RENDER_LAYER_5           "Mouse+Func"
 | 
			
		||||
#   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"
 | 
			
		||||
| 
						 | 
				
			
			@ -22,7 +24,9 @@
 | 
			
		|||
#   define OLED_RENDER_LAYER_2           " Nav "
 | 
			
		||||
#   define OLED_RENDER_LAYER_3           " Num "
 | 
			
		||||
#   define OLED_RENDER_LAYER_4           " Sym "
 | 
			
		||||
#   define OLED_RENDER_LAYER_5           " MFn "
 | 
			
		||||
#   define OLED_RENDER_LAYER_5           " Mou "
 | 
			
		||||
#   define OLED_RENDER_LAYER_6           " Fun "
 | 
			
		||||
#   define OLED_RENDER_LAYER_7           " Cfg "
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void render_oled_128x64 (void);
 | 
			
		||||
| 
						 | 
				
			
			@ -89,36 +93,36 @@ static const char PROGMEM sep_short_v[] = {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
static const char PROGMEM klor_face[] = {
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
			
		||||
    0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 
 | 
			
		||||
    0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 
 | 
			
		||||
    0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
 | 
			
		||||
    0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0,
 | 
			
		||||
    0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 | 
			
		||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 | 
			
		||||
};
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,7 +22,9 @@ enum layers {
 | 
			
		|||
  _NAVIGATION,
 | 
			
		||||
  _NUMBER,
 | 
			
		||||
  _SYMBOL,
 | 
			
		||||
  _MOUSE_FUNC
 | 
			
		||||
  _MOUSE,
 | 
			
		||||
  _FUNCTION,
 | 
			
		||||
  _CONFIG
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// start at the second layer
 | 
			
		||||
| 
						 | 
				
			
			@ -71,8 +73,9 @@ enum keycodes {
 | 
			
		|||
// layer changes
 | 
			
		||||
#define NAV     MO(_NAVIGATION)
 | 
			
		||||
#define NUM     MO(_NUMBER)
 | 
			
		||||
#define MF_Z    LT(_MOUSE_FUNC, KC_Z)
 | 
			
		||||
#define MOU_FUN TG(_MOUSE_FUNC)
 | 
			
		||||
#define MOU_A   LT(_MOUSE, KC_A)
 | 
			
		||||
#define MOU_TOG TG(_MOUSE)
 | 
			
		||||
#define FUNC    MO(_FUNCTION)
 | 
			
		||||
#define CONFIG  MO(_CONFIG)
 | 
			
		||||
 | 
			
		||||
// Windows Shortcuts
 | 
			
		||||
| 
						 | 
				
			
			@ -131,7 +134,7 @@ enum keycodes {
 | 
			
		|||
 | 
			
		||||
#if defined(KEYBOARD_bastardkb_charybdis_3x5)
 | 
			
		||||
//these mouse codes are defined in charybdis.h
 | 
			
		||||
#  define TR_SNIP SNIPING  
 | 
			
		||||
#  define TR_SNIP SNIPING
 | 
			
		||||
#  define TR_DRGS DRG_TOG
 | 
			
		||||
#  define TR_SDPI S_D_MOD  //sniping dpi
 | 
			
		||||
#  define TR_PDPI DPI_MOD  //pointer dpi
 | 
			
		||||
| 
						 | 
				
			
			@ -158,16 +161,16 @@ enum keycodes {
 | 
			
		|||
 | 
			
		||||
#define LAYER_QWERTY                                                                        \
 | 
			
		||||
  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    \
 | 
			
		||||
  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    TR_QUOT, \
 | 
			
		||||
  MF_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    TR_COMM, TR_DOT,  TR_MINS, \
 | 
			
		||||
  MOU_A,   KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    TR_QUOT, \
 | 
			
		||||
  KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    TR_COMM, TR_DOT,  TR_MINS, \
 | 
			
		||||
                    _BASE_L4_________________, _BASE_R4_________________,                   \
 | 
			
		||||
                                      SCR_TOP, KC_MUTE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYER_COLEMAK_DH                                                                    \
 | 
			
		||||
  KC_Q,    KC_W,    KC_F,    KC_P,    KC_B,    KC_J,    KC_L,    KC_U,    KC_Y,    TR_QUOT, \
 | 
			
		||||
  KC_A,    KC_R,    KC_S,    KC_T,    KC_G,    KC_M,    KC_N,    KC_E,    KC_I,    KC_O,    \
 | 
			
		||||
  MF_Z,    KC_X,    KC_C,    KC_D,    KC_V,    KC_K,    KC_H,    TR_COMM, TR_DOT,  TR_MINS, \
 | 
			
		||||
  MOU_A,   KC_R,    KC_S,    KC_T,    KC_G,    KC_M,    KC_N,    KC_E,    KC_I,    KC_O,    \
 | 
			
		||||
  KC_Z,    KC_X,    KC_C,    KC_D,    KC_V,    KC_K,    KC_H,    TR_COMM, TR_DOT,  TR_MINS, \
 | 
			
		||||
                    _BASE_L4_________________, _BASE_R4_________________,                   \
 | 
			
		||||
                                      SCR_TOP, KC_MUTE
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -181,9 +184,9 @@ enum keycodes {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
#define LAYER_NAVIGATION                                                                    \
 | 
			
		||||
  KC_ESC,  KC_HOME, KC_UP,   KC_END,  KC_PGUP, ___x___, KC_APP,  ___x___, KC_CAPS, MOU_FUN, \
 | 
			
		||||
  KC_ESC,  KC_HOME, KC_UP,   KC_END,  KC_PGUP, ___x___, KC_APP,  ___x___, ___x___, ___x___, \
 | 
			
		||||
  ___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BSPC, _SCAG_MODS________________________, \
 | 
			
		||||
  _UCCPR_L___________________________________, KC_DEL,  KC_TAB,  KC_VOLD, KC_VOLU, KC_MUTE, \
 | 
			
		||||
  _UCCPR_L___________________________________, KC_DEL,  KC_TAB,  ___x___, ___x___, ___x___, \
 | 
			
		||||
                    ___x___, NUM,     KC_ENT,  _LAYER_TRANS_____________,                   \
 | 
			
		||||
                                      SCR_TOP, TOG_CFG
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -204,9 +207,25 @@ enum keycodes {
 | 
			
		|||
                                      ___x___, ___x___
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYER_MOUSE_FUNC                                                                    \
 | 
			
		||||
  MOU_FUN, ___x___, ___x___, TR_PDPI, TR_SDPI, TOG_CFG, KC_F7,   KC_F8,   KC_F9,   KC_F10,  \
 | 
			
		||||
  _GACS_MODS________________________, TR_DRGS, FWD_CFG, KC_F4,   KC_F5,   KC_F6,   KC_F11,  \
 | 
			
		||||
  _______, KC_BTN1, KC_BTN5, KC_BTN4, TR_SNIP, REV_CFG, KC_F1,   KC_F2,   KC_F3,   KC_F12,  \
 | 
			
		||||
                    KC_BTN1, KC_BTN3, KC_BTN2, DM_PLY1, DM_REC1, ___x___,                   \
 | 
			
		||||
#define LAYER_MOUSE                                                                         \
 | 
			
		||||
  _NONE_5____________________________________, TR_PDPI, TR_SDPI, ___x___, ___x___, MOU_TOG, \
 | 
			
		||||
  _______, TR_LALT, TR_LCTL, TR_LSFT, TR_DRGS, ___x___, ___x___, ___x___, ___x___, ___x___, \
 | 
			
		||||
  ___x___, KC_BTN1, KC_BTN5, KC_BTN4, TR_SNIP, ___x___, ___x___, ___x___, ___x___, ___x___, \
 | 
			
		||||
                    KC_BTN1, KC_BTN3, KC_BTN2, ___x___, ___x___, ___x___,                   \
 | 
			
		||||
                                      SCR_TOP, ZOOMRST
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#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__________________,                   \
 | 
			
		||||
                                      TOG_CFG, TOG_CFG
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue