xref: /linux/include/linux/input/touch-overlay.h (revision 0074281bb6316108e0cff094bd4db78ab3eee236)
1*ea4d3310SJavier Carrasco /* SPDX-License-Identifier: GPL-2.0-only */
2*ea4d3310SJavier Carrasco /*
3*ea4d3310SJavier Carrasco  * Copyright (c) 2023 Javier Carrasco <javier.carrasco@wolfvision.net>
4*ea4d3310SJavier Carrasco  */
5*ea4d3310SJavier Carrasco 
6*ea4d3310SJavier Carrasco #ifndef _TOUCH_OVERLAY
7*ea4d3310SJavier Carrasco #define _TOUCH_OVERLAY
8*ea4d3310SJavier Carrasco 
9*ea4d3310SJavier Carrasco #include <linux/types.h>
10*ea4d3310SJavier Carrasco 
11*ea4d3310SJavier Carrasco struct input_dev;
12*ea4d3310SJavier Carrasco 
13*ea4d3310SJavier Carrasco int touch_overlay_map(struct list_head *list, struct input_dev *input);
14*ea4d3310SJavier Carrasco 
15*ea4d3310SJavier Carrasco void touch_overlay_get_touchscreen_abs(struct list_head *list, u16 *x, u16 *y);
16*ea4d3310SJavier Carrasco 
17*ea4d3310SJavier Carrasco bool touch_overlay_mapped_touchscreen(struct list_head *list);
18*ea4d3310SJavier Carrasco 
19*ea4d3310SJavier Carrasco bool touch_overlay_process_contact(struct list_head *list,
20*ea4d3310SJavier Carrasco 				   struct input_dev *input,
21*ea4d3310SJavier Carrasco 				   struct input_mt_pos *pos, int slot);
22*ea4d3310SJavier Carrasco 
23*ea4d3310SJavier Carrasco void touch_overlay_sync_frame(struct list_head *list, struct input_dev *input);
24*ea4d3310SJavier Carrasco 
25*ea4d3310SJavier Carrasco #endif
26