Zephyr Project API 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
input_touch.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Antmicro <www.antmicro.com>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
13#ifndef ZEPHYR_INCLUDE_INPUT_TOUCH_H_
14#define ZEPHYR_INCLUDE_INPUT_TOUCH_H_
15
24#include <zephyr/input/input.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
49
55#define INPUT_TOUCH_DT_COMMON_CONFIG_INIT(node_id) \
56 { \
57 .screen_width = DT_PROP(node_id, screen_width), \
58 .screen_height = DT_PROP(node_id, screen_height), \
59 .inverted_x = DT_PROP(node_id, inverted_x), \
60 .inverted_y = DT_PROP(node_id, inverted_y), \
61 .swapped_x_y = DT_PROP(node_id, swapped_x_y) \
62 }
63
69#define INPUT_TOUCH_DT_INST_COMMON_CONFIG_INIT(inst) \
70 INPUT_TOUCH_DT_COMMON_CONFIG_INIT(DT_DRV_INST(inst))
71
77#define INPUT_TOUCH_STRUCT_CHECK(config) \
78 BUILD_ASSERT(offsetof(config, common) == 0, \
79 "struct input_touchscreen_common_config must be placed first");
80
89void input_touchscreen_report_pos(const struct device *dev,
90 uint32_t x, uint32_t y,
91 k_timeout_t timeout);
92
93#ifdef __cplusplus
94}
95#endif
96
99#endif /* ZEPHYR_INCLUDE_INPUT_TOUCH_H_ */
void input_touchscreen_report_pos(const struct device *dev, uint32_t x, uint32_t y, k_timeout_t timeout)
Common utility for reporting touchscreen position events.
Main header file for Input driver API.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
Runtime device structure (in ROM) per driver instance.
Definition device.h:510
Common touchscreen config.
Definition input_touch.h:37
bool inverted_x
X axis is inverted.
Definition input_touch.h:43
uint32_t screen_width
Horizontal resolution of touchscreen.
Definition input_touch.h:39
bool swapped_x_y
X and Y axes are swapped.
Definition input_touch.h:47
bool inverted_y
Y axis is inverted.
Definition input_touch.h:45
uint32_t screen_height
Vertical resolution of touchscreen.
Definition input_touch.h:41
Kernel timeout type.
Definition clock.h:65