2010-12-14 33 views
1

Est-il possible de déterminer par programme quelle clé est définie dans les Préférences Système pour passer à un Espace spécifique.Obtenir la clé utilisée pour modifier les espaces

Ce paramètre est configuré dans la préférence Expose & Spaces, sous l'onglet Espaces. La dernière liste déroulante s'intitule "Passer directement à un espace" et vous pouvez choisir entre la touche de contrôle, la touche de commande, la touche d'option ou aucune touche.

C'est la valeur que je voudrais déterminer par programmation.

Possible?

Répondre

1

Vous pouvez essayer d'utiliser le script GUI d'AppleScript pour ouvrir par programmation le volet des préférences et voir ce qui se trouve dans la liste déroulante. Un exemple est here. Pour l'invoquer depuis Objective-C, consultez Scripting Bridge si vous utilisez OS 10.5 ou version ultérieure, sinon il existe une ancienne API mais je n'arrive pas à la trouver pour le moment.

Si vous voulez une solution qui ne nécessite pas de faire apparaître la fenêtre Préférences système et d'afficher toutes ses animations à l'utilisateur, la valeur réelle est stockée quelque part dans ~/Library/Preferences/com.apple.symbolichotkeys.plist, mais le format n'est pas lisible par l'homme. Vous pouvez modifier la liaison de clé à partir des Préférences Système et comparer ce fichier avant et après. Gardez à l'esprit que cela peut être différent entre les versions de OS X.

Espérons que cela aide, et bienvenue à Stack Overflow!

+0

Merci pour les conseils; tout cela semble un peu indirect et les valeurs retournées avec cette méthode ne sont pas quelque chose que je peux compter être la même dans le futur. Je vais aller demander à l'utilisateur de définir manuellement la clé dans mes applications Préférences – Dano