Refactor staryu to current standards and enable support for backlight keycodes (#5487)
This commit is contained in:
		
							parent
							
								
									a0270b55e1
								
							
						
					
					
						commit
						9ef21d2e1c
					
				
					 7 changed files with 184 additions and 170 deletions
				
			
		| 
						 | 
				
			
			@ -20,62 +20,85 @@ enum layers {
 | 
			
		|||
  _LAYER0,
 | 
			
		||||
  _LAYER1,
 | 
			
		||||
  _LAYER2,
 | 
			
		||||
  _LAYER3
 | 
			
		||||
  _LAYER3,
 | 
			
		||||
  _LAYER4
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
  [_LAYER0] = LAYOUT(
 | 
			
		||||
/* ┌─────────┬─────────┬─────────┐ */
 | 
			
		||||
              KC_UP,    TO(_LAYER1),
 | 
			
		||||
/* ├─────────┼─────────┼─────────┤ */
 | 
			
		||||
    KC_LEFT,  KC_DOWN,  KC_RIGHT
 | 
			
		||||
/* └─────────┴─────────┴─────────┘ */
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_LAYER1] = LAYOUT(
 | 
			
		||||
/* ┌─────────┬─────────┬─────────┐ */
 | 
			
		||||
              KC_PGUP,  TO(_LAYER2),
 | 
			
		||||
/* ├─────────┼─────────┼─────────┤ */
 | 
			
		||||
    KC_HOME,  KC_PGDN,  KC_END
 | 
			
		||||
/* └─────────┴─────────┴─────────┘ */
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_LAYER2] = LAYOUT(
 | 
			
		||||
/* ┌─────────┬─────────┬─────────┐ */
 | 
			
		||||
              KC_MSEL,  TO(_LAYER3),
 | 
			
		||||
/* ├─────────┼─────────┼─────────┤ */
 | 
			
		||||
    KC_MPRV,  KC_MPLY,  KC_MNXT
 | 
			
		||||
/* └─────────┴─────────┴─────────┘ */
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_LAYER3] = LAYOUT(
 | 
			
		||||
/* ┌─────────┬─────────┬─────────┐ */
 | 
			
		||||
              KC_MS_U,  TO(_LAYER4),
 | 
			
		||||
/* ├─────────┼─────────┼─────────┤ */
 | 
			
		||||
    KC_MS_L,  KC_MS_D,  KC_MS_R
 | 
			
		||||
/* └─────────┴─────────┴─────────┘ */
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_LAYER4] = LAYOUT(
 | 
			
		||||
/* ┌─────────┬─────────┬─────────┐ */
 | 
			
		||||
              XXXXXXX,  TO(_LAYER0),
 | 
			
		||||
/* ├─────────┼─────────┼─────────┤ */
 | 
			
		||||
    RGB_TOG,  BL_TOGG,  BL_STEP 
 | 
			
		||||
/* └─────────┴─────────┴─────────┘ */
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
 | 
			
		||||
    /* Keymap 0
 | 
			
		||||
     * ,-----------.
 | 
			
		||||
     * |   |Up |Fn0|
 | 
			
		||||
     * |---+---+---|
 | 
			
		||||
     * |Lef|Dow|Rig|
 | 
			
		||||
     * `-----------'
 | 
			
		||||
     */
 | 
			
		||||
    LAYOUT( KC_UP,  TO(_LAYER1), KC_LEFT,KC_DOWN,KC_RIGHT ),
 | 
			
		||||
    /* Keymap 1
 | 
			
		||||
     * ,-----------.
 | 
			
		||||
     * |   |PgU|Fn1|
 | 
			
		||||
     * |---+---+---|
 | 
			
		||||
     * |Hom|PgD|End|
 | 
			
		||||
     * `-----------'
 | 
			
		||||
     */
 | 
			
		||||
    LAYOUT( KC_PGUP,TO(_LAYER2), KC_HOME,KC_PGDN,KC_END  ),
 | 
			
		||||
    /* Keymap 2
 | 
			
		||||
     * ,-----------.
 | 
			
		||||
     * |   |Sel|Fn2|
 | 
			
		||||
     * |---+---+---|
 | 
			
		||||
     * |Pre|Pla|Nex|
 | 
			
		||||
     * `-----------'
 | 
			
		||||
     */
 | 
			
		||||
    LAYOUT( KC_MSEL,TO(_LAYER3), KC_MPRV,KC_MPLY,KC_MNXT ),
 | 
			
		||||
    /* Keymap 3
 | 
			
		||||
     * ,-----------.
 | 
			
		||||
     * |   |MsU|Fn3|
 | 
			
		||||
     * |---+---+---|
 | 
			
		||||
     * |MsL|MsD|MsR|
 | 
			
		||||
     * `-----------'
 | 
			
		||||
     */
 | 
			
		||||
    LAYOUT( KC_MS_U,TO(_LAYER0), KC_MS_L,KC_MS_D,KC_MS_R ),
 | 
			
		||||
    // /* Keymap 4
 | 
			
		||||
    //  * ,-----------.
 | 
			
		||||
    //  * |   |Fn6|Fn4|
 | 
			
		||||
    //  * |---+---+---|
 | 
			
		||||
    //  * |Fn7|Fn5|Fn8|
 | 
			
		||||
    //  * `-----------'
 | 
			
		||||
    //  */
 | 
			
		||||
    // LAYOUT( FN6, FN4, FN7, FN5, FN8  ),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
			
		||||
  return MACRO_NONE ;
 | 
			
		||||
void eeconfig_init_user(void) {
 | 
			
		||||
  // use the non noeeprom versions, to write these values to EEPROM too
 | 
			
		||||
  rgblight_enable();
 | 
			
		||||
  rgblight_mode(RGBLIGHT_MODE_BREATHING+1);
 | 
			
		||||
 | 
			
		||||
  backlight_enable();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_init_user(void) {
 | 
			
		||||
void keyboard_post_init_user(void) {
 | 
			
		||||
  //layer_state_set_user is not called for inital state - set it here
 | 
			
		||||
  rgblight_sethsv_noeeprom_white();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_scan_user(void) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void led_set_user(uint8_t usb_led) {
 | 
			
		||||
uint32_t layer_state_set_user(uint32_t state) {
 | 
			
		||||
  switch (biton32(state)) {
 | 
			
		||||
    case _LAYER1:
 | 
			
		||||
        rgblight_sethsv_noeeprom_cyan();
 | 
			
		||||
        break;
 | 
			
		||||
    case _LAYER2:
 | 
			
		||||
        rgblight_sethsv_noeeprom_magenta();
 | 
			
		||||
        break;
 | 
			
		||||
    case _LAYER3:
 | 
			
		||||
        rgblight_sethsv_noeeprom_red();
 | 
			
		||||
        break;
 | 
			
		||||
    case _LAYER4:
 | 
			
		||||
        rgblight_sethsv_noeeprom_orange();
 | 
			
		||||
        break;
 | 
			
		||||
    case _LAYER0:
 | 
			
		||||
    default: //  for any other layers, or the default layer
 | 
			
		||||
        rgblight_sethsv_noeeprom_white();
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
  return state;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue