Pintasan Keyboard untuk Tukar Tombol Mouse


22

Saya menggunakan mouse dengan kedua tangan dan suka berganti-ganti untuk alasan kenyamanan. Namun, ini menjadi sulit dengan harus melalui sekitar satu juta lapisan menu untuk bertukar tombol setiap kali. Apakah ada cara mudah untuk membuat pintasan keyboard tunggal yang akan menukar tombol kiri dan kanan mouse saya?

Sunting: OS saya adalah Windows 7.

Jawaban:


19

Seperti yang disebutkan blsub6, Anda dapat mengubah nilai registri (dengan perintah yang dipanggil dari file batch):

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

atau

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

Namun, Anda harus keluar dulu sebelum mulai berlaku .

The solusi yang lebih baik adalah dengan membuat exe kecil dengan C # untuk swap pengaturan, seperti yang dijelaskan dalam jawaban atas pertanyaan ini .

Buat file teks yang bisa Anda panggil swapmouse.cs, berisi ini:

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

Dan kompilasi swapmouse.exedengan perintah ini:

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

Kemudian Anda cukup klik dua kali pintasan ke exe itu untuk menukar tombol mouse. Ini berlaku segera.


3
Untuk memulai exe dengan pintasan keyboard :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

Berikut aplikasi untuk itu: http://code.google.com/p/mouseswap/

Jika Anda menginstal AutoIt , inilah skrip untuk dijalankan dalam file au3:

#NoTrayIcon

HotKeySet ("# a", "MouseSwap")

Tombol $ Global

Sementara 1
   Tidur (50)
Pergi ke

Func MouseSwap ()
   Jika $ Tombol = 0 Lalu
      DllCall ("user32.dll", "int", "SwapMouseButton", "int", 1)
      $ Tombol = 1
      SplashTextOn ("", "E8", 280.180, -1, -1,33, "Wingdings", 80)
      Tidur (600)
      SplashOff ()
   Lain
      DllCall ("user32.dll", "int", "SwapMouseButton", "int", 0)
      $ Tombol = 0
      SplashTextOn ("", "8F", 280.180, -1, -1,33, "Wingdings", 80)
      Tidur (600)
      SplashOff ()
   Berakhir jika
EndFunc

4

Kode AHK yang lebih baik:

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

Saya juga menggunakan mouse dengan kedua tangan dan juga Win7, kode ini berfungsi dengan baik!


Ini yang terbaik untuk quicktypers.
Leonid Dworzanski

3

Cara keyboard beralih tombol mouse pada Windows Vista (mungkin 7) dan di atas:

  1. Windows Key
  2. ketik "mouse"
  3. Bilah spasi
  4. Memasukkan

Ya, ini 8 tombol yang ditekan tetapi tidak terlalu buruk ... Saya sudah melakukannya banyak


5. ALT + F4 untuk menutup jendela pengaturan mouse
Przemyslaw Remin

2

Ini adalah versi Autohotkey (dimodifikasi / didasarkan pada 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)
    }

Ini berfungsi baik dengan semua Windows (termasuk Windows 10). Saya biasanya memetakannya ke hotkey seperti tombol "F12" pada keyboard saya (menggunakan Autohotkey), dan saya dapat beralih antara tombol kiri dan kanan mouse secara instan dengan menekan tombol. Tidak perlu membuang dengan memuat Control panel atau pengaturan registry / reboot.


0

Beberapa saran Autohotkey yang bagus di sini, tetapi yang ini menukar tombol di Windows secara langsung dan memberikan pemberitahuan sembulan.

Ini adalah salinan dari skrip Autoit mouseswap yang disebutkan oleh 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

Alternatif terser tanpa popup:

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

-1

Saya tidak tahu tentang pintasan keyboard tetapi Anda dapat membuat dua file reg yang melakukan apa yang dijelaskan di sini . Cukup klik dan pergilah.

Jika Anda benar-benar ingin mendapatkan kacang dengan itu, mengatur skrip AutoHotkey yang memicu file reg


Itu tidak baik, hanya mengubah entri registri tidak berpengaruh; tombol tetap tidak berubah. Anda perlu mem-boot ulang atau keluar dan kembali agar mereka berlaku.
Synetech

-1

Saya ingin menghindari menggunakan file exe acak bila memungkinkan, berikut adalah solusi AutoHotKey berdasarkan pada solusi keyboard yang disebutkan sebelumnya.

Buat pintasan di bernama c: \ mouse.ink yang membuka pengaturan mouse.

Gunakan skrip AHK ini:

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

Exe hanyalah skrip AutoIt yang dikompilasi (mirip dengan AutoHotkey). Alih-alih exe, Anda bisa menjalankan au3.
Mica

-1

Seperti mivk disebutkan, ini lurus ke depan dan bekerja seperti pesona. Inilah yang disebutkan mivk

Buat file teks yang bisa Anda panggil swapmouse.cs, berisi ini:

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

Dan kompilasi ke swapmouse.exe dengan perintah ini:

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

Sekarang Anda dapat membuat folder bernama C: \ Program Files \ swapmouse dan salin swapmouse.exe ke folder yang baru dibuat.

Sekarang buat pintasan untuk file swapmouse.exe ini di desktop Anda.

Di bawah properti file cara pintas, tambahkan kunci cara pintas, dalam hal ini, saya menggunakan "Ctrl + Alt + S" dan menerapkan.

Sekarang setiap kali Anda menekan "Ctrl + Alt + S" tombol mouse akan ditukar.

Tidak ada ketergantungan pada mouse untuk mengubah tombol mouse lagi.


1
Selamat Datang di Pengguna Super! Ini menggandakan jawaban lain dan tidak menambahkan konten baru. Tolong jangan memposting jawaban kecuali Anda benar-benar memiliki sesuatu yang baru untuk disumbangkan.
DavidPostill

-1

Sudahkah Anda melihat: https://www.eithermouse.com/

Ini adalah skrip autohotkey yang dikompilasi yang memungkinkan Anda untuk bertukar tombol dari baki sys Anda, dan juga memungkinkan Anda untuk memiliki dua tikus dengan secara bersamaan. Saya memiliki dua tikus yang saya gunakan untuk bergantian antara tangan kiri dan kanan. Dan ini secara otomatis mengubah sudut tombol kursor dan mouse.


Ini akan lebih bermanfaat jika Anda memasukkan skrip untuk melakukannya. Kalau tidak, ini lebih baik sebagai komentar.
Synetech
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.