Skip to content

Files

Latest commit

79528fa · Mar 2, 2025

History

History
119 lines (83 loc) · 14 KB

README.RU.md

File metadata and controls

119 lines (83 loc) · 14 KB

EN RU

DSAdvance

Продвинутая эмуляция Xbox геймпада для Sony DualSense, DualShock 4, Nintendo Pro контроллера или Джойконов. Поддерживается прицеливание и вождение наклонами геймпада, эмуляция стиков на тачпаде, эмуляция клавиатуры и мыши, а также внешние педали. Работает на базе драйвера ViGEm.

Особенности

✔️ Поддержка вождения наклонами и прицеливания (гироскоп, без каких-либо настроек);
✔️ Простое переключение между режимами вождения и прицеливания (максимум инновационного геймплея);
✔️ Управление Windows, изменение громкости, создание скриншотов, с помощью геймпада;
✔️ Показ заряда батареи на световой панели и индикаторах игрока (для геймпадов Sony);
✔️ Различные режимы эмуляции для игр с адаптивными курками;
✔️ Выключение подсветки для полного погружения в темноте;
✔️ Поддержка внешних модифицированных педалей для гонок;

Поддерживается несколько режимов работы, переключение нажатиями по тачпада DualSene и DualShock 4 или кнопками Capture, и Home для Pro контроллера, и Джойконов (повторное нажатие Home переключает режим прицеливания - всегда/L2).

Для включения прицеливания по кнопке L1 измените параметр AimingWithL2 на 0, в конфиге.

Для выхода из режима эмуляции стиков нажмите на режим по умолчанию.

Нажимая на профиль по умолчанию, на DualSense, белые светодиоды отображают текущий статус заряда аккумулятора (1 - 0..25%, 2 - 26..50%, 3 - 51..75%, 4 - 76..100%), также на DualSense и DualShock 4 показывается статус батареи на световой панели (зелёный - 100..30%, жёлтый - 29..10%, красный - 9..1%), отключается в конфиге, параметр ShowBatteryStatusOnLightBar. Также статус батареи отображается в самой программе на ALT + I.

Есть 3 режима эмуляции:

  • Простая эмуляция Xbox геймпада с расширенными функциями;
  • Эмуляция Xbox геймпада только для режима вождения и прицеливание мышью (для определенных игр с адаптивными триггерами);
  • Только мышь;
  • Эмуляция клавиатуры и мыши для управления Windows и некоторых старых игр;

Переключение режимов происходит на ALT + Q или PS/Home + ←/→ и PS/HOME. Эмуляция клавиатуры и мыши поддерживает разные профили, выберите нужный профиль или создайте новый профиль. Профили переключаются на клавиши ALT + ↑/↓, если окно активно или на геймпаде, с помощью PS/Home + ↑/↓. Профиль по умолчанию позволяет работать в Windows.

Для подключения внешних педалей (DInput) измените параметр DInput на 1, в разделе ExternalPedals. Для подключения внешних педалей на Arduino измените номер COM-порта, изменив параметр COMPort.

Для выключения DualSense или DualShock 4 удерживайте кнопку PS в течении 10-15 секунд, пока контроллер не выключиться.

Горячие клавиши

Действие Кнопки Sony Кнопки Nintendo Windows
Открытие игровой панели Xbox (нажатие Win + G) PS Capture + Home -
Уменьшение и увеличение громкости Windows PS + □ и PS + ○ Capture + Y и Capture + A -
Скриншот (нажатие Win + ALT + PrtScn) Кнопка микрофона или PS + X Capture + B -
Режим прицеливания: эмуляция мыши или смещение правого стика PS + R1 Capture + R1 ALT + A
Изменение чувствительности прицеливания: увеличение и затем уменьшение PS + △ Capture + X -
Сброс чувствительности прицеливания PS + RS Capture + RS -
Изменение силы вибрации или её отключение PS + Options Capture + Плюс ALT + </>
Выключение и включение нажатия тачпада для переключения режимов (Sony) PS + Share - ALT + W
Автонажатие стика при определённом наклоне стика (значение в конфигурационном файле), а также инвертирование PS + LS HOME + LS ALT + S
Режимы скриншота: Игровая панель Xbox, Steam, Игровая панель Xbox + Steam, заданная кнопка в конфиге (параметру MicCustomKey задать нужное значение кнопки - - ALT + X
Выключение подсветки (Sony) PS + L1 или 2 раза нажмите на область яркости тапада и проведите пальцем влево или вправо. Если изменение яркости заблокировано LockChangeBrightness, то подсветка будет выключаться по двойному клику. - ALT + B

Настройка

  1. Установить ViGEmBus.
  2. Установить Microsoft Visual C++ Redistributable 2017 или новее.
  3. Подключить геймпад Sony DualSense, DualShock 4, Nintendo Pro контроллер или JoyCon-ы.
  4. Распаковать и запустить DSAdvance.
  5. При необходимости изменить мёртвые зоны стиков, триггеров или другие параметры, в конфигурационном файле Config.ini.
  6. При использовании со Steam играми, в настройках контроллера, отключите персональные настройки Playstation.
  7. Также рекомендуется установить HidHide, после чего в HidHide Configuration Client нужно добавить DSAdvance.exe и включить параметр Enable device hiding (если выключен). Необходимо для того, чтобы игра не видела наш контроллер, а видела только эмулируемый Xbox 360 геймпад.
  8. (Необезательно) Для запуска из области уведомлений (tray), по двойному клику, можно добавить ярлык на Launcher.exe в автозагрузку Windows %AppData%\Microsoft\Windows\Start Menu\Programs\Startup.
  9. (Необезательно) Для запуска сторонних утилит через Launcher укажатие имя и путь до приложения в конфигурационном файле.

Загрузка

Версия для Windows 10, 11.

Загрузить

Возможные проблемы

Игра видит 2 геймпада одновременно (DualSense / DualShock 4 / Nintendo Pro контроллер или JoyCon-ы и Xbox)
Если игра поддерживает современный геймпад можно выключить эмуляцию Xbox геймпада на клавиши ALT + Q или вовсе скрыть этот геймпад, с помощью программы HidHide, или попробовать в беспроводном режиме.

Постоянное изменение значков клавиатуры и геймпада
Можно изменить режим прицеливания на Mouse-Joystick, в программе или используйте прицеливание, с помощью левого триггера.

Не работают адаптивые триггеры или световая панель в игре
Добавьте игру в список исключений программы HidHide и измените режим DSAdvance на только мышь или Xbox геймпад (только вождение) и прицеливание мышкой.

Не работает вождение, в играх с поддержкой DualSense (без HidHide)
Сначала запустите DSAdvance, а только потом саму игру, игра может отдать приоритет эмулируемому геймпаду Xbox и вождение будет работать. Также можно включить режим эмуляции Xbox геймпад (только вождение) и прицеливание мышкой, чтобы геймпад включался только в режиме вождения.

Не работает эмуляция клавиатура, в некоторых играх
В некоторых играх, например, Max Payne или Crysis 2, к сожалению, это пока не работает.

Не работает вибрация на Nintendo Pro контроллере
Пока не поддерживается, решения ищуться.

Благодарности

  • Sony и Nintendo за самые продвинутые геймпады и инвестирование в инновации, а также за продвижение инноваций в игры.
  • ViGEm за возможность эмуляции разных геймпадов.
  • HIDAPI library, с исправлениями, за библиотеку для работы с USB устройства. В проекте используется этот форк.
  • JoyShockLibrary за классную библиотеку геймпадов, позволяющую легко получить вращение контроллера. Также используется некоторый код из этой библиотеки и пример JibbSmart для прицеливания.
  • DS4Windows[1][2] за уровень заряда батареи.
  • JoyCon-Driver за вибрацию джойконов.

Сборка

  1. Загрузите исходники и распакуйте.
  2. Загрузите Microsoft Visual Studio Code 2017+ и установите.
  3. Измените в свойствах проекта набор инструментов и SDK на ваш.
  4. Выберите тип сборки Release (если установлен Debug) и x86, после чего скомплириуйте проект.

Обратная связь

r57zone[собака]gmail.com