opt mouse/keyboard event

Closes #1443

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-10-03 20:17:27 +08:00
parent 06c545acd4
commit 5747dee03d
3 changed files with 23 additions and 11 deletions

View File

@@ -279,7 +279,9 @@ class MyApp extends StatelessWidget {
final plCtr = PlPlayerController.instance;
if (plCtr != null) {
if (plCtr.isFullScreen.value == true) {
plCtr.triggerFullScreen(status: false);
plCtr
..triggerFullScreen(status: false)
..controlsLock.value = false;
return;
}

View File

@@ -155,14 +155,18 @@ class PlayerFocus extends StatelessWidget {
return true;
case LogicalKeyboardKey.keyF:
plPlayerController.triggerFullScreen(
status: !isFullScreen,
inAppFullScreen: HardwareKeyboard.instance.isShiftPressed,
);
plPlayerController
..triggerFullScreen(
status: !isFullScreen,
inAppFullScreen: HardwareKeyboard.instance.isShiftPressed,
)
..controlsLock.value = false;
return true;
case LogicalKeyboardKey.escape:
if (plPlayerController.isDesktopPip) {
if (plPlayerController.controlsLock.value) {
plPlayerController.onLockControl(false);
} else if (plPlayerController.isDesktopPip) {
plPlayerController.exitDesktopPip();
} else if (isFullScreen) {
plPlayerController.triggerFullScreen(status: false);
@@ -189,7 +193,9 @@ class PlayerFocus extends StatelessWidget {
case LogicalKeyboardKey.keyP:
if (Utils.isDesktop && hasPlayer) {
plPlayerController.toggleDesktopPip();
plPlayerController
..toggleDesktopPip()
..controlsLock.value = false;
}
return true;

View File

@@ -1786,10 +1786,14 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
final buttons = event.buttons;
final isSecondaryBtn = buttons == kSecondaryMouseButton;
if (isSecondaryBtn || buttons == kMiddleMouseButton) {
plPlayerController.triggerFullScreen(
status: !isFullScreen,
inAppFullScreen: isSecondaryBtn,
);
plPlayerController
.triggerFullScreen(
status: !isFullScreen,
inAppFullScreen: isSecondaryBtn,
)
.whenComplete(
() => plPlayerController.initialFocalPoint = Offset.zero,
);
}
},
onPointerSignal: (event) {