From: Alexey Gladkov <legion@altlinux.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] looking for xkbcommon experts
Date: Thu, 30 Dec 2021 12:43:17 +0100
Message-ID: <20211230114317.fymujcklhuwp2242@example.org> (raw)
In-Reply-To: <20211230102557.GA3146@imap.altlinux.org>
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
next prev parent reply other threads:[~2021-12-30 11:43 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-29 14:03 Alexey Gladkov
2021-12-29 16:18 ` Alexey Gladkov
2021-12-29 23:52 ` Vladislav Zavjalov
2021-12-30 0:07 ` Vladislav Zavjalov
2021-12-30 0:12 ` Alexey Gladkov
2021-12-30 0:28 ` Alexey Gladkov
2021-12-30 10:25 ` Vladislav Zavjalov
2021-12-30 11:43 ` Alexey Gladkov [this message]
2021-12-30 13:25 ` Vladislav Zavjalov
2022-02-12 23:06 ` Alexey Gladkov
2021-12-29 23:16 ` Leonid Krivoshein
2021-12-29 23:31 ` Alexey Gladkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211230114317.fymujcklhuwp2242@example.org \
--to=legion@altlinux.ru \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git