Сочетание клавиш fn-F7
переключает tabповедение клавиш в любом месте Mac OS X, в том числе в окне входа в систему (называемое «Полный доступ с клавиатуры» в Системных настройках, оно определяет, будет ли tabциклически проходить только текстовое поле или все элементы управления). Однако переключение его в окне входа в систему является временным, и при следующем использовании окна входа в систему оно будет сброшено до значения по умолчанию (вкладка между всеми элементами управления). Переключение при входе в систему будет постоянным для пользователя, но не повлияет на окно входа в систему.
Я полагаю, что этот параметр не является постоянным, потому что в соответствии с моделью безопасности OS X, не вошедший в систему пользователь не имеет прав администратора для изменения общесистемного параметра. Но возможно ли сделать это изменение постоянным с помощью другого метода?
Доступ к настройке на уровне пользователя можно получить с помощью defaults
:
# 0='Text boxes and lists only'; 2='All controls'
$ defaults read -g AppleKeyboardUIMode
0
$ defaults write -g AppleKeyboardUIMode -int 2
... и предпочтение сохраняется в файл ~/Library/Preferences/.GlobalPreferences.plist
. Я предполагаю, что это может быть установлено для всей системы с помощью sudo:
$ sudo defaults write -g AppleKeyboardUIMode
Как ни странно, это предпочтение может быть установлено и вызвано, и файл /Library/Preferences/.GlobalPreferences.plist
действительно существует; но предпочтение, кажется, никогда не записывается в этот файл. Излишне говорить, что это не влияет на поведение окна входа в систему.
Этот параметр, как правило, недокументирован, так что, возможно, кто-то знает другой интерфейс к нему?
Для любопытных причина, по которой я хочу это изменить, заключается в том, что мы используем com.apple.loginwindow AdminHostInfo DSStatus
предпочтение в нашей среде, которое добавляет цветной индикатор рядом с полем имени пользователя, отображающим состояние соединения с сервером домена. Начиная с 10.11, эта индикаторная точка принимает фокус клавиатуры в режиме по умолчанию (даже при том, что она действительно не принимает никакого взаимодействия), предотвращая простое tabпереключение в поле пароля, что расстраивает пользователя.
defaults write -g AppleKeyboardUIMode -int 2
работает для меня в OS X 10.12.