From 8439204cefb31c64ea4c93a030b2e1b15002f789 Mon Sep 17 00:00:00 2001 From: Carter Li Date: Tue, 23 Dec 2025 16:17:01 +0800 Subject: [PATCH] DisplayServer (Linux): upgrades kde-output-device-v2 wayland protocol files (again) --- .../kde-output-device-v2-client-protocol.h | 22 +++++++++++++++++++ .../wayland/kde-output-device-v2-protocol.c | 7 +++--- .../displayserver/linux/wayland/kde-output.c | 1 + 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/detection/displayserver/linux/wayland/kde-output-device-v2-client-protocol.h b/src/detection/displayserver/linux/wayland/kde-output-device-v2-client-protocol.h index bec7f9e37..529d26516 100644 --- a/src/detection/displayserver/linux/wayland/kde-output-device-v2-client-protocol.h +++ b/src/detection/displayserver/linux/wayland/kde-output-device-v2-client-protocol.h @@ -244,6 +244,10 @@ enum kde_output_device_v2_capability { * @since 18 */ KDE_OUTPUT_DEVICE_V2_CAPABILITY_CUSTOM_MODES = 0x2000, + /** + * @since 19 + */ + KDE_OUTPUT_DEVICE_V2_CAPABILITY_AUTO_BRIGHTNESS = 0x4000, }; /** * @ingroup iface_kde_output_device_v2 @@ -289,6 +293,10 @@ enum kde_output_device_v2_capability { * @ingroup iface_kde_output_device_v2 */ #define KDE_OUTPUT_DEVICE_V2_CAPABILITY_CUSTOM_MODES_SINCE_VERSION 18 +/** + * @ingroup iface_kde_output_device_v2 + */ +#define KDE_OUTPUT_DEVICE_V2_CAPABILITY_AUTO_BRIGHTNESS_SINCE_VERSION 19 #endif /* KDE_OUTPUT_DEVICE_V2_CAPABILITY_ENUM */ #ifndef KDE_OUTPUT_DEVICE_V2_VRR_POLICY_ENUM @@ -820,6 +828,16 @@ struct kde_output_device_v2_listener { void (*priority)(void *data, struct kde_output_device_v2 *kde_output_device_v2, uint32_t priority); + /** + * whether or not automatic brightness is enabled + * + * + * @param enabled 1 for enabled, 0 for disabled + * @since 20 + */ + void (*auto_brightness)(void *data, + struct kde_output_device_v2 *kde_output_device_v2, + uint32_t enabled); }; /** @@ -973,6 +991,10 @@ kde_output_device_v2_add_listener(struct kde_output_device_v2 *kde_output_device * @ingroup iface_kde_output_device_v2 */ #define KDE_OUTPUT_DEVICE_V2_PRIORITY_SINCE_VERSION 18 +/** + * @ingroup iface_kde_output_device_v2 + */ +#define KDE_OUTPUT_DEVICE_V2_AUTO_BRIGHTNESS_SINCE_VERSION 20 /** @ingroup iface_kde_output_device_v2 */ diff --git a/src/detection/displayserver/linux/wayland/kde-output-device-v2-protocol.c b/src/detection/displayserver/linux/wayland/kde-output-device-v2-protocol.c index 1c4fe0ef5..d9f0f285b 100644 --- a/src/detection/displayserver/linux/wayland/kde-output-device-v2-protocol.c +++ b/src/detection/displayserver/linux/wayland/kde-output-device-v2-protocol.c @@ -68,12 +68,13 @@ static const struct wl_message kde_output_device_v2_events[] = { { "edr_policy", "16u", kde_output_device_v2_types + 0 }, { "sharpness", "17u", kde_output_device_v2_types + 0 }, { "priority", "18u", kde_output_device_v2_types + 0 }, + { "auto_brightness", "20u", kde_output_device_v2_types + 0 }, }; WL_EXPORT const struct wl_interface kde_output_device_v2_interface = { - "kde_output_device_v2", 19, + "kde_output_device_v2", 20, 0, NULL, - 35, kde_output_device_v2_events, + 36, kde_output_device_v2_events, }; static const struct wl_message kde_output_device_mode_v2_events[] = { @@ -85,7 +86,7 @@ static const struct wl_message kde_output_device_mode_v2_events[] = { }; WL_EXPORT const struct wl_interface kde_output_device_mode_v2_interface = { - "kde_output_device_mode_v2", 19, + "kde_output_device_mode_v2", 20, 0, NULL, 5, kde_output_device_mode_v2_events, }; diff --git a/src/detection/displayserver/linux/wayland/kde-output.c b/src/detection/displayserver/linux/wayland/kde-output.c index 7d986ba14..c541e4ed8 100644 --- a/src/detection/displayserver/linux/wayland/kde-output.c +++ b/src/detection/displayserver/linux/wayland/kde-output.c @@ -179,6 +179,7 @@ static struct kde_output_device_v2_listener outputListener = { .edr_policy = (void*) stubListener, .sharpness = (void*) stubListener, .priority = (void*) stubListener, + .auto_brightness = (void*) stubListener, }; const char* ffWaylandHandleKdeOutput(WaylandData* wldata, struct wl_registry* registry, uint32_t name, uint32_t version)