Skip to content

Commit 3ebd331

Browse files
authored
docs: improve clarity and consistency in README documentation (#42)
* docs: improve clarity and consistency in README documentation * docs: add screencast link to README for enhanced feature demonstration
1 parent 7b103f6 commit 3ebd331

File tree

1 file changed

+19
-20
lines changed

1 file changed

+19
-20
lines changed

README.md

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# ✨ Features
1313

1414
- 🎮 Combine physical controllers into one virtual gamepad
15-
- Controllers are assigned as either Primary or Assist
15+
- Assign controllers as either Primary or Assist
1616
- 🎛️ Customizable multiplexing modes for buttons and axes
1717
- Logically merging or preempting events is flexible
1818
- 🙈 Hide physical controllers for improved game compatibility
@@ -49,6 +49,8 @@
4949
- Ideal when fine-grain conflict-free control is needed
5050
- E.g. Game menu navigation or precise interventions
5151

52+
[Screencast_20251230_070245.webm](https://github.com/user-attachments/assets/40f72091-cfeb-461b-a4fb-5b4198604e9d)
53+
5254
# ⬇️ Install
5355

5456
The following installation methods are available:
@@ -64,22 +66,22 @@ The following installation methods are available:
6466

6567
## 🦀 Cargo
6668

67-
- Build dependencies
69+
- Build dependencies:
6870
- [libudev-dev](https://pkgs.org/search/?q=libudev-dev)
6971
- [pkg-config](https://pkgs.org/search/?q=pkg-config)
70-
- Rust toolchain
72+
- Rust toolchain:
7173
- https://rust-lang.org/tools/install/
7274
- configure `PATH` per Notes linked above
7375

74-
Add the `--force` flag to upgrade to latest version:
76+
Install or upgrade to the latest version:
7577

7678
```sh
77-
cargo install ctrlassist
79+
cargo install ctrlassist --force
7880
```
7981

8082
## 📦 Flatpak
8183

82-
- Runtime dependencies
84+
- Runtime dependency:
8385
- [Flatpak](https://flatpak.org/setup/) (likely already installed)
8486

8587
Download latest bundle from [releases page](https://github.com/ruffsl/ctrlassist/releases) and install:
@@ -96,7 +98,7 @@ Run and test via Flatpak using the application ID:
9698
flatpak run io.github.ruffsl.ctrlassist --help
9799
```
98100

99-
Or launch as system tray via installed desktop icon.
101+
Or launch the system tray via the installed desktop icon.
100102

101103
# 📖 Usage
102104

@@ -138,7 +140,7 @@ The system tray provides:
138140
- **Desktop notifications** for status changes
139141
- **Persistent settings** saved to disk on use
140142

141-
Options are greyed out while the mux is running but show current active selections.
143+
Device invariant options can be altered while the mux is running; all other options are disabled (greyed out) until the mux is stopped.
142144

143145
## 🧾 list
144146

@@ -179,7 +181,6 @@ Manually specify mode for merging controllers:
179181

180182
```sh
181183
$ ctrlassist mux --mode priority
182-
...
183184
```
184185

185186
### 🕹️ Spoof Virtual Device
@@ -198,7 +199,7 @@ Virtual: (2) Microsoft X-Box One pad (Firmware 2015)
198199
199200
### 🫨 Rumble Pass-Through
200201

201-
Target force feedback to either or both physical controllers:
202+
Target force feedback to either, none, or both physical controllers:
202203

203204
```sh
204205
$ ctrlassist mux --rumble both
@@ -207,22 +208,21 @@ $ ctrlassist mux --rumble both
207208

208209
### 🙈 Hide Physical Devices
209210

210-
There are multiple hiding strategies to avoid input conflicts:
211+
Multiple hiding strategies are available to avoid input conflicts:
211212

212213
| Strategy | Access/Compatibility | Granularity | Restart Required |
213214
|------------|-----------------------------|---------------------|--------------------|
214215
| **Steam** | No root, Flatpak compatible | Vendor/Product ID | Steam only |
215216
| **System** | Root required, no Flatpak | Per-device | Game/Launcher |
216217

217-
For example, use **Steam** when running CtrlAssist via Flatpak. For 2v1 scenarios, where the third player not using CtrlAssist shares the same controller make and model, use **System** to avoid hiding the third player's gamepad.
218+
Use **Steam** hiding when running CtrlAssist via Flatpak. For 2v1 scenarios, where a third player not using CtrlAssist shares the same controller make and model, use **System** to avoid hiding the third player's gamepad.
218219

219220
#### Steam Input
220221

221222
Automatically configure Steam's controller blacklist:
222223

223224
```sh
224-
$ ctrlassist mux --hide steam
225-
...
225+
ctrlassist mux --hide steam
226226
```
227227

228228
> [!NOTE]
@@ -236,8 +236,7 @@ $ ctrlassist mux --hide steam
236236
Restrict device tree permissions system-wide:
237237

238238
```sh
239-
$ sudo ctrlassist mux --hide system
240-
...
239+
sudo ctrlassist mux --hide system
241240
```
242241

243242
> [!NOTE]
@@ -266,15 +265,15 @@ Settings are loaded on startup and saved when using the mux. Controllers are mat
266265

267266
# ⚠️ Limitations
268267

269-
- System hiding requires root access
270-
- temporarily modifies group permissions for selected devices
268+
- System hiding requires root access (not available in Flatpak)
269+
- Temporarily modifies group permissions for selected devices
271270
- Hiding must be done before starting games or launchers
272-
- processes with open file handles may retain device access
271+
- Processes with open file handles may retain device access
273272
- Reconnecting a hidden controller may revert its visibility
274273
- Steam hiding persists across reconnects while CtrlAssist is running
275274
- System hiding: custom udev rules needed for persistent permissions
276275
- Steam hiding affects all controllers of the same make and model
277-
- blacklists by vendor/product ID, not individual devices
276+
- Blacklists by vendor/product ID, not individual devices
278277
- Steam hiding requires Steam restart
279278
- Steam only checks controller_blacklist config on startup
280279
- Toggle mode requires pressing all buttons and axes after startup

0 commit comments

Comments
 (0)