Pressure-sensitive pen proximity event structure (event.pmotion.*)
Defined in <SDL3/SDL_events.h>
typedef struct SDL_PenProximityEvent
{/**< SDL_EVENT_PEN_PROXIMITY_IN or SDL_EVENT_PEN_PROXIMITY_OUT */
SDL_EventType type;
Uint32 reserved;/**< In nanoseconds, populated using SDL_GetTicksNS() */
Uint64 timestamp; /**< The window with pen focus, if any */
SDL_WindowID windowID; /**< The pen instance id */
SDL_PenID which; } SDL_PenProximityEvent;
When a pen becomes visible to the system (it is close enough to a tablet, etc), SDL will send an SDL_EVENT_PEN_PROXIMITY_IN event with the new pen's ID. This ID is valid until the pen leaves proximity again (has been removed from the tablet's area, the tablet has been unplugged, etc). If the same pen reenters proximity again, it will be given a new ID.
Note that "proximity" means "close enough for the tablet to know the tool is there." The pen touching and lifting off from the tablet while not leaving the area are handled by SDL_EVENT_PEN_DOWN and SDL_EVENT_PEN_UP.
This struct is available since SDL 3.1.3.