Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/r57zone/x360advance
External Arduino gyroscope & pedals for any Xbox compatible gamepads / Внешний Arduino гироскоп и педали для Xbox совместимых геймпадов
https://github.com/r57zone/x360advance
arduino gyroscope mpu-6050 mpu6050 steam-controller steering-wheel xbox-controller xbox-controller-gyroscope
Last synced: about 1 month ago
JSON representation
External Arduino gyroscope & pedals for any Xbox compatible gamepads / Внешний Arduino гироскоп и педали для Xbox совместимых геймпадов
- Host: GitHub
- URL: https://github.com/r57zone/x360advance
- Owner: r57zone
- Created: 2018-10-02T19:40:09.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-26T14:35:14.000Z (8 months ago)
- Last Synced: 2024-04-26T15:44:31.183Z (8 months ago)
- Topics: arduino, gyroscope, mpu-6050, mpu6050, steam-controller, steering-wheel, xbox-controller, xbox-controller-gyroscope
- Language: C++
- Homepage: https://youtu.be/evaz_NGZC0E
- Size: 262 KB
- Stars: 41
- Watchers: 3
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.RU.md
Awesome Lists containing this project
README
[![EN](https://user-images.githubusercontent.com/9499881/33184537-7be87e86-d096-11e7-89bb-f3286f752bc6.png)](https://github.com/r57zone/X360Advance/)
[![RU](https://user-images.githubusercontent.com/9499881/27683795-5b0fbac6-5cd8-11e7-929c-057833e01fb1.png)](https://github.com/r57zone/X360Advance/blob/master/README.RU.md)# X360Advance
Внешний Arduino гироскоп для любых XInput совместимых геймпадов, с его помощью можно более точно прицеливаться и рулить. Кнопки позволяют переключать режимы прямо во время игры. [Поддерживаются внешние педали](https://github.com/r57zone/XboxExternalPedals), использовать их можно даже без гироскопа.[![YouTube-X360Advance](https://user-images.githubusercontent.com/9499881/52436336-77815c80-2b2d-11e9-8d56-4ff82d82f48c.gif)](https://youtu.be/lNH2shRDchw)
[![YouTube-X360Advance](https://user-images.githubusercontent.com/9499881/52436371-91bb3a80-2b2d-11e9-8bd1-3399e4026962.gif)](https://youtu.be/lNH2shRDchw)Есть 3 режима использования:
1. По умолчанию - отсуствие использования гироскопа (кнопка 1 - digital pin 5)
2. Руль - эмуляция левого стика гироскопом (кнопка 2 - digital pin 4)
3. FPS - движение мыши наклонами гироскопа (кнопка 3 - digital pin 3)Центрирование осей происходит при нажатии кнопки руля или FPS.
## Настройка: первый способ (рекомендуется)
[Первый способ](https://youtu.be/jzjp3BKtdSs) заключается в том, чтобы использовать программу "XInput Injector". Она находиться в области уведомлений и позволяет в пару кликов внедриться в процесс игры, и использовать гироскоп.![](https://user-images.githubusercontent.com/9499881/69273989-e2021580-0bf2-11ea-8e0f-aa65e3e05ceb.png)
Перед использованием необходимо лишь запустить программу "X360Advance Settings", ввести номер COM-порта, изменить чувствительность движения мыши и руля, по умолчанию стоят рекомендованные настройки. Далее чувствительность мыши можно изменять уже в самих играх.
Для удобства можно также добавить "XInput Injector" в автозагрузку.
В самой программе "XInput Injector" достаточно выбрать название процесса и кликнуть по нему, после успешного внедрения воспроизведется звук подключения нового оборудования.
## Настройка: второй способ
Второй способ использования заключается в том, чтобы копировать прокси dll в папку самой игры. Способ имеет плохую совместимость, работает преимущественно со старыми играми.Для настройки необходимо изменить номер COM-порта в файле "X360Advance.ini", чувствительность движения мыши и руля, по умолчанию стоят рекомендованные настройки.
Далее необходимо скопировать файлы "xinput1_3.dll" (в соответствии с разрядностью игры, для 32-битной игры из папки x86, для 64-битной из папки 64) в папку с игрой и запустить игру.
Возможно, для некоторых игр придется переименовать "xinput1_3.dll" в одно из названий: "xinput9_1_0.dll", "xinput1_1.dll", "xinput1_2.dll" или "xinput1_4.dll" (только Metro приложения).
Для игр, в которых XInput dll библиотека не заработала, можно также использовать приложение "X360AdvanceApp", которое позволяет просто эмулировать мышь для прицеливания.
## Внешний Arduino гироскоп
Необходимо купить [Arduino Nano](http://ali.pub/2oy73f), датчик вращения [MPU 6050 GY-521](http://ali.pub/2oy76c), [3 кнопки](http://ali.pub/33lzue), [плату для прототипирования](http://ali.pub/340eo5), [кабель 2 м. miniUSB](http://ali.pub/340epp) или [microUSB](http://ali.pub/340eqa) (в зависимости от Arduino) и [ленту липучку](http://ali.pub/33pbqa). Спаять по схеме. Закрепить на задней части корпуса, например, резинками.![](https://user-images.githubusercontent.com/9499881/52437030-42760980-2b2f-11e9-8ce5-14b45b30ca31.png)
![](https://user-images.githubusercontent.com/9499881/60760041-9aae2a80-a03f-11e9-81a0-e87cf84a0660.png)
Также можно сделать всего один провод, с помощью USB-хаба. [USB-хаб](http://alii.pub/6d2ngp) имеет небольшую плату и её можно разместить внутри геймпада.
![](https://user-images.githubusercontent.com/9499881/60759864-dc89a180-a03c-11e9-8bf4-d0b84894c0e1.png)
Также можно упаковать всё в корпус контроллера. Для этого нужно удалить элементы поддержки платы с задней части внутренней стороны.
[![](https://user-images.githubusercontent.com/9499881/85574543-ed656580-b647-11ea-9a93-e8802a5c209b.png)](https://user-images.githubusercontent.com/9499881/85574534-ec343880-b647-11ea-9107-df005d7aa7b9.png)
Прошить скетч калибровки, положить на ровную поверхность, получить данные для калибровки. [Вписать данные калибровки в основной скетч](https://youtu.be/sKuiGC6Mxf0?t=184).
Прошивку и библиотеки можно найти по ссылке ниже.
## Возможные проблемы
Часть игр несовместимы с данным методом, поскольку не расчитаны на использование мыши и геймпада одновременно. У части игр могут постоянно изменяться значки кнопок (с клавиатура на геймпад и наоборот).## Благодарности
* [MinHook](https://github.com/TsudaKageyu/minhook) за библиотеку хуков для Windows.
* [Injector от @Nefarius](https://github.com/nefarius/Injector) за удобный инжектор DLL-библиотек.
* [Injectable Generic Camera System от Frans Bouma](https://github.com/ghostinthecamera/IGCS-GITC) за примеры использования MinHook для подмены данных XInput.## Загрузка
>Версия для Windows 7, 8.1, 10.**[Загрузить](https://github.com/r57zone/X360Advance/releases)**
## Обратная связь
`r57zone[собака]gmail.com`