SendInput и TouchScreen конфликтуют с Windows - PullRequest
1 голос
/ 03 марта 2020

Прежде всего, извините за мой Engli sh ^^

Я заблокирован проблема с отправкой сообщений с SendInput и сенсорными экранами

Здесь подробно проблема:

У меня есть приложение, которое восстанавливает сенсорные вводы в Raw с помощью «RegisterRawInputDevices»

Затем я преобразую эти записи в жесты, такие как панорамирование, масштабирование в / из и т.д. c ...

Затем, используя жесты, я посылаю сообщения мыши / клавиатуры с SendInput

Проблема в том, что на стороне Windows есть система, которая делает то же самое и это конфликтует с моим приложением.

Например, когда я делаю движение двумя пальцами на сенсорном экране, я посылаю сообщение о движении мыши со средним значением 2 точек в качестве позиции (см. изображение)

Ошибка сенсорного примера

Поэтому курсор находится между моими двумя пальцами (зеленый), но время от времени курсор переходит на один из двух пальцев (красный)

Кажется, что проблема связана с wisp

Я попробовал технику указать здесь . Реестр TouchGate больше не существует в «Ordinateur \ HKEY_CURRENT_USER \ Software \ Microsoft \ Wisp \ Touch»

Но он присутствует здесь: Ordinateur \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Wisp \ Touch

Если Я установил значение TouchGate на 0 и перезагрузил компьютер, это частично решает мою проблему, потому что Windows больше не добавляет сообщения, и у меня все еще есть сенсорные входы из Raw

. Проблема в том, что этот метод требует перезагрузки компьютер и что он применяется во всей системе, тогда как в идеале я хотел бы удалить этот слой только для определенных приложений

Я, очевидно, пытался добавить это значение в HKEY_CURRENT_USER, а также протестировал метод обновления windows с «SendMessageTimeout» и сообщением «WM_SETTINGCHANGE», но безуспешно

Еще один пример с видео, мое приложение использует SendInput из моего положения пальцев и добавляет -100 к позиции y: https://streamable.com/af8u3

Резюме моего запроса

Как повторно Перемещение системы (WISP) или других оверлеев мультитач Windows, динамически (без перезапуска машины)

...