Atalho de teclado para trocar botões do mouse

Atalho de teclado para trocar botões do mouse

Eu uso meu mouse com as duas mãos e gosto de alternar por motivos de conforto. No entanto, isso é dificultado pela necessidade de passar por um zilhão de camadas de menus para trocar os botões a cada vez. Existe uma maneira fácil de criar um único atalho de teclado que troque o botão esquerdo e direito do mouse?

Editar: Meu sistema operacional é o Windows 7.

Responder1

Como blsub6 mencionou, você pode alterar um valor de registro (com um comando chamado de um arquivo em lote):

REG ADD "HKCU\Control Panel\Mouse" /t REG_SZ /v SwapMouseButtons /d 1 /f

ou

REG ADD "HKCU\Control Panel\Mouse" /t REG_SZ /v SwapMouseButtons /d 0 /f

No entanto, você precisa sair antes que entre em vigor.

Omelhor soluçãoé fazer um pequeno .exe com C# para trocar a configuração, conforme descrito nas respostas paraessa questão.

Crie um arquivo de texto que você possa chamar swapmouse.cs, contendo isto:

using System.Runtime.InteropServices;
using System;

class SwapMouse
{
    [DllImport("user32.dll")]
    public static extern Int32 SwapMouseButton(Int32 bSwap);

    static void Main(string[] args)
    {
        int rightButtonIsAlreadyPrimary = SwapMouseButton(1);
        if (rightButtonIsAlreadyPrimary != 0)
        {
            SwapMouseButton(0);  // Make the left mousebutton primary
        }
    }
}

E compile-o swapmouse.execom este comando:

"%SystemRoot%\Microsoft.NET\Framework64\v3.5\csc" swapmouse.cs

Em versões mais recentes do .NET, pode ser necessário adicionar /out:swapmouse.exee /target:exe:

"[%SystemRoot%]\Microsoft.NET\Framework64\[version]\csc" /out:swapmouse.exe /target:exe swapmouse.cs

Em seguida, basta clicar duas vezes nesse exe para trocar os botões do mouse. Entra em vigor imediatamente.

Ou, como rad menciona, você pode criar um atalho e definir um atalho/tecla de atalho de teclado na guia Atalho de suas Propriedades.

Responder2

O melhor código AHK:

Run, main.cpl
Send, {Space}{Enter}

Eu também uso mouse com as duas mãos e também tenho Win7, esse código funciona bem!

Responder3

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. Não há necessidade de se preocupar em carregar o painel de controle ou configurar o registro/reinicialização.

Responder4

Maneira do teclado de alternar os botões do mouse no Windows Vista (talvez 7) e superior:

  1. Chave do Windows
  2. digite "rato"
  3. Barra de espaço
  4. Digitar

Sim, são 8 pressionamentos de tecla, mas não é tão ruim... Já fiz isso várias vezes

informação relacionada