Exemplo n.º 1
0
    def handleMouseMove(self, pdu: PlayerMouseMovePDU):
        eventHeader = FastPathInputType.FASTPATH_INPUT_EVENT_MOUSE << 5
        flags = PointerFlag.PTRFLAGS_MOVE
        x = pdu.x
        y = pdu.y

        event = FastPathMouseEvent(eventHeader, flags, x, y)
        self.sendInputEvents([event])
Exemplo n.º 2
0
    def handleMouseWheel(self, pdu: PlayerMouseWheelPDU):
        eventHeader = FastPathInputType.FASTPATH_INPUT_EVENT_MOUSE << 5
        flags = PointerFlag.PTRFLAGS_WHEEL
        x = pdu.x
        y = pdu.y

        if pdu.delta < 0:
            flags |= PointerFlag.PTRFLAGS_WHEEL_NEGATIVE

        if pdu.horizontal:
            flags |= PointerFlag.PTRFLAGS_HWHEEL

        flags |= abs(pdu.delta) & PointerFlag.WheelRotationMask

        event = FastPathMouseEvent(eventHeader, flags, x, y)
        self.sendInputEvents([event])
Exemplo n.º 3
0
    def handleMouseButton(self, pdu: PlayerMouseButtonPDU):
        mapping = {
            MouseButton.LEFT_BUTTON: PointerFlag.PTRFLAGS_BUTTON1,
            MouseButton.RIGHT_BUTTON: PointerFlag.PTRFLAGS_BUTTON2,
            MouseButton.MIDDLE_BUTTON: PointerFlag.PTRFLAGS_BUTTON3,
        }

        if pdu.button not in mapping:
            return

        eventHeader = FastPathInputType.FASTPATH_INPUT_EVENT_MOUSE << 5
        flags = mapping[pdu.button] | (PointerFlag.PTRFLAGS_DOWN if pdu.pressed else 0)
        x = pdu.x
        y = pdu.y

        event = FastPathMouseEvent(eventHeader, flags, x, y)
        self.sendInputEvents([event])
Exemplo n.º 4
0
 def parseMouseEvent(self, eventHeader: int,
                     stream: BytesIO) -> FastPathMouseEvent:
     pointerFlags = Uint16LE.unpack(stream)
     mouseX = Uint16LE.unpack(stream)
     mouseY = Uint16LE.unpack(stream)
     return FastPathMouseEvent(eventHeader, pointerFlags, mouseX, mouseY)
Exemplo n.º 5
0
 def parseMouseEvent(self, data, eventHeader):
     pointerFlags = Uint16LE.unpack(data[1:3])
     mouseX = Uint16LE.unpack(data[3:5])
     mouseY = Uint16LE.unpack(data[5:7])
     return FastPathMouseEvent(eventHeader, pointerFlags, mouseX, mouseY)