Как поменять первичные и вторичные кнопки мыши из командной строки или с помощью горячих клавиш без перезагрузки или компиляции программы?
Мой восьмилетний сын левша, а я правша. Я хотел бы иметь возможность быстро и легко переключать основные и дополнительные кнопки мыши из командной строки. Мы используем Windows 10. Я нашел это, который предоставляет решения C и C#*. Я нашел это, которое предоставляет решение, которое требует перезагрузки, а также предоставляет ссылку на ответ переполнения стека. Тем не менее, мне кажется, что это должно быть возможным, не прибегая к скомпилированному языку. Я был бы доволен решением, использующим PowerShell, Python, Perl, утилиту nircmd и т. Д., Но я бы не стал прибегать к скомпилированному языку.
Спасибо за помощь.
- К вашему сведению, если вам интересно: название языка, по-видимому, использует символ "#" (U+0023 # NUMBER SIGN), а не символ "♯" (U+266F US MUSIC SHARP SIGN), даже если его имя произносится как C Sharp, ср https://en.wikipedia.org/wiki/C_Sharp_(programming_language).
Редактировать: измененный вопрос, чтобы добавить "... или с помощью горячей клавиши...", так как в конечном итоге я хотел сделать это с помощью горячей клавиши Autohotkey; оказывается, что AutoHotkey может сделать сам обмен. Я предполагал, что ответом будет, например, скрипт Powershell, который я буду вызывать с помощью горячей клавиши Autohotkey. Смотрите принятый ответ.
2 ответа
Вот что я придумал для AHK. Просто переключает повторное связывание кнопок мыши с ctrl+alt+m
swap:
swap=false
^!m::
swap := !swap
#if !swap
RButton::LButton
LButton::RButton
Это ответ, который был размещен на /questions/555307/sochetanie-klavish-dlya-pereklyucheniya-knopok-myishi/555340#555340.
Это версия 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" на моей клавиатуре (используя AutoHock), и я могу мгновенно переключаться между левой и правой кнопкой мыши нажатием клавиши.