Сочетание клавиш для смены кнопок мыши

Сочетание клавиш для смены кнопок мыши

Я использую мышь обеими руками и люблю переключаться туда-сюда из соображений комфорта. Однако это осложняется необходимостью проходить через миллион слоев меню, чтобы каждый раз менять кнопки. Есть ли простой способ создать одну комбинацию клавиш, которая поменяла бы местами левую и правую кнопку мыши?

Редактировать: Моя ОС — Windows 7.

решение1

Как упомянул blsub6, вы можете изменить значение реестра (с помощью команды, вызванной из пакетного файла):

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

или

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

Однако вам необходимо выйти из системы, прежде чем изменения вступят в силу..

Theлучшее решениеэто создать небольшой .exe с C# для замены настроек, как описано в ответах наэтот вопрос.

Создайте текстовый файл, который вы можете назвать swapmouse.cs, содержащий следующее:

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

И скомпилируйте его swapmouse.exeс помощью этой команды:

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

В более поздних версиях .NET вам может потребоваться добавить /out:swapmouse.exeи /target:exe:

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

Затем вы просто дважды щелкните этот exe, чтобы поменять кнопки мыши. Это вступает в силу немедленно.

Или, как упоминает rad, вы можете создать сочетание клавиш и определить сочетание клавиш/горячую клавишу на вкладке «Сочетание клавиш» в его свойствах.

решение2

Лучший код AHK:

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

Я тоже пользуюсь мышкой обеими руками и у меня тоже Win7, этот код отлично работает!

решение3

Это версия Autohotkey (модифицированная/основанная наhttps://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)
    }

Это отлично работает со всеми Windows (включая Windows 10). Я обычно назначаю его на горячую клавишу, например, клавишу "F12" на моей клавиатуре (используя Autohotkey), и я могу мгновенно переключаться между левой и правой кнопкой мыши нажатием клавиши. Нет необходимости возиться с загрузкой Панели управления или настройкой реестра / перезагрузкой.

решение4

Способ переключения кнопок мыши с помощью клавиатуры в Windows Vista (возможно, 7) и выше:

  1. Клавиша Windows
  2. тип "мышь"
  3. Пробел
  4. Входить

Да, это 8 нажатий клавиш, но не так уж и плохо... Я делал это много раз.

Связанный контент