Como mapear a roda de rolagem horizontal do MX Master para os botões do teclado?

Como mapear a roda de rolagem horizontal do MX Master para os botões do teclado?

Quero mapear minha rolagem horizontal para a arma seguinte/anterior em um jogo, mas o jogo não reconhece a rolagem horizontal como uma tecla configurável. Portanto, quero mapear a rolagem horizontal para algumas teclas aleatórias do teclado para poder mapeá-la para algo útil dentro do jogo.

Posso fazer isso? O software “Logitech Options” é bastante limitado. A única configuração que funciona é "Avançar / Voltar", mas não posso usar essas duas teclas para outra coisa.

Responder1

Para mapear o botão giratório para acionar um botão do teclado, você precisa usar um software adicional.

Como remapear botões no Logitech MX Master com autohotkey

Se você estiver usandoTecla de atalho automáticovocê poderemapearbotões como você gosta.

Uma maneira simples de remapear o botão giratório no Logitech MX Master seria algo como:

WheelRight::1
WheelLeft::2

Isso requer que você defina o botão giratório para "Rolagem horizontal" no software Logitech Options. Neste caso, rolar para cima com o botão giratório inserirá o número 2e rolar para baixo inserirá 1. Agora você remapeou o botão giratório para os botões do teclado.

Por que eu não usaria o botão giratório para troca de armas em um jogo

Ainda assim, eu não recomendaria fazer isso porque o botão giratório do MX Master é "freespin" apenas, em oposição ao clássico "modo catraca" que uma roda de rolagem normal possui. Usar o script acima fará com que os botões remapeados sejam acionados várias vezes, mesmo se você rolar levemente o botão giratório.

Em outras palavras, você facilmente acabará obtendo resultados como:

2222222222222222222
111111111111111111111111111

Não é muito ideal para trocar de armas em um jogo de computador.

Gambiarra

Uma solução alternativa seria limitar a entrada do botão giratório. Exemplo:

#HotkeyInterval 1000
#MaxHotkeysPerInterval 210

WheelRight::
    if (A_PriorHotkey != A_ThisHotkey or A_TimeSincePriorHotkey > 200)
        Send {1}
return

WheelLeft::
    if (A_PriorHotkey != A_ThisHotkey or A_TimeSincePriorHotkey > 200)
        Send {2}
return

informação relacionada