Atajo de teclado para intercambiar botones del mouse

Atajo de teclado para intercambiar botones del mouse

Utilizo mi mouse con ambas manos y me gusta alternar hacia adelante y hacia atrás por razones de comodidad. Sin embargo, esto se ve dificultado por la necesidad de pasar por un millón de capas de menús para intercambiar los botones cada vez. ¿Existe una manera fácil de crear un método abreviado de teclado único que intercambie el botón izquierdo y derecho del mouse?

Editar: Mi sistema operativo es Windows 7.

Respuesta1

Como mencionó blsub6, puede cambiar un valor de registro (con un comando llamado desde un archivo por lotes):

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

o

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

Sin embargo, debes cerrar sesión antes de que surta efecto..

Elmejor soluciónes crear un pequeño .exe con C# para cambiar la configuración, como se describe en las respuestas aesta pregunta.

Cree un archivo de texto al que pueda llamar swapmouse.csy que contenga esto:

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
        }
    }
}

Y compílelo swapmouse.execon este comando:

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

En versiones más recientes de .NET es posible que deba agregar /out:swapmouse.exey /target:exe:

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

Luego simplemente haga doble clic en ese exe para intercambiar los botones del mouse. Surte efecto inmediatamente.

O, como menciona rad, puede crear un atajo y definir un atajo de teclado/tecla de acceso rápido en la pestaña Atajo de sus Propiedades.

Respuesta2

El mejor código AHK:

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

También uso el mouse con ambas manos y también tengo Win7, ¡este código funciona bien!

Respuesta3

Esta es la versión de Autohotkey (modificada/basada enhttps://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)
    }

Esto funciona bien con todos los Windows (incluido Windows 10). Por lo general, lo asigno a una tecla de acceso rápido como la tecla "F12" de mi teclado (usando Autohotkey), y puedo alternar entre el botón izquierdo y derecho del mouse instantáneamente con solo presionar una tecla. No hay necesidad de perder el tiempo cargando el Panel de control o configurando el registro/reiniciando.

Respuesta4

Forma del teclado para cambiar los botones del mouse en Windows Vista (quizás 7) y superior:

  1. Tecla de Windows
  2. escribe "ratón"
  3. Barra espaciadora
  4. Ingresar

Sí, son 8 pulsaciones de teclas, pero no está tan mal... Lo he hecho muchas veces.

información relacionada