Skip to content

Commit

Permalink
Merge pull request #406 from flying-elephant/confidence-bit-treatment…
Browse files Browse the repository at this point in the history
…-change

HID: wacom: Correct behavior when processing some confidence == false…
  • Loading branch information
Pinglinux authored Dec 27, 2023
2 parents 4d7449a + ab32e0b commit 53220d7
Showing 1 changed file with 4 additions and 28 deletions.
32 changes: 4 additions & 28 deletions 4.5/wacom_wac.c
Original file line number Diff line number Diff line change
Expand Up @@ -2685,8 +2685,8 @@ static void wacom_wac_finger_slot(struct wacom_wac *wacom_wac,
{
struct hid_data *hid_data = &wacom_wac->hid_data;
bool mt = wacom_wac->features.touch_max > 1;
bool prox = hid_data->tipswitch &&
report_touch_events(wacom_wac);
bool touch_down = hid_data->tipswitch && hid_data->confidence;
bool prox = touch_down && report_touch_events(wacom_wac);

if (touch_is_muted(wacom_wac)) {
if (!wacom_wac->shared->touch_down)
Expand Down Expand Up @@ -2736,24 +2736,6 @@ static void wacom_wac_finger_slot(struct wacom_wac *wacom_wac,
}
}

static bool wacom_wac_slot_is_active(struct input_dev *dev, int key)
{
struct input_mt *mt = dev->mt;
struct input_mt_slot *s;

if (!mt)
return false;

for (s = mt->slots; s != mt->slots + mt->num_slots; s++) {
if (s->key == key &&
input_mt_get_value(s, ABS_MT_TRACKING_ID) >= 0) {
return true;
}
}

return false;
}

static void wacom_wac_finger_event(struct hid_device *hdev,
struct hid_field *field, struct hid_usage *usage, __s32 value)
{
Expand Down Expand Up @@ -2804,14 +2786,8 @@ static void wacom_wac_finger_event(struct hid_device *hdev,
}

if (usage->usage_index + 1 == field->report_count) {
if (equivalent_usage == wacom_wac->hid_data.last_slot_field) {
bool touch_removed = wacom_wac_slot_is_active(wacom_wac->touch_input,
wacom_wac->hid_data.id) && !wacom_wac->hid_data.tipswitch;

if (wacom_wac->hid_data.confidence || touch_removed) {
wacom_wac_finger_slot(wacom_wac, wacom_wac->touch_input);
}
}
if (equivalent_usage == wacom_wac->hid_data.last_slot_field)
wacom_wac_finger_slot(wacom_wac, wacom_wac->touch_input);
}
}

Expand Down

0 comments on commit 53220d7

Please sign in to comment.