Вопрос или проблема
Я только что переключился на KDE и Wayland (с Cinnamon и X11) впервые, и мне сложно понять, как изменить раскладку клавиатуры, как из командной строки (вопрос 1), так и с использованием глобальной горячей клавиши (вопрос 2). Может кто-нибудь объяснить?
У меня есть 2 раскладки, одна — американская, и моя собственная (alfonz), которая (среди прочего) например, переопределяет клавишу MENU. Я создал 2 группы (понятия не имею, что это такое), в группе США у меня есть обе, а в чешской группе только моя раскладка. Вот окно конфигурации:
Удивительно, но моя раскладка работает как надо, когда активирована группа cz, но когда выбрана в en группе, упомянутая клавиша MENU не отображается правильно.
Честно говоря, я понятия не имею, что это за группы/негруппы. Я просто хочу, чтобы раскладка работала как надо и чтобы можно было переключаться между ними с помощью команды CLI (как?) и глобальной горячей клавиши (как? в fcitx есть несколько определений горячих клавиш, и ни одна из них не работает). Использование групп и выбор с помощью мыши работает, но использование мыши очень неудобно. Пожалуйста, посоветуйте.
Ответ или решение
Теория
При переходе на рабочую среду KDE под Wayland, возникает необходимость понимать, как изменяются методы управления системными параметрами. В отличие от X11, где управление клавиатурной раскладкой осуществлялось через setxkbmap
, в Wayland необходимо пользоваться другими инструментами, поскольку X11-команды не поддерживаются, или поддерживаются ограниченно.
В KDE 6.1.5 на платформе Wayland, смена раскладки клавиатуры может быть выполнена двумя основными способами: через командную строку (CLI) и с использованием глобальных горячих клавиш.
CLI
На Wayland возможно воспользоваться командой setxkbmap
, если у вас установлен пакет xwayland
, однако это не рекомендуется и не всегда корректно. Более предпочтительным является использование утилиты localectl
, которая является частью системы systemd
и предназначена для управления локалью и раскладками клавиатуры.
Глобальные горячие клавиши
В KDE использование горячих клавиш для смены раскладки клавиатуры настраивается через системные параметры. В отличие от X11, метод определения горячих клавиш может быть не столь очевиден, особенно при использовании графической системы Wayland. Системные группы позволяют создавать отдельные категории настроек внутри KDE, но зачастую добавляют излишнюю сложность при настройке горячих клавиш и раскладок.
Пример
CLI
Команда localectl
используется для изменения конфигурации раскладки клавиатуры в Wayland. Пример команды для смены раскладки:
localectl set-x11-keymap us,cz
Эта команда задаст две раскладки: us
и cz
. Смена раскладки может быть автоматизирована через скрипты или сторонние утилиты, если необходимо. Однако, для интерактивного переключения через CLI можно создать собственный скрипт, который будет выполнять вышеуказанную команду с нужными параметрами.
Глобальные горячие клавиши
Для настройки горячих клавиш в KDE, выполните следующие шаги:
- Откройте «Система» -> «Настройки системы».
- Перейдите в раздел «Устройства» -> «Клавиатура».
- Далее необходимо перейти в опцию «Глобальные сочетания», где можно назначить комбинации клавиш для различных действий. Найдите или создайте новую запись для смены раскладки клавиатуры.
- В зависимости от конфигурации и установленных направлений, может потребоваться создать свои сценарии или утилиты для выполнения команд, описанных выше.
Применение
Командная строка
Рассмотрим работу с командной строкой на практике. Предположим, что у вас основная раскладка us
, а альтернативная – alfonz
. Для изменения раскладки вы можете создать скрипт:
- Создайте файл
change_layout.sh
и добавьте в него следующее содержимое:
#!/bin/bash
current=$(localectl status | grep 'Layout' | cut -d ' ' -f3)
if [ "$current" == "us" ]; then
localectl set-x11-keymap 'alfonz'
else
localectl set-x11-keymap 'us'
fi
- Сделайте его исполняемым:
chmod +x change_layout.sh
- Теперь этот скрипт можно запускать в командной строке для переключения между расскладками.
Глобальные горячие клавиши
В KDE можно назначить запуск созданного скрипта change_layout.sh
на определенную комбинацию клавиш. Сделайте следующее:
- Перейдите в настройки глобальных сочетаний клавиш.
- Создайте новое сочетание для запуска вашего скрипта.
- Назначьте удобную для вас комбинацию клавиш, например,
Ctrl + Shift + L
.
Таким образом, теперь у вас есть гибкое управление раскладками клавиатуры как через CLI, так и через глобальные сочетания клавиш. Это позволит эффективно и быстро переключаться между различными настройками, не прибегая к мыши или дополнительным действиям.