Migrate SHIFT_ESC and RGB fn_actions to Grave Escape and RGB keycodes (#13360)
				
					
				
			This commit is contained in:
		
							parent
							
								
									50d4dfd2e6
								
							
						
					
					
						commit
						82137e14f2
					
				
					 20 changed files with 22 additions and 1114 deletions
				
			
		| 
						 | 
				
			
			@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
   * `-----------------------------------------------------------'
 | 
			
		||||
   */
 | 
			
		||||
  [_BL] = LAYOUT(
 | 
			
		||||
        F(12),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_GESC,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_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, \
 | 
			
		||||
        LT(2, KC_CAPS),KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_NO,KC_ENT,  \
 | 
			
		||||
        KC_LSFT,KC_NO,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_NO,KC_RSFT, \
 | 
			
		||||
| 
						 | 
				
			
			@ -88,35 +88,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  [_UL] = LAYOUT(
 | 
			
		||||
        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,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,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,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),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM fn_actions[] = {
 | 
			
		||||
    [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),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void matrix_scan_user(void) {
 | 
			
		||||
 | 
			
		||||
// Layer LED indicators
 | 
			
		||||
| 
						 | 
				
			
			@ -134,73 +110,3 @@ void matrix_scan_user(void) {
 | 
			
		|||
        gh60_esc_led_off();
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
 | 
			
		||||
 | 
			
		||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
			
		||||
  switch (id) {
 | 
			
		||||
    case RGBLED_TOGGLE:
 | 
			
		||||
      //led operations
 | 
			
		||||
      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:
 | 
			
		||||
      shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        if (shift_esc_shift_mask) {
 | 
			
		||||
          add_key(KC_GRV);
 | 
			
		||||
          send_keyboard_report();
 | 
			
		||||
        } else {
 | 
			
		||||
          add_key(KC_ESC);
 | 
			
		||||
          send_keyboard_report();
 | 
			
		||||
        }
 | 
			
		||||
      } else {
 | 
			
		||||
        if (shift_esc_shift_mask) {
 | 
			
		||||
          del_key(KC_GRV);
 | 
			
		||||
          send_keyboard_report();
 | 
			
		||||
        } else {
 | 
			
		||||
          del_key(KC_ESC);
 | 
			
		||||
          send_keyboard_report();
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue