Electronicks / JoyShockMapper

A tool for PC gamers to play games with DualShock 4s, JoyCons, and Pro Controllers. Gyro aiming, flick stick.
Other
343 stars 20 forks source link

Double press and simultaneous press sometimes "stick" #29

Open gddgddg opened 3 years ago

gddgddg commented 3 years ago

Sometimes when I do a simultaneous press or a double press, the action will sometimes stick. For a double press, it'll continuously hold the action despite letting go of the button. Double-pressing again will not deactivate it, but pressing another button with the same action will unstick it.

For a simultaneous press, if I press one of the two buttons bound to that particular action, it'll perform the action again even though I didn't do a simultaneous press and only pressed one button. For example, if I have N+E bound to an action and the sticky glitch occurs, it'll act normally for the initial press, but then it'll repeat the action when I press either N or E later. It doesn't seem to matter how much later.

The simultaneous press issue is harder to replicate, so I might have to change my description later if I can replicate it and be more sure about what's actually happening.

As an example for the double-press, I have S,S bound to GYRO_OFF. When I press it, sometimes the gyro will just stay off until I press another button, in this case R3, which is also set to GYRO_OFF. See the attached screenshot to see what happens in the console window once I press R3:

image

More details: I'm on Arch Linux using a DualShock 4 plugged into USB. I've tried running JSM as a regular user and as root. The issue still occurs either way. I just built the latest version of JSM. I was using a fork of version 3.1.0 before and the problem was still occurring there. That's what prompted me to try the latest version, where the problem persists.

Electronicks commented 3 years ago

Hi Thank you for reporting this issue. Can you share the configuration that procudes this issue? I want to see what modifiers and buttons are used. Hopefully this is not a linux only issue (could be if the bug is related to the way linux processes virtual key presses).

gddgddg commented 3 years ago

Of course. I hope this isn't too spammy as the config is very long -- the game I'm trying to play is a milsim.

#Calibration and general settings
REAL_WORLD_CALIBRATION = 22.462
TRIGGER_THRESHOLD = -1      #Hair trigger, probably not needed with digital triggers
MIN_GYRO_SENS = 7 5     #Horiz. Sensitivity set higher
MAX_GYRO_SENS = 7 5     #Horiz. Sensitivity set higher
IN_GAME_SENS = 7
LEFT_RING_MODE = INNER      #Ring is set to activate when not fully tilted
FLICK_TIME = 0.25       #Seems to work best, in seconds
RIGHT_STICK_MODE = FLICK    #Flick stick for aiming

#Weapon controls
ZR = LMOUSE         #Fire
R = T               #Reload
ZL = RMOUSE         #Aim/Scope
L = MMOUSE NONE         #Alt. Fire, hold for modeshift
HOME = NONE INSERT      #Hold to save replay (OBS)
CAPTURE = DELETE        #Fire mode, still activates if using as a mode shift
W+S = DELETE            #Fire mode alt
N+E = V             #Unload alternative

#Movement
LLEFT = S
LRIGHT = F
LUP = E
LDOWN = D
LRING = A           #Hold Walk (A) when stick not fully tilted
L3 = SHIFT          #Sprint

#Right face buttons
+ = ESC             #Menu
N = BACKSPACE           #Use/Action (Pick up)
E = Q W             #Bandage/Medkit; cannot double-tap, need to hit rapidly sometimes
S = C SPACE         #Crouch, Jump/Climb
S,S = GYRO_OFF          #Turn gyro off when double-tap South
W = Z '             #Drop Weapon/Strip Armor; cannot double-tap, need to hit rapidly sometimes

#DPad/Left face buttons
LEFT = V            #Unload, need to be able to hold this
RIGHT = 9 G         #Medical/Grenades
DOWN = B            #Mag Manager
UP = END            #Alt. Reload (For use with tr. kit, mag manager, etc)

#Mode shifts with Left Bumper
L,W = LEFT [            #Cycle Inventory Left, hold to lean left
L,E = RIGHT ]           #Cycle Inventory Right, hold to lean right
L,N = X L           #Drop Item, Light/Laser Module,
L,S = ; .           #Drop One, Cycle Weapon Stack
L,R = MMOUSE END        #Alt. Fire, since Left Bumper is taken up by this chord; Alt. Reload trial

#Weapon Switches with Left Trigger
ZL,S = 1 5
ZL,E = 2 6
ZL,N = 3 7
ZL,W = 4 8

#Miscellaneous
R3 = GYRO_OFF           #Lets me readjust controller
-,W = CALIBRATE
S+E = ENTER         #Use item