Skip to content

Commit 0015c1a

Browse files
fix mouse position on windows
1 parent 5d14f95 commit 0015c1a

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

display_server_interactions/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from platform import system as __system
55

6-
__version__ = "0.0.dev6"
6+
__version__ = "0.0.dev7"
77
__author__ = "Commandcracker"
88

99
__os_name = __system().lower()

display_server_interactions/windows.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ def geometry(self) -> Box:
5454
rect = RECT()
5555
user32.GetWindowRect(self.window, byref(rect))
5656
return Box(
57-
x=0,
58-
y=0,
57+
x=rect.left,
58+
y=rect.top,
5959
width=rect.right - rect.left,
6060
height=rect.bottom - rect.top
6161
)
@@ -99,14 +99,19 @@ def send_str(self, str: str) -> None:
9999
self.send_chr(chr)
100100

101101
def warp_pointer(self, x: int, y: int, geometry: Box = None) -> None:
102-
if geometry:
103-
rel_x, rel_y = x - geometry.x, y - geometry.y
104-
else:
105-
rel_x, rel_y = x, y
106-
point = POINT(rel_x, rel_y)
102+
if geometry is None:
103+
geometry = self.geometry
104+
105+
x = x + geometry.x
106+
y = y + geometry.y
107+
108+
point = POINT(x, y)
107109
user32.SetCursorPos(point.x, point.y)
108110

109111
def send_mouse_click(self, x: int, y: int, button: MouseButtons = MouseButtons.LEFT) -> None:
112+
x = x + self.geometry.x
113+
y = y + self.geometry.y
114+
110115
# Press and release the button
111116
down_code = 0
112117
up_code = 0

0 commit comments

Comments
 (0)