@Corvus Thank you for the reply! Since my original post I have purchased a old used Tobii EyeX tracker. Using an old deprecated SDK I'm able to run my own calibration(Tobii no longer exposes these functions in the newer SDKs unless you buy the pro SDK) . What I have been able to do with this SDK is run the calibration twice. I cover my left eye and look at my calibration points but before committing the temporary buffer of left eye points, I cover my right eye and repeat the process. I then commit all the points. This works flawlessly because when someone with Strabismus uses one eye at a time they are able to look at the target directly. I have a hunch this could be implemented with the Vive Eye. Could you please confirm that this is or isn't possible? I don't need to be able to run my own custom calibration routine...I just need the option to run the calibration twice(once per eye) and then commit the all the point data.
Here are the two calls I use from the old Tobii SDk. I'm really hoping something like this can be incorporated into the Vive Eye Calibration routine.
/**
* Adds data to the temporary calibration buffer for the specified calibration point which the user is assumed to be looking at.
* @param eye_tracker An eye tracker instance.
* @param point A two dimensional point specified in the ADCS coordinate system (screen size percentage) where the users gaze is expected to be looking.
* @param callback A callback function that will be called on command completion.
* @param user_data Optional user supplied data that will be passed unmodified to the callback function. Can be NULL.
*/
TOBIIGAZE_API void TOBIIGAZE_CALL tobiigaze_calibration_add_point_async(tobiigaze_eye_tracker *eye_tracker, const struct tobiigaze_point_2d *point, tobiigaze_async_callback callback, void *user_data);
/**
* Computes a calibration based on data in the temporary calibration buffer. If this operation succeeds the temporary calibration buffer will be copied to the active calibration buffer.
* If there is insufficient data to compute a calibration, TOBIIGAZE_FW_ERROR_OPERATION_FAILED will be returned via the callback.
* @param eye_tracker An eye tracker instance.
* @param callback A callback function that will be called on command completion.
* @param user_data Optional user supplied data that will be passed unmodified to the callback function. Can be NULL.
*/
TOBIIGAZE_API void TOBIIGAZE_CALL tobiigaze_calibration_compute_and_set_async(tobiigaze_eye_tracker *eye_tracker, tobiigaze_async_callback callback, void *user_data);
Thanks