Tastenkombination zum Austauschen der Maustasten

26155
dsimcha

Ich benutze meine Maus mit beiden Händen und wechsle aus Komfortgründen gerne hin und her. Dies wird jedoch dadurch erschwert, dass durch eine Vielzahl von Menüebenen jedes Mal die Tasten ausgetauscht werden müssen. Gibt es eine einfache Möglichkeit, eine einzelne Tastenkombination zu erstellen, die meine linke und rechte Maustaste vertauscht?

Bearbeiten: Mein Betriebssystem ist Windows 7.

18

10 Antworten auf die Frage

15
mivk

Wie bereits erwähnt, können Sie einen Registrierungswert ändern (mit einem Befehl, der aus einer Batchdatei aufgerufen wird):

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

oder

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

Sie müssen sich jedoch abmelden, bevor sie wirksam wird .

Die bessere Lösung ist, eine kleine EXE-Datei mit C # zu erstellen, um die Einstellung zu vertauschen, wie in den Antworten auf diese Frage beschrieben .

Erstellen Sie eine Textdatei, die Sie aufrufen können und die Folgendes swapmouse.csenthält:

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

Und kompilieren Sie es swapmouse.exemit diesem Befehl:

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

Dann doppelklicken Sie einfach auf eine Verknüpfung zu diesem Exe, um die Maustasten auszutauschen. Es wird sofort wirksam.

Starten Sie das Exe mit einer ** Tastenkombination **: `1. Klicken Sie mit der rechten Maustaste auf das Exe und wählen Sie "Verknüpfung erstellen". 2. Verschieben Sie die Verknüpfung in "C: \ ProgramData \ Microsoft \ Windows \ Start Menu" oder auf den Desktop. 3. Klicken Sie mit der rechten Maustaste auf die Verknüpfung. Wechseln Sie zur Registerkarte "Shorcut" und wählen Sie Tastenkombination " Rad vor 7 Jahren 2
5
Mica

Hier ist eine App dafür: http://code.google.com/p/mouseswap/

Wenn Sie AutoIt installiert haben, können Sie das Skript in einer au3-Datei ausführen:

#NoTrayIcon  HotKeySet ("# a", "MouseSwap")  Globale $ Buttons  Während 1 Schlaf (50) WEnd  Func MouseSwap () Wenn $ Buttons = 0, dann DllCall ("user32.dll", "int", "SwapMouseButton", "int", 1) $ Buttons = 1 SplashTextOn ("", "E8", 280.180, -1, -1,33, "Wingdings", 80) Schlaf (600) SplashOff () Sonst DllCall ("user32.dll", "int", "SwapMouseButton", "int", 0) $ Buttons = 0 SplashTextOn ("", "8F", 280,180, -1, -1,33, "Wingdings", 80) Schlaf (600) SplashOff () EndIf EndFunc 
3
Kevin Driedger

Tastaturmodus zum Wechseln der Maustasten unter Windows Vista (vielleicht 7) und höher:

  1. Windows-Taste
  2. Typ "Maus"
  3. Leertaste
  4. Eingeben

Ja, es sind 8 Tastendrücke, aber nicht so schlimm ... Ich habe es eine Menge gemacht

5. ALT + F4, um das Fenster mit den Mauseinstellungen zu schließen Przemyslaw Remin vor 6 Jahren 0
3
Lady3Millennium

Der bessere AHK-Code:

Run, main.cpl Send,  

Ich verwende auch eine Maus mit beiden Händen und habe auch Win7, dieser Code funktioniert gut!

2
otter.pro

Dies ist die Autohotkey-Version (modifiziert / basiert auf 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) } 

Dies funktioniert gut mit allen Windows (einschließlich Windows 10). Normalerweise ordne ich es einem Hotkey wie "F12" auf meiner Tastatur zu (mithilfe von Autohotkey), und ich kann sofort mit dem Drücken einer Taste zwischen linker und rechter Maustaste wechseln. Es ist nicht nötig, die Systemsteuerung zu laden oder die Registrierung / Neustart festzulegen.

0
Iain

Ein paar gute Autohotkey-Vorschläge hier, aber diese tauschen die Schaltflächen in Windows direkt aus und geben eine Popup-Benachrichtigung.

Es ist eine Kopie des von mica erwähnten mouseswap Autoit-Skripts.

#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 

Eine Terser-Alternative ohne Popup:

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

Ich habe keine Ahnung von einer Tastenkombination, aber Sie können zwei Reg-Dateien erstellen, die das tun, was hier beschrieben wird . Einfach klicken und los geht's.

Wenn Sie wirklich verrückt werden möchten, richten Sie ein AutoHotkey- Skript ein, das die reg-Dateien auslöst

Das ist nicht gut. Das einfache Ändern des Registrierungseintrags hat keine Auswirkungen. Die Tasten bleiben unverändert. Sie müssten neu starten oder sich ab- und wieder anmelden, damit sie wirksam werden. Synetech vor 10 Jahren 0
-1
jetpilot

Haben Sie angeschaut: https://www.eithermouse.com/

Dies ist ein kompiliertes Autohotkey-Skript, mit dem Sie Schaltflächen aus dem Sys-Fach wechseln können und gleichzeitig zwei Mäuse gleichzeitig verwenden können. Ich habe zwei Mäuse, mit denen ich zwischen linker und rechter Hand wechsle. Und dies ändert automatisch den Winkel von Cursor und Maustaste.

Dies wäre hilfreicher, wenn Sie dazu ein Skript hinzugefügt hätten. Ansonsten ist das besser als Kommentar. Synetech vor 10 Jahren 0
-1
Bill

Ich möchte möglichst keine zufälligen Exe-Dateien verwenden. Hier ist eine AutoHotKey-Lösung, die auf der zuvor genannten Tastaturlösung basiert.

Erstellen Sie eine Verknüpfung mit dem Namen c: \ mouse.ink, die die Mauseinstellungen öffnet.

Verwenden Sie dieses AHK-Skript:

#a:: Run c:\mouse sleep 250 send  Send  return 
Das Exe ist nur ein kompiliertes AutoIt-Skript (ähnlich AutoHotkey). Anstelle des Exes können Sie die Au3 ausführen. Mica vor 10 Jahren 0
-1
Saad Faruque

Wie Mivk erwähnt hat, ist dies geradlinig und wirkt wie ein Zauber. Das hat Mivk erwähnt

Erstellen Sie eine Textdatei, in der Sie swapmouse.cs aufrufen können. Diese Datei enthält Folgendes:

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

Und kompilieren Sie es mit dem folgenden Befehl in swapmouse.exe:

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

Jetzt können Sie einen Ordner mit dem Namen C: \ Programme \ swapmouse erstellen und die swapmouse.exe in den neu erstellten Ordner kopieren.

Erstellen Sie nun eine Verknüpfung für diese Datei swapmouse.exe auf Ihrem Desktop.

Fügen Sie unter der Eigenschaft der Verknüpfungsdatei eine Tastenkombination hinzu. In diesem Fall habe ich "Strg + Alt + S" verwendet und angewendet.

Jedes Mal, wenn Sie "Strg + Alt + S" drücken, wird die Maustaste getauscht.

Es besteht keine Abhängigkeit mehr von der Maus, um die Maustaste zu ändern.

Willkommen bei Super User! Dies dupliziert eine weitere Antwort und fügt keinen neuen Inhalt hinzu. Bitte posten Sie keine Antwort, es sei denn, Sie haben tatsächlich etwas Neues beizutragen. DavidPostill vor 8 Jahren 1