Fare Düğmelerini Değiştirmek için Klavye Kısayolu


22

Faremi iki elimle kullanıyorum ve konfor nedenleriyle ileri geri geçiş yapmayı seviyorum. Ancak, düğmeleri her seferinde takas etmek için yaklaşık bir milyon menü katmanından geçmeye ihtiyaç duymak zorlaşır. Sol ve sağ fare düğmemi değiştirecek tek bir klavye kısayolu oluşturmanın kolay bir yolu var mı?

Düzenleme: İşletim sistemim Windows 7.

Yanıtlar:


19

Blsub6'nın belirttiği gibi, bir kayıt defteri değerini değiştirebilirsiniz (toplu iş dosyasından çağrılan komutla):

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

veya

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

Ancak, yürürlüğe girmesi için oturumu kapatmanız gerekir .

Daha iyi bir çözüm , bu sorunun yanıtlarında açıklandığı gibi, ayarı değiştirmek için C # ile küçük bir .exe yapmaktır .

Aşağıdakileri swapmouse.csiçeren bir metin dosyası oluşturun :

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

Ve swapmouse.exebu komutla derleyin :

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

Sonra fare düğmelerini değiştirmek için bu exe kısayolunu çift tıklayın. Hemen yürürlüğe girer.


3
Exe'yi bir klavye kısayoluyla başlatmak için :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

İşte bunun için bir uygulama: http://code.google.com/p/mouseswap/

Eğer varsa AutoIt yüklü aşağıda bir AU3 dosyasında çalıştırmak için komut dosyası bulunuyor:

#NoTrayIcon

HotKeySet ( "# a", "MouseSwap")

Global $ Düğmeleri

Süre 1
   Uyku (50)
Wend

Func MouseSwap ()
   $ Düğmeleri = 0 ise
      DllCall ("user32.dll", "int", "SwapMouseButton", "int", 1)
      $ Düğmeleri = 1
      SplashTextOn ( "", "E8", 280.180, -1, -1,33, "Wingdings", 80),
      Uyku (600)
      SplashOff ()
   Başka
      DllCall ("user32.dll", "int", "SwapMouseButton", "int", 0)
      $ Düğmeleri = 0
      SplashTextOn ( "", "8F", 280.180, -1, -1,33, "Wingdings", 80),
      Uyku (600)
      SplashOff ()
   EndIf
EndFunc

4

Daha iyi AHK kodu:

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

Ayrıca iki elinizle fareyi kullanıyorum ve Win7 de var, bu kod güzel çalışıyor!


Quicktypers için en iyisi budur.
Leonid Dworzanski

3

Windows Vista (belki 7) ve üstü fare düğmelerini değiştirmenin klavye yolu:

  1. Windows Anahtarı
  2. "fare" yazın
  3. Boşluk
  4. Giriş

Evet, 8 tuşa basmak ama çok kötü değil ... Bir demet yaptım


5. Fare ayarları penceresini kapatmak için ALT + F4
Przemyslaw Remin

2

Bu Autohotkey sürümüdür (değiştirilmiş / 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)
    }

Bu, tüm Windows (Windows 10 dahil) ile iyi çalışır. Genellikle klavyemdeki "F12" tuşu (Autohotkey kullanarak) gibi bir kısayol tuşuyla eşlerim ve bir tuşa basarak anında sol ve sağ fare düğmesi arasında geçiş yapabilirim. Kontrol panelini yüklemeye veya kayıt defteri / yeniden başlatmayı ayarlamaya gerek yoktur.


0

Birkaç iyi Autohotkey önerisi burada, ancak bu doğrudan Windows'daki düğmeleri değiştirir ve bir açılır pencere bildirimi verir.

Mika tarafından belirtilen fare faresi Autoit betiğinin bir kopyasıdır.

#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

Pop-up olmadan ters bir alternatif:

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

-1

Bir klavye kısayolu hakkında bilmiyorum ama burada açıklananları yapan iki reg dosyası yapabilirsiniz . Sadece tıklayın ve gidip gidin.

Gerçekten onunla fındık almak istiyorsanız , reg dosyalarını tetikleyen bir AutoHotkey betiği oluşturun


Bu iyi değil, sadece kayıt defteri girdisini değiştirmenin bir etkisi yoktur; düğmeler değişmeden kalır. Etkinleşmeleri için yeniden başlatmanız veya oturumu kapatıp tekrar açmanız gerekir.
Synetech

-1

Mümkün olduğunca rastgele exe dosyalarını kullanmaktan kaçınmak istiyorum, burada daha önce bahsedilen klavye çözümüne dayanan bir AutoHotKey çözümü.

Fare ayarlarını açan c: \ mouse.ink adlı bir kısayol yapın.

Bu AHK komut dosyasını kullanın:

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

Exe sadece derlenmiş bir AutoIt betiğidir (AutoHotkey'e benzer). Exe yerine au3'ü çalıştırabilirsiniz.
Mica

-1

Mivk belirtildiği gibi, bu düz ileri ve bir cazibe gibi çalışıyor. Bu mivk bahsetti

Aşağıdakileri içeren swapmouse.cs dosyasını çağırabileceğiniz bir metin dosyası oluşturun:

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

Ve bu komutla swapmouse.exe dosyasına derleyin:

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

Şimdi C: \ Program Files \ swapmouse adlı bir klasör oluşturabilir ve swapmouse.exe dosyasını yeni oluşturulan klasöre kopyalayabilirsiniz.

Şimdi masaüstünüzdeki bu swapmouse.exe dosyası için bir kısayol oluşturun.

Kısayol dosyasının özelliği altında bir kısayol tuşu ekleyin, bu durumda "Ctrl + Alt + S" kullandım ve uyguladım.

Şimdi "Ctrl + Alt + S" tuşlarına her basışınızda fare düğmesi değiştirilir.

Artık fare düğmesini değiştirmek için fareye bağımlılık yoktur.


1
Süper Kullanıcıya Hoş Geldiniz! Bu, başka bir yanıtı çoğaltır ve yeni içerik eklemez. Katkıda bulunacak yeni bir şeyiniz yoksa lütfen yanıt göndermeyin.
DavidPostill

-1

Şuna baktınız mı: https://www.eithermouse.com/

Bu, sistem tepsinizden düğmeleri değiştirmenize izin veren ve aynı anda iki fareye sahip olmanızı sağlayan derlenmiş bir otomatik kısayol komut dosyasıdır. Sol ve sağ eller arasında geçiş yapmak için kullandığım iki farem var. Ve bu otomatik olarak imleç açısını ve fare düğmesini değiştirir.


Bunu yapmak için bir komut dosyası eklediyseniz, bu daha yararlı olacaktır. Aksi takdirde bu bir yorum olarak daha iyidir.
Synetech
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.