Третья раскладка в Linux Mint
Задача:
1. чтобы раскладки us и ru переключались как обычно, а rs - по требованию.
2. Чтобы при попытке переключить раскладку - мы возвращались в привычный цикл us ru
Зачем:
Третья раскладка бывает полезна, но зачастую она не нужна во время работы и конфликтует с мышечной памятью, которая за 30+ лет перед клавиатурой выучила, что есть только две раскладки :)
Что же делать:
На примере - добавим раскладку сербской латиницы, причём - вариант QWERTY, где Z и Y сидят на привычных местах.
Добавляем в систему раскладку сербской латиницы в варианте Qwerty, делается это через Keyboard -> Layouts
Заходим в терминал и пишем:
setxkbmap -query
Видим примерно такое:rules: evdev model: pc105 layout: us,ru,rs variant: ,,latinyz options: grp:win_space_toggle,terminate:ctrl_alt_bksp,grp:caps_toggleВнимание на
us,ru,rsи вариант -latinyzПилим исполняемый shell скрипт, например в
~/use_default_layout.sh
Этот скрипт будет временно убирать сербскую раскладку, чтобы не мешалась.#!/bin/bash current_layouts=$(setxkbmap -query | grep layout | awk '{print $2}') if [[ "$current_layouts" != "us,ru" ]]; then setxkbmap -layout "us,ru" fiИдём в Keyboard, добавляем кастомные сочетания клавиш:

Картинка на случай, если кто-то ни разу этим не пользовался. Я переключаю раскладку с помощью Caps Lock, поэтому рассказываю как удобно мне. Вы делайте на те клавиши, которые удобны вам (иначе какой смысл).
- Переключение на сербскую раскладку: CTRL+Caps Lock, команда:setxkbmap -layout rs -variant latinyz
- Отмена сербской раскладки: простоCaps Lock, который зовёт скриптuse_default_layout.shиз пункта 3.
Готово, вы великолепны.