[Keymap] Feature/alfrdmalr/keymap update (#8174)
* WIP do not merge * first pass at custom preonic layout * add auto shift and reset via leader key * Update readme * update copyright notice * formatting changes * fix: use MO instead of process_record_user * added backslash and moved grave position * remove extraneous 'j' characer in NUMPAD template * update template formatting * remove process_record_user * swap "!" with "@" * fix readme formatting * update readme layout image * restore settings layer * add windows minimize sequence * fix: switch to correct seq function for three-key sequence * fix: missing semicolon * refactor: move keymap to userspace and generic 5x12 layout * add numlock to numpad layer * add readme * update readme formatting * remove unused wrappers from layout keymap * update readme title to reflect new location * remove alfrdmalr directory from preonic/keymaps * add ortho 4x12 support * add 'trilayer' settings and update keymap * update SYMBOLS layer to SYMBOL * remove minimize sequence * clean up user config * add brightness controls * update settings ascii * moved some symbols around to make vim/linux smoother
This commit is contained in:
		
							parent
							
								
									acaecb4f94
								
							
						
					
					
						commit
						ed6586e25b
					
				
					 7 changed files with 171 additions and 62 deletions
				
			
		| 
						 | 
				
			
			@ -35,10 +35,61 @@ void matrix_scan_user(void) {
 | 
			
		|||
    SEQ_FIVE_KEYS(KC_R, KC_E, KC_S, KC_E, KC_T) {
 | 
			
		||||
      reset_keyboard();
 | 
			
		||||
    }
 | 
			
		||||
    // minimize window (Windows)
 | 
			
		||||
    SEQ_THREE_KEYS(KC_M, KC_I, KC_N) {
 | 
			
		||||
      SEND_STRING(SS_LALT(" ")"n");
 | 
			
		||||
    }
 | 
			
		||||
    leader_end(); 
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool syml_pressed = false;
 | 
			
		||||
bool symr_pressed = false;
 | 
			
		||||
bool settings_active = false;
 | 
			
		||||
bool symbols_active = false;
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  switch(keycode) {
 | 
			
		||||
    case SYML:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        syml_pressed = true;
 | 
			
		||||
      } else {
 | 
			
		||||
        syml_pressed = false;
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
    case SYMR:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        symr_pressed = true;
 | 
			
		||||
      } else {
 | 
			
		||||
        symr_pressed = false;
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // trilayer-esque behavior. If both SYMBOL layer keys are held, then the 
 | 
			
		||||
  // settings layer is open. If only one is held, SYMBOL is active.
 | 
			
		||||
  if (syml_pressed && symr_pressed) {
 | 
			
		||||
    layer_on(_SETTINGS);
 | 
			
		||||
    settings_active = true;
 | 
			
		||||
  } else if (syml_pressed || symr_pressed) {
 | 
			
		||||
    if (settings_active) {
 | 
			
		||||
      layer_off(_SETTINGS);
 | 
			
		||||
      settings_active = false;
 | 
			
		||||
    }
 | 
			
		||||
    layer_on(_SYMBOL);
 | 
			
		||||
    symbols_active = true;
 | 
			
		||||
  } else {
 | 
			
		||||
    if (symbols_active) {
 | 
			
		||||
      layer_off(_SYMBOL);
 | 
			
		||||
      symbols_active = false;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// allow access to the settings layer to turn music mode back off
 | 
			
		||||
bool music_mask_user(uint16_t keycode) {
 | 
			
		||||
  switch (keycode) {
 | 
			
		||||
    case SYML:
 | 
			
		||||
    case SYMR:
 | 
			
		||||
      return false;
 | 
			
		||||
    default:
 | 
			
		||||
      return true;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue