POV Hat on USBcontroller not working correctly.

If you're having problems with Snes9x, or think you've found a bug, this is the place to be.
Post Reply
phoenixdownita
Snes9x White Belt
Posts: 2
Joined: Wed Mar 07, 2012 5:38 am

POV Hat on USBcontroller not working correctly.

Post by phoenixdownita »

snes9x-1.53-x64 and snes9x-1.53-win32 have issues not allowing me to use correctly a digital joystick.

bsnes_v087-32bit, bsnes_v087-64bit as well as zsnesw151 don't have such an issue.

I am on windows 7 64 bits.

What happens is if I used the POV Hat on the pad connected thru USB as my Up/Down/Left/Right then if I press Up I cannot also go Left or Right same for down, basically it seems like only one of the "direction" button can be pressed at the same time. If instead I use the analog X and Y axis then it is all fine. I repeat this does not happen on the other emus (even Kega Fusion is fine allowing me to use the POV Hat correctly)

The configuration is as follows (from snes9x.conf):
[Controls\Win]
Joypad1:Enabled = TRUE
Joypad1:Up = (J0)POV Up
Joypad1:Down = (J0)POV Down
Joypad1:Left = (J0)POV Left
Joypad1:Right = (J0)POV Right
Joypad1:A = (J0)Button 1
Joypad1:B = (J0)Button 0
Joypad1:Y = (J0)Button 2
Joypad1:X = (J0)Button 3
Joypad1:L = (J0)Button 4
Joypad1:R = (J0)Button 5
Joypad1:Start = (J0)Button 7
Joypad1:Select = (J0)Button 6
Joypad1:Left+Up = Disabled
Joypad1:Right+Up = Disabled
Joypad1:Right+Down = Disabled
Joypad1:Left+Down = Disabled
Joypad1Turbo:AutoFire = Unassigned
Joypad1Turbo:AutoHold = Unassigned
Joypad1Turbo:TempTurbo = Unassigned
Joypad1Turbo:ClearAll = Unassigned

I am using as a pad a PDP Versus Fight Pad for XBbox 360 (I also tried the PS3 version with same results) using the default drivers that windows finds on its own. To test the analog X, Y axis I used a wired Xbox 360 controller just to see if that worked and it did.

Given the other emus can handle the input correctly I wonder if there's something wrong (a bug). I tried pressing the "," key to show what is registered as input and indeed any other button on the pad can be pressed simultaneuosly and it registers but the directions is only one at a time.
User avatar
OV2
Official Win32 Porter/Dev
Posts: 679
Joined: Thu Aug 30, 2007 10:15 pm

Re: POV Hat on USBcontroller not working correctly.

Post by OV2 »

Bind the other four POV directions to the remaining four directions and it should work (i.e. bind (J0)POV Up Left to Joypad1:Left+Up and so on).
phoenixdownita
Snes9x White Belt
Posts: 2
Joined: Wed Mar 07, 2012 5:38 am

Re: POV Hat on USBcontroller not working correctly.

Post by phoenixdownita »

Eureka, it works but my POV hat doesn;t have eight directions per se.
What I neede to do was to have the POV already pressed in the Up Left then click the input config for Up Left and it took it and so on for the other diagonal.
If I click first and try to do the movements on the POV I get either Up or Right (as it is humanly impossible to get it at the same time, my POV has physically only 4 switches).

Anyway now my setting looks like the following:
[Controls\Win]
Joypad1:Enabled = TRUE
Joypad1:Up = (J0)POV Up
Joypad1:Down = (J0)POV Down
Joypad1:Left = (J0)POV Left
Joypad1:Right = (J0)POV Right
Joypad1:A = (J0)Button 1
Joypad1:B = (J0)Button 0
Joypad1:Y = (J0)Button 2
Joypad1:X = (J0)Button 3
Joypad1:L = (J0)Button 4
Joypad1:R = (J0)Button 5
Joypad1:Start = (J0)Button 7
Joypad1:Select = (J0)Button 6
Joypad1:Left+Up = (J0)POV Up Left
Joypad1:Right+Up = (J0)POV Up Right
Joypad1:Right+Down = (J0)POV Dn Right
Joypad1:Left+Down = (J0)POV Dn Left
Joypad1Turbo:AutoFire = Unassigned
Joypad1Turbo:AutoHold = Unassigned
Joypad1Turbo:TempTurbo = Unassigned
Joypad1Turbo:ClearAll = Unassigned

And it seems to be working fine. I also experience some input lag and for that I ended up doing:
[Controls\Win\Hotkeys]
Handler:Joystick = OFF # on to detect game controller buttons assigned to hotkeys. May impact performance.


(it defaults to on, recovering some sync).

Thanks for the hint, I still think it shouldn't be needed but at least it works now.
Post Reply