Skip to content

Commit fc4d6b2

Browse files
authored
Update controller-autoconfiguration.md
It's important to note an exception involving the linuxraw driver. This driver uses an interface that does not provide Vendor ID (VID) and Product ID (PID) information. Instead, it only supplies a device name, which can be accessed using the `JSIOCGNAME` ioctl command from the Linux kernel. As a result, matching for controllers using the linuxraw driver relies more heavily on the device name rather than the usual vid:pid identifiers.
1 parent 52eae84 commit fc4d6b2

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

docs/guides/controller-autoconfiguration.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
# Joypad Auto Configuration
22

3-
## How does matching work?
3+
## How does RetroArch match controllers?
44

5-
RetroArch is shipped with a set of configuration files for the most common joypads. When you plug a joypad for the first time, we try to find a matching profile in our set.
5+
When you connect a new controller to RetroArch, the system attempts to automatically configure it by matching it to known profiles. This matching process is crucial for ensuring that your controller works correctly with various games and emulators.
66

7-
The matching algorithm considers three criteria:
7+
The matching algorithm considers several key factors:
88

9-
- Device name
10-
- Vendor ID
11-
- Product ID
9+
- **Controller driver (input_driver)**: The software interface used to communicate with the controller. To use a specific driver, RetroArch must be configured accordingly by navigating to **Settings -> Drivers -> Controller**.
10+
- **Device Index (input_device)**: The name of the controller as recognized by the system.
11+
- **Vendor ID (input_vendor_id)**: A unique identifier assigned to the controller's manufacturer.
12+
- **Product ID (input_product_id)**: A specific identifier for the particular controller model.
1213

13-
We compute a matching score for each configuration file based on these three factors. The profile with the highest score is chosen to configure the pad.
14+
RetroArch evaluates each of these factors against its database of controller profiles. It then calculates a matching score for each profile, with the highest-scoring profile being selected to configure the controller.
15+
16+
It's important to note an exception involving the linuxraw driver. This driver uses an interface that does not provide Vendor ID (VID) and Product ID (PID) information. Instead, it only supplies a device name, which can be accessed using the `JSIOCGNAME` ioctl command from the Linux kernel. As a result, matching for controllers using the linuxraw driver relies more heavily on the device name rather than the usual vid:pid identifiers.
17+
18+
It's worth noting that the Vendor ID and Product ID pair is often abbreviated as "vid:pid" in technical discussions.
19+
20+
This matching system allows RetroArch to support a wide range of controllers while minimizing the need for manual configuration in most cases.
1421

15-
**Note**: The **Vendor ID** and **Product ID** pair is often abbreviated as **vid:pid**.
1622

1723
## Why is it needed?
1824

0 commit comments

Comments
 (0)