Аналогичная задача. Двигать холст в 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
зы. Сори за некропостинг, но сюда яндекс ведёт поисковый траффик на вопрос из заголовка. Сам измучился, пытаясь решить:)