From 3bdb7d00d5e559041a70ab6283687d47399c8d80 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Tue, 18 Aug 2026 16:05:55 -0400
Subject: [PATCH] pen: Report SDL_PenInputFlags in SDL_PenProximityEvent.
Fixes #16125.
---
include/SDL3/SDL_events.h | 1 +
src/events/SDL_pen.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/include/SDL3/SDL_events.h b/include/SDL3/SDL_events.h
index 1a67d733fe84a..b75ae45b0cf14 100644
--- a/include/SDL3/SDL_events.h
+++ b/include/SDL3/SDL_events.h
@@ -913,6 +913,7 @@ typedef struct SDL_PenProximityEvent
Uint64 timestamp; /**< In nanoseconds, populated using SDL_GetTicksNS() */
SDL_WindowID windowID; /**< The window with pen focus, if any */
SDL_PenID which; /**< The pen instance id */
+ SDL_PenInputFlags pen_state; /**< Complete pen input state at time of event */
} SDL_PenProximityEvent;
/**
diff --git a/src/events/SDL_pen.c b/src/events/SDL_pen.c
index d70542b9f9bfc..849f12be5354f 100644
--- a/src/events/SDL_pen.c
+++ b/src/events/SDL_pen.c
@@ -674,6 +674,7 @@ void SDL_SendPenProximity(Uint64 timestamp, SDL_PenID instance_id, SDL_Window *w
event.pproximity.timestamp = timestamp;
event.pproximity.windowID = window ? window->id : 0;
event.pproximity.which = instance_id;
+ event.pproximity.pen_state = input_state;
SDL_PushEvent(&event);
}
}