Как отключить ввод специальных символов при нажатии клавиши выбора в Mac OS X?

Теперь, когда я нажимаю опцию -b, я получу ∫. Мне не нужно вводить специальные символы и нужно сопоставлять опции-b для ярлыков для сертификатов приложений. Есть ли способ сделать это?

Ответ 1

У меня была такая же проблема, в той же самой IDE.

Решение этого - загрузить Ukulele отсюда:

http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele

В приложении вы можете создать новый keylayout, используя File → New из текущего источника. Нажатие опции покажет вам место для Option-b красным цветом - это означает, что это мертвая клавиша. Двойной щелчок мышью позволит вам изменить его с мертвой клавиши на выходной ключ. При запросе на вывод вы можете ввести одно и то же (нажав Option-b).

Таким образом, он выдает один и тот же символ, но не будет считаться мертвым ключом, поэтому Intellij может связывать его как ярлык.

Чтобы включить новый макет, вы должны сохранить его в своих форматах ~/Library/Keyboard (это помогает, если вы дадите ему новое имя с помощью клавиатуры → Установить имя клавиатуры), а затем включите его из системных настроек → Язык и Текст.

Ответ 2

С помощью веб-инструмента "в форме, отправьте форму и загрузите исправленную раскладку клавиатуры с отключенной функцией" опция ". Я делюсь рабочим файлом для стандартной раскладки клавиатуры на английском языке:

После включения этого настраиваемого сопоставления, если вы наберете букву с нажатой клавишей "option", в текстовый вывод ничего не печатается. Но "клавиша выбора опции" запускается ОС и обнаруживается вашей IDE. Таким образом, вы получаете то же поведение, что и для других командных клавиш!

  • Загрузите файл сопоставления ключей My Layout.keylayout.
  • Переместите его на ~/Library/Keyboard\ Layouts/
  • Открыть System PreferencesLanguage & Text
  • Перейдите к Input Sources(hit +)Select Others
  • Вы должны найти My Layout в списке и выбрать его.

Шаг 4 может немного измениться в версиях MacOS. Пожалуйста, будьте терпеливы, чтобы найти список раскладок клавиатуры в настройках.

Ответ 3

Вот подробные шаги к ответу Себастьяна Заха. (Я немного пошатнулся, прежде чем я начал работать).

(Альтернативно здесь готовый файл)

  • Загрузить Ukelele
  • Вы можете запустить его непосредственно из файла .dmg
  • Файл → Новый, основанный на текущем исходном источнике (я выбрал США)
  • Нажмите кнопку "Модификаторы"
  • Выберите каждый модификатор из списка с Вниз вниз или Вправо вниз в столбце Option. (Там может быть как Либо вниз, либо вверх, но AFAIK вы можете оставить их.)
    • Нажмите кнопку "минус" для каждого типа
  • Перейдите в меню клавиатуры → Установить имя клавиатуры
  • Измените имя так или иначе, чтобы было легче идентифицировать
  • Перейдите в Файл → Сохранить как
  • Сохранить в ~/Library/Клавиатура\Макеты/с суффиксом .keylayout
  • Выйти из учетной записи Mac OS
  • Войдите в
  • Перейти к Системные настройки → Клавиатура → Источники входных данных
  • Нажмите кнопку + → Другие → Ваш новый макет должен быть доступен
  • Добавить новый макет
  • Возможно также оставить оригинальную раскладку клавиатуры и настроить отличный способ переключения

Ответ 4

Используйте Ctrl-Alt-<MNEMONIC>. IMHO намного проще, чем устанавливать и настраивать отдельное приложение.

Ответ 5

У меня есть решение! Поместите файл по адресу: ~/Library/KeyBindings/DefaultKeyBinding.dict as:

/* ~/Library/KeyBindings/DefaultKeyBinding.dict */
 {
    /* Additional Emacs bindings */
    "~f" = "moveWordForward:";
    "~b" = "moveWordBackward:";
    "~<" = "moveToBeginningOfDocument:";
    "~>" = "moveToEndOfDocument:";
    "~v" = "pageUp:";
    "~d" = "deleteWordForward:";
    "~^h" = "deleteWordBackward:";
    "~\010" = "deleteWordBackward:";  /* Option-backspace */
    "~\177" = "deleteWordBackward:";  /* Option-delete */

    /* Escape should really be complete: */
    "\033" = "complete:";  /* Escape */        
}

Он скроет исходный текстовый ввод. Но вы все равно можете получить это, используя Ctrl-Q перед комбинацией. Так что Ctrl-Q Alt-f дает мне, например. Фактически, я пишу этот ответ с включенной опцией keybindings. Вы также можете добавить другие ключи, которые вам нравятся! Официальная ссылка:                     https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html

Вот хороший список вещей, к которым вы можете привязать: https://www.hcs.harvard.edu/~jrus/site/selectors.html

О, кстати, если вы привяжете ключ к действию undefined, ваше приложение будет иметь утечку памяти, и в течение нескольких секунд у вашей системы будет нехватка памяти. Протестировано на эль-капитане, трудным путем.

Ответ 6

Используя Apple JRE, комбинации клавиш Option будут работать как ярлыки, а не вставлять специальные символы.

Ссылка для скачивания: https://support.apple.com/kb/DL1572?locale=en_US

Это старая устаревшая JRE (основанная на Java 6), но по состоянию на октябрь 2015 года она по-прежнему работает лучше всего с моей установкой JetBrains RubyMine. (Что-нибудь еще, ключи возвращаются к вставке специальных символов.)

Ответ 7

У меня была такая же проблема на новом Macbook с VSCode, который отлично работал на моем старом Macbook. Когда я набрал alt-shift-f для формата, я получил unicode. Я понял, что разница в том, что мой старый Macbook имел английскую клавиатуру вместо стандартного "ABC-Extended". Добавление британской клавиатуры исправило проблему для меня.

Ответ 8

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

Итак, что сделал iv, переназначил ключ опции на элемент управления + cmd +, так как я не знаю никаких команд, которые используют все три модификатора. Теперь я могу сопоставить правильные ярлыки без символов. Но при необходимости вы также можете указать дополнительные ключи

Добавьте это в свой private.xml: (между корнем)

<item>
<name>Change option Key to cmd + control + option</name>
<identifier>private.optiontoelse</identifier>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_L, 
    KeyCode::OPTION_L, ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_R, 
    KeyCode::OPTION_R, ModifierFlag::CONTROL_R | ModifierFlag::COMMAND_R</autogen>
</item>

Затем перезагрузите xml и включите опцию в верхней части вкладки "Изменить ключ"

https://pqrs.org/osx/karabiner/

Ответ 9

Используйте ABC в качестве метода ввода вместо ABC-Extended, тогда опция + [ char] сможет использовать ярлык приложения, а не показывать специальный символ.

Ответ 10

Просто используйте ключ esc вместо meta, например, мета-x-карты для esc-x.