Skip to content

Commit c13d139

Browse files
committed
Retro gaming steering wheel emulation, separate desktop control, and improved adaptive triggers
1 parent 288be0e commit c13d139

File tree

8 files changed

+238
-44
lines changed

8 files changed

+238
-44
lines changed

BINDINGS.RU.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ RIGHT-STICK-DOWN = NONE
3333
...
3434
```
3535

36+
## Руль (движение геймпада наклонами)
37+
При переключении режима на вождение наклоны геймпада по оси X используются для эмуляции нажатий кнопок влево и вправо на D-Pad.
38+
39+
Если наклон находится в пределах мёртвой зоны - руль считается в нулевом положении, и нажатия не эмулируются.
40+
41+
Параметр `SteeringWheelDeadZone` отвечает за мертвую зону руля, задается в процентах, от `0` до `100`.
42+
43+
Параметр `SteeringWheelReleaseThreshold` определяет, насколько сильно руль должен вернуться к центру, чтобы прекратилось удержание направления, задается в процентах, от `0` до `100`.
44+
3645
## Клавиатура и мышь
3746
Название клавиши | Значение
3847
------------ | -------------

BINDINGS.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ To enable support for a second player, duplicate the `[FIRST-GAMEPAD]` section a
3333
...
3434
```
3535

36+
## Steering Wheel (gamepad tilt movement)
37+
When switching to driving mode, tilts of the gamepad along the X-axis are used to emulate presses of the D-Pad buttons: left and right.
38+
39+
If the tilt is within the dead zone, the wheel is considered centered, and no button presses are emulated.
40+
41+
Parameter `SteeringWheelDeadZone` defines the wheel's dead zone, specified in percent, from 0 to 100.
42+
43+
Parameter `SteeringWheelReleaseThreshold` determines how far the wheel must return to the center to stop holding the direction, specified in percent, from 0 to 100.
44+
3645
## Keyboard and mouse
3746
Key name | Value
3847
------------ | -------------
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
[FIRST-GAMEPAD]
2+
LEFT-TRIGGER = DOWN
3+
RIGHT-TRIGGER = UP
4+
5+
L1-LB = Z
6+
R1-RB = X
7+
8+
BACK = ESCAPE
9+
START = ENTER
10+
11+
DPAD-UP = UP
12+
DPAD-UP-LEFT=NONE
13+
DPAD-LEFT = LEFT
14+
DPAD-UP-RIGHT=NONE
15+
DPAD-RIGHT = RIGHT
16+
DPAD-DOWN = DOWN
17+
DPAD-DOWN-LEFT=NONE
18+
DPAD-DOWN-RIGHT=NONE
19+
20+
TRIANGLE-Y = A
21+
SQUARE-X = D
22+
CROSS-A = SPACE
23+
CIRCLE-B = B
24+
25+
LEFT-STICK = CUSTOM-BUTTONS
26+
LEFT-STICK-UP = NONE
27+
LEFT-STICK-LEFT = LEFT
28+
LEFT-STICK-RIGHT = RIGHT
29+
LEFT-STICK-DOWN = NONE
30+
LEFT-STICK-CLICK = S
31+
32+
RIGHT-STICK = CUSTOM-BUTTONS
33+
RIGHT-STICK-UP = W
34+
RIGHT-STICK-LEFT = NONE
35+
RIGHT-STICK-RIGHT = NONE
36+
RIGHT-STICK-DOWN = Q
37+
RIGHT-STICK-CLICK = E
38+
39+
[MOUSE]
40+
SensitivityX = 100
41+
SensitivityY = 100
42+
43+
[MOTION]
44+
# Percent 0 - 100%
45+
SteeringWheelDeadZone=17
46+
SteeringWheelReleaseThreshold=3

KMProfiles/Need For Speed - Underground (2003).ini

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,10 @@ RIGHT-STICK-CLICK = MOUSE-LEFT
3434

3535
[MOUSE]
3636
SensitivityX = 100
37-
SensitivityY = 100
37+
SensitivityY = 100
38+
39+
[MOTION]
40+
# Percent 0 - 100%
41+
SteeringWheelDeadZone=17
42+
SteeringWheelReleaseThreshold=2
43+

README.RU.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
✔️ Управление Windows, изменение громкости, создание скриншотов, с помощью геймпада;<br>
1414
✔️ Переназначение кнопок Xbox контроллера, различные профили;<br>
1515
✔️ Эмуляция клавиатуру и мыши для старых игр, а также профили;<br>
16-
✔️ Поддержка адаптивных триггеров для Sony DualSense в режиме USB подключения;<br>
16+
✔️ Поддержка адаптивных триггеров для Sony DualSense в режиме USB подключения (пистолет, автомат, винтовка, лук, педаль авто);<br>
1717
✔️ Различные режимы эмуляции для игр с адаптивными курками;<br>
1818
✔️ Показ заряда батареи на световой панели и индикаторах игрока (для геймпадов Sony);<br>
1919
✔️ Выключение подсветки для полного погружения в темноте;<br>
@@ -35,13 +35,14 @@
3535

3636
Дважды нажмите на область яркости, затем проведите по ней влево или вправо, чтобы изменить яркость подсветки. Повторное двойное нажатие заблокирует случайные изменения.
3737

38-
Есть 3 режима эмуляции:
39-
* Простая эмуляция Xbox геймпада с расширенными функциями;
40-
* Эмуляция Xbox геймпада только для режима вождения и прицеливание мышью (для определенных игр с адаптивными триггерами);
41-
* Только мышь;
42-
* Эмуляция клавиатуры и мыши для управления Windows и некоторых старых игр;
38+
Есть 5 режимов эмуляции:
39+
* Эмуляция Xbox геймпада с расширенными функциями;
40+
* Эмуляция Xbox геймпада только для режима вождения и прицеливание мышью (для игр с адаптивными триггерами);
41+
* Только мышь (если хотите использовать родную поддержку геймпада, но с более точным прицеливанием);
42+
* Эмуляция клавиатуры и мыши для управления Windows;
43+
* Эмуляция клавиатуры и мыши для старых, ретро игр;
4344

44-
Переключение режимов происходит на `ALT + Q` или `PS/Home + ←/→` и `Capture/Home`. Эмуляция клавиатуры и мыши поддерживает разные профили, выберите нужный профиль или [создайте новый профиль](https://github.com/r57zone/DSAdvance/blob/master/BINDINGS.RU.md). Также имеются Xbox профили, для изменения раскладки кнопок. Профили переключаются на клавиши `ALT + ↑/↓`, если окно активно или на геймпаде, с помощью `PS/Home + ↑/↓`. Профиль по умолчанию позволяет работать в Windows.
45+
Переключение режимов происходит на `ALT + Q`, `ALT + ←/→` или `PS/Home + ←/→` и `Capture/Home`. Эмуляция клавиатуры и мыши поддерживает разные профили, выберите нужный профиль или [создайте новый профиль](https://github.com/r57zone/DSAdvance/blob/master/BINDINGS.RU.md). Также имеются Xbox профили, для изменения раскладки кнопок. Профили переключаются на клавиши `ALT + ↑/↓`, если окно активно или на геймпаде, с помощью `PS/Home + ↑/↓`. Профиль по умолчанию позволяет работать в Windows.
4546

4647
Поддержаются адаптивные триггеры для Sony DualSense в режиме USB, переключаться между различными режимами можно на `ALT + 3/4`.
4748

@@ -64,6 +65,8 @@
6465
------------ | ------------- | ------------- | -------------
6566
Сброс/поиска контроллеров | - | - | `CTRL + R` или `Numpad 0` (по умолчанию, можно изменить)
6667
Обменять первый и второй контроллер местами | - | - | `ALT + V`
68+
Переключение режимов (геймпад, клавиатура и мышь и т.д.) | `PS/Home + ←/→` | `Capture/Home` | `ALT + Q`, `ALT + ←/→`
69+
Переключение профилей Xbox / Клавиатура и мышь | `PS+ ↑/↓` | `Home + ↑/↓` | `ALT + ↑/↓`
6770
Открытие игровой панели Xbox (нажатие `Win + G`) | `PS` | `Capture + Home` | -
6871
Уменьшение и увеличение громкости Windows | `PS + □` и `PS + ○` | `Capture + Y` и `Capture + A` | -
6972
Скриншот (нажатие `Win + ALT + PrtScn`) | Кнопка микрофона или `PS + X` | `Capture + B` | -
@@ -87,7 +90,7 @@
8790
6. При необходимости измените мёртвые зоны стиков, триггеров или другие параметры, в конфигурационном файле `Config.ini`.
8891
7. (Необязательно) Для включения работы двух геймпадов измените параметр `Enabled` на `1`, в разделе `SecondaryGamepad`. Также можете изменить мёртвые зоны стиков, триггеров и цвет.
8992
8. При использовании со Steam играми, в настройках контроллера, отключите `персональные настройки Playstation`.
90-
9. Также рекомендуется установить [HidHide](https://github.com/nefarius/HidHide/releases), после чего в `HidHide Configuration Client` нужно добавить `DSAdvance.exe` и включить параметр `Enable device hiding` (если выключен). Необходимо для того, чтобы игра не видела наш контроллер, а видела только эмулируемый Xbox 360 геймпад.
93+
9. Также рекомендуется скрыть контроллер для современных игр, чтобы игры видели только эмулируемый, продвинутый Xbox 360 контроллер. Для этого необходимо установить [HidHide](https://github.com/nefarius/HidHide/releases), после чего в `HidHide Configuration Client`, в разделе `Devices` нужно отметить галочкой ваш контроллер (например, Sony Wireless контроллер) и включить параметр `Enable device hiding` (если выключен), в разделе `Applications` нужно добавить путь до `DSAdvance.exe`. Можно также посмотреть [эту инструкцию](https://github.com/user-attachments/assets/13ad8583-4b32-4a0d-b9a6-8e6c5bfcca71), где показано куда нажимать. Через Launcher можно проделать все тоже самое, кроме добавления геймпада в список для скрытия.
9194
10. (Необязательно) Для запуска из области уведомлений (tray), по двойному клику, можно добавить ярлык на `Launcher.exe` в автозагрузку Windows `%AppData%\Microsoft\Windows\Start Menu\Programs\Startup`.
9295
11. (Необязательно) Для запуска сторонних утилит через Launcher укажатие имя и путь до приложения в конфигурационном файле.
9396

@@ -120,6 +123,11 @@
120123
**Nintendo Pro контроллер или Джойконы постоянно вибрируют после старта программы**<br>
121124
К сожалению, на некоторых геймпадах вибрация может работать некоректно, выключите геймпад и отключите вибрацию в конфигурационном файле, изменив параметр `RumbleStrength` на `0`.
122125

126+
127+
128+
**Nintendo контроллеры не вибрируют в проводном режиме**<br>
129+
К сожалению, это не реализовано.
130+
123131
## Благодарности
124132
* Sony и Nintendo за самые продвинутые геймпады и инвестирование в инновации, а также за продвижение инноваций в игры.
125133
* [ViGEm](https://github.com/nefarius/ViGEmBus) за возможность эмуляции разных геймпадов.

README.md

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Advanced Xbox gamepad emulation for Sony DualSense, DualShock 4, Nintendo Pro co
1414
✔️ Windows control, volume adjustment, and screenshot creation using a gamepad;<br>
1515
✔️ Remapping Xbox controller buttons, different profiles;<br>
1616
✔️ Keyboard and mouse emulation for old games, as well as profiles;<br>
17-
✔️ Support for adaptive triggers for Sony DualSense in USB connection mode;<br>
17+
✔️ Support for adaptive triggers for Sony DualSense in USB connection mode (pistol, rifle, sniper rifle, bow, car pedal);<br>
1818
✔️ Various emulation modes for games with adaptive triggers;<br>
1919
✔️ Battery level display on the light bar and player indicators (for Sony gamepads);<br>
2020
✔️ Turning off the light bar for full immersion in the dark;<br>
@@ -36,13 +36,14 @@ When pressing the default profile button on the DualSense, white LEDs indicate t
3636

3737
Double-tap the brightness area, then swipe left or right to adjust the backlight brightness. Double-tap again to lock it and prevent accidental changes.
3838

39-
There are 3 emulation modes:
40-
* Simple Xbox gamepad emulation with extended functionality;
41-
* Xbox gamepad emulation only for driving mode and mouse aiming (for certain games with adaptive triggers);
42-
* Mouse only;
43-
* Keyboard and mouse emulation for Windows control and some older games;
39+
There are 5 emulation modes:
40+
* Xbox gamepad emulation with extended features;
41+
* Xbox gamepad emulation only for driving mode and mouse aiming (for games with adaptive triggers);
42+
* Mouse only (if you want to use native gamepad support but with more precise aiming);
43+
* Keyboard and mouse emulation for Windows control;
44+
* Keyboard and mouse emulation for old retro games;
4445

45-
Mode switching is done via `ALT + Q` or `PS/Home + ←/→` and `Capture/Home`. Keyboard and mouse emulation supports different profiles; select the required profile or [create a new one](https://github.com/r57zone/DSAdvance/blob/master/BINDINGS.md). There are also Xbox profiles for changing the button layout. Profiles can be switched using `ALT + ↑/↓` when the window is active, or on the gamepad using `PS/Home + ↑/↓`. The default profile allows Windows operation.
46+
Mode switching is done via `ALT + Q`, `ALT + ←/→` or `PS/Home + ←/→` and `Capture/Home`. Keyboard and mouse emulation supports different profiles; select the required profile or [create a new one](https://github.com/r57zone/DSAdvance/blob/master/BINDINGS.md). There are also Xbox profiles for changing the button layout. Profiles can be switched using `ALT + ↑/↓` when the window is active, or on the gamepad using `PS/Home + ↑/↓`. The default profile allows Windows operation.
4647

4748
Adaptive triggers for Sony DualSense in USB mode are supported, you can switch between different modes with `ALT + 3/4`.
4849

@@ -65,6 +66,8 @@ Action | Sony Buttons | Nintendo Buttons | Windows
6566
------------ | ------------- | ------------- | -------------
6667
Reset/Search Controllers | - | - | `CTRL + R` or `Numpad 0` (default, can be changed)
6768
Swap first and second controllers | - | - | `ALT + V`
69+
Mode switching (gamepad, keyboard and mouse, etc.) | `PS/Home + ←/→` | `Capture/Home` | `ALT + Q`, `ALT + ←/→`
70+
Switching profiles Xbox / Keyboard and mouse | `PS+ ↑/↓` | `Home + ↑/↓` | `ALT + ↑/↓`
6871
Open Xbox Game Bar (`Win + G` press) | `PS` | `Capture + Home` | -
6972
Decrease and increase Windows volume | `PS + □` and `PS + ○` | `Capture + Y` and `Capture + A` | -
7073
Screenshot (`Win + ALT + PrtScn` press) | Microphone button or `PS + X` | `Capture + B` | -
@@ -88,7 +91,7 @@ Turn off light bar (Sony) | `PS + L1` or double-tap the brightness area of the t
8891
6. If necessary, change the dead zones of the sticks, triggers or other parameters in the configuration file `Config.ini`.
8992
7. (Optional) To enable operation of two gamepads, change the `Enabled` parameter to `1` in the `SecondaryGamepad` section. You can also adjust dead zones for sticks, triggers, and colors.
9093
8. When used with Steam games, in the controller settings, disable `Playstation personal settings`.
91-
9. It is also recommended to install [HidHide](https://github.com/nefarius/HidHide/releases), then in the `HidHide Configuration Client` add `DSAdvance.exe` and turn on the parameter `Enable device hiding` (If turned off). It is necessary so that the game did not see our controller, and saw only emulated Xbox 360 gamepad.
94+
9. It is also recommended to hide your controller for modern games so that they detect only the emulated, advanced Xbox 360 controller. To do this, install [HidHide](https://github.com/nefarius/HidHide/releases). Then, in the `HidHide Configuration Client`, under the `Devices` tab, check your controller (for example, Sony Wireless Controller) and enable the `Enable device hiding` option (if it is disabled). In the `Applications` tab, add the path to `DSAdvance.exe`. You can also check [this guide](https://github.com/user-attachments/assets/13ad8583-4b32-4a0d-b9a6-8e6c5bfcca71) showing exactly where to click. Through the Launcher, you can do the same, except adding the gamepad to the hidden devices list.
9295
10. (Optional) To launch from the notification area (tray), by double-clicking, you can add a shortcut to `Launcher.exe` to Windows startup `%AppData%\Microsoft\Windows\Start Menu\Programs\Startup`.
9396
11. (Optional) To run third-party utilities via Launcher, specify the title and path to the application in the configuration file.
9497

@@ -121,6 +124,12 @@ Launch DSAdvance first, and only then the game itself, the game can give priorit
121124
**Nintendo Pro controller or Joy-Cons rumble constantly after starting the program**<br>
122125
Unfortunately, rumble may not work correctly on some gamepads. Turn off the gamepad and disable rumble in the configuration file by changing the `RumbleStrength` parameter to `0`.
123126

127+
128+
129+
**Nintendo controllers don't rumble in wired mode**<br>
130+
Unfortunately, this feature is not implemented.
131+
132+
124133
## Credits
125134
* Sony and Nintendo for the most advanced gamepads and investment in innovation, and for driving innovation in games.
126135
* [ViGEm](https://github.com/nefarius/ViGEmBus) for the ability to emulate different gamepads.

0 commit comments

Comments
 (0)