mirror of
https://github.com/MoHadiShibli/Control4Free.git
synced 2026-10-29 01:01:36 +01:00
Update the Xbox button GameInput steps for Chrome 156 and later
Chromium's GameInput flag expired at milestone 155, so Chrome 156 hides it from chrome://flags. The troubleshooting entry now gives the steps for each version: the flag itself, the m155 unexpire flag, and the --enable-features launch option, which works in any version that still has the backend. It also explains the cause more precisely and drops the paragraph about the old Windows.Gaming.Input flag, removed upstream.
This commit is contained in:
1 parent
e3ab3925b9
commit
5b1dbd0062
2 files changed
+44
-31
No files matched your search
@@ -7,6 +7,9 @@
|
||||
language; **L1** on its main screen switches between automatic, English and Português (Brasil). The
|
||||
service's error messages are shown translated on the page.
|
||||
- The PS4 app now draws accented letters (Latin-1).
|
||||
- Updated the Xbox-button workaround for Chrome and Edge on Windows: from version 156 the GameInput option
|
||||
is hidden on the flags page. [Gamepad troubleshooting](docs/troubleshooting.md#gamepads) shows how to
|
||||
bring it back, and a launch option that works in any version.
|
||||
|
||||
## 1.3.0 — 2026-10-22
|
||||
|
||||
|
||||
+41
-31
@@ -111,43 +111,53 @@ of Bluetooth, or the other way round), can also help.
|
||||
**A gamepad button does nothing after changing its mapping.** Let go of it and press it again: a button held
|
||||
down while a gamepad starts playing waits until it's released.
|
||||
|
||||
**The Xbox button presses PS for another controller in Chrome or Edge on Windows.** The browser's
|
||||
Windows.Gaming.Input backend combines Xbox/Guide presses from several controllers and reports them on one
|
||||
gamepad. Other buttons can still belong to the correct gamepad. Check **Mapping → Gamepad Controls** on
|
||||
each device: if the wrong device's **B16** lights up, the browser has already lost the physical source.
|
||||
Control4Free cannot recover that source from the reported input. See the
|
||||
[Chromium implementation](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/device/gamepad/wgi_data_fetcher_win.cc#419).
|
||||
**The Xbox button presses PS for another controller in Chrome or Edge on Windows.** By default these
|
||||
browsers read Xbox controllers through Windows.Gaming.Input, which has no Xbox/Guide button. The browser
|
||||
reads that button separately for all Xbox controllers at once and reports the combined press on its
|
||||
lowest-numbered one, whichever controller it came from. It happens with any two Xbox controllers, not
|
||||
only mixed generations. Other buttons still belong to the correct gamepad. Check
|
||||
**Mapping → Gamepad Controls** on each device: if the wrong device's **B16** lights up, the browser has
|
||||
already lost the physical source, and Control4Free cannot recover it from the reported input. See the
|
||||
[Chromium implementation](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/device/gamepad/wgi_data_fetcher_win.cc).
|
||||
|
||||
On Windows 11, newer Chrome builds offer an experimental **Windows GameInput** backend with
|
||||
per-device Guide-button callbacks. If your browser offers it, open
|
||||
`chrome://flags/#enable-windows-gameinput-data-fetcher` (or search `edge://flags` in Edge), set it to
|
||||
**Enabled**, and relaunch. Reconnect the gamepads and repeat the **Gamepad Controls** check: each Xbox
|
||||
button should light **B16** only on its own gamepad. Confirm both PS buttons after assigning controllers.
|
||||
This resolved combined Xbox/Guide reporting in a two-controller user test on Chrome 154 and Windows 11.
|
||||
Controller models and connection modes were not recorded, and other input and haptic capabilities were
|
||||
not revalidated. The option remains experimental; input counts and haptics may change. Compare
|
||||
**Gamepad Controls**, including any extra paddles, and review saved profiles after changing the backend.
|
||||
If gamepads stop appearing, return the flag to **Default**.
|
||||
See Chromium's [backend selection](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/device/gamepad/gamepad_platform_data_fetcher.h)
|
||||
and [per-device Guide handling](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/device/gamepad/gameinput_data_fetcher.cc).
|
||||
On Windows 11, Chrome and Edge also have an experimental **Windows GameInput** backend that reports each
|
||||
Xbox button on its own gamepad. It is off by default. Find your browser's version under
|
||||
`chrome://settings/help` (`edge://settings/help` in Edge), then turn GameInput on:
|
||||
|
||||
- **Version 155 or older:** open `chrome://flags/#enable-windows-gameinput-data-fetcher`
|
||||
(`edge://flags/#enable-windows-gameinput-data-fetcher` in Edge), set it to **Enabled**, and relaunch.
|
||||
- **Version 156 or 157:** the option is hidden because it has expired. Set
|
||||
`chrome://flags/#temporary-unexpire-flags-m155` (`edge://flags/#temporary-unexpire-flags-m155`) to
|
||||
**Enabled** and relaunch, then enable the GameInput option as above and relaunch again.
|
||||
- **Any version, including 158 and newer:** start the browser with
|
||||
`--enable-features=EnableWindowsGameInputDataFetcher`. Right-click the browser's shortcut, choose
|
||||
**Properties**, add a space and the option to the end of **Target**, and press **OK**. Close every
|
||||
browser window, check the notification area for a browser still running in the background, and open
|
||||
the browser from that shortcut. `chrome://version` (`edge://version`) lists the option under
|
||||
**Command Line** when it was applied.
|
||||
|
||||
Chromium hides expired options from the flags page, but the command-line option keeps working as long
|
||||
as the browser still contains the GameInput backend. See Chromium's
|
||||
[backend selection](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/device/gamepad/gamepad_platform_data_fetcher.h),
|
||||
[per-device Guide handling](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/device/gamepad/gameinput_data_fetcher.cc)
|
||||
and [flag expiry](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/flag_expiry.md).
|
||||
|
||||
Reconnect the gamepads and repeat the **Gamepad Controls** check: each Xbox button should light **B16**
|
||||
only on its own gamepad. Confirm both PS buttons after assigning controllers. This resolved combined
|
||||
Xbox/Guide reporting in a two-controller user test on Chrome 154 and Windows 11. Controller models and
|
||||
connection modes were not recorded, and other input and haptic capabilities were not revalidated. The
|
||||
backend remains experimental; input counts and haptics may change. Compare **Gamepad Controls**,
|
||||
including any extra paddles, and review saved profiles after changing the backend. If gamepads stop
|
||||
appearing, return the flag to **Default** or remove the option from the shortcut.
|
||||
|
||||
GameInput is a workaround for this browser's multi-controller Guide reporting, not a general
|
||||
Control4Free requirement. The controller page cannot select a Windows input backend or change browser
|
||||
flags through the [Gamepad API](https://w3c.github.io/gamepad/). A permanent correction to this browser
|
||||
path requires a browser fix; a future PC app could choose its own per-device reader. The existing mapper
|
||||
can also use an independently reported button for PS.
|
||||
path requires a browser fix; a future PC app could choose its own per-device reader.
|
||||
|
||||
In older browser builds that offer **Enable Windows.Gaming.Input**, open
|
||||
`chrome://flags/#enable-windows-gaming-input-data-fetcher` (or search `edge://flags` in Edge), set it to
|
||||
**Disabled**, and relaunch the browser. Reconnect the gamepads, select their controllers again, and check
|
||||
both Xbox buttons independently. This switches those builds to per-device XInput; extra paddles, input
|
||||
counts and haptic capabilities may change, so review saved mappings. The flag is unavailable in some
|
||||
newer builds.
|
||||
|
||||
If these options are unavailable or the raw Guide input still crosses devices, try Firefox on Windows
|
||||
or map an independently reported button to **PS button**
|
||||
using **DS4 Mapping → PS button → Change**. That replaces the Xbox/Guide binding. Remapping or swapping
|
||||
controller numbers alone cannot separate the combined Xbox-button signal.
|
||||
On Windows 10, or if none of these work, try Firefox on Windows or map an independently reported button
|
||||
to **PS button** using **DS4 Mapping → PS button → Change**. That replaces the Xbox/Guide binding.
|
||||
Remapping or swapping controller numbers alone cannot separate the combined Xbox-button signal.
|
||||
|
||||
**The gamepad does nothing.** Keep the page's window in front, press a button on the gamepad after the page
|
||||
has loaded, and check it has a controller under **Gamepads on this device**.
|
||||
|
||||
Reference in new issue
Block a user