Как заменить символы в раскладке клавиатуры

Я использую типографскую раскладку Бирмана на маке. Она очень удобная, но всё равно устраивает меня не полностью. Например, я хочу набирать знак # нажав Shift+3 в русской раскладке, потому что часто пишу в Markdown. И хочу печатать кавычки, кликнув на клавишу тильды в любой раскладке.

Самый простой способ сделать это — изменить файл раскладки. Раскладка Бирмана — это XML-файлы, созданные в Ukelele.

Что нужно сделать

1. Переходим в /Library/Keyboard Layouts/

2. Кликаем на Ilya Birman Typography Layout.bundle → Show Package Contents

Как заменить символы в раскладке клавиатуры

3. Находим внутри .keylayout файлы раскладок, открываем их и вносим нужные изменения

Как заменить символы в раскладке клавиатуры
Каждой клавише на клавиатуре соответствует свой символ. Находим, какая клавиша использует символ сейчас и переписываем на нужный.

4. Перезагружаем мак или делаем Log Out → Log In

Лайфхак

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

Что еще пробовал

Hammerspoon. Скрипты должны были менять символы на лету. Не помогло — отваливались после спящего режима или перезагрузки. Это можно было поправить, но всё равно нужно было держать программу открытой постоянно, а это лишняя сущность.

Karabiner. Пробовал подменять символы во время ввода — долго. Пробовал написать команду для терминала, которая бы вставляла символ # по Shift+3 вместо стандартного символа, но задержка в 0.5 секунды раздражала. Печатаем мы быстрее.

keyboard_arrow_up