POST LINK: https://forums.unrealengine.com/t/enhanced-input-gesture-keys-pinch-rotate-flick-never-release-after-touch-ends-regression-in-5-8/2745006
POST BODY:
- Summary
An Input Action mapped directly to a Gesture key (e.g. "Pinch", EKeys::Gesture_Pinch)
keeps firing the Triggered event every frame indefinitely after all fingers are lifted
from the screen.
Cause:
- In 5.8 the gesture keys became analog (FKeyDetails::Axis1D added in InputCoreTypes.cpp,
~line 753); in 5.5 they were Gesture-only, so IsAnalog() was false.
- On release, UPlayerInput::InputGesture stores the last (non-zero) value into RawValue
instead of 0, and gesture keys lack UpdateAxisWithoutSamples, so RawValue never decays.
- UEnhancedPlayerInput's "analog inputs pulse every non-zero tick" rule then treats the
stuck RawValue as held every frame, so the default Down behavior stays Triggered.
Fix (any one):
- Zero RawValue on IE_Released in UPlayerInput::InputGesture; or
- Add UpdateAxisWithoutSamples to the gesture keys; or
- Remove Axis1D from the gesture keys (restore 5.5 behavior).
- What Type of Bug are you experiencing?
Gameplay
- Steps to Reproduce
1. Input Action IA_Pinch (Axis1D), no Triggers, no Modifiers.
2. Map it to the "Pinch" gesture key in an IMC.
3. Log its Triggered / Completed events.
4. Do a two-finger pinch, then lift all fingers.
- Expected Result
Triggered stops and Completed fires after release (as in 5.5).
- Observed Result
Triggered keeps firing every frame forever; Completed never fires.
POST AUTHOR: shari_di
CREATED AT: 08/19/2026 07:43 AM EDT
UPDATED AT: 08/20/2026 12:34 AM EDT