Рубрики
Технологии

Пост @Lomserman — Настройка Linux (+1) — N/P

Третья раскладка в Linux Mint

Задача:
1. чтобы раскладки us и ru переключались как обычно, а rs — по требованию.
2. Чтобы при попытке переключить раскладку — мы возвращались в привычный цикл us ru

Зачем:
Третья раскладка бывает полезна, но зачастую она не нужна во время работы и конфликтует с мышечной памятью, которая за 30+ лет перед клавиатурой выучила, что есть только две раскладки 🙂

Что же делать:
На примере — добавим раскладку сербской латиницы, причём — вариант QWERTY, где Z и Y сидят на привычных местах.

  1. Добавляем в систему раскладку сербской латиницы в варианте Qwerty, делается это через Keyboard -> Layouts

  2. Заходим в терминал и пишем: 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

  3. Пилим исполняемый 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
  4. Идём в Keyboard, добавляем кастомные сочетания клавиш:

    Картинка на случай, если кто-то ни разу этим не пользовался.
    Картинка на случай, если кто-то ни разу этим не пользовался.

    Я переключаю раскладку с помощью Caps Lock, поэтому рассказываю как удобно мне. Вы делайте на те клавиши, которые удобны вам (иначе какой смысл).

    — Переключение на сербскую раскладку: CTRL+Caps Lock, команда:
    setxkbmap -layout rs -variant latinyz

    — Отмена сербской раскладки: просто Caps Lock, который зовёт скрипт use_default_layout.sh из пункта 3.

Готово, вы великолепны.

Читать дальше →