Signed-off-by: mr-liang2504 <liangzhicheng10@huawei.com>

Change-Id: I6f58a4a3152470b9d8036d72f6a2b7be8d85fda5
This commit is contained in:
mr-liang2504
2024-06-17 21:41:31 +08:00
parent fd41ca9c2f
commit f6630c7890
+21 -1
View File
@@ -14,7 +14,27 @@ limitations under the License.
diff -Naur old/src/core.c new/src/core.c
--- old/src/core.c 2021-01-01 00:00:00.000000000 +0800
+++ new/src/core.c 2021-01-01 00:00:00.000000000 +0800
@@ -297,7 +297,11 @@ static void apply_typeA_changes(struct mtdev_state *state,
@@ -252,7 +252,8 @@
struct input_event ev;
int i, count = 0;
foreach_bit(i, prop)
- if (get_sval(&state->data[slot], i) != get_sval(data, i))
+ if (mtdev_mt2abs(i) == ABS_MT_POSITION_X || mtdev_mt2abs(i) == ABS_MT_POSITION_Y ||
+ get_sval(&state->data[slot], i) != get_sval(data, i))
count++;
if (!count)
return;
@@ -268,7 +269,8 @@
foreach_bit(i, prop) {
ev.code = mtdev_mt2abs(i);
ev.value = get_sval(data, i);
- if (get_sval(&state->data[slot], i) != ev.value) {
+ if (ev.code == ABS_MT_POSITION_X || ev.code == ABS_MT_POSITION_Y ||
+ get_sval(&state->data[slot], i) != ev.value) {
evbuf_put(&state->outbuf, &ev);
set_sval(&state->data[slot], i, ev.value);
}
@@ -297,7 +299,11 @@
foreach_bit(slot, state->used) {
if (state->data[slot].tracking_id != id)
continue;