Как определить, было ли применено к ключу .value denied?

Как определить, было ли применено к ключу .value denied?

Есть ли способ определить, был ли .value forbiddenприменен обработчик к данному ключу?

Например, я хотел бы написать обработчик .only, который можно применить к клавишам для имитации функциональности Beamer \only. Первая попытка будет

\pgfkeys{/handlers/.only/.code args={<#1>#2}{%
  \only<#1>{\pgfkeysalso{\pgfkeyscurrentpath = {#2}}}}%
}

Однако это не срабатывает для ключей, которые были .value forbiddenприменены. Выполнение следующего приводит к ошибке, поскольку myred={}это фактически то, что происходит на слайде 2.

\documentclass{beamer}
\usepackage{tikz}

\pgfkeys{/handlers/.only/.code args={<#1>#2}{%
  \only<#1>{\pgfkeysalso{\pgfkeyscurrentpath = {#2}}}}%
}

\begin{document}
  \begin{frame}
    \begin{tikzpicture}[myred/.style={red}, myred/.value forbidden]
      \draw [myred/.only=<2>] (0,0) circle (1.5cm);
    \end{tikzpicture}
  \end{frame}
\end{document}

Если бы существовал какой-то способ определить, \pgfkeyscurrentpathбыло ли .value forbiddenприменено has, то я мог бы использовать эту информацию для отправки значения \pgfkeysnovalue, а не {}, в \pgfkeyscurrentpath.

Связанный контент