C'è un modo per interrogare il sistema per sapere se il blocco maiuscole è attivo o è disattivato dalla riga di comando in terminal.app?
C'è un grande codice a riga di comando scritto da Stefenk su Macscripter
Il codice di Stefen consente di rilevare per cmd, opzione, controllo, maiuscole e blocco maiuscole.
Nel suo post fornisce il codice e uno zip di download.
Puoi scaricarlo o crearne uno personale in Xcode utilizzando il progetto di base.
Ho appena provato entrambi i modi in El Capitan e entrambi funzionano.
Il codice se vuoi crearne uno in Xcode.app è:
#import <Carbon/Carbon.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
unsigned int modifiers = GetCurrentKeyModifiers();
if (argc == 1)
printf("%d\n", modifiers);
else {
int i, result = 1;
for (i = 1; i < argc; ++i) {
if (0 == strcmp(argv[i], "shift"))
result = result && (modifiers & shiftKey);
else if (0 == strcmp(argv[i], "option"))
result = result && (modifiers & optionKey);
else if (0 == strcmp(argv[i], "cmd"))
result = result && (modifiers & cmdKey);
else if (0 == strcmp(argv[i], "control"))
result = result && (modifiers & controlKey);
else if (0 == strcmp(argv[i], "capslock"))
result = result && (modifiers & alphaLock);
}
printf("%d\n", result);
}
}
return 0;
}
---------- (aggiorna - >
Se vuoi compilarlo da Terminal.app
Inserisci il codice in un file di testo normale. Ho appena usato TextEdit.app e un documento di testo semplice.
cd nella stessa directory del tuo file. Assicurati che l'estensione sia .m (.c andrà bene anche)
Quindi Esegui.
gcc -framework Carbon CheckModKeys.m -o CheckModKeys
CheckModKeys.m è il tuo file.
CheckModKeys è il nome dell'app da emettere.
< -)
Per rilevare il blocco delle maiuscole, il comando sarà simile a:
/Users/UserName/MyFolder/CheckModKeys capslock
verrà restituito 1 o 0.
1 per on
0 per disattivato
Tutto il merito va a Stefen. Mi sono appena ricordato di aver pubblicato così nel 2009. E funziona ancora oggi ..
Se hai XQuartz installato e sei in esecuzione o non ti dispiace avviarlo, puoi eseguire: xset -q
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
XKB indicators:
00: Caps Lock: off 01: Num Lock: off 02: Shift Lock: off
03: Group 2: off 04: Mouse Keys: off 05: Scroll Lock: off
Leggi altre domande sui tag command-line macos terminal