Использование Caps Lock в качестве Esc в Mac OS X - PullRequest
401 голосов
/ 24 сентября 2008

Как мне заставить Caps Lock работать как Esc в Mac OS X?

Ответы [ 13 ]

375 голосов
/ 09 декабря 2011

Редактировать: Как описано в этого ответа , более новые версии MacOS теперь имеют встроенную поддержку повторного связывания Caps Lock до Escape . Таким образом, для этого больше не нужно устанавливать стороннее программное обеспечение.


Вот моя попытка получить исчерпывающий визуальный ответ (со ссылками) о том, как этого добиться, используя Seil (ранее известный как PCKeyboardHack).

  1. Сначала перейдите в Системные настройки , выберите Клавиатура , затем Клавиатура (первая вкладка) и нажмите Клавиши-модификаторы :

Step 1

Во всплывающем диалоговом окне установите Caps Lock Key на No Action:

choose no action

2) Теперь, нажмите здесь, чтобы загрузить Seil и установить его:

image

3) After the installation you will have a new Application installed ( Mountain Lion and newer ) and if you are on an older OS you may have to check for a new System Preferences pane:

open seil or the preference pane

4) Установите флажок «Change Caps Lock» и введите «53» в качестве кода клавиши ESC:

set the keyboard code

И все готово! Если это не сработает сразу, вам может потребоваться перезагрузить компьютер.

Impressed? Хотите больше контроля?

Вы также можете попробовать KeyRemap4MacBook , который на самом деле является флагманским инструментом переназначения клавиатуры из pqrs.org - он также бесплатный.

Если вам нравятся эти инструменты, вы можете сделать пожертвование . Я не имею к ним никакого отношения, но я давно использую эти инструменты и должен сказать, что ребята отлично справились с этим, добавили функции и исправили ошибки.

Вот снимок экрана, показывающий несколько (сотни) предварительно выбираемых опций:

Picture 1.png

PQRS also has a great utility called NoEjectDelay , который можно использовать в сочетании с KeyRemap4MacBook для перепрограммирования клавиши Eject. После небольшой настройки у меня есть возможность переключать Wi-Fi AirPort.

Эти утилиты предлагают неограниченную гибкость при переназначении клавиатуры Mac. Веселитесь!

266 голосов
/ 26 октября 2016

Начиная с macOS 10.12.1, можно переназначить Caps Lock на Esc изначально (Системные настройки -> Клавиатура -> Ключи-модификаторы).

enter image description here

35 голосов
/ 30 октября 2008

Это возможно.

Раствор 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 с одной из этих клавиш.

28 голосов
/ 31 декабря 2016

Теперь намного проще сопоставить ключ Caps Lock с Esc с macOS Sierra.

  1. Открыть Системные настройки → Клавиатура.

  2. Нажмите кнопку «Ключи модификатора» в правом нижнем углу.

  3. Щелкните раскрывающийся список рядом с аппаратным ключом, который вы хотите переназначить, и выберите Escape.

  4. Нажмите OK и закройте Системные настройки.

enter image description here

https://9to5mac.com/2016/10/25/remap-escape-key-action-macbook-pro-macos-sierra-10-12-1-modifier-keys/

21 голосов
/ 28 сентября 2017

Я не был рад ни одному из ответов здесь, и пошел искать решение для командной строки .

В 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
17 голосов
/ 24 сентября 2008

Единственное, что я знаю, как это сделать - привязать Caps Lock к Control, Option или Command. Это можно сделать с помощью панели «Клавиатура и мышь» в Системных настройках. Нажмите «Ключи модификаторов» в левом нижнем углу, и вы сможете переназначить Caps Lock, Control, Option и Command на любой из них.

@ Крейг: Это говорит о том, что Caps Lock можно использовать как обычный, то есть не переключаемый ключ. На моем MacBook, так как я повторно сопоставил Caps Lock с Control, индикатор Caps Lock никогда не загорается. Он просто действует как клавиша управления.

enter image description here

14 голосов
/ 18 июля 2016

Seil пока недоступен в macOS Sierra (бета-версия 10.12). Поэтому я использую Keyboard Maestro со следующими настройками: enter image description here

Кредит к этому комментарию github: https://github.com/tekezo/Seil/issues/68#issuecomment-230131664

10 голосов
/ 04 июня 2009

Перепробовав несколько из этих решений, у меня есть несколько замечаний:

DoubleCommand будет не позволит вам поменять местами esc и caps-lock.

PCKeyboardHack будет позволит вам отобразить капслок на побег, , но не сможет отобразить переход на капслок . Последние версии позволят вам выполнить полную замену, отредактировав обе клавиши.

Этого может или не может быть достаточно для ваших нужд (я знаю, что это для моих).

9 голосов
/ 12 мая 2014

Если вы не хотите устанавливать стороннее приложение и вам действительно важен vim внутри iTerm, работает следующее:

Переопределить CapsLock для помощи, как описано здесь .

Короткая версия: используйте plutil или аналогичный для редактирования ~/Library/Preferences/ByHost/.GlobalPreferences*.plist, он должен выглядеть примерно так:

<key>HIDKeyboardModifierMappingDst</key>
<integer>6</integer>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>0</integer>

Перезагрузка! Простой выход из системы и вход в систему у меня не сработали.

В iTerm добавьте новое сопоставление клавиш для справки: отправьте шестнадцатеричный код 0x1b, который соответствует Escape.

Я знаю, что это не совсем то, о чем просили, но я предполагаю, что намерение многих людей, ищущих решение, подобное этому, на самом деле является более специализированным вариантом.

4 голосов
/ 28 февраля 2012

Чтобы на самом деле поменять местами клавишу escape с ключом Caps Lock (а не просто привязать один к другому), используя PCKeyboardHack и KeyRemap4MacBook, вы должны следовать инструкциям в этой теме , отображая прописные заблокировать ключ к коду, не используемому клавиатурой, но учитываемому KeyRemap4MacBook (например, 110). Затем в PCKeyboardHack выберите соответствующую опцию, которая отображает этот код клавиши для выхода (в случае 110 это «Application Key to Escape»). Вот как должны выглядеть ваши настройки KeyRemap4MacBook (при условии, что вы установили флажок «показывать только»).

enter image description here

Первоначально я пытался опубликовать эту информацию в качестве правки на превосходный ответ cwd , но она была отклонена. Я призываю всех, кто хочет идти по пути, который я описал, сначала прочитать его / ее ответ.

...