steamcontroller icon indicating copy to clipboard operation
steamcontroller copied to clipboard

Configuring D-Pad

Open bmurphy1976 opened this issue 9 years ago • 5 comments

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?

bmurphy1976 avatar Apr 07 '16 21:04 bmurphy1976

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.

ynsta avatar Jun 08 '16 21:06 ynsta

if overlapping is still not working I'll look more deeply in the matter.

ynsta avatar Jun 08 '16 21:06 ynsta

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. ;)

k2t0f12d avatar Jan 12 '17 00:01 k2t0f12d

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 ;)

mcronce avatar Feb 13 '17 01:02 mcronce

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.

mcronce avatar Feb 13 '17 02:02 mcronce