WPF 기반의 Microsoft Surface 1.0 SDK 프로젝트에서 전체 화면 (가상 터치 패드)과 일치하도록 화면의 작은 부분에 캡처 된 연락처를 변환하고 싶습니다.시뮬레이터없이 표면 테이블 어플리케이션에 시뮬레이션 된 접점을 생성하려면 어떻게해야합니까?
연락처를 캡처하고 위치와 방향을 변환 한 후 이벤트 대기열로 다시 보내고 싶습니다. 나는 이미 "새로운 Contact()"를 만들거나 "ReadOnlyContactCollection"(이미 이름이 말하는 것처럼)을 변경하는 방법이 없다고 생각했습니다. 만에,
private void OnContactDown(object sender, ContactEventArgs e)
{
base.OnContactDown(e);
e.Contact.Capture(this);
// transform the contact's center and orientation
// and write them back into e.Contact via own private method
// e.Contact = transformContact(e.Contact);
// keep transformed contact in the event queue
// so it can be processed at it's new position
e.Handled = false;
}
나의 다음 생각은 SimulatedContacts을 만들 시뮬레이터 및 자동화 사용할 수 있도록했지만, 슬프게도이 표면 테이블 자체에서 작동하지 않습니다 : 여기에
는 내가하려고했던거야 시뮬레이터.시뮬레이터를 사용하지 않고 표면에서 인식 할 수 있도록 "가상"접촉 (원시 이미지에는 존재하지 않음)을 보내는 방법이 있습니까? SurfaceInput.exe는 인식 된 연락처를 어떻게 전송합니까?
합리적인 해결책으로 보입니다. Surface v1에 Win7을 먼저 설치 한 다음 MultiTouchVista 및 Surface Toolkit for Windows Touch 또는 Blake.NUI를 사용하여 Surface Input을 Windows Touch 이벤트로 변환 해 보겠습니다. – HeBu
Win7은 필요하지 않습니다. 확실히 Blake.NUI와 함께 ... 그것은 Win7로 Surface 입력을 펌핑하는 더 길고 복잡한 경로를 취하는 것이 아니라 WPF와 직접 상호 작용합니다. MTV는 Surface가 아닌 Surface 응용 프로그램에서 Surface 입력을 사용하려는 경우에 적합하지만 다른 시나리오에서는 적합하지 않습니다. –
@Robert Levy : Blake.NUI 응용 프로그램을 실행하기 위해 Windows Touch 용 Surface Toolkit을 설치해야합니까? 블레이크 (Blake.NUI)와 함께 제공되는 Surface TestApplication을 실행하려고 시도했지만, 사용자 32 DLL에서 RegisterTouchWindow를 찾을 수 없다고 말합니다. Surface Toolkit 설치 프로그램을 패치하고 Vista에 설치해야합니까? – HeBu