HID compliant USB driver

Is it possible for someone to edit the gx_input.c and add a USB HID gamepad compliant driver to RetroArch on the Wii. The Wii would then be a great FBA machine. Imagine all the fantastic pads and sticks we would be able to use. :smiley:

This would be awesome I agree.

I know of someone who made a mod of Snes9xGx that can use a PS3 controller (among the other GX emulators I believe), to implement HID/USB code into RetroArch would be freakin awesome =D

I’m not familiar with any generic HID drivers for Wii homebrew. If one exists, though, we can look into whether it’s feasible to include.

For the PS3 controller, that was likely libsicksaxis, which Squarepusher was recently looking into integrating. However, he mentioned having tried it previously and it was bad, so the recent work was primarily to see if the library itself had improved enough to attempt a real integration.

While it’s not in library form, the homebrew GameCube loader Nintendont uses USB controllers. Users apparently have to provide their own config file for each controller. I’m not sure at all how portable the implementation is, though, and haven’t tried it myself. Might be a reasonable starting point for someone wanting to implement similar in RetroArch, though.

PLEASE! Add a HID-compliant USB driver to RetroArch on the Wii! Since the Wii/GC pads are unfortunately far away from authentical I would really love to have a broader variaty of controllers to choose from. Adapters for GC-ports are getting very rare so it would be an awesome addition to an awesesome emulator to have USB-controller/adapter support as well.

HID controllers wouldn’t reduce lag input, would they?

Of course they would. Cable connection beats connection via Wiimote adapter and Bluetooth at any time. As already described, there have been a lot of drivers for Nintendont, why not just port the same system over? I’m sure many people would appreciate that, especially now that the Wii version supports 240p.

Whether the team is willing to implement the necessary code or not is another matter. It’s not a simple task.

I vote that this is the most wanted feature right now.

This would be great! I second this feature! It would be so great to have such thing. Specially in terms of pads, the pads made for Wii are like twice or more expensive than the PS3’s. I will give you an example, a NeoGeo stick for PS3 (New) costs 57 dollars in the US, a Wii NeoGeo stick (the same) costs around 130 dollars!

That is just one example, thing is, Wii peripherals are way overpriced, no matter where you look. Besides, any peripheral you buy for the Wii is not compatible with PC or anything at all but the Wii. On the other hand all PS3 peripherals are compatible with PC, I mean common :rolleyes: and did I say they are cheaper?! Yes I did :stuck_out_tongue:

im also looking forward to bluetooth support of the wii u pro controller, which has been proven possible as well.

As I figured out quite recently it’s not even necessary to provide a seperate config file for every controller. Most HID controllers seem to work out of the box. I found this simple app from Crediar to test HID peripherialls on the Wii: https://nintendon-t.googlecode.com/svn/ 
 D_Test.dol

I tried two different USB controllers and they immediately worked without setting anything up, provided they were plugged in before I started the app. I really would love to see this feature in the next release of retroarch, maybe you could try to implement those drivers vom Crediar’s app. Thanks!

More info on configs here: https://gbatemp.net/threads/nintendont.349258/

I agree, it would be great if we have Nintendont controllers support, please :smiley:

I think I might have a solution to this problem after all but I need somebody to test it, since I don’t know how to compile it correctly:

  1. We could create an iso from the NGC version of retroarch with one of those tools: http://www.gc-forever.com/forums/viewtopic.php?f=37&t=17

  2. Launch the created iso through Nintendont on Wii or WiiU and use the desired controller profiles already provided with this loader.

What do you guys think?

Do you know what’s better than a HID-compiant USB driver? A driver for Gameboy Advance, Gameboy Player input. Gameboy Advance SP has the best buttons around! (Clicky and shallow.)

I can see 1.3.0 has a HID driver. Does anyone know how to configure/define the keys yet? I can see all the buttons in the ‘81_libretro_wii.dol’ config file. I just need a way to find the corresponding buttons on my pad.

We’re getting closer. Thanks devs.

[QUOTE=barnard;33393]I can see 1.3.0 has a HID driver. Does anyone know how to configure/define the keys yet? I can see all the buttons in the ‘81_libretro_wii.dol’ config file. I just need a way to find the corresponding buttons on my pad.

We’re getting closer. Thanks devs.[/QUOTE]

This feature is not working yet. Some work is being done so it can be functional. Also, once it is completed not all controllers will work but just a small set of the most known (and more controllers could be added later).

So with the latest 1.3.2. I realized HID is finally working on Wii. Thank you very much for that!

There is only one downside to this: I only managed to get the PS3 controller working. I tried several different USB controllers and created individual autoconf files for them but none of them has even been recognized by RA. This was the tutorial I’ve been using: http://www.libretro.com/forums/showthread.php?t=3550 Am I correct in assuming that other controllers aren’t working due to a lackluster driver? When I set “hid” in “joypad driver” on RA Windows no device is being found as well. xinput, dinput work on the other hand. Even editing the xinput output files to use the “hid” driver doesn’t work.

I know, more work might have to be done on HID but it’s particularly surprising to me that this seems to be such a big problem with RA. As previously already mentioned, other homebrews like Nintendont managed to get a much higher compatibility or at least left it to the user to simply create their own autoconfig files without the need of adapting the driver any further. Take a look at the associated test suite by crediar for example. It detected every single one of my devices: http://t.co/x6fA5wDyWU

I might be asking too much but to help other people contribute to the project it would really help explaining the hurdles of the driver process in this project in comparison to others and provide a tutorial on how tu create/update drivers/autoconfs to give people a starting point for help they’re willing to give. Thank you and keep up the good work!

Gostaria de saber como por dois controles de playstation 3 conectados um em cada usb do nintendo wii, eu tenho jå a pasta hid certo e consigo usar um controle, mas quando plugo o segundo controle liga a luz do segundo controle de playstation 3 mas os botÔes não funcionam e o primeiro controle movimenta o primeiro e o segundo jogador? I wonder how two controls playstation 3 connected one in usb nintendo wii, I have already the right hid folder and can use a control, but when plugo the second control connects the light of the second control playstation 3 but the buttons They do not operate and control first moves the first and second player?