2009-11-18 3 views
0

Est-ce que quelqu'un connaît un moyen de régler/obtenir le fn-lock à partir d'une application de sorte que vous n'avez pas besoin d'appuyer sur la touche 'fn' pour obtenir F1, F2, etc. sur un macbook ou un clavier Apple? Je veux l'avoir toujours pour mon application mais garder le comportement standard dans le reste du système.set/get fn-lock pour une application macos

Répondre

2

Cette réponse est pure spéculation, mais supporter avec moi.

Un scénario possible: le clavier lui-même génère différents codes de balayage de bas niveau selon que vous appuyez sur la touche fn. Pour les besoins du raisonnement, supposons que les éléments suivants:

F1: 0x01 
fn-F1: 0x02 

Ces codes d'analyse de bas niveau sont envoyés sur le bus au pilote du clavier. Le pilote du clavier vérifie si la préférence "Utiliser les touches F en tant que touches de fonction standard" est définie et, si c'est le cas, permute les codes de balayage avant de les transmettre à l'application. Ainsi, le pilote de clavier ferait ce mapping:

    F1: 0x01 
       fn-F1: 0x02 
"Use F keys" & F1: 0x02 
"Use F keys" & fn-F1: 0x01 

Si tel est le cas, vous pourriez vouloir voir si la fonction « toutes les touches F comme touches de fonction standard » préférence est réglée et, si elle est, re -swap les codes de balayage avant de les traiter. En d'autres termes, vous annulez le travail effectué par le pilote du clavier. C'est peut-être votre question originale.

Regardez, cependant; Je peux me tromper.

+0

Oui, le clavier génère différents codes de balayage. Cependant, vous pouvez définir son 'état' dans les Préférences Système du clavier. Il doit donc y avoir un moyen pour l'OS de régler le fn-lock. – cellcortex

+0

J'ai essayé de rendre ma spéculation plus concrète. J'espère que ça aide. –