Hyperkin Procube controller libogc

Post Reply
Raflos
Posts: 3
Joined: Thu Jan 24, 2019 8:44 pm

Hyperkin Procube controller libogc

Post by Raflos » Thu Jan 24, 2019 9:17 pm

Hey
I have a pretty popular 3rd party Wii U pro controller called "Hyperkin Procube" controller. There are several people who have posted in various places because they bought the controller expecting it to work with homebrew apps, but unfortunately it doesn't.

Here's what I've been able to figure out about the controller:
  • It uses the same bluetooth name as a standard WUPC
  • On version 1.8.16 of Libogc it doesn't connect at all
  • On the latest version, it connects but doesn't respond to inputs other than the power and home buttons, and the joystick input is stuck pointing towards the bottom left
I've been using homebrew (especially wii homebrew) for many years, but I've only ever made small tweaks to source codes here and there.
I'm always interested in learning, so I'd like to set up a basic homebrew app that can test out inputs, then make adjustments to libogc's wpad/bluetooth code to see if I can get any results.
I'd appreciate any help on this.
Thanks.

DacoTaco
Posts: 9
Joined: Tue Sep 22, 2009 5:37 pm

Re: Hyperkin Procube controller libogc

Post by DacoTaco » Thu Feb 07, 2019 9:50 pm

if the home button works then i guess that wpad/wiiuse detects the controller in some way.

couldn't the standard wiimote input example show you what button presses it detected?
i haven't looked at the wiiuse code yet, so idk how it looks though...

Raflos
Posts: 3
Joined: Thu Jan 24, 2019 8:44 pm

Re: Hyperkin Procube controller libogc

Post by Raflos » Sat Feb 23, 2019 8:32 pm

DacoTaco wrote:
Thu Feb 07, 2019 9:50 pm
if the home button works then i guess that wpad/wiiuse detects the controller in some way.

couldn't the standard wiimote input example show you what button presses it detected?
i haven't looked at the wiiuse code yet, so idk how it looks though...
It definitely detects the controller yeah. I'm not sure which library does though, because it seems like the standard wiiuse library doesn't have WUPC support, but the wiiuse code used in libogc was modified to support it. And obviously the wpad code supports WUPC.

Could you point me towards the standard wiimote input example? If it uses libogc and is open source then it would be perfect for testing.

Raflos
Posts: 3
Joined: Thu Jan 24, 2019 8:44 pm

Re: Hyperkin Procube controller libogc

Post by Raflos » Wed Aug 14, 2019 3:45 am

It's been a while, but I decided to give this a try yesterday.
I haven't been able to get it to work, but I found more information.

First, here is the memory/registers data that the controllers send when they connect.
Wii U Pro Controller:
Image

Hyperkin Controller:
Image

Then, I checked the raw outputs of the controllers.
The WUPC output: 0x340000JJJJJJJJJJJJJJJJBBBBBB0000000000000000 where J is the joysticks value and B is the buttons value.
Hyperkin output: 0x340000120000700000000000000000000000A4200120
The Hyperkin controller's output doesn't change no matter how I manipulate the joysticks/buttons.
Except when I press the Home button, then the two bytes after 0x34 become 0080, which explains why the Home and Power buttons work, they're the only buttons that express as Wiimote buttons instead of WUPC buttons.

I thought that it could be encrypted, but if it were, the data would still change when moving around joysticks and such, right?
My other theory is that the controller is misinterpreting the button data requests as something else, and responding with some other data (which would explain why it's spitting out A4200120 in the button report). But that would be strange too, because 0x34 is the right byte for WUPC button/joy data.

Does anyone know what could be going on?

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests