NUI/Microsoft PixelSense(Old Surface)

윈도우8에서 PixelSense앱 터치이벤트 살리기

길버트리 2013. 6. 27. 09:29

PixelSense 앱은 PixelSense 2.0 SDK(구 Surface 2.0 SDK)를 이용해서 개발한 어플리케이션을 뜻합니다.

PixelSense 2.0 SDK는 현재 윈도우7만을 지원하고 있습니다.

 

하지만 PixelSense 2.0 Runtime은 윈도우8에도 잘 설치가 됩니다.

즉, PixelSense 앱이 윈도우8에서도 잘 구동될 것이란 것이죠.

 

직접해보시면 아시겠지만 윈도우8에서 PixelSense 앱은 정말 구동됩니다.

그런데 사용해보려고 하면 이 터치가 말을 듣지 않습니다.

 

 

원인

 

PixelSense 앱은 SurfaceWindow라는 Window 파생 클래스를 MainWindow로 사용하고 있기 때문입니다.

윈도우7과 윈도우8의 터치 API가 서로 달라서, 제대로 대응을 하지 못하고 있는 것이죠.

 

 

해결방법

 

해결방법은 SurfaceWindow 대신 Window 클래스를 생성하게 코드를 바꾸는 것입니다.

이렇게 하고 나면, 윈도우8에서도 여러분의 픽셀센스앱이 터치에 잘 반응할 것입니다.

 

 

부작용

 

대신 Window 클래스를 사용하도록 코드를 완전히 바꾸면, 픽셀센스 기기에 ByteTag를 인식못하는 부작용을 초래합니다.

 

 

소스관리

 

코드를 계속 하나로 유지하고 싶으시다구요?

SurfaceEnvironment.IsSurfaceEnvironmentAvailable 프로퍼티를 통해

프로그램적으로 잘 분기하도록 하십시오.