LINUX.ORG.RU

Мышиное колесо не работает в приложениях Qt5

 , , ,


1

2

Всем здравствуйте.

Собственно, симптомы очень похожи на QTBUG-38169, но на этот раз не Qt 5.3, а Qt 5.7.1 на Debian 9.

В GTK+ 2/3, Qt3 (TDE), Qt4 – всё нормально, в Qt5 – беда и погибель.

Корень проблемы в том, что в xorg.conf мышь задана принудительно и явно:

Section "ServerLayout"
        Identifier     "Default Layout"
        InputDevice    "Logitech USB Laser Mouse (Manual)" "CorePointer"
EndSection

Section "InputDevice"
        Identifier  "Logitech USB Laser Mouse (Manual)"
        Driver      "evdev"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/by-id/usb-Logitech_USB_Laser_Mouse-event-mouse"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Как следствие, одна мышь присутствует физически и несколько штук – виртуально:

$ xinput --list 
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Laser Mouse (Manual)         id=6    [slave  pointer  (2)]
⎜   ↳ Logitech USB Laser Mouse                  id=13   [slave  pointer  (2)]

Здесь id=6 – это мышь, принудительно заданная мной, а id=13 – та же самая мышь, автоматически увиденная X-сервером.

Соответственно, как только я выполняю xinput --disable 13, всё становится на свои места, но хочется иметь менее «костыльный» способ обхода проблемы.

★★★★

Ответ на: комментарий от RazrFalcon

А xorg.conf вы создаете затем, что бы... ?

Странный вопрос. Например, затем, чтобы сконфигурировать конкретную клавиатуру конкретным образом. Потому что, например, на разных клавиатурах набор клавиш тупо разный.

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

Мало ли. Может просто так.

Как альтернативный костыль, можно мышку через .Xmodmap/.xbindkeysrc попробовать настроить. У меня через них и клава и мышка настроены и всё нормально работает (KDE + Logitech клава и мышка).

RazrFalcon ★★★★★ ()

Используйте драйвера mouse+kbd лля мыши и клавиатуры соответственно, вместо нынешнего libinput или evdev как у вас.

Нужно только добавить

Section "ServerFlags"
    Option "AutoAddDevices" "False"
EndSection

они зачем-то сломали ввод для нормальных драйверов без этой опции.

linuxnewbie ()

О, у меня похожая проблема: не работают боковые кнопки «назад/вперед», которые в VLC осуществляют 10-секундную прокрутку видео.

Но у меня такой выхлоп:

xinput --list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech USB Laser Mouse                	id=8	[slave  pointer  (2)]

Система Debian 9 и 10. Раньше в восьмерке все работало. Все вроде перерыл в инете, не могу найти решение.

Gonzo ★★★★★ ()