I’m using a basic fast-response damped control system. It’s simpler than it sounds. Basically I take the difference between the cursor’s current location and the eye tracker input location, (we’ll call that ‘error’) and multiply that error by some damping factor like 0.1. Then we add the error to the current cursor position.
The eye tracking data is smooth (ish…) over time, so damping it in this way makes for a stable point.
I add an extra layer of stability where I don’t move my cursor at all unless the error is above a certain amount, like 10 pixels.