Расширенные возможности раскладки клавиатуры

Я использую английскую, русскую и армянскую раскладки клавиатуры. Когда я пытаюсь изменить макет, он меняет "en" -> "am" -> "ru" -> "en"... Я хочу использовать левый Alt + Shift для переключения "en" и "am", и Право Alt + Shift для переключения "en" и "ru". Вы можете мне помочь?

1 ответ

Решение

Существует множество сочетаний клавиш для выбора между раскладками клавиатуры, но ни один из них не соответствует тому, что вы хотите.

В любом случае, это можно сделать с помощью скриптов bash и двух пользовательских ярлыков.

Сначала создайте скрипт, давайте назовем его change_layouts:

#!/bin/bash
#script to switch between two keyboard layouts

if [ $# -ne 2 ];then
    echo "Usage: `basename $0` first_layout second_layout"
    echo "   ex: change_layouts us ru"
    exit
fi

first_layout=$1
second_layout=$2

if [ -z "$(ls -l /usr/share/X11/xkb/symbols | grep ^- | awk '{print $9}' | grep $first_layout)" ]; then
    echo "Error: Doesn't exists ant keyboard layout called '$first_layout'."
    exit
fi

if [ -z "$(ls -l /usr/share/X11/xkb/symbols | grep ^- | awk '{print $9}' | grep $second_layout)" ]; then
    echo "Error: Doesn't exists ant keyboard layout called '$second_layout'."
    exit
fi

if [ "$first_layout" = "$second_layout" ]; then
    echo "Error: The arguments (keyboard layouts) must to be different."
    exit
fi

current_layout=$(gsettings get org.gnome.libgnomekbd.keyboard layouts)

if [ "$current_layout" = "['$first_layout', '$second_layout']" ]; then
    gsettings set org.gnome.libgnomekbd.keyboard layouts "['$second_layout', '$first_layout']"
else 
    gsettings set org.gnome.libgnomekbd.keyboard layouts "['$first_layout', '$second_layout']"
fi

Сохраните скрипт в своем ~/bin каталог и не забудьте сделать его исполняемым:

chmod +x ~/bin/change_layouts

Теперь вы можете протестировать скрипт в терминале. Запустите его еще раз, чтобы увидеть, как это работает.

Во-вторых, добавьте свои собственные ярлыки. Перейдите в " Настройки системы" → " Клавиатура" → " Сочетания клавиш" → " Сочетания клавиш" и следуйте инструкциям на изображении ниже:

добавить пользовательский ярлык

Другие вопросы по тегам