AJUDA BOTÃO DO MEIO MOUSE

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

Alessandro Sena

AJUDA BOTÃO DO MEIO MOUSE

21 Jul 2019, 01:49

Olá galera quero saber qual é a KEYLIST para o Rolar do botão do meio para cima e para baixo.
Eu sei que tem Middle or wheel mouse button (MButton)
Queria saber como é para ele girar uma vez para cima seria (MButtonUP)?


Obrigado.
User avatar
Gio
Posts: 686
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: AJUDA BOTÃO DO MEIO MOUSE

22 Jul 2019, 09:40

Bom dia Alessandro Sena.

A roda do mouse é um botão diferenciado, pois tem dois modos de acionamento: apertando ou rolando (e este pode ser para cima ou para baixo).

Assim, temos três comandos possíveis: MButton, WheelUp e WheelDown.

No Firefox, por exemplo, o pressionar do MButton tem o efeito de criar um ícone no local do click e depois e deixar o usuário rolar a tela da página para cima ou para baixo apenas movendo o mouse para cima e para baixo. Já os comandos da roda (WheelUp e WheelDown) rolam a tela da página diretamente.

Se você quiser recriar o efeito desses botões, acredito que o MButton é o mais fácil, pois ele se comporta como um outro botão do teclado qualquer (e o nome é MButton mesmo). Já recriar o efeito de "rodar a rodinha do mouse" vai necessitar que você planeje um pouco mais na rotina, pois a rodinha envia vários sinais consecutivos quando vc roda ela (tantos quanto o total que você a rodou). Isso significa que você precisa se preocupar com a quantidade de sinais.

Exemplo no código abaixo apertar F2 ou F3 vai enviar 6 sinais de roda. Veja o comportamento no firefox ou outros programa que role a tela. Depois aumente ou diminua o número indicado conforme queira aumenta ou diminuir o efeito (quanto a tela rola).

Code: Select all

f2::
send {wheelup 6}
Return


f3::
send {wheeldown 6}
Return

:arrow: Outra possibilidade é que você queira fazer de forma que segurar um botão vai rolar a tela, e que quanto mais você segurar o botão, mais a tela rode. Isso pode ser feito utilizando-se do comando SetTimer junto com algumas condicionais e um pouco de lógica:

Code: Select all

F2_ATIVADO := 0
F3_ATIVADO := 0


f2::
If (F2_ATIVADO)
{
	Return
}
Else
{
	F2_ATIVADO := 1
	SetTimer, ROLAR_PARA_BAIXO, 100
}
Return


f2 up::
SetTimer, ROLAR_PARA_BAIXO, Off
F2_ATIVADO := 0
Return

f3::
If (F3_ATIVADO)
{
	Return
}
Else
{
	F3_ATIVADO := 1
	SetTimer, ROLAR_PARA_CIMA, 100
}
Return


f3 up::
SetTimer, ROLAR_PARA_CIMA, Off
F3_ATIVADO := 0
Return


ROLAR_PARA_BAIXO:
Send {WheelDown 2}
Return


ROLAR_PARA_CIMA:
Send {WheelUp 2}
Return

Espero ter ajudado. Se ainda tiver alguma dúvida sinta-se livre para postar abaixo :thumbup:
Alessandro Sena

Re: AJUDA BOTÃO DO MEIO MOUSE

22 Jul 2019, 16:49

Gio wrote:
22 Jul 2019, 09:40
Bom dia Alessandro Sena.

A roda do mouse é um botão diferenciado, pois tem dois modos de acionamento: apertando ou rolando (e este pode ser para cima ou para baixo).

Assim, temos três comandos possíveis: MButton, WheelUp e WheelDown.

No Firefox, por exemplo, o pressionar do MButton tem o efeito de criar um ícone no local do click e depois e deixar o usuário rolar a tela da página para cima ou para baixo apenas movendo o mouse para cima e para baixo. Já os comandos da roda (WheelUp e WheelDown) rolam a tela da página diretamente.

Se você quiser recriar o efeito desses botões, acredito que o MButton é o mais fácil, pois ele se comporta como um outro botão do teclado qualquer (e o nome é MButton mesmo). Já recriar o efeito de "rodar a rodinha do mouse" vai necessitar que você planeje um pouco mais na rotina, pois a rodinha envia vários sinais consecutivos quando vc roda ela (tantos quanto o total que você a rodou). Isso significa que você precisa se preocupar com a quantidade de sinais.

Exemplo no código abaixo apertar F2 ou F3 vai enviar 6 sinais de roda. Veja o comportamento no firefox ou outros programa que role a tela. Depois aumente ou diminua o número indicado conforme queira aumenta ou diminuir o efeito (quanto a tela rola).

Code: Select all

f2::
send {wheelup 6}
Return


f3::
send {wheeldown 6}
Return

:arrow: Outra possibilidade é que você queira fazer de forma que segurar um botão vai rolar a tela, e que quanto mais você segurar o botão, mais a tela rode. Isso pode ser feito utilizando-se do comando SetTimer junto com algumas condicionais e um pouco de lógica:

Code: Select all

F2_ATIVADO := 0
F3_ATIVADO := 0


f2::
If (F2_ATIVADO)
{
	Return
}
Else
{
	F2_ATIVADO := 1
	SetTimer, ROLAR_PARA_BAIXO, 100
}
Return


f2 up::
SetTimer, ROLAR_PARA_BAIXO, Off
F2_ATIVADO := 0
Return

f3::
If (F3_ATIVADO)
{
	Return
}
Else
{
	F3_ATIVADO := 1
	SetTimer, ROLAR_PARA_CIMA, 100
}
Return


f3 up::
SetTimer, ROLAR_PARA_CIMA, Off
F3_ATIVADO := 0
Return


ROLAR_PARA_BAIXO:
Send {WheelDown 2}
Return


ROLAR_PARA_CIMA:
Send {WheelUp 2}
Return


Espero ter ajudado. Se ainda tiver alguma dúvida sinta-se livre para postar abaixo :thumbup:

Obrigado Gio, eu sou iniciante ainda na configuração queria aprender mais a usar, porém acho poucos scrips de teclado e mouse, uso para jogos o AutoHotkey, e sinto algumas dificuldades em fazer algumas funções existe algum algum lugar que ensine?
User avatar
Gio
Posts: 686
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: AJUDA BOTÃO DO MEIO MOUSE

22 Jul 2019, 18:08

Bom, se você estiver buscando apenas automação de teclado e mouse, acredito que os dois tutoriais oficiais traduzidos ao português trazem uma boa introdução ao assunto das hotkeys (os atalhos de teclas customizados que você pode fazer através do AutoHotkey).

Mas é importante observar que o conhecimento geral em programação e dos comandos disponíveis também ajuda bastante à desenvolver as rotinas. Um bom exemplo são os comandos de janelas (WinActivate, WinExist, etc) e as condicionais (If, IfWinActive, etc): Ambos muitas vezes são usados em conjunto com os comandos de teclas para automatizar programas de terceiros.

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 3 guests