Преобразование данных последовательного порта в события сенсорного экрана HID с использованием C # - PullRequest
0 голосов
/ 26 октября 2019

У меня есть некоммерческое аппаратное устройство (нестандартное), которое нельзя изменить, которое, помимо прочего, сообщает о событиях сенсорного экрана через последовательный порт связи. Сюда входят координаты X / Y и индикатор касания / отпускания (0 или 1). Я написал программу на C #, которая открывает коммуникационный порт, читает с устройства и анализирует сенсорные данные.

Теперь, когда в моей программе есть координаты и информация о касании / отпуске, мне нужно сгенерировать события касания Windows 10 из моего кода C #, который обнаружит любая другая программа, например MS Paint или File Explorer, позволяющаяустройство вести себя как сенсорный экран Windows. Это инженерный инструмент для личного использования для тестирования и демонстраций, а не продукт, поэтому решение может быть «хакерским», если это необходимо.

Есть два способа согласовать это, любой из которых я мог бы использоватьнекоторая помощь или руководство для:

1) Создайте программный драйвер устройства HID (эмулятор), который работает как мост. Это предпочтительно, но, вероятно, связано. Программа Driver установится и отобразится в Windows 10 как сенсорный экран или дигитайзер HID, откроет соединение с последовательным портом в фоновом режиме, прочитает сенсорные данные с устройства и представит их интерфейсу HID для Windows, чтобы интерпретировать и действовать как сенсорные данные, Есть ли пример кода для выполнения чего-то подобного где-нибудь?

2) Запустите программу C # как свернутое приложение Winform, попросите его собрать данные касания из последовательного порта и «отправить» касаниесобытия в винде. Я предполагаю, что это можно сделать так же, как вы можете использовать Win32 API для программного перемещения курсора в любом месте экрана и отправки событий щелчка. В этом случае курсор не будет двигаться, только координаты касания будут отправлены на экранные координаты, как и любой сенсорный экран. Я не уверен, как это сделать, хотя - какой класс c # или библиотека Win32 поддерживает генерацию сенсорных событий, подобных этой?

Будем весьма благодарны за любые предложения, примеры кода, ссылки или рекомендации! !

Спасибо !!

...