2010-03-01 2 views
5

AppleScript를 사용하여 응용 프로그램 VisualBoyAdvance에 키 입력을 보내려고하지만 작동하지 않습니다.응용 프로그램에서 키 입력을 허용하지 않습니다.

내 코드는 지금까지 이것이다 : 내가 직접 비주얼 보이를 말할 때

tell application "VisualBoyAdvance" 
    activate 

    tell application "System Events" 
     keystroke "k" 
    end tell 

end tell 

,이 오류가 얻을 : 내가 직접 비주얼 보이 말하는 시도

error "VisualBoyAdvance got an error: Can’t get keystroke \"k\"." number -1728 from keystroke "k" 

을하고, 또한 시도 key code 40을 사용했지만 여전히 작동하지 않습니다. 이상하게도,이 작업을 수행합니다

tell application "VisualBoyAdvance" 
    activate 

    tell application "System Events" 
     keystroke "d" using {command down} 
    end tell 

end tell 

하지만 그 메뉴 표시 줄에 표시 키보드 단축키, 그래서 나는 조금 다른 것 같아요.

키 누르기를 시뮬레이트하고 응용 프로그램이 응답하도록 AppleScript를 어떻게 사용할 수 있습니까? 이 경우 AppleScript를 사용할 수 없다면 무엇을 사용할 수 있습니까?

+0

당신이 보조 장치 지원이 켜져있다 않습니다

키 코드에 대한 도움말이 유용한 응용 프로그램을 참조? – alesplin

+0

여기에 행운이 있습니까? –

답변

0

응용 프로그램을 AppleScript로 완벽하게 인식시키는 것은 개발자의 선택입니다. 메뉴 항목은 Finder의 관점에서 Applescriptable이지만 다른 UI 옵션은 그렇지 않을 수도 있습니다. 해당 응용 프로그램에서 스크립트 가능한 요소를 검사하려면 UIElementInspector을 참조하십시오.

+0

시스템에서 키 입력을 시뮬레이트하는 또 다른 방법이 있습니까? –

0

내가 여기에이 응용 프로그램을 가지고 있지만하지 않는 한 아무것도 garuntee 할 수는 몇 가지 당신이 거의 다라고 생각

tell application "VisualBoyAdvance" 
    activate 
    tell application "System Events" 
     tell application process "VisualBoyAdvance" 
      try 
      keystroke "k" 
       on error 
        try 
        keystroke (ASCII character 75) 
        end try 
       end try 
     end tell 
    end tell 
end tell 
7

을 시도하는 것입니다. Safari에 내가 사용했던 것입니다. 이 예에서는 키 코드 48 (탭)을 보냅니다. 유니버설 액세스를 통해 키 입력을 시뮬레이션하는 시스템 이벤트를 요구하고로이한다고

tell application "Safari" 
    activate 

    tell application "System Events" to tell process "Safari" to key code 48 
end tell 

AFAICS은 대상 프로세스에서 애플 스크립트 지원의 거의 독립적이어야합니다. http://manytricks.com/keycodes/

+0

또한''사파리 '에게 키 스트로크 "d"로 알리기 위해''응용 프로그램에게 "시스템 이벤트"를 알리시오. – frnhr

+0

좋은 @frnhr - 그게 더 분명해. :) –

관련 문제