Hey all, I gave this a try using the demo version of XDisplay and an iPad mini 4 a few weeks ago. It kind of worked. The buttons were only responding to swipe-type movements and not presses. I ran Helios in the VS debugger and discovered that Helios was only being sent mouse events (mouse move, mouse button up/down) events and not the “normal” touchscreen TouchUp/TouchDown events. I emailed the developers of Duet Display to see if their product also behaved this way. Their response was yes, and that in order to make a product that works for both PC and Mac, they have to emulate a mouse instead of creating true touch events.
So what this means is that when you do a single touch on the iPad, the mouse cursor moves to where you touched and Helios gets a mouse move event. It never receives any type of “button pressed” event and so never activates any buttons. If you swipe, then Helios gets a series of mouse move events that it can interpret and it activates the button, but this is annoying for momentaries. The other thing I found is that why Helios kind of worked initially, if the mouse was moved away and focus given to other windows, that Helios on the iPad would quit responding. I don’t know if this is a Helios problem or an XDisplay problem. I wanted to try Duet but didn’t feel like spending the $20 given that it doesn’t produce true touch events either. At any rate, using Helios on an iPad display isn’t really functional at this point. There might be a way to modify Helios to better handle this. I might look into this.
Another thing that I tried a couple of years ago is to have Helios, instead of rendering to a display, to instead start an HTTP server and render the controls as a web page. This allowed the iPad to use Safari to connect to Helios and show the controls in the web browser. This worked pretty well but was a bit laggy. I haven’t really used it since. I could dig this code up if anyone is interested in it. Maybe someone with better web development expertise could make it more responsive.