HID USB controllers (such as Dualshock 3) are not recognized nor usable on Retroarch Wii since 1.7.1 stable. 1.7.0 and earlier versions work fine, though.
After the initial setup Retroarch should allow HID devices to be used.
After setting the joypad driver to hid and restarting, the user is unable to navigate the menu in any way, because HID does not actually work.
For instance, with a PS3 controller, all LEDs blink as if the controller was charging, whereas on working versions of RetroArch only the first LED is on, exactly as on a real PS3.
I'm not 100% certain, but I think the bug appeared with #5997
Any stable version after 1.7.0. Not sure on the exact commit.
Gotta note that "works fine" means the pad works fine but RA crashes all the time in those versions.
Bump. Not working for me either. Did you ever figure out the issue?
Actually 1.7.0 isn't working for me either. How did you get it working? Where did you extract the autoconfig zip? Did you leave it zipped? I'm using a ps3 fightstick.
I tried on 1.7.6 and is not working, so I tried on 1.7.0 is working fine. Look like this new HID is broken on the Wii.
Can confirm this bug, 1.7.0 is the last working version on the Wii.
I can confirm that 1.7.0 works with my Speedlink Hornet USB Gamepad, which doesn't work with 1.7.6! It has the same VID/PID like the Generic NES Controller.
UPDATE: Removed comment about my Retrode 2. It doesn't work, because each supported controller requires additional code as stated here. In the meantime I forked RetroArch and added Retrode support. I'll do a pull request.
I'd also like to confirm that it works on 1.7.0 but does not work on 1.7.6.
I have installed version 1.7.6 on my Wii and could not get my (wired) DS3 to work, even with all the autoconfig files present.
After reading this thread I downloaded 1.7.0 and replaced that into my Wii, with the same autoconfig files I was trying to use before, and my DS3 controller worked on the first try.
Hi, Iād like to get my Logitech F510 controller to work on RetroArch Wii too, but I got no luck. I switched it to DInput mode, so it appears as Logitech Rumble Pad 2 in Windows, and thereās an autoconfig file for this controller in āautoconfig/hidā folder, yet no button works. Could someone help me? Thanks in advance.
Tested with 2019-07-31_RetroArch.7z: My USB gamepad (*) works again. Thanks!
I noticed that some button values have changed. (My config was created on Windows RetroArch 1.7.6)
Saving an autoconfig file on Wii doesn't work: It only writes VID, PID, etc. but no buttons.
So I updated my file manually.
(*)
input_vendor_id = 121
input_product_id = 17
Can we also include support those "zero delay encoder" pcbs as well. Other retroarch platforms support them well but not the wii version.
The HID subsystem does not work with autoconfig files. The entire point is to support input devices that are not normally supported by your OS and/or any input drivers on the OS side. So every gamepad needs to be programmatically added to the HID subsystem. It might be that certain VID/PIDs need to be added.
Hey @revvv , very cool to hear, and looking forward to it!
@twinaphex - can you point me to where in the code that HID sub-system sits (ie which files need to change)?
Im keen to have a go at adding more devices I want to use - particularly to support common arcade stick pcbs (and make use of the wiis' 240p output modes)
@dekkit If your PID/VID is already included, you just have to add an autoconfig file.
If they are new, then look here.
This means, change these files:
input\connect\joypad_connection.h
input\connect\joypad_connection.c
input\connect\connect_<yourgamepad>.c
input\drivers_hid\wiiusb_hid.c // only if it is a multi adapter
Makefile.common
griffin\griffin.c
Just check, what I have changed for my Retrode.
And sorry, didn't understand your first question. Now I know what a pcbs stick is.
Ok great thats perfect, once ive added a few HID devices, confirmed they work Ill share my results.
I still don't get it, I have an autoconfig file for my controller on the SD card but it doesn't work anyway.
If you want to get help, you should write which controller you have and attach your autoconfig file and in which directory you put it.
If you want to get help, you should ~write which controller you have and~ attach your autoconfig file ~and in which directory you put it~.
My controller is Logitech F510 and it has a switch between XInput and DInput mode. When in DInput mode, it's recognized as Logitech RumblePad 2 in Windows, so I have used the autoconfig file found here: https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/hid/Logitech_RumblePad_2_USB.cfg, but it didn't work. After that I tried making my own config in RetroArch on Windows/Linux and changing the input_driver value to hid, but it didn't work either. Here's the file: Logitech Logitech Rumblepad 2 USB.cfg.zip
By the way, when I changed input_joypad_driver to hid on Windows, it didn't detect my controller at all, and as far I know my controller is HID-compatible, because it works fine with Nintendont.
This isn't working for me either on 1.8.7; I'm using a Retro-Bit Sega Genesis 6-button controller, which has DInput (in which it identifies in the PC version as "Retro-Bit Genesis 8 Button Arcade Pad") , Xinput, and Switch Pro Controller modes, and a DualShock 2 connected through an adapter, which identifies as a "Twin USB Joystick". Both of these controllers work fine (and automatically) on the PC version, while I was unable to create configuration files that would get them to be recognised on my Wii. Trying to change controllers under Settings>Input>Port 1 just switches to "Disabled", then immediately switches back to "Wiimote Controller".
To use an USB gamepad on RetroArch Wii you have to configure input joypad driver to hid, then restart.
In retroarch.cfg:
input_joypad_driver = "hid"
Beware that you can easily lock yourself out if your controller isn't recognized, so that you have to restore the config file manually.
To use an USB gamepad on RetroArch Wii you have to configure input joypad driver to
hid, then restart.In retroarch.cfg:
input_joypad_driver = "hid"Beware that you can easily lock yourself out if your controller isn't recognized, so that you have to restore the config file manually.
Doing this, I was able to get the Wiimote to be disabled, and my PS2 controller working in the RetroArch menus using the Twin_USB_Joystick_(Analog).cfg found in my PC installation of RetroArch's \autoconfigxinput folder. I was not able to get with Retro-Bit Genesis 6-button controller to work in the menus at first; using "USB Gamepad.cfg", which I assumed was the configuration I was using as it's last modified date was the most recent, it's incorrectly identified by RetroArch as "Generic NES Controller", and attempting to switch it to Port 1 under the Input settings menu results in not being able to navigate the menus at all; no buttons (that I can tell) work under that configuration. Relaunching (of course I'm not able to save the configuration) reverts back to the PS2 controller working.
Using "Retro-Bit_Genesis_8_Button_Arcade_Pad.cfg" gets RetroArch to identify it correctly, but switching to it still leaves me unable to use the d-pad, and I'm unable to leave the screen without restarting the Wii.
The PS2 controllers binds seem to be way off by default (Square is used to select, Cross is to search), and this seems to be specific to the Wii version; the Retropad buttons match up correctly with the PS2 buttons in the Input menu, and those same binds work as you'd expect in the PC version.
When I load a game (in this case, the Genesis 240p test suite ROM), I see several notifications about controller configurations being loaded, and twice I have seen notifications about my controllers than being disconnected. Once the game has loaded, the d-pad doesn't do anything, although at least Square and Cross work (I'm unable to test the other buttons because I'm unable to move to the controller test menu within the 240p test suite ROM).
Is there any way to create configuration files that'll work with these controllers on the Wii? I assumed that since RetroArch is apparently using the same config files on multiple platforms, it would work much easier than this.
it's incorrectly identified by RetroArch as "Generic NES Controller"
Add only one configuration file at a time. Some of them are ambiguous. (Same VID/PID)
If you have a working USB controller, you should add that, too and enable:
all_users_control_menu = "true"
This helps you to still navigate through the RA menus, if your new controller doesn't work.
When I load a game (in this case, the Genesis 240p test suite ROM), I see several notifications about controller configurations being loaded
I've never noticed such messages.
Is there any way to create configuration files that'll work with these controllers on the Wii? I assumed that since RetroArch is apparently using the same config files on multiple platforms
The Wii autoconfig files differ! I always have to configure them on the Wii and save to a file.
VID/PID are the same of course, but the button layout differs. So you cannot use RA files from another platform without reconfiguring.
I'm still unable to get this working in Retroarch 1.9.0. Is there any actual documentation on this? The only thing I've ever been able to find are forum posts like this where half the posters can't figure anything out.