Close

[C] 3DxPoint: ButtonRing improvements and BounceBack fail

A project log for AirBerries and SpaceExplorer

I should start using my £80 split keyboard and £40 spacemouse more than my £32 keyboard and £16 mouse.

kelvinakelvinA 11/07/2023 at 23:530 Comments

Something that I noticed was that I was overshooting or undershooting almost all the time. Thus, I got some quantatative measurements:

Me on SpaceExplorer
Me on touchscreen

I found the game White Tile, Don't Tap It and it was a more forgiving way to test things out. The top 3 results were from touch, the next 3 were from my half-a-heart-durability mouse and the bottom two were from my SpaceExplorer. The "score" is actually the time, in seconds, it took to clear all the black tiles. Lower is better.

I will admit that the SpaceExplorer does feel more comfortable than my "gaming" mouse.

I quickly wrote some code to implement a "bounce back" feature, where if it was detected that I was slowing down, it'll invert the values. While it did do what I said it should do, it was like a mime hitting an invisible wall; cool to see, but I couldn't get anywhere. I found out that trackpoints have a feature called "negative inertia" that I'll have to look into.

I was also getting a few missclicks, and I suspected it had something to do with the of-chance the SpaceExplorer sends values like 90 -> 100 -> 96 -> 110 -> 115..., meaning that it triggered earlier than it should. The solution was to take the max from the previous 2 values, and this is one of the results:

I also took this time to fine-tweak the thresholds. The SpaceExplorer is somewhat non-ideal, since it's not stiff enough to make the force->value a linear thing. It's displacement->value, which sometimes means that the force reqired to displace the spacemouse is higher or lower (depending on things like grip, angle of the SpaceExplorer, etc).

I also need to add some kind of legacy scroll mode, as there are a small handful of applications that don't behave well with ultra-precision scroll.

Discussions