2009-10-06 3 views
3

Вот эта идея:Как подделать «Multitouch» для Windows Mobile?

У меня есть две панели с событиями MouseDown. Идея, которая у меня была, заключалась в том, чтобы иметь таймер, который позволял бы включать и отключать панели поочередно каждую десятую секунды.

Я надеялся, что событие MouseDown будет захвачено одной панелью, а затем я смогу прочитать e.X и e.Y события, а затем событие MouseDown будет захвачено другой панелью следующим событием таймера.

Это будет правда MultiTouch, но этого может быть достаточно, чтобы повеселиться. Но это не работает на практике.

Мое предположение заключается в том, что этот метод не позволяет работать на аппаратном уровне. Но я хотел убедиться, что у кого-то еще не было идеи о том, как выполнить «Hack Multitouch»

Любые идеи?

ответ

6

Короткий ответ: это просто не сработает.

Для мультитач вы должны иметь аппаратное обеспечение для поддержки (емкостное tocuhscreen). Просто нет способа сделать резистивный сенсорный экран (что на вашем устройстве WinMo) «см.» Два касания. Вместо этого он просто обеспечивает среднее значение всех касаний.

Я видел хак, предполагающий, что вы не касаетесь обеих точек за один раз и что одна точка (обычно верхний левый) никогда не перемещается. Затем вы можете выяснить, где вторая точка - это отступление от среднего. Это вроде бы работало на такие вещи, как жесты «уменьшить масштаб» и «увеличить масштаб», но об этом.

Даже если у вас есть емкостный сенсорный экран, если ОС не знает, как обращаться с мышью, находящейся в двух положениях в любой момент времени, или драйвер сенсорной панели явно предоставляет приложение этой информацией, вам все равно не повезло.

+0

Я понял, что это должно быть проблемой. Я надеялся, что смогу сбросить экран и, надеюсь, захватить случайную мульдауну, а затем рассчитать ее с течением времени. В основном у меня есть две области экрана по одному для каждого игрока. Но самый низкий MouseDown всегда выигрывает до тех пор, пока он не выпустит, что отстой. Если бы я мог случайно захватить MouseDown и закончить их каждый раз, то я мог бы иметь виртуальный MultiTouch по крайней мере в разных областях экрана. Видите, что я там собираюсь? Все еще определенно невозможно. Это было бы замечательно! –

+0

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

+0

Спасибо Chris1 Полезно знать, что это невозможно, поэтому я не трачу больше времени на это. –

Смежные вопросы