¿Cómo puedo decidir si a una clave se le ha aplicado .value prohibido?

¿Cómo puedo decidir si a una clave se le ha aplicado .value prohibido?

¿Hay alguna manera de decidir si se ha .value forbiddenaplicado el controlador a una clave determinada?

Por ejemplo, me gustaría escribir un controlador .onlyque pueda aplicarse a claves para simular \onlyla funcionalidad de Beamer. Un primer intento sería

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

Sin embargo, esto falla para las claves que se han .value forbiddenaplicado. Ejecutar lo siguiente produce un error porque myred={}es efectivamente lo que sucede en la diapositiva 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}

Si hubiera alguna forma de decidir si \pgfkeyscurrentpathse había .value forbiddenaplicado, entonces podría usar esa información para enviar un valor de \pgfkeysnovalue, en lugar de {}, a \pgfkeyscurrentpath.

información relacionada