2015-01-16 2 views
0

외부 모션 컨트롤러 장치 (Myo)를 받았고 특정 동작이 기본적으로 키 입력이나 키 누르기를 시뮬레이트하는 응용 프로그램을 만들고 싶습니다 (어떤 응용 프로그램이든 상관 없습니다). 이것은 내 프로그램이 백그라운드에서 실행되는 동안 발생하여 키보드 입력으로 모션 입력 및 출력을 수신 할 수 있습니다.키보드와 마우스 클릭을 세계적으로 시뮬레이션합니다

포어 그라운드 (전체 화면)에서 야구 게임을하고 피칭 동작을하는 경우 프로그램에서 게임에서 피치를 수행하는 키를 출력합니다 (키가 될 수있는 키).).

C#에서 SendKeys 클래스를 살펴 봤지만 할 수있는 일 (특히 글로벌 키 누르기 보내기)이 제한적이라고 생각합니다.

내 모션 컨트롤러로 동작을 C#을 사용하여 매핑 할 수 있도록 프로그램을 작성할 수있는 좋은 방법이 있습니까? 키 보유에 대해 key_down 및 key_up을 수행 할 수 있다면 좋을 것입니다.

답변

0

진정한 글로벌 키 프레스를 수행하는 가장 직접적인 방법은 키보드를 에뮬레이션하는 것입니다. 여기에는 백그라운드 프로그램에 대한 액세스를 제공하는 키보드 드라이버가 포함됩니다. 그러나 이것은 꽤 복잡한 커널 프로그래밍을 필요로합니다.

대체 로직은 현재 활성화 된 응용 프로그램을 찾기 위해 SendKeys API를 사용하는 것입니다.

0

C# 솔루션이 아니지만 Myo Connect의 Myo Script 인터페이스는 본질적으로이 목적을 위해 만들어졌으며 아마도 아무것도 테스트하지 않는 가장 쉬운 방법 일 것입니다.

Myo Script를 사용하여 키보드 명령을 보내려면 myo.keyboard() (docs here)을 사용할 수 있습니다.

스크립트를 항상 활성화하려면 return trueonForegroundWindowChange()으로 꾸준히 입력하고 응용 프로그램 관리자에서 스크립트 위치에주의해야합니다. 응용 프로그램 관리자의 맨 위에있는 스크립트가 먼저 검사되므로 위의 스크립트가 있으면 해당 응용 프로그램을 원하는대로 제어 할 수 있습니다.

+0

안녕하세요, 스콧, 답장을 보내 주셔서 감사합니다. Myo Script를 사용하려고 생각했지만 프로젝트의 목표는 프로그램을 잘 만들고, 자체 제스처 시퀀스 프로파일을 만들 수 있으며 기본적으로 제스처와 동작 시퀀스를 프로파일에 바인딩하고 프로파일을 언제든지로드하여 사용할 수 있습니다. Myo 스크립트가 제스처와 동작이 프로필과 일치하는지 판단하기 위해 상당히 상세한 데이터 분석을 할 것이므로 그래도 Myo 스크립트가 그렇게 강력 할 지 모르겠습니다. – zerogeneration

+0

아, 그건 이해가됩니다. 사용자가 프로파일을 선택 가능하게하거나 사용자 정의 할 수있게하려면 Myo Script가 아마도 사용 방법이 아닙니다. –

관련 문제