My Twist reversed L<->R? Must be me, right?

Ok weird. First the short version, starting at my latest step.
I don’t see why my twist is reversed.
TWIST_LEFT is showing up as TWIST_RIGHT and vice versa.
To test my sanity, I loaded a clean OS7.14 with the default config.
I added some printouts to DetectTwist() in prop_base.h…
I also just removed the preprocessor stuff about NEED_DETECT_TWIST in saber.h and just had the Loop() override call DetectTwist() all the time.

I twist left, it prints “EVENT_TWIST_RIGHT - how about this?”
I twist right, it prints “EVENT_TWIST_LEFT - so is this correct?”

So is it just my printouts are somehow incorrect?
These are the printouts in prop_base.h

  void DetectTwist() {
    Vec3 gyro = fusor.gyro();
    bool process = false;
    if (fabsf(gyro.x) > 200.0 &&
        fabsf(gyro.x) > 3.0f * abs(gyro.y) &&
        fabsf(gyro.x) > 3.0f * abs(gyro.z)) {
      process = DoGesture(gyro.x > 0 ? TWIST_LEFT : TWIST_RIGHT);
    } else {
      process = DoGesture(TWIST_CLOSE);
    }
    if (process) {
if (strokes[NELEM(strokes)-1].type == TWIST_LEFT) {
  STDOUT << "EVENT_TWIST_LEFT - so is this correct?\n";
}
if (strokes[NELEM(strokes)-1].type == TWIST_RIGHT) {
  STDOUT << "EVENT_TWIST_RIGHT - how about this?\n";
}
      if ((strokes[NELEM(strokes)-1].type == TWIST_LEFT &&
....... // rest of code here

This is the call in saber.h

  void Loop() override {
    PropBase::Loop();
    DetectTwist();

Here’s the way I got here.
I have an Arcann install that the board is slanted at ~20 degrees, AND the USB is facing toward the blade end.
I set #define ORIENTATION_ROTATION 0,200,0 and it’s happy about up and down, and melt, stab, drag all works fine.
But then I noticed Serial Monitor was showing the opposite EVENT_TWIST_LEFT/RIGHT from what I was doing. So I assumed my ORIENTAION setting needed tweaking.
However, a different saber with standard orientation was also the same way.
So I tried a 3rd saber and also backward single twist directions.
So then I wanted non-modified OS and prop to test with…
-----> goto TOP OF PAGE

I don’t know that I’ve ever cared which is which, since the standard saber prop twist gestures are symmetric anyways. They might just be backwards.

I don’t know though because in all the updates to twist stuff I had done in my prop, it was all correct for all that time. I only noticed this as of last night.
I’m stumped because i most certainly thoroughly played with twist extensively for like a month straight and it was not backward.

Just tested with fett263 prop and that has it’s own reports based on fusor, and they are aligned correctly next to my backward printouts.

02:25:16.143 -> EVENT_TWIST_RIGHT - how about this?
02:25:16.289 -> EVENT: ?48 ON millis=58573
02:25:16.289 -> EVENT MENU TURN LEFT

So I must be crazy since this is how it’s been the whole time.
Actually, I only lately revamped the twist stuff in my prop and it’s a pending PR.
That update incorporates the system stuff more than proprietary (as the prop-only code i used to use was copied from fett263 at some point ). So it could make sense that just every instance in the base OS is actually reversed as you said.
What would be the best way to bring that into alignment? Swap all the LEFT?RIGHT instances, or flip the math somewhere?
That shouldn’t affect fett263’s prop, since it’s it’s own menu system with DetectMenuTurn() driving twists, right?

MonitorStrokes() also confirms.

so if we swap them here, all is well.