I was a bit sad getting my steam controller, and it not even working outside steam on linux (before kernel 7.3 apparently).

So I decided to spend the night (vibe) coding a solution that integrates better into a linux desktop based on wayland (many supported, not gnome sorry...).

Essentially provides what steam input provides while steam is started, but compared to steam it actually works well under wayland (e.g. pointer / mouse input in desktop mode working).

  • provides emulated controllers so any games can actually use the steam controller
  • switchable desktop / gamepad mode via long press of menu button
  • on screen hud, keyboard, settings
  • button remapping
  • changing what controller to emulate
  • seamless handover to steam input when steam starts. -> this is pretty nifty, because steam accesses some features of the controller no other app does yet, there is a special mode, where puckd hands over full control to steam automatically. You can dynamically switch back to giving puckd control by pressing + ≡ for ~half a second.
  • programs that actually can use the controller "natively" will get a pass trough device that has the full features set. Similar to steam pass trough, but it still allows switching between desktop and gamepad mode, open on screen keyboard without the steam / puckd switchover
  • presets
  • allow automatic preset switching based on application having focus on your desktop

all 5 comments

sorted by: hot top controversial new old
[–] 23 points 10 hours ago

(vibe) coding

  • source
  • [–] 18 points 9 hours ago
    [–] 6 points 6 hours ago

    Works for you? Great! Welcome to the era of bespoke software

  • source
  • [–] 4 points 1 hour ago

    Or... you could have used sc-controller, which is the software the AI stole from to make your version.

    Ironically the newest fork of it uses AI though.

  • source
  • [–] 2 points 3 hours ago

    So cool, I want an SC2 so bad.

  • source