Como troco os botões primário e secundário do mouse na linha de comando ou usando uma tecla de atalho sem reiniciar ou compilar um programa?

Como troco os botões primário e secundário do mouse na linha de comando ou usando uma tecla de atalho sem reiniciar ou compilar um programa?

Meu filho de oito anos é canhoto e eu sou destro. Desejo poder alternar rápida e facilmente os botões primários e secundários do mouse na linha de comando. Usamos o Windows 10. Encontreiesse, que fornece soluções c e C#*. eu encontreiesseque fornece uma solução que requer reinicialização e também fornece um link para a resposta do Stack Overflow. No entanto, parece-me que isso deveria ser possível sem recorrer a uma linguagem compilada. Eu ficaria feliz com uma solução usando PowerShell, Python, Perl, umnircmdutilitário, etc., mas prefiro não recorrer a uma linguagem compilada.

Obrigado pela ajuda.

Editar: Pergunta alterada para adicionar "...ou usando uma tecla de atalho...", já que eu queria fazer isso com uma tecla de atalho Autohotkey; Acontece que o Autohotkey pode fazer a troca sozinho. Eu estava assumindo que a resposta seria, por exemplo, um script Powershell, que eu invocaria usando uma tecla de atalho Autohotkey. Veja a resposta aceita.

Responder1

Aqui está o que eu criei para o AHK. Apenas alterna a religação dos botões do mouse comctrl+alt+m

swap:
swap=false

^!m::
    swap := !swap 

#if !swap
    RButton::LButton
    LButton::RButton

Responder2

Esta é a resposta, que foi postada emhttps://superuser.com/a/1357020/790554.

Esta é a versão do Autohotkey (modificada/baseada emhttps://github.com/jNizM/AHK_DllCall_WinAPI/blob/master/src/Mouse%20Input%20Functions/SwapMouseButton.ahk).

; autohotkey code - mapped to F12
F12::
    buttonState := DllCall("user32.dll\SwapMouseButton", "UInt", 1)
    if buttonState <> 0
    {
        buttonState := DllCall("user32.dll\SwapMouseButton", "UInt", 0)
    }

Isso funciona bem com todos os Windows (incluindo o Windows 10). Normalmente mapeio-o para uma tecla de atalho, como a tecla "F12" no meu teclado (usando Autohotkey), e posso alternar entre o botão esquerdo e direito do mouse instantaneamente pressionando uma tecla.

informação relacionada