Bloquear teclado ao clicar no mouse Topic is solved

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

Moderator: Gio

wastercaliari
Posts: 5
Joined: 19 Feb 2021, 22:02

Bloquear teclado ao clicar no mouse

Post by wastercaliari » 05 Mar 2021, 08:35

Olá equipe super inteligente desse Brasilzão!

Vou contar algo que só um exorcista acreditaria mas faz parte da minha vida a 1 mes, comprei um pc novo e TODO O MOUSE QUE UTILIZO nele, quando eu clico, ele sai digitando um monte de letras estranhas.

Já fiz de tudo, formatação, assistencia, e etc...
Então vim pesquisando como fazer pra quando eu clicar, o teclado ser desativado naquele momento, e após eu soltar o clique ele voltar ao normal.

Eu náo entendo nada de script nenhum, mas como meu ultimo suporte é correr atras de feras como voces, está aí o meu impasse.

Eu pensava que funcionaria o codigo abaixo, mas sou muito leigo entao nem consegui executar isso ae :

LButton::
BlockKeyboard()
return

Poderiam me ajudar?
User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Bloquear teclado ao clicar no mouse

Post by Gio » 05 Mar 2021, 08:59

Bom dia Wastercaliari.

Bem estranho mesmo este "fenômeno" :lol:


Bom, creio que você precisaria primeiro entender como os sinais de teclas fantasmas estão sendo registrados no windows para desenvolver algum tipo de bloqueio pra isso. Tipo, tente entender melhor essa situação:
quando você clica com o mouse, ele envia as teclas DEPOIS de registrar o clique?
Dura quantos segundos (ou milisegundos) esse envio de teclas depois do clique?
As teclas são sempre as mesmas?
Essas teclas seguem algum padrão?


Você pode executar o script abaixo para abrir uma tela que mostra os sinais de teclas enviadas por último em uma lista com tempos e tipos (pressionar F5 após apertar alguma coisa atualiza a lista na tela):

Code: Select all

#Persistent
#InstallKeybdHook
#InstallMouseHook
KeyHistory

Use o código acima para ver na lista quais são as teclas fantasmas o mouse está enviando após o clique e quanto tempo elas duram. Com essas informações será mais fácil desenvolver algum bloqueio para esses sinais.
wastercaliari
Posts: 5
Joined: 19 Feb 2021, 22:02

Re: Bloquear teclado ao clicar no mouse

Post by wastercaliari » 05 Mar 2021, 09:08

Ei, bom dia mestre!

Começa no momento em que preciono e dura até eu soltar o botão.

É um Logitech G403, mas testei um Razer Deathader também e da no mesmo

As teclas que ele mais digita são as

A
W
F
S
E
D
T
U
I
.
,
e @

:oops:
wastercaliari
Posts: 5
Joined: 19 Feb 2021, 22:02

Re: Bloquear teclado ao clicar no mouse

Post by wastercaliari » 13 Mar 2021, 17:24

infelizmente até hoje sem sucesso .-.
User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Bloquear teclado ao clicar no mouse

Post by Gio » 15 Mar 2021, 11:35

Bom dia Wastercaliari.

Veja se usando este script você consegue enviar os cliques sem que o computador escreva as letras.

Code: Select all

SetBatchLines, -1
return


$Lbutton::
MouseGetPos, PosX, PosY
BlockInput, Send
BlockInput, Mouse
Send {Click %PosX% %PosY%}

:arrow: O script acima não é perfeito: com ele não é possível usar a função de arrastar do mouse, mas o teste do script é necessário para saber se o BlockInput usado desta forma resolve o seu problema (e daí então prosseguirmos para reescrever a função de arrastar o mouse OU buscarmos outro método).
DoriTos_
Posts: 16
Joined: 15 Mar 2021, 08:30

Re: Bloquear teclado ao clicar no mouse  Topic is solved

Post by DoriTos_ » 15 Mar 2021, 14:13

wastercaliari wrote:
13 Mar 2021, 17:24
infelizmente até hoje sem sucesso .-.
Bizarro o seu problema, não é algum software do mouse com macro?

Fiz o script rapidinho e não testei muito, aparentemente está funcionando normalmente.

Code: Select all

#SingleInstance, Force
#Persistent
SetBatchLines, -1
SetKeyDelay, -1, -1
SetMouseDelay, -1

Button := "LButton"

SetTimer, Button_Down, 50

Return

Button_Down:
If(GetKeystate(Button) = 1)
{
	SetTimer, Button_Down, Off
	SetTimer, Button_Up, 50
	Input, KeyboardBlock
}
Return

Button_Up:
If(GetKeystate(Button) = 0)
{
	SetTimer, Button_Up, Off
	SetTimer, Button_Down, 50
	Input
}
Return
wastercaliari
Posts: 5
Joined: 19 Feb 2021, 22:02

Re: Bloquear teclado ao clicar no mouse

Post by wastercaliari » 15 Mar 2021, 23:43

Gio wrote:
15 Mar 2021, 11:35
Bom dia Wastercaliari.

Veja se usando este script você consegue enviar os cliques sem que o computador escreva as letras.

Code: Select all

SetBatchLines, -1
return


$Lbutton::
MouseGetPos, PosX, PosY
BlockInput, Send
BlockInput, Mouse
Send {Click %PosX% %PosY%}

:arrow: O script acima não é perfeito: com ele não é possível usar a função de arrastar do mouse, mas o teste do script é necessário para saber se o BlockInput usado desta forma resolve o seu problema (e daí então prosseguirmos para reescrever a função de arrastar o mouse OU buscarmos outro método).
Muito obrigado mestre, mas infelizmente esse não resultou.


DoriTos_ wrote:
15 Mar 2021, 14:13
wastercaliari wrote:
13 Mar 2021, 17:24
infelizmente até hoje sem sucesso .-.
Bizarro o seu problema, não é algum software do mouse com macro?

Fiz o script rapidinho e não testei muito, aparentemente está funcionando normalmente.

Code: Select all

#SingleInstance, Force
#Persistent
SetBatchLines, -1
SetKeyDelay, -1, -1
SetMouseDelay, -1

Button := "LButton"

SetTimer, Button_Down, 50

Return

Button_Down:
If(GetKeystate(Button) = 1)
{
	SetTimer, Button_Down, Off
	SetTimer, Button_Up, 50
	Input, KeyboardBlock
}
Return

Button_Up:
If(GetKeystate(Button) = 0)
{
	SetTimer, Button_Up, Off
	SetTimer, Button_Down, 50
	Input
}
Return
Obrigado mestre, esse deu certo, você acaba de resolver um problema muito grande.
Realmente achei que fosse meu mouse mas todo o mouse que ponho aqui dá isso.

Outro problema bem louco que acontece é que ao acionar o fogão eletrico, o mouse para, e ao acionar o portão eletrico da garagem, o computador desliga... mas só essa questão do teclado já foi top! MUITO OBRIGADO IRMAO! :bravo: :bravo: :bravo: :bravo: :bravo: :bravo: :bravo: :bravo: :bravo: :bravo: :bravo: :bravo: :bravo: :beer:
Post Reply

Return to “Ajuda e Suporte Geral”