Silverlight Phone ManipulationDelta is not working if I use two mice

Apr 3, 2010 at 8:39 AM

I found that Silverlight Phone ManipulationDelta is not working if I press two mice. Did anyone make it working? 

Coordinator
Apr 3, 2010 at 5:08 PM

I don't have any problems. Works as usual.

Apr 3, 2010 at 6:06 PM

No. Don't use touch device.

Here is the steps to reproduce the issue.

  1. Ensure you have connected two mice via USB port in your computer
  2. run Multitouch.Service.Console.exe. 
  3. run Multitouch.Driver.Console.exe 
  4. run Multitouch.Configuration.WPF.exe and block the cursor
  5. Create Silverlight Phone Application in Visual Studio 2010
  6. Subcribe ManipulationStarted or ManipulationDelta or ManipulationCompleted in MainPage's constructor (e.g. this.ManipulationDelta += new EventHandler<ManipulationDeltaEventArgs>(MainPage_ManipulationDelta);)
  7. Put the breakpoint in those events 
  8. Run the application and wait until your application is shown up in Window Phone Emulator
  9. Move your two touch pointers on Phone Emulator
  10. Press Left buttons in both mice
  11. and drag both pointers. 

You will see no event get fired.. 

One of my friends confirmed that Multitouch doesn't work with Silverlight for Phone 7 in his machine too. but it works with Multi-touch monitor. 

Could you please check again? If it's working in your machine, please share me the steps or sample files. 

Thanks.

Coordinator
Apr 3, 2010 at 6:52 PM

Works. I have used the code from here: http://msdn.microsoft.com/en-us/library/ff426933(v=VS.96).aspx?appId=Dev10IDEF1&l=EN-US&k=k(SYSTEM.WINDOWS.UIELEMENT.MANIPULATIONCOMPLETED);k(VS.XAMLEDITOR);k(TargetFrameworkMoniker-"SILVERLIGHT&k=VERSION=V4.0")&rd=true

 

Apr 4, 2010 at 4:21 AM

I tried this code as well.. Moving the rectangle is working. But not resizing. 

Is there any way to enable the logging of your tool? Or is there any log file that I can check and send it to you? 

I'm using Windows 7 64 bits. 

 

 

Apr 4, 2010 at 4:27 AM

By the way, I tested with Microsoft Paint and WPF application by using Multi-touch Vista and it's working in my machine.. but not in Silverlight Phone Emulator... 

Coordinator
Apr 4, 2010 at 8:20 AM

The driver knows nothing about applications where you touching. It works directly with Win7. It gives it information about touches. What Win7 makes with that information is not known to the driver. If the Phone Emulator does not work, it is the bug in the Emulator.

Scaling does not work because e.DeltaManipulation.Scale.X gives 0 if no changes are made. This is wrong! If object was not scaled, then the delta should be 1. Or 1 + Delta. But setting scale to 0 will make the object to disappear.

Apr 4, 2010 at 11:49 AM

Thanks but I'm a bit confused now. 

Did you test this sample in your machine? Does resizing(scaling) the image work in your machine? 

 

 

Coordinator
Apr 4, 2010 at 8:27 PM

Yes. It works.

Apr 5, 2010 at 2:31 AM

It's not working in my machine. What would be the problem? 

Apr 6, 2010 at 9:01 AM

I'm still having problems. I'm not sure why Multi-touch Vista is working in your machine and not in my machine... 

Apr 6, 2010 at 5:18 PM
Edited Apr 6, 2010 at 5:19 PM

Thanks a lot. It's working fine now. I blogged it http://michaelsync.net/2010/04/06/step-by-step-tutorial-installing-multi-touch-simulator-for-silverlight-phone-7 I give all credits to you.. Thanks a lot for your help. :) Your project is amazing. 

Coordinator
Apr 6, 2010 at 7:48 PM

Great to hear this :) I will link to your installation instructions on the first page if you don't mind :)

Apr 7, 2010 at 1:00 AM

Sure, man.. Please feel free to link it... Thanks. 

Apr 7, 2010 at 1:21 AM

Michael,

Now that you have it working fine with multiple mice input, would you be so kind of trying to make it work with TUIO?

I have been fighting all day long with this, but I cannot get it to send any WM_TOUCH messages to Windows 7.

You can download the TUIO simulator from here:

http://nuigroup.com/forums/viewthread/756/

If it is not possible for you to invest time on this, please let me know. I just thought of asking as you have been able to make it work successfully and it has been really puzzling why it does not work for me.

Thanks in advance for any help you can give me!

Apr 7, 2010 at 2:18 AM

Hi Murven,

I'm not a developer for this "touch simulator". I'm just a normal user. I have no idea why you can't send WM_TOUCH message to Windows 7. You can probably ask "nesher" about that. 

 

Coordinator
Apr 7, 2010 at 5:48 AM

You can't run the simulator on the same PC. The problem is that in Windows 7 mouse device has higher priority as a touch device. That means if you use mouse, there will be no touches. That is why you have to block the mouse in configuration.

Apr 7, 2010 at 6:33 AM

@nesher: Oh! that makes perfect sense! I will try it from a different computer and report back on the results.

 @michaelsync: I understand you are not a developer for the TUIO simulator tool, I was simply asking you to please try it as I wanted to know if you had the same result as I did. TUIO is a really good protocol for multi-touch and if you do not have Windows 7 compatible hardware (and if we can get MTVista driver to work), it is a cheap way to get you a test harness for your WP7 apps without having to buy a $400 muti-touch screen. It may be worth taking a look.

Apr 7, 2010 at 5:37 PM

@nesher: Good news! It works!

I used the TUIO simulator and a UDP Forwarder I downloaded from here:

http://www.networkactiv.com/AUTAPF.html

and I was able to control the computer remotely.

Now it is time to start testing the hardware setup.

I also verified your assessment concerning the priority of mouse effects: even when I am controlling the computer remotely with the simulator, if another user touches the mouse the touch events are interrupted, so yes, the mouse has a higher priority.

I will post the same reply on the other discussion.