Is there an option for delay between gestures, especially power on/off

Hey,

I have been trying to figure out if there is any sort of setting I a use to prevent gestures from toggling overly aggressively. I’ve noticed 2 things, the first is you can gesture off/on/off/on seemingly non stop without gaps, which means sometimes I will gesture on, and accidentally go right back to off, or try and go off and it just pops back on. It seems you can just trigger the on and off gestures as fast as you can wiggle the saber.

The second and perhaps larger issue is, it seems like the wobble for the twist gesture, if you do left / right / left, it will actually treat it as 2 combos, left/right and right/left, it doesn’t distinguish that the right was already part of a gesture, so it makes triggering the second gesture SUPER easy which is of course less than desirable.

Are there any like gesture strength or like min/max twist options as well? Oh, also, is there just a generic blade is moving more than x speed value that’s computed anywhere? If so could it be possible to disable power gestures if the blade is moving > x velocity? I don’t mind if others trigger like stab and melt and force push and stuff, but it is also quite easy to toggle the blade off while spinning. I know there is a spinning mode, but as a software engineer, I hate having manual toggles for things that should be computable.

If any/all of this exists great, if not, even if you don’t have time, if you could just point me to the files I might need to poke at, I will be happy to take a crack myself. My unmanaged code experience has been limited to small changes in QMK for keyboards (name here is also my GitHub).

Oh last question, is there documentation about what data is there that can be sent to another device? I really wanna mess with trying to either transmit gyro data or more ideally record it, button presses, clashes, blocks, etc, and then using a second board with bluetooth (for bluetooth timecode like atmos supports). I still gotta figure out a way to do object triangulation with like AirTags and UWB. I’ve actually considered just outright sticking a few of them on sabers/cameras/etc and then just making an iPhone app that tracks them all and records it (again with timecode).

Also got an azure Kinect sdk kit, and I wanna get a lidar too, but the overall goal is to be able to take the data from all the hilt activity, sync with footage timecode and then just automatic draw the blades, and responses and stuff.

Both useful for initial ignitions where there are no blades to begin with AND to rotoscope or w/e over the fx blades to make better looking ones. I still wanna shoot mostly with FX blades just because it makes it SOOOO much easier to deal with the lighting in post since you don’t gotta like manually render lighting from the blade onto people/shadows/objects/etc (which is why I assume they use fx blades on set now).

I do wish there was more info about how they control theirs, but since they have umbilicals, I assume at least part of that is for power, part is to pass DMX to the hilt and gyro to the computer or we they connect to. I know there are prosolutions for object tracking like I mentioned doing with AirTags, but my Komodo was already a stretch, no way can I afford such a pro system >_<.

But I digress, my main concern is just finding a way to avoid the ignite/immediately retract blade or vice versa behavior I seem to trigger far too often (and the less common but still frequent, spinning the saber and then twisting in just 1 direction and blade turns off as the last part of the spin just happened to twist the other way). I can’t imagine there is no way to add a delay/guard clause to avoid it without actually breaking gestures or limiting them. But maybe I am overly optimistic.

Twist is a single forward and back motion. Right then left or left then right, like a single rev on a motorcycle,
don’t keep twisting. If you’re twisting it a bunch of times, then yes you will trigger it multiple gestures.

For OS7, if you enable special abilities and use the Early Access OS7 library you can set ignitions as Special Abilities in place of Twist On and then just use Twist Off to prevent -or- you can just do the gesture once :wink:.

To the original question, you can build in delays if you want, I had them in OS5 but they made the gestures less intuitive as there were times users WANTED a quick action and couldn’t do. You can certainly build your own in if you want but it’s probably just easier to learn to do the gesture correctly IMHO.

Posting a lot of questions together is not a good way to get answers.
I suggest keeping this thread about the gestures, which are probably related to the Fett263 prop, as some of the other props don’t even have these types of gestures.

I suggest breaking out the other questions into one or more separate threads.

Apologizes, I am very socially awkward as I’m somewhere on the spectrum and suffer from extreme social anxiety, and I also just get excited and ramble.

That was my bad. I wish there was a live chat where I could just bounce simple questions. But either way apologizes I know I can come off as rude/annoying/w/e. I’m just bad at talking lol

My specific question about the gestures tho is not about multiple gestures, at least not intentionally. That’s the whole problem.

