Getting the raw data from the Surface Pro 3 Pen (NDigit)


#1

Hi everybody,

I want to write a pen-input -> MIDI output app that is as fast as possible.

In order to get the latency below the usual framerate (which would be around 30fps = 30ms , I guess), I need to access the raw input data from the pen and not wait until the message thread processed it - which I assume is the case if I eg. call this in a HiResolutionTimer callback:

const int slowInputData = getMainMouseSource().getLastMouseDownPosition();

Platform compatibility is not yet required, this will be only a prototype for my new Surface Pro. I think I found the necessary API stuff:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms698100(v=vs.85).aspx

But I nevered touched anything below the JUCE layer - except for hacking the AU files to get my plugin compiled :), so I am really scared (but also excited) and need some help from the fabolous JUCE people.

1. Is this Win API chapter the right place (feels like pot hitting to me...)

2. Has anybody else done something similar?

If anyone cares, I need all data provided by the pen (position, pressure, contact) to make it really awesome.

Greets,

Chrisboy


#2

Figured it out - I found a code example using the RealTimeStylus API that was four years old somewhere on Github after spending days in the MS Forums - finally back to JUCE land.