Пример #1
0
        private void HandleEventLine(string line)
        {
            var split  = line.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
            var getVal = new Func <int, string>((index) =>
            {
                if (index >= split.Length)
                {
                    return("");
                }
                else
                {
                    return(split[index]);
                }
            });
            var ahead = getVal(0);

            if (!ahead.StartsWith("/dev/input/event"))
            {
                return;
            }
            var type = getVal(1);
            var code = getVal(2);

            if (code == "SYN_REPORT") //过滤
            {
                return;
            }
            var value = getVal(3);

            if (code == "ABS_MT_POSITION_Y" && lastCode == "ABS_MT_POSITION_X" &&
                lastLastCode == "BTN_TOUCH" && (lastLastValue == "UP" || lastLastValue == "DOWN"))
            {
                x = HexStr2Int(lastValue);
                y = HexStr2Int(value);

                var adbEvent = new AdbEvent()
                {
                    Type   = AdbEventType.Tap,
                    Param0 = lastLastValue,
                    Param1 = x,
                    Param2 = y,
                };
                OnEvent?.Invoke(adbEvent);
                AccessNewTapEvent(lastLastValue, x, y);
            }
            else if (code == "ABS_MT_TRACKING_ID" && lastCode == "BTN_TOUCH" &&
                     CheckAccessNewTapEventTimeLimit(lastValue, x, y))
            {
                var adbEvent = new AdbEvent()
                {
                    Type   = AdbEventType.Tap,
                    Param0 = lastValue,
                    Param1 = x,
                    Param2 = y,
                };
                OnEvent?.Invoke(adbEvent);
                AccessNewTapEvent(lastLastValue, x, y);
            }

            lastLastCode  = lastCode;
            lastLastValue = lastValue;

            lastCode  = code;
            lastValue = value;
        }
Пример #2
0
 private void AdbTools_OnEvent(AdbEvent obj)
 {
     logTools.Info("AdbTools_OnEvent", $"{obj.Param0} {obj.Param1} {obj.Param2}");
 }