Как опытный пользователь Emacs, я хотел бы переназначить свою клавишу Caps Lock, чтобы она функционировала как клавиша Ctrl. Для этого есть удобный диалог на панели настроек клавиатуры. Но проблема в том, что этот параметр теряется после того, как кто-то войдет в другую учетную запись, для которой этот параметр не установлен.
Так есть ли способ сделать то же самое, что диалоговое окно панели настроек из командной строки?
Ответы:
Изменение настроек и запуск,
defaults -currentHost read -g
показывает, какие изменения пишутся. Я собирался написать короткий скрипт bash, чтобы автоматизировать его, но похоже, что я потерпел поражение:источник
-g
делает флаг? Я не видел этого в справочной странице дляdefaults
. Кроме того, похоже, что он меняет два набора значений: 4 на 2 и 10 на 12, но есть только два модификатора, которые меняются. Можете ли вы уточнить, или вы просто посмотрели на результаты, но не знаете, что они на самом деле представляют? (Сначала я заподозрил четыре кода клавиш - два слева, два справа - но они не являются кодами клавиш, по крайней мере, так, как сообщал драйвер клавиатуры.)Вы можете использовать KeyRemap4MacBook с PCKeyBoardHack . Это также позволяет вам использовать ключи Emacs в любом приложении Mac, включая те, которые не используют Какао, такие как приложения MS.
источник
От «Обновления сопоставлений клавиш модификатора до командного инструмента по умолчанию» :
defaults -currentHost write -g com.apple.keyboard.modifiermapping.1133-50475-0 -array '<dict><key>HIDKeyboardModifierMappingSrc</key><integer>0</integer><key>HIDKeyboardModifierMappingDst</key><integer>2</integer></dict>
Измените
1133
и50475
на поставщиков и идентификаторы продуктов, показанныеioreg -n IOHIDKeyboard -r
.src 0
иdst -1
отключил бы caps lock.defaults -currentHost write -g
модифицирует:~/Library/Preferences/ByHost/.GlobalPreferences.*.plist
Вы должны выйти и снова войти, чтобы применить изменения. Если значения являются строками (как в ответе @pithyless), изменения отображаются в Системных настройках, но они не оказывают никакого влияния.
Значения ключей :
источник
Объединив несколько ответов, я разработал сценарий, который, кажется, работает ( отображение Caps-lock на Control ).
Единственная проблема в том, что это, похоже, не дает никакого эффекта ... :(
Я обновлю, если это я заставлю это работать.
источник
Я хотел поменять местами правую команду только с правыми клавишами.
Когда установка I глобальной команды и опции подкачки в System Preferences ...> Клавиатура> Modifier Keys ..., есть следующие конфигурации в системе (которая работает , как ожидалось):
Но когда я изменяю его, меняя местами только правую сторону, как показано ниже - это не работает:
Это потому, что значения пишутся как строки, а не как целые числа. Вы можете увидеть это используя:
Таким образом, правильный способ обновить настройку - использовать формат XML:
В конце вы должны выйти из системы и войти снова.
источник