Есть ли способ запросить систему, чтобы узнать, включена ли блокировка заглавных букв или отключена из командной строки в Terminal.app?
macos
terminal
command-line
Toothrot
источник
источник
Ответы:
Существует отличный код командной строки, написанный Стефенком на Macscripter.
Код Стефена позволяет вам определять cmd, option, control, shift и caps lock.
В своем посте он предоставляет код и почтовый индекс его загрузки.
Вы можете скачать его или создать свой собственный в XCode, используя Foundation Project.
Я только что проверил оба пути в El Capitan, и они оба работают.
Код, если вы хотите создать свой собственный в Xcode.app:
---------- (обновить ->
Если вы хотите скомпилировать его из Terminal.app
Поместите код в простой текстовый файл. Я просто использовал TextEdit.app и простой текстовый документ.
перейдите в тот же каталог, что и ваш файл. Убедитесь, что расширение .m (.c также будет в порядке)
Тогда беги.
CheckModKeys.m это ваш файл.
CheckModKeys - это имя приложения для вывода.
<-)
Чтобы обнаружить блокировку заглавных букв, ваша команда будет выглядеть примерно так:
1 или 0 будут возвращены.
1 для на
0 для выкл
Все заслуги достаются Стефену. Я только что вспомнил, что он опубликовал этот путь еще в 2009 году. И это все еще работает сегодня ..
источник
gcc -o getmod getmod.c
но это вернулосьgetmod.c:4:5: error: expected expression @autoreleasepool { ^ 1 error generated.
Если у вас установлен XQuartz и вы работаете или не против его запуска, вы можете запустить:
xset -q
источник
xset
на El Capitan использования учетной записи пользователя по умолчанию в bash. Это часть определенной оболочки или что-то, что вам нужно установить, чтобы команда работала?xset
частьX11
которого не установлена по умолчанию. Вы можете получить его здесь: XQuartzxset
заключается в том, что он заставляет XQuartz.app открываться для его запуска (`xset) в терминале. Для меня это нежелательное поведение, так как я бы просто хотел утилиту CLI, которая запускается как любая другая команда BSD.