Homebrew Usb Controllers test application

  • Thread starter Thread starter DacoTaco
  • Start date Start date
  • Views Views 2,875
  • Replies Replies 9
  • Likes Likes 8

DacoTaco

Well-Known Member
Member
Joined
Oct 8, 2017
Messages
196
Reaction score
426
Trophies
0
XP
1,319
Country
Antarctica
Y0.

during development of priiloader and debugging an issue i got to see a glimpse of the USB HID protocol and how it works.
for those that don't know, the HID class is a class of USB devices such as keyboards, mice and controllers (and more).
now, i thought creating a HID controller interface wasn't going to be so hard as the keyboard interface is piss easy.

...i was wrong.

BUT, i did make a basic USB HID controller interface for ALL homebrew to use. at MOST an application would need to handle the button presses.
no config, no rules no nothing.
anyway, to see how good or bad it actually is i would like to see what people get when they run this.

link : https://upload.dacotaco.com/HIDControllers.dol

in the normal flow , when run and a USB controller is inserted , it should say it opened a device and show some data.
after that, any button or directional press (not axis ! those are not yet implemented ! ) should fire an event showing the button number and whether it was pressed or released.
press home/start twice on a wiimote/gc controller to exit.

i also noticed that some devices are flat out rejected by IOS, sadly i can not do anything about those.

any feedback is welcome as this core is probably going to end up in priiloader one day (and more...)
Thanks
 
Last edited by DacoTaco,
Y0.

during development of priiloader and debugging an issue i got to see a glimpse of the USB HID protocol and how it works.
for those that don't know, the HID class is a class of USB devices such as keyboards, mice and controllers (and more).
now, i thought creating a HID controller interface wasn't going to be so hard as the keyboard interface is piss easy.

...i was wrong.

BUT, i did make a basic USB HID controller interface for ALL homebrew to use. at MOST an application would need to handle the button presses.
no config, no rules no nothing.
anyway, to see how good or bad it actually is i would like to see what people get when they run this.

link : https://upload.dacotaco.com/HIDControllers.dol

in the normal flow , when run and a USB controller is inserted , it should say it opened a device and show some data.
after that, any button or directional press (not axis ! those are not yet implemented ! ) should fire an event showing the button number and whether it was pressed or released.
press home/start twice on a wiimote/gc controller to exit.

i also noticed that some devices are flat out rejected by IOS, sadly i can not do anything about those.

any feedback is welcome as this core is probably going to end up in priiloader one day (and more...)
Thanks

hello!
But how use it in apps\games\emulators or somethings?
 
  • Like
Reactions: jeannotte
hello!
But how use it in apps\games\emulators or somethings?

you can't yet.
this is a testing app and the code has not been upstreamed to libogc for other applications to use.
im thinking of getting a DS3 or DS4 controller to test with cause without the support of those controllers this is, in my opinion, a waste of time :-/

however a DS3/DS4 are still fucking expensive to buy just for this (i don't own a PS4.. )
 
Last edited by DacoTaco,
I have a ps4 v1 and v2. I tried your testing app but without result.
If i start your .dol with HBL the screen goes black and the line with (time) : device_count : 0 runs all the threw the whole screen.
The time changes with every second.

If i put in the controller in there stand something but cant read it beacause the text overlapps.
There is no reaction bypressing a button.

I hope the tool doesn`t interferier with plugged in usb drives.
 
I have a ps4 v1 and v2. I tried your testing app but without result.
If i start your .dol with HBL the screen goes black and the line with (time) : device_count : 0 runs all the threw the whole screen.
The time changes with every second.

If i put in the controller in there stand something but cant read it beacause the text overlapps.
There is no reaction bypressing a button.

I hope the tool doesn`t interferier with plugged in usb drives.
DS3 and DS4 controllers don't work yet, which is why i said the comment above
 
Y0.

during development of priiloader and debugging an issue i got to see a glimpse of the USB HID protocol and how it works.
for those that don't know, the HID class is a class of USB devices such as keyboards, mice and controllers (and more).
now, i thought creating a HID controller interface wasn't going to be so hard as the keyboard interface is piss easy.

...i was wrong.

BUT, i did make a basic USB HID controller interface for ALL homebrew to use. at MOST an application would need to handle the button presses.
no config, no rules no nothing.
anyway, to see how good or bad it actually is i would like to see what people get when they run this.

link : https://upload.dacotaco.com/HIDControllers.dol

in the normal flow , when run and a USB controller is inserted , it should say it opened a device and show some data.
after that, any button or directional press (not axis ! those are not yet implemented ! ) should fire an event showing the button number and whether it was pressed or released.
press home/start twice on a wiimote/gc controller to exit.

i also noticed that some devices are flat out rejected by IOS, sadly i can not do anything about those.

any feedback is welcome as this core is probably going to end up in priiloader one day (and more...)
Thanks
Very nice. Maybe in future we can control homebrew Channel and other apps with simply random USB hid game pad.
How can i help test this?
I have working random USB game pad. This pad work without problem in Nintendont.
 
I have the mentioned PS4 v1 and v2 controller. and some third party controller e.g: Logitech rumblepad.
So if i could help tell me.
sadly for the dualshock controllers i need to have one myself to do some investigations in linux.

the rumblepad should work though, at least mine (wired version) worked :)
 
Hey did you happen to make more progress on this? I'm asking because in SNES9xGX/RX (and probably TX), there's support for several USB controllers, but they're all implemented individually and in an honestly sort of hacky way. I'm trying to implement a specific USB adapter that I have, but I'd love to be able to overhaul the system and implement a way for these emulators to interface with any HID device, and it seems like you've made some headway in this area.
 

Site & Scene News

Popular threads in this forum