Как перестать переключать раскладку при наборе заголовков Markdown/Rmarkdown/Quarto если у вас оконный менеджер Wayland

Проблема
Когда часто приходится редактировать Markdown-подобные документы (я периодически грешу Quarto презентациями с Reveal.JS), постоянно приходится переключать русскую раскладку клавиатуры на английскую только для того, чтобы набрать символы заголовков #:
## Заголовок презентации 1
## Заголовок презентации 2
На русской раскладке Shift+3Shift+3 соответствует символу № который я использую примерно никогда раз в три года. Поэтому было решено поменять на русской раскладке значение символа с № на #.
Решение для X
Раньше, когда повсеместно на Linux использовался оконный сервер X, применялась программа xmodmap:
xmodmap -e "keycode 12 = numbersign"Здесь мы меняем клавишу с кодом 12 на символ диеза, который называется numbersign.
Сами коды клавиш мы смотрим с помощью программы xev – запускаем программу, нажимаем нужную клавишу и смотрим вывод в терминале.
Решение для Wayland
Все изменилось с переходом с иксов на Wayland – схема с xmodmap больше не работает.
Но выход есть!
- Теперь для определения кода клавиш нужно использовать альтернативу
xev– программуwev(кто бы мог подумать!) Запускаемwev, нажимаем нужную клавишу и смотрим ее код. - Правим файл раскладки
/usr/share/X11/xkb/symbols/ru:
...
//key <AE03> {[ 3, numerosign ]};
key <AE03> {[ 3, numbersign ]}; //added
...
Здесь я закомментировал (поставил // в начале) строку с присвоением символа № (numerosign) и добавил строку с новым значением numbersign.
- Сохраняем файл и перелогиниваемся в наш Wayland сеанс.
Вуаля!