如何使用python检查鼠标的系统设置是否是左手的?

2024-05-23 22:44:29 发布

您现在位置:Python中文网/ 问答频道 /正文

动机

我将使用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\u system\u left\u hand()',如下所示:

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\u system\u left\u hand()”功能?有可能吗?你知道吗
  • 如果不可能,是否有其他python包可用于此问题?你知道吗

谢谢


Tags: 代码服务器机器is菜单button鼠标left
1条回答
网友
1楼 · 发布于 2024-05-23 22:44:29

使用GetSystemMetrics(SM_SWAPBUTTON)检测鼠标按钮是否已交换。。。你知道吗

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

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

相关问题 更多 >