Joy Control

Joy Control – controle preciso para gamepads em simuladores

⬇ JoyControl.rar (15 MB)

⬇ JoyControl-PT.pdf (723 KB)

ENGI Live JoyControl é um programa para Windows que funciona como uma ponte entre o seu controlador e o jogo. Ele lê dados de controles DualShock 4, DualSense, Xbox (XInput), volantes e joysticks (HID/DirectInput), bem como do teclado. O programa processa o sinal e envia para o jogo um gamepad virtual do Xbox 360 através do driver ViGEmBus.

Durante o jogo, o programa é imperceptível. O jogo reconhece um controle padrão, portanto, as configurações funcionam em qualquer simulador. Não são necessários mods, nem suporte do desenvolvedor do jogo, e os arquivos do jogo não são modificados.

O objetivo do programa é simples. O gatilho do controle tem um curso de aproximadamente 2 centímetros, enquanto o pedal do carro tem cerca de 10 centímetros. O joystick se move 1,5 centímetros, e o volante gira meia volta. É por isso que é tão difícil controlar a aceleração e a frenagem no controle: o dedo percorre toda a faixa de 0 a 100% em 50 a 80 milissegundos, e o carro derrapa ou trava as rodas. O Joy Control restaura a relação entre o curso do controle e a resposta do veículo. O programa faz isso não apenas visualmente, mas também em tempo real e com uma resposta precisa.

Como funciona o processamento do sinal:

Cada valor passa por um processo, e o resultado é um controle virtual personalizado:

  • Zona morta. O programa considera como zero todos os valores brutos abaixo do limite, portanto, vibrações e desgaste não são transmitidos ao jogo.
  • Interação entre gatilhos. Um gatilho é subtraído de outro, multiplicado por um fator.
  • Curva de sensibilidade. Ela define a forma da resposta: uma transição suave ou uma resposta abrupta.
  • Limite inferior e limite superior de saída. Tudo o que estiver abaixo de "Mín" será considerado zero, e o valor restante será estendido para toda a faixa disponível; "Máx" limita o valor máximo de saída.
  • Seções de suavização. Elas definem a velocidade de variação em milissegundos por unidade, separadamente para a pressão e para a liberação.
  • Macros e Mapeamento de Ações. Um elemento de controle afeta outro.
  • Controle virtual para o Xbox 360. O resultado final é integrado ao jogo.

A leitura do controle ocorre com uma frequência de aproximadamente 120-125 Hz. Todos os atrasos são calculados por um temporizador de alta precisão com acumulação de tempo, portanto, um intervalo de 0,1 milissegundos por unidade é processado corretamente, mesmo entre os quadros de leitura.

Funcionalidades do programa:

  • Qualquer dispositivo de entrada. O PS4 e o PS5 são detectados automaticamente. O Xbox se conecta via XInput. Volantes e joysticks funcionam com HID e DirectInput, e o teclado substitui o controle. É possível conectar quantos joysticks forem necessários: cada um possui um ID único e suas próprias configurações, portanto, mesmo dois controles idênticos podem ser configurados separadamente.
  • Configuração independente dos gatilhos. O acelerador e o freio são ajustados separadamente, e não por meio de controles deslizantes que afetam ambos simultaneamente.
  • Até 10 segmentos de suavização. Os segmentos são definidos em uma faixa de 0 a 255, separadamente para a pressão e para a liberação, e o atraso em cada um deles varia de 0,1 a 1000 milissegundos por unidade.
  • Curvas de sensibilidade. Para os gatilhos, a curva é ajustável de -20 a +20. Para cada eixo dos controles, a curva é ajustável de -10 a +10.
  • Configuração completa dos controles. É possível ajustar as zonas mortas internas e externas, limitar a faixa de movimento nos eixos X e Y, definir a extensão máxima do movimento e forçar o valor máximo no eixo.
  • Macros. Os modos "Seguir", "Manter", "Pulso", "Alternar", "Turbo", "Desativar" e "Sequência" permitem criar sequências de até 16 passos com temporizações. Cada regra pode ter até quatro condições: botões, gatilhos e analógicos, com intervalos definidos, de modo que uma combinação como "L1 pressionado e L2 pressionado até a metade" pode ser definida por uma única regra. Existem opções de inversão, prioridade, atrasos em microssegundos e métodos de combinação – "Maior", "Substituição" ou "Soma" – incluindo a possibilidade de combinar com outros macros. A função de "acoplamento" permite que o resultado de uma regra inicie outra.
  • Mapeamento de ações. Qualquer entrada pode ser associada a qualquer saída, e é possível definir um limiar de ativação, um tempo de retenção e atrasos antes e depois da ativação.
  • Osciloscópio em tempo real. No gráfico das últimas 3 segundos, o valor bruto proveniente do controlador é exibido em cinza, enquanto o valor que é enviado para o jogo é mostrado em cor. A configuração é visível, eliminando a necessidade de adivinhação.
  • Imagem interativa de um controle de videogame. Clicar em um gatilho, analógico, botão ou touchpad abre uma janela com suas configurações.
  • Perfis. As configurações são armazenadas em um banco de dados SQLite local. Cada perfil possui um código único de 16 dígitos, e a troca de informações com os arquivos ocorre através do formato JSON. É conveniente criar um perfil separado para cada jogo. As configurações de cada joystick são salvas em um arquivo individual, que pode ser carregado em qualquer joystick de qualquer perfil.
  • 14 idiomas disponíveis para a interface. O programa é composto por um único arquivo executável e não requer instalação.
  • Salvamento automático. Qualquer alteração é aplicada e salva imediatamente, permitindo que você faça ajustes sem precisar sair do jogo.

Por que isso é melhor para jogos em simuladores

Os programas comuns para remapear botões apenas alteram a forma de resposta, ou seja, a curva. O Joy Control modifica também a velocidade: o tempo em milissegundos que leva para o sinal chegar ao destino em cada ponto da trajetória. Isso representa um nível de controle fundamentalmente diferente, e é exatamente isso que resolve os problemas típicos de simuladores quando usados com um controle.

  • O carro não entra em derrapagem ao acelerar. O dedo pressionou o gatilho instantaneamente, e a potência aumenta gradualmente, de modo que o carro recebe a força como se você estivesse pressionando o pedal suavemente.
  • A frenagem é ajustada para estar no limite da travagem total. Os primeiros 30% da frenagem são rápidos, com uma resposta instantânea, enquanto os últimos 30% são mais lentos. No ponto de contato máximo, é possível atingir o limite da travagem total das rodas, algo que seria fisicamente impossível de fazer apenas com os dedos.
  • A liberação do gatilho é configurada separadamente da pressão. No caso de um pedal de acelerador ou freio, a liberação não ocorre na mesma velocidade com que a pressão é aplicada. A liberação suave do freio na entrada de uma curva e a redução gradual do acelerador em subidas são ajustadas por configurações independentes.
  • A suavidade do movimento não interfere nas operações de emergência. Certas configurações permitem desativar o atraso nas posições extremas: assim que o gatilho é completamente liberado, o freio é desativado instantaneamente.
  • O volante adquire inércia. Um movimento brusco do controle não resulta em uma rotação imediata das rodas, porque o controle possui áreas de suavização tanto no movimento de desvio quanto no retorno ao centro.
  • A direção se torna mais precisa. A limitação do alcance no eixo X faz com que todo o movimento do controle corresponda a 60–70% do ângulo de virada, e a mesma distância percorrida pelo dedo oferece uma precisão duas vezes maior.
  • Em todos os jogos, tudo funciona da mesma maneira. O processamento ocorre antes do jogo, no nível do controlador virtual, portanto, não são necessárias configurações dentro do próprio jogo, nem modificações (mods).
  • O pé esquerdo permanece no freio. A subtração de um sinal de controle de outro, com um fator de multiplicação, reproduz o comportamento de sistemas onde o acelerador e o freio entram em conflito, ou, alternativamente, permite uma frenagem suave sem liberar completamente o acelerador.

Configuração do acelerador e freio

O gatilho esquerdo L2 / LT é o freio, e o gatilho direito R2 / RT é o acelerador. Cada um é configurado em sua própria janela, e todos os parâmetros são independentes.

ParâmetroO que faz:Como configurar para um simulador
Zona mortaUm valor bruto abaixo do limite é considerado zero.Em um controle novo, a zona morta é definida entre 3 e 8 unidades. Em um gatilho desgastado que apresenta vazamentos no acelerador, ela é aumentada para 10 a 15 unidades.
Mínimo e máximo"Mín" é o limite inferior: abaixo dele, a saída é zero, e o restante da trajetória é distribuído entre 0 e 255. "Máx" limita a saída máxima."Mín" (mínimo) de 5 a 10 elimina o ruído de um gatilho desgastado, sem reduzir o curso. Para um sistema de injeção de água ou um carro traseiro potente, o valor "Máx" (máximo) é definido entre 190 e 210 unidades de um total de 255, o que impede que o acelerador atinja a posição máxima.
Curva de sensibilidadeDefine a forma da resposta em uma faixa de -20 a +20. Um valor negativo proporciona uma partida suave e precisão no início do curso, enquanto um valor positivo proporciona uma resposta rápida e imediata.Para o acelerador, o valor da curva é definido entre -6 e -10, e para o freio, entre -3 e -6. Valores positivos são raramente necessários, por exemplo, para um freio de mão com botão.
Áreas de pressãoPermite definir até 10 segmentos em uma faixa de 0 a 255, e cada segmento tem seu próprio tempo de resposta em milissegundos por unidade. Fora dos segmentos, o valor muda instantaneamente, enquanto nas transições, os tempos de resposta são somados.Como referência, 255 unidades a 1 milissegundo resultam em aproximadamente 0,26 segundos para todo o curso. Para o acelerador, o valor varia de 0,3 a 2 milissegundos por unidade, e para o freio, de 0,5 a 3 milissegundos.
Áreas de descargaDefine um conjunto separado de segmentos para a redução do valor.Normalmente, o tempo de liberação é mais rápido que o tempo de pressão: de 0,5 a 1 milissegundo por unidade. Para uma liberação suave do freio em curvas, o tempo de atraso é aumentado em valores mais altos.
Zero instantâneo e máximo instantâneoDesativa a suavização quando o gatilho está completamente liberado ou pressionado ao máximo.No freio, a função é ativada para frenagem de emergência; no acelerador, geralmente é desativada.
Subtração de gatilhos e fator de multiplicaçãoO freio atenua o acelerador, ou vice-versa, com um coeficiente definido.Um multiplicador de 0,5 a 1,0 simula a frenagem com o pé esquerdo e a técnica de "throttle blipping" (curta aceleração para controlar a tração).

Presets (configurações pré-definidas) para os gatilhos:

PresetPressãoLiberaçãoPara quê
Frenagem suave0–80: 0,5 · 80–180: 1,5 · 180–255: 3,0120–255: 1,0 · 0–120: 0,5Corridas em circuito e controle da tração no limite da bloqueagem.
Gás naturalizado0–60: 0,3 · 60–200: 1,0 · 200–255: 2,00–255: 0,8Tração traseira e saída de curva sem perda de aderência.
Como o ABS0–128: 0,2 · 128–255: 2,5instantaneamenteInício rápido da frenagem e pressão gradual.
Como vai0–128: 2,5 · 128–255: 0,2instantaneamenteEntrega lenta de potência na partida e faixa superior livre.

Os números na tabela representam o atraso em milissegundos para cada unidade de saída. A configuração padrão serve como ponto de partida: a partir daí, as configurações são ajustadas para cada veículo específico e observadas em um osciloscópio, onde a linha cinza representa a entrada e a linha colorida representa o que o jogo recebe.

Configuração dos controles analógicos

No caso de simuladores de corrida, o controle analógico esquerdo funciona como o volante, enquanto o direito controla a visão ou a câmera. Para cada controle analógico, é possível ajustar a geometria (áreas mortas), a faixa de movimento e a curva, bem como a suavidade em diferentes seções, de forma independente para os eixos X e Y.

ParâmetroO que faz:Como configurar para um simulador
Zona morta internaElimina o desvio no centro.De 3 a 6% em um controle analógico novo e de 8 a 12% em um controle analógico desgastado. Quanto menor o valor, mais precisamente o carro mantém a trajetória.
Zona morta externaCorta a extremidade, portanto, o valor máximo é atingido um pouco antes do ponto de referência.De 92 a 97%, para que a rotação completa funcione em toda a circunferência, incluindo as diagonais.
Interval máximo nos eixosLimita o ângulo de saída nos eixos X ou Y.Este é o principal ajuste para a direção: de 60 a 75% no eixo X. O volante para de girar completamente, e a precisão aumenta significativamente.
Alongamento até a amplitude máximaApós o corte das bordas, o sinal é esticado novamente até o máximo.Ativam-se quando é necessário um curso completo com uma grande área morta externa.
Sensibilidade nos eixosDefine uma curva de -10 a +10. Um valor negativo estica o centro e torna a resposta mais suave, enquanto um valor positivo torna a reação mais rápida.Para a direção, o nível da curva no eixo X deve estar entre -4 e -7. Para a visualização com o joystick direito, use valores entre +2 e +4, para permitir uma rotação rápida da câmera.
Áreas de desvioDefine uma saída suave do centro. A amplitude de 0 a 255 representa o curso completo a partir do centro, e cada segmento possui suas próprias flags para os eixos X e Y.Para a direção, uma sequência de atrasos adequada é de 0-60: 0,4 milissegundos para 60, 1,2 milissegundos para 160, e 2,5 milissegundos para 255, por unidade. O joystick responde rapidamente perto do centro, mas com dificuldade nas extremidades.
Áreas de devoluçãoPermite um retorno suave ao centro.De 0,5 a 0,8 milissegundos por unidade em todo o curso, simulando o auto-retorno dos controles. Para a câmera, o retorno é mais rápido que o desvio.
Máximo constante no eixoEm qualquer desvio no eixo, a saída atinge o máximo dentro da faixa disponível.Ideal para direção arcade e jogos que exigem controle digital.
Desconexão total do controleO analógico não é transmitido para o jogo, mas suas macros continuam funcionando.É útil quando o volante controla o movimento, e o analógico é usado apenas como fonte de macros.

Os eixos X e Y podem ser configurados juntos ou separadamente: cada eixo possui as opções "X" e "Y", e as áreas sobrepostas somam os atrasos. Um osciloscópio com uma escala de -255 a +255 está disponível ao lado das configurações. Mova o analógico e observe o quanto a saída está atrasada em relação ao seu movimento.

Requisitos para funcionamento:

  • Windows 10 ou 11, versão x64.
  • Driver ViGEmBus 1.22.0. O programa verifica se o driver está instalado e oferece uma instalação com um único clique, caso não esteja.
  • Controlador conectado por cabo, através de um adaptador ou via Bluetooth.

O programa é executado em modo de teste por 20 minutos por sessão. A funcionalidade completa é liberada através de uma licença permanente engi.live.

Manual com ilustrações: instruções sobre onde clicar

Abaixo, uma descrição detalhada de todas as janelas do programa, com capturas de tela. Este manual também pode ser baixado em PDF – o botão está localizado na parte superior da página.

1. Drivers: ViGEmBus e HidHide

  • ViGEmBus é um driver para um gamepad virtual. Sem ele, o programa não conseguirá criar um controle do tipo Xbox. Na barra de status na parte inferior da janela, deve aparecer "Driver ViGEmBus: OK"; caso contrário, um botão de instalação aparecerá no mesmo local.
  • HidHide não é obrigatório. É necessário apenas se o jogo detectar simultaneamente um controle físico e um controle virtual, o que pode causar a duplicação do personagem. Para mais detalhes, consulte a seção 15.
Jogos que funcionam através do XInput (a maioria dos jogos modernos) não detectam o controle DualShock físico – apenas o controle virtual do JoyControl. Para eles, o HidHide não é necessário.

2. Tela Principal

Na janela principal: na parte superior, o perfil e os botões gerais; à esquerda, os joysticks; à direita, a imagem do controle.
  • Barra superior — seleção de perfil, Perfis…, salvar e carregar um perfil completo, Mapeamento de ações, Restaurar padrão, idioma da interface.
  • À esquerda, os dispositivos de entrada. Todos os joysticks do perfil, seus IDs, as opções de seleção e as operações em grupo.
  • À direita, temos uma imagem. Ela mostra, em tempo real, quais informações o jogo está recebendo do controle selecionado. É possível clicar na imagem para acessar as configurações de cada elemento: gatilho, analógico ou botão.
  • Abaixo da imagem, estão os macros do joystick selecionado: cada ícone representa uma regra, e um clique revela a sua origem.
A barra divisória entre a parte esquerda e a direita pode ser movida com o mouse. O tamanho da janela e a posição da barra divisória são salvos quando você solta o botão do mouse.

3. Vários joysticks e seus IDs

O programa suporta qualquer número de joysticks. Cada um recebe um ID único: para os controles Bluetooth, este é o seu endereço MAC, o que significa que dois controles DualShock idênticos serão identificados de forma diferente. Através do ID, o programa encontra automaticamente as configurações do joystick ao ser conectado, mesmo que seja conectado a uma porta USB diferente.

Lista de dispositivos: ▶ – o joystick que está sendo configurado no momento.
Elemento da linhaO que faz:
×Remove o joystick do perfil, juntamente com suas configurações.
Primeira caixa de seleçãoFunciona assim: Um controle virtual do Xbox é criado para o joystick.
Segunda caixa de seleçãoSelecionado: Participa em operações em grupo.
NomeClique: configura este joystick. Clique duplo: renomeia.
IDClique: copia o ID para a área de transferência.
Onde clicar: Clique no ID do joystick. Em vez do ID, aparecerá brevemente um ícone verde "copiar". O ID completo já estará no seu clipboard (área de transferência).
Confirmação da cópia do ID.
Importante. Todas as opções de configuração afetam o joystick (▶) selecionado. Se ele estiver desativado, a linha "Configurando" ficará laranja com um aviso "este joystick não está conectado" – as alterações não afetarão o joystick que você está usando. Clique no nome do joystick conectado.

Operações em grupo

  • Aplicar aos selecionados — Copia todas as configurações do joystick selecionado (▶) para os joysticks que estão marcados como "selecionados".
  • Selecionar tudo / Desmarcar tudo — Permite marcar ou desmarcar rapidamente todas as opções.
  • Joystick → arquivo — Salvar as configurações de um joystick em um arquivo separado com a extensão .joy.json.
  • Arquivo → joystick — Carrega as configurações de um arquivo, aplicando-as apenas ao joystick selecionado. Se outros joysticks estiverem selecionados, o programa perguntará se deseja aplicar as configurações a todos os joysticks selecionados. Também é possível usar um arquivo de perfil padrão: se o arquivo contiver configurações para vários joysticks, o programa oferecerá a opção de escolher quais configurações serão aplicadas.
O Windows limita o número de controles XInput que um jogo pode utilizar a um máximo de quatro. O programa suporta um número maior, mas o jogo só reconhecerá os primeiros quatro.

4. Perfis e arquivos

Um perfil é um conjunto completo: todos os joysticks e as configurações de cada um. Pode haver quantos perfis forem necessários, por exemplo, para diferentes jogos.

Onde clicar: No menu superior, clique em "Perfis…".
Janela de perfis: para cada perfil, é possível ver o número de joysticks, e abaixo, os joysticks selecionados no perfil, com seus IDs.
  • Ativar, Novo, Duplicar, Renomear, Excluir — operações com perfis.
  • Salvar em arquivo… / Carregar de arquivo… — perfil completo.
  • O bloco "Configurações de um joystick" permite salvar ou carregar um arquivo específico de um joystick em qualquer perfil, mesmo que esteja inativo, e remover do perfil.
  • ● - o joystick possui suas próprias configurações; ○ - ele ainda não foi configurado e utiliza as configurações gerais do perfil.
Cada joystick armazena seu próprio arquivo: ao salvar novamente, o programa oferecerá a opção de sobrescrever o mesmo arquivo.

5. Gatilhos L2 / R2

Onde clicar: clique nos botões L2/LT ou R2/RT na imagem que aparece.
Configurações do gatilho direito. Todas as alterações são aplicadas e salvas imediatamente.
ConfiguraçãoComo funciona
MínLimite inferior: tudo abaixo desse valor é considerado zero, e o restante do curso é distribuído em toda a faixa de 0 a 255. Exemplo: um valor mínimo de 10 elimina o ruído, mas o gatilho ainda oferece a máxima potência.
MáxLimite superior: o jogo nunca receberá um valor maior do que este.
Zona mortaUm valor bruto abaixo do limite inferior é convertido em 0, sem ser esticado.
Curva-20: partida suave, controle preciso no início do curso; +20: resposta rápida.
Instantaneamente, para 0 / para o máximoO gatilho, quando totalmente pressionado ou liberado, é ativado sem atrasos.
Subtrair L2 de R2Para as corridas: o freio diminui a potência, o multiplicador define a força. Existe também a opção inversa.
Pressionar / SoltarSeções de suavização: em uma parte selecionada do curso, o valor aumenta ou diminui não instantaneamente, mas com um atraso de milissegundos por unidade. É possível criar até 10 seções, e as áreas de sobreposição são combinadas.
Como adicionar segmentos: + Segmento — adiciona um único segmento; Dividir 0–255 em N — cria imediatamente N segmentos de igual tamanho. O gráfico interativo na parte superior mostra como a saída está defasada em relação ao gatilho.

6. Sticks e deriva

Onde clicar: Clique na haste esquerda ou direita na imagem.
Configurações do analógico esquerdo: à esquerda, as zonas mortas e a faixa de valores; à direita, as seções de suavização e um gráfico visual.
  • Ativar mapeamento personalizado / zonas mortas personalizadas — caixa de seleção principal. Sem essa opção marcada, os valores das zonas mortas não serão aplicados.
  • Zona morta interna – elimina o desvio do controle no centro. Geralmente, varia entre 8% e 15%.
  • Zona morta externa – é a extremidade do curso onde a haste é considerada totalmente inserida.
  • Máximo alcance em X / Y, Estender, Sempre máximo — limita ou amplia o movimento em cada eixo.
  • Sensibilidade X/Y – curva de resposta.
  • DESVIO / RETORNO — Seções de suavização, semelhantes às encontradas em triggers; em cada seção, as caixas de seleção X e Y indicam em quais eixos ela se aplica.
Se o joystick estiver se movendo livremente e um macro estiver configurado nele, o movimento fará com que o macro seja ativado. Ative o remapeamento com a zona morta interna – quando o joystick estiver parado, ele emitirá um valor de zero.

7. Macros: o básico

Um macro é uma regra que define: "Se um elemento estiver no estado 'fonte', então execute a 'ação' em outro elemento." A fonte pode ser:

  • Seção de ativação ou gatilho: o macro é executado enquanto o valor estiver dentro do seu intervalo.
  • Botão — A macro é executada enquanto o botão está pressionado (seção 11).

Macro para a área de contato ou para o gatilho

  1. Abra a janela do "stick" ou do gatilho e crie uma área.
  2. Clique no número do lote1 +.
  3. Uma imagem aparecerá mostrando o alvo. Clique no alvo: no botão, no gatilho ou na alavanca. Em seguida, selecione a direção desejada na alavanca.
Seleção do objetivo do macro.
Abaixo da célula, apareceu uma linha de macros: "Ativada ✓", "Objetivo", "Modo", "Intervalo de saída", "Prioridade P", "⚙ - Todos os parâmetros", "× - Remover".

Todos os parâmetros da regra

Onde clicar: No botão localizado na barra de comandos da macro.
Janela "Opções da macro".
ParâmetroSignificado
ObjetivoA qual elemento a macroação se aplica?
ModoO que acontece exatamente com o alvo – seção 8.
Direção do sinal analógicoPara a fonte (stick): qualquer direção, apenas para cima/direita ou apenas para baixo/esquerda.
Saída de / paraQuais são os valores associados ao objetivo. Reverso — a fonte aumenta, o objetivo diminui.
Combinar com o sinal físicoO maior; Substituir fisicamente; Somar — adicionar ao valor que você está pressionando fisicamente, e a outros macros, com a mesma prioridade e no mesmo modo "Somar".
PrioridadeSe vários macros afetam o mesmo alvo, o macro com maior prioridade prevalece. Em caso de empate, o macro "Desativar" tem a maior prioridade.
AtrasosTempo de ativação e desativação em microssegundos: 10.000 = 10 ms. O tempo de ativação é o período durante o qual a fonte deve permanecer dentro da faixa especificada.

8. Modos de macro

ModoO que faz:Exemplo
SeguirO alvo replica a fonte: sua faixa é convertida na faixa de saída do alvo. Apenas para fontes do tipo "stick" ou trigger.O "stick" pressiona suavemente o acelerador para frente.
ManterEnquanto a fonte estiver ativa, o alvo é pressionado com o valor "Tempo de saída".O botão L1 mantém o botão L2 pressionado.
PulsoAo entrar na área, o alvo é pressionado uma vez em um tempo determinado.Uma pressão rápida no botão A ocorre quando o joystick é movido bruscamente.
AlternarCada ativação liga ou desliga o alvo.Uma pressão ativa a ação de agachar, outra pressão a desativa, fazendo o personagem levantar.
TurboEnquanto a fonte estiver ativa, o alvo é pressionado e liberado em um período definido.Disparo automático.
DesativarO alvo está bloqueado, mesmo que seja pressionado fisicamente. Funciona para todo o joystick.Desative o joystick enquanto o botão L2 estiver pressionado.
SequênciaSequência de passos: elemento, valor, tempo de duração, pausa – seção 10.Ataque combinado com um único botão.

9. Combinações: condições

As condições respondem à pergunta: "o que fazer se dois ou mais elementos forem selecionados". A macro só será executada se todas as condições forem atendidas. Uma condição pode ser:

  • botão — ele está pressionado;
  • gatilho ou joystick — seu valor está dentro de uma faixa, por exemplo, "o gatilho L2 foi pressionado mais da metade: 128–255";
  • Qualquer um deles com a marca de seleção invertida indica que o botão não foi pressionado ou que o valor está fora da faixa permitida.

Uma regra: até quatro condições.

Onde clicar: ⚙ no macro → bloco CONDIÇÕES+ Adicionar condição → clicar no elemento na imagem. Para os analógicos, defina um intervalo.
A macro funciona apenas enquanto o botão L1 e o botão L2 estão pressionados, sendo que o botão L2 deve estar pressionado por mais da metade de sua distância total.
Combinação de dois botões "L1 + R1 → ação": abra as configurações de macro do botão R1 (seção 11), adicione uma macro com o objetivo e a condição L1 desejados. Para três botões, adicione mais uma condição.

10. Sequências

Uma ativação corresponde a uma sequência de ações executadas em um determinado período de tempo. Cada etapa inclui: um elemento, um valor (para um botão, qualquer valor maior que zero indica que está pressionado), a duração e a pausa após a ação. É possível definir até 16 etapas. A opção "em loop" faz com que a sequência se repita enquanto a fonte e as condições permanecerem ativas.

Onde clicar: ⚙ no macro → Modo: Sequência+ Adicionar etapa → clique no elemento na imagem. As setas ↑ ↓ alteram a ordem, e o "×" remove a etapa.
Modo "Sequência": os campos gerais de entrada e saída estão ocultos, cada etapa tem seus próprios campos. As condições continuam funcionando.
Três etapas: × → □ → △, cada uma com duração de 60 ms e uma pausa de 60 ms.

11. Macros de botões

Onde clicar: Clique no botão correspondente na imagem do controle (×, ○, □, △, L1, R1, direcional, Share, Options, PS, touchpad).
Botão × / A: enquanto pressionado, o botão L2 é mantido pressionado por até 255 vezes.
  • + Macro (selecionar no painel de controle) — Adicionar uma regra e escolher o objetivo.
  • Desativar completamente o botão — o botão não é atribuído a nenhuma função no jogo, mas seus macros continuam a funcionar. Dessa forma, é possível reatribuir completamente o botão.
  • Todos os modos, condições e sequências funcionam da mesma forma que nos analógicos e gatilhos.

12. Todos os macros e vinculação

Onde clicar: Configurar, localizado abaixo da imagem.
Todas as macros do controle selecionado estão em uma única tabela.
  • Ativação, prioridade, ⚙ e × estão diretamente na tabela. Clicar na fonte abre sua janela.
  • Em vermelho, são destacados os conflitos: duas macros direcionadas ao mesmo alvo com a mesma prioridade, quando não está claro quem vencerá.
  • Excluir todas as macros — comece do zero.
  • Encadear macros — o resultado de uma regra se torna a fonte para outra. Por exemplo, "× → L2" e "L2 no intervalo → R1" funcionarão em sequência a partir de um único pressionamento de ×. Por padrão, está desativado: assim, os perfis pré-definidos funcionam como antes. A profundidade é limitada a três iterações, e não é possível criar loops.

As macros são exibidas como na imagem

  • As linhas verdes indicam o caminho do ponto de partida ao destino. A sequência de linhas mostra a progressão para cada elemento, e as legendas #1, #2, #3 representam os números das etapas.
  • Barras abaixo do elemento – escala de 0 a 255: a barra verde, próxima à fonte, indica a faixa de ativação, enquanto a barra laranja, próxima ao alvo, indica a faixa de saída.
  • Ponto verde – Este elemento contém macros.

13. Mapeamento de ações

Remapeamento simples de "entrada → saída" com limiar de ativação, retenção e temporizações – aplicável a todo o perfil.

Onde clicar: No painel superior, clique em Mapeamento de açõesAdicionar.
Elemento de entrada, elemento de saída e modo: mantido continuamente, por tempo determinado ou com atraso após a liberação.
Para a maioria das tarefas, as macros (seções 7 a 12) são mais convenientes: elas oferecem mais modos, condições, sequências e representações visuais claras.

14. Receitas prontas

Eliminar o desvio do joystick

Stick → Ativar remapeamento / zonas mortas personalizadas → Zona morta interna de 10–12%. Verifique no gráfico em tempo real: quando inativo, a linha de saída deve estar em zero.

Eliminar o ruído do gatilho, sem perder a amplitude total de movimento

Gatilho → Mínimo = 5–10. Qualquer valor abaixo disso será considerado zero, e o restante do intervalo se estenderá até 255.

Aceleração suave para jogos de corrida

R2 → Dividir o intervalo 0–255 em N = 3 no bloco "PRESSÃO", com um atraso de 1–3 ms por unidade, na primeira etapa. A curva deve ser de -5 a -10 para garantir o início preciso do movimento. Opcionalmente, subtrair L2 de R2.

Combinação de duas teclas: L1 + × → R2

O botão "×" → "Macro" → alvo R2, modo "Manter" → ⚙ → condição "L1". Sem o botão L1 pressionado, o botão "×" funciona normalmente.

Uma tecla para uma sequência de golpes

Botão → macro → ⚙ → modo Sequência → etapas × → □ → △ a 60/60 ms. Para uma sequência contínua, em loop.

Disparo automático

Botão R1 → ativação de uma macro com o objetivo R2 → modo Turbo → período de 80 a 120 milissegundos.

Dois jogadores com dois controles

Conecte os dois dispositivos. Cada um aparecerá na lista com seu ID. Configure o primeiro dispositivo, marque o segundo com a opção "selecionado" e clique em "Aplicar aos selecionados". Em seguida, configure cada dispositivo individualmente.

Transferir as configurações para um novo controle

Controle antigo → Joystick → arquivo. Novo controle: clique no nome → Arquivo → joystick.

15. Se algo não estiver funcionando

SintomaCausa e solução
Correções "não funcionam"Provavelmente, o joystick está configurado, mas está desativado – a linha "Configurando" está em laranja. Clique no nome do joystick conectado.
O gatilho dispara sozinhoVerifique as macros do joystick associadas a este gatilho: o movimento do joystick pode ativar uma macro. É necessário definir uma zona morta para o joystick (seção 6) ou ajustar o intervalo da fonte da macro para 10.
No jogo, o personagem "duplica"O jogo detecta tanto o controle físico quanto o virtual. Para configurar, instale o HidHide: vá para a aba "Aplicativos" → clique no "+" → adicione o programa JoyControl.exe; em seguida, vá para a aba "Dispositivos" → marque a opção "Wireless Controller"; e, finalmente, reconecte o controle. A ordem é importante: primeiro adicione o programa à lista de permissões, depois oculte-o.
O jogo não detecta o controleVerifique se o driver "ViGEmBus" está funcionando corretamente (indicado por "Driver ViGEmBus: OK") e se a primeira opção, que indica se o joystick está funcionando, está marcada.
O quinto joystick não é detectado no jogoLimitação do Windows: o XInput permite que os jogos reconheçam no máximo quatro controles.
O segundo controle DualShock não se conecta via BluetoothExclua as entradas antigas de "Wireless Controller" nas configurações de Bluetooth, reinicie o controle usando um clipe (no orifício atrás do botão L2), ative o modo de emparelhamento pressionando os botões Share + PS até que a luz pisque rapidamente. Ou simplesmente conecte-o com um cabo.