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


22

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

Изменить: Моя ОС Windows 7.

Ответы:


19

Как упоминалось в 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

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

Лучшее решение , чтобы сделать маленький .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

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


3
Чтобы запустить exe с помощью сочетания клавиш:1. Right-click on the exe and select "Create Shortcut" 2. Move the shortcut to "C:\ProgramData\Microsoft\Windows\Start Menu" or the desktop 3. Right click on the shortcut, go to the Shorcut tab and select a shortcut key
Рад

5

Вот приложение для этого: http://code.google.com/p/mouseswap/

Если у вас установлен AutoIt , вот скрипт для запуска в файле au3:

#NoTrayIcon

HotKeySet ( "# а", "MouseSwap")

Глобальные кнопки $

Пока 1
   Sleep (50)
венед

Func MouseSwap ()
   Если $ Buttons = 0, то
      DllCall ("user32.dll", "int", "SwapMouseButton", "int", 1)
      $ Buttons = 1
      SplashTextOn ( "", "Е8", 280180, -1, -1,33, "Wingdings", 80)
      Sleep (600)
      SplashOff ()
   еще
      DllCall ("user32.dll", "int", "SwapMouseButton", "int", 0)
      $ Buttons = 0
      SplashTextOn ( "", "8F", 280180, -1, -1,33, "Wingdings", 80)
      Sleep (600)
      SplashOff ()
   EndIf
EndFunc


3

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

  1. Ключ Windows
  2. типа "мышь"
  3. Пробел
  4. Войти

Да, это 8 нажатий клавиш, но не так уж плохо ... Я сделал это кучу


5. ALT + F4, чтобы закрыть окно настроек мыши
Przemyslaw Remin

2

Это версия 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» на моей клавиатуре (используя AutoHock), и я могу мгновенно переключаться между левой и правой кнопкой мыши нажатием клавиши. Там нет необходимости гадить с загрузкой панели управления или настройки реестра / перезагрузки.


0

Несколько хороших советов по AutoHotkey здесь, но этот меняет местами кнопки в Windows и выдает всплывающее уведомление.

Это копия скрипта mouseswap Autoit, упомянутого слюдой.

#a::
if button = 0
    {
    DllCall("SwapMouseButton", "int", 1)
    button = 1
    SplashTextOn, 120, 30, Mouse Button, Left handed
    Sleep 600
    SplashTextOff
    }
else
    {
    DllCall("SwapMouseButton", "int", 0)
    button = 0
    SplashTextOn, 120, 30, Mouse Button, Right handed
    Sleep 600
    SplashTextOff
    }
return

Более краткая альтернатива без всплывающего окна:

Swapped := DllCall("SwapMouseButton", Int, 0)
if Swapped = 0
 DllCall("SwapMouseButton", Int, 1)

-1

Я не знаю о сочетаниях клавиш, но вы можете сделать два reg-файла, которые делают то, что описано здесь . Просто нажмите и прочь.

Если вы действительно хотите сойти с ума, установите скрипт AutoHotkey, который запускает reg-файлы


Это не хорошо, просто изменение записи в реестре не имеет никакого эффекта; кнопки остаются без изменений. Вам нужно будет перезагрузиться или выйти и снова войти, чтобы они вступили в силу.
Synetech

-1

Мне нравится избегать использования случайных exe-файлов, когда это возможно, вот решение AutoHotKey, основанное на ранее упомянутом решении для клавиатуры.

Сделайте ярлык с именем c: \ mouse.ink, чтобы открыть настройки мыши.

Используйте этот скрипт AHK:

#a::
Run c:\mouse
sleep 250
send {Space}
Send {Enter}
return

Exe - это просто скомпилированный скрипт AutoIt (похожий на AutoHotkey). Вместо exe, вы можете запустить au3.
Слюда

-1

Как упомянуто Мивк, это прямо вперед и работает как шарм. Это то, что упоминал Мивк

Создайте текстовый файл, который вы можете назвать 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

Теперь вы можете создать папку с именем C: \ Program Files \ swapmouse и скопировать swapmouse.exe во вновь созданную папку.

Теперь создайте ярлык для этого файла swapmouse.exe на рабочем столе.

Под свойством файла ярлыка добавьте комбинацию клавиш, в этом случае я использовал «Ctrl + Alt + S» и применил.

Теперь каждый раз, когда вы нажимаете «Ctrl + Alt + S», кнопка мыши будет меняться.

Нет никакой зависимости от мыши, чтобы изменить кнопку мыши больше.


1
Добро пожаловать в Супер пользователя! Это дублирует другой ответ и не добавляет новый контент. Пожалуйста, не публикуйте ответ, если у вас нет чего-то нового.
DavidPostill

-1

Вы смотрели на: https://www.eithermouse.com/

Это скомпилированный скрипт autohotkey, который позволяет вам менять кнопки на панели задач sys, а также позволяет одновременно использовать две мыши. У меня есть две мыши, которые я чередую между левой и правой руками. И это автоматически меняет угол наклона курсора и кнопки мыши.


Это было бы более полезно, если бы вы включили скрипт для этого. В противном случае это лучше в качестве комментария.
Synetech
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.