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

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

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


зы. Сори за некропостинг, но сюда яндекс ведёт поисковый траффик на вопрос из заголовка. Сам измучился, пытаясь решить:)
Ответ написан
Комментировать
YuraYur
@YuraYur
d--b
Отпишите результат, удалось ли вам решить вопрос с помощью скрипта что описал TomashUA. Или возможно уже нашли какое-то другое решение?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы