25
submitted 8 months ago* (last edited 8 months ago) by ruffsl@programming.dev to c/linux@programming.dev

Excited to announce release v0.2.0 for CtrlAssist, adding rumble pass-through support and significant improvements to controller multiplexing! CtrlAssist brings "controller assist" functionality to Linux gaming by allowing multiple physical controllers to operate as a single virtual input device. This enables collaborative play and customizable gamepad setups, making it easier for players of all ages and abilities to enjoy games together.

🎯 What's New

Rumble Pass-Through

Force feedback can now be forwarded to paired physical controllers! Configure which controller(s) receive rumble effects—route them to Primary, Assist, both, or neither. Share every haptic encounter from turbulence, engine failure, and hard landings with your co-pilot. Even better: if a controller disconnects mid-game (swapping batteries, USB cords, etc.), CtrlAssist automatically recovers and restores all force feedback effects when it reconnects.

Smoother Input Transitions

All assist modes now feature improved synchronization for more natural gameplay:

  • Joysticks snap cleanly: When assistance begins or ends, both X and Y axes update together—no more jarring diagonal-to-cardinal transitions
  • Toggle mode syncs instantly: Switching between Primary and Assist now mirrors the active controller's complete current state, eliminating phantom inputs from buttons or sticks that were held during the switch

Better Device Discovery

Controllers device trees are now discovered more reliably, preventing edge cases where multiple similar devices could cause conflicts. This also improves device hiding and rumble pass-through selection.

🛠️ Under the Hood

  • Refactored input handling for consistency across all three modes
  • Fixed button mapping quirks across physical and virtual device boundaries
  • Improved error handling and logging for edge cases and issue reporting
  • More graceful shutdown on Ctrl+C with robust cleanup

📦 Install and Upgrade

cargo install ctrlassist --force

Full changelog available at the GitHub release page.


Note: If you have experience with Arch or modding SteamOS, I could use also some help in fixing/documenting SteamDeck support, as I've not the hardware on hand and most of my Linux development has been on NixOS and Ubuntu thus far:

90

CtrlAssist – an open source project to bring more accessible, collaborative gaming to Linux! Inspired by PC gaming sessions with my own family, where both young and old relish exploring rich stories with immersive worlds (like Witcher 3, RDR3, Hogwarts Legacy, etc) but find coordinated combat or movement control too challenging to play solo, CtrlAssist lets you combine multiple controllers into one virtual gamepad, much like assist features on dedicated game consoles.

Whether your helping grandparents through tough boss fights, or co-oping with nieces and nephews to level age gaps, CtrlAssist aims to make PC gaming on Linux fun and accessible for everyone. While I’m certain similar utilities exist, I also just wanted a holiday hobby project to practice Rust development while scratching a personal itch.

Please give it a try, share your feedback in the relevant discussion categories, or check out the open issues if you’d like to contribute, help is always welcome!

#RustLang #LinuxGaming #Accessibility #OpenSource #CtrlAssist

16

CtrlAssist – an open source project to bring more accessible, collaborative gaming to Linux! Inspired by PC gaming sessions with my own family, where both young and old relish exploring rich stories with immersive worlds (like Witcher 3, RDR3, Hogwarts Legacy, etc) but find coordinated combat or movement control too challenging to play solo, CtrlAssist lets you combine multiple controllers into one virtual gamepad, much like assist features on dedicated game consoles.

Whether your helping grandparents through tough boss fights, or co-oping with nieces and nephews to level age gaps, CtrlAssist aims to make PC gaming on Linux fun and accessible for everyone. While I’m certain similar utilities exist, I also just wanted a holiday hobby project to practice Rust development while scratching a personal itch.

Please give it a try, share your feedback in the relevant discussion categories, or check out the open issues if you’d like to contribute, help is always welcome!

#RustLang #LinuxGaming #Accessibility #OpenSource #CtrlAssist

38

CtrlAssist – an open source project to bring more accessible, collaborative gaming to Linux! Inspired by PC gaming sessions with my own family, where both young and old relish exploring rich stories with immersive worlds (like Witcher 3, RDR3, Hogwarts Legacy, etc) but find coordinated combat or movement control too challenging to play solo, CtrlAssist lets you combine multiple controllers into one virtual gamepad, much like assist features on dedicated game consoles.

Whether your helping grandparents through tough boss fights, or co-oping with nieces and nephews to level age gaps, CtrlAssist aims to make PC gaming on Linux fun and accessible for everyone. While I’m certain similar utilities exist, I also just wanted a holiday hobby project to practice Rust development while scratching a personal itch.

Please give it a try, share your feedback in the relevant discussion categories, or check out the open issues if you’d like to contribute, help is always welcome!

#RustLang #LinuxGaming #Accessibility #OpenSource #CtrlAssist

16

CtrlAssist – an open source project to bring more accessible, collaborative gaming to Linux! Inspired by PC gaming sessions with my own family, where both young and old relish exploring rich stories with immersive worlds (like Witcher 3, RDR3, Hogwarts Legacy, etc) but find coordinated combat or movement control too challenging to play solo, CtrlAssist lets you combine multiple controllers into one virtual gamepad, much like assist features on dedicated game consoles.

Whether your helping grandparents through tough boss fights, or co-oping with nieces and nephews to level age gaps, CtrlAssist aims to make PC gaming on Linux fun and accessible for everyone. While I’m certain similar utilities exist, I also just wanted a holiday hobby project to practice Rust development while scratching a personal itch.

Please give it a try, share your feedback in the relevant discussion categories, or check out the open issues if you’d like to contribute, help is always welcome!

#RustLang #LinuxGaming #Accessibility #OpenSource #CtrlAssist

9
submitted 8 months ago by ruffsl@programming.dev to c/nix@programming.dev

Related HN thread discussing NixOS:

9
submitted 9 months ago by ruffsl@programming.dev to c/nix@programming.dev

Related discussion thread:

22
submitted 9 months ago* (last edited 9 months ago) by ruffsl@programming.dev to c/nix@programming.dev

cross-posted from: https://lemmy.ml/post/38988050

13
submitted 9 months ago by ruffsl@programming.dev to c/nix@programming.dev
4
submitted 9 months ago* (last edited 9 months ago) by ruffsl@programming.dev to c/linux@programming.dev
3
submitted 9 months ago by ruffsl@programming.dev to c/nix@programming.dev
1
[-] ruffsl@programming.dev 9 points 1 year ago

As soon as you veer off the beaten path, things can get really tricky.

For med tech and robotics development, I'm still using Debian via docker because the surrounding ecosystems for those software communities are so tightly integrated with the Debian.

[-] ruffsl@programming.dev 8 points 2 years ago

Perhaps, is there an engineering meme community I could cross post this to?

[-] ruffsl@programming.dev 9 points 2 years ago

Does anyone have a favorite commercial game know to be developed using Bevy? Available on steam, Google Play, etc.

I know Bevy has a web site of indexing games from hackathons and what not, but I was more interested in seeing any commercially published titles.

[-] ruffsl@programming.dev 9 points 2 years ago* (last edited 2 years ago)

Any details on your setup?

  1. Do you use any ventilation to circulate the heated air through home?
  • E.g. do you place them in the basement and rely on raising connection l convention of heat, or dispersed around your living spaces?
  1. What scale of computing hardware do you host?
  • Retired server racks into a home lab?
  1. What grade of insulation is your home, the scale of the household?
  • built for what kind of winter climate zone in your geography?

Thanks!

[-] ruffsl@programming.dev 8 points 3 years ago

Private Eye - essential for staying online 24/7

What was that device, an early cellular modem or 802.11 wireless bridge? The thing ontop of the briefcase looks like a head visor with an antenna. Google search keywords are just noise.

[-] ruffsl@programming.dev 9 points 3 years ago

Please only post programming memes to !programmer_humor@programming.dev .

[-] ruffsl@programming.dev 9 points 3 years ago

For anybody wondering what the Mastodon security issue is - CVE-2023-36460, you can send a toot which makes a webshell on instances that process said toot. #CVE202336460 #TootRoot

[-] ruffsl@programming.dev 8 points 3 years ago

You recognise people in your replies like you used to.

This is pretty cool. I'm still active on some older traditional forums, but I love this style of threaded discussions in comment trees here. So much easier to reply to an individual in wall-of-text discussions. I think we'll also start recognizing each other by account birthdays, with a wave of folks all having similar ones in June and July. 📅

[-] ruffsl@programming.dev 9 points 3 years ago

My first meme post to Programming Humor was in the screen capture. Oofta... 🙃

[-] ruffsl@programming.dev 8 points 3 years ago

Out in the wild? Perhaps quite a few. For example, for teleoperated robotic thoracic surgeries, I imagine medical grade HID should mandate safety certified hardware that doesn't rely on electrically noisy mechanical potentiometers, subject to Dead zone drift, or non-deterministic dead man behavior under failure modes. Although I'm certain there's various reasons not to use hall effect sensing devices even within the same facility as MRI machines.

[-] ruffsl@programming.dev 8 points 3 years ago

After logging a daily cycle of the system base load, could you post some before and after metrics for resource usage for comparison? That'd be fun to see.

[-] ruffsl@programming.dev 8 points 3 years ago

These concerns could be mitigated if/when these feature requests get implemented:

view more: ‹ prev next ›

ruffsl

0 post score
0 comment score
joined 3 years ago
MODERATOR OF