
Мой восьмилетний сын — левша, а я — правша. Я хочу иметь возможность быстро и легко переключать основные и дополнительные кнопки мыши из командной строки. Мы используем Windows 10. Я нашелэтот, который предоставляет решения на C и C#*. Я нашелэтоткоторый предоставляет решение, требующее перезагрузки, а также ссылку на ответ Stack Overflow. Однако мне кажется, что это можно сделать, не прибегая к компилируемому языку. Я был бы рад решению с использованием PowerShell, Python, Perl,nircmdутилита и т. д., но я бы предпочел не прибегать к компилируемому языку.
Спасибо за помощь.
- Если вам интересно: в названии языка, по-видимому, используется символ «#» (U+0023 # ЗНАК ЦИФРЫ), а не символ «♯» (U+266F ♯ ЗНАК ДИЕЗА), хотя его название произносится как «до-диез». ср.https://en.wikipedia.org/wiki/C_Sharp_(язык_программирования)#Имя.
Редактировать: Изменил вопрос, добавив "...или с помощью горячей клавиши...", так как в конечном итоге я хотел сделать это с помощью горячей клавиши 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), и могу мгновенно переключаться между левой и правой кнопкой мыши одним нажатием клавиши.