Как сделать так, чтобы сенсорная панель Windows работала как сенсорная панель Mac? - PullRequest
0 голосов
/ 21 января 2012

Я пытаюсь написать что-то для окон, используя WINAPI, чтобы я мог заставить сенсорную панель делать то, что делает сенсорная панель Mac.

Я проверил с помощью Spy ++, какие WM-сообщения отправляются в ОС двумя нажатиями пальцев и т. Д., Но выяснил, что он отправляет только те плюсы / минусы:

WM_LBUTTONDOWN
WM_LBUTTONUP
WM_MOUSEHOVER
WM_MOUSEHWHEEL
WM_MOUSELEAVE
WM_MOUSEMOVE
WM_RBUTTONDOWN
WM_RBUTTONUP

Когда я пытался увидеть, что произошло при нажатии 3 или 2 пальцами, он не отправлял какого-либо конкретного сообщения, если только я их немного не перемещал.

Во-первых, я хотел бы начать с этого:

когда 5 пальцев спускаются на рабочий стол (как win+D).

  • Как написать (драйвер?) То, что может диагностировать 5 пальцев, одновременно соприкасающихся с сенсорной панелью? Конечно, для этого нет сообщений ОС, но я могу создать уникальную комбинацию существующих сообщений, и этим разобраться.

  • Если мне нужно написать драйвер, могу ли я сделать его универсальным для большей части сенсорной панели, могу ли я сделать это как дополнение?

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

  • Нужно ли что-то еще принимать во внимание:

1. Diagnose 5 fingers mouse events.
2. Make a thread in Explorer on startup that handle those new mouse messages.

заранее спасибо

Уведомления о входе мыши

1 Ответ

4 голосов
/ 21 января 2012

Короче говоря, вы не можете.

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

Windows не имеет встроенной поддержки чтения нескольких сенсорных входов - она ​​зависит от драйверов сенсорной панели для их предоставления.

Вы можете достичь своей цели для НЕКОТОРЫХ устройств, написав свои собственныеДрайвер сенсорной панели (вероятно, начиная с драйверов для сенсорной панели Linux и комплекта разработки драйверов для Windows), но это далеко не просто.

И вам нужно будет сделать это для каждой сенсорной панелиустройство, которое вы хотите поддерживать (от Synaptics, Alps Electric, Cirque и многие другие)

Только после этого вы можете перейти к реализации реакции на действия сенсорной панели в таких приложениях, как Explorer.

...