summaryrefslogtreecommitdiff
path: root/include/uapi/linux/hbtp_input.h
blob: 3b124ffcdcf3960f2ab5fdcc73fefd5dbabe2fcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#ifndef _UAPI_HBTP_INPUT_H
#define _UAPI_HBTP_INPUT_H

#include <linux/input.h>

#define HBTP_MAX_FINGER		20
#define HBTP_ABS_MT_FIRST	ABS_MT_TOUCH_MAJOR
#define HBTP_ABS_MT_LAST	ABS_MT_TOOL_Y
#define MAX_ROI_SIZE		144
#define MAX_ACCEL_SIZE		128

#define HBTP_EVENT_TYPE_DISPLAY	"EVENT_TYPE=HBTP_DISPLAY"

struct hbtp_input_touch {
	bool active;
	__s32 tool;
	__s32 x;
	__s32 y;
	__s32 pressure;
	__s32 major;
	__s32 minor;
	__s32 orientation;
};

struct hbtp_sensor_data {
	__s16 accelBuffer[MAX_ACCEL_SIZE];
	__s16 ROI[MAX_ROI_SIZE];
};

struct hbtp_input_mt {
	__s32 num_touches;
	struct hbtp_input_touch touches[HBTP_MAX_FINGER];
	struct timeval time_val;
};

struct hbtp_input_absinfo {
	bool  active;
	__u16 code;
	__s32 minimum;
	__s32 maximum;
};

enum hbtp_afe_power_cmd {
	HBTP_AFE_POWER_ON,
	HBTP_AFE_POWER_OFF,
};

struct hbtp_input_key {
	__u32 code;
	__s32 value;
};

enum hbtp_afe_signal {
	HBTP_AFE_SIGNAL_ON_RESUME,
	HBTP_AFE_SIGNAL_ON_SUSPEND,
};

enum hbtp_afe_power_ctrl {
	HBTP_AFE_POWER_ENABLE_SYNC,
	HBTP_AFE_POWER_ENABLE_SYNC_SIGNAL,
};


/* ioctl */
#define HBTP_INPUT_IOCTL_BASE	'T'
#define HBTP_SET_ABSPARAM	_IOW(HBTP_INPUT_IOCTL_BASE, 201, \
					struct hbtp_input_absinfo *)
#define HBTP_SET_TOUCHDATA	_IOW(HBTP_INPUT_IOCTL_BASE, 202, \
					struct hbtp_input_mt)
#define HBTP_SET_POWERSTATE	_IOW(HBTP_INPUT_IOCTL_BASE, 203, \
					enum hbtp_afe_power_cmd)
#define HBTP_SET_KEYDATA	_IOW(HBTP_INPUT_IOCTL_BASE, 204, \
					struct hbtp_input_key)
#define HBTP_SET_SYNCSIGNAL	_IOW(HBTP_INPUT_IOCTL_BASE, 205, \
					enum hbtp_afe_signal)
#define HBTP_SET_POWER_CTRL	_IOW(HBTP_INPUT_IOCTL_BASE, 206, \
					enum hbtp_afe_power_ctrl)
#define HBTP_SET_SENSORDATA	_IOW(HBTP_INPUT_IOCTL_BASE, 207, \
					struct hbtp_sensor_data)

#endif	/* _UAPI_HBTP_INPUT_H */