Як відключити введення спеціальних символів при натисканні клавіші опції в Mac OS X? [зачинено]


129

Тепер, коли натискаю варіант-b, я отримаю ∫. Мені не потрібно вводити спеціальні символи, і потрібно відображати параметр-b на ярлики до певних додатків. Чи можна це зробити?


26
Я використовую IntelliJ, і я хотів би імітувати комбінації клавіш emacs, і я відобразив мета-клавішу до опціону. Але коли я натискаю, скажімо, варіант-b, я отримав очікувану поведінку, оскільки це трактується як особливий характер.
ximyu

3
Якщо я використовую опціональний ключ як модифікатор, я можу визначити ще більше ярликів у моєму IDE, що суттєво підвищує мою продуктивність.
День

25
Це просто смішно, наскільки важкі такі прості дії на Mac. Розмістив неправильну програму в запуску - удача видалить її за допомогою SQL-операторів; Хочете відключити якийсь дурний ярлик - починайте завантажувати та тестувати рішення на мільярд, які не відповідають всім версіям ОС. Боже, чому я купив цей жахливий комп'ютер?
Василь

3
Це працює для мене: superuser.com/a/942256/535138
김민준

1
Для людей, які мають проблеми з терміналом, дотримуйтесь цієї інструкції -> superuser.com/questions/496090/…
A-letubby

Відповіді:


33

У мене були точно такі ж проблеми, в точно такому ж IDE.

Рішення цього - завантажити Ukulele звідси:

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

У додатку ви можете створити нову розкладку клавіш за допомогою File -> New з поточного джерела. Якщо натиснути Опція , ви побачите на місці для Варіант-b червону кольорову клавішу - це означає, що це мертвий ключ . Подвійне клацання на ньому дозволить вам змінити його з мертвої клавіші на вихідний ключ. Коли буде запропоновано вихід, ви можете поставити те саме (натиснувши Option-b).

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

Щоб увімкнути новий макет, потрібно зберегти його у вашому ~ / Бібліотека / Клавіатурна розкладка (це допоможе, якщо ви дасте йому нове ім'я за допомогою Клавіатура -> Встановити ім'я клавіатури), а потім увімкнути її в системних налаштуваннях -> Мова та текст.


15
Це велика робота і виправляє лише одну комбінацію клавіш в одному додатку. Я і, принаймні, деякі інші хочуть, щоб на всій стороні заборонили вибирати спеціальні символи для введення Mac.
javadba

@javadba Це було не так вже й погано після того, як я зрозумів це правильно. Дивіться мою відповідь нижче, щоб отримати докладні кроки, до яких слід швидко натиснути.
Пітер Ламберг

Я додав відповідь детальними кроками до того, що @SebastianZaha описує у цій відповіді. Я в кінцевому підсумку роздумував про те, щоб це зробити, тому, сподіваюся, це врятує когось (а згодом і мене) певну неприємність.
Пітер Ламберг

74

Ви можете створити спеціальне відображення клавіатури за допомогою літер опцій, встановлених на BLANK, використовуючи онлайн-інструмент з цієї веб-сторінки . Ви можете створити спеціальне відображення за кілька кліків практично з будь-якої розкладки клавіатури. Доведено, що він працює на MacOSX 10.7+ з IntelliJ Idea, Php / WebStorm, NetBeans, Eclipse.

Виберіть у формі радіо "Встановити порожнє для клавіші опції" , надішліть форму та завантажте виправлену розкладку клавіатури з відключеною функцією клавіші "Опція". Я ділюсь робочим файлом для стандартної розкладки американської англійської клавіатури:

Після ввімкнення цього спеціального відображення, якщо ви вводите лист із натиснутою клавішею "параметр", нічого не надрукується для виведення тексту. Але, "натискання клавіші опції" спрацьовує ОС і виявляється вашим IDE. Таким чином, ви отримуєте абсолютно таку ж поведінку, як і для інших командних клавіш!

  1. Завантажте файл зіставлення ключів My Layout.keylayout.
  2. Перемістіть його на ~/Library/Keyboard\ Layouts/
  3. Відкрити System Preferences->Language & Text
  4. Перейдіть до Input Sources-> (hit +)->Select Others
  5. Ви повинні знайти My Layoutв списку і вибрати його.

Крок 4 може дещо змінитись у версіях MacOS. Будьте терплячі, щоб знайти список розкладок клавіатури в налаштуваннях.


1
@javadba, я виправив свою відповідь. Спасибі за ваш відгук!! Все може змінитися з новими версіями ОС.
День

5
Здається, посилання на випадок зараз порушено.
Ендрю Білий

2
Не вдалося змусити це працювати. Я можу додати до списку свою нову розкладку ключів, але я не можу видалити макет "US" за замовчуванням, тому він фактично не використовуватиме мою нову розкладку ключів ....
AgmLauncher

12
Це вже не працює в 10.11. Я генерую файл макета в gist.github.com/haosdent/573ea124e5ea666fc576, який працює в 10.11
haosdent

1
Не працювало для мене. Замість опції + r набравши текст ®, він тепер набирає rв IntelliJ :(
Navin

35

Ось детальні кроки до відповіді Себастьяна Заха. (Я закінчився неповоротом, перш ніж я працював над цим).

(Крім того, ось готовий файл від мене )

  1. Завантажити Ukelele
  2. Ви можете запустити його безпосередньо з .dmg-файлу
  3. Файл -> Нове на основі поточного джерела введення (я вибрав США)
  4. Натисніть кнопку Модифікатори
  5. Виберіть кожен модифікатор зі списку , які мають вліво вниз або праворуч вниз в стовпці Option . (Можуть бути такі, як " Вниз або АБО вгору" , але AFAIK ви можете залишити їх.)
    • Натисніть кнопку мінус для кожного подібного
  6. Перейдіть до меню клавіатури -> Встановити назву клавіатури
  7. Як-небудь змінити ім’я, щоб полегшити його ідентифікацію
  8. Перейдіть у меню Файл -> Зберегти як
  9. Збережіть у ~ / Бібліотека / Клавіатура \ Макети / із суфіксом .keylayout
  10. Вийдіть із свого облікового запису Mac OS
  11. Увійдіть назад
  12. Перейдіть до Налаштування системи -> Клавіатура -> Джерела введення
  13. Натисніть кнопку + -> Інші -> Ваш новий макет повинен бути доступним
  14. Додайте новий макет
  15. Можливо, залиште оригінальну розкладку клавіатури і налаштуйте якийсь гарний спосіб перемикання

1
Це єдине рішення, яке працювало для мене і дозволило мені перев’язати комбінації клавіш на команди, схожі на Emacs.
event_jr

@event_jr, як ти відновив їх для поведінки emacs? Коли ви утримуєте опцію і натискаєте кнопку b, вона запитує вихід для цієї комбінації. Як ми можемо сказати, що вихід - це повернути слово назад?
Сахас

1
Як я коментував вище, це не допомогло мені виправити ярлики в IDEA на Yosemite. Боюся, що вони щось змінили в новіших версіях, і тепер це неможливо було виправити. Я запускаю IntelliJ IDEA 14.1.2 на OS X Yosemite 10.10.3
Innokenty

1
@Innokenty Дивно. Я перебуваю на OSX 10.10.3 та IDEA 14.1.2, і мої вкладки, схожі на emacs, працюють. Я приніс конфігурацію IDEA з машини Windows, а файл .keylayout був побудований за допомогою старої версії OSX. Чи може одна з цих причин? Ось мій файл компонування.
Пітер Ламберг

1
В OS X 10.10.5 я не бачив жодного "Ліворуч" або "Право вниз" у стовпці "Варіант": просто "Внизу". Я видалив усе це, і тепер маю клавішні стилі Emacs, що працюють в IntelliJ. Мені хотілося б, щоб я зрозумів, що означає видалення цих рядків, але оскільки легко перемикати методи введення, якщо я зіткнувся з проблемою, я йду з цим. Дякую.
дуелінові маркери

12

Використовуйте Ctrl-Alt-<MNEMONIC>. IMHO набагато простіше, ніж встановлювати та конфігурувати окремий додаток.


2
Добре знати. Однак це не зовсім задовільно, якщо також є комбінації клавіш Ctrl-Alt.
Пітер Ламберг

4
Для CTRL + ALT IDE, ймовірно, вже використовується, тому вам доведеться перенастроїти IDE, що дорівнює рівню необхідності налаштувати якусь іншу програму.
АРКБАН

ця відповідь ви отримаєте, якщо запитати JetBrains
Кірбі

8

У мене є рішення! Розмістіть файл за адресою: ~/Library/KeyBindings/DefaultKeyBinding.dictяк:

/* ~/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 дає мені ƒ, наприклад. Насправді я пишу цю відповідь із увімкненою опцією клавіатури. Ви також можете додати інші вподобані ключі! Офіційна довідка: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html

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

О, до речі, якщо ви прив’яжете ключ до невизначеної дії, у вашій програмі буде витік пам'яті, а у вашої системи вичерпається пам'ять за кілька секунд. Випробували на ель-капітані, важко.


5

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


Я спробував це, але все-таки отримав дратівливий персонаж із Option + N, наприклад, в Intellij IDEA.
Амір Ельдор

2

Використовуючи Apple JRE, комбінації клавіш Option працюватимуть як ярлики замість вставки спеціальних символів.

Посилання для завантаження: https://support.apple.com/kb/DL1572?locale=en_US

Це старий застарілий JRE (заснований на Java 6), але станом на жовтень 2015 року все ще те, що, здається, найкраще працює з моєю установкою JetBrains RubyMine. (Що б там не було, клавіші повертаються до вставки спеціальних символів.)


0

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

Отже, те, що я зробив, - перекомпонований ключ опції до параметра + 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/


-2

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


Ця відповідь допомогла мені: Замість ABC-Locale або ABC-Extended я використав ABC
кодове ім'я Джек

-3

Просто використовуйте клавішу esc замість мета, наприклад, мета-x мапи на esc-x.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.