2014-09-09 3 views
2

과 같은 특정 키 누름을 실행하려면, esc 및 화살표 키를 입력하십시오. 내가 봤 거든, 해결책을 찾을 수 없게 놀랍다.루비에서 키보드 이벤트를 트리거하는 방법은 무엇입니까?

편집

은보다 구체적으로, 나는 루비 스크립트를 통해 일부 글로벌 키보드 단축키를 트리거합니다.

+3

중요한 사건, 브라우저, 데스크탑 창? – Stefan

+0

@Stefan 질문을 수정했습니다. – Chirantan

+0

"글로벌"을 정의 할 수 있습니까? :-) – Stefan

답변

1

OS X에서는 AppleScript를 사용하여이를 수행 할 수 있습니다. 여기 cmd를 + 고도 + Ctrl 키를 + 화살표 키를 들면

tell application "System Events" 
    keystroke "w" using {control down, option down, command down} 
end tell 

W 키보드 단축키를 수행하는 예입니다, keystroke 대신 key code를 사용

# Key codes for arrow keys: 
# 
# LEFT 123 
# RIGHT 124 
# UP 126 
# DOWN 125 

tell application "System Events" 
    key code 123 using {control down, option down, command down} 
end tell 

당신이 할 수있는 Ruby에서 AppleScript를 호출하여 osascript :

def osascript(script) 
    system 'osascript', *script.split(/\n/).map { |line| ['-e', line] }.flatten 
end 

osascript <<-END 
    tell application "System Events" 
    keystroke "w" using {control down, option down, command down} 
    end tell 
END 

소스 터미널에서

+0

[applescript keycodes] (http://eastmanreference.com/complete-list-of-applescript-key-codes/)는 제공된 링크에서 찾을 수 있습니다. :) – mbigras

관련 문제