Wrecked Games
September 10, 2010, 10:30:45 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: We're just that awesome.
 
   Home   Help Search Members Login Register  
Pages: 1 [2] 3
  Print  
Author Topic: MacHIDManager and MacInputManager  (Read 2110 times)
pjcast
Administrator
Veteran
*****
Posts: 2547



View Profile WWW
« Reply #15 on: September 01, 2009, 05:30:55 PM »

OK, you appear to have been a project member, but no cvs access permissions. Corrected now.
Logged
mysterycoder
Administrator
Veteran
*****
Posts: 445


View Profile
« Reply #16 on: September 02, 2009, 12:04:39 AM »

Ah thanks, I've just committed what I have so far.

So far it supports axes, buttons, and multiple joysticks.  Grin
Unfortunately, I can't develop the support for pov yet as I don't have any joysticks with them. Also there's no force feedback support or detection for device removal, but I hope to add those features soon.

I've successfully tested it with a Gravis GamePad Pro and a Logitech WingMan Rumble.
The Gravis Destroyer Tilt I tested it with was not detected, though I am thinking it is only a problem with the usage flags.

Also, I realize that there is overlap in the enumeration code between MacHIDManager and MacJoyStick. I will resolve that ASAP.

Would you rather the d-pad on game pads be detected as an two axes or a pov?
« Last Edit: September 02, 2009, 12:25:11 AM by mysterycoder » Logged
pjcast
Administrator
Veteran
*****
Posts: 2547



View Profile WWW
« Reply #17 on: September 02, 2009, 06:34:58 AM »

A digital d-pad should show up as a POV/HAT if possible.
Logged
mysterycoder
Administrator
Veteran
*****
Posts: 445


View Profile
« Reply #18 on: September 02, 2009, 08:50:18 AM »

Ok, I'll work on that.
Btw the Gravis Tilt is working now.
Logged
pjcast
Administrator
Veteran
*****
Posts: 2547



View Profile WWW
« Reply #19 on: September 02, 2009, 04:36:20 PM »

That's cool. I'll try and do some testing with the controller I have as well.
Logged
mysterycoder
Administrator
Veteran
*****
Posts: 445


View Profile
« Reply #20 on: September 03, 2009, 02:40:51 PM »

That'd be great.
I've be looking at making the D-Pad a Pov/Hat and there doesn't seem to be a way to detect the D-Pad vs the analog sticks on my wingman rumble.
Do you have any ideas for detection? - I was thinking that even if the D-Pad was detected as two axes, I could emulate a POV by reading the axes and determining the directions from that.
Logged
pjcast
Administrator
Veteran
*****
Posts: 2547



View Profile WWW
« Reply #21 on: September 03, 2009, 05:18:33 PM »

If you can't determine something is a POV, emulating is unpractical for every device. I'll take a look what my Xbox controller shows up as.
Logged
pjcast
Administrator
Veteran
*****
Posts: 2547



View Profile WWW
« Reply #22 on: September 03, 2009, 07:56:00 PM »

Gosh, everytime I open up Xcode I find myself frustrated.

Anyway, I managed to get and build the latest. I had to add MacJoystick.cpp to the xcode project, because I was getting unresolved externals. I did not commit, would be better if you committed what you have working.

I tested with XBox (original cotroller). Axis sticks seemed to work well. However, the D-pad showed up as buttons? And, when I pushed any other buttons, the joystick would stop firing all events after that. And, the triggers did not work either. Though, overall, i would say great progress - just some wrinkles to iron out. I'll see if I can find some other joystick to test against. I may try to debug a bit this weekend to find out if there is anyway to find the D-Pad (maybe it is just an alien concept to OSX and we might have to settle with it being buttons or axis depending on driver). By the way, this is on Tiger & PPC machine (Macbook is still down, so am on older iMac).
Logged
mysterycoder
Administrator
Veteran
*****
Posts: 445


View Profile
« Reply #23 on: September 03, 2009, 08:50:26 PM »

Ah yeah, I forgot to update the project file.
Huh, I haven't had a problem with it not detecting things. Though if I remember correctly doesn't the shoulder buttons have multiple levels of pressure? Maybe they are considered sliders, which I haven't added yet. I have a PS2 Controller USB adapter - I'll try to see if I can replicate something similar.

Thanks for testing it, I'm glad it works on your older machine.  Smiley
I'd really appreciate the debugging as I haven't had a problem with a controller stopping receiving events, I've even gotten all three of the controllers I have going at the same time - moving their axes and mashing buttons - without a problem.
Logged
pjcast
Administrator
Veteran
*****
Posts: 2547



View Profile WWW
« Reply #24 on: September 07, 2009, 06:50:11 PM »

Sorry, didn't manage to squeeze in time this weekend. I'll make sure to get it in this week after work, though. Hopefully it is something simple, and not just OSX barfing on the controller Cheesy
Logged
mysterycoder
Administrator
Veteran
*****
Posts: 445


View Profile
« Reply #25 on: September 08, 2009, 03:44:50 PM »

Ah it's no problem.

Right now I'm working on the enumeration code. My PS2 -> USB converter shows up as one device but it contains two JoySticks, so I am working to support those sorts of situations.

Do you think the enumeration code should be in the HIDManager solely? or in MacJoyStick aswell?
Logged
pjcast
Administrator
Veteran
*****
Posts: 2547



View Profile WWW
« Reply #26 on: September 08, 2009, 05:04:29 PM »

Enumeration is probably better suited for the HID helper class (assuming it might be useful outside of joystick devices as well).
Logged
hostep
Newbie
*
Posts: 17


View Profile WWW
« Reply #27 on: September 20, 2009, 02:14:49 AM »

Hi mysterycoder, great work on implementing joystick support for OS X!

I just tested it with my PS3 controller, and found out that the button numbers weren't correct.
So I fiddled a bit around with the code in the capture function and I've fixed the issue.
I suspect the axes numbers will also be a problem, but I couldn't test that, as the driver I used for my PS3 controller (http://tattiebogle.net/index.php/ProjectRoot/Ps3Controller) doesn't appear to support axes...

I've made a patch and uploaded it here:
http://pieterhoste.be/ois/patch

Things also solved in the patch is the compiling of the MacJoystick.cpp file, which wasn't in the xcodeproj file yet.
And I also added support for unbuffered joystick input, which crashed with the current code.


Logged
mysterycoder
Administrator
Veteran
*****
Posts: 445


View Profile
« Reply #28 on: September 21, 2009, 04:40:21 PM »

Thanks, the patch looks good, I'll be sure to apply it.  Smiley

Sorry about the lack of updates, I just moved to college a few days ago so it's been busy.
Logged
pjcast
Administrator
Veteran
*****
Posts: 2547



View Profile WWW
« Reply #29 on: October 03, 2009, 08:12:46 AM »

Been busy here as well. Also, my main laptop has now died on me.... grr.
Logged
Pages: 1 [2] 3
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!