forked from mfulz_github/qmk_firmware
		
	
						commit
						d9ffd77ee7
					
				@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  /* 0: ANSI qwerty */
 | 
					  /* 0: ANSI qwerty */
 | 
				
			||||||
  [_BL] = ANSI_KEYMAP(
 | 
					  [_BL] = ANSI_KEYMAP(
 | 
				
			||||||
        F(3),   KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
 | 
					        F(4),   KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
 | 
				
			||||||
        KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, \
 | 
					        KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, \
 | 
				
			||||||
        F(2),   KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,       KC_ENT,     KC_PGUP, \
 | 
					        F(2),   KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,       KC_ENT,     KC_PGUP, \
 | 
				
			||||||
        KC_LSFT,     KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,    KC_RSFT, KC_UP, KC_PGDN, \
 | 
					        KC_LSFT,     KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,    KC_RSFT, KC_UP, KC_PGDN, \
 | 
				
			||||||
@ -52,74 +52,58 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			|||||||
      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_TRNS),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* 2: Fn layer
 | 
					  /* 2: Fn layer
 | 
				
			||||||
   *  ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
 | 
					   * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
 | 
				
			||||||
   *  │GRAVE│ F1  │ F2  │ F3  │ F4  │ F5  │ F6  │ F7  │ F8  │ F9  │ F10 │ F11 │ F12 │▒▒▒▒▒│▒▒▒▒▒│     │
 | 
					   * │GRAVE│ F1  │ F2  │ F3  │ F4  │ F5  │ F6  │ F7  │ F8  │ F9  │ F10 │ F11 │ F12 │▒▒▒▒▒│▒▒▒▒▒│     │
 | 
				
			||||||
   *  ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
					   * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
				
			||||||
   *  │     │ _AL │ Up  │     │     │     │     │     │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│     │▒▒▒▒▒│     │
 | 
					   * │     │ _AL │ Up  │     │     │     │     │     │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│     │▒▒▒▒▒│     │
 | 
				
			||||||
   *  ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
					   * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
				
			||||||
   *  │     │Left │Down │Right│     │     │Left │Down │ Up  │Right│     │     │▒▒▒▒▒│     │▒▒▒▒▒│     │
 | 
					   * │     │Left │Down │Right│     │     │Left │Down │ Up  │Right│     │     │▒▒▒▒▒│     │▒▒▒▒▒│     │
 | 
				
			||||||
   *  ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
					   * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
				
			||||||
   *  │     │▒▒▒▒▒│_UL  │     │     │     │     │     │     │Home │ End │     │▒▒▒▒▒│     │Vol+ │     │
 | 
					   * │     │▒▒▒▒▒│_UL  │     │     │     │     │     │     │Home │ End │     │▒▒▒▒▒│     │Vol+ │     │
 | 
				
			||||||
   *  ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
					   * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
				
			||||||
   *  │     │     │     │█████│█████│█████│     │█████│█████│█████│     │     │     │Mute │Vol- │Play │
 | 
					   * │     │     │     │█████│█████│█████│     │█████│█████│█████│     │     │     │Mute │Vol- │Play │
 | 
				
			||||||
   *  └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
 | 
					   * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  [_FL] = ANSI_KEYMAP(
 | 
					  [_FL] = ANSI_KEYMAP(
 | 
				
			||||||
      KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, \
 | 
					      KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, \
 | 
				
			||||||
      KC_TRNS, F(1), KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, \
 | 
					      KC_TRNS, F(1), KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, \
 | 
				
			||||||
      KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, \
 | 
					      KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
 | 
				
			||||||
      KC_TRNS, KC_TRNS, F(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, \
 | 
					      KC_TRNS,    F(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, \
 | 
				
			||||||
      KC_TRNS, KC_TRNS, KC_TRNS,               KC_TRNS,                KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_MPLY),
 | 
					      KC_TRNS, KC_TRNS, KC_TRNS,               KC_TRNS,                KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_MPLY),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* 3: Locking layer for controlling the underglow
 | 
					  /* 3: Locking layer for controlling the underglow
 | 
				
			||||||
   *  ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
 | 
					   * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
 | 
				
			||||||
   *  │     │     │     │     │     │     │     │     │     │     │     │     │     │▒▒▒▒▒│▒▒▒▒▒│     │
 | 
					   * │     │     │     │     │     │     │     │     │     │     │     │     │     │▒▒▒▒▒│▒▒▒▒▒│     │
 | 
				
			||||||
   *  ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
					   * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
				
			||||||
   *  │     │     │     │     │     │     │     │     │     │     │     │     │     │     │▒▒▒▒▒│     │
 | 
					   * │     │     │     │     │     │     │     │     │     │     │     │     │     │     │▒▒▒▒▒│     │
 | 
				
			||||||
   *  ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
					   * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
				
			||||||
   *  │     │ On  │Mode │     │     │     │     │     │     │     │     │     │▒▒▒▒▒│     │▒▒▒▒▒│     │
 | 
					   * │     │ On  │Mode │     │     │     │     │     │     │     │     │     │▒▒▒▒▒│     │▒▒▒▒▒│     │
 | 
				
			||||||
   *  ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
					   * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
				
			||||||
   *  │     │▒▒▒▒▒│     │Hue+ │Hue- │Sat+ │Sat- │Val+ │Val- │     │     │     │▒▒▒▒▒│     │▒▒▒▒▒│     │
 | 
					   * │     │▒▒▒▒▒│     │Hue+ │Hue- │Sat+ │Sat- │Val+ │Val- │     │     │     │▒▒▒▒▒│     │▒▒▒▒▒│     │
 | 
				
			||||||
   *  ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
					   * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
 | 
				
			||||||
   *  │     │     │     │█████│█████│█████│     │█████│█████│█████│     │     │     │     │     │     │
 | 
					   * │     │     │     │█████│█████│█████│     │█████│█████│█████│     │     │     │     │     │     │
 | 
				
			||||||
   *  └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
 | 
					   * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  [_UL] = ANSI_KEYMAP(
 | 
					  [_UL] = ANSI_KEYMAP(
 | 
				
			||||||
      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_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_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_TRNS, KC_TRNS, KC_TRNS, \
 | 
				
			||||||
      KC_TRNS, F(4), F(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
 | 
					      KC_TRNS, RGB_TOG, RGB_MOD, 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, F(6), F(7), F(8), F(9), F(10), F(11), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
 | 
					      KC_TRNS, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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_TRNS,                KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum function_id {
 | 
					enum function_id {
 | 
				
			||||||
  RGBLED_TOGGLE,
 | 
					 | 
				
			||||||
  RGBLED_STEP_MODE,
 | 
					 | 
				
			||||||
  RGBLED_INCREASE_HUE,
 | 
					 | 
				
			||||||
  RGBLED_DECREASE_HUE,
 | 
					 | 
				
			||||||
  RGBLED_INCREASE_SAT,
 | 
					 | 
				
			||||||
  RGBLED_DECREASE_SAT,
 | 
					 | 
				
			||||||
  RGBLED_INCREASE_VAL,
 | 
					 | 
				
			||||||
  RGBLED_DECREASE_VAL,
 | 
					 | 
				
			||||||
  SHIFT_ESC,
 | 
					  SHIFT_ESC,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const uint16_t PROGMEM fn_actions[] = {
 | 
					const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
  [0]  = ACTION_LAYER_MOMENTARY(_FL),       // Momentary Fn overlay
 | 
					  [0] = ACTION_LAYER_MOMENTARY(_FL),       // Momentary Fn overlay
 | 
				
			||||||
  [1]  = ACTION_LAYER_TOGGLE(_AL),          // Toggle Arrow Layer overlay
 | 
					  [1] = ACTION_LAYER_TOGGLE(_AL),          // Toggle Arrow Layer overlay
 | 
				
			||||||
  [2]  = ACTION_LAYER_TAP_KEY(_FL, KC_CAPS),// Tap to toggle caps lock and hold to activate function layer
 | 
					  [2] = ACTION_LAYER_TAP_KEY(_FL, KC_CAPS),// Tap to toggle caps lock and hold to activate function layer
 | 
				
			||||||
  [3]  = ACTION_LAYER_TOGGLE(_UL),          // Toggle Underglow Layer overlay
 | 
					  [3] = ACTION_LAYER_TOGGLE(_UL),          // Toggle Underglow Layer overlay
 | 
				
			||||||
  [4]  = ACTION_FUNCTION(RGBLED_TOGGLE),    // Turn on/off underglow
 | 
					  [4] = ACTION_FUNCTION(SHIFT_ESC),
 | 
				
			||||||
  [5]  = ACTION_FUNCTION(RGBLED_STEP_MODE), // Change underglow mode
 | 
					 | 
				
			||||||
  [6]  = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
 | 
					 | 
				
			||||||
  [7]  = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
 | 
					 | 
				
			||||||
  [8]  = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
 | 
					 | 
				
			||||||
  [9]  = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
 | 
					 | 
				
			||||||
  [10] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
 | 
					 | 
				
			||||||
  [11] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
 | 
					 | 
				
			||||||
  [12] = ACTION_FUNCTION(SHIFT_ESC),
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void matrix_scan_user(void) {
 | 
					void matrix_scan_user(void) {
 | 
				
			||||||
@ -157,49 +141,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
				
			|||||||
#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
 | 
					#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
 | 
				
			||||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
					void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
				
			||||||
  switch (id) {
 | 
					  switch (id) {
 | 
				
			||||||
    case RGBLED_TOGGLE:
 | 
					    static uint8_t shift_esc_shift_mask;
 | 
				
			||||||
      //led operations
 | 
					    // Shift + ESC = ~
 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_toggle();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_INCREASE_HUE:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_increase_hue();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_DECREASE_HUE:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_decrease_hue();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_INCREASE_SAT:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_increase_sat();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_DECREASE_SAT:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_decrease_sat();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_INCREASE_VAL:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_increase_val();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_DECREASE_VAL:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_decrease_val();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_STEP_MODE:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_step();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
      static uint8_t shift_esc_shift_mask;
 | 
					 | 
				
			||||||
      // Shift + ESC = ~
 | 
					 | 
				
			||||||
    case SHIFT_ESC:
 | 
					    case SHIFT_ESC:
 | 
				
			||||||
      shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
 | 
					      shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
 | 
				
			||||||
      if (record->event.pressed) {
 | 
					      if (record->event.pressed) {
 | 
				
			||||||
 | 
				
			|||||||
@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  /* 0: ISO qwerty */
 | 
					  /* 0: ISO qwerty */
 | 
				
			||||||
  [_BL] = ISO_KEYMAP(
 | 
					  [_BL] = ISO_KEYMAP(
 | 
				
			||||||
        F(3),    KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,       KC_BSPC,  KC_DEL, \
 | 
					        F(4),   KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,       KC_BSPC,  KC_DEL, \
 | 
				
			||||||
        KC_TAB,  KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,                KC_END, \
 | 
					        KC_TAB,  KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,                KC_END, \
 | 
				
			||||||
        F(2),    KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRAVE,    KC_ENT, KC_PGUP, \
 | 
					        F(2),    KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRAVE,    KC_ENT, KC_PGUP, \
 | 
				
			||||||
        KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,   KC_RSFT, KC_UP, KC_PGDN, \
 | 
					        KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,   KC_RSFT, KC_UP, KC_PGDN, \
 | 
				
			||||||
@ -89,21 +89,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			|||||||
  [_UL] = ISO_KEYMAP(
 | 
					  [_UL] = ISO_KEYMAP(
 | 
				
			||||||
      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_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_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_TRNS, KC_TRNS, KC_TRNS, \
 | 
				
			||||||
      KC_TRNS, F(4), F(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
 | 
					      KC_TRNS, RGB_TOG, RGB_MOD, 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, F(6), F(7), F(8), F(9), F(10), F(11), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
 | 
					      KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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_TRNS,                KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum function_id {
 | 
					enum function_id {
 | 
				
			||||||
  RGBLED_TOGGLE,
 | 
					 | 
				
			||||||
  RGBLED_STEP_MODE,
 | 
					 | 
				
			||||||
  RGBLED_INCREASE_HUE,
 | 
					 | 
				
			||||||
  RGBLED_DECREASE_HUE,
 | 
					 | 
				
			||||||
  RGBLED_INCREASE_SAT,
 | 
					 | 
				
			||||||
  RGBLED_DECREASE_SAT,
 | 
					 | 
				
			||||||
  RGBLED_INCREASE_VAL,
 | 
					 | 
				
			||||||
  RGBLED_DECREASE_VAL,
 | 
					 | 
				
			||||||
  SHIFT_ESC,
 | 
					  SHIFT_ESC,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -112,14 +104,6 @@ const uint16_t PROGMEM fn_actions[] = {
 | 
				
			|||||||
  [1]  = ACTION_LAYER_TOGGLE(_AL),          // Toggle Arrow Layer overlay
 | 
					  [1]  = ACTION_LAYER_TOGGLE(_AL),          // Toggle Arrow Layer overlay
 | 
				
			||||||
  [2]  = ACTION_LAYER_TAP_KEY(_FL, KC_CAPS),// Tap to toggle caps lock and hold to activate function layer
 | 
					  [2]  = ACTION_LAYER_TAP_KEY(_FL, KC_CAPS),// Tap to toggle caps lock and hold to activate function layer
 | 
				
			||||||
  [3]  = ACTION_LAYER_TOGGLE(_UL),          // Toggle Underglow Layer overlay
 | 
					  [3]  = ACTION_LAYER_TOGGLE(_UL),          // Toggle Underglow Layer overlay
 | 
				
			||||||
  [4]  = ACTION_FUNCTION(RGBLED_TOGGLE),    // Turn on/off underglow
 | 
					 | 
				
			||||||
  [5]  = ACTION_FUNCTION(RGBLED_STEP_MODE), // Change underglow mode
 | 
					 | 
				
			||||||
  [6]  = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
 | 
					 | 
				
			||||||
  [7]  = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
 | 
					 | 
				
			||||||
  [8]  = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
 | 
					 | 
				
			||||||
  [9]  = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
 | 
					 | 
				
			||||||
  [10] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
 | 
					 | 
				
			||||||
  [11] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
 | 
					 | 
				
			||||||
  [12] = ACTION_FUNCTION(SHIFT_ESC),
 | 
					  [12] = ACTION_FUNCTION(SHIFT_ESC),
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -158,49 +142,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
				
			|||||||
#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
 | 
					#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
 | 
				
			||||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
					void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
				
			||||||
  switch (id) {
 | 
					  switch (id) {
 | 
				
			||||||
    case RGBLED_TOGGLE:
 | 
					    static uint8_t shift_esc_shift_mask;
 | 
				
			||||||
      //led operations
 | 
					    // Shift + ESC = ~
 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_toggle();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_INCREASE_HUE:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_increase_hue();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_DECREASE_HUE:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_decrease_hue();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_INCREASE_SAT:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_increase_sat();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_DECREASE_SAT:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_decrease_sat();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_INCREASE_VAL:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_increase_val();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_DECREASE_VAL:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_decrease_val();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case RGBLED_STEP_MODE:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        rgblight_step();
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
      static uint8_t shift_esc_shift_mask;
 | 
					 | 
				
			||||||
      // Shift + ESC = ~
 | 
					 | 
				
			||||||
    case SHIFT_ESC:
 | 
					    case SHIFT_ESC:
 | 
				
			||||||
      shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
 | 
					      shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
 | 
				
			||||||
      if (record->event.pressed) {
 | 
					      if (record->event.pressed) {
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,6 @@ void matrix_init_kb(void) {
 | 
				
			|||||||
  // put your keyboard start-up code here
 | 
					  // put your keyboard start-up code here
 | 
				
			||||||
  // runs once when the firmware starts up
 | 
					  // runs once when the firmware starts up
 | 
				
			||||||
  matrix_init_user();
 | 
					  matrix_init_user();
 | 
				
			||||||
  led_init_ports();
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void matrix_scan_kb(void) {
 | 
					void matrix_scan_kb(void) {
 | 
				
			||||||
@ -14,11 +13,6 @@ void matrix_scan_kb(void) {
 | 
				
			|||||||
  matrix_scan_user();
 | 
					  matrix_scan_user();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void led_init_ports(void) {
 | 
					 | 
				
			||||||
  // * Set our LED pins as output
 | 
					 | 
				
			||||||
  DDRB |= (1<<7);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void led_set_kb(uint8_t usb_led) {
 | 
					void led_set_kb(uint8_t usb_led) {
 | 
				
			||||||
  if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
 | 
					  if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
 | 
				
			||||||
    // Turn capslock on
 | 
					    // Turn capslock on
 | 
				
			||||||
 | 
				
			|||||||
@ -9,13 +9,13 @@
 | 
				
			|||||||
  K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012,       K014, K015, \
 | 
					  K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012,       K014, K015, \
 | 
				
			||||||
  K100,       K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
 | 
					  K100,       K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
 | 
				
			||||||
  K200,       K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212,       K214, K215, \
 | 
					  K200,       K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212,       K214, K215, \
 | 
				
			||||||
  K300,       K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312,       K314, K315, \
 | 
					  K300,       K302, K303, K304, K305, K306, K307, K308, K309, K310, K311,       K313, K314, K315, \
 | 
				
			||||||
  K400, K401, K402,                   K408,                   K410, K411, K412, K413, K414, K415  \
 | 
					  K400, K401, K402,                   K408,                   K410, K411, K412, K413, K414, K415  \
 | 
				
			||||||
) { \
 | 
					) { \
 | 
				
			||||||
  { KC_NO, KC_NO, K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  KC_NO, K014, K015 }, \
 | 
					  { KC_NO, KC_NO, K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  KC_NO, K014, K015 }, \
 | 
				
			||||||
  { KC_NO, KC_NO, K100,  KC_NO, K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114, K115 }, \
 | 
					  { KC_NO, KC_NO, K100,  KC_NO, K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114, K115 }, \
 | 
				
			||||||
  { KC_NO, KC_NO, K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  KC_NO, K214, K215 }, \
 | 
					  { KC_NO, KC_NO, K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  KC_NO, K214, K215 }, \
 | 
				
			||||||
  { KC_NO, KC_NO, KC_NO, K300,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  KC_NO, K314, K315 }, \
 | 
					  { KC_NO, KC_NO, KC_NO, K300,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  KC_NO, K313,  K314, K315 }, \
 | 
				
			||||||
  { KC_NO, KC_NO, K400,  K401,  K402,  KC_NO, KC_NO, KC_NO, K408,  KC_NO, KC_NO, KC_NO, K410,  K411,  K412,  K413,  K414, K415 }  \
 | 
					  { KC_NO, KC_NO, K400,  K401,  K402,  KC_NO, KC_NO, KC_NO, K408,  KC_NO, KC_NO, KC_NO, K410,  K411,  K412,  K413,  K414, K415 }  \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user