Как мне заставить Caps Lockработать как Escв Mac OS X?
Ctrl + [
для esc
. Полезно для Vim.
Как мне заставить Caps Lockработать как Escв Mac OS X?
Ctrl + [
для esc
. Полезно для Vim.
Ответы:
Изменить: Как описано в этом ответе , более новые версии MacOS теперь имеют встроенную поддержку для привязки Caps Lockк Escape. Таким образом, больше нет необходимости устанавливать стороннее программное обеспечение для достижения этой цели.
Вот моя попытка получить исчерпывающий визуальный ответ (со ссылками) о том, как этого добиться, используя Seil (ранее известный как PCKeyboardHack
).
Во всплывающем диалоговом окне установите Caps Lock Key на No Action
:
2) Теперь нажмите здесь, чтобы загрузить Seil и установить его:
3) После установки у вас будет установлено новое приложение (Mountain Lion и новее), и если вы работаете в более старой ОС, вам, возможно, придется проверить новую панель «Системные настройки»:
4) Установите флажок «Change Caps Lock» и введите «53» в качестве кода для клавиши ESC:
И вы сделали! Если это не сработает сразу, вам может потребоваться перезагрузить компьютер.
Вы также можете попробовать KeyRemap4MacBook, который на самом деле является флагманским инструментом переназначения клавиатуры pqrs.org
- он также бесплатный.
Если вам нравятся эти инструменты, вы можете сделать пожертвование . Я не имею к ним никакого отношения, но я уже давно пользуюсь этими инструментами и должен сказать, что ребята отлично справились с этим, добавили функции и исправили ошибки.
Вот скриншот, чтобы показать несколько (сотни) предварительно выбираемых опций:
В PQRS также есть отличная утилита NoEjectDelay, которую вы можете использовать в сочетании с KeyRemap4MacBook для перепрограммирования клавиши Eject. После небольшой настройки я установил переключатель AirPort Wifi.
Эти утилиты предлагают неограниченную гибкость при переназначении клавиатуры Mac. Радоваться, веселиться!
CTRL-[
на самом деле является надлежащим эквивалентом ESC. stackoverflow.com/questions/5030164/…
Начиная с macOS 10.12.1 его можно переназначить Caps Lockв Escисходное состояние (Системные настройки -> Клавиатура -> Клавиши-модификаторы).
Я не был рад ни одному из ответов здесь, и пошел искать решение командной строки .
В macOS Sierra 10.12 Apple представила новый способ для пользователей переназначать ключи.
Если это звучит хорошо для вас, посмотрите hidutil
.
Например, чтобы переназначить caps-lock для экранирования, обратитесь к таблице ключей и найдите, что caps-lock имеет код использования 0x39, а escape - код использования 0x29. Поместите эти коды or'd с шестнадцатеричным значением 0x700000000 в источник и dest, как это:
hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x700000029}]}'
Вы можете добавить другие сопоставления в той же команде. Лично мне нравится переназначать caps-lock в backspace и переназначать backspace для удаления:
hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000002A}, {"HIDKeyboardModifierMappingSrc":0x70000002A,"HIDKeyboardModifierMappingDst":0x70000004C}]}'
Чтобы увидеть текущее отображение:
hidutil property --get "UserKeyMapping"
Ваши изменения будут потеряны при перезагрузке системы. Если вы хотите, чтобы они сохранялись, поместите их в скрипт и настройте хук входа в систему:
sudo defaults write com.apple.loginwindow LoginHook /path/to/login_script.sh
LoginHook
методом - я думаю, может быть, что-то после его выполнения выбирает мои локальные настройки клавиатуры для скандинавской клавиатуры? Во всяком случае, stackoverflow.com/a/22872222/874188 отмечает, что LoginHook
это устарело, и рекомендует использовать launchd
вместо этого.
Возможно.
Из статьи на TrueAffection.net.
- Скачайте PCKeyboardHack и установите его.
- Перейти к PCKeyboardHack в системных настройках.
- Включите «Изменить Caps Lock» и установите код клавиши на 53.
Это решение не включает в себя исправление драйвера клавиатуры, но дает вам конкретное решение Vim.
OS X поддерживает сопоставление ключа Caps Lock с целой связкой ключей, но вы должны сделать это «вручную», редактируя файлы .plist. Процесс описан в этой статье . В качестве дополнения к этой подсказке я предлагаю сначала установить для Caps-Lock значение None в Системных настройках, затем вам нужно изменить только одно значение в файле .plist. Кроме того, вы, конечно, можете использовать Редактор списка свойств вместо того, чтобы выполнять шаги преобразования XML.
Хитрость заключается в том, чтобы сопоставить клавишу Caps Lock с клавишей Help (код 6), которой нет на большинстве клавиатур. Но если это так, он будет рассматриваться как клавиша вставки, которую вы, вероятно, в любом случае не используете, поскольку вы спрашиваете о переназначении вашего Caps Lock, чтобы не растягивать руки;)
Затем вы можете сопоставить справку и Insertключ с Escvim.
map <Help> <Esc>
map! <Help> <Esc>
map <Insert> <Esc>
map! <Insert> <Esc>
Это будет работать для gvim (Vim.app). Я не заставил его работать с vim в Терминале, и я не тестировал его с MacVim.
Таким образом, это довольно сложное, недоделанное решение или установка сторонней хакерской программы. Ваш выбор;)
Изменить: только что заметил решение 3, если вы используете MacVim, вы можете использовать Ctrl, Optionи Commandкак Esc. С Системными настройками тривиально сопоставить Caps Lock с одной из этих клавиш.
Теперь намного проще сопоставить Caps Lockключ Escс macOS Sierra.
Откройте Системные настройки → Клавиатура.
Нажмите кнопку «Ключи модификатора» в нижнем правом углу.
Щелкните раскрывающийся список рядом с аппаратным ключом, который вы хотите переназначить, и выберите Escape.
Нажмите OK и закройте Системные настройки.
Единственное, что я знаю, как это сделать - привязать Caps Lock к Control, Option или Command. Это можно сделать с помощью панели «Клавиатура и мышь» в Системных настройках. Нажмите «Ключи модификаторов» в левом нижнем углу, и вы сможете переназначить Caps Lock, Control, Option и Command на любой из них.
@Craig: Это говорит о том, что Caps Lock можно использовать как обычный, то есть не переключаемый ключ. На моем MacBook, так как я повторно сопоставил Caps Lock с Control, индикатор Caps Lock никогда не загорается. Он просто действует как клавиша управления.
Seil пока недоступен в macOS Sierra (бета-версия 10.12). Поэтому я использую Keyboard Maestro со следующими настройками:
Предоставьте этот комментарий github: https://github.com/tekezo/Seil/issues/68#issuecomment-230131664
Перепробовав несколько из этих решений, у меня есть несколько заметок:
DoubleCommand будет не позволит вам своп ЭСК и колпаков замком.
PCKeyboardHack будет позволит вам карту CapsLock бежать,но не имеет возможности отобразить переход к кепке, Последние версии позволят вам выполнить полный обмен, отредактировав обе клавиши.
Это может или не может быть достаточно для ваших нужд (я знаю, что это для моих).
Если вы не хотите устанавливать стороннее приложение и вам действительно важен vim внутри iTerm, работает следующее:
Переустановите CapsLock в Help, как описано здесь .
Краткая версия: используйте plutil или аналогичный для редактирования ~/Library/Preferences/ByHost/.GlobalPreferences*.plist
, он должен выглядеть примерно так:
<key>HIDKeyboardModifierMappingDst</key>
<integer>6</integer>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>0</integer>
Запустить снова! Простой выход из системы и вход не работал для меня.
В iTerm добавьте новое сопоставление клавиш для справки: отправьте шестнадцатеричный код 0x1b, который соответствует Escape.
Я знаю, что это не совсем то, о чем просили, но я предполагаю, что намерение многих людей, ищущих решение, подобное этому, на самом деле является более специализированным вариантом.
Чтобы на самом деле поменять местами клавишу escape с ключом caps lock (а не просто привязать один к другому), используя PCKeyboardHack и KeyRemap4MacBook, необходимо следовать инструкциям в этой теме , сопоставив ключ блокировки caps с кодом, не используемым клавиатура, но учитывается KeyRemap4MacBook (например, 110). Затем в PCKeyboardHack выберите соответствующую опцию, которая отображает этот код клавиши для выхода (в случае 110 это «Application Key to Escape»). Вот как должны выглядеть ваши настройки KeyRemap4MacBook (при условии, что вы установили флажок «показывать только»).
Первоначально я пытался опубликовать эту информацию как редактирование к отличному ответу cwd , но она была отклонена. Я призываю всех, кто хочет идти по пути, который я описал, сначала прочитать его / ее ответ.
Seil еще не работает на macOS Sierra, поэтому я использую элементы Karabiner , загрузите их с https://pqrs.org/latest/karabiner-elements-latest.dmg .
Либо используйте графический интерфейс, либо вставьте следующее в ~/.karabiner.d/configuration/karabiner.json
:
{
"profiles" : [
{
"name" : "Default profile",
"selected" : true,
"simple_modifications" : {
"caps_lock" : "escape"
}
}
]
}
Вы также можете использовать DoubleCommand для переназначения этого и других ключей.
IIRC, он отобразит Caps Lock на Esc.
Откройте настройки клавиатуры и нажмите клавиши-модификаторы ... вы можете изменить клавишу Caps Lock на control, option, escape или command.
Esc
и Escape
? (серьезный вопрос)
Karabiner-Elements Мощный и стабильный настройщик клавиатуры для macOS. (Бесплатно)
https://pqrs.org/osx/karabiner/index.html
У меня работал Мохаве, чтобы изменить caps-lock на backspace