CachyOS / CachyOS/CachyOS-Handheld

Guide button chords (Steam+X, Steam+B, Steam+RB, etc.) are detected but never complete their action

Open
#137 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
89
Forks
13
PR merge metrics
No merged PRs in 30d

Description

Reproduces with internal controller and an external controller (Steam Controller v2) over both USB (puck) and Bluetooth

## Guide button chords (Steam+X, Steam+B, Steam+RB, etc...) are detected but never complete their action.

### Summary

On this Deckify install, Steam correctly recognizes the guide/Steam button being held as part of a chord (confirmed in Steam's own controller log), but the resulting action (open on-screen keyboard, take screenshot) never actually happens. This happens both in desktop mode and in-game (Game Mode), and reproduces with a completely different controller (an external Steam Controller 2) connected over **both** USB (puck) and Bluetooth; Oh and an XBOX ONE controller. Sso it isn't specific to the internal controller, a connection method, or one input device.

The keyboard *does* auto-show correctly when focusing a text field (both KDE's virtual keyboard on the desktop, and Steam's own on desktop mode text fields), so this is isolated to the chord/shortcut mechanism specifically, not the keyboard overlay itself.

### Environment

- Device: Steam Deck OLED (Galileo)
- CachyOS Deckify build
- Kernel: 7.2.3-3-cachyos-deckify
`
- Steam client version at time of report: `1788652215` (also tested on Beta channel — no change; see below)
- `steamos-manager` version: `26.4.1-1`
- `jupiter-hw-support`: installed (optional dep of steamos-manager)
- InputPlumber: **not installed** (`systemctl status inputplumber` = unit not found)
- Handheld Daemon (HHD): **not installed** (`systemctl list-units | grep -i hhd` → no results)

### Steps to Reproduce

1. On internal, external or 3rd party controller (puck or bluetooth), in desktop mode or in-game, press or hold Steam + X (or Steam + B, Steam + RB/screenshot).
2. Observe that no keyboard/screenshot/menu action occurs.
3. For comparison: the identical Steam Controller 2 chord works correctly on a separate CachyOS **desktop** install (non-Deckify, same Steam client, same KDE Plasma/Wayland version.

### Expected Behavior

Steam+X should open the on-screen keyboard; Holding Steam+B should close game (in Game Mode); Steam+RB should take a screenshot; Steam+"..." equivalents should match stock SteamOS behavior.

### Actual Behavior

Nothing happens. Tapping the guide button alone still opens the Steam menu/overlay correctly, so the button itself and basic Steam menu functions are fine. It's specifically the two-button chord actions that silently no-op.

### What's Already Been Ruled Out

- **Hardware fault:** Ruled out. A built-in controller self-test are confirmed working in normal daily use (trackpad moves the desktop cursor right now; triggers work correctly in-game).
- **Device misidentification:** Ruled out. `/proc/bus/input/devices` shows the controller correctly identified as `Valve Software Steam Controller`, vendor `28de`, product `1205` (Neptune). Steam's own controller log confirms `Type: 4, ProductID: 4613` and correctly loads `chord_neptune.vdf` for the internal controller and `chord_triton.vdf` for the external Steam Controller 2.
- **InputPlumber:** Not installed.
- **Handheld Daemon (HHD):** Not installed.
- **`fuser` on the controller's two input event nodes** (one REL/mouse-type, one KEY/keyboard-type) shows only `systemd`, `systemd-logind` (both expected/normal), and `kwin_wayland` holding them in desktop mode. No unexpected process is grabbing the device.
- **Steam update channel:** Switched from Stable to Beta (per the September 7 client update that touched the *external* gamepad guide-button chord layout). No change in behavior on either channel.
- **`steamos-manager`:** Installed and running without crashing. Its only logged `ERROR dispatch_call` entries are for unrelated `SetWifiBackend` and `SetManualGpuClock` D-Bus calls (both failing for config reasons unrelated to this issue). No dispatch calls related to keyboard/screenshot/chord actions appear in its log at all across multiple boot cycles, so it does not appear to be involved in the chord-completion path.
- **Controller-type/config-specific bug:** Ruled out. Rreproduces identically with the internal Neptune controller (`chord_neptune.vdf`) and an unrelated external controller (`chord_triton.vdf`) over two different connection methods and 3 devices.

### Supporting Evidence

**Steam's controller UI log** (`~/.steam/steam/logs/controller_ui.txt`) shows the guide button being correctly recognized as part of a chord attempt, repeated across multiple sessions over at least two weeks, with no corresponding action ever completing:

This line appears specifically when a second button is held alongside the guide button (as opposed to `Guide button sent to JS`, which appears on a standalone guide-button tap and correctly opens the Steam menu). No log line indicating the chord's bound action (keyboard, screenshot, etc.) executing ever follows it.

**`/proc/bus/input/devices`** (internal controller):

```
I: Bus=0003 Vendor=28de Product=1205 Version=0110
N: Name="Valve Software Steam Controller"
...
H: Handlers=event4 mouse0

I: Bus=0003 Vendor=28de Product=1205 Version=0110
N: Name="Valve Software Steam Controller"
...
H: Handlers=sysrq kbd event5
```

**`fuser` on those two event nodes** (desktop mode):

```
/dev/input/event4: root 1 F.... systemd
root 629 F.... systemd-logind
cachyos 4773 F.... kwin_wayland
/dev/input/event5: root 1 F.... systemd
root 629 F.... systemd-logind
cachyos 4773 F.... kwin_wayland
```

**`steamos-manager` log excerpt** — representative of every error across multiple boots, none related to input/chords:

ERROR dispatch_call{...member: MemberName("SetWifiBackend")...}: Error setting wifi backend: Wi-Fi backend not found in config
ERROR dispatch_call{...member: MemberName("SetManualGpuClock")...}: Error setting manual GPU clock: Invalid argument (os error 22)

### Additional Notes
I did my best (reasonably in time i had) to search for and test what i can and I'm happy to gather additional logs recommended if it would help narrow this down further.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with ~/.steam/steam/logs/controller_ui.txt and compare the recognized chord attempts with the working standalone guide-button path. Inspect chord_neptune.vdf and chord_triton.vdf, then review the steamos-manager logs and the /proc/bus/input/devices and fuser evidence. Done means Steam+X, Steam+B, Steam+RB, and equivalent chords complete their expected actions on the affected setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.