chiark / gitweb /
Button zones: Export bottom_edge_zones in MTRACK_PROP_BUTTON_EMULATE_SETTINGS
[xf86-input-mtrack.git] / include / hwstate.h
1 /***************************************************************************
2  *
3  * Multitouch X driver
4  * Copyright (C) 2008 Henrik Rydberg <rydberg@euromail.se>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19  *
20  **************************************************************************/
21
22 #ifndef HWSTATE_H
23 #define HWSTATE_H
24
25 #include "common.h"
26 #include "capabilities.h"
27
28 struct FingerState {
29         int touch_major, touch_minor;
30         int width_major, width_minor;
31         int orientation, pressure;
32         int position_x, position_y;
33         int tracking_id;
34 };
35
36 struct HWState {
37         struct FingerState data[DIM_FINGER];
38         bitmask_t used;
39         bitmask_t slot;
40         bitmask_t button;
41         int max_x, max_y;
42         struct timeval evtime;
43 };
44
45 void hwstate_init(struct HWState *s,
46                         const struct Capabilities *caps);
47 int hwstate_modify(struct HWState *s,
48                         struct mtdev *dev, int fd,
49                         const struct Capabilities *caps);
50 void hwstate_output(const struct HWState *s);
51
52 int find_finger(const struct HWState *s, int tracking_id);
53
54 #endif