[devel] looking for xkbcommon experts
Alexey Gladkov
legion на altlinux.ru
Чт Дек 30 14:43:17 MSK 2021
On Thu, Dec 30, 2021 at 01:25:57PM +0300, Vladislav Zavjalov wrote:
> On Thu, Dec 30, 2021 at 01:28:08AM +0100, Alexey Gladkov wrote:
> > Я пока даже не представляю как такое конвертировать в плоскую таблицу.
> > Скорее всего если такое будет вообще возможно, то придётся ставить
> > определённые ограничения, кроме очевидных keycode < 255, unicode < U+F000.
> >
> > Но прежде всего сначала я хочу понять смогу ли я получить дамп keymap c
> > переключателями. Сама keymap вроде дампится и layouts есть, но вот
> > как получить переключатель между A и B я не нашёл пока. Я очень не хочу
> > парсить текстовые options.
>
> А чем не устраивает строчка в дампе "keycode 29 = | {English (US)} (Plain)
> ISO_Next_Group" ?
Я сначала не понял. На самом деле это именно то, что мне нужно.
> ...
>
> Но в целом мне такой проект не очень понятен. Во-первых, я вообще
> люблю, когда система распадается на небольшие слабо взаимодействующие кусочки,
> в каждом из которых "простой пользователь" может разобраться при желании.
> Что можно настроить консоль, не зная ничего про X.
А это не совсем относится к Х. Это раньше оно было прибито к xlib, а
теперь это просто библиотека с базой раскладок.
$ rpmquery -R libxkbcommon
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.17)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.8)(64bit)
libxml2.so.2()(64bit) >= set:ojEMWl9MZc1b88W3WxDrxiYtfBIp3cL1BVp5u00sqxoX28E7gjs0
rpmlib(SetVersions)
libxml2.so.2(LIBXML2_2.4.30)(64bit)
libxml2.so.2(LIBXML2_2.5.8)(64bit)
rtld(GNU_HASH)
rpmlib(PayloadIsLzma)
Более того, моя идея состоит в том, чтобы добавить возможность работать с
xkb раскладками, а не заменить существующие keymaps.
> Во-вторых, раскладки - это такая повседневная и базовая вещь, в которой
> не хочется резких изменений. Я уже давным-давно нашел чью-то раскладку,
> которая мне нравилась (Crosser-Vovenko) и поправил ее, чтобы мне было удобно.
> Поправил себе консольный шрифт (altc), чтоб хотя бы все русские буквы отличались
> от английских и т.п. И зачем там какие-то изменения, тем более автоматические,
> там более сделанные поверх существующей инфраструктуры - непонятно.
>
> Понятна идея, что мы хорошо настраиваем xkb, а потом сделаем, чтобы в
> консоли было точно так же. Но точно так же в общем случае не получится.
> Например, если у кого-то layout=en,ru,fa - то такой шрифт в консоль не
> загрузишь, и какой после этого смысл в правильном переключателе - непонятно.
> И после этого смысл немного теряется.
>
> С точки зрения собирателя дистрибутивов, наверное, хорошо где-то в
> модуле альтератора иметь фиксированный список настроек xkb, и
> соответствующий ему список консольных раскладок.
> И, может быть, в этом месте как раз имеет смысл программа-конвертер, которая
> сделает (или подберет из списка) более-менее хорошую настройку консоли для
> разных вариантов настройки xkb.
Тут есть нюанс, который вы упускаете: раскладки для консоли не
комбинируются. Каждая из них содержит набор языков и переключателей,
которые посчитал удобными автор. Если вам нужно сочетание языков, которых
нет в базе, то нужно писать новую раскладку.
Гораздо проще указать что-то типа:
loadkeys --layout="en,ru" --options="grp:lctrl_toggle"
Если же хочется большего контроля, то всегда можно создать раскладку по
старому.
--
Rgrds, legion
Подробная информация о списке рассылки Devel