如何使用Python检查鼠标的系统设置是否为左撇子?



Motivation

我将使用 python 单击鼠标左键进行一些自动化测试。

我的开发和测试环境

  • 我的本地开发机器(Win10(是鼠标左撇子。这意味着我单击鼠标左键以显示鼠标右键单击菜单。

  • 测试服务器是鼠标的右手。我通常使用 TeamViewer 访问测试服务器,并且不需要测试服务器上的鼠标进行其他设置即可访问。我的意思是,使用 TeamViewer,如果我在 TeamViewer 视口中单击鼠标左键,则会在测试服务器上弹出鼠标右键菜单。

问题

  • 我使用 pynput(https://pypi.org/project/pynput/( 单击鼠标按钮。下面是一个测试代码:

    def simulate_left_click():
    from pynput.mouse import Button, Controller
    m = Controller()
    m.press(Button.right)
    

在我的左撇子本地机器上,这段代码不会弹出鼠标右键菜单,这是我想要的,而在右手的测试服务器上,这段代码会弹出鼠标右键菜单。此代码的这种不一致行为很烦人。

我想做什么

我想写一个函数'is_system_left_handed((',像这样:

def simulate_left_click():
from pynput.mouse import Button, Controller
m = Controller()
if is_system_left_handed():
m.press(Button.right)
else:
m.press(Button.left)

我的问题

  • 如何实现函数"is_system_left_handed(("?可能吗?
  • 如果不可能,是否有任何其他 python 包可用于此问题?

谢谢

使用 GetSystemMetrics(SM_SWAPBUTTON( 检测鼠标按钮是否被交换...

SM_SWAPBUTTON = 23
from win32api import GetSystemMetrics
print(GetSystemMetrics(SM_SWAPBUTTON))

附注: 需要 pywin32:python -m pip install pywin32

最新更新