Adding new eye tracker to PsychoPy with ioHub

I am trying to understand how to get started with adding a new eye tracker to ioHub (PsychoPy).

I know that PsychoPy supports these eye trackers.

But what if I want to integrate another eye tracker that PsychoPy does not currently support?
Is that even possible?
If so, where should I start reading in the documentation and start integrating the eye tracker?

Right now the best option is to look at the EyeTracker device source code docs, along with one of the existing eye tracker implementations, and go from there. The base classes you will need to use are in psychopy\iohub\devices\eyetracker, and the existing implementations are all in psychopy\iohub\devices\eyetracker\hw\*

Sorry there is no more formal developer type documentation at this time.

What eye tracker did you want to integrate? I might be able to provide some pointers and can fill in any blanks if you have questions. Feel free to message or email me if you like.

Thanks for your interest.

I am mainly interested in integrating Varjo XR-1 which has currently no Python SDK at the moment but has an SDK in C++. Is there any other way to connect to ioHub other then having the Varjo SDK in Python?

If you can access the API using C (so if it is a C/C++ API / the C++ lib has extern ā€œCā€ declarations) then you can use ctypes (easier) or CPython (faster). If it is a C++ only lib you might want to consider using Boost.Python, which is part of the Boost project. I have never used Boost.Python but is seems to be well used / liked.

Since this is for a for a VR headset (that has an eye tracker built into it), perhaps the project would be relevent / helpful.

Ok, thanks for the information. This sounds like a lot of work to get the eye tracker working for the Varjo device. I will need to find another way.