Комбінація клавіш на клавішах "Зміна миші"


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
Rad

5

Ось додаток для цього: http://code.google.com/p/mouseswap/

Якщо у вас встановлено AutoIt , ось сценарій для запуску у файлі au3:

#NoTrayIcon

HotKeySet ("# a", "MouseSwap")

Глобальні $ Кнопки

Поки 1
   Сон (50)
WED

Функція обміну мишами ()
   Якщо $ Кнопки = 0 То
      DllCall ("user32.dll", "int", "SwapMouseButton", "int", 1)
      $ Кнопки = 1
      SplashTextOn ("", "E8", 280,180, -1, -1,33, "Wingdings", 80)
      Сон (600)
      SplashOff ()
   Інше
      DllCall ("user32.dll", "int", "SwapMouseButton", "int", 0)
      $ Кнопки = 0
      SplashTextOn ("", "8F", 280,180, -1, -1,33, "Wingdings", 80)
      Сон (600)
      SplashOff ()
   EndIf
EndFunc


3

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

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

Так, це 8 натискань клавіш, але не дуже погано ... Я це зробив купу


5. ALT + F4, щоб закрити вікно налаштувань миші
Перемислав Ремін

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" на клавіатурі (за допомогою автоматичної клавіші), і я можу миттєво перемикатися між лівою та правою кнопкою миші натисканням клавіші. Немає необхідності зв'язуватися із завантаженням панелі управління або налаштуванням реєстру / перезавантаження.


0

Тут є кілька хороших пропозицій щодо автоматичної клавіші, але ця програма заміняє кнопки в Windows безпосередньо та дає сповіщення про спливаюче вікно.

Це копія скрипту автозапуску миші, згаданого слюдою.

#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

Я не знаю про ярлик клавіатури, але ви можете зробити два файли рег, які роблять те, що описано тут . Просто натисніть і відійдіть.

Якщо ви дійсно хочете отримати з ним гайки, налаштуйте сценарій 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

Як згадував mivk, це прямо і працює як шарм. Про це згадував mivk

Створіть текстовий файл, який ви можете викликати 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/

Це скомпільований сценарій автоматичної клавіші, який дозволяє міняти кнопки з лотка sys, а також дозволяє мати дві миші одночасно. У мене є дві миші, які я використовую для чергування лівої та правої руки. І це автоматично змінює кут наведення курсору та кнопку миші.


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