69
submitted 2 days ago by edinbruh@feddit.it to c/opensource@lemmy.ml

cross-posted from: https://feddit.it/post/28858403

A friend and I wanted to use a Wiimote as a PC remote for movie night. We have tried various existing software, but all had some issues: some were old Xorg-only programs, some didn't have proper IR tracking, and all were abandoned by the developer. But most of all, no software (even modern remappers like InputPlumber) had any support for key combos. So, we set out to write our own.

Some of our requirements were:

  • Key combos (the wiimote has only few buttons)
  • Proper IR tracking
  • The ability to enable or disable the IR with a key combo
  • Having no observable latency

We first developed "esperto" a powerful system for describing and detecting key combos, which we implemented in this library. It is generic so it can be used on pretty much anything that needs combo detection. At first, we intended to plug that into InputPlumber, but then decided it would be easier to do everything ourselves.

So, we ported this IR tracking algorithm from Hector Martin to rust, and put it together with our esperto library, and this is the result. It is extremely fast (mostly dominated by the actual latency of evdev's and uinput's UAPI), and it meets all of our requirements. And we already have ideas for future improvements, for example how to add support for wiimote extensions.

top 1 comments
sorted by: hot top controversial new old
[-] noodles@slrpnk.net 5 points 1 day ago

So sick, huge props. Will have to test this out once I have time to (a) find and dig out my old Wii stuff, and (b) set this up

this post was submitted on 25 Apr 2026
69 points (100.0% liked)

Open Source

46495 readers
62 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 6 years ago
MODERATORS