summaryrefslogtreecommitdiff
path: root/src/capabilities.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/capabilities.c')
-rw-r--r--src/capabilities.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/capabilities.c b/src/capabilities.c
index 1f555f9..7f3b34d 100644
--- a/src/capabilities.c
+++ b/src/capabilities.c
@@ -29,6 +29,7 @@
29#define CLICK_AREA(c) ((c->has_ibt ? 0.20 : 0.00) * get_cap_ysize(c)) 29#define CLICK_AREA(c) ((c->has_ibt ? 0.20 : 0.00) * get_cap_ysize(c))
30 30
31static const int SN_COORD = 250; /* coordinate signal-to-noise ratio */ 31static const int SN_COORD = 250; /* coordinate signal-to-noise ratio */
32static const int SN_WIDTH = 15; /* width signal-to-noise ratio */
32 33
33static const int bits_per_long = 8 * sizeof(long); 34static const int bits_per_long = 8 * sizeof(long);
34 35
@@ -103,6 +104,9 @@ int read_capabilities(struct Capabilities *cap, int fd)
103 cap->xfuzz = get_cap_xsize(cap) / SN_COORD; 104 cap->xfuzz = get_cap_xsize(cap) / SN_COORD;
104 cap->yfuzz = get_cap_ysize(cap) / SN_COORD; 105 cap->yfuzz = get_cap_ysize(cap) / SN_COORD;
105 } 106 }
107 cap->wfuzz = cap->abs_touch_major.fuzz;
108 if (cap->wfuzz <= 0)
109 cap->wfuzz = get_cap_wsize(cap) / SN_WIDTH;
106 110
107 cap->yclick = cap->abs_position_y.maximum - CLICK_AREA(cap); 111 cap->yclick = cap->abs_position_y.maximum - CLICK_AREA(cap);
108 112
@@ -119,6 +123,11 @@ int get_cap_ysize(const struct Capabilities *cap)
119 return cap->abs_position_y.maximum - cap->abs_position_y.minimum; 123 return cap->abs_position_y.maximum - cap->abs_position_y.minimum;
120} 124}
121 125
126int get_cap_wsize(const struct Capabilities *cap)
127{
128 return cap->abs_touch_major.maximum - cap->abs_touch_major.minimum;
129}
130
122void output_capabilities(const struct Capabilities *cap) 131void output_capabilities(const struct Capabilities *cap)
123{ 132{
124 char line[1024]; 133 char line[1024];