Depende do que quer fazer... Lá vai um "TCC".
Basicamente o que estes softwares de "programação de joystick" fazem é com que os botões dos joystick pressionem teclas no teclado para estas executar comandos nos jogos...
O que em si é uma bobagem, para que
apertar o gatilho para este apertar a barra de espaço para esta disparar as metralhadoras, se o próprio botão do gatilho do joy pode ser definido nos controles dos jogos para a função?
De certa o uso destes softwares são "legacy" da "Idade Média" (1990's) dos "simuladores" quando a gameporte suportada pelo DOS/Windows só reconhecia 4 botões, então usaram sofwares para fazer com que joysticks com mais de 4 botões (CH, Suncom, Thrustmaster...) emulassem teclado e assim pudessem ter mais botões. Além disso certo jogos antigos como Mig Alley nem tinham opção de remapear comandos.
Porém como os ditos "simuladores" não passam de jogos e jogadores querem
"levar toda a vantagem" 
possível, algumas:
- Em jogos com opção de comandos pode (ex. BoS e a idiota
"less keys is better do Loft") o software permite que voce crie um perfil de botões específico para o Bf 109, outro para o IL-2, outro para He-111... já que cada um tem alguns controles específicos. No DCSW, CloD, RoF... vode pode salvar o comados por avião (perfil) diretamente nas opções de controles dos jogos.
- Permite "trapacear" com certos comandos, exemplo o "Bail-out" do CloD ou "Eject" do DCSW/Falcon 4.0 que requerem uma sequencia de comandos, através do sofware podem ser resumidos num botão.
- "Trapacear" no controle dos aviões, um Bf 109 só tem trim no profundor, mas através de curvas de resposta nos sofwares pode-se criar trim virtual para leme e ailerom.
- Fazer várias coisas com um botão só, ex. aperta o botão: visão externa, aperta de novo: fly-by, aperta mais uma vez: visão interna.
- Fazer com que um botão pressionado rapidamente, ex. <100ms execute um comando, mas se pressionado por mais de >150ms execute outro comando.
- Criar "shift" num botão, o que permite modificar a função de outros botões enquanto o "shift" estiver pressionado. O DCSW/CloD permite fazer isso direto nos controles, e os joysticks VKB e o MMjoy2 permitem definir o botão "shift" no firmware.
- Ou "modos", por ex. no modo 1 (para uso em terra) o gatilho pode ser usado para freios, no modo 2 (combate) dispara armas...
O inconveniente é que estes sofwares precisam rodar junto do com o jogo, usando recursos (ciclos da CPU e espaço na memória), eventualmente podem causar um BSD, alguns requerem serem iniciados antes do jogo...
Os softwares mais avançados, como o CH Manager ou TARGET permitem serem programados via código, com funções mais elaboradas. Ex. no TARGET.
Code: Select all
define STARTER-1_ON_OFF CHAIN(PULSE+L_SHIFT+USB[0x08], D(), PULSE+USB[0x1E])
define STARTER-1_ON_OFF CHAIN(PULSE+L_SHIFT+USB[0x08], D(), PULSE+USB[0x1F])
A tendência atual de alguns "DCS'essers" é não usar softwares e sim os recursos de comandos do próprio jogo e/ou editando arquivos LUA modificando/adicionando comandos.
Os joy's "Next Gen" (VKB/VirPil) não usam estes softwares, mas re-programação do firmware - VKB, VirPil por enquando não tem opção.
Bom, existem softwares de terceiros (free e shareware ~$10) que voce pode usar para "programar" um "button box/switch panel"(1). Alguns:
SVMapper - só programa botões, mas tem o útil "on press" e "on release" para fazer com que chaves de alavanca (toggle switch) possam ser usadas no "less keys is better" do BoS. Permite criar "shift" e "modos".
Joy2Key - Pressionar até 4 teclas com um botão, mas não tem função delay exigida em certas sequencias (e.x. Alt+A+B+C) para certos jogos.
Até 4 sequencias num botão, ou seja apertado uma fez faz uma coisa, apertado de novo outra, etc.
"Tempo" diferenciado se o botão é clicado ou pressionado.
"On press" e "on release", utíl para chaves de alavanca (toggle switches).
"Axis to button" - um eixo pode pressionar um botão se movido de 0 a 50% e outro se movido de 51 a 100%.
Mouse emulação - movimentar o cursor do mouse com eixos, botões ou HAT.
Botão "aliás" - quando apertar um botão físico, este pode apertar um botão "virtual", ou se dois botões físicos forem apertados simultaneamente o botão "virtual" é apertado. Porém este botões virtuais precisam estar dentro do limite de 32 botões do Windows, o que limita o uso num "Button box/Switch panel".
"Shift" e modos - até 16, chamados "joystick" (virtual).
Bom do Joy2key é que pode se iniciado depois do jogo (se este suporta Alt+Tab), pode ser reprogrado "em vôo", usa pouca CPU/memória e faz bastante coisa pelo seu tamanho.
XPadder - Basicamente faz o mesmo que o joy to key mas permite macros mais elaboradas e usando pausa entre uma tecla e outra.
O bom mesmo seria uma mistura do Joy2key com o Xpadder.
Joystick Gremlin - É o mais avançado, com funções semelhantes ao Manager/TARGET, permite "cheater" com eixos. Mas é mais 'pesado', exige instalação de drivers... pode dar xabu como o TARGET as vezes dá.
(1) E vai precisar "programar" este "switch panel" para usar no BoS, pois com excessão dos flaps os comandos idiota
"less keys is better" só aceitam comandos momentânos (como apertar/soltar teclas).
BTW - A grigaiada "moron" é viciada nestes softwares, no ATGAG tem um tópico de um cara que precisava fazer com que um botão do joy (Warthog) pressionasse uma tecla (se não me engando CTRL) para o PTT do TeamSpeak.
Mandaram usar o TARGET (pois segundo um outro cara esse software custa caro), só que o cara custou a "programar", pois o TARGET criou um joy virtual e ele teve que remaperar todo os comandos no jogo, além do inconveniente de ter que reinicar o jogo se esquecer de abrir o TARGET primeiro.
Seto a mesma coisa com o Joy2Key em 1 minuto, sem nenhum "efeito colateral" - isso sem falar que existe plug-in para o TeamSpeak usar o próprio botão do joy uma tecla "no meio".
