From 9c6552ae4f39bf50a90ff8ff58c69f0a3003bc54 Mon Sep 17 00:00:00 2001 From: mr-liang2504 Date: Mon, 17 Jun 2024 21:41:31 +0800 Subject: [PATCH] Signed-off-by: mr-liang2504 Change-Id: I6f58a4a3152470b9d8036d72f6a2b7be8d85fda5 --- patch/diff_libmtdev_mmi/mtdev/mtdev_0000.diff | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/patch/diff_libmtdev_mmi/mtdev/mtdev_0000.diff b/patch/diff_libmtdev_mmi/mtdev/mtdev_0000.diff index a72f1bf..2f016fa 100644 --- a/patch/diff_libmtdev_mmi/mtdev/mtdev_0000.diff +++ b/patch/diff_libmtdev_mmi/mtdev/mtdev_0000.diff @@ -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; -- Gitee