void keyboard_post_init_rgb(void) { #ifdef RGBLIGHT_ENABLE rgblight_enable_noeeprom(); layer_state_set_user(layer_state); uint16_t old_hue = rgblight_config.hue; rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); for (uint16_t i = 360; i > 0; i--) { rgblight_sethsv_noeeprom( ( i + old_hue) % 360, 255, 255); wait_ms(10); } layer_state_set_user(layer_state); #endif }
void keyboard_post_init_rgb(void) { #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_STARTUP_ANIMATION) if (userspace_config.rgb_layer_change) { rgblight_enable_noeeprom(); } if (rgblight_config.enable) { layer_state_set_user(layer_state); uint16_t old_hue = rgblight_config.hue; rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); for (uint16_t i = 255; i > 0; i--) { rgblight_sethsv_noeeprom( ( i + old_hue) % 255, 255, 255); matrix_scan(); wait_ms(10); } } #endif layer_state_set_user(layer_state); }
// Method called at the end of the tap dance on the TAP_MACRO key. That key is // used to start recording a macro (double tap or more), to stop recording (any // number of tap), or to play the recorded macro (1 tap). void macro_tapdance_fn(qk_tap_dance_state_t *state, void *user_data) { uint16_t keycode; keyrecord_t record; dprintf("macro_tap_dance_fn %d\n", state->count); if (is_macro1_recording) { keycode = DYN_REC_STOP; is_macro1_recording = false; layer_state_set_user(current_layer_state); } else if (state->count == 1) { keycode = DYN_MACRO_PLAY1; } else { keycode = DYN_REC_START1; is_macro1_recording = true; layer_state_set_user(current_layer_state); } record.event.pressed = true; process_record_dynamic_macro(keycode, &record); record.event.pressed = false; process_record_dynamic_macro(keycode, &record); }
uint32_t layer_state_set_kb(uint32_t state) { palClearPad(GPIOB, 8); palClearPad(GPIOB, 9); state = layer_state_set_user(state); uint8_t layer = biton32(state); switch (layer) { case 3: palSetPad(GPIOB, 9); break; case 4: palSetPad(GPIOB, 8); break; case 6: palSetPad(GPIOB, 9); palSetPad(GPIOB, 8); break; default: break; } return state; }
uint32_t layer_state_set_kb(uint32_t state) { return layer_state_set_user(state); }