Итак. Первый ком блином. Встречайте:
Mouse Control V0.99------------
Сначала немного инфы. Ссылка на скачивание будет в конце поста.
Программа представляет из себя один
exe файл плюс один
ini файл с настройками. Программа полностью портабельно, т.е. можно скопировать ее куда угодно и запускать откуда угодно. Если
ini файл будет отсутствовать в каталоге с программой, то будут взяты настройки по умолчанию и файл пересоздастся по ходу программы.
При запуске программы в трее появляется вот такая иконка:
Сразу после запуска программа находится в неактивном состоянии. Для того чтобы ее активировать, нужно нажать клавишу
F1 тогда на экране, в том месте где находится курсор мыши появится окошко с вот такими элементами управления:
Для того чтобы спрятать управление нужно нажать
F2Для того чтобы полностью выйти из программы и выгрузить ее из памяти нужно нажать
F3 (Так же можно, когда программа не активна, щелкнуть правой кнопкой мыши по иконке и выбрать "Exit"
(кнопки не окончательные, можно в будущем поменять на более удобные)
После активации программы, перемещения мышки блокируются границами ее окна и при наведении на один из квадратов в активное приложение посылается нажатие соответствующей клавиши. Центральный квадрат не посылает никаких клавиш.
Для наглядности нарисовал картинку, какое направление какому прямоугольнику соответствует:
Стрелки из сплошных линий, означают, что клавиша считается нажатой до тех пор пока мышка находится в соответствующем прямоугольнике и для того, чтобы прекратить нажатие надо переместить курсор в центральный квадрат. Два нижних прямоугольника посылают однократное нажатие клавиш "влево" или "вправо", и для того чтобы их повторить надо вывести курсор в центральное поле и завести его вновь сюда.
Далее:
Левая кнопка мыши - "ВВЕРХ / ПРЫЖОК"
Правая кнопка мыши - "ДЕЙСТВИЕ / ИНВЕНТАРЬ"
Колесико мыши вверх - клавиша "ESC"
Колесико мыши вниз - "ВНИЗ"
Теперь о дополнительных кнопках управления (действуют только когда окно программы активно)
"1" - открывает в левом-верхнем углу активного приложения небольшое информационное окошко с информацией о клавишах управления, настройках программы и ее версии. Вот такое:
"2" - переключает набор управления. Пока забил три основных набора:
- Стандартные курсорные клавиши + Enter
- Синклер джойстик (6, 7, 8, 9, 0)
- Q, A, O, P + Space
Первый вариант подходит для игры в DizzyAGE игры, второй и третий для игры на эмуляторе спектрума.
"3" Изменить размер окна. Всего есть три разных размера: маленький, средний и большой.
"4" Изменить значение задержки перед посыланием однократного нажатия клавиши (от 0 до 50 микросекунд)
"5" Изменить значение длительности однократного нажатия клавиши (от 0 до 100 микросекунд)
Последние два пункта нужны для корректной работы кнопок позволяющих делать единичные шаги влево-вправо.
Первый означает сколько микросекунд пройдет прежде чем в программу будет отправлено нажатие клавиши, его в принципе трогать не нужно, т.к. это оптимальное значение и менять его придется в исключительных случаях, если нажатие будет посылаться слишком быстро и программа просто не будет успевать его получать.
Второе значение регулирует сколько микросекунд продлиться нажатие. А вот этот параметр скорее всего придется регулировать для разных игр. В зависимости от того насколько большая задержка выставлена, столько и будет нажата клавиша и настолько длинный шаг сделает Диззи. Я подобрал более-менее оптимальное значение которое подойдет для большинства игр. Но для некоторых в которых нужно делать очень маленькие шаги (например Fantastic Dizzy Home Alone) придется эту задержку уменьшать. Но тут вылезает еще один неприятный фактор, если задержка слишком маленькая, то программа периодически не будет успевать обрабатывать нажатие клавиши и придется тыкаться в нужный прямоугольник несколько раз мышкой для получения эффектов. К сожалению тут многое зависит от конкретной системы, игры и т.д. поэтому подбирать задержки придется самостоятельно.
"6" поменять местами действия левой и правой кнопок мыши (ну вдруг захочется когда-нибудь)
----------------------
Некоторые ньюансы. Программа сделана так, что мышка не должна покидать пределы ее окна. Если же такое все-таки произойдет (например потеряется фокус на окно или другая программа перехватит курсор мыши), то программа просто станет неактивной и скроет управление, для повторного вызова нужно просто еще раз нажать "
F1"
Элементы управления специально сделал полупрозрачными, чтобы при случае можно было их разместить прямо над окном игры.
Если нужно переместить элементы управления в дургое место, нужно просто нажать "
F2" переместить мышку в новое место и снова нажать "
F1"
----------------------
Возможные глюки и проблемы.
Возможны конфликты программы с антивирусом, т.к. в ней используются системные события и т.д. Т.к. я антивирусами в принципе не пользуюсь, то не могу заранее сказать как они себя поведут. Но по идее проблем быть не должно, т.к. тут используются чисто системные команды и проверенные программы. Если что, то вот проверка на
virustotal. Ни один из основных антивирусов ничего не находит и только два ложноположительных результата от каких-то ноунеймов.
Иногда в редких случаях при изменении масштаба пропадают элементы управления, (т.к. во время перерисовки может потерятся фокус окна). В этом случае можно просто нажать F2, а затем F1. Если это не поможет, то просто перезапустить приложение и нажать F1.
--------------
Ну и наконец ссылка на программу:
Mouse Control V0.99---------------
FreeWind, желаю приятной игры. Ну и если, что не так - пиши, подправлю программу.