From b72617c541a8597b445d735d094345c3d37804fa Mon Sep 17 00:00:00 2001 From: Malusnow <1721487579@qq.com> Date: Wed, 15 Oct 2025 17:09:37 +0800 Subject: [PATCH] feat: add C key shortcut to toggle subtitles on/off --- src/routes/Player/Player.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/routes/Player/Player.js b/src/routes/Player/Player.js index eab38bd96..488b60588 100644 --- a/src/routes/Player/Player.js +++ b/src/routes/Player/Player.js @@ -635,6 +635,28 @@ const Player = ({ urlParams, queryParams }) => { break; } + case 'KeyC': { + if (!menusOpen && !nextVideoPopupOpen) { + const internalTracks = video.state.subtitlesTracks; + const externalTracks = video.state.extraSubtitlesTracks; + const hasInternal = Array.isArray(internalTracks) && internalTracks.length > 0; + const hasExternal = Array.isArray(externalTracks) && externalTracks.length > 0; + const hasInternalActive = video.state.selectedSubtitlesTrackId !== null; + const hasExternalActive = video.state.selectedExtraSubtitlesTrackId !== null; + + if (hasInternalActive || hasExternalActive) { + onSubtitlesTrackSelected(null); + onExtraSubtitlesTrackSelected(null); + } else if (hasInternal || hasExternal) { + if (hasInternal) { + onSubtitlesTrackSelected(internalTracks[0].id); + } else { + onExtraSubtitlesTrackSelected(externalTracks[0].id); + } + } + } + break; + } case 'KeyA': { closeMenus(); if (Array.isArray(video.state.audioTracks) && video.state.audioTracks.length > 0) {