LINUX.ORG.RU

Механические клавиатуры Panteon T24 Pro и Machenike K520 самопроизвольно переключают раскладку в моем Debian 12!

 , , , ,


0

4

Привет, народ!

Имею Linux Debian 12.9, ядро 6.1.0-31-amd64, LXDE, стандартный setxkbmap, и старенькую пленочную клавиатуру A4TECH KR-85. Она нормально работает, никаких проблем с ней нет.

Домашние меня решили порадовать, и подарили на ДР механическую клавиатуру Panteon T24 Pro RS HL Premium. В /dev/input/by-id она видится как

usb-Evision_RGB_Keyboard-event-if01 -> ../event8
usb-Evision_RGB_Keyboard-event-kbd -> ../event6


Через пару минут моих тестов сразу же вылезла проблема:

Если быстро печатать на русском языке, то в какой-то момент происходит самопроизвольное переключение на английский язык. То есть, достаточно начать быстро печатать строчку на русском, и конец строки будет на английском.

Причем индикатор раскладки остается как RU, а печатаются английские символы.



Я в начале думал, что переключение происходит на какой-то комбинации символьных клавиш. Но нет, комбинации могут быть разные, я даже сделал такую табличку, в которой виден момент переключения:

цукгoh
гнщsgf
ецыihj
щзуfrh
лдуdth
кгеghs
дафdes
дшлjuh


Каково же было мое удивление, когда вместо этой новой клавиатуры я подключил другую механическую клавиатуру Machenike K520 трехлетней давности, которая видится в системе как:

usb-SEMICO_USB_Gaming_Keyboard-event-if01
usb-SEMICO_USB_Gaming_Keyboard-event-kbd


И у нее оказалась точно такая же проблема! Вот какие моменты переключения:

к вуsgj
клд;yers
рынjdl
шуаоrpi
лдouge


То есть, явно проблема не в клавиатуре, а в Linux.

Может быть это важно, но обе клавиатуры имеют неотключаемую систему Anti Ghosting. Это когда клавиатура ловит все нажатия и не тупит когда нажато сразу несколько клавиш.

В общем, даже не знаю куда в какую сторону копать.
Это проблема USB?
Проблема ядра?
На другом компьютере с Linux Mint и ядром 5.12 этой проблемы нет.
То есть, регрессия в ядре?
Или какой-то из слоев DE по контролю переключения раскладки тупит?

★★★★★

Уточни описание проблемы. На твоих примерах везде видно что три буквы русские, затем английские. Эта английская раскладка остаётся насовсем, или после секундной (или какой?) паузы в наборе она становится назад русской? Посмотри xev (у тебя xorg надеюсь?) - в нём видны и сканкоды кнопок и буквы, в которые они транслируются, и моменты переключения раскладки (state 0x2000). Проверь поведение в ядерной консоли.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Эта английская раскладка остаётся насовсем, или после секундной (или какой?) паузы в наборе она становится назад русской?

Назад русской не становится. Слетает именно в направлении русская -> на английскую. С английской на русскую не слетает.

Посмотри xev (у тебя xorg надеюсь?) - в нём видны и сканкоды кнопок и буквы, в которые они транслируются, и моменты переключения раскладки (state 0x2000)

Попробовал, но он странно работает. Если оставлять окно xev активным, то проблема не вылазит. Если переключиться на редактор, то в консоль, где запущен xev, попадают далеко не все нажатия клавиш, так что отследить проблему невозможно.

Проверь поведение в ядерной консоли.

Проверил, в ядерной консоли - проблемы нет.

Проверил разные программы.

Konsole - есть проблема!
Kwrite - есть проблема!
Kate - есть проблема!
KTorrent - есть проблема! (И в однострочных и в многострочных полях ввода)

QtCreator 18.0.2 - нет проблемы
MyTetra (Qt) - нет проблемы

Leafpad - нет проблемы
Firefox - нет проблемы
Chromium - нет проблемы
Libre Office Writer - нет проблемы
Zim - нет проблемы


В общем, делаю вывод, что проблема в KDE-шных библиотеках.

Тем более, что как я писал в топике, индикатор клавиатуры не переключается на EN, а остается на RU даже когда самопроизвольное переключение на EN произошло. А это значит, что клавиатура не посылает никаких команд переключения раскладки. Это какая-то библиотека KDE при каких-то кодах вдруг переключает раскладку и начинает фигачить английские символы.

Мда, как исправлять - мыслей никаких нет.

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 2)
Ответ на: комментарий от router

и вот здесь тоже говорят, что есть проблемы с ibus

https://bugs.kde.org/show_bug.cgi?id=454223

и тут ibus :) Исправление ошибок в DSDT (комментарий)

попробуй снести нафиг эту хренотень

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Выглядит так, словно у тебя раскладка задается не глобально, а для каждого окна отдельно. Выстави в настройках глобально и потести

Не, раскладка глобальная.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от router

и вот здесь тоже говорят, что есть проблемы с ibus

Но у меня не стоит пакет ibus:

p ibus - Intelligent Input Bus - core

У меня стоит только libibus
>aptitude search ibus | grep "^i.*ibus" | grep -v usb
i A gir1.2-ibus-1.0 - Интеллектуальная шина ввода — данные для интроспекции
i A libibus-1.0-5 - Intelligent Input Bus - shared library
i A libibus-1.0-dev - Intelligent Input Bus - development file

Удалить libibus не могу, ибо от него зависят libsdl2 и libfluintsynth, а я ими пользуюсь.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Там у него что-то с глобальной и локальной раскладкой.

Он же пишет в последнем комментарии что и так была выбрана глобальная раскладка. И насколько я понял, помогло ему просто подергать настройки туда-сюда.

Tanger ★★★★★
()
Ответ на: комментарий от Tanger

Он же пишет в последнем комментарии что и так была выбрана глобальная раскладка. И насколько я понял, помогло ему просто подергать настройки туда-сюда.

Да подергал я конечно. На решение бага это не влияет.

Xintrea ★★★★★
() автор топика

На другом компьютере с Linux Mint и ядром 5.12 этой проблемы нет.

Только хотел предложить проверить другие дистрибутивы, но перечитал пост повнимательней. )

То есть, регрессия в ядре?

Ну так попробуй с другим ядром. Новым, старым. Попытка не пытка.

krasnh ★★★★★
()

Нейрогугл ещё вариант предложил:

If you have a mechanical keyboard with a loose USB-C cable or a power-saving setting that causes it to "flicker" (disconnect/reconnect), KDE might revert to the default system layout

имхо, дисконнекты должны светиться в dmesg

router ★★★★★
()