마우스 버튼 교체를위한 키보드 단축키


22

마우스를 양손으로 사용하고 편안한 이유로 앞뒤로 전환하는 것을 좋아합니다. 그러나 매번 버튼을 교체하기 위해 메뉴의 여러 레이어를 거쳐야하기 때문에 이는 어렵습니다. 왼쪽 및 오른쪽 마우스 버튼을 바꿀 단일 키보드 단축키를 쉽게 만들 수 있습니까?

편집 : 내 OS는 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

그러나 적용하려면 먼저 로그 아웃해야합니다 .

좋은 해결책이 질문 에 대한 답변에서 설명한 것처럼 C #으로 작은 .exe를 만들어 설정을 바꾸는 것 입니다.

다음을 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

그런 다음 해당 exe의 바로 가기를 두 번 클릭하여 마우스 버튼을 교체하십시오. 즉시 적용됩니다.


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)
향하게 하다

Func MouseSwap ()
   $ Buttons = 0이면
      DllCall ( "user32.dll", "int", "SwapMouseButton", "int", 1)
      $ 버튼 = 1
      SplashTextOn ( "", "E8", 280,180, -1, -1,33, "날개", 80)
      수면 (600)
      SplashOff ()
   그밖에
      DllCall ( "user32.dll", "int", "SwapMouseButton", "int", 0)
      $ 버튼 = 0
      SplashTextOn ( "", "8F", 280,180, -1, -1,33, "날개", 80)
      수면 (600)
      SplashOff ()
   EndIf
EndFunc

4

더 나은 AHK 코드 :

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

나는 또한 양손으로 마우스를 사용하고 Win7을 가지고 있습니다.이 코드는 훌륭합니다!


이것은 퀵 타이 퍼에게 가장 좋습니다.
Leonid Dworzanski

3

Windows Vista (아마도 7) 이상에서 마우스 버튼을 전환하는 키보드 방식 :

  1. 윈도우 키
  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"키 (Autohotkey 사용)와 같은 핫키에 매핑되며 키를 누르면 마우스 왼쪽 버튼과 오른쪽 버튼 간을 즉시 전환 할 수 있습니다. 제어판을로드하거나 레지스트리 / 재부팅을 설정하지 않아도됩니다.


0

여기에 몇 가지 Autohotkey 제안이 있지만 Windows의 버튼을 직접 바꾸고 팝업 알림을 제공합니다.

mica가 언급 한 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 파일을 만들 수 있습니다 . 클릭 만하면됩니다.

정말로 너트를 얻으려면 reg 파일을 트리거 하는 AutoHotkey 스크립트를 설정 하십시오


레지스트리 항목을 변경해도 아무런 효과가 없습니다. 버튼은 변경되지 않습니다. 적용하려면 재부팅하거나 로그 아웃 한 후 다시 로그인해야합니다.
Synetech

-1

가능한 경우 임의의 exe 파일을 사용하지 않기를 원합니다. 이전에 언급 한 키보드 솔루션을 기반으로 한 AutoHotKey 솔루션이 있습니다.

c : \ mouse.ink에 바로 가기를 만들어 마우스 설정을 엽니 다.

이 AHK 스크립트를 사용하십시오.

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

exe는 컴파일 된 AutoIt 스크립트 일뿐입니다 (AutoHotkey와 유사). exe 대신 au3을 실행할 수 있습니다.
Mica

-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/을 보셨습니까?

이것은 시스템 트레이에서 버튼을 바꾸고 동시에 두 개의 마우스를 가질 수있는 컴파일 된 자동 핫키 스크립트입니다. 왼손과 오른손을 번갈아 사용하는 두 개의 마우스가 있습니다. 커서와 마우스 버튼의 각도가 자동으로 변경됩니다.


스크립트를 포함 시키면 더 도움이 될 것입니다. 그렇지 않으면 이것은 주석으로 더 좋습니다.
Synetech
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.