Если кто задумывался на данную тему, то тот знает, что рядовой геймпад способен заменить традиционную мышь. Главной целью такой трансформации является замещение мыши в случае её поломки или не рабочего аккумулятора. Есть ещё вариант, когда вам из геймпада хочется сделать универсальное устройство.
1. Настраиваем Steam
В самом магазине существует специальный режим под названием Big Picture, с его помощью мы можем управлять джойстиком как обычной мышкой. Правый рычажок отвечает за перемещение курсора, а триггер заменяет кнопки на мышке. Стоит сказать, что данная функция работоспособна только в пределах самого Steam.
Хорошо, а что если нам нужно использовать курсор для рабочего стола и запуска различных приложений? Нам снова на помощь приходит Steam, который способен взаимодействовать с различными моделями джойстиков. При настройки определённых комбинаций на геймпаде, мы получаем возможности по запуску различных программ. Для активации данной фишки нам потребуется провести следующие действия:
Как использовать геймпад вместо мышки
- запустить основное окно Steam;
- зайти в «Настройки — «Контроллер» — «Общие настройки контроллера»;
- находим свой геймпад, фиксируем его с помощью галочки и получаем возможность перемещать курсор за счёт правого рычажка;
- в разделе «Настройки — Контроллер» находим пункт «Конфигурация рабочего стола», где определяемся с выбором клавиш на вашей клавиатуре, которые будут работать через геймпад.
зайти в «Настройки — «Контроллер» — «Общие настройки контроллера»
Есть одна деталь, когда вы совершили запуск любимого виртуального мира из самого Steam, то в игре все кнопки будут функционировать штатно и выполнять все основные задачи. При запуске того же проекта не из Steam, то возможны проблемы в том плане, что геймпад будет работать как стандартная мышка. Решается данная задача достаточно просто, вам нужно внести вашу игру в библиотеку Steam.
2. Специальные программы на бесплатной основе
Популярные джойстики такие как DualShock от Sony и решения от XBox не фиксируются в Microsoft Windows. Вас могут выручить программки типа Gopher 360, InputMapper, способные определять девас и активировать для стабильной работы с ПК.
3. Программы на платной основе
Существует приложение, которое стоит достаточно дешево, около 79 рублей. Данная программа носит название Controller Companion, в её задачи входит грамотная настройка всех возможностей джойстика от Xbox. С её помощью можно заменить клавиатуру и обычную мышку, и назначить нужные вам клавиши под конкретный виртуальный мир или выполнения других задач.
Заключение
Надеюсь, материал вам понравился, и вы сможете превратить ваш геймпад в классическую мышку с клавиатурой, тем самым получить универсальное устройство для различных задач. Если у вас есть желание поговорить по данной теме, то добро пожаловать в комментарии. Спасибо за уделённое время и до новых статей на канале!
Источник: dzen.ru
JoyMouse 2.1
Для того чтобы пользоваться игровым контроллером на компьютере или ноутбуке в качестве мышки, потребуется специальное программное обеспечение. Об одной из таких утилит мы, собственно говоря, и расскажем в данном обзоре. Внизу по ссылке можно бесплатно скачать JoyMouse для Windows XP, 7, 8 или 10. Сразу отметим, что версии на русском языке пока нет, но софт настолько прост в использовании, что разобраться с ним довольно быстро можно даже на английском языке.
Описание и возможности
Первой хорошей новостью для желающих воспользоваться данной утилитой является тот факт, что распространяется она бесплатно. Разработано программное обеспечение на широко известном языке программирования С++. Давайте немного подробнее разберемся, что же умеет JoyMouse. К ключевым возможностям следует отнести такие функции:
- Возможность настройки кнопок джойстика в ручном режиме.
- Поддержка работы с горячими клавишами.
- Присутствует функция, позволяющая усилить движение мышки.
- Полноценная эмуляция движения мышкой, что позволяет вести управление в различных играх и приложениях.
Программа поддерживает самые разнообразные игровые контроллеры и позволяет гибко настроить более 15 кнопок мышки.
Как пользоваться
Переходим к инструкции по загрузке, установке и использованию утилиты, обозреваемой сегодня.
Загрузка и установка
Для инсталляции желаемого софта для ПК или ноутбука под управлением операционной системы Windows, необходимо выполнить несколько очень простых действий, а именно:
- Переходим в раздел скачивания, найти который можем внизу странички. Находим ссылку, с помощью которой загружаем архив с приложением. Распаковываем его и запускаем инсталляцию утилиты, кликнув дважды по исполняемому файлу. На скриншоте ниже он обозначен красным маркером.
- Дальше нам необходимо принять условия пользовательского соглашения. Для этого кликаем по обведенной на картинке ниже клавише.
- Настраиваем ярлыки и жмем «Next».
- Теперь осталось лишь нажать «Install». Это запустит сам процесс установки софта.
Если самостоятельно разобраться с принципами настройки игрового контроллера в качестве мышки у вас не получится, можно просмотреть обучающее видео сети.
Инструкция по работе
Как мы уже и отмечали ранее, пользовательский интерфейс утилиты не содержит русского языка. В принципе, это не проблема, потому что он настолько интуитивно понятен, что разобраться с ним сможет даже школьник. Вам необходимо подключить джойстик или другое устройство к ПК, запустить программу и просто назначить клавиши и выбрать скорость курсора с помощью бегунков. Для сохранения внесенных изменений кликаем по «ОК».
Если трудности возникнут с инсталляцией софта, вы можете описать свою проблему через форму комментирования, распложенную ниже. Мы постараемся помочь советом в самые короткие сроки.
Достоинства и недостатки
Для того чтобы нашим читателям было проще принять решение, стоит ли устанавливать софт на свой ПК, мы подготовили список его положительных и отрицательных сторон.
- Симпатичный интерфейс.
- Простота инсталляции.
- Совместимость с Windows 32 и 64 Bit.
- Легковесность и минимальные требования к ПК.
- Поддержка большого количества различных контроллеров.
- Английский интерфейс.
Похожие приложения
Назовем еще несколько программных решений, способных заменить описываемый сегодня софт:
- Xbox 360.
- Xpadder.
- DS4Windows.
Системные требования
Дальше немного подробнее остановимся на параметрах, которые потребуются для нормальной работы программы на ПК или ноутбуке:
- Центральный процессор: начиная от 1 ГГц.
- Оперативная память: от 512 Мб.
- Пространство на жестком диске: начиная с 15 Мб и выше.
- Платформа: Microsoft Windows 32/64 Bit.
Скачать
Ссылка для загрузки программного обеспечения уже ждет вас внизу странички.
Разработчик: | Hotwind Software |
Платформа: | Microsoft Windows XP, 7, 8 или 10 |
Язык: | Английский |
Лицензия: | Бесплатно |
Пароль к архиву: | bestsoft.club |
Видеообзор
Возможно, этот тематический обучающий ролик будет полезным для наших посетителей.
Вопросы и ответы
Прокрутив страничку вниз, вы найдете форму комментирования, через которую сможете поделиться мнением об утилите или задать вопросы, появившиеся в ходе ее использования.
Понравилась статья? Поделиться с друзьями:
Вам также может быть интересно
WeMod – это современная и довольно функциональная площадка, позволяющая использовать различные модификации в тех
В популярной многопользовательской песочнице, речь о которой пойдет в данном материале, часто требуются монотонные
Хотите бесплатно скачать старую добрую игру Косынка для своего ноутбука или компьютера? Тогда вы
Сегодня речь пойдет об одной очень интересной и полезной утилите, позволяющей запускать на компьютере
Для полноценной работы различных контроллеров требуется специальное программное обеспечение. Сегодня говорим об утилите, обеспечивающей
Источник: bestsoft.club
Допиливаем VirtualMouse в новой Input System, для геймпада в Unity
Привет, Хабр! Читаю Хабр с момента его появления, но всегда только читал и этой статьей решил изменить ситуацию. Меня зовут Вениамин Афанасьев и я cоло инди разработчик, работающий в Unity. Довольно часто сталкиваюсь с различными проблемами движка и способах их решения. Сегодня я расскажу вам как заставить VirtualMouse из нового Input System Unity работать.
В своей новой игре VICCP-2 Core, я решил добавить поддержку геймпада и для этого установил новый Input System. Ожидалось, что в новой системе всё будет работать из коробки и в документации была описана эта возможность. В пакете даже есть проект с примером (картинка выше).
У пакета есть 2 режима отображения курсора: Hardware и Software. И тут же возникла первая проблема, у мышки и у геймпада были разные курсоры. При включении Hardware курсора, нажатия с мышки переставали регистрироваться. В довесок при управлении с геймпада курсор выходил за пределы экрана. Зум колесика не синхронизировался.
Ситуация сложилась, что вроде оно работает, но пользоваться этим невозможно.
Естественно я сразу полез в интернет искать решение. Нашел кучу форумов, роликов на ютубе где пытались решить это. Но к моему удивлению ничего не нашел, за исключением одного ролика, но данный подход меня не удовлетворил.
Далее заметил, что пакет ставит 1.3.0 версию, а документация есть уже на 1.5.1. По этому я отправился на официальный гитхаб от Unity и без труда нашел там новую версию нужного мне исходника. И там я увидел это:
Разницы у файла из 2019 и файла 2023 версии 1.5.1 нет. За 3 года, все эти «TODO» так и не были реализованы (Добро пожаловать в Unity, но сам движок отличный).
Ситуация стала безнадежной, так как изначально я хотел использовать именно оригинальный «инпут систем», чтобы избежать потом каких либо проблем. Затем, я полез на ассетстор, и нашел там отличный ассет Rewired. Тут я понял, что скорее всего его, обычно все и используют, или подобный ему. По этой причине, информации о том как заставить работать родной VirtualMouse от Unity нет.
Специально описал, способы поиска решения, так как это тоже опыт и он может пригодится в других задачах. Особенно когда люди впадают в ступор и обычная ссылка на гитхаб Unity, может спасти положение, так как многие даже не подозревают о его существовании. Движок постоянно дописывается и часто уже есть готовое и исправленное. А ещё мне данная ситуация показалась забавной, ведь это официальный пакет.
Я не горел желанием покупать дорогой ассет и жаба меня так задавила, что в итоге я решил залезть в исходник и доделать эти «TODO» сам. Так же влезть в код Unity, уже своеобразный челлендж. Итак приступим:
- Вырезаем весь класс из пакета и создаем новый, так же меняем имя на «VirtualMouseV». Это нужно, чтобы мы никак не изменяли оригинальный пакет и у нас не было потом проблем, например после его обновления.
public class VirtualMouseV : MonoBehaviour
- Тут убираем строчку «InputSystem.DisableDevice(m_SystemMouse);». Данная строчка, как раз и отключала мышку (Зачем?):
private void TryEnableHardwareCursor() < var devices = InputSystem.devices; for (var i = 0; i < devices.Count; ++i) < var device = devices[i]; if (device.native device is Mouse mouse) < m_SystemMouse = mouse; break; >> if (m_SystemMouse == null) < if (m_CursorGraphic != null) m_CursorGraphic.enabled = true; return; >// убрал чтобы мышка продолжала работать // InputSystem.DisableDevice(m_SystemMouse); // Sync position. if (m_VirtualMouse != null) m_SystemMouse.WarpCursorPosition(m_VirtualMouse.position.ReadValue()); // Turn off mouse cursor image. if (m_CursorGraphic != null) m_CursorGraphic.enabled = false; >
- Убираем «TryFindCanvas()». Будем выставлять канвас вручную:
// поиск канваса скрыл //private void TryFindCanvas() //< // m_Canvas = m_CursorGraphic?.GetComponentInParent(); //>
- Делаем канвас публичным, чтобы выставить его в инспекторе (не забудьте потом это сделать). А так же добавляем переменную «isUseGamePad», она нам понадобится для синхронизации мышки и геймпада.
public Canvas m_Canvas; // Canvas that gives the motion range for the software cursor. /// /// Флаг использовался ли гейпад /// private bool isUseGamePad = false;
- Приводим «UpdateMotion()», вот в такой вид:
private void UpdateMotion() < // включаем флаг что геймпад используется isUseGamePad = true; if (m_VirtualMouse == null) < // флаг что геймпад не испольуется isUseGamePad = false; return; >// Read current stick value. var stickAction = m_StickAction.action; if (stickAction == null) < // флаг что геймпад не используется isUseGamePad = false; return; >var stickValue = stickAction.ReadValue(); if (Mathf.Approximately(0, stickValue.x) Mathf.Approximately(0, stickValue.y)) < // Motion has stopped. m_LastTime = default; m_LastStickValue = default; // флаг что геймпад не используется isUseGamePad = false; >else < var currentTime = InputState.currentTime; if (Mathf.Approximately(0, m_LastStickValue.x) Mathf.Approximately(0, m_LastStickValue.y)) < // Motion has started. m_LastTime = currentTime; >// Compute delta. var deltaTime = (float)(currentTime — m_LastTime); var delta = new Vector2(m_CursorSpeed * stickValue.x * deltaTime, m_CursorSpeed * stickValue.y * deltaTime); // Update position. var currentPosition = m_VirtualMouse.position.ReadValue(); var newPosition = currentPosition + delta; ////REVIEW: for the hardware cursor, clamp to something else? // Clamp to canvas. //if (m_Canvas != null) // < // Clamp to canvas. var pixelRect = m_Canvas.pixelRect; newPosition.x = Mathf.Clamp(newPosition.x, pixelRect.xMin, pixelRect.xMax); newPosition.y = Mathf.Clamp(newPosition.y, pixelRect.yMin, pixelRect.yMax); //>////REVIEW: the fact we have no events on these means that actions won’t have an event ID to go by; problem? InputState.Change(m_VirtualMouse.position, newPosition); InputState.Change(m_VirtualMouse.delta, delta); // обычная мышка InputState.Change(virtualMouse.position, newPosition); InputState.Change(virtualMouse.delta, delta); // Update software cursor transform, if any. if (m_CursorTransform != null (m_CursorMode == CursorMode.SoftwareCursor || (m_CursorMode == CursorMode.HardwareCursorIfAvailable m_SystemMouse == null))) m_CursorTransform.anchoredPosition = newPosition; m_LastStickValue = stickValue; m_LastTime = currentTime; // Update hardware cursor. m_SystemMouse?.WarpCursorPosition(newPosition); > // Update scroll wheel. var scrollAction = m_ScrollWheelAction.action; if (scrollAction != null) < var scrollValue = scrollAction.ReadValue(); //Debug.Log(scrollValue.x + » » + scrollValue.y); scrollValue.x *= m_ScrollSpeed; scrollValue.y *= m_ScrollSpeed; InputState.Change(m_VirtualMouse.scroll, scrollValue); // синхронизирум мышку с текущим зумом, если есть нажатия if (scrollValue.y != 0) < // обновляем скролл у мышки InputState.Change(Mouse.current.scroll, scrollValue); >> >
- Дописываем «OnAfterInputUpdate()»:
private void OnAfterInputUpdate() < UpdateMotion(); // обновляем позицию курсора геймпада из позиции мышки, когда геймпад не зайдействован if (isUseGamePad == false) < InputState.Change(m_VirtualMouse.position, Mouse.current.position.ReadValue()); >>
Всё, теперь у нас есть полностью рабочий VirtualMouse, в режиме hardware. Теперь используется один курсор и на мышку и на геймпад, и он не выходит за границу экрана. Так же отслеживается состояние колесика и синхронизируется с геймпадом, по этому Mouse.current.scroll.ReadValue().y будет работать и там и там одинаково. Теперь Unity воспринимает геймпад как полноценную мышь.
Так же не забудьте добавить девайсы в настройке пакета:
Пример, как нужно выставлять управление у геймпада для колесика. Вещь неочевидная и на это тоже потратил время:
Демонстрация работы допиленного компонента. Курсор в ролике двигает мышка и геймпад поочередно. При этом они работают одновременно.
Надеюсь, данная статья поможет тем, кто столкнулся с этой проблемой.
Источник: habr.com