SDL3: SDL_GetPens returns no pens on Mac

I have a Mac with a Cintiq attached, using the latest SDL 3. The Cintiq has a pen.

But when I call SDL_GetPens, I get no pens back, and when I poll events, I never receive SDL_EVENT_PEN_DOWN or SDL_EVENT_PEN_MOTION.

I do get the pen events as mouse events, but those don’t have the axes or pressure information that I need.

I have the same problem. Did you find a solution?

I’m just going to double check proper setup;
Did you download and update the drivers from wacom, and does the pressure sensitivity work as expected on other drawing programs?
If the OS doesn’t have the proper drivers then the pen gets treated like a mouse by default.

I used Photoshop to verify that the pen works, and Photoshop is receiving pen pressure metadata, because the pen pressure affects the size of the brush.

I found this on github about the pen API being currently unavailable on IOS, since IOS is based off of MacOS it might be in the works there as well?
(Actually, that looks like Tega put in the work to put in an official issue, thank you Tega!)
Can anyone confirm whether the pen API works on their Mac? If so can we also get the OS version for comparison?

Did some investigation on this and it looks like SDL would have to support the Wacom SDK, which is doable (I guess?).

Here are the repos:

The SDK repo has a MIT License, but the source files themselves have no licensing information in the code itself. Although I assume the repo license applies to all source files.

Upon further investigation, if all we need is the pressure, we can get that like so:

void Cocoa_HandleMouseEvent(SDL_VideoDevice *_this, NSEvent *event)
{
    float pressure = event.pressure;

So if SDL adds a way to send mouse button pressure, independently of pen events that would work.