แป้นพิมพ์ลัดเพื่อสลับปุ่มเมาส์


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

จากนั้นคุณเพียงคลิกสองครั้งที่ทางลัดเพื่อ 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)
Wend

Func MouseSwap ()
   ถ้า $ Buttons = 0 ถ้าอย่างนั้น
      DllCall ("user32.dll", "int", "SwapMouseButton", "int", 1)
      $ Buttons = 1
      SplashTextOn ( "", "E8", 280180, -1, -1,33 "Wingdings", 80)
      การนอนหลับ (600)
      SplashOff ()
   อื่น
      DllCall ("user32.dll", "int", "SwapMouseButton", "int", 0)
      $ Buttons = 0
      SplashTextOn ( "", "8F", 280180, -1, -1,33 "Wingdings", 80)
      การนอนหลับ (600)
      SplashOff ()
   EndIf
EndFunc

4

รหัส AHK ที่ดีกว่า:

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

ฉันยังใช้เมาส์ด้วยมือทั้งสองและยังมี Win7 รหัสนี้ใช้งานได้ดี!


นี่คือสิ่งที่ดีที่สุดสำหรับผู้ที่รวดเร็ว
Leonid Dworzanski

3

วิธีแป้นพิมพ์ในการสลับปุ่มเมาส์บน Windows Vista (อาจจะ 7) ขึ้นไป:

  1. รหัส Windows
  2. พิมพ์ "เมาส์"
  3. Spacebar
  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 โดยตรงและแจ้งเตือนป๊อปอัพ

เป็นสำเนาของสคริปต์ mouseswap Autoit ที่กล่าวถึงโดย mica

#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

ทางเลือก terser ที่ไม่มีป๊อปอัป:

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

ดังที่ 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
ยินดีต้อนรับสู่ Super User! เป็นการทำซ้ำคำตอบอื่นและไม่เพิ่มเนื้อหาใหม่ โปรดอย่าโพสต์คำตอบเว้นแต่ว่าคุณมีสิ่งใหม่ที่จะมีส่วนร่วม
DavidPostill

-1

คุณเคยดู: https://www.eithermouse.com/

นี่เป็นสคริปต์ autohotkey ที่คอมไพล์ซึ่งอนุญาตให้คุณสลับปุ่มจากถาดระบบและยังช่วยให้คุณมีเมาส์สองตัวพร้อมกัน ฉันมีหนูสองตัวที่ฉันใช้เพื่อสลับระหว่างมือซ้ายและขวา และสิ่งนี้จะเปลี่ยนมุมของเคอร์เซอร์และปุ่มเมาส์โดยอัตโนมัติ


สิ่งนี้จะมีประโยชน์มากขึ้นถ้าคุณรวมสคริปต์ไว้ด้วย มิฉะนั้นจะดีกว่าเป็นความคิดเห็น
Synetech
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.