diff --git a/docs/images/steam_controller.png b/docs/images/steam_controller.png
new file mode 100644
index 0000000..b7f4b06
Binary files /dev/null and b/docs/images/steam_controller.png differ
diff --git a/docs/images/steam_controller_desktop_configuration.png b/docs/images/steam_controller_desktop_configuration.png
new file mode 100644
index 0000000..688c8d6
Binary files /dev/null and b/docs/images/steam_controller_desktop_configuration.png differ
diff --git a/docs/images/steam_controller_desktop_templates.png b/docs/images/steam_controller_desktop_templates.png
new file mode 100644
index 0000000..1e9b56a
Binary files /dev/null and b/docs/images/steam_controller_desktop_templates.png differ
diff --git a/docs/images/steam_controller_gamepadui_configuration.png b/docs/images/steam_controller_gamepadui_configuration.png
new file mode 100644
index 0000000..5e498c8
Binary files /dev/null and b/docs/images/steam_controller_gamepadui_configuration.png differ
diff --git a/docs/images/steam_controller_gamepadui_templates.png b/docs/images/steam_controller_gamepadui_templates.png
new file mode 100644
index 0000000..bb96dca
Binary files /dev/null and b/docs/images/steam_controller_gamepadui_templates.png differ
diff --git a/docs/images/steam_controller_settings.png b/docs/images/steam_controller_settings.png
new file mode 100644
index 0000000..88bb727
Binary files /dev/null and b/docs/images/steam_controller_settings.png differ
diff --git a/docs/steam-controller.md b/docs/steam-controller.md
index c484387..21bf3e2 100644
--- a/docs/steam-controller.md
+++ b/docs/steam-controller.md
@@ -5,20 +5,32 @@ to replace [SWICD](https://github.com/mKenfenheuer/steam-deck-windows-usermode-d
and [Glossi](https://github.com/Alia5/GlosSI). This is hard piece and it is rather
unsupported (by me), so if it works it works.
+
+
+
+## 1. Modes
+
It offers 3 main modes of operation:
- **Desktop**
- **X360 emulation** (with Haptics) - activated automatically when entering Playnite Fullscreen
- **Steam** - active automatically when running Steam Gamepad UI, Steam Big Screen UI or running Steam Game
+**You need to select profile after running application**. Choose one of:
+
+- `Use X360 Controller with Steam` (most compatible)
+- `Use Steam Input with Steam` (works, but might be quirky)
+
You can easily switch between Desktop and X360 by holding Options button (3 horizontal lines,
on top of the right joystick). When profile is switched you will hear a beep.
+## 2. Requirements
+
It is strongly advised that you uninstall (unless you know what are you doing):
-1. SWICD
-1. Glossi
-1. HidHide
+1. [SWICD](https://github.com/mKenfenheuer/steam-deck-windows-usermode-driver)
+1. [GlosSI](https://github.com/Alia5/GlosSI)
+1. [HidHide](https://github.com/ViGEm/HidHide)
Requirements:
@@ -26,13 +38,15 @@ Requirements:
1. Ensure that HidHide is disabled, or ensure that `Steam Controller.exe` can see `Neptune Valve Controller`.
1. Install latest version of [https://github.com/ViGEm/ViGEmBus/releases](https://github.com/ViGEm/ViGEmBus/releases).
-## 1. Possible setups
+## 3. Possible setups
The are various ways how `Steam Controller` can work with Steam.
If you do not use Steam this is simple, just run it and enjoy.
Since when there's no Steam, there's no problem at all.
-### 1.1. Most compatible - Use X360 Controller with Steam
+### 3.1. Most compatible - Use X360 Controller with Steam
+
+**You enable it by selecting `Use X360 Controller with Steam`.**
This pretty much work always. It hides the `Valve Software Steam Controller` from Steam.
@@ -41,9 +55,11 @@ and all Steam games would use X360.
The Back Panel buttons can be assigned to some user-defined keys.
-### 1.2. Works, but sometimes finicky - Use Steam Input with Steam
+### 3.2. Works, but sometimes finicky - Use Steam Input with Steam
-It is **required** to configure Steam as described in [Configure Steam](#3-configure-steam).
+**You enable it by selecting `Use Steam Input with Steam`.**
+
+It is **required** to configure Steam as described in [Configure Steam](#5-configure-steam).
This is setup that allows you to enable `Steam Input` and use community provided profiles
on Steam. However, this requires special configuration and in some cases is finicky.
@@ -57,7 +73,7 @@ and close it after session (there's an option in Playnite settings). Keep Steam
otherwise at all times.
Alternative if Steam is running in background it should be pretty stable when
-[configured desktop mode buttons](#3-configure-steam). There will be sometimes finicky behavior
+[configured desktop mode buttons](#5-configure-steam). There will be sometimes finicky behavior
when using STEAM button shortcuts. However, this is mostly stable otherwise.
> Getting controllers support is hard especially with Steam not making it easy to disable it.
@@ -65,7 +81,7 @@ when using STEAM button shortcuts. However, this is mostly stable otherwise.
> of handling Steam running in background alongside `Steam Controller`. This will never
> be supported mode of operation.
-### 1.3. If you know what you do - Ignore Steam
+### 3.3. If you know what you do - Ignore Steam
This makes `Steam Controller` to disable Steam detection. Now, you would have to do everything
you were doing before: like HidHide, additional controllers, etc.
@@ -78,38 +94,41 @@ or with `PowerControl`.
Of course you will have access to all described shortcuts.
-## 2. Shortcuts
+## 4. Shortcuts
[See it here](shortcuts.md)
-## 3. Configure Steam
+## 5. Configure Steam
-If Steam is running in background it is essential to remove Desktop mode configuration
-to make `SteamController.exe` the one mapping those.
+**Steam Controller** does overwrite default Steam configuration, but if you made changes to some
+of the controller profiles those overwrites will not be applied. You need to set them yourself.
-### 3.1. Disable Desktop mode in Steam Gamepad UI (preferred)
+This is required since if Steam is running in background it is essential to ensure that
+Desktop mode configuration is empty, otherwise there might be double inputs in non-Steam games.
+
+### 5.1. Disable Desktop mode in Steam Gamepad UI (preferred)
1. Run `steam.exe` with `-gamepadui`.
1. Click `Steam` button, go to `Settings` > `Controller`.
-1. Scroll down to find `Desktop Layout`, click `Edit` and `Edit Layout`.
-1. Go to `Action Sets` > `Add Action Set`.
-1. In `Add Action Set` type `Empty` and `Continue`.
-1. Now click on `Default`, `Remove Set` and `Confirm`.
-1. You can now exit with `B` (Back).
+1. If you see the [`Official Layout for - SteamController provided empty configuration`](images/steam_controller_gamepadui_configuration.png) you are done.
+1. Otherwise, select new layout, and go to `RECOMMENDED`.
+1. In `RECOMMENDED` there will be [`SteamController provided empty configuration`](images/steam_controller_gamepadui_templates.png).
+1. Select it. And you are done.
-### 3.2. Disable Desktop mode in Steam Desktop (slightly buggy on Steam Deck)
+### 5.2. Disable Desktop mode in Steam Desktop (ok, but change scale to 100%)
+
+**This requires that your Desktop scale is set to 100%.**
+It is buggy on `125%`. You will not be able to click `Browse Configs`.
1. Run Steam.
1. Go to `Steam` > `Settings` > `Controller` > `Desktop Configuration`.
-1. Click `Add Action Set`.
-1. In new window type `Empty` and click `OK`.
-1. At top select `Default`.
-1. Now click `Menu` button (the button on top of left joystick with two squares)
- on Steam Deck (or `Manage Action Set` button).
-1. In a new window click `DELETE`.
-1. Now click `B` or `DONE`.
+1. If you see the [`SteamController provided empty configuration`](images/steam_controller_desktop_configuration.png) you are done.
+1. Otherwise, click `BROWSE CONFIGS`.
+1. In `RECOMMENDED` there will be `SteamController provided empty configuration` ([take a look](images/steam_controller_desktop_templates.png)).
+1. Select it, and `APPLY CONFIGURATION`.
+1. Now, click `DONE`.
-## 4. Fullscreen Scaling Hotkey (Steam + Up Pad Press)
+## 6. Fullscreen Scaling Hotkey (Steam + Up Pad Press)
Many games in Windows will crash when attempting to start in fullscreen. To have a fullscreen experience on the Steam Deck, you can use this keybind in any fullscreen scaling application to provide a shortcut capable of toggling the scaling.
@@ -123,3 +142,22 @@ To configure the hotkey in Lossless Scaling:
1. Press "STEAM + DPad Up"
1. Verify that the hotkey was set to "CTRL + ALT + U"
1. Close the settings dialog
+
+## 7. Uninstall
+
+Since `Steam Controller` changes Steam you need to follow those steps to properly uninstall the app:
+
+1. Run `Steam Controller`
+2. **Select `Use X360 Controller with Steam` or `Use Steam Input with Steam` IF IT IS NOT SELECTED**
+3. Now, select `Ignore Steam` to remove `Steam Controller` from Steam
+4. Next go to `Steam > Settings > Controller` and revert all changes made to `Desktop configuration`
+
+## 8. Managed configs
+
+The `Steam Controller` will manage default steam controller configs
+and install controller templates to ease controller management.
+It does modify:
+
+- `C:\Program Files (x86)\Steam\controller_base\chord_neptune.vdf`
+- `C:\Program Files (x86)\Steam\controller_base\desktop_neptune.vdf`
+- `C:\Program Files (x86)\Steam\controller_base\templates\controller_neptune_steamcontroller.vdf`