How to use Enhanced Input in widget?

Thank you for the reply, though I really wanted the EIS to work also on widgets so I don’t have to divide input systems seperately.
Recent attempt was to use BindAction:

void UPrototypeWidget::ConsumeGoBackAction(APrototypePlayerController* PlayerController)
{
  if (!IsValid(PlayerController) || !PlayerController->IsLocalPlayerController())
    return;

  UEnhancedInputComponent* EnhancedInputComponent = CastChecked<UEnhancedInputComponent>(PlayerController->InputComponent);
  if (!IsValid(EnhancedInputComponent))
    return;

  m_GoBackActionBindingHandle = EnhancedInputComponent->BindAction(PlayerController->GoBackAction, ETriggerEvent::Started, this, &UPrototypeWidget::GoBackRequested).GetHandle();
}

void UPrototypeWidget::ReleaseGoBackAction(APrototypePlayerController* PlayerController)
{
  if (!IsValid(PlayerController) || !PlayerController->IsLocalPlayerController())
    return;

  UEnhancedInputComponent* EnhancedInputComponent = CastChecked<UEnhancedInputComponent>(PlayerController->InputComponent);
  if (!IsValid(EnhancedInputComponent))
    return;

  EnhancedInputComponent->RemoveBindingByHandle(m_GoBackActionBindingHandle);
}

This can dynamically bind and unbind Action in EIS, but it suffers feature bugs described below:

I set the triger as ETriggerEvent::Started, yet it is called once again after calling RemoveBindingByHandle, which would create the widget again.
There is the option ‘Ignore All Pressed Keys Until Release’ for mapping context, but not for bindAction… so I’m still looking for an alternative.