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

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

2 ответа2

3

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

swap:
swap=false

^!m::
    swap := !swap 

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .