Обновить
2

Пользователь

0,6
Рейтинг
Отправить сообщение

Третья раскладка в 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.

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

Теги:
+4
Комментарии2

Информация

В рейтинге
2 500-й
Зарегистрирован
Активность