Как корректно измениться, раскладка клавиатуры из командной строки (setxkbmap повреждает все ярлыки),

Существует ли способ изменить в настоящее время активную раскладку клавиатуры в Корице из командной строки?

setxkbmap решение, которое предлагает большинство руководств, не вполне работает, как оно, как предполагается: Если это называют, индикатор языка в самой Корице dissapears, и существующие комбинации, настроенные в Корице, больше не работают. Для восстановления этой функциональности нужно перейти к настройкам и повторно включить любую установку раскладки клавиатуры.

Кроме того, путь setxkbmap кажется, изменяется, расположение имеет природу нахожение на одном уровне ниже, чем Корице, кажется, нравится: например, если Вы изменяете расположение на нелатинское, с помощью setxkbmap, сочетания клавиш по умолчанию в целой системе прекращают работать. (легко протестированный с Ctrl-C). Этого никогда не происходит с собственным расположением, переключающимся из Корицы. Это появляется это setxkbmap работает на более низком уровне, чем, что ожидает большинство приложений.

Существует ли способ изменить расположение собственный компонент, Корица (или гном, так как это основано на этом?) путь и сохраняют работу комбинаций клавиатуры?

(Другое решение, обычно предлагаемое, gsettings set org.gnome.desktop.input-sources current 0, который не работает ни один в текущей Корице (ничего не происходит)).

Я имею, конечно, протестировал все возможные индексы, до 10, даже при том, что у меня есть только 3 разметки, добавляемые в настоящее время. Упомянутая переменная, кажется, не изменяется также, когда разметки изменяются вручную. Я также попробовал подобную переменную, которая существует в Коричной среде, org.cinnamon.desktop.input-sources, но это ни на что не влияет ни один (точно таким же образом как версия гнома).

2
задан 25 October 2017 в 19:09

1 ответ

Лучшее решение в настоящее время состоит в том, чтобы использовать эту внешнюю программу (xkb-switch) это принимает параметры командной строки, и напишите сценарий его в xbindkeys или что-то подобное.

Хотя неофициальный, внешний, и записанный на компилируемом языке, на самом деле довольно легко установить, так как это не имеет почти никаких зависимостей.

https://github.com/ierton/xkb-switch

$ xkb-switch --help

Usage: xkb-switch -s ARG            Sets current layout group to ARG
       xkb-switch -l|--list         Displays all layout groups
       xkb-switch -h|--help         Displays this message
       xkb-switch -v|--version      Shows version number
       xkb-switch -w|--wait [-p]    Waits for group change and exits
       xkb-switch -W                Infinitely waits for group change
       xkb-switch -n|--next         Switch to the next layout group
       xkb-switch [-p]              Displays current layout group

Используйте как:

xkb-switch -s us
xkb-switch -s de
etc...

Это решение:

  • Работы из командной строки.
  • Быстро, вызов этой программы не представляет задержки (в противоположность переключающемуся расположению setxkbmap).
  • Правильно переключает встроенный индикатор расположения в область значка панели задач. (Индикатор не исчезает или прекращает работать, как с setxkbmap.)
  • Не завинчивает контурную карту на Lockscreen, предотвращая ввод правильного пароля, если неправильное расположение было выбрано прежде, чем заблокировать (как делает setxkbmap).
  • Не изменяет основные сочетания клавиш как Ctrl-C, Ctrl-V: они все еще работают с теми же ключами даже в различных разметках (являющийся отличающимся от, хорошо Вы получаете идею, setxkbmap).
  • Почести вся Коричная механика расположения, как установка или использования того же расположения для всех окон или отдельного расположения на окно. (Возьмите предположение если setxkbmap это?)

Инструкции по установке находятся на GitHub.

1
ответ дан 2 December 2019 в 04:47

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

Похожие вопросы: