Нет Multitouch с использованием ScatterView, MultitouchVista и Surface SDK - PullRequest
1 голос
/ 02 декабря 2010

Я установил Microsoft Surface SDK 1.0 SP1 на Win7 с 64-битной версией, следуя этой инструкции: www.brianpeek.com/blog/archive/2009/05/14/install-the-surface-sdk-sp1-workstation-edition-on-x64.aspx

Пока проблем нет. Для тестирования моего приложения я использую MultitouchVista (см. Здесь: multitouchvista.codeplex.com/) с двумя мышами. ( обновление: Я пытался с Surface Simulator, и он работал, так что это может быть не проблема кода)

Если я хочу опробовать пример ScatterPuzzle (входит в SurfaceSDK), используется только одна точка. Поэтому я не могу масштабировать или вращать, или даже перемещать два объекта одновременно.

даже этот простой пример с msdn.microsoft.com/en-us/library/ee957318.aspx не работает:

<s:SurfaceWindow 
x:Class="ScatterViewOverview.SurfaceWindow1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:s="http://schemas.microsoft.com/surface/2008"
Title="ScatterViewOverview">

<s:ScatterView>
    <Image Source="Resources/Desert.jpg"/>
</s:ScatterView>

</s:SurfaceWindow>

Это какая-то известная ошибка или я что-то делаю не так?

Спасибо.

PS: Например, в текущем подходе я использую RotateTransform для поворота и ManipulationDelta для вычисления необходимой степени поворота моего Предмета.

Edit: Да, я попробовал это с Surface Simulator, и он прекрасно работает. Проблема в том, что мне нужно использовать MultiTouchVista. Мы создали Multitouch-Table, который получает те же данные, что и мыши.

Я нашел видео на Youtube, где MultiTouchVista используется в демонстрационных приложениях: http://www.youtube.com/watch?v=CHsqS2QnR14 Кажется, он работал.

Edit2: Кажется, что элементы SDK нуждаются в ContactEvents, но MultitouchVista «только» дает вам TouchEvents. Поэтому они не будут работать без тяжелых обходных путей.

Ответы [ 2 ]

2 голосов
/ 03 декабря 2010

Если вы разрабатываете приложение Surface, вам не нужно использовать multitouchvista.Это может быть причиной проблемы.Вам нужно запустить приложение внутри симулятора поверхности, который использует мышь для эмуляции контактов с поверхностью.Несколько мышей будут работать независимо друг от друга в симуляторе, чтобы обеспечить взаимодействие с несколькими касаниями.

1 голос
/ 03 декабря 2010

Вы пробовали Surface Toolkit? Это коллекция поверхностных контролей. Они работают в приложениях Windows, а набор инструментов имеет почти тот же набор примеров приложений.

В любом случае вы можете попробовать использовать

<s:ScatterView>
    <s:ScatterViewItem Width="500" Height="500" />
</s:ScatterView>

И если это сработает - оберните элементы управления в эти элементы.

...