Ejemplo n.º 1
0
uint32_t layer_state_set_user(uint32_t state) {
  state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
  return layer_state_set_keymap(state);
}
Ejemplo n.º 2
0
// Runs state check and changes underglow color and animation
// on layer change, no matter where the change was initiated
// Then runs keymap's layer change check
uint32_t layer_state_set_user(uint32_t state) {
#ifdef RGBLIGHT_ENABLE
  uint8_t default_layer = eeconfig_read_default_layer();
  if (rgb_layer_change) {
    switch (biton32(state)) {
    case _NAV:
      rgblight_set_blue;
      rgblight_mode(1);
      break;
    case _SYMB:
      rgblight_set_blue;
      rgblight_mode(2);
      break;
    case _MOUS:
      rgblight_set_yellow;
      rgblight_mode(1);
      break;
    case _MACROS:
      rgblight_set_orange;
      is_overwatch ? rgblight_mode(17) : rgblight_mode(18);
      break;
    case _MEDIA:
      rgblight_set_green;
      rgblight_mode(22);
      break;
    case _GAMEPAD:
      rgblight_set_orange;
      rgblight_mode(17);
      break;
    case _DIABLO:
      rgblight_set_red;
      rgblight_mode(5);
      break;
    case _RAISE:
      rgblight_set_yellow;
      rgblight_mode(5);
      break;
    case _LOWER:
      rgblight_set_orange;
      rgblight_mode(5);
      break;
    case _ADJUST:
      rgblight_set_red;
      rgblight_mode(23);
      break;
    case _COVECUBE:
      rgblight_set_green;
      rgblight_mode(2);
      break;
    default:
      if (default_layer & (1UL << _COLEMAK)) {
        rgblight_set_magenta;
      }
      else if (default_layer & (1UL << _DVORAK)) {
        rgblight_set_green;
      }
      else if (default_layer & (1UL << _WORKMAN)) {
        rgblight_set_purple;
      }
      else {
        rgblight_set_teal;
      }
      rgblight_mode(1);
      break;
    }
  }
#endif
  return layer_state_set_keymap (state);
}