drivers: input: Add input-touch assert for inversion without dimensions

Adds an assert to inform the user of possible coordinate wrap around
due to missing screen dimension configurations.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This commit is contained in:
Fabian Blatz
2025-11-23 18:40:49 +01:00
committed by Anas Nashif
parent e891ca601e
commit 421a4232ee

View File

@@ -10,6 +10,10 @@ void input_touchscreen_report_pos(const struct device *dev,
k_timeout_t timeout)
{
const struct input_touchscreen_common_config *cfg = dev->config;
__ASSERT(cfg->inverted_y == (cfg->screen_height > 0),
"Y coordinate inversion requires screen-height");
__ASSERT(cfg->inverted_x == (cfg->screen_width > 0),
"X coordinate inversion requires screen-width");
const uint32_t reported_x_code = cfg->swapped_x_y ? INPUT_ABS_Y : INPUT_ABS_X;
const uint32_t reported_y_code = cfg->swapped_x_y ? INPUT_ABS_X : INPUT_ABS_Y;
const uint32_t reported_x = cfg->inverted_x ? cfg->screen_width - x : x;