If I twist 60deg left, but then 90deg right, when I rotate back to start (so 30deg) it treats it as a second gesture. I’m only trying to make 1 twist but it detects two basically.

Essentially I try and do one twist right/left but because I am human I twist a bit too far and correct and it just undoes the first gesture within less than a second.

That’s why I wanted to know if you could set like the strength of the gesture and specifically a time between power gestures.

I’m well aware 1 gesture is 1 direction then the other combined. My point is as soon as power triggers, it starts treating the existing rotation as part of a new gesture. It doesn’t wait for it to stop. So if you satisfy twisting left back and forth, once the first trigger fires, then it will ignite on left, close on right, ignite on left, close on right, etc.

There’s no “strength” involved to be detected. As I noted in my reply, I removed the delay because it wasn’t desired by the bulk of users. You’re free to modify the prop to add back in, just compare the OS5 gestures to the current prop.

Or use the Special Ability ignitions as I noted.

Or practice the gesture by turning the hilt in one direction the returning back to the start, like a single rev of a motorcycle. If you do the gesture as intended it should only do one action.

Or remive Twist On and use a different gesture fir ignition and only use Twist Off.

It’s really up to you, but there is no current way to delay gestures built into the prop anymore, you will have to add if you’re wanting.

I just meant strength as in level, like the number of degrees or something. Not like force. Perhaps sensitivity is a better descriptor? Like is 1deg left right enough to trigger it? Half a degree? I assume there is some sort of threshold, but I have only read a tiny bit of the code.

I’ll take a look at the old one and see if I can figure out what part you are referring to.

Twist is just looking for a turn in one direction followed by a turn in the other direction. I typically do about a quarter turn forward then back and that’s the gesture. There are no variables involved so you’d have to rewrite the detection code if you wanted to add “sensitivity”. But for most users just practicing the gesture correctly makes it work as intended. Think of it as your “Jedi trials” or look at the alternatives I’ve already listed.

Totally fine. I’m just not very coordinated. I figure it wouldn’t hurt to ask as I’m used to CFX which has the angle restrictions for twoff and twon as well as gate (motion threshold), htwist (twist threshold), so I figured it wouldn’t hurt to ask.

“Your twisting it wrong” isn’t useful advice, but the rest was. So thank you. I’ll have to do a bit more modding than I expectedly but I was always planning to make a fork to play.

I absolutely get im an outlier. And it really only happens when I try and turn it off after twirling cause a lot of times the end of a spin involves rotating the wrist back into place, and I’ll end up turning the blade off and back on without realizing that first twist triggered.

I have no doubt I can eventually get a feel for it, at least with a particular saber, I just have been an SRE for the last like decade, so I’m just used to figuring out how to make code or automation solve my problems for me.

The file you are referring to should be something like gestures.h right? Should it be present in any 5.* build?

Thanks,

Jason

No worries. Obviously we’re here to answer questions, but we also try to do that in a way that makes it useful for the next reader, so just keep that in mind. :slight_smile:

My prop for OS5 had the delay built in, EVENT_TWIST has never had.

Sorry, most of my experiences with users having this issue is due to them doing multiple twists instead of once forward and once back. When they see the video or refer to the gesture diagram of how to do correctly just about all are able to do without issue. When users have shown videos of themselves having issues there are always doing too many twists so that is the root cause.
If you’re the type who wants to make modifications and change how things work then that’s the beauty of the OS. I was more explaining as I have no intention of changing how my prop currently handles.

1 Like

Totally understood, and I never asked for that, I was just making sure such a feature wasn’t buried somewhere cause there are a LOT of features in proffie and I can’t keep up lol.

You can actually get away with really small twists once you figure out the mechanism. You can almost make it imperceptible.

1 Like

Yeah, it’s very simple to perform once you get the movement down. I find it easier to help users get started with a mental picture of a quarter turn forward then back, but as you do it everyone kind of finds their “Goldilocks” move.

In my experience, most users who have trouble are often doing 3 moves (or more) like jiggling a locked doorknob versus a single distinct forward then back on the motorcycle rev.

During OS6 beta testing multiple users complained about the built in delays as it would cause times where you expected the twist to be detected and it wasn’t for quick on/off or off/on triggers. The final determination was it was better to tell users the correct way to do the gesture versus taking the intuitive part away from users who could already do it correctly and wanted faster response so all gesture delays were eliminated.

You could probably get away with just inserting

if (swinging) return true;

here, and wherever else you want to not power off while swinging.