답변:
Automator 및 OS X Services 기능을 사용하여 바로 가기로 키보드 뷰어를 시작할 수 있습니다.
키보드 뷰어 프로그램 /System/Library/Input Methods/KeyboardViewer.app
은 Lion (라이온 이전 버전에서는 /System/Library/Components/KeyboardViewer.component/Contents/SharedSupport/KeyboardViewerServer.app
)에 있습니다. Automator를 사용하여 간단한 실행기 서비스를 생성하여 핫키로 열 수 있습니다.
AppleScript 실행 조치를 워크 플로우에 추가하고 텍스트를 다음 행으로 바꾸십시오.
if application "KeyboardViewer" is running then
quit application "KeyboardViewer"
end if
activate application "KeyboardViewer"
-- wait until the window has been closed, then end the KeyboardViewer process
set numberOfWindows to 1
repeat until numberOfWindows = 0
delay 5
tell application "System Events"
tell process "KeyboardViewer"
set numberOfWindows to count windows
end tell
end tell
end repeat
quit application "KeyboardViewer"
몇 가지 메모 :
repeat
Keyboard Viewer에 열려있는 창이 있으면 5 초마다 루프를 확인하고 그렇지 않은 경우 방법.KeyboardViewer
와 KeyboardViewerServer
. 나는 이것을 시험해 볼 수있는 사전 라이온이 없다 (다른 사람이 의견에 다시보고 할 수 있다면 좋을 것이다.Quicksilver 의 추가 스크립트 플러그인 은 Show Keyboard Viewer.scpt 를 제공하여이 기능을 제공 합니다 .
또한 Run 동작으로 Show Keyboard Viewer.scpt에 대한 Quicksilver 트리거를 만들면 전역 키보드 뷰어 단축키가 나타납니다.
스크립트 소스는 다음과 같습니다.
property theApplication : "KeyboardViewer"
property thePath : "/System/Library/Input Methods/KeyboardViewer.app"
set HFSPath to ((POSIX file thePath) as string)
tell application "System Events" to ¬
set isRunning to 0 < (count (application processes whose name is theApplication))
if isRunning then
tell application HFSPath to quit
else
ignoring application responses
tell application HFSPath to activate
end ignoring
end if
KeyboardScript를 AppleScript로 또는 open
메인 윈도우로 닫은 경우 키보드 뷰어 프로세스는 열린 상태를 유지하고 약 0-20 %의 CPU를 사용합니다.
이 스레드를 찾았습니다. 위의 답변을 바탕으로 키보드 뷰어를 전환하는 Alfred 확장 스크립트를 만들었습니다.
https://dl.dropbox.com/u/29440342/linkedFiles/Keyboard%20Viewer.alfredextension
다음 애플 스크립트를 실행하여 키보드 뷰어를 켜거나 끄는 alfred 키워드 "kv"를 제공합니다.
-- adapted from http://apple.stackexchange.com/a/62532
if application "KeyboardViewer" is running then
quit application "KeyboardViewer"
else
activate application "KeyboardViewer"
end if
(*
-- adapted from http://apple.stackexchange.com/a/59986
tell application "System Events" to tell process "SystemUIServer"
tell (menu bar item 1 where description is "text input") of menu bar 1
click
click (menu item 1 where title ends with "Keyboard Viewer") of menu 1
end tell
end tell
*)
-- icon ripped from osx /System/Library/PreferencePanes Keyboard.prefPane/Contents/Resources/Keyboard.icns
피해야 할 성능 문제가 발생하는 경우 대체 구현을 주석 처리했습니다.
BetterTouchTool을 통해 다음을 수행하는 방법을 찾았습니다.
플랫폼 : rMBP Mountain Lion OSX 10.8
단축키로 키보드 뷰어 활성화
이제 추가 스크립트없이 뷰어를 활성화하는 키보드 단축키가 있습니다.
그러나 빨간색 X 버튼을 눌러도 응용 프로그램이 실제로 종료되지는 않습니다. 즉, 키보드 뷰어가 한 번만 활성화됩니다. 따라서 프로그램을 종료하려면 스크립트를 작성해야합니다.
이 문제를 해결하려면 다음을 수행하십시오.
다른 키보드 단축키로 키보드 뷰어 닫기
quit application "KeyboardViewer"
KeyBoard 뷰어를 종료 한 후에는 활성화 할 수 있습니다. 빨간색 X 버튼 대신 사용하십시오. X 버튼을 누를 때 키보드 뷰어가 완전히 종료되지 않는 이유를 알 때까지 이것이 해결책입니다.
편집하다
나는 키보드 뷰어를 토글하는 방법을 알아 냈습니다!
하나의 키보드 단축키로 키보드 뷰어보기
이전과 동일한 프로세스이지만 코드가 변경되었습니다.
if application "KeyboardViewer" is running then quit application "KeyboardViewer" else activate application "KeyboardViewer" end if
이제 키보드 뷰어가 토글되고 여러 단축키를 지정할 필요조차 없습니다!
AppleScript 링크
위의 전체 코딩 단계를 수행하는 대신 빠른 액세스를 위해 온라인으로 앱을 업로드했습니다 (BetterTouchTool을 통해이 앱을 활성화하면 됨). 식별 된 게시자가 아니기 때문에 보안 환경 설정에 따라 OS에서이 앱 실행을 차단할 수 있습니다. 따라서 알 수없는 게시자의 앱을 실행하지 않으려면 위의 단계에 따라 자신 만의 앱을 만드십시오!
파일 링크 : https://www.box.com/s/e2461c91e30e0af025e7
그것이 나를 돕는 사람에게 도움이되기를 바랍니다 :)
닫기 버튼을 클릭하여 주 창을 닫은 후에도 작동합니다.
if application "KeyboardViewer" is running then
tell application "System Events" to number of windows of process "KeyboardViewer"
if result is 0 then
quit application "KeyboardViewer"
delay 0.1
launch application "KeyboardViewer"
else
quit application "KeyboardViewer"
end if
else
launch application "KeyboardViewer"
end if
AppleScript로 키보드 뷰어를 열거 나 open -a KeyboardViewer
주 윈도우가 닫히면 프로세스는 열린 상태로 유지되고 CPU를 약 15 % 정도 사용합니다. 입력 메뉴에서 키보드 뷰어 표시를 선택하면 발생하지 않습니다. 더 나은 옵션은 메뉴 항목을 클릭하는 것입니다.
tell application "System Events" to tell process "SystemUIServer"
tell (menu bar item 1 where description is "text input") of menu bar 1
click
click (menu item 1 where title ends with "Keyboard Viewer") of menu 1
end tell
end tell
두 스크립트 모두 접근성 환경 설정 창에서 보조 장치를 활성화하려면 액세스가 필요합니다.
단일 입력 바로 가기는 아니지만 "마우스없는"솔루션은 Fn+ Ctrl+ F8로 메뉴 표시 줄의 오른쪽 에있는 " 상태 메뉴 "아이콘에 초점을 설정 합니다. ( 섹션 4 )
화살표는 키보드 환경 설정 아이콘 및 표시 / 숨기기 옵션으로 이동합니다. Fn+ Ctrl+ 를 입력 F8하면 메뉴 표시 줄의 오른쪽 절반에있는 "상태 메뉴"아이콘의 가장 왼쪽에있는 아이콘이 강조 표시됩니다. 선택 Right Arrow →되면를 사용하여 원하는 항목으로 이동하십시오. 를 사용하여 Down Arrow ↓메뉴를 열고 원하는 옵션을 선택하십시오. 이 Option키를 사용하면 일부 "상태 메뉴"에서 다른 메뉴 옵션을 사용할 수 있습니다.
참고로 Fn+ Ctrl+ F2는 왼쪽에있는 Apple 메뉴 아이콘 를 활성화합니다. 여기에서 Right Arrow →응용 프로그램 메뉴에 액세스 할 수 있습니다. 이 옵션은 시스템 환경 설정 >> 키보드 >> 바로 가기 :: 키보드에서 사용할 수 있습니다.
기능 키 구성 방법에 따라 Fn는 옵션입니다.
macOS Sierra에서는 Siri를 사용하여이를 도울 수 있습니다. 시스템 환경 설정 >> Siri :: 키보드 단축키에서 선택한 키보드 단축키를 사용하여 Siri를 호출하십시오 (예 : Option+Spacebar
... "키보드 뷰어 켜기"라고 말합니다.
... 그리고 짜잔 :
불행히도 Siri는 키보드 뷰어를 닫지 않으며 Command⌘+w
Automator로 모든 것을 할 수 있습니다.
다음 부분은 키보드를 닫는 것입니다.
"기타"를 선택하고 / System / Library / Input Methods에서 KeyboardViewer 파일로 이동하십시오.
"quit keyboard"와 같은 이름으로 저장하십시오. 그것을 테스트하십시오.
이제 두 개의 파일이 열려 있고 하나는 닫힐 것입니다.
이 두 파일을 시작하기 위해 마우스 버튼을 연결하기 만하면됩니다!
예를 들어, 저는 Microsoft Bluetooth Notebook Mouse 5000을 사용하고 있습니다.
10.9.1에서 나를 위해 위대한 일
활동 모니터, KeyboardViewer.app가
파인더 위치 : / System / Library / Input Methods / KeyboardViewer.app .
일반적인 사용 : 메뉴 표시 줄 에서 열기 , 마우스로 가리켜 서 닫기 (x) 닫기 버튼을 클릭 할 수있는 창 버튼보기 메뉴 막대 패널, 시스템 환경 설정 , 키보드 , 키보드 탭 을 활성화하려면 메뉴 막대 에서 키보드 및 이모티콘 뷰어 표시를 선택하십시오 .
KeyboardViewer 애플릿은 제한적인 동작을 나타냅니다.
다음 Automator 스크립트는 한 번의 클릭으로 KeyboardViewer.app 를 열 수 있는 응용 프로그램으로 저장할 수 있으며 (활동 모니터는이 열림 활동도 표시합니다) Dock에 배치 할 때 잘 작동합니다.
Automator : New , Application , Run AppleScript ,이 스크립트를 저장하십시오
-- see above post, Render
on run {input, parameters}
if application "KeyboardViewer" is running then
quit application "KeyboardViewer"
else
activate application "KeyboardViewer"
end if
return input
end run
-- icon /System/Library/PreferencePanes Keyboard.prefPane/Contents/Resources/Keyboard.icns
불행히도 이것은 키보드 단축키를 추가하지 않습니다. 그러나 한 번의 클릭으로 해결 방법을 제공합니다. Automator를 사용하여 키보드 단축키를 추가하는 방법이있을 수 있습니다. 일반적인 바로 가기 스크립트는 다음과 같습니다 (그러나 통합 방법은 확실하지 않음).
tell application "System Events"
set application "KeyboardViewer" to keystroke "K" using control down
end tell
(MP 6,1의 macOS Sierra 10.12.6)