Android12 Framework protege los eventos de deslizamiento del botón izquierdo/derecho del mouse

Para dispositivos Android que admiten mouse, los botones izquierdo y derecho pueden arrastrar el espacio o ambos responden a gestos del sistema. Ahora el requisito es bloquear el evento de deslizamiento del botón derecho del mouse y solo responder al deslizamiento del botón izquierdo del mouse.

Para solucionar este problema necesita conocer las siguientes constantes.

AMOTION_EVENT_BUTTON_PRIMARY clic izquierdo

AMOTION_EVENT_BUTTON_SECONDARY clic derecho

AMOTION_EVENT_BUTTON_TERTIARY Botón auxiliar

Los cambios específicos son los siguientes:

diff --git a/services/inputflinger/reader/mapper/CursorInputMapper.cpp b/services/inputflinger/reader/mapper/CursorInputMapper.cpp
index edf4573218..7b29de98be 100644
--- a/services/inputflinger/reader/mapper/CursorInputMapper.cpp
+++ b/services/inputflinger/reader/mapper/CursorInputMapper.cpp
@@ -417,7 +417,8 @@ void CursorInputMapper::sync(nsecs_t when, nsecs_t readTime) {
                          mSource, displayId, policyFlags, lastButtonState, currentButtonState);
 
     // Send motion event.
-    if (downChanged || moved || scrolled || buttonsChanged) {
+    if (downChanged || (moved && mCursorButtonAccumulator.getButtonState() != AMOTION_EVENT_BUTTON_SECONDARY) 
+        || scrolled || buttonsChanged) {
         int32_t metaState = getContext()->getGlobalMetaState();
         int32_t buttonState = lastButtonState;
         int32_t motionEventAction;

Bloquee el evento de movimiento del botón derecho.

Supongo que te gusta

Origin blog.csdn.net/guanmingyuangmy/article/details/132407109
Recomendado
Clasificación