Как поменять местами основную и дополнительную кнопки мыши из командной строки или с помощью горячей клавиши без перезагрузки или компиляции программы?

Как поменять местами основную и дополнительную кнопки мыши из командной строки или с помощью горячей клавиши без перезагрузки или компиляции программы?

Мой восьмилетний сын — левша, а я — правша. Я хочу иметь возможность быстро и легко переключать основные и дополнительные кнопки мыши из командной строки. Мы используем Windows 10. Я нашелэтот, который предоставляет решения на C и C#*. Я нашелэтоткоторый предоставляет решение, требующее перезагрузки, а также ссылку на ответ Stack Overflow. Однако мне кажется, что это можно сделать, не прибегая к компилируемому языку. Я был бы рад решению с использованием PowerShell, Python, Perl,nircmdутилита и т. д., но я бы предпочел не прибегать к компилируемому языку.

Спасибо за помощь.

Редактировать: Изменил вопрос, добавив "...или с помощью горячей клавиши...", так как в конечном итоге я хотел сделать это с помощью горячей клавиши Autohotkey; оказывается, Autohotkey может выполнить замену самостоятельно. Я предполагал, что ответом будет, например, скрипт Powershell, который я вызову с помощью горячей клавиши Autohotkey. См. принятый ответ.

решение1

Вот что я придумал для AHK. Просто переключает переназначение кнопок мыши сctrl+alt+m

swap:
swap=false

^!m::
    swap := !swap 

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

решение2

Это ответ, который был опубликован наhttps://superuser.com/a/1357020/790554.

Это версия 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), и могу мгновенно переключаться между левой и правой кнопкой мыши одним нажатием клавиши.

Связанный контент