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

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

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

  • FYI если вам интересно: название языка, по-видимому, использует символ " # "(знак номера U+0023#), а не символ " ♯ " (знак резкости музыки U+266F♯), хотя его имя произносится C Sharp. ср. https://en.wikipedia.org/wiki/C_Sharp_(programming_language)#имя.

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

5
задан ludinom
источник

2 ответов

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

swap:
swap=false

^!m::
    swap := !swap 

#if !swap
    RButton::LButton
    LButton::RButton
2
отвечен Confuzing 2017-08-25 13:49:34
источник

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

0
отвечен otter.pro 2018-09-10 20:20:27
источник

Другие вопросы accessibility autohotkey mouse windows