You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Preemptive thanks for effort put into this project. It's awesome!
Currently setting up my Steam Controller to work with my ps3 using this and GIMX.
I prefer to use both haptic pads as joystick replacements and the actual joystick as a DPAD.
Unfortunately, GIMX (I don't have any other game with 360 support to confirm this with) still sees the the stick as a set of axes as well as being a set of buttons. On top of that, it sees it as the axes used for ABS_X and ABS_Y. I do realize could set the Pos.LEFT as buttons to limp but I would really like that full joystick range. With sc-xbox.py off, nothing is picked up, so I'm thinking it might be something on this end.
I don't mind trying to find the source of the issue myself but am not even sure where to start.
Update 1:
To expand, a little. When using the configuration above, the joystick is recognized as both the ABS_X, ABS_Y & KEY.UP, KEY.DOWN, KEY.LEFT, and KEY.RIGHT. POS.LEFT works as expected (without the extra Keys). GIMX does not display the same results with an actual 360 controller (although I figure this useless info)
I also tried commenting out setStickButtons altogether and GIMX picks it up as ABS_X & ABS_Y.
Thinking the stick might default to that, I tried using null and 0 setStickAxes as values but found no change.
To expand, a little. When using the configuration above, the joystick is recognized as both the ABS_X, ABS_Y & KEY.UP, KEY.DOWN, KEY.LEFT, and KEY.RIGHT. POS.LEFT works as expected (without the extra Keys). GIMX does not display the same results with an actual 360 controller (although I figure this useless info)
I also tried commenting out setStickButtons altogether and GIMX picks it up as ABS_X & ABS_Y.
Thinking the stick might default to that, I tried using null and 0 setStickAxes as values but found no change.
I guess it could be error checking for incorrect values but my money is on rogue line in there somewhere.
P.S. To make sure I'm not being a complete idiot, attached is my full sc-xbox.py
Update 2:
Not solved yet but I did notice that in events.py, under setTrigAxesCallback(), it has: self._trig_modes[pos] = StickModes.AXISNot solved yet but I did notice that in events.py, under setTrigAxesCallback(), it has: self._trig_modes[pos] = StickModes.AXIS
I'm thinking it should be: self._trig_modes[pos] = TrigModes.AXIS
Changing that in /src and reinstalling did not fix the problem however. :(
Update 3:
Ok, I'm going to preface by saying I'm probably wrong and stupid.
So I found out that the stick and LPAD are the same except for LPADTOUCH being true in the case of LPAD.
Under #Axis Mode of_KeyReleased() of events.py, sci.buttons & touch == touch
I'm on the fence about this one, but if touch is False (as it is in the when stick is in use), wouldn't the statement still be True and cause it act as if it were the touchpad? I tried editing it myself but it didn't change. May be it's in other places...
Update 5 million: I am dumb. The logic works fine in most places as the counter possibility has already been accounted for and using True instead of a local variable probably causes too much lag.
Would I be better off swapping the joystick ifs with the haptic in this case?
And if so, would it be viable to put a check in setup.py to switch between two different events.py?
Update 5: I am deeply sorry for the nightmare of messages you may or may not have recieved due multiple comments. I was limited to a bad browser for a hot minute to comment.
I am a n00b. Consolidating now.
The text was updated successfully, but these errors were encountered:
WillWallace
changed the title
Joystick Axis seems to be always active?
Joystick Axis seems to be always active?| RPI2B+
Aug 30, 2016
I don't understand what you wand to change in events.py.
The pad USB interface as designed by valve does not make a difference between the pad and the stick it is only possible to know which one is used by looking to the state of the pad (touched or not).
Yep.
Sorry I may not have written that too clearly. The issue I was having was
that it was not always doing pad state check. as a result, it'd fire a
right pad down and a left pad down.
I'm not sure why. Your logic looks sound.
(Keep in mind its only when using the left pad as axis instead of buttons)
Preemptive thanks for effort put into this project. It's awesome!
Currently setting up my Steam Controller to work with my ps3 using this and GIMX.
I prefer to use both haptic pads as joystick replacements and the actual joystick as a DPAD.
To do so I set up the config like so:
Unfortunately, GIMX (I don't have any other game with 360 support to confirm this with) still sees the the stick as a set of axes as well as being a set of buttons. On top of that, it sees it as the axes used for ABS_X and ABS_Y. I do realize could set the Pos.LEFT as buttons to limp but I would really like that full joystick range. With sc-xbox.py off, nothing is picked up, so I'm thinking it might be something on this end.
I don't mind trying to find the source of the issue myself but am not even sure where to start.
Thanks.
sc-xbox.txt
Update 1:
To expand, a little. When using the configuration above, the joystick is recognized as both the ABS_X, ABS_Y & KEY.UP, KEY.DOWN, KEY.LEFT, and KEY.RIGHT. POS.LEFT works as expected (without the extra Keys). GIMX does not display the same results with an actual 360 controller (although I figure this useless info)
I also tried commenting out setStickButtons altogether and GIMX picks it up as ABS_X & ABS_Y.
Thinking the stick might default to that, I tried using null and 0 setStickAxes as values but found no change.
To expand, a little. When using the configuration above, the joystick is recognized as both the ABS_X, ABS_Y & KEY.UP, KEY.DOWN, KEY.LEFT, and KEY.RIGHT. POS.LEFT works as expected (without the extra Keys). GIMX does not display the same results with an actual 360 controller (although I figure this useless info)
I also tried commenting out setStickButtons altogether and GIMX picks it up as ABS_X & ABS_Y.
Thinking the stick might default to that, I tried using null and 0 setStickAxes as values but found no change.
I guess it could be error checking for incorrect values but my money is on rogue line in there somewhere.
P.S. To make sure I'm not being a complete idiot, attached is my full sc-xbox.py
Update 2:
Not solved yet but I did notice that in events.py, under
setTrigAxesCallback()
, it has:self._trig_modes[pos] = StickModes.AXIS
Not solved yet but I did notice that in events.py, undersetTrigAxesCallback()
, it has:self._trig_modes[pos] = StickModes.AXIS
I'm thinking it should be:
self._trig_modes[pos] = TrigModes.AXIS
Changing that in /src and reinstalling did not fix the problem however. :(
Update 3:
Ok, I'm going to preface by saying I'm probably wrong and stupid.
So I found out that the stick and LPAD are the same except for LPADTOUCH being true in the case of LPAD.
Under
#Axis Mode
of_KeyReleased()
ofevents.py
,sci.buttons & touch == touch
I'm on the fence about this one, but if touch is False (as it is in the when stick is in use), wouldn't the statement still be True and cause it act as if it were the touchpad? I tried editing it myself but it didn't change. May be it's in other places...
Update 5 million: I am dumb. The logic works fine in most places as the counter possibility has already been accounted for and using True instead of a local variable probably causes too much lag.
Would I be better off swapping the joystick ifs with the haptic in this case?
And if so, would it be viable to put a check in
setup.py
to switch between two differentevents.py
?Update 5: I am deeply sorry for the nightmare of messages you may or may not have recieved due multiple comments. I was limited to a bad browser for a hot minute to comment.
I am a n00b. Consolidating now.
The text was updated successfully, but these errors were encountered: