Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Multiple Pedal Devices #4

Open
megashub opened this issue Jul 15, 2021 · 7 comments
Open

Support for Multiple Pedal Devices #4

megashub opened this issue Jul 15, 2021 · 7 comments

Comments

@megashub
Copy link

Biped seems to work great with a single Infinity pedal device, but when I plug in a second device, I'm unable to map its keys or see button presses from it.

How can I manage the configuration of multiple concurrent pedal devices?

@megashub
Copy link
Author

@johnnyruz -- someone on the Sinden discord suggested I tag you on this request. I'd happily offer up a bounty on it if the coin would help you prioritize. I don't need a GUI for it, since I'll be running it through a frontend, per game, as needed anyway. Not sure if that makes it any easier, or not. :) Let me know?

@megashub
Copy link
Author

megashub commented Jul 18, 2021

Sinden discord user Hexxed writes:
"Looked through the code for a minute and it enumerates all devices with the vid and pid but uses the first one. All it would take is to grab [all unique instances] instead and assign them to [their own] devices. Could likely even set an array of them from the looks of it.

Saving the values from each unique device and pulling them up shouldn't be that hard either."

from there, for commandline, if the user can supply a label for each device and reference it in an argument, such as -device [label] then I could just repeat that command for each label, for a given game.

Example:

biped2.exe -device [label1] -left [keycode] -middle [keycode] -right [keycode]
biped2.exe -device [label2] -left [keycode] -middle [keycode] -right [keycode]

Or, you could take the same approach as Ultimarc does with their UltraMap tool, and first have the user map detected devices to a numbered position, then use a cfg directory, which allows the user to predefine button mappings per position, per use case.

Example:

\biped.cfg (or registry entries, whatever) contains:
Position1=[uniquedeviceID1]
Position2=[uniquedeviceID2]

cfg\timecrisis3.cfg contains:
Position1=[leftkeycode],[middlekeycode],[rightkeycode]
Position2=[leftkeycode],[middlekeycode],[rightkeycode]

Commandline would then be:
biped2.exe -cfg timecrisis3.cfg

@madmodder123
Copy link

madmodder123 commented Sep 19, 2021

I was gonna try to work on this, but one of the pedals I got was dead so I ended up just doing the Arduino FrankenPedal mods to them.
https://github.com/johnnyruz/barrel_arcade/tree/main/FrankenPedal
Wired FrankenPedal video: https://www.youtube.com/watch?v=DTvxHF_ZBjA
Wireless FrankenPedal video: https://www.youtube.com/watch?v=jShPcE2qqPA

I was gonna see if I could use this code to handle the multiple pedals: https://github.com/Slion/SharpLibHid

@megashub
Copy link
Author

I was gonna try to work on this, but one of the pedals I got was dead so I ended up just doing the Arduino FrankenPedal mods to them.
https://github.com/johnnyruz/barrel_arcade/tree/main/FrankenPedal
Wired FrankenPedal video: https://www.youtube.com/watch?v=DTvxHF_ZBjA
Wireless FrankenPedal video: https://www.youtube.com/watch?v=jShPcE2qqPA

I was gonna see if I could use this code to handle the multiple pedals: https://github.com/Slion/SharpLibHid

Thanks for being willing to take a stab at this, and for sharing the code you were thinking about using. I wonder, does it really matter what type of HIDs we use here? Can it really just be any two identical devices (e.g. mice, etc)... and shouldn't it all just work the same way?

@megashub
Copy link
Author

I was gonna try to work on this, but one of the pedals I got was dead so I ended up just doing the Arduino FrankenPedal mods to them. https://github.com/johnnyruz/barrel_arcade/tree/main/FrankenPedal Wired FrankenPedal video: https://www.youtube.com/watch?v=DTvxHF_ZBjA Wireless FrankenPedal video: https://www.youtube.com/watch?v=jShPcE2qqPA

I was gonna see if I could use this code to handle the multiple pedals: https://github.com/Slion/SharpLibHid

Just checking in again to see if you happened to make any headway on this? Let me know if a bounty would help with prioritization.

@madmodder123
Copy link

I decided to gut my pedals and use an arduino inside, see the FrankenPedal repo posted above

@megashub
Copy link
Author

megashub commented Jan 30, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants