Как использовать Python, чтобы проверить, является ли системная настройка для мыши левой рукой?

1

мотивация

Я собираюсь использовать python, чтобы щелкнуть левой кнопкой мыши, чтобы выполнить некоторый тест автоматизации.

Моя среда разработки и тестирования

  • Моя локальная машина разработки (Win10) левая для мыши. Это означает, что я нажимаю левую кнопку мыши, чтобы отобразить меню "Мышь-право-клик".

  • Тест-сервер правша для мыши. Обычно я использую TeamViewer для доступа к тестовому серверу, и мне не нужны дополнительные настройки для мыши на тестовом сервере для моего доступа. Я имею в виду, что с TeamViewer, если я нажму левой кнопкой мыши в окне просмотра TeamViewer, на тестовом сервере появится Mouse-Right-Click-Menu.

проблема

  • Я использую pynput (https://pypi.org/project/pynput/), чтобы щелкнуть мышью. Вот тестовый код:

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

На моей локальной машине, которая левша, этот код НЕ ПОПЫТЬ Mouse-Right-Click-Menu, что я и хочу, а на тестовом сервере, который прав, этот код появляется в меню Mouse-Right-Click-Menu. Это противоречивое поведение этого кода раздражает.

Что я хочу сделать

Я хочу написать функцию '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 для этой проблемы?

Спасибо

Теги:
automation
mouse

1 ответ

1

Используйте GetSystemMetrics (SM_SWAPBUTTON), чтобы определить, меняются ли кнопки мыши...

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

PS: Требуется pywin32: python -m pip install pywin32

  • 0
    Спасибо за ваш ответ. Должен ли я использовать 'python -m pip install pypiwin32' вместо 'python -m pip install pywin32'?
  • 0
    @yaoyansi - Хороший вопрос, я даже не знал о pypiwin32. Оба должны работать. Используйте все, что плавает на вашей лодке.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню