LINUX.ORG.RU

Мышь A4Tech определяется как геймпад

 , , ,


0

1

Приветствую! Проблема, как я понял, известная. Имеется мышь A4Tech X7, в системе (в частности в Steam Big Picture) определяется как геймпад. Всё, что нашёл в гугле - не помогло. Данное решение тоже. Как убрать этот виртуальный геймпад, чтобы работала только мышь и РЕАЛЬНЫЙ геймпад? Вывод xinput:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ A4TECH USB Device                         id=8    [slave  pointer  (2)]
⎜   ↳ A4TECH USB Device                         id=9    [slave  pointer  (2)]
⎜   ↳ SIGMACHIP USB Keyboard                    id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ SIGMACHIP USB Keyboard                    id=10   [slave  keyboard (3)]
    ↳ UVC Camera (046d:0817)                    id=12   [slave  keyboard (3)]
cat /proc/bus/input/devices
I: Bus=0003 Vendor=09da Product=9033 Version=0111
N: Name="A4TECH USB Device"
P: Phys=usb-0000:00:1a.0-1.3/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:09DA:9033.0002/input/input2
U: Uniq=
H: Handlers=sysrq kbd event0 js0 
B: PROP=0
B: EV=12001f
B: KEY=3007f 0 0 4c3ffff17aff32d bf54445600000000 c00000000000001 130c130b17c007 ffa67bfad951dfff febeffdfffefffff fffffffffffffffe
B: REL=40
B: ABS=ffffff01000701ff
B: MSC=10
B: LED=1f

I: Bus=0003 Vendor=09da Product=9033 Version=0111
N: Name="A4TECH USB Device"
P: Phys=usb-0000:00:1a.0-1.3/input1
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.1/0003:09DA:9033.0003/input/input3
U: Uniq=
H: Handlers=mouse0 event1 
B: PROP=0
B: EV=17
B: KEY=ffff0000 0 0 0 0
B: REL=143
B: MSC=10

Проблема-то в чём? Не должна определяться? Должна определяться не как гейпад? Есть ещё один гейпад и мышь мешает?

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

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

Да, дело в том, что из-за того что мышь определяется как геймпад, не работает реальный геймпад. И при этом эффект, словно зажата кнопка «Вверх».

Sunderland93 ★★★★★ ()

Вопрос знатокам архитектуры ядра - А чем вызвано такое поведение ядра? Насколько я помню написание драйверов для usb устройств, селекция идет по vid:pid.

panzerito ()
Ответ на: комментарий от Sunderland93

не работает реальный геймпад

Реальный тоже на /dev/js0 /dev/event0?

panzerito ()
Ответ на: комментарий от Sunderland93

Не там проблему ищешь, надо спрашивать почему не определяется второй геймпад, а с х7 все в порядке, она и должна прикидываться тремя устройствами ввода
А вот нормальных дровишек и флэшера для х7 хочется, может кто подкинет?

anonymous ()
Ответ на: комментарий от Sunderland93

Какого тогда они друг на друга влияют? Это уже слишком наглый баг.

У тебя есть все шансы сделать патч месяца для linux.

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

Это в играх бага, они мимо стимапи геймпад дергают, часть исправили, часть так и плющит
В стиме нормально живут и геймпад китайский и х7

anonymous ()
Ответ на: комментарий от panzerito

Я не знаю почему так, но при заходе в Steam Bigpicture у меня появляется эффект зажатой кнопки «Вверх», при чём не сразу,а спустя 10-15 секунд, а в настройках геймпада отображается этот A4tech'овский геймпад. При этом настоящий геймпад не отображается, хотя подключён. Кстати, я немного наврал что он не работает. У него не работают кнопки направления. Только действие и отмена. Вроде я нашёл решение - снёс event0 и проблема исчезла. Но при перезагрузке всё будет по новой. Вот думаю, правильно ли таким образом проблему решать?

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

Вроде был способ блеклистить usb-интерфейсы. Тебе надо отключить interface устройства, который отвечает за геймпад. В option подобное сделано в кишках драйвера, но это не твой путь.

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

А если правило udev написать, которое при обнаружении этого мышиного геймпада будет сносить event0 и js0?

Sunderland93 ★★★★★ ()

Как убрать этот виртуальный геймпад, чтобы работала только мышь и РЕАЛЬНЫЙ геймпад?

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

Если в /dev/input/by-id/ он отображается нормально, то это можно делать спокойно при запуске или через скриптик. Как джойстик мышка явно не спроста определяется, поди какие-нибудь кнопки на ней перестанут работать. Тогда проще будет отключать этим методом перед запуском проблемных приложений.

Вариант с udev: https://bbs.archlinux.org/viewtopic.php?id=189901

altwazar ()
Последнее исправление: altwazar (всего исправлений: 1)

Всем спасибо! Проблема решена. Использовал udev правило отсюда, только указал свой мышиный ID (9033 вместо 9090 как в примере)

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

Сразу просто не обратил внимание, что ID не совпадает. Вот и страдал))

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

Спасибо!

Спасибо тебе, добрый человек, за ссылку!

Теперь нормально работает «GTA: Vice City» (через PlayOnLinux) и с «Lego. Marvel Super Heroes» стало меньше проблем. Для A4-Tech XL-747H в правиле даже менять ничего не надо было.

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

anonymous ()
Ответ на: комментарий от Sunderland93

так напишите тут какое в итоге правило udev вы использовали (в ссылке на другую тему их там два). и еще работают ли у вас все кнопки мышки? у меня X760H и кнопка между правой и левой кнопкой мышки (не колесико) работает как левая, а должна работать как ее настроили, в моем случае как ESC. хотя в винде все работает.

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

Чукча не читатель? Второе блин, ток айдишники проверь и подставь свои

anonymous ()
Ответ на: комментарий от txe

Проверяй настройки, попадались мыхи у которых кнопка тройного тапа не программировалась в самой мыхе, переопределялась драйвером. Хотя нафига такие сложности я так и не понял.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.