Пример #1
0
def _press_with_duration(action: HIDPressAction,
                         duration: Optional[float] = None) -> List[HIDEvent]:
    events = []
    events.append(HIDPress(action=action, direction=HIDDirection.DOWN))
    if duration:
        events.append(HIDDelay(duration=duration))
    events.append(HIDPress(action=action, direction=HIDDirection.UP))
    return events
Пример #2
0
def swipe_to_events(
    p_start: Tuple[float, float],
    p_end: Tuple[float, float],
    duration: Optional[float] = None,
    delta: Optional[float] = None,
) -> List[HIDEvent]:
    if duration is None:
        start = Point(x=p_start[0], y=p_start[1])
        end = Point(x=p_end[0], y=p_end[1])
        return [HIDSwipe(start=start, end=end, delta=delta)]
    else:
        delta = 10.0 if delta is None else delta

        xStart, yStart = p_start
        xEnd, yEnd = p_end

        distance = ((xEnd - xStart)**2 + (yEnd - yStart)**2)**0.5
        steps = int(distance // delta)

        dx = (xEnd - xStart) / steps
        dy = (yEnd - yStart) / steps

        events = []
        for i in range(steps + 1):
            events.append(
                HIDPress(
                    action=HIDTouch(
                        point=Point(x=(xStart + i * dx), y=(yStart + i * dy))),
                    direction=HIDDirection.DOWN,
                ))
            if duration:
                events.append(HIDDelay(duration=(duration / (steps + 1))))

        events.append(
            HIDPress(action=HIDTouch(point=Point(x=xEnd, y=yEnd)),
                     direction=HIDDirection.UP))

        return events
Пример #3
0
def _key_up_event(keycode: int) -> HIDEvent:
    return HIDPress(action=HIDKey(keycode=keycode), direction=HIDDirection.UP)