Best way to prevent held button re-firing with every set switch?

Post Reply
scooterbaga
Posts: 9
Joined: 25 Apr 2012, 22:11

Best way to prevent held button re-firing with every set switch?

Post by scooterbaga »

Hello,
I’m running into some unwanted button presses using While-Held set selectors. If I’m holding down a button when switching between two sets, that button fires on every set switch. Apologies if any of the info available for Sets already covers this. I’ve gone over them, but they seem to be addressing other behaviors.

e.g. The LB button is set to key “1” in Set 1 and to key “2” in Set 2. If I hold the LB button and repeatedly press the assigned While-Held set selector, the controller output is “12121212…”
The desired outcome being that LB would cease to fire if the set changes. LB wouldn’t fire again until it’s released and pressed again.

Basically, I’m using the set selector as a modifier key like on a keyboard, and expecting it to behave as such. (i.e. Holding down the “V” key and repeatedly pressing the “Ctrl” modifier key doesn’t alternate between pasting the contents of the clipboard and typing the letter V.)

The only solution I’ve come up with is to set the button to fire once released instead of pressed, in every set. The downside being none of the buttons using this solution respond to being pressed and can’t be pressed and held.
Any help would be appreciated. Thanks.

Primal Fear
Xpadder Xpert
Posts: 2437
Joined: 09 Feb 2010, 16:41
Location: Germany
Contact:

Re: Best way to prevent held button re-firing with every set switch?

Post by Primal Fear »

How about this:

Code: Select all

;--- Xpadder Profile Data ---
DataType=Profile
Version=2014.01.01
Name=(Untitled profile)
Set1Button1SetSelect=1
Set1Button5Slots=HOLD ZONE 0.20s,1,RELEASE ZONE 0.01s,1,RELEASE ZONE 0.20s
Set2Button1SetSelect=0
Set2Button5Slots=HOLD ZONE 0.20s,2,RELEASE ZONE 0.01s,2,RELEASE ZONE 0.20s

scooterbaga
Posts: 9
Joined: 25 Apr 2012, 22:11

Re: Best way to prevent held button re-firing with every set switch?

Post by scooterbaga »

Well, that's a better version of the solution I came up with. However, I've come to the conclusion my issue is more with how quickly I'm trying to use the modifier and the timing of my button presses. My original solution worked because it forced me to hold the modifier down while making a selection. (i.e. I'm pressing the modifier and the button too quickly in the wrong order.)

Is there advanced assignment that will "translate" a quick button tap into a brief hold? So even if I let off of the modifier key too quickly that it still holds the set briefly.

There's just something about advanced assignments that I can't get my head around... I'm not getting how multiple zones get grouped. I need parenthesis or something that makes it more like code...

Thanks for your help.

Primal Fear
Xpadder Xpert
Posts: 2437
Joined: 09 Feb 2010, 16:41
Location: Germany
Contact:

Re: Best way to prevent held button re-firing with every set switch?

Post by Primal Fear »

scooterbaga wrote: Is there advanced assignment that will "translate" a quick button tap into a brief hold? So even if I let off of the modifier key too quickly that it still holds the set briefly.
Yes, you can give a set selector a delay that it has to wait before it can return to it's source using the advanced assignment feature. You only need to add a 0.01 Release Zone for a Pause with the desired duration in the destination set.
But with the normal while held set selector you would now get stuck in the destination set if you press the button a second time while the delay is active (the set selector would turn around. Oke-Dokes while held glitch workaround is the best solution for that, basically you use two-way and also assign the turbo in the source set with a turbo rate of 0.02s.

Here an example profile with the normal while held on A/button1 and the while held glitch workaround on B/button2, both with a delay of 0.50s.

Code: Select all

;--- Xpadder Profile Data ---
DataType=Profile
Version=2013.06.07
Name=(Untitled profile)
Set1Button1Name=normal while held
Set1Button1SetSelect=1
Set1Button2Name=while held glitch workaround
Set1Button2Toggle=1
Set1Button2Turbo=1
Set1Button2TurboRate=2
Set1Button2SetSelect=1
Set2Button1Slots=RELEASE ZONE 0.01s,PAUSE 0.50s
Set2Button1SetSelect=0
Set2Button2Slots=RELEASE ZONE 0.01s,PAUSE 0.50s
Set2Button2Toggle=1
Set2Button2SetSelect=0
scooterbaga wrote:There's just something about advanced assignments that I can't get my head around... I'm not getting how multiple zones get grouped. I need parenthesis or something that makes it more like code...
The different Zones have a set hierarchy. The Cycle Stop is the highest one, followed by the Hold ans Release Zone at the same level and followed by the Distance Zone. The pause basically stands at the very end, but it's position only matters when a Zone ends while it should still be active.

You should read my Advanced Assignment tutorial, if you want to know more.

Primal Fear
Xpadder Xpert
Posts: 2437
Joined: 09 Feb 2010, 16:41
Location: Germany
Contact:

Re: Best way to prevent held button re-firing with every set switch?

Post by Primal Fear »

The Set Selector Tricks now contains this tweak with the delay in a more obvious way. Also it's more detailed.

scooterbaga
Posts: 9
Joined: 25 Apr 2012, 22:11

Re: Best way to prevent held button re-firing with every set switch?

Post by scooterbaga »

Primal Fear wrote:The Set Selector Tricks now contains this tweak with the delay in a more obvious way. Also it's more detailed.
Brilliant, thanks. I'd gone over that section too and missed what was happening with that one. New wording makes more sense to me.

Post Reply

Return to “Sets”