Эффективный метод отслеживания и передачи активности мыши / клавиатуры - PullRequest
0 голосов
/ 07 мая 2020

Я работаю над кодом python для выполнения функции, аналогичной MouseWithoutBorders , где я могу управлять несколькими системами из центральной системы. У меня есть функции обтекания экрана, разработанные локально, и действия с клавиатурой, с которыми я работаю, но у меня проблемы с битами мыши по сети. Движение мыши довольно быстро генерирует большой кусок данных, и если я подключен к удаленному хосту и работаю с этими данными, я бы хотел уменьшить сетевой трафик c до разумного уровня. В настоящее время я настроил его так, чтобы последовательность событий была следующей:

1) start the "server" node and connect to a specified "client" node
2) From the server node, deal with local movement while maintaining the client connection
2) if the left or right border is hit (top or bottom if running in vertical mode):
     a) transfer to the proper side of the remote setup
     b) move the cursor on the local node to an out-of-the-way spot ([0,0], for example)
     c) track the mouse location on the remote side, moving the position as needed
     d) transfer back to local if a border is hit
3) repeat as necessary

Итак, у меня есть код для сбора и хранения статистики мониторов, даже мониторов разных размеров, и обертывания сверху / снизу / слева / справа на нескольких мониторах. У меня есть код для установления соединения (через TCP / IP) и сбора информации мониторинга с удаленного узла. У меня есть бит сервера, и я держу мышь в углу, пока он пытается справиться с удаленной деятельностью ... проблема в том, что существует так много информации о мыши, что создание и отправка пакетов с координатами мыши приводит к потере данных, поэтому что я получаю несоответствующие данные на пульте дистанционного управления. То есть я создаю пакет с координатами X, Y, отправляю его и в конечном итоге получаю и декодирую его как {[x, y], [x, y], [x, y], ..., [x] }, а затем вызывает ошибку с коротким пакетом.

Меня интересует любая информация / идеи по сокращению данных (в настоящее время он отправляет ТОННУ пакетов) или любому API, который может помочь с тем, что я ' м пытаюсь сделать. В настоящее время я использую несколько системных API Win32, а также PyWinHook, мышь и pythoncom для отслеживания, клавиатуры и процесса l oop.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...