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

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



On 12/02/2022 23:00, Maksim Dmitrichenko wrote:
сб, 12 февр. 2022 г. в 17:55, Max Nikulin:

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

Справедливости ради весь Xkb - это тоже одна большая помойка. Чё-то до сих пор помнится мне, что проблема с тем, что на русской раскладке комбинации с модификаторами приводили к тому, что генерировались Ctrl-Я вместо ожидаемого Ctrl-Z, ну и всё такое.

Я бы тоже хотел, чтобы такое работало из коробки, только вот начал сомневаться, что это вообще возможно. Например, на экране 2 программы, одна с русской локализацией, другая с английской. Русская ожидает Alt+русская буква (хотя лично мне хочется странного: даже при русской локализации работали бы английские комбинации, который на других клавишах). Еще интереснее становится, когда доходит дело до Ctrl+, - с какой раскладки брать запятую? Дополнительные символы на цифровых клавишах в европейских раскладках могут быть переставлены...

С другой стороны, оставлять все на совесть разработчикам программы/библиотеки/toolkit тоже так себе идея.

Gnome вроде следит, чтобы первой всегда стояла английская раскладка, а нужная пользовательская - следующей группой. Так хотя бы нормальные приложения могут определить, что Ctrl+Z и Ctrl+Я - одно и тоже, правда ценой дополнительных усилий и потенциальных ошибок при реализации.

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

В целом, их тоже понять можно (см. выше).

Главное, что мне не нравится, так это то, что оторвали возможность не использовать активное переключение, а тихо сидеть и только менять значок при смене раскладки. Оно, конечно, дополнительный код, за работоспособностью которого надо следить, техподдержке каждый раз надо спрашивать, а не включена ли такая галочка...

На сколько я успел разобраться в LXDE есть плагин Lxpanel, который отлавливает изменение раскладки и меняет флажок. Кроме того, он может отлавливать переключение окон и восстанавливаться раскладку для каждого окна. На этом все.

Значок на панели обычно позволяет на него тыкать и переключать мышкой, интересно, каким механизмом пользуется он.

Раз mutter взялся прибивать гвоздями группу xkb, то вроде за восстановлением раскладки при переключении окон тоже должен следить window manager, а не LXDE.

Ну и если в LXDE работает то, к чему стремились в Gnome (в какой степени получилось - другой вопрос), то одного xkb мало, нужен еще кто-то, возможно управляющийся по dbus, ну или ibus сам обрабатывает переключения (но тогда он должен об этом рассказывать mutter). Были слова о том, что раскладок может быть больше 4, поэтому переключать группу мало, бывает нужно полностью переконфигурировать xkb на новые группы. По факту в gnome получилось, что переконфигурация делается при каждом переключении на пару en + нужная.

Я год назад немного поигрался с gnome и ibus (с последним отдельно от gnome), но не нашел, как их заставить при включении input method выбирать английский xkb layout, который этот метод ждет. Иероглифов я не понимаю, поэтому пробовал на нотации LaTeX для специальных символов. У input method может быть комбинация клавиш для его отключения, чтобы пропускать в приложение исходные символы, то тогда это полностью ортогонально раскладке, и индикаторов должно быть два: для метода ввода и для раскладки xkb, а я видел только один.


Reply to: