From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 30 Dec 2021 12:43:17 +0100 From: Alexey Gladkov To: ALT Linux Team development discussions Message-ID: <20211230114317.fymujcklhuwp2242@example.org> References: <20211229140345.icvvchkjo72vquet@example.org> <919251640787589@mail.yandex.ru> <20211229161809.j4af7i7zosyeegxe@example.org> <20211229235204.GA1641@imap.altlinux.org> <20211230002808.25fjyclywojzn5hd@example.org> <20211230102557.GA3146@imap.altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20211230102557.GA3146@imap.altlinux.org> Subject: Re: [devel] looking for xkbcommon experts X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Dec 2021 11:43:19 -0000 Archived-At: List-Archive: List-Post: 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