Büyük harf kilidini açık veya terminal.app komut satırında kapalı olup olmadığını söylemek için sistemi sorgulamak için bir yolu var mı?
Büyük harf kilidini açık veya terminal.app komut satırında kapalı olup olmadığını söylemek için sistemi sorgulamak için bir yolu var mı?
Yanıtlar:
Macscripter'de Stefenk tarafından yazılmış harika bir komut satırı kodu var
Stefen'in kodu cmd, seçenek, kontrol, kaydırma ve büyük harf kilidini tespit etmenizi sağlar.
Yazısında kodu ve bir indirme zipini sağlar.
Vakıf projesini kullanarak indirebilir veya Xcode'da kendiniz oluşturabilirsiniz.
El Capitan'da her iki yolu da test ettim ve ikisi de çalışıyor.
Xcode.app içinde kendi oluşturmak istiyorsanız kodu:
#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;
}
---------- (güncelleme ->
Terminal.app'den derlemek istiyorsanız
Kodu düz bir metin dosyasına yerleştirin. Ben sadece TextEdit.app ve Düz metin belgesi kullandım.
cd'yi dosyanızla aynı dizine yerleştirin. Uzantının .m olduğundan emin olun (.c de iyi olacaktır)
O zaman koş.
gcc -framework Carbon CheckModKeys.m -o CheckModKeys
CheckModKeys.m dosyanızdır.
CheckModKeys çıktı alınacak uygulamanın adıdır.
<-)
Caps lock tespit etmek için komutunuz şöyle görünecektir:
/Users/UserName/MyFolder/CheckModKeys capslock
1 veya 0 döndürülecektir.
İçin 1
0 kapalı
Tüm krediler Stefen'e gidiyor. 2009'da bu şekilde yayınladığını hatırladım. Ve bugün hala çalışıyor ..
gcc -o getmod getmod.c
ama bu döndü getmod.c:4:5: error: expected expression @autoreleasepool { ^ 1 error generated.
Eğer varsa XQuartz çalışan ya yüklü ve veya fırlatma umursamıyorum, Çalıştırabileceğiniz: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
xset
bash varsayılan bir kullanıcı hesabıyla El Capitan'daki. Bu komutun çalışması için belirli bir kabuğun parçası mı yoksa kurmanız gereken bir şey mi?
xset
XQuartz.app'ın bir Terminal'de çalışması için (xset) açılmasına neden olmasıdır. Bana göre bu sadece başka bir BSD komutu gibi çalışan bir CLI yardımcı programı isteyeyim istenmeyen bir davranıştır.