Czy istnieje sposób na wysłanie zapytania do systemu w celu ustalenia, czy funkcja Caps Lock jest włączona, czy wyłączona z wiersza poleceń w terminal.app?
macos
terminal
command-line
Toothrot
źródło
źródło
Odpowiedzi:
Na Macscripter jest świetny kod wiersza poleceń napisany przez Stefenka
Kod Stefena pozwala wykryć polecenia cmd, Option, Control, Shift i Caps Lock.
W swoim poście udostępnia kod i plik zip do pobrania.
Możesz go pobrać lub zbudować w Xcode za pomocą projektu fundacji.
Właśnie przetestowałem oba sposoby w El Capitan i oba działają.
Kod, jeśli chcesz zbudować własny w Xcode.app, to:
---------- (aktualizacja ->
Jeśli chcesz go skompilować z Terminal.app
Umieść kod w zwykłym pliku tekstowym. Właśnie użyłem TextEdit.app i zwykłego dokumentu tekstowego.
cd do tego samego katalogu co twój plik. Upewnij się, że rozszerzenie to .m (.c będzie również w porządku)
Następnie uruchomić.
CheckModKeys.m to Twój plik.
CheckModKeys to nazwa aplikacji, która ma zostać wyprowadzona.
<-)
Aby wykryć blokadę klawiszy, twoje polecenie wyglądałoby mniej więcej tak:
1 lub 0 zostanie zwrócone.
1 na wł
0 za wyłączone
Wszystkie zasługi należą się Stefenowi. Przypomniałem sobie, że opublikował to w 2009 roku. I nadal działa do dzisiaj ..
źródło
gcc -o getmod getmod.c
ale wróciłogetmod.c:4:5: error: expected expression @autoreleasepool { ^ 1 error generated.
Jeśli masz zainstalowany XQuartz i albo działasz, albo nie przeszkadza ci uruchomienie, możesz uruchomić:
xset -q
źródło
xset
na El Capitan przy użyciu domyślnego konta użytkownika w bash. Czy to część konkretnej powłoki lub coś, co musisz zainstalować, aby polecenie działało?xset
jest częścią,X11
która nie jest domyślnie instalowana. Można go pobrać tutaj: XQuartzxset
polega na tym, że XQuartz.app otwiera się dla niego (`xset) w Terminalu. Dla mnie jest to niepożądane zachowanie, ponieważ chciałbym po prostu narzędzie CLI, które działa jak każde inne polecenie BSD.