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