Задать вопрос
iiil
@iiil
Инженер и вэб-дизайнер, рисую.

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

Здравствуйте.
Ситуация такова, что я работаю в большом количестве программ. SolidWORKS, CorelDRAW, Autocad, Photoshop, Adobe Illustrator. Иногда одновременно запущены solid, corel и ai. Одни из неприятных моментов: средняя кнопка мыши (нажатие на колесо) в SolidWORKS, CorelDRAW, Autocad выполняют функцию вращения (солид), в кореле и автокаде - перетаскивание рабочего пространства. Вращение колеса - масштаб (правда в солиде инвертирован). Но в клятом ai функции совершенно другие, приходится для перетаскивания поля использовать пробел, для масштаба альт. Все бы ничего, но когда используешь все эти программы - действительно геморрой перенастраиваться.
1. Искал как перенастроить ai - ничего не нашел. Если есть способ - буду очень благодарен.
2. Если можно изменить настройки в windows для мыши под определенную программу - тоже было бы отлично!
3. Как раз собираюсь купить мышь, подскажите, возможно ли купить мышь, где есть возможность настроить для ai колесо для работы как в кореле. Или может есть другой вариант исправить ситуацию, например на дополнительную кнопку мыши повесить или нажатие альта, или нажатие альта + ЛКМ.
Конечно, я привык пользоваться лишь тремя кнопками мыши, но думаю, что быстро переучусь.
  • Вопрос задан
  • 12398 просмотров
Подписаться 4 Оценить Комментировать
Ответ пользователя Антон Киселёв К ответам на вопрос (4)
zamboga
@zamboga
Аналитика данных, BI-аналитика, дашборды
Аналогичная задача. Двигать холст в 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


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