Input & controllers
Fixes for stuck input, wrong characters, controllers games can't see, the virtual Steam Deck pad and the shared clipboard.
Fixes for keyboard, mouse, controller and clipboard problems.
Keyboard and mouse
My mouse and keyboard are stuck in the stream
The stream captures them on purpose. Ctrl+Alt+Shift+Q (⌃⌥⇧Q on a Mac) hands them back; every client's shortcut is in Getting your input back.
My keyboard types the wrong characters (# comes out as \)
The host session's keyboard layout doesn't match your keyboard. Punktfunk sends the key you press, and the host's layout picks the character.
-
KDE, GNOME: set the layout in the desktop's keyboard settings.
-
sway, Hyprland and Game Mode: set it for the system, then reconnect.
sudo localectl set-x11-keymap de pc105 nodeadkeys # your layout, model, variantGame Mode on an older
punktfunk-gamescopestill types US, and the host log warnsthis build ignores XKB_DEFAULT_*. Update it.
Controllers
A controller is detected but games don't see it (Linux)
The host can't open /dev/uinput, where it creates virtual pads. The console's
Troubleshooting page flags it under Virtual controller support. Join the input group, then
restart the computer:
sudo usermod -aG input "$USER" # Bazzite: ujust add-user-to-input-groupThe pad works, but arrives as an Xbox 360 controller instead of a Steam Deck
The virtual Steam Deck pad attaches through vhci_hcd, and only members of the punktfunk group may
attach it. The console's Troubleshooting page names what's missing under USB/IP
controllers. Usually it's the group:
sudo usermod -aG punktfunk "$USER" # then restart the computer
sudo modprobe vhci-hcd # only if the check says the module isn't loadedJoin only on a machine you trust: the group can attach any emulated USB device. The same group lets the host take over Game Mode.
Stream lags, then freezes, with a DualSense pad (Bazzite, SELinux)
On an SELinux host, steamos-manager floods SELinux denials each time the virtual DualSense opens,
and setroubleshootd turns the flood into a CPU storm that outlasts the pad by minutes.
sudo punktfunk-sysext reapply # Bazzite: installs the drop-in that silences it
sudo systemctl mask --now setroubleshootd # any host; nothing depends on itOn a layered or bootc host, install the drop-in yourself:
sudo semodule -i /usr/share/punktfunk/selinux/punktfunk-ds-inhibit.cil. Setting the client's
Controller type to Xbox 360 avoids it too, without adaptive triggers, lightbar and touchpad.
A Steam Controller 2 is captured, but Steam's controller list stays empty
Only Steam reads this pad, through its hidraw node, so the pad does nothing until Steam can open
it.
- Windows host: run the Punktfunk installer again with Controller drivers on; it reinstalls the gamepad driver.
- Linux host: no
attached via usbipin the host log means the pad never attached; fix the Steam Deck pad first.attached via usbipwithout a lateranswering feature GETmeans Steam can't open the node: install the packaged udev rules (60-punktfunk.rules), runsudo udevadm control --reload && sudo udevadm trigger, and reconnect.
The trackpads don't move the pointer while Steam is closed. That's normal while the pad is captured.
A 2015 Steam Controller takes the same steps on either host. A Windows host whose gamepad driver is older than the host gives it an Xbox 360 pad until the driver is reinstalled. On Bluetooth it needs Valve's Bluetooth firmware, which Steam installs over its cable; pair it in your device's Bluetooth settings by holding Y while you press the Steam button.
A controller plugged into the PC shows up on a seat (Windows)
The PC's host marks every controller plugged into it for the console session, so seats don't list it. If a seat still does, the host isn't running on the PC: restart it from the console. What Windows does past that mark is under Seats.
Clipboard
Copy and paste between host and client does nothing
Sharing needs two switches: Host → Shared clipboard on the host, and the per-host toggle in your client. Why the toggle does nothing covers both, and the setups where nothing crosses.