Третья раскладка в 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.
Готово, вы великолепны.