Нужно переключать макет глобально, а не для каждого окна, используя setxkbmap - PullRequest
0 голосов
/ 20 сентября 2019

Я использую setxkbmap на Manjaro-i3 для переключения между раскладками клавиатуры с помощью горячих клавиш.

Проблема на самом деле в функции, которая мне не нужна ... По сути, при переключении раскладки клавиатуры она устанавливает эту раскладку только для текущего окна, а когда я перехожу на другую, она снова принимает старую раскладку (и значок флага на панели задач также меняется).

Есть ли способ сделать так, чтобы при переключении раскладки клавиатуры он менял раскладку для ВСЕХ ОКНО (или просто не заботился о том, какое окно находится в фокусе)?

Я смотрел везде ине могу найти никакого ответа, даже на man-странице setxkbmap или в любой другой официальной документации ... Так что я предполагаю, что это может быть не функция самого setxkbmap, но, возможно, i3 ... или жестко закодированная функция, которую мы не можем изменить ....

В любом случае существует определенная проблема с тем, как эта штука работает, она сильно нарушена, потому что мы также можем изменить макет kb, щелкнув по значку на панели i3, но это изменит макет дляi3-bar, а не для любого другого приложения, поскольку мышь находится над этим значком ... делая эту функцию щелчка совершенно бесполезной ...

Вот моя конфигурация setxkbmap, которая запускается после i3 init:

setxkbmap -layout us,ca
setxkbmap -option 'grp:alt_shift_toggle

А вот мой xorg conf, связанный с клавиатурой:

Section "InputClass"
  Identifier "system-keyboard"
  MatchIsKeyboard "on"
  Option "XkbLayout" "us,ca"
  Option "XkbOptions" "compose:ralt"
EndSection

Также есть ошибка (возможно связанная), которая сводит меня с ума: Иногда деИзменения в структуре ошибок для новых окон, которые я открываю ...

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 20 сентября 2019

Проблема была с sbxkb.Это очень легкая небольшая программа, которая показывает значок флага макета на панели i3 и отвечает за настройку макета kb для каждого окна.Отключение этого приложения (с помощью команды killall sbxkb) решило проблему.Тогда, конечно, мы можем отключить его запуск при запуске системы из файла конфигурации i3.У меня больше нет значка флага, но он все равно был бесполезен для меня.Переключение раскладки с помощью сочетания клавиш по-прежнему отлично работает и каждый раз меняет его для всей системы.

...