Migrate fn_actions for default keymaps (#4935)
* Migrate fn_actions for default keymaps * Rename the Grave/Escape Shift masks * No need for shift_esc_shift_mask * Change breaks to return false * Right align pointers * Add default case * Separate cases with empty lines
This commit is contained in:
		
							parent
							
								
									d5bc7fc157
								
							
						
					
					
						commit
						9e4ac6cf29
					
				
					 42 changed files with 373 additions and 654 deletions
				
			
		| 
						 | 
				
			
			@ -2,6 +2,11 @@
 | 
			
		|||
 | 
			
		||||
#define MODS_PRESSED(btn)  (get_mods() & (MOD_BIT(KC_L##btn)|MOD_BIT(KC_R##btn)))
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
  SFT_ESC = SAFE_RANGE,
 | 
			
		||||
  ALT_F4
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define SET_WHETHER(mask, btn1, btn2) \
 | 
			
		||||
if (record->event.pressed) {          \
 | 
			
		||||
    if (mask) {                       \
 | 
			
		||||
| 
						 | 
				
			
			@ -24,7 +29,7 @@ if (record->event.pressed) {          \
 | 
			
		|||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
  LAYOUT( /* Base */
 | 
			
		||||
    F(0),    KC_1,    KC_2,    KC_3,    F(1),    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, \
 | 
			
		||||
    SFT_ESC, KC_1,    KC_2,    KC_3,    ALT_F4,  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, \
 | 
			
		||||
    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_ENT,  \
 | 
			
		||||
    KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT, \
 | 
			
		||||
| 
						 | 
				
			
			@ -38,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
    _______, _______, _______,                            _______,                            _______, KC_LEFT, KC_DOWN, KC_RGHT  \
 | 
			
		||||
  ),
 | 
			
		||||
  LAYOUT( /* Keypad layer */
 | 
			
		||||
    TO(0),   KC_1,    KC_2,    KC_3,    F(1),    KC_5,    KC_6,    KC_P7,   KC_P8,   KC_P9,   KC_P0,   KC_PMNS, KC_PPLS, KC_BSPC, \
 | 
			
		||||
    TO(0),   KC_1,    KC_2,    KC_3,    ALT_F4,  KC_5,    KC_6,    KC_P7,   KC_P8,   KC_P9,   KC_P0,   KC_PMNS, KC_PPLS, KC_BSPC, \
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, KC_P4,   KC_P5,   KC_P6,   _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, KC_P1,   KC_P2,   KC_P3,   _______, _______,          _______, \
 | 
			
		||||
    _______,          _______, _______, _______, _______, _______, _______, KC_P0,   KC_PDOT, KC_BTN1, KC_MS_U,          KC_BTN2, \
 | 
			
		||||
| 
						 | 
				
			
			@ -53,24 +58,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  ),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM fn_actions[] = {
 | 
			
		||||
  [0]  = ACTION_FUNCTION(0),
 | 
			
		||||
  [1]  = ACTION_FUNCTION(1),
 | 
			
		||||
};
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  switch (keycode) {
 | 
			
		||||
    case SFT_ESC:
 | 
			
		||||
      SET_WHETHER(MODS_PRESSED(SHIFT), KC_ESC, KC_GRAVE);
 | 
			
		||||
 | 
			
		||||
      return false;
 | 
			
		||||
 | 
			
		||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
			
		||||
  static uint8_t shift_esc_mask;
 | 
			
		||||
  static uint8_t alt_mask;
 | 
			
		||||
  switch (id) {
 | 
			
		||||
    case 0:
 | 
			
		||||
      shift_esc_mask = MODS_PRESSED(SHIFT);
 | 
			
		||||
      SET_WHETHER(shift_esc_mask, KC_ESC, KC_GRAVE);
 | 
			
		||||
      break;
 | 
			
		||||
    case 1:
 | 
			
		||||
      alt_mask = MODS_PRESSED(ALT);
 | 
			
		||||
      SET_WHETHER(alt_mask, KC_4, KC_F4);
 | 
			
		||||
      break;
 | 
			
		||||
    case ALT_F4:
 | 
			
		||||
      SET_WHETHER(MODS_PRESSED(ALT), KC_4, KC_F4);
 | 
			
		||||
 | 
			
		||||
      return false;
 | 
			
		||||
 | 
			
		||||
    default:
 | 
			
		||||
      return true;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue