I'm thinking it's impossible to get it to work as I want. What I really need is a way to make Xpadder hit the toggle key whenever the stick passes through a certain point in the distance zone, and as I understand the advanced assignment options, I can only make it hit a key in response to the stick being at a certain range in the distance zone. Even if a true "pass-through" assignment was available, applying such a setting to all four directions might create its own problem: presumably, the different directions would end up warring with one another over the movement speed when moving in diagonal directions.
What would really be the ideal solution here is not only a way to do a "hit key on passing through this distance zone" for an existing Assignment, e.g. any one direction on a stick, but to have a way to assign such a keystroke to the radial distance zone of an entire stick - an assignment that doesn't exist in the stick settings right now, and that couldn't co-exist with directional assignments within Xpadder's current programming for analog stick.
Anyhow, is there some way I can combine tags that I'm missing? So far I've only been working with the forward key. What I did first is add Distance Zones to have Xpadder hit both the toggle button (Z) and the movement key W in the mid-range, while hitting only Z in the other ranges:
Code: Select all
Set1Stick1UpSlots=W,DISTANCE ZONE 43%,Z,W,DISTANCE ZONE 7%,W
The closest I've come to correcting the issue is by placing a hold zone in the middle distance zone, so that Xpadder will go back to hitting only W after .10 seconds, even when the stick is held steady in the middle region. Double tapping ceases to be an issue, and since it's no longer a concern, I can also basically fix the no tap issue as well by widening the middle distance zone:
Code: Select all
Set1Stick1UpSlots=W,DISTANCE ZONE 43%,Z,W,HOLD ZONE 0.10s,W,DISTANCE ZONE 27%,W
Looking at the panel, I realized these tags weren't nesting as I thought (the hold zone was being counted as the first thing by which it was all structured), so I tried moving things to accomodate the Hold Zone as the top-level tag:
Code: Select all
Set1Stick1UpSlots=W,HOLD ZONE 0.10s,W,DISTANCE ZONE 43%,Z,W,DISTANCE ZONE 7%,W
Ah-ha, but I should have it the other way around for the behavior I want! Right?
Code: Select all
Set1Stick1UpSlots=W,DISTANCE ZONE 43%,Z,W,DISTANCE ZONE 7%,W,HOLD ZONE 0.10s,W
But this produced a core exception error, so I don't know whether I actually have a handle on what this assignment is supposed to produce. I appear to have run in to the same bug with this last arrangement as in this thread.