Skip to content
This repository has been archived by the owner on Jan 1, 2024. It is now read-only.

Profile selection using auto profile rules

mika-n edited this page Nov 20, 2019 · 8 revisions

Auto-Profile settings

DS4Windows application supports several profiles with different mapping rules for keys and buttons, because not all games work the best using the same gamepad setup.

User can manually choose an active profile via DS4Windows settings screen, through command line interface or setting up an automatic linking between foreground processes and profiles.

Automatic profile switching is defined via Auto-Profile list in DS4Windows settings. The auto-profile setting can change a profile automatically when an active foreground process is changed (ie. a new application is launched). A match between a profile and process is defined using a process path and/or window title keywords (since V1.7.13 version).

Path = Process path (fex c:\apps\steam\eurotruck2.exe). Window title = The title of an active window (fex Calculator).

Search keyword supports wildchars:

ABC = Exact match of path or window title with a ABC keyword (path or window title name)
^ABC = Match ABC keyword at the beginning of path or title
ABC$ = Match ABC keyword at the end of the path or title
*ABC = Contains ABC keyword in a path or title

For example "notepad.exe$" path keyword would match with "C:\windows\notepad.exe" and "c:\windows\system32\notepad.exe" process names, but does not match with "c:\apps\notepad.exe.plusplus.exe".

Using both path and window title keywords at the same time allows to setup auto-profile rules to select different profiles for applications which share the same process but different window title. For example Windows Store apps share the same c:\windows\system32\applicationFrameHost.exe process name. Before V1.7.13 version it was not possible to choose a different profile automatically for WinStore apps, but now it is possible by setting up both path and title keywords.

Order of rules in an auto-profile list

If you use wildchars in path or window title search keywords then it may be possible that several rules match the same process. DS4Windows picks up the first matching rule, so you may have to re-order rules to do what you want. However, there is one minor problem in DS4Windows GUI. It doesn't support (yet) rule re-ordering, so you either have to add rules in a specific order or change the order of existing rules by opening "%APPDATA%\DS4Windows\Auto Profiles.xml" configuration file in a text editor (close DS4Windows app before modifying XML config files outside of the app).

Show auto-profile debug messages

If this option is enabled in auto-profile settings screen then the "Logs" tab page of DS4Windows screens shows detailed debug messages about process and window title names and how those match an auto-profile rules. This is useful when a new process needs a special auto-profile rule, but the correct path or window title is not obvious. Enable this option only when you need to fine tune auto-profile rules, but keep it off in a normal usage of DS4Windows because it generates lots of debug messages.

Setting "do not change profile" rule

By default the DS4Windows app reverts back to default profile when an unknown process is the active foreground process and none of the auto-profile rules match with the process or window title. Sometimes it might be useful to indicate DS4Windows that a profile should not be reverted back to default profile and just leave the currently active profile as is when certain process is running in foreground.

For example c:\windows\explorer.exe process is activated during task switching or when a desktop is active. If the auto-profile rule doesn't choose any custom profiles and leaves all controllers in "(none)" profile option then this rule would not do anything (ie. the rule would not change a profile nor it would not revert back to default profile).

Another example would be to define "^c:" rule (ie. match all process path values beginning with C: keyword) and set it as the last rule with "(none)" profile selection. Then "unknown/unspecified" processes would not change an active profile unless a more specific rule before this "catch all" rule would choose a different profile.


Auto-Profile rule editor