aboutsummaryrefslogtreecommitdiffstats
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 @@
#define CLICK_AREA(c) ((c->has_ibt ? 0.20 : 0.00) * get_cap_ysize(c))
static const int SN_COORD = 250; /* coordinate signal-to-noise ratio */
+static const int SN_WIDTH = 15; /* width signal-to-noise ratio */
static const int bits_per_long = 8 * sizeof(long);
@@ -103,6 +104,9 @@ int read_capabilities(struct Capabilities *cap, int fd)
cap->xfuzz = get_cap_xsize(cap) / SN_COORD;
cap->yfuzz = get_cap_ysize(cap) / SN_COORD;
}
+ cap->wfuzz = cap->abs_touch_major.fuzz;
+ if (cap->wfuzz <= 0)
+ cap->wfuzz = get_cap_wsize(cap) / SN_WIDTH;
cap->yclick = cap->abs_position_y.maximum - CLICK_AREA(cap);
@@ -119,6 +123,11 @@ int get_cap_ysize(const struct Capabilities *cap)
return cap->abs_position_y.maximum - cap->abs_position_y.minimum;
}
+int get_cap_wsize(const struct Capabilities *cap)
+{
+ return cap->abs_touch_major.maximum - cap->abs_touch_major.minimum;
+}
+
void output_capabilities(const struct Capabilities *cap)
{
char line[1024];