2016-06-05 12 views
3

운영체제 (키보드 뷰어)에 내장 된 것과 비슷한 OS X 용 화면 키보드 애플리케이션을 개발 중입니다. 버튼에서 클릭 이벤트를 받아들이고 현재 활성화 된 애플리케이션에서 포커스를 훔치지 않는 방법을 잘 모르겠다 고 생각합니다. 이미이 작업을 수행하는 앱이 있기 때문에 가능한지 알고 있습니다 (예 : AssistiveWere의 키 스트로크.클릭 이벤트를받는 동안 OS X 응용 프로그램을 쉽게 볼 수 없게 만들 수 있습니까?

그럼 내 질문은 다음과 같습니다. 내 창에 마우스 이벤트를 받고 활성화하지 않고 처리하도록하려면 어떻게해야합니까?

P. 나는 OS X 개발에 익숙하지 않고 첫 번째 Swift 프로젝트이기 때문에 사소한 문제라면 변명의 여지가있다.

+0

사용자가 접근성 액세스 권한을 가질 수 있어야합니다. 그런 다음 OS/System 규모에서 키보드 및 마우스 이벤트를 수신하기 위해 NotificationListener를 등록해야합니다. –

답변

4

당신은 그 styleMaskNSNonactivatingPanelMask을 포함하여 윈도우 NSPanel의 인스턴스 (또는 서브 클래스) 할 필요가 있고, 참으로 becomesKeyOnlyIfNeeded을 설정합니다. (스타일 마스크는 IB에서 제어 할 수 있습니다.) 또한 항상 부동 상태로 두어 보통 윈도우보다 높기 때문에 floatingPanel도 true로 설정하십시오.

+0

고마워요! 이것은 내가 필요한 것입니다! – rthor