[devel] looking for xkbcommon experts

Alexey Gladkov legion на altlinux.ru
Чт Дек 30 03:28:08 MSK 2021


On Thu, Dec 30, 2021 at 02:52:04AM +0300, Vladislav Zavjalov wrote:
> On Wed, Dec 29, 2021 at 05:18:09PM +0100, Alexey Gladkov wrote:
> > Я могу сделать дамп (см. аттач), но я не могу понять как получить какой
> > модификатор используется для переключения layout. Переключатель есть
> > только в options и там много чего ещё есть. Более того, как-то странно
> > парсить руками эти опции.
> > 
> > Возможно я слаб в этой библиотеке и не нашёл как получить
> > XKB_KEY_Control_L для указанной конфигруации. Поэтому и решил спросить
> > тут.
> 
> Мне кажется, что надо искать все кнопки, в которых присутствует работа с
> группами: ISO_Next_Group, ISO_Prev_Group (и всякие LockGroup, LatchGroup
> с которыми я никогда не имел дела).
> 
> При этом приложенная программа явно не показывает всей картины:
> $ ./xkbcommon-dump-test | grep Group
> keycode  29 = | {English (US)} (Plain) ISO_Next_Group,
> 
> при том, что у меня
> 
> $ xmodmap -pk | grep Group
> 108         0xfe08 (ISO_Next_Group) 0xffe8 (Meta_R) 0xfe0c
>     (ISO_First_Group)        0xffe8 (Meta_R) 0xfe0c (ISO_First_Group)
>     0xffe8 (Meta_R)    0xfe0c (ISO_First_Group)
> 134         0xfe08 (ISO_Next_Group) 0xffe8 (Meta_R) 0xfe08
>     (ISO_Next_Group) 0xffe8 (Meta_R) 0xfe0c (ISO_First_Group)
>     0xffe8 (Meta_R)    0xfe0c (ISO_First_Group)        0xffe8
>     (Meta_R)
> 
> (у меня три группы и две кнопки, keycode 108 и 134: одна переключает все
> по кругу, 1->2->3->1->2->3, вторая - только две (3->)1->2->1->2)

Я пока даже не представляю как такое конвертировать в плоскую таблицу.
Скорее всего если такое будет вообще возможно, то придётся ставить
определённые ограничения, кроме очевидных keycode < 255, unicode < U+F000.

Но прежде всего сначала я хочу понять смогу ли я получить дамп keymap c
переключателями. Сама keymap вроде дампится и layouts есть, но вот
как получить переключатель между A и B я не нашёл пока. Я очень не хочу
парсить текстовые options.

-- 
Rgrds, legion



Подробная информация о списке рассылки Devel