Наверняка у вас есть мышка, обычная или с дополнительными кнопками. Однако не все её функции доступны по умолчанию при работе с MetaTrader и MetaEditor, а некоторые и вовсе работают неправильно. Исправим это своими с помощью одной программы и нескольких настроек.
Можно написать небольшую программу, которая бы перехватывала указанные кнопки мыши и что-то делала, но всё уже сделано за нас, например в X-Mouse Button Control (XMBC).
В этой программе каждому окну и процессу можно назначить свои действия. Сначала добавляем новый профиль кнопкой Add, указываем имя процесса (удобно сначала запустить соответствующую программу, чтобы выбрать её из списка). Для редактора MT4 и 32-битной MT5 нужно указать имя экзешника
При нажатии кнопок мыши они будут подсвечиваться справа, так можно легко узнать, чему соответствуют, например, боковые кнопки на вашей мыши.
Хватит про базовые возможности, всё вполне очевидно, а для тех особенных программистов, которые не знают английского, есть интерфейс на других языках, включая русский. Перейдём собственно к тем задачам, которые хочется решить с помощью этой программы или её аналогами.
Переход на определение также осуществляется комбинацией клавиш
Не проверял в последних билдах, но раньше имитация
В зависимости от ваших привычек и производителя мыши, может понадобиться поменять местами кнопки 4 и 5. Например, в моей последней мышке от A4Tech боковые кнопки перепутаны местами относительно всех моих прошлых мышей с такими кнопками. XMBC может поменять их местами глобально (профиль Default) или в отдельной программе.
В XMBC это решается повторным назначением кнопкам своих же действий (Back и Forward). Не знаю, как это работает, но эти кнопки начинают правильно работать, при этом не мешая “правильным” CHM.
Параметры профиля окна:
И собственно настройки:
Необходимое ПО
Понадобится лишь одна функция - возможность назначить клику любой кнопки мыши имитацию нажатия клавиш клавиатуры и кнопок мыши. Очень желательно с фильтрацией по приложению (обычно доступен фильтр по имени процесса / exe-файла, заголовку, классу окна, всё вместе или отдельно).Можно написать небольшую программу, которая бы перехватывала указанные кнопки мыши и что-то делала, но всё уже сделано за нас, например в X-Mouse Button Control (XMBC).
В этой программе каждому окну и процессу можно назначить свои действия. Сначала добавляем новый профиль кнопкой Add, указываем имя процесса (удобно сначала запустить соответствующую программу, чтобы выбрать её из списка). Для редактора MT4 и 32-битной MT5 нужно указать имя экзешника
metaeditor.exe
, а для 64-битной MT5 - metaeditor64.exe
. Если пользуетесь обоими вариантами, придётся продублировать все настройки в разных профилях.При нажатии кнопок мыши они будут подсвечиваться справа, так можно легко узнать, чему соответствуют, например, боковые кнопки на вашей мыши.
Хватит про базовые возможности, всё вполне очевидно, а для тех особенных программистов, которые не знают английского, есть интерфейс на других языках, включая русский. Перейдём собственно к тем задачам, которые хочется решить с помощью этой программы или её аналогами.
Переход на определение
В MetaEditor есть возможность перейти на определение средней кнопкой мыши (колесом), однако перед этим необходимо встать на определение курсором (mki#10). Это действие можно автоматизировать - сымитировать сначала левый клик мыши ({LMB}
), а затем - средний ({MMB}
).Переход на определение также осуществляется комбинацией клавиш
Alt+G
, поэтому можно заменить комбинацию двух кликов мыши на клик для выбора слова и нажатие Alt+G
, получится {LMB}{ALT}G
. У меня нормально работают оба варианта, но в случае каких-то проблем можно перейти с одного на другой.Навигация вперёд-назад
Переход вперёд-назад в редакторе происходит по нажатиям комбинаций клавишCtrl+'-'
и Ctrl+Shift+'-'
или альтернативных им Alt+Left
и Alt+Right
,
которые работают и в большинстве других программ с возможностью таких
переходов. Но перемещаться боковыми кнопками мыши нельзя. Исправим.Не проверял в последних билдах, но раньше имитация
Alt+Left
и Alt+Right
работала неправильно, поэтому я переключился на Ctrl+'-'
, Ctrl+Shift+'-'
. Вручную нажимать их неудобно, но программно - без разницы.В зависимости от ваших привычек и производителя мыши, может понадобиться поменять местами кнопки 4 и 5. Например, в моей последней мышке от A4Tech боковые кнопки перепутаны местами относительно всех моих прошлых мышей с такими кнопками. XMBC может поменять их местами глобально (профиль Default) или в отдельной программе.
Работа со справкой
При работе со справкой MT, ME или MQL формата CHM кнопки мыши (обычно сбоку) вперёд и назад работают неправильно, вместо перехода происходит уменьшение шрифта (mki#37). Справка в этом формате у других программ работает нормально, проблема только здесь.В XMBC это решается повторным назначением кнопкам своих же действий (Back и Forward). Не знаю, как это работает, но эти кнопки начинают правильно работать, при этом не мешая “правильным” CHM.
Параметры профиля окна:
Class: Internet Explorer_Server
Parent Class: Shell DocObject View
И собственно настройки:
Прочее
Что ещё я делал этой программой:- Отправка сочетаний клавиш в MT, где индикатор их подхватывает и
делает своё дело, например кнопками вперёд-назад можно менять масштаб
или таймфрейм или символ или что-либо ещё, зависит от логики
индикатора-перехватчика, причём можно как назначить сочетание клавиш для
запуска некоторого скрипта в MT, так и отлавливать клавиши в индикаторе
в
OnChartEvent
. - Показ различий в TortoiseHg Workbench нажатием средней кнопки мыши.
- Переход между различиями в TortoiseMerge и подобных программах боковыми кнопками.
- Поддержка боковых кнопок в RStudio вместо F9/F10 (перестало работать какое-то време назад, но это баг самой RStudio).
- Переход по ссылкам средней кнопкой в VSCode.
- Переход к определению средней кнопкой в VS.