2011-03-22 6 views
2

CGL/OpenGL을 사용하여 C++로 응용 프로그램을 작성 중이며 키보드/마우스 입력이 필요합니다. 가능하다면 Objective-C와 Cocoa를 피하려고했습니다. Carbon을 사용하여 입력을 포착 할 수 있지만 Carbon이 천천히 단계적으로 사라지고있는 것처럼 보입니다. 64 비트 애플리케이션에서 잘 작동하는지 명확하지 않습니다. 아무도 아주 낮은 수준 (예 : I/O 키트)으로 가지 않고도 C++을 사용하는 마우스/키보드 입력을위한 OSX에 다른 대안이 있는지 알고 있습니까? 나를 시작할 수있는 코드 스 니펫? 코코아가없는 OSX에서 마우스/키보드 입력

+0

당신은 윈도 무엇을 사용합니까? 입력을 제공하지 않습니까? – fouronnes

+0

전 화면 OpenGL 표면을 제공하지만 이벤트 루프 나 입력을 제공하지 않는 CGL을 사용하고 있습니다. 나는 커스텀 이벤트 루프를 돌릴 수 있기를 바랬다. – cjcela

+0

혹시라도 GLUT가 도움이 될까요? 프로토 타입 코드에서 키보드/마우스 처리에 사용했습니다. – holtavolt

답변

1

Quartz event taps 당신이 원하는 것을 할 수있는 당신이 - 감사합니다. 코코아 이벤트 시스템을 사용하지 않으려 고하는 이유를 알지 못하면 어떤 기술이 최선인지 알기가 어렵습니다.

+0

고마워요. 제가 살펴볼 것입니다. 나는 코코아를 피하려고 노력하지 않고있다. 내가 사용할 수없는 것은 Objective-C이다. 사용하고자하는 C++ 코드가 있고 Objective-C++이 대부분 작동하지만 가상 함수가 맘에 들지 않는다. C++ 코드가 구조화되어 있기 때문에 사용해야합니다.) 따라서 64 비트로 작동하는 C 또는 C++ API는이를 수행해야합니다. – cjcela

+1

작동하지 않는 것에 대한 구체적인 예가 있습니까? 나는 몇 가지 큰 Objective-C++ 코드베이스에서 작업했으며 가상 함수에 전혀 문제가 없었습니다. – smorgan

0

게임에 조명 감독은 당신이 원하는 바로하고 기사를 작성, CGL 및 최소한의 이벤트 루프와 컨텍스트 및 표면 생성

http://gafferongames.com/2009/01/19/opengl-on-macosx/ (조금 오래된 비록, 엘 카피 탄을 위해 당신은 CGLSetFullScreenOnDisplay()가 필요합니다)

그것은 InstallApplicationEventHandler, 두 개의 키보드 API 중 하나를 사용

여기에 언급 :

Keyboard input on OSX