Summary: | Некорректная работа виджета "Смена языка" для lightdm-kde-greeter | ||
---|---|---|---|
Product: | Branch p10 | Reporter: | Osmolovskaya Anastasia <osmolovskayaaa> |
Component: | xorg-server | Assignee: | Valery Inozemtsev <shrek> |
Status: | NEW --- | QA Contact: | qa-p10 <qa-p10> |
Severity: | normal | ||
Priority: | P5 | CC: | boot.efi, shrek |
Version: | не указана | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Osmolovskaya Anastasia
2023-10-11 15:53:42 MSK
Судя по всему это баг/особенность Xorg. Альтератор помещает настройки раскладок в файл /etc/X11/xorg.conf.d/00-keyboard.conf: > Section "InputClass" > Identifier "system-keyboard" > MatchIsKeyboard "on" > Option "XkbLayout" "us,ru" > Option "XkbModel" "pc104" > Option "XkbOptions" "grp:caps_toggle" > EndSection Но они не записываются в устройство "Virtual Core Keyboard", а только во все реальные устройства, которые являются "подчинёнными". Вот, например вывод xinput: > Virtual core pointer > Virtual core XTEST pointer > Logitech Wireless Mouse PID:4022 > Logitech Wireless Keyboard PID:4023 > ETPS/2 Elantech Touchpad > Virtual core keyboard > Virtual core XTEST keyboard [ * ] > Power Button [ * ] > Video Bus [ * ] > Acer Wireless Radio Control [ * ] > Video Bus [ * ] > Power Button [ * ] > Sleep Button [ * ] > AT Translated Set 2 keyboard [ * ] > Acer WMI hotkeys [ * ] ( Я пометил [ * ] устройства, куда попадают настройки.) Но считывание и переключение раскладок происходит именно с Virtual Core Keyboard. После первого события с любого из подчинённых устройств, настройки копируются в Virtual Core Keyboard, и проблема лечится. Также можно увидеть, что Logitech Wireless Keyboard попала в подчинение Virtual Core Pointer, и при нажатии на её кнопки не происходит копирование правильных настроек в Virtual Core Keyboard, т.е. проблема не лечится, видна только одна раскладка. При этом ввод с клавиатуры работает нормально. На этой же машине воспроизводится следующее: если использовать вышеупомянутую клавиатуру и запустить сессию KDE на Xorg, там тоже раскладки не меняются, пока не нажать физически на клавишу на самом ноутбуке. Также проблема лечится если запустить setxkbmap просто без аргументов. Потому что тот сначала считывает свойство _XKB_RULES_NAMES, в котором присутствуют нужные раскладки, а потом полученные данные отправляет в Xorg в функции XkbGetKeyboardByName, и там они кладутся в Virtual Core Keyboard. (Ответ для Anton Golubev на комментарий #1) > Судя по всему это баг/особенность Xorg. И вряд ли его будут исправлять, учитывая, что ему восемь лет. https://gitlab.freedesktop.org/xorg/xserver/-/issues/257 Ошибка актуальна для версии lightdm-kde-greeter-6.0.2-alt1.x86_64 Всё же тут дело не в гритере. |