Comprei um controle de jogo Onn no Walmart. Ele tem dois manípulos e muitos botões; o controle padrão do Xbox. (Infelizmente, não tenho um número de modelo exato.) Ele é anunciado como funcionando com PCs e Nintendo Switches. Ele se conecta com um cabo USB de 10 pés de comprimento; não tem nenhum modo sem fio.
Ele costumava funcionar bem sem problemas em versões anteriores do Linux Mint, mas quando atualizei para 22.1, surgiu um problema. Quando eu o conecto, o motor de vibração liga e não para até que eu o desconecte. Todos os controles funcionam perfeitamente, mas estranhamente, ele não aparece em jstest-gtk
.
Uma olhada lsusb
revela a diferença:
[Version 21.2]
Bus 003 Device 003: ID 045e:028e Microsoft Corp. Xbox360 Controller
[Version 22.1]
Bus 001 Device 004: ID 057e:2009 Nintendo Co., Ltd Switch Pro Controller
Versões anteriores do Linux Mint o viam como um controle do Xbox360, e a nova versão o vê como um controle do Switch Pro. O driver do controle do Xbox 360 funciona, mas o driver do controle do Switch Pro deve ter um bug em algum lugar, eu acho. ( É um controle de outra marca, então faz sentido que não funcione tão bem.) Mas é aí que eu fico preso. Como faço para reconhecê-lo como um controle do Xbox 360 e não um controle do Switch?
Tentei remover o hid-nintendo
módulo do kernel com modprobe -r hid-nintendo
, mas não funcionou. O módulo simplesmente volta como um zumbi quando eu conecto o controlador novamente.
Também tentei instalar o xboxdrv
, mas isso não mudou nada.
Então o que devo fazer? Existe alguma maneira de consertar isso? Como eu disse, o controle funciona muito bem, exceto que o motor de vibração está constantemente ligado. Talvez eu deva relatar isso como um bug?
Eu consertei meu próprio problema! Você pode colocar módulos do kernel na lista negra adicionando um arquivo em
/etc/modprobe.d/
, assim:Adicione a seguinte linha:
Salve o arquivo, reinicie e pronto. O sistema volta a usar o driver do xBox.
NOTA: Às vezes, o módulo é chamado hid_nintendo, com um sublinhado. Nesse caso, o arquivo de lista negra seria chamado
blacklist-hid_nintendo.conf
, e o arquivo conteria a linhablacklist hid_nintendo
em vez disso.