Wie vertausche ich die primäre und sekundäre Maustaste über die Befehlszeile oder mithilfe eines Hotkeys, ohne einen Neustart oder die Kompilierung eines Programms durchzuführen?

Wie vertausche ich die primäre und sekundäre Maustaste über die Befehlszeile oder mithilfe eines Hotkeys, ohne einen Neustart oder die Kompilierung eines Programms durchzuführen?

Mein achtjähriger Sohn ist Linkshänder und ich bin Rechtshänder. Ich möchte die primären und sekundären Maustasten schnell und einfach über die Befehlszeile umschalten können. Wir verwenden Windows 10. Ich fandDas, das C- und C#*-Lösungen bietet. Ich fandDasDies bietet eine Lösung, die einen Neustart erfordert, und enthält auch einen Link zur Stack Overflow-Antwort. Es scheint mir jedoch, dass dies möglich sein sollte, ohne auf eine kompilierte Sprache zurückzugreifen. Ich wäre mit einer Lösung mit PowerShell, Python, Perl, einemnircmdDienstprogramm usw., aber ich würde lieber nicht auf eine kompilierte Sprache zurückgreifen.

Ich danke Ihnen für Ihre Hilfe.

Bearbeiten: Frage geändert, um „… oder mithilfe eines Hotkeys …“ hinzuzufügen, da ich dies letztendlich mit einem Autohotkey-Hotkey tun wollte; es stellte sich heraus, dass Autohotkey den Austausch selbst durchführen kann. Ich ging davon aus, dass die Antwort z. B. ein Powershell-Skript wäre, das ich mithilfe eines Autohotkey-Hotkeys aufrufen würde. Siehe die akzeptierte Antwort.

Antwort1

Hier ist, was ich mir für AHK ausgedacht habe. Schaltet einfach die Neubelegung der Maustasten um mitctrl+alt+m

swap:
swap=false

^!m::
    swap := !swap 

#if !swap
    RButton::LButton
    LButton::RButton

Antwort2

Dies ist die Antwort, die gepostet wurde aufhttps://superuser.com/a/1357020/790554.

Dies ist die Autohotkey-Version (modifiziert/basierend aufhttps://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 problemlos mit allen Windows-Betriebssystemen (einschließlich Windows 10). Normalerweise ordne ich es einem Hotkey wie der Taste „F12“ auf meiner Tastatur zu (mit Autohotkey) und kann mit einem Tastendruck sofort zwischen der linken und rechten Maustaste wechseln.

verwandte Informationen