• Как настроить среднюю кнопку мыши для определнных программ

    zamboga
    @zamboga
    Бизнес-аналитика, фин. моделирование, дашборды
    Аналогичная задача. Двигать холст в Visio, удерживая правую или среднюю кнопку мыши.
    Штатно Visio так не умеет. Но можно двигать холст в Visio, удерживая Ctrl+Shift+ПравуюКнопкуМыши, что очень неудобно.
    Итого, была нужна замена "держим Ctrl+Shift+ПравуюКнопкуМыши + двигаем мышь" → "держим СреднююКнопкуМыши (или правую кнопку) + двигаем мышь"

    Для решения я использовал самописный скрипт на AutoHotKey (wiki и документация тут: https://ahk-wiki.ru )
    Думаю, примера и комментов в коде достаточно, чтобы сделать подобное для другого софта.

    #If WinActive("ahk_exe visio.exe")	;работа скрипта только в окне Visio
    
    MButton::				;нажимаем СреднююКнопкуМыши. Если надо удерживать нажатой ПравуюКнопкуМыши — в этом месте заменить на RButton
    While GetKeyState("MButton", "P")=1	;держим нажатой CКМ. Если надо ПКМ — в этом месте заменить на RButton
    {
    SendInput {Control Down}{Shift Down}	;отправляем нажатие CTRL+Shift
    Sleep, 20				;ждём 20 мс, иначе у меня была некорректная работа скрипта
    SendInput {RButton Down}		;отправляем нажатие ПКМ (тут на MButton менять не нужно, тк в Visio надо отправить именно ПКМ)
    KeyWait MButton				;отжимаем CКМ. Если удобнее с нажатой ПКМ — в этом месте заменить на RButton
    SendInput {Control Up}{Shift Up}{RButton Up};отправляем отжатие всех кнопок (тут на MButton менять не нужно, тк в Visio надо отправить отжатие именно ПКМ)
    }
    Return


    зы. Сори за некропостинг, но сюда яндекс ведёт поисковый траффик на вопрос из заголовка. Сам измучился, пытаясь решить:)
    Ответ написан
    Комментировать