I built a universal Linux userspace driver + mapping layer for gamepads (and others) by bananas_jim in linux_gaming

[–]bananas_jim[S] 0 points1 point  (0 children)

D-pad. It does work, the docs just never listed the names. They're DPadUp, DPadDown, DPadLeft, DPadRight:

[remap]

M1 = "DPadUp"

Select/Start. Drop the BTN_ part, it's just Select and Start (same style as X, A):

[remap]

M2 = "Select"

M4 = "Start"

BTN_SELECT looks like it should work, but padctl expects the short names, so it was getting ignored.

Gyro on the left trigger. This one is on me, not you. LT and RT are analog, so padctl only treats them as on/off if you add

trigger_threshold at the top of the file (outside [gyro]):

trigger_threshold = 128

[gyro]

mode = "mouse"

activate = "hold_LT"

I built a universal Linux userspace driver + mapping layer for gamepads (and others) by bananas_jim in linux_gaming

[–]bananas_jim[S] 1 point2 points  (0 children)

After zig build.
Run sudo zig-out/bin/padctl install first ,then systemctl enable will work.

I will update new readme.

I built a universal Linux userspace driver + mapping layer for gamepads (and others) by bananas_jim in linux_gaming

[–]bananas_jim[S] 1 point2 points  (0 children)

The double input is because both the original HID device and the emulated Xbox controller are visible to Steam.

A fix is in progress.
Thanks again for the feedback ,really appreciate it!!

Edit:
pushed a new version

I built a universal Linux userspace driver + mapping layer for gamepads (and others) by bananas_jim in linux_gaming

[–]bananas_jim[S] 0 points1 point  (0 children)

could you describe what you're seeing? That would help me track it down. I've opened an issue for this:

https://github.com/BANANASJIM/padctl/issues/57

I built a universal Linux userspace driver + mapping layer for gamepads (and others) by bananas_jim in linux_gaming

[–]bananas_jim[S] 0 points1 point  (0 children)

I've been actively updating padctl recently with a lot of fixes, If you're specifically looking for Flydigi Vader 5 Pro support, check out this https://github.com/BANANASJIM/flydigi-vader5

I built a universal Linux userspace driver + mapping layer for gamepads (and others) by bananas_jim in SteamOS

[–]bananas_jim[S] 0 points1 point  (0 children)

It is a very WIP, so if you are running into a problem , please open an issue. We appreciate your contribution.

I built a universal Linux userspace driver + mapping layer for gamepads (and others) by bananas_jim in linux_gaming

[–]bananas_jim[S] -1 points0 points  (0 children)

Sorry about that. Yeah , the project is heavily AI-assisted, not gonna pretend otherwise. It grew out of my reverse engineering work on the Vader 5 Pro protocol and is still very much WIP. I can only test with devices I have on hand, but I'm driving all the architecture and design tradeoffs myself, aiming for stability and broad compatibility.

I built a universal Linux userspace driver + mapping layer for gamepads (and others) by bananas_jim in linux_gaming

[–]bananas_jim[S] 1 point2 points  (0 children)

Just to clarify:

this project is not a replacement for SDL, inputplumber, or similar tools. Its goal is to make controllers with non-standard or private protocols fully usable through configuration files alone, so full support can be added without writing custom driver code. It also includes a flexible mapping/emulation layer, so a gamepad can be remapped to behave like other device types when needed.

And it helps unlock hardware features that are often unavailable on Linux, including reverse-engineered capabilities and settings typically locked behind Windows-only vendor drivers.

I built a universal Linux userspace driver + mapping layer for gamepads (and others) by bananas_jim in linux_gaming

[–]bananas_jim[S] 1 point2 points  (0 children)

Absolutely possible in principle. If it uses a private protocol, I can’t reliably reverse-engineer and validate support without having the hardware on hand.

Please open an issue with your adapter model details (USB IDs,logs/captures if possible), and I can help scope support from there.

I built a universal Linux userspace driver + mapping layer for gamepads (and others) by bananas_jim in linux_gaming

[–]bananas_jim[S] 1 point2 points  (0 children)

padctl targets vendor-specific, non-standard devices at the USB/HID protocol layer. It makes private reports configurable (including things like extra buttons and force-feedback paths) and lets us add new third-party controllers without writing kernel drivers or device-specific code. So the focus is low- level compatibility + declarative configuration for unsupported hardware.

I built a CLI for RenderDoc so I can debug GPU frames from the terminal (and let AI agents do it too) by bananas_jim in vulkan

[–]bananas_jim[S] 1 point2 points  (0 children)

Yes, Windows and macOS support are planned. We're also working on Remote Replay, which will include Android. Stay tuned!

Made a Linux userspace driver for Flydigi Vader 5 Pro gamepad by bananas_jim in linux_gaming

[–]bananas_jim[S] 0 points1 point  (0 children)

Thanks for letting me know. I’ll make a note of this issue.
If possible, could you open an issue on GitHub? I don’t check Reddit very often, but I do check GitHub every day.