Como corrijo o comportamento do controle analógico direito do controlador Nyko Airflo EX no Windows 10?

1

Eu tenho um antigo Nyko Air Flo EX que funciona muito bem. Com a exceção de que o analógico direito se comporta incorretamente. Depois de algumas escavações, descobri o seguinte:

  • Está usando o controlador de jogo compatível com HID
  • IDs de hardware:

    HID\VID_124B&PID_4D01&REV_0101 HID\VID_124B&PID_4D01 HID\VID_124B&UP:0001_U:0004 HID_DEVICE_SYSTEM_GAME HID_DEVICE_UP:0001_U:0004 HID_DEVICE

  • Quando o teste Joy.Cpl está ocioso

  • Pressionar o botão analógico (13) também retorna +1 no eixo Y
  • Mover o stick analógico -1 no eixo X também retorna +1 no eixo Y
  • Na verdade, parece haver uma pequena brincadeira onde ele dispara todos os tipos de valores de eixo. Normalmente, quando viajar em um movimento X-Axis ou no botão stick, pressione para baixo. Botão 13.

Não tenho certeza se está relacionado:

  • O joystick parece estar usando os eixos 2 e 5 em vez de 2 e 3

Coisas que eu tentei:

  • Tentativa de Joy.Cpl Calibration [não funcionou]
  • Tentativa de procurar driver / suporte no site da Nyko [Nothing there]
  • Suporte a Nyko enviado por e-mail [Resposta inútil] basicamente apenas disse que o produto foi descontinuado
  • Eu segui algumas instruções que diziam para adicionar regkeys para Axes \ 2 Attributes = 00 00 00 01 00 35 00 e Axes \ 5 Attributes = 00 00 00 01 00 32 00 [Não pareceu mudar muito]
  • Continuei a ler mais algumas documentações sobre a entrada direta e a substituição dos Eixos do Registro no site da Microsoft aqui E usb.org docs. Talvez eu não tenha entendido corretamente, mas não parece modificar o comportamento. Não tenho certeza se isso tem menos efeito se o dispositivo estiver sendo escolhido pelo Xinput.

Coisas que não estou procurando:

  • Mapeamento para as teclas do teclado
  • Instalando aplicativos de middleware para contornar o problema

Agradeço antecipadamente por qualquer ajuda.

    
por Santiago 31.03.2018 / 20:04

1 resposta

0

Eu tinha outro do mesmo controlador que não usava há algum tempo. Eu decidi ligá-lo em uma porta diferente ao mesmo tempo. Testei a calibração no html5gamepad e tive o comportamento correto.

Comecei a comparar as diferenças de registro entre os dois controladores. Então eu vim em frente

[HKEY_USERS\S-1-5-21-2677610290-3994198311-1182961626-1001\System\CurrentControlSet\Control\MediaResources\Joystick\DINPUT.DLL\JoystickSettings\VID_124B&PID_4D01]
"Joystick1Configuration"=hex:03,00,08,10,0d,00,00,00,0f,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,00,00,00,ff,\
  00,00,00,ff,00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,80,00,00,00,80,00,\
  00,00,80,00,00,00,80,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,0d,00,00,00,00,00,00,00
"Joystick2Configuration"=hex:03,00,08,10,0d,00,00,00,0f,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,00,00,00,ff,\
  00,00,00,ff,00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,80,00,00,00,80,00,\
  00,00,80,00,00,00,80,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,0e,00,00,00,00,00,00,00

Joistic1Configuration sendo o problema. Quando comparei os valores hexadecimais, notei 0e no Joystick2Configuration. No Joystick1Config, o valor em seu lugar é 0d, que é compartilhado pelo quinto valor hexadecimal.

Eu desconectei do controlador, configurei o último valor hexadecimal de 0d para 0e no Joystick1. E fez a mesma alteração em .. \ DINPUT.DLL \ CurrentJoystickSettings

Quando liguei o joystick de volta, não vi nenhuma melhora. Então desliguei os dois joysticks e troquei seus locais de porta. Conectando o joystick anterior 2 onde o joystick 1 estava conectado e vice-versa. Ambos os controladores agora funcionam.

Gostaria de saber se alguma vez tentei trocar de porta apenas com o Joystick anterior, e se isso poderia tê-lo corrigido. Em vez de eu perder horas da minha vida teimosamente resolvendo isso.

    
por 01.04.2018 / 04:17