[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Raspberry PI, Bullseye, переключение раскладок



On 10/02/2022 03:40, Maksim Dmitrichenko wrote:
Сам спросил, сам нашёл ответ. Во всем виноват оконный менеджер mutter: он перехватывает события смены раскладки через xkb и отменяет их. Единственным легитимным способом переключения раскладок он, кажется, считает вызов определённой функции в libmutter.

Если правильно понимаю, то это последствие того, что в ubuntu когда-то был патч, который позволял и раскладку переключать, например, Ctrl+Shift, и эти же самые клавиши использовать в комбинациях с другими.

mutter 2857fdbdb8, где воткнули XkbLockGroup:

Ubuntu ships a patch in the X server that makes the group switch
keybindings only work on key release, i.e. the X server internal group
locking happens on key release which means that mutter gets the
XKB_KEY_ISO_Next_Group key press event, does its XLockGroup() call
with a new index and then, on key release, the X server moves the
index further again.

Пришлось закомментировать этот блок говнокада и пересобрать пакет. Потому что переключиться с mutter на openbox тоже с разбегу не вышло почему-то.

Я решил, что от gnome лучше держаться подальше, когда прочитал вот такое:

https://bugzilla.gnome.org/show_bug.cgi?id=756543
Third-party keyboard switchers are not supported in GNOME. Plenty of
other XKB knobs/behaviors were already impossible or at least
impractical when set from outside mutter's control. That's a conscious
design decision that's not going to change unless there's a very good
case for it.

Как-то слишком радикально получилось у них приделать поддержку CJK.

Любопытно, есть ли в LXDE аналог вот такого крокодила, который переключает раскладки в gnome?

gdbus call --session --dest org.gnome.Shell \
  --object-path /org/gnome/Shell \
  --method org.gnome.Shell.Eval \

"imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"


Reply to: