Como faço o Auto Hotkey converter “Rbutton down, Mousewheel action, RButton up” em “MButton down, Mouse subindo e descendo, MButton up”

0

Eu tenho um programa que amplia ao pressionar o botão enquanto move o mouse para cima e para baixo.

Porque isso parece um pouco estranho para mim, eu decidi usar o AHK para deixar o zoom do programa quando a roda do mouse é girada enquanto o RButton está pressionado.

Esta é a minha ideia não funcional (comentou outra abordagem não funcional):

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Recommended for catching common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode, 1 ; 1: A window's title must start with the specified WinTitle to be a match.

#IfWinActive Zooming Viewer
~RButton & WheelDown::
    Click, up, right
    Click, down, middle
    Click, Rel, 0, 10, 0
    Click, up, middle
    Click, down, right
~RButton & WheelUp::
    Click, up, right
    Click, down, middle
    Click, Rel, 0, -10, 0
    Click, up, middle
    Click, down, right

;   MouseClick, R, , , , , U
;   MouseClick, M, , , , , D
;   MouseClick, , 0, -10, , , , R
;   MouseClick, M, , , , , U
;   MouseClick, R, , , , , D

Obrigado por qualquer sugestão para deixar-me começar este trabalho, Peter

Peter
fonte
Este visualizador tem um comando separado para "Zoom In", que você pode fazer com o teclado? Se não, então você tem uma abordagem mais ou menos correta em seu script, eu acho, mas é muito difícil dizer o que está errado sem ter este software. Então isso não funciona de todo?
Mikhail V

Respostas:

0

Obrigado, Mikhail V. Esta foi a sugestão certa, levar a fundar que Ctrl-roda faz o truque. Em segundo lugar, alterar SendMode para "Evento" oferece estabilidade adicional. Em terceiro lugar, "retorno" ajuda a isolar as duas direções de zoom.

Então, isso funciona:

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Recommended for catching common errors.
SendMode Event
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode, 1 ; 1: A window's title must start with the specified WinTitle to be a match.

#IfWinActive Zooming Viewer
~RButton & WheelDown::
    Send {Ctrl Down} {WheelUp} {Ctrl Up}
    return
~RButton & WheelUp::
    Send {Ctrl Down} {WheelDown} {Ctrl Up}
    return
Peter
fonte
Corrigindo a direção do zoom de qualquer maneira trocando WheelUp e WheelDown.
Peter
Ainda bem que você resolveu isso. return é claro que é necessário - devo estar lá, a menos que a tecla de atalho seja apenas uma linha.
Mikhail V