Как сделать Caps Lock работать как Esc в Mac OS X?
Использование Caps Lock как Esc в Mac OS X
Ответ 1
Изменить: как описано в этом ответе, более новые версии MacOS теперь имеют встроенную поддержку для повторного связывания Caps Lock с Escape. Таким образом, больше нет необходимости устанавливать стороннее программное обеспечение для достижения этой цели.
Вот моя попытка получить исчерпывающий визуальный ответ (со ссылками) о том, как этого добиться, используя Seil (ранее известный как PCKeyboardHack
).
- Сначала перейдите в Системные настройки, выберите " Клавиатура", затем вкладку "Клавиатура" (первая вкладка) и нажмите " Клавиши-модификаторы":
Во всплывающем диалоговом окне установите Caps Lock Key на No Action
:
2) Теперь нажмите здесь, чтобы загрузить Seil и установить его:
3) После установки у вас будет установлено новое приложение (Mountain Lion и новее), и если вы работаете в более старой ОС, вам, возможно, придется проверить новую панель "Системные настройки":
4) Установите флажок "Заменить заглавные буквы" и введите "53" в качестве кода клавиши выхода:
И вы сделали! Если это не сработает сразу, вам может потребоваться перезагрузить компьютер.
Впечатлительный? Хотите больше контроля?
Вы также можете попробовать KeyRemap4MacBook, который на самом деле является флагманским инструментом переназначения клавиатуры на pqrs.org
- он также бесплатный.
Если вам нравятся эти инструменты, вы можете сделать пожертвование. Я не имею к ним никакого отношения, но я уже давно пользуюсь этими инструментами и должен сказать, что ребята отлично справились с этим, добавили новые функции и исправили ошибки.
Вот скриншот, чтобы показать несколько (сотни) предварительно выбираемых опций:
В PQRS также есть отличная утилита NoEjectDelay, которую вы можете использовать в сочетании с KeyRemap4MacBook для перепрограммирования клавиши Eject. После небольшой настройки у меня есть возможность переключать AirPort Wifi.
Эти утилиты предлагают неограниченную гибкость при переназначении клавиатуры Mac. Повеселись!
Ответ 2
Так как macOS 10.12.1 можно переназначить Caps Lock на Esc изначально (Системные настройки → Клавиатура → Модификационные клавиши).
Ответ 3
Возможно.
Решение 1
Из статьи на TrueAffection.net.
- Скачайте PCKeyboardHack и установите его.
- Перейдите к PCKeyboardHack в Системных настройках.
- Включите "Изменить Caps Lock" и установите код клавиши на 53.
Решение 2
Это решение не включает в себя исправление драйвера клавиатуры, но дает вам конкретное решение Vim.
OS X поддерживает сопоставление ключа Caps Lock с целой связкой ключей, но вы должны сделать это "вручную", редактируя файлы.plist. Процесс описан в этой статье. В качестве дополнения к этой подсказке я предлагаю сначала установить для Caps-Lock значение None в системных настройках, затем вам нужно изменить только одно значение в файле.plist. Кроме того, вы, конечно, можете использовать Редактор списка свойств вместо того, чтобы выполнять шаги преобразования XML.
Хитрость заключается в том, чтобы сопоставить клавишу Caps Lock с клавишей Help (код 6), которой нет на большинстве клавиатур. Но если это так, он будет рассматриваться как клавиша вставки, которую вы, вероятно, в любом случае не используете, поскольку вы спрашиваете о переназначении Caps Lock, чтобы не растягивать руки;)
Затем вы можете сопоставить справку и клавишу Insert с Esc в vim.
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 с одной из этих клавиш.
Ответ 4
Теперь гораздо проще сопоставить ключ Caps Lock с Esc с macOS Sierra.
-
Откройте "Системные настройки" → "Клавиатура".
-
Нажмите кнопку "Модификатор ключей" в правом нижнем углу.
-
Нажмите раскрывающееся поле рядом с аппаратным ключом, который вы хотите переназначить, и выберите Escape.
-
Нажмите "ОК" и закройте "Системные настройки".
Ответ 5
Я не был рад ни одному из ответов здесь, и пошел искать решение командной строки.
В macOS Sierra 10.12 Apple представила новый способ для пользователей переназначать ключи.
- Нет необходимости возиться с системным графическим интерфейсом
- Никаких особых привилегий не требуется
- Полностью настраиваемый
- Нет необходимости устанавливать какую-либо стороннюю хрень, такую как PCKeyboardHack/Seil/Karabiner/KeyRemap4MacBook/DoubleCommand/NoEjectDelay
Если это звучит хорошо для вас, посмотрите на 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
Ответ 6
Единственное, что я знаю, как это сделать - привязать Caps Lock к Control, Option или Command. Это можно сделать с помощью панели "Клавиатура и мышь" в Системных настройках. Нажмите "Ключи модификаторов" в левом нижнем углу, и вы сможете переназначить Caps Lock, Control, Option и Command на любой из них.
@Craig: Это говорит о том, что Caps Lock можно использовать как обычный, то есть не переключаемый ключ. На моем MacBook, так как я повторно сопоставил Caps Lock с Control, индикатор Caps Lock никогда не загорается. Он просто действует как клавиша управления.
Ответ 7
Seil пока недоступен на macOS Sierra (10.12 beta). Таким образом, я использовал Keyboard Maestro с этими настройками:
Кредит на этот комментарий github: https://github.com/tekezo/Seil/issues/68#issuecomment-230131664
Ответ 8
Попробовав несколько из этих решений, у меня есть некоторые примечания:
DoubleCommand не позволит вам заменять esc и caps-lock.
PCKeyboardHack позволит вам отображать caplock для выхода, , но не имеет возможности отображать escape-код в caplock. Последние версии позволят вам выполнить полный своп, отредактировав обе клавиши.
Это может быть или не быть достаточным для ваших нужд (я знаю, что это для меня).
Ответ 9
Если вы не хотите устанавливать стороннее приложение, и вы действительно заботитесь об vim внутри iTerm, следующие работы:
Remap CapsLock, чтобы помочь, как описано здесь.
Краткая версия: используйте plutil или аналогично edit ~/Library/Preferences/ByHost/.GlobalPreferences*.plist
, он должен выглядеть примерно так:
<key>HIDKeyboardModifierMappingDst</key>
<integer>6</integer>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>0</integer>
Restart! Простой выход из системы и вход в систему не помогли мне.
В iTerm добавьте новое сопоставление ключей для справки: отправьте шестнадцатеричный код 0x1b, что соответствует Escape.
Я знаю, что это не совсем то, о чем просили, но я предполагаю, что многие люди, ищущие такое решение, на самом деле являются более специализированным вариантом.
Ответ 10
Чтобы поменять ключ эвакуации ключом блокировки (а не только сопоставить один с другим), используя как PCKeyboardHack, так и KeyRemap4MacBook, вы должны следовать инструкциям в этот поток, сопоставляя ключ блокировки колпачка с кодом клавиатуры, который не используется клавиатурой, но учитывается KeyRemap4MacBook (например, 110). Затем в PCKeyboardHack выберите соответствующую опцию, которая отображает этот код для выхода (в случае 110, "Ключ приложения к побегу" ). Вот как выглядят ваши предпочтения KeyRemap4MacBook (при условии, что вы выбрали флажок "Показывать только разрешенные" ).
Я изначально попытался опубликовать эту информацию как отредактирование до cwd отличный ответ, но он был отклонен, Я призываю всех, кто хочет идти по маршруту, который я описываю, чтобы сначала прочитать его ответ.
Ответ 11
Seil еще не работает на macOS Sierra, поэтому я использую Karabiner Elements, загружаюсь из https://pqrs.org/latest/karabiner-elements-latest.dmg.
Либо используйте графический интерфейс, либо поместите следующее в ~/.karabiner.d/configuration/karabiner.json
:
{
"profiles" : [
{
"name" : "Default profile",
"selected" : true,
"simple_modifications" : {
"caps_lock" : "escape"
}
}
]
}
Ответ 12
Вы также можете использовать DoubleCommand для переназначения этого и других ключей.
IIRC, он отобразит Caps Lock на Esc.
Ответ 13
Я нашел этот старый поток в поиске той же функциональности. До сих пор эта утилита была той, которую я нашел, которая, кажется, работает хорошо (на 10.5.6), без особых усилий:
http://www.pqrs.org/tekezo/macosx/keyremap4macbook/extra.html
Ответ 14
Исправление PCKeyboardHack для Mountain Lion https://github.com/tekezo/PCKeyboardHack/issues/8#issuecomment-6940640
Ответ 15
Карабин-Elements Мощный и стабильный настройщик клавиатуры для macOS. (Бесплатно)
https://pqrs.org/osx/karabiner/index.html
У меня работал Мохаве, чтобы изменить caps-lock на backspace
Ответ 16
Откройте настройки клавиатуры и нажмите клавиши-модификаторы... вы можете изменить клавишу Caps Lock на control, option, escape или command.