Quando ofereço suporte para gamepad, a solução mais simples parece ser assumir os controladores XBox e usar uma biblioteca que mapeia os gamepads mais frequentes para um layout semelhante.
Agora, se eu quiser minimizar as reclamações dos clientes, posso usar todos os botões (de maneira sensata) ou há alguns que devo evitar porque estão ausentes em alguns controladores comuns?
A pergunta é principalmente sobre PCs (Linux / Windows / Mac), mas a resposta muda se considerarmos gamepads para dispositivos móveis?
A única coisa que sei é que não podemos usar nenhum esquema de entrada que exija que o usuário pressione LT e RT ao mesmo tempo, mas essa limitação afeta os controladores XBox também.
Respostas:
O padrão que você encontrará na maioria das plataformas é:
Você encontra isso pelo menos em:
Estas são algumas exceções mais limitadas que você pode ou não considerar relevantes para apoiar:
Lembre-se também de que nem todos os jogadores de PC possuem um gamepad . Os controles padrão para um PC ainda são teclado e mouse. Portanto, você pode esperar perder um segmento de mercado considerável se não fornecer suporte adequado para essa configuração.
fonte
Tl; dr: Existem cerca de 4 categorias. Se você deseja suportar muitos gamepads, basta segmentar o layout do XBox. Se você deseja suportar todos os gamepads, verifique se o seu jogo pode ser controlado com o layout SNES (que é um subconjunto do XBox) e permita que o usuário remapeie os controles, além de permitir que ele mapeie quaisquer botões e eixos adicionais que o gamepad possa ter. É claro que isso exige que você use uma das muitas bibliotecas que mapeiam corretamente uma tonelada de gamepads com base em seu layout.
Compatível com XBox - 2 botões de ombro e 2 gatilhos. D-pad (direção), 2 botões de dedo que podem ser clicados. Frente: 4 botões em forma de diamante, "volta" e "início". Se você os suporta, você suporta a maioria dos gamepads por aí.
Atenção:
Compatível com SNES - 2 botões de ombro. D-Pad (direção), 4 botões em forma de diamante, "selecione" e "iniciar". Se você os suporta, você suporta praticamente todos os gamepads existentes.
Atenção:
XBox estendido - Eles podem fazer tudo o que o controlador XBox faz e um pouco mais. Eles são principalmente irrelevantes para esta pergunta, exceto pelo fato de ser bom permitir que os jogadores usem esses botões e touchpads extras. Portanto, é melhor permitir que os jogadores vinculem botões extras a funções úteis do jogo. E nunca interrompa a entrada do gamepad apenas porque o touchpad de um gamepad é acidentalmente tocado.
SNES estendido Alguns controladores ficam entre o SNES e o XBox, oferecendo apenas algumas funcionalidades extras. Eles podem ter arranjos de botões bastante incomuns, portanto, é importante permitir que os usuários personalizem o esquema de entrada. O mesmo conselho se aplica ao XBox estendido acima. Há também um subconjunto significativo desses controladores que são essencialmente compatíveis com SNES mais 2 thumbsticks, respectivamente. Compatível com XBox menos os dois gatilhos.
NES - Não está mais em uso. Diga ao cliente para comprar um gamepad mais recente.
fonte