I have a Dell Latitude XT3 multitouch enabled laptop which is using the N-Trig Duosense Digitizer.
I have a WPF-Surface application running on the laptop.
I encounter a problem with it when using the SurfaceWindow control. There is a strange touch registration at 0,0 everytime I do a touch down. I know because I can see the TouchVisualizer at the top left corner of the screen.
However when I use the normal WPF Window, there is no such problem.
I need to use the SurfaceWindow because I require the TouchVisualizer and I use the TouchExtension classes.
I updated the N-Trig drivers but to no avail.
- Edited by icube Tuesday, March 06, 2012 4:25 AM
We made an update to the Surface SDK in February that improved its functionality with some digitizers. You can read more about that in our blog, at http://blogs.msdn.com/b/surface/archive/2012/02/05/microsoft-surface-2-sdk-and-runtime-update.aspx.
Are you using the updated Surface 2.0 SDK? It is possible this issue may not exist with the updated SDK. If the issue is still there, most likely the digitizer is not reporting the HID reports in a very standard way that happens to work with Windows but not with our SDK. In that case, a potential workaround is to use http://ttsurface.codeplex.com/, that will allow you to detect if you are running your app on Surface hardware or Windows touch hardware and change where the input comes from Windows input (wisptis) or Surface input based on the type of hardware that the application is running on.
I hope this helps!
Luis Cabrera. Platform Program Manager -- Microsoft Surface @luisito_cabrera Disclaimer: This post is provided "AS IS" with no warranties, and confer no rights.
- Marked as answer by Luis Cabrera - AzureMLMicrosoft employee, Moderator Thursday, March 08, 2012 4:34 PM
- Unmarked as answer by icube Tuesday, May 08, 2012 10:55 AM
I'm facing the same issue using a Dell XPS (N-trig digitizer). I upgraded to the most recent Surface SDK and tried TouchExtensions.TryEnableNativeTouch() and SurfaceEnvironmentHelper.TrySuppressSurfaceInput() without any noticable change. Every touch still results in 4 additional touches being reported at the upper left corner (0,0) in every SurfaceWindow application. I replaced it with a normal window and a TouchVisualizer which resolves the issue, but then for example the IsPressed property does not get updated properly.
Do you have any advice how to resolve the issue using a SurfaceWindow?