diff --git a/lib/pages/video/introduction/ugc/widgets/triple_mixin.dart b/lib/pages/video/introduction/ugc/widgets/triple_mixin.dart index 4fdd8ff32..1eaf4b801 100644 --- a/lib/pages/video/introduction/ugc/widgets/triple_mixin.dart +++ b/lib/pages/video/introduction/ugc/widgets/triple_mixin.dart @@ -84,6 +84,8 @@ mixin TripleMixin on GetxController, TickerProvider { _timer = null; } + bool get isTripling => _tripleAnimCtr?.status == .forward; + static final _duration = PlatformUtils.isMobile ? const Duration(milliseconds: 200) : const Duration(milliseconds: 255); @@ -104,7 +106,7 @@ mixin TripleMixin on GetxController, TickerProvider { } void onCancelTriple([bool isTapUp = false]) { - if (tripleAnimCtr.status == AnimationStatus.forward) { + if (tripleAnimCtr.status == .forward) { tripleAnimCtr.reverse(); } else if (_timer != null && _timer!.tick == 0) { _cancelTimer(); diff --git a/lib/pages/video/widgets/player_focus.dart b/lib/pages/video/widgets/player_focus.dart index 9f935207f..917f0526f 100644 --- a/lib/pages/video/widgets/player_focus.dart +++ b/lib/pages/video/widgets/player_focus.dart @@ -107,6 +107,10 @@ class PlayerFocus extends StatelessWidget { introController!.onCancelTriple(isKeyQ); } return true; + } else if (event is KeyDownEvent) { + if (introController?.isTripling ?? false) { + introController!.onCancelTriple(); + } } final isArrowUp = key == LogicalKeyboardKey.arrowUp;