Existe-t-il un moyen d'interroger le système pour savoir si le verrouillage des majuscules est activé ou désactivé à partir de la ligne de commande dans terminal.app?
macos
terminal
command-line
Toothrot
la source
la source
Réponses:
Il y a un excellent code de ligne de commande écrit par Stefenk sur Macscripter
Le code de Stefen vous permet de détecter les cmd, les options, le contrôle, le décalage et le verrouillage des majuscules.
Dans son message, il fournit le code et un zip de téléchargement de celui-ci.
Vous pouvez le télécharger ou créer le vôtre dans Xcode à l'aide d'un projet de fondation.
Je viens de tester les deux sens dans El Capitan et ils fonctionnent tous les deux.
Le code si vous souhaitez créer le vôtre dans Xcode.app est:
---------- (mise à jour ->
Si vous souhaitez le compiler depuis Terminal.app
Mettez le code dans un fichier texte brut. Je viens d'utiliser TextEdit.app et un document en texte brut.
cd dans le même répertoire que votre fichier. Assurez-vous que l'extension est .m (.c sera également ok)
Ensuite, exécutez.
CheckModKeys.m est votre fichier.
CheckModKeys est le nom de l'application à sortir.
<-)
Pour détecter le verrouillage des majuscules, votre commande ressemblerait à ceci:
un 1 ou 0 sera retourné.
1 pour le
0 pour off
Tout le mérite revient à Stefen. Je viens de me rappeler qu'il a posté de cette façon en`2009. Et ça marche encore aujourd'hui ..
la source
gcc -o getmod getmod.c
mais cela est revenugetmod.c:4:5: error: expected expression @autoreleasepool { ^ 1 error generated.
Si XQuartz est installé et en cours d'exécution ou si cela ne vous dérange pas de le lancer, vous pouvez exécuter:
xset -q
la source
xset
sur El Capitan en utilisant un compte d'utilisateur par défaut dans bash. Est-ce que cela fait partie d'un shell spécifique ou quelque chose que vous devez installer pour que la commande fonctionne?xset
partieX11
n'est pas installée par défaut. Vous pouvez l'obtenir ici: XQuartzxset
est que XQuartz.app s'ouvre pour qu'il (`xset) s'exécute dans un terminal. Pour moi, c'est un comportement indésirable car je voudrais juste un utilitaire CLI qui fonctionne comme n'importe quelle autre commande BSD.