Configuring D-Pad
I've got the xbox emulation working with RetroArch, but the D-Pad is nearly unusable. The dead zone in the center is too large and there seems to be no overlap with the X and Y Axis. For example, I can go left, and I can go up, but I cannot go both left and up at the same time. I never see the X and Y axes triggered at the same time when using jstest.
How can I tweak the dead zone and overlap settings?
in sc-xbox.py use setPadAxesAsButtons with default params
def setPadAxesAsButtons(self, pos, abs_events, deadzone=0.6, clicked=False, revert=True):
"""
Set pad as buttons
@param Pos pos designate left or right pad
@param list key_events list of axes events for the pad buttons (X, Y)
@param fload deadzone portion of the pad in the center dead zone from 0.0 to 1.0
@param bool clicked action on touch or on click event
@param bool revert revert axes
"""
You could try to call it with a smaller deadzone.
if overlapping is still not working I'll look more deeply in the matter.
I recently coded a simple visual/audio/input prototype game and added DirectInput support. The hat sends -1 for center, and the degree x 100 for a direct, clockwise starting with 0 at 12 o'clock, 4500. 9000. 13500, 18000, 22500, 27000, 31500.
Just a shot in the dark, but I suspect that the driver is reading digital dpad buttons, rather than the hat. ;)
I will say that in my goings-on with getting VDF support going, I noticed a lot of super weird behavior around the pads. One thing going on was that if both the stick and the left pad are in axis mode, the stick would trigger both (which is fixed in my upcoming PR). Another is that leaving my finger stationary on a pad in axis mode will cause the value to "jump around" a lot.
I don't have that second one figured out yet ;)
Whoops, I spoke a little too soon. When I fixed the first issue I mentioned, the second issue seems to have been fixed right along with it.