Se você não obtiver tráfego USB ao pressionar botões, algo no hardware não está funcionando corretamente.
O hardware está quebrado ou precisa ser inicializado corretamente durante a fase em que ele se anuncia como SHANWAN PS3/PC
, ou possivelmente na encarnação como Microsoft X-Box 360 pad
ele espera comandos de inicialização pelo driver do Windows que o driver do Linux não faz forneça.
O próximo passo seria conectá-lo a um computador com o driver adequado do Windows, ver se funciona lá. Se não, devolva; se sim, cheirar o tráfego USB (existem ferramentas do Windows para isso, google) para descobrir como ele deve ser inicializado.
Editar
Eu ainda não entendi a confusão com os dois dispositivos (e não tive tempo de ver isso em detalhes). No entanto, pode-se ver que, no Windows, ocorre a seguinte troca, antes que os principais eventos sejam enviados:
In: 01 03 02
Out: 01 03 02
In: 02 03 00
Out:
In: 03 03 03
Out:
In: 08 03 00
Out:
No Linux, apenas a primeira linha aparece; nunca há uma resposta. Esta poderia ser a inicialização em falta (ou outra coisa).
Enquanto observo isso, descobri que xpad
é o driver do kernel que traduz os eventos HID para entrada de eventos, não consigo ver a partir do dmesg
extract se ele for carregado. Em doube, verifique com lsmod
. (Eu não consegui encontrar essas sequências durante uma verificação rápida da fonte, no entanto).
Também parece haver uma biblioteca de espaço do usuário, veja por exemplo aqui , que parece funcionar melhor que o driver do kernel, então vale a pena tentar também.