libeyelink closing the experiment during drift correction (using Esc?)
When running an experiment with the eyelink, it is currently not possible to exit the experiment using the Esc-key during drift correction (as one would during a trial). I was trying to look for a way to implement this, because when testing an experiment, this is usually the point where one would like to abort testing (i.e. in between trials ), but I ran into some questions:
Is there a specific reason why this is as of yet impossible?
what would be the desired behaviour? One would probably want to be able to close the experiment but also exit the calibration setup menu. My suggestion would be: do one with ESC and the other with Q, but another sensible solution would be that Esc only closes the experiment when in the setup menu.
in libeyelink, fix_triggered_drift_correction() and (manual) drift_correction() seem to have a rather different approach (aside from the fact that it is fix triggered off course), using prepare_drift_correct; getCalibrationResult and applyDriftCorrect for the first, and doDriftCorrect for the other. What is the main difference?
In the case of manual drift correction, there's a bunch of while loops. the drift_correct item itself implements a while not libeyelink.drift_correct() - loop in run(), and then in there, there's a while-true construction, that will always end in a return True/False if I'm correct. Why's the while True there?
On a related note the while not libeyelink.drift_correct() loop seems to enter calibration (i.e. tracker setup) upon drift corrcetion failure. But pylink doDriftCorrection() itself also is called with allow-setup = 1 . Shouldn't these than do eachother's jobs cancel eachother out?
In general: where do you suggest checking for an esc-press should/could go?