コード例 #1
0
ファイル: tap_dance.c プロジェクト: 0xdec/qmk_firmware
void dance_dwly_finished(qk_tap_dance_state_t *state, void *user_data) {
  dwltap_state.state = cur_dance(state);

  switch (dwltap_state.state) {
  case SINGLE_TAP:
    if (active_layer == _DL) {
      layer_switcher_tap(_BL);
    } else {
      layer_switcher_tap(_DL);
    }
    break;
  case SINGLE_HOLD:
    layer_switcher_tap(_DL);
    break;
  case DOUBLE_HOLD:
    layer_switcher_tap(_AL);
    break;
  case TRIPLE_TAP:
    if (gm_layer_act == true) {
      gm_layer_act = false;
      layer_switcher_tap(_BL);
    } else {
      gm_layer_act = true;
      layer_switcher_tap(_GM);
    }
  default:
    layer_switcher_tap(_BL);
    break;
  }
}
コード例 #2
0
ファイル: tapdances.c プロジェクト: algernon/qmk_firmware
void LYR50_finished (qk_tap_dance_state_t *state, void *user_data) {
  LYR50tap_state.state = cur_dance(state);
  switch (LYR75tap_state.state) {
	case SINGLE_TAP: register_code(KC_PSLS); break;
	case DOUBLE_TAP: set_single_persistent_default_layer(GK50); break;
    case DOUBLE_SINGLE_TAP: register_code(KC_PSLS); unregister_code(KC_PSLS); register_code(KC_PSLS);
  }
}
コード例 #3
0
ファイル: tapdances.c プロジェクト: algernon/qmk_firmware
void RST_finished (qk_tap_dance_state_t *state, void *user_data) {
  RSTtap_state.state = cur_dance(state);
  switch (RSTtap_state.state) {
	case SINGLE_TAP: register_code(KC_LCTL); break;
	case SINGLE_HOLD: register_code(KC_LCTL); break;
	case DOUBLE_TAP: reset_keyboard(); break;
	case DOUBLE_SINGLE_TAP: register_code(KC_LCTL); unregister_code(KC_LCTL); register_code(KC_LCTL); break;
  }
}
コード例 #4
0
ファイル: keymap.c プロジェクト: Talljoe/qmk_firmware
void se_finished (qk_tap_dance_state_t *state, void *user_data) {
  se_tap_state.state = cur_dance(state);
  switch (se_tap_state.state) {
    case SINGLE_TAP: register_code(KC_SPC); break;
    case SINGLE_HOLD: register_code(KC_ENT); break;
    default: register_code(KC_SPC); unregister_code(KC_SPC); register_code(KC_SPC);
    //Last case is for fast typing. Assuming your key is `f`:
    //For example, when typing the word `buffer`, and you want to make sure that you send `ff` and not `Esc`.
    //In order to type `ff` when typing fast, the next character will have to be hit within the `TAPPING_TERM`, which by default is 200ms.
  }
}
コード例 #5
0
ファイル: tap_dance.c プロジェクト: 0xdec/qmk_firmware
void dance_lspr_finished(qk_tap_dance_state_t *state, void *user_data) {
  lsprtap_state.state = cur_dance(state);

  switch (lsprtap_state.state) {
  case DOUBLE_HOLD:
    rbw_led_keys[RBW_LSPR].status = ENABLED;
    register_code(KC_LALT);
    break;
  default:
    register_code(KC_LGUI);
    break;
  }
};
コード例 #6
0
ファイル: tap_dance.c プロジェクト: 0xdec/qmk_firmware
void dance_ralt_finished(qk_tap_dance_state_t *state, void *user_data) {
  ralttap_state.state = cur_dance(state);

  switch (ralttap_state.state) {
  case DOUBLE_HOLD:
    rbw_led_keys[RBW_RALT].status = ENABLED;
    unregister_code(KC_LGUI);
    break;
  default:
    register_code(KC_RALT);
    break;
  }
};
コード例 #7
0
ファイル: keymap.c プロジェクト: Talljoe/qmk_firmware
void sftpls_finished (qk_tap_dance_state_t *state, void *user_data) {
  sftpls_tap_state.state = cur_dance(state);
  switch (sftpls_tap_state.state) {
    case SINGLE_TAP:
      register_mods(MOD_BIT(KC_LSFT));
      register_code(KC_EQL);
      break;
    case SINGLE_HOLD:
      register_mods(MOD_BIT(KC_LSFT));
      break;
    case DOUBLE_SINGLE_TAP:
      register_mods(MOD_BIT(KC_LSFT));
      tap_code(KC_EQL);
      register_code(KC_EQL);
  }
}
コード例 #8
0
ファイル: keymap.c プロジェクト: Talljoe/qmk_firmware
void guicp_finished (qk_tap_dance_state_t *state, void *user_data) {
  guicp_tap_state.state = cur_dance(state);
  switch (guicp_tap_state.state) {
    case SINGLE_TAP:
      register_mods(MOD_BIT(KC_LSFT));
      register_code(KC_0);
      break;
    case SINGLE_HOLD:
      register_mods(MOD_BIT(KC_LGUI));
      break;
    case DOUBLE_SINGLE_TAP:
      register_mods(MOD_BIT(KC_LSFT));
      tap_code(KC_0);
      register_code(KC_0);
  }
}
コード例 #9
0
ファイル: keymap.c プロジェクト: Talljoe/qmk_firmware
void ctlccb_finished (qk_tap_dance_state_t *state, void *user_data) {
  ctlccb_tap_state.state = cur_dance(state);
  switch (ctlccb_tap_state.state) {
    case SINGLE_TAP:
      register_mods(MOD_BIT(KC_LSFT));
      register_code(KC_RBRC);
      break;
    case SINGLE_HOLD:
      register_mods(MOD_BIT(KC_LCTL));
      break;
    case DOUBLE_SINGLE_TAP:
      register_mods(MOD_BIT(KC_LSFT));
      tap_code(KC_RBRC);
      register_code(KC_RBRC);
  }
}
コード例 #10
0
ファイル: tap_dance.c プロジェクト: 0xdec/qmk_firmware
void dance_uply_finished(qk_tap_dance_state_t *state, void *user_data) {
  upltap_state.state = cur_dance(state);

  switch (upltap_state.state) {
  case SINGLE_TAP:
    if (active_layer == _UL) {
      layer_switcher_tap(_BL);
    } else {
      layer_switcher_tap(_UL);
    }
    break;
  case SINGLE_HOLD:
    layer_switcher_tap(_UL);
    break;
  default:
    layer_switcher_tap(_BL);
    break;
  }
}
コード例 #11
0
ファイル: tapdances.c プロジェクト: algernon/qmk_firmware
void CAD_finished (qk_tap_dance_state_t *state, void *user_data) {
  CADtap_state.state = cur_dance(state);
  switch (CADtap_state.state) {
    case SINGLE_TAP:
		//register_code(KC_SPC);
		SEND_STRING(SS_LGUI("l"));
		#ifdef BACKLIGHT_ENABLE
    backlight_level(3);
		#endif
		break;
    case SINGLE_HOLD:
		//register_code(KC_NO);
		//take a screenshot of a single window, open Paint and paste
		SEND_STRING(SS_LALT(SS_TAP(X_PSCREEN)) SS_LGUI("r"));
        _delay_ms(500);
        SEND_STRING("mspaint" SS_TAP(X_ENTER));
        _delay_ms(700);
        SEND_STRING(SS_LCTRL("v"));
		break; //register this keycode when button is held
    case DOUBLE_TAP:
		//register_code(KC_ENT);
		SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_DELETE))));
		#ifdef BACKLIGHT_ENABLE
    backlight_level(0);
		#endif
		break;
    //case DOUBLE_HOLD: register_code(KC_NO); break; //register this keycode when button is tapped and then held
	case DOUBLE_HOLD:
		reset_keyboard();
		break; //register this keycode when button is tapped and then held
	case TRIPLE_TAP:
		SEND_STRING("*****@*****.**");
		break;
	case TRIPLE_HOLD:
  set_single_persistent_default_layer(1);
  #ifdef AUDIO_ENABLE
    stop_all_notes();
    PLAY_SONG(lyrup_song);
  #endif
  break;
  }
}
コード例 #12
0
ファイル: tapdances.c プロジェクト: algernon/qmk_firmware
void BSW_finished (qk_tap_dance_state_t *state, void *user_data) {
  BSWtap_state.state = cur_dance(state);
  switch (BSWtap_state.state) {
    case SINGLE_TAP: register_code(KC_ENTER); break;
    case SINGLE_HOLD:
      set_single_persistent_default_layer(0);
      #ifdef AUDIO_ENABLE
        stop_all_notes();
        PLAY_SONG(lyrdown_song);
      #endif
      break;
    case DOUBLE_TAP:
	  register_code(KC_LCTRL);
      register_code(KC_C);
	  break;
	case DOUBLE_HOLD:
	  reset_keyboard();
	  break; //register this keycode when button is tapped and then held
  }
}