Как добавить символы в меню выбора символов при нажатии и удержании в OS X Lion?

В OS X Lion есть очень полезная функция для таких людей, как я, которым нужно писать на нескольких языках, которая вызывает всплывающее меню с дополнительными символами, когда вы удерживаете букву.

Например, когда я удерживаю букву E, я получаю:

е

Например, это здорово, когда я пишу по-французски. Однако прямо сейчас мне нужно что-то написать по-чешски; однако чешская буква ě(выглядит как третья буква во всплывающем окне с перевернутым акцентом) не отображается во всплывающем окне.

Есть ли способ сообщить OS X о включении чешских или других дополнительных символов в эти всплывающие окна?

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

Ответы (6)

Символы, включенные в всплывающие окна, определены в списках свойств внутри /System/Library/Input\ Methods/PressAndHold.app/пакета.

Я смог изменить à на y, отредактировав /System/Library/Input\ Methods/PressAndHold.app/Contents/Resources/Keyboard-en.plistи выйдя из системы и снова войдя в нее.

(обратите внимание на побег в «Методе ввода», если вы копируете вставку)

<key>Roman-Accent-a</key>
<dict>
    <key>Direction</key>
    <string>right</string>
    <key>Keycaps</key>
    <string>a y á â ä æ ã å ā</string>
    <key>Strings</key>
    <string>a y á â ä æ ã å ā</string>
</dict>

Как вы продолжаете находить эти скрытые драгоценные камни? Вы инженер OS X? ;)
Ничего себе, многие люди пытались понять это, по крайней мере, с июля прошлого года. Спасибо!
«Методы ввода», «PressAndHold.app»…? Это не могло быть более очевидным.
Вау, я пропустил этот вопрос до сих пор. Я буду играть, чтобы увидеть, смогу ли я превратить что-то вроде ~ в список моих любимых эмодзи или специальных символов клавиатуры :)
@stuffe Дайте нам знать, как дела. Я думаю, что возможности огромны, например, m10lmac.blogspot.com/2012/04/…
И это выглядит примерно так.... i.stack.imgur.com/Kyx2v.png :)
За этот ответ нельзя проголосовать достаточное количество раз.
Я пытался использовать это, чтобы добавить квадратные и кубические символы для нажатия и удержания на 2 и 3, но я не знаю имен ключей словаря для plist. Я пробовал <key>2</key>, <key>Number-2</key>, и <key>Roman-Accent-2</key>ничего из этого не сработало. Есть ли где-нибудь список возможных имен ключей?
@jhabbott я хотел сделать то же самое и просто добавил это под строчной буквой «s» для «квадрата». также нет необходимости выходить из системы / входить (по крайней мере, в Mavericks). это решение просто потрясающее - пытаюсь придумать, для чего его можно использовать.
Кажется, этот файл больше не редактируется в El Capitan...
@MichieldeMare Это из-за защиты целостности системы , новой функции в OS X v10.11 El Capitan, которая делает невозможной даже rootзапись в системные папки. Однако, как отмечено в статье в Википедии, его можно отключить .
Я задокументировал здесь весь процесс , включая временное отключение защиты целостности системы.
@masukomi, Catalina прерывает ваш процесс, размещая файлы только для чтения и файлы с возможностью записи в отдельных каталогах, а затем используя «твердые ссылки», чтобы они выглядели так, как будто они находятся в одном месте. Если ваш «Keyboard-en.plist» находится в области записи, вы можете редактировать его, не отключая SIP. К сожалению, файл с таким именем есть в обеих областях, и версия только для чтения перекрывает версию для записи. На самом деле, если я УДАЛЮ версию только для чтения, всплывающих окон не будет! Решение: csrutil enable --without fsа затем после перезагрузки, sudo mount -uw /продолжение…
… (продолжение) затем вы можете отредактировать версию только для чтения и снова включить SIP.
в MacOS 10.14.2 (Mojave) это файл /System/Library/Input Methods/PressAndHold.app/Contents/PlugIns/PAH_Extension.appex/Contents/Resources/Keyboard-en.plist. Помните, что вам нужно отключить защиту целостности системы, чтобы это работало.
@ ア リ ス タ ー АКА не функция. Скрывать подобные вещи за SIP просто глупо. Как это влияет на безопасность чьего-то устройства? Речь идет не столько о честности ради пользователя , сколько об облегчении жизни Apple. Черт, я ненавижу то, во что превратилась эта компания. « Нажмите и удерживайте» — такая убийственная функция, и они нарушают возможность расширения всего этого вместо того, чтобы реализовать правильное решение, добавив безопасный интерфейс на основе графического интерфейса для его расширения. Для такой чрезвычайно прибыльной компании это действительно отвратительно.

Я знаю, что это немного поздно, но я чувствую, что это важный вклад: вы можете не только нажимать и удерживать клавиши для ввода специальных символов; вы также можете вводить строки текста . Например, я настроил свой файл Keyboard-en.plist так, чтобы, удерживая клавишу «p», я мог выбирать между своим именем (довольно длинным), фамилией и адресом электронной почты (который тоже длинный). Я чувствую, что это может быть полезно для некоторых людей, так что это выглядит так:

<key>Roman-Accent-p</key>
<dict>
    <key>Direction</key>
    <string>right</string>
    <key>Keycaps</key>
    <string>p firstname lastname email</string>
    <key>Strings</key>
    <string>p firstname lastname email</string>
</dict>
Прохладно! Из любопытства, как ваше имя, если вы не против поделиться? Учитывая, как долго это ждет, я полагаю, что это даст мне преимущество только в 10-15 символов... Мои имена довольно короткие, но это может быть полезно для электронной почты.
@houbysoft - Ты прав. Я предполагаю, что это не так полезно для моего имени, поскольку мое состоит всего из 8 букв, но для моих электронных писем, каждое из которых превышает 25 букв, это очень полезно.
Кстати, я только что понял, вы знаете, возможно ли что-то подобное на iOS? Например, учитывая маленькие клавиатуры на iPhone, это может быть очень полезно для этих устройств.
@houbysoft - Возможно, вы слышали о текстовых расширителях, которые вы можете настроить, например, когда я набираю «адрес», он будет автоматически заполнять мой полный адрес. Я только что сделал быстрый поиск в Google, и похоже, что есть приложение для расширения текста iOS. Вы можете найти его здесь: < itunes.apple.com/us/app/textexpander/id326180690?mt=8 >
Это может быть просто, но я пытаюсь отредактировать .plist, но он говорит, что я не владею файлом, поэтому не могу его редактировать... Как мне отредактировать файл?
@OghmaOsiris - Не могли бы вы опубликовать конкретную ошибку?
@OghmaOsiris - Скопируйте его, сохраните на рабочем столе, внесите нужные изменения, затем переименуйте его в оригинал (например, «Keyboard-en-duplicate.plist» -> «Keyboard-en.plist») и удалите оригинал. файл. Затем поместите переименованный дубликат в исходный каталог.

Если вы используете macOS Sierra , вам нужно искать в другом месте, чтобы изменить его. Вот мои инструкции, вдохновленные Custom Characters in OS X Accent Popup — George Garside :

  1. Отключите защиту целостности системы, как описано в разделе Как отключить root-доступ в Mac OS X El Capitan — MacWorld .

  2. Перейдите к /System/Library/Input Methods/PressAndHold.app/Contents/PlugIns/PAH_Extension.appex/Contents/Resources/в Finder. Чтобы быстро перейти к нему, нажмите ⇧⌘G и вставьте строку.

  3. Найдите plist-файл с клавиатурой. Если вы используете английскую раскладку, вы увидите , Keyboard-en.plistа если вы используете немецкую раскладку, это будет Keyboard-de.plist. У него могут быть и другие имена, в зависимости от вашего языка клавиатуры.

  4. Создайте резервную копию этого файла, нажав ⌘D . Переименуйте копию, которую вы сделали, во что-то с «резервной копией» в ее имени.

  5. Откройте исходный файл (без резервной копии в его имени) и отредактируйте нужные символы. После этого сохраните его.

  6. Включите защиту целостности системы, как описано на той же странице, что и шаг 1.

Используя информацию в этой теме, я ответил на тот же вопрос на MacRumors.

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

Мое решение (для чешского):

  1. Резервный /System/Library/Input Methods/PressAndHold.app/Contents/Resources/Keyboard-en.plistфайл
  2. Скопируйте /System/Library/Input Methods/PressAndHold.app/Contents/Resources/Keyboard-cs.plistи переименуйте его в/System/Library/Input Methods/PressAndHold.app/Contents/Resources/Keyboard-en.plist
  3. Удалить бесполезные символы из новых/System/Library/Input Methods/PressAndHold.app/Contents/Resources/Keyboard-en.plist
хорошая идея, я переключаюсь только между одним другим банкоматом с международной клавиатурой, это сделает это почти ненужным!!! (не говоря уже о том, что макет заставляет меня все время печатать цифрами…)

Я заставил его работать на OS X 10.11!

Похоже, они изменили местоположение на: /System/Library/Input Methods/PressAndHold.app

-> Щелкните правой кнопкой мыши + Показать содержимое пакета

/Contents/PlugIns/PAH_Extension.appex

-> Щелкните правой кнопкой мыши + Показать содержимое пакета

/Contents/Resources/Keyboard-en.plist (или любую другую клавиатуру, которую вы используете).

Там вы можете щелкнуть стрелки раскрывающегося списка, затем дважды щелкнуть рядом с «Keycaps» и изменить клавиши на нужные клавиши.введите описание изображения здесь

введите описание изображения здесь

Смотрите, это работает!

Вы уверены, что говорите о 10.11 El Capitan? В моем случае расположение файлов .plist не то, что вы говорите, а то, что указано в исходном ответе. Если вы действительно говорите о 10.12 Sierra, вы должны удалить это, потому что Skeleton Bow уже полностью ответил на него несколько месяцев назад